Something is wrong with global snow production, and you’ve been selected to take a look. The Elves have even given you a map; on it, they’ve used stars to mark the top fifty locations that are likely to be having problems.
You’ve been doing this long enough to know that to restore snow operations, you need to check all fifty stars by December 25th.
Collect stars by solving puzzles. Two puzzles will be made available on each day in the Advent calendar; the second puzzle is unlocked when you complete the first. Each puzzle grants one star. Good luck!
You try to ask why they can’t just use a weather machine (“not powerful enough”) and where they’re even sending you (“the sky”) and why your map looks mostly blank (“you sure ask a lot of questions”) and hang on did you just say the sky (“of course, where do you think snow comes from”) when you realize that the Elves are already loading you into a trebuchet (“please hold still, we need to strap you in”).
As they’re making the final adjustments, they discover that their calibration document (your puzzle input) has been amended by a very young Elf who was apparently just excited to show off her art skills. Consequently, the Elves are having trouble reading the values on the document.
The newly-improved calibration document consists of lines of text; each line originally contained a specific calibration value that the Elves now need to recover. On each line, the calibration value can be found by combining the first digit and the last digit (in that order) to form a single two-digit number.
For example:
1abc2
pqr3stu8vwx
a1b2c3d4e5f
treb7uchet
In this example, the calibration values of these four lines are 12, 38, 15, and 77. Adding these together produces 142.
Consider your entire calibration document. What is the sum of all of the calibration values?
func ExtractValues1(line string) uint {
var (
first uint = 0
last uint = 0
ffound bool = false
)
for _, char := range line {
value := int(char - '0')
if value < 0 || value >= 10 {
continue
}
if !ffound {
first = uint(value)
ffound = true
}
last = uint(value)
}
return first*10 + last
}
func TestExtractValues1(t *testing.T) {
tests := []struct {
name string
line string
want uint
}{
{
name: "Line 1",
line: "1abc2",
want: 12,
},
{
name: "Line 2",
line: "pqr3stu8vwx",
want: 38,
},
{
name: "Line 3",
line: "a1b2c3d4e5f",
want: 15,
},
{
name: "Line 4",
line: "treb7uchet",
want: 77,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := extraction.ExtractValues1(tt.line); got != tt.want {
t.Errorf("ExtractValues1() = %v, want %v", got, tt.want)
}
})
}
}
Your calculation isn’t quite right. It looks like some of the digits are actually spelled out with letters: one, two, three, four, five, six, seven, eight, and nine also count as valid “digits”.
Equipped with this new information, you now need to find the real first and last digit on each line. For example:
two1nine
eightwothree
abcone2threexyz
xtwone3four
4nineeightseven2
zoneight234
7pqrstsixteen
In this example, the calibration values are 29, 83, 13, 24, 42, 14, and 76. Adding these together produces 281.
What is the sum of all of the calibration values?
func ExtractValues2(line string) uint {
var (
first uint = 0
last uint = 0
ffound bool = false
digits map[string]uint = map[string]uint{
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
"six": 6,
"seven": 7,
"eight": 8,
"nine": 9,
}
substring []rune = []rune{}
)
for _, char := range line {
if value := int(char - '0'); value >= 0 && value < 10 {
if !ffound {
first = uint(value)
ffound = true
}
last = uint(value)
} else {
substring = append(substring, char)
for key, value := range digits {
x := []rune(key)
if len(substring) < len(x) {
continue
}
y := substring[len(substring)-len(x):]
if !reflect.DeepEqual(x, y) {
continue
}
if !ffound {
first = uint(value)
ffound = true
}
last = uint(value)
}
}
}
return first*10 + last
}
func TestExtractValues2(t *testing.T) {
type args struct {
}
tests := []struct {
name string
line string
want uint
}{
{
name: "Line 1",
line: "two1nine",
want: 29,
},
{
name: "Line 2",
line: "eightwothree",
want: 83,
},
{
name: "Line 3",
line: "abcone2threexyz",
want: 13,
},
{
name: "Line 4",
line: "xtwone3four",
want: 24,
},
{
name: "Line 5",
line: "4nineeightseven2",
want: 42,
},
{
name: "Line 6",
line: "zoneight234",
want: 14,
},
{
name: "Line 7",
line: "7pqrstsixteen",
want: 76,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := extraction.ExtractValues2(tt.line); got != tt.want {
t.Errorf("ExtractValues2() = %v, want %v", got, tt.want)
}
})
}
}
func main() {
file, err := os.Open("input.txt")
if err != nil {
log.Println(err.Error())
}
defer file.Close()
scanner := bufio.NewScanner(file)
sum1 := uint(0)
sum2 := uint(0)
for scanner.Scan() {
line := scanner.Text()
sum1 += extraction.ExtractValues1(line)
sum2 += extraction.ExtractValues2(line)
}
if err := scanner.Err(); err != nil {
log.Println(err.Error())
}
log.Printf("sum: %d, %d\n", sum1, sum2)
}
Links
Click to show the input
sixsrvldfour4seven 53hvhgchljnlxqjsgrhxgf1zfoureightmlhvvv fives2dznl twocrqvjsix5threethree gtjtwonefourone6fouronefccmnpbpeightnine seventdtrcseveneightsevencgjgjxfpmfsix8twones fourthreeseven1grvhrjxklh3ninetwothree fourninethrnnth8 two2hnxcfivejrdjxtb bssbrgcx86vsmqstrxsjbjeightqzhbzxqg5 rsevenbqjfxh23rzdgcmdleightsixknpfs jprxbcghdgxhk9x 8czzpmvgmlchnkf vdrtteight85hlkninehgnblqnsdnineeight fivetwohlxdql43kfzzbhtncg lmhtwoneghgtl2 drtfsfhtbgfourpfpcznzrsix33 pptqkrdbeighteightsixdlsixkrlhr2 57threetwo qoneight367gqbpbtbffivetlhrdjgnml2d ninevdnzxsxone3 3threeqzrmfndfiveeight4 rmthreethreefourtwotkpncxpmctkxjhzxg5 nsfrpl6lkqrrmlxhrxmngzjtzbpsjgeight 9twobfknine57sixfour7 7one83sixthreecllxjnphb 82nhxcjnck1 5zrffive bgdzqqpninefourjhtcjfjmxrmqhgz7fxnjrjfivetlpbddcsfs xmbgqfhxx1sevenkfnqztfourzbngv 6onethree 1przkgcft77xblxkxm hnjslmc96 fourktlnine59 7twoxthree 9twofiveonetwo5bnl 6cbzmrg1three7 fbndztsthreefourthreefgj1eightrffdbpsn 4zpqnskhnqjbjlhbbsxsmk seventhree1fourbvnbbsbkl5 five42jkbzqcnblr 357 543cshpxrfnnhonetkbhxtmlgczdndqjscb 2mpftseven 44five8nineeight rmgrljrljb8hxxfmdpbbvmblltxfive6mdsmm7mmpk nprsix6 five4vkqrsixmjkjps kfivebrlzvc1twoseveneight lqnjsixtwo7fourbmbxnr9dqmpbbfkfive 1ccsvvrrvjseight9nzgnldhzndpvdzcncl zdzlsix9rjvninehsix4 fsevenfour8four6three eightrmvsq65mpvffkkhxc6seveneight sixrmgchvfttpbsncc5hnine 147 57gsdhqjbrfsskhmtcbszmjmhrxg7 sevenfive31twomhkhttdprdnzlng7three 3spgnkpeighttwotwo4 psxlxdjrtmgpveightxjkxhmbeightsix2 five53vgqcfmgqlm5dkchcmfkclpfxntbf 76sixmgqgftzfive4nfsqhkqvptnnshqlhd sevensixsevenone7xbsxvdpdtc nine3sixfourtwo6mpmpjb eight4sevensixfour7dtgrvpq 1sixnceight1bg 79xfftvpvfour noneight3 twoxdhkkgxhvz5three9seven8hszqdvnhr kbpc9kqvhonelljprfs4pzcnpfrdssfivetwo four4eightseven 5three95cqs65nine3 72sevenrkcqmqbscp9kzjxrg8d6 5rjbzpghninexfzvjpqmt9eight jfjrvzcjkrkd1eight six4ccvbclxkkntzmgthreercsjbznfive xkqdtghlshthreeninefive53three one3fgcsrxk1 1foursevenmvmzpvkqseven351 858qqbkgjxqfive fkpd4three8sixlkttgnfzc btpmrzqmsevennine3f6 61nine fourone7fsfxfrlqzvbqjpccfour five85sseven7jxlpl kzgszphcpfoursevenlzlkqmjndz4ninelnine 4eightld five8dqzlzfnine 6zjsqxqnineplbqhxltmffour 1fivebfoursrdcfive 8678fourgzdhrtrtwothree 847 fiveeightdseven5fivefivecbdrrbnng 5qddhnzxlhqeight2sevenln8nine9 13kxvqlvt7xvcksdthreekfqc 1threehqshd9two19 twogcphmsspeight7 1pnktcbbpkmeight42hcgfoursix nineninepdxqg4xspkqjneightchqxptninegcckrbmsvk fnine5ninex1eightgdhpkngmgq jlgvcn73three twoljsp5 xlf52twovcnnjglhmm lmonesix1kfhbpdntpthjkl 89six6threegmfqlone ninefbdvbhrgfivesevenzsjlt5tqkzfxb9 pvfoursixgdtvxxvlnx8kgsj 9fpjsnheightfivermpxrkddczvzqbdbs 92zhksstbzr fvxeightwoddrhpfsevenmlkp178 2ntqvj42eight6 46xthree26snkhxmmzknhrvsfrprch lvcfiveseven3plzlsvmm three69 scrkglnine1 fivemlvcpxfcggllpnpsdjmnhhkfkbtmcfone2 7tseveneightnmjqbsfgh onegbdpmtwo39nvbdl2 532rg 3cpjksevenonejjndff9six 4nbtbrmtxmpcnvkjsgseven 2brfkknktcz ghtshqhnmvmgdps6rclhhsix eightj4hnnsfssqqmfourgdrmgcljdnslrhmkc seveneight5pdzgpjvzlsxkjpflkjbzqhrfdlbskfbnbkcpl six5gqjlsevenfnffpl2hrdrvrdthreeb 137nineone81one gnrxrnqjdtxvcbggcmcfshz8rrkfd nrlccp4szxqgljj31 622kvttthree3jfd 8zqgbdc rmczlxrvjpp79sevenonefourmmjvgthree 3fournine185sevenrgtrrpgjf five282six three7xcqlxd16sixktfmxslk 6vrzsmsv8 4twodqjxsbklhjtfthree 3dmxljghfourzkvxq3 4lveighteight51tfgbbfour csfkthreesixxcfpdone3tvscpp8three vhmkkks6glrlpv eighthnine1rsmbpndnqqgds 7tnbhktwofive84seven 3kjpxgrlmstnxxdnqgpgjhcttlmnineninesix5 2eight4264 twoqmvnmxstnqfour8d621kxktzk pdksthree5gzpvlmjmfourtwocfbsthree rtvtffd6fivefive onemxrpmlxsbd9drnsfive3 zfjqcthreesixoned1sixsx flsevenvqctldf6 1seventwoeight6 xxktlvdcdtstsqjmd47onell5 6tbvxcgddrfjnhgntrthreegx4 rfxjvdllvzv2dshhdtjvbxvsqmq4ninegp five7bjzhkmmfnhcmnfljlhb6bptflhrrvgfour ltzlonenine5six nineeight49 fqcdtgtb9sevenrnsgx4 eightlfdmv5threehrrkvhzhhxmzprz 2dglljrllsix sevensixxnlb473twotwopgjxgp 5sevenrkhk 9eight3 7one5four lh5jzqxeight84 385nslvbjqvkxvvcprqghxccv87fpmqfhnlv ngsjdpvv72sixmbtr xvslr642 mrjhmtnhx2 gsrbhmh5fiveoneqhhmsmkrbc3sixtwoeight mnxvtn3vtqhxsrfivefive57qrmhshkk 9vkghgztxdzcvl7dlthreefmklvsmhxnqrtzzsvvq djclthdptrk8fournineqvnrrlbjjhtwoeight 79pnt9one9 mlcxcrjzpvlkkdpmmsevenone6npd fivefiveninezhppshtks1kqtkss 7nine46cxzcjhbnbg5 fourqhbr5cqbdmvps pqvzfrt7ftplx 265pninenine5twofive four41 1fdgcmbc1onepcktj3seven 5twob two1sixc7znfhkhzgzzjzf3xdbqtdspv vqkg7sixrntjjzc 7one9zdnnqtbbq4gkkkdskbtlqspsmx1pphnh xgsix2hltpnqxktwo gmhmskd37nqk7q8 onezxllhcpjfkeightsjvvpmcztdndf8seven ninenmrljg6fivegmtzhflztxn nmzqxlx387eightczpsgxskfzklk9 1fournine7cgtmr2lsvljtp2 98lzz1sixfour1three6 one8ninetwo 4xcrhxlvsr7 8two2four ninefninefour5qlxbmk51 hhlflbbmbd29jrjrbx5879 six3djmgs cfivevgzckfqcg6ninesixfvlkpm 449honexjqtrxveight3nzzx threetwo22 d6seventhreeeight949 nllbxt3qspvt6sixgglvfcfivetwo jhfrfgjjtsseveneight76 gjninestxljz88six2 5rsqhsx9rnd 7three72sixjkxlnpt dhkfvps9 onefive7qdvbqjxzk 7sevenldcfd7 twoeightpjpkcjvvbfseven6 six1eight9five29 hgdztcbpx4sixseven1fklt8six 6six7kjlpmld1 twolpxfhllfllkcksvsllbtvjsll2bjq 2nine7nine79fourfourbtqd tjfsmthreeoneninendd6two 2five1 1seven1jrgtkcfsjfbfrmsevenfourlvbgbknn 79twolthjsjnbrthreerdmbk3 sevennine6432 1hjtcnjztkvjspr7 seven84dlbb1 two78threevdhgqfzt 7bmln29onezlxtzthj7fzpvnxllz nldvscqn9hfnthreesevenonetwoflbrdnhq sixpkx7eight1ctbhdf34 rprprpmfour3fivevxqrqrqp4tghglvssfive gpxjnsrsonezn1bht 2three4ninebnfzzxzl8seven two23one2 9sevennmxmxvzcpt3hgsprhmvtxbqvbn2three 69threeonervrxqdfive scjjqgrbnnsztvmbtninethree74two2 one7nkbn6nine nlmdfshone2eight11sqhsftrg fxt4twofive3sevensevenxq three6zfzpdmrpbr9289vszpcqkq 8threebqzbpz3 plpnsfour6 1twonetdm oneseventwo4x fourhmprhkfgdkgqznineeighteight2 984mrrqjhzc3dsqpjvrpctvbtk onenjdmrjfdjznrffive73fivechpxdpnqbnpq 4mhjzvbgnxpq1jfllblcjkbxzrt threeblztlfgltlznxv9cqsjfnmgftnmscjmxpmfkleight jtvjjrjnf2two 8oneseven3djtdzseven3 bctvlxxxgtp4 onenrncdseven2foursixone sevenseven1 cfhszdltcqkllpqbfive6sevenqjqphqkhhjsixbvblzhgfp dpzbcnbdzzninev6eightlk eightjznzkdg53fourninebsfdzqpsix four4s88fdxtnt3six nine33six15five6 eight3five26jdrrmvnzgxm zjzpg4onesixseven 99fourfourtwo xlxmvkdkvrfrddhvgmhrqllvcpsnine2 fourfour1xfpdnfqvcklf ninethree7one2czbtzzfkz two41hgvsfzmtcz13 sevenfour2sixq seventdnjmqhbmm3zgffshmjlzcjcvbl7mzc khthzgjkzdkgjzxlkrvd4fivezq5 fiveseven4onefourxtrfournine 9onexh 83ninet3drmkrtpdc6pmdrvdbx4 twofvxngqdhlpstlhfhxonegrrzfbsv7 seven3fivethreepqzfl7 56two229 djrthreethree3seven4zxlfntgssq three3mdkbtxkkfour2gtpgcktqflrfs 711q3ninevbsg2 ninethreenfone4eightseven onexfxnine64fivefour foursqctmzlh64eight 8one4mslnine65fnr 9mbgn42bfhbfive79 75kdhhfllf1onesevenssvztltg24 jxrpsflt52jz246five dlvhq4pzxcstjtxq9 lgnxqnhjsbsixpm24two 3sevenfiveltdmfzlq842four threetwosix39foursixthreethree nine12bkhqklpfour3 73534two1 nhkbzfmgdhjjhggfivebncmnbskphsixnine2five xxzvlxmdtwo8threerbtwo1eight 5bvzltnmqgnfqvqk3fivefhhhhnb qthree1fivettjdpgnmkcfive tknsqnjjczfbgshtvpdchpb6fngjztk77four 1five2seven1rsqfsrxfcmnxtqj7nxzcc lcvzgqpmlgonefourseventwosixnine8 ssqcjzpjb5five5two seven7nrgglcjfour3two4 five4fivexnbnoneninengqngmg 8fiveltmhtwo jzmqtqbzh1 1fourthree 2eightfoureight2 7nzkfvzfivemchbf 7four2tpfvmjgdseven7 1dzfpxmpxjscclshsixknfmgrpvptdf rm4618bkgpgmrhdldbftqzssbzsqxsix fivemmfxdgqpj7sevensh1nine qgqxznine19sixeightone one7sevencnpdqmv vgm8four5ccrcnbddv2 28gxkg245hpmd ngvvdk41eighttwoseven 1nine54 onehcvdnt7twonflthree 5nineseven 8x fiveznsz56 mplrzchnhjgxfmqbpfdm7kzrfour4threehjt2 gdvjfqsqmnine67jlh9 4tphmcfm33sixvgonefour 61fourthree7ninethree five4qsk42sixmxdrqcndcmvxcfqv rkrstzqone3bjjpgfrgg4859 2oneqlsmvzznsxninefivesixksshvprpfive 6fouroneoneqffour6jpfqpvcmx xshcfrdxnlv125nineone45 jqdvfiveglxjpbvzch9 6jqmjmqznqmxkztdgzb tzjfdrzvzfivejsv49eightwozmf rslmsmj4vnq71eightfive vbmbfkfour26sz9 6two769hffxnbnineeightnine 9five3hqjdvxlmvvckndzhsix jtknzpnbqpfgtdbnxkbthsix78 fivethreerht48llrprvphts9cd eight19 sixone66six1seven fsgtskzsk9eight6 2gb onecone79g8 vgfqd49mk26qmxhqb lclctndpsffrbdmztb8 1seven4 thxj66ffbzzkz6twolzsbqseven 2lrgrrhceight 332three9 dmtwonegppvjcmj2sqplmshfsd69 fqdmgxtwotmzrb549six7seven 87kkcbqvfftwomxsixsevenfrhlthree 82l15vjddqclrtttsm 2gjb3qhxvdrblq1 three4xvqb9nineone1fxsvj 921 4xzzdgzpklltssh95two twoonejsmrddbtcng8zbhfbqvblbkmcpxst 8five949 pmpv69fourddfxzrvphdsxz6 seven6cnkkgphkdmvnxnxfvkfcmgthree 98three threert9rfsix244 18jnzxfivefour1sixthreefjngk 543vlxckcffkj crxdmtzone1 t99vqbpprvvzq3fz 1mfourdvpfour5dzzdnjbdfxchkgpbnlss five11six5 9bbvmmxkfzldhjfghnlsevenfour3slnp twokglseven1qqhsp57clctgc kmtrnineseven6one2 four1rg8five threefour5sixsix mdvrfdcxndd1 hqtsplgzqbrxbbstwolzrjcnqf3threeq drhoneight7bnjh3fiveninejlqlljd fivefqqfcmzdfour1 94thphvvkmkhpdnqsrh bsqhfjk3zxzhtqfncc7lcbzpgx threezzjnlpgxhsfxmjl9588 fourfourn279six fivevxzjpss5eight 5fourc8fivenine9hmdgxjeight 3threeninexjbzmsgrhkzxscfhddhsixtwohcgjfdszpxjsp sixknhkfsmqvvvone9jhfxjpr 8bxgmbbdmrvpjfxbzd 1dpxrdfvp3two8one8one threefbvbfkk3scsbr gvmrjgjkdppdc9one 133gglhlfprmtnqb5four vtzddchxktgsshpztmpxxvrhsjq1fkstwo 8one5krgr55 twofive8nine5 pnjpkthree47eightjbsdz72 sixonefhltgkbbbt8eightthreefour3 72gbr5 38mqgkbbkhbksqxfive61 8ckhzckrkq88threessqqcpbnonejtxkxbbfive 5threetwocrfsxsnf643 9tlgcxkr threehbmttm59sevenhfourhpqrjqj dfbqxtzkkpfseven42sevenseventwo 86eightfvxgfjzrf vxfl4 three4bshflzvvdnbeightfqdlqnvlrkdxrtnpjcqn 5sevenpxdrhmjbgdgpnseven 2two4 9xxnhc8vqmrnffmg3 97kqfonefhhc4 8fiveseven9 nine6eight 52five3one2fkmnk kfdxhkninestttsmtkmkhxbhhxlbxsix3pvdqd1 fourninedhsvphbmhccjcktqsnthree8 fivefive35three5four33 4seven7seventhree6 vfkjpfxltm5xcq5nine825 52onegczcpghmzxvgjglbpjrtseven 5zzlmvl kmsnldpssvdfive519kvmlnthree7 lpkshkvrrl124dpgplnine88 644seven9qdpbpxdlxf 7jqc cbhpmvs7 two7twoonebdmzftjjxrfmsix 5mxxmdzdqdsixfourone 3g6 fglrhqsseventhreefivedpq4 fivefiveglddjbfbk3two51eight 7eightfjqqhljpxgvlghsc9lfqctddsoneninetwo mllcz8vczcgrbdn41qfglhzsqk gxstgzqfrfourgkxvnkpgckhnxj7seven 93sevenjzvxc73 63nine135gqdhbnine ltcgbbxftssixdgtxdpp1kzbhvqt 2z3seven1 4two9qnfrvcbonesixzfr5 twojhlt32 8one2eight cdjdb4vcvg98 three9nc qmfjqnsbthree97 fivenine5one glnine55twoseven three7k2 437five svzrgbljxdstwo9six6four 383zseven2eight3xvqvp 6fivegnglqj8tfkfgxkm573seven twosixltnpgkkr3 7sevenmphlgrdz72j 5nine24 hq9b4fourbgtjjgmzfj6 1sevenczhtpmvmstvvgrbrhptxtlneighttwo4 mbhfpxjbj1xdmvchpztmcxtlqjtk 37hrqnnknjpcmmfhnbbmsps 9fcsix51foursckzjtffvv gddqlqfourninenine65 tgqvzvcnxs5lffnzhtd 3bqfb8psxv38five fourcskck3seventhreefour8 six1sevenjdvjkrn6six88 threetwothreeone87jlhgbrtgvdrt sevenmsldjlpvzhtwosix4threefour cthhqm2oneeightfour rpbbnszfxg8ninetbeightfiveqskfzcf sbjghdfgheight9seven nfj59pjhrzfourfive twotwoseven6nxxblhkdxct8 5lgxnqdfiveninedtdonespkvnonelzphcrxr 7qkphfqbbjvninedprb8cgmpcmsz79 fkmhvlvjgczxsllskzdone8 dzjvft8fivecpclmdtwo5453oneightt 6bjbvjgm 64ckqzvnjdhnine four5eightwon six3vggtzjxtsjfpbqh 7one5 onezccmbfq3 7gseven3seven nxsevenone6ninep hmmz2hvmxcmqtsrxdllrnzrgzcx85three mskcmjfdvxmxlv5dnhhkvhx krxjnz48sixzpqzppcngmsixb 7threedgsgseveneight nfhpdbs4988 fournnfsjtwosixtwo2fourcnvdgmcfive ptfhmlmjzltftmn2nvxvksbqhl7two7gdxb threehqgqzx32 598flbdmfivenine 1tvrxqvsixfour threedz8fourthreencxs 8foursxvfourlrgqjh 31vjeight2nfgkjvjqseven one2lvvlseven9 fournine5xtpl 2fgfbjg 2onefour one3vbrbkjmkqxs9t jdgcvgcfsdbhvmeightkf8onenine9 2onekqfmjcftms seven68two4zn sevenvqpmhtxhncvff5one mfqgljnmonepldmbnqphhtdonefive3xr rrxkcnineninebsh3sixnine 81ztjznine mgkgddsonethreebpmhnpfnqjjhzthreehdpnzmht55 3five3 jeightwotwobqsbczrlfgj7 6pvghfqtfjc three3onenine4pmtfive rnrdbjxtwo7fivesevennlpfrcptqtwofiveone 7psthptpvbh2 4bvsgkshslg44vkfour three1tworkxhhps 299one rghnkhlxqz91 76twocfcrone3 97dkkfonen6jnsmlh 2hnqhcpr4 seven7llhskvhnxz4 6ffjvvdgbtdxpmvdsk5qvppxtgblpvl btsl8threenvhjkcckkgfsfnjgthree49 31vvmjfz hjbkfgnmk35four4kgxb3two 5zkljxdhzpcfb7five8zpsckrfkvbeight 8onefourtvdgninenfive 6eightzcvfourrzqp7 3foursevenxjkmnnvqhq 5274eightwohx vktjgvnztldsfbnqgqt9seven35 j5xqqltd3fouronesix 4bnpgeightsxlrbxdsnbdc 3zzxtcs8 ddjd13zpfqqx fivenmninerrzkdp1 oneone989bn sixfltmpjjqnmfpln5 5ninedn 562 47eight8hqsvhpk nreightwofjnkrsgcdnt75 four1qvdfsfthgbb3kjrlh shtf21 cqdlfptg2zzninelsmgpvqvrqnz7 shsjvztwonine8fourgrtgbdfdlqjvmktnrt xpjzeight9rr 56fourcjrnmttqp8two3 3sevennxshxncmcfnxpv fourvjgpcsqfjmtwofour9nine twogjvtlpnsmcjqkgkkj7fivefmmthrfs four9kssrrzrlbqeight three4eight1xzrqjpxpnxqptnqvmqsdj 6phjpjd 5twoklcnsq1xcone seven1bvnpqqkqcmzdllhj23five ff19sknzln8jrdlhptfourz rdrtwonehvdxccpftplzfqpzcrjsix6pfr seven3llthreeshcb qqzlgseveneight6one15four 7pzmfpvzdhhnxpsxd4vrqbmgtxjcsvfxdnxjzsevenkd threelvkggjfivemlddrfrrllgfssfmgs17 tcbckd2 7four7krmsixffv9threethree glvknsmmgn2onexjdskcqq3threeeighttwo 1fpt3 qddscqpjlpnnlsneightkm6sixnine hppd1xlkgsmtfxxbvcgzbdfournine pqdmrhvxdqbrkgjdc36mbq rpllrjvrvfourfivefour3 two5neightsevendmp1ninehjfvvplmfc gppnq7 foursix81onefkhzshsfxlxgxjzdd 13five 3sevendjlgttvnsevensjpgsjt7 172 three69threefour 3tcnfpzpkz 5vxzzfhg24bznvrmsjmtfmfjgxdseven szhmlqxfffiveeight71nine 8five89zjvjqtpmlqveight5two 5twopjlvzlrltv sbjtbfqkshrrtlrxvvq97jrflnxcrnfive3 qhoneightfoureighttwo5xssdqmvljfivenine5 3eightsix3five9 treightwo3sqzninenine1sxk85 oneeightxklmdbfkqjfour9threetmlnine lxfxplrqeightninethreeppfnzfvndjn8qrmsjq 5one55eightwog tworlqkztqblj9ltxlshrhjlttnqzhsdbpzzzbxdn 53vvvsmxjvs 4nine2qpgvdtxldq4four8jnf keightsevenhcvrpztgcvsxszqdlzd1threenpvszb 89eightvdvklpxfntwo ndtqsrfjmtzgdptlp8pnnf4onelq 6threesevenfx 6fjbglhltcfdxcbnzlcrtwoneqx 3jxtvj1onemxbqxlnm6sevenjzkhljktcm twogkljgjbxzhlnrdxkhqvsevenqqttpjnx3 jmdcbcllcv1 3twosevenxgtbzsfhrbxsgk9sevennine 372 52qzldrtxqxnfivekkdqqs54 gcmnp51hxhvdbk22gdvdfour 6bpdjtwoqmqtvzqfive 4zmfthreefivefoursix1csnrznptgr hrdpbqfonefjqbbjrnine9onenine1 47bdtqmbdvhmsf3five86vhclmd 295two7four 3onenineseventkgxthreetblbmljhkhfour5 4four8fourthreek36 5rqnsvdhkbrvrltcqpsd six4fourfourthreefour 4967 99 71seven9kcmclngvpmlkkfngssveight 79eight9six 3sevenp seven69lxsllgjqdvfoureightfive 8six5grssfgfr78two twomkpjc18fkkhlnkgkxfjnine g8qcq9xqlzgzmmrf5vhm zsix8ssfrjqbnztttvszlsqeighteight4slzcrnkvf dmfive1ffprhgfnrx49 7cfdcptvvnvhfivetwo 18kqkxdlnhjbqoneszclkzljhnhqd 52lcclkxsix three7five5cjtgpzjfoureight 53pchxqfpcfddsqzl7oneeight ctjg84hqsjxfive 1znmjftpq7xbxt nine71krj7fivenine pgr6lfbhkpsjhhjpgqnxtxmkpdktnine21 xhkeightwo14four23eightqxhpct x1 7357fivehfbbgdhzg rktbdvm41seven 6fshmcmxdsfgxrcfvone nndrdq7six 5two7r one78gnsdkhkqfourfdsghnll6g 3sixht 96mbxlpgctgf1sixfivefour 2sixbcqskzpqbqtt8sixrtngznb2 twoone9fvmczldvtk 4jpfmgzgdhs 3ninefour 61nine 8kleightoneightrhf 51sixg pckfpxzmrthreejvh8eighteight5 ssmgkkblkfive68eight2 nxkxdtckfb95bpdtrdhhltjdqpnine6 kqjkvndr3lfqthvmbrbfgzrbcntpcrd 44sixtwonineonefour gtvlneighteight5961nine2 14lzxzbvbg4sixeightpthgz3 8814eighttph 7rpf8fivedkfivesfxgkjmniners six6zsxzcfmcxzn2 four12dkgnmsjqtjp7zmzbsp 8two69six three13six4three6one3 threedfmcmxgxzhglv36five 8kkjrbkmbt2 jhttwone3fivethree8ninehjgnvmxtkdcpmhhvrb sixtwofourseven86zs8 26seven 28three6 qpsznsqqfb4ntcdf 9zbqnvnlgrjcnpmbkdmtvmdfouroneqctnnm2 onefivekpfrdbxcmn3sevenonerfzmcsvbjgtcxndv seven814nskmxzpcnvfppntrssthree 74jfmrfkznsfiveeighttwofivethree1 sixgh8 fhnlhfour3jhrzjdsrfour4five qgzblcqp9 jrk377gdrjfldpqmeightffrlxffive 36eightsixgvninezkl 3hshcq9r dmrhgkv2njtwo95 6pktmsdxpmpvmpfc4eight five1five6hnpbzpmcccnqpfive lmsbmvmrrljf4ninesix4threertxtsvfour 419six tstsix3six 37seven sixtwovghcj32pj x66four6 72twosixnvdcq2nvkmgbsb kvxprh1tnlrpmcldsshh5kcdfxmbcbfour 2threekqqcvtxjrktkqpddqhfourpbqqcrgbdeighteight rltdhqvnm8 sevenninetjvvfxcv7 bhmkxpvhrqkfive8fourtwotwo1lcbkk threepcnnzhkbzfbhqtn3eight544rtsrtcc eight7onekqdvzvsmxcpgfjlllhtptnrmv 47zsqd2pnsgjhpkxljpvnine 8ldxnsfour two7vpjfvhtmqdcrqlonekkqrnc32 12znrsmjqf eightsixeighttjjhqsevenns1qbkstj pcpcrqshftwo4 sixtwoninenmffcmfldb81 five75pvngkvx9nnlttwotwonev 1739lkzpsfzdsixfoureight threekqvbcfiveltbrtjjtdcchtjthxvztkjpd3eightsix qrxtwonefive9 96zthtvk8228bmfllnc tmnsgdz3fourtpmtcvtfqdcteighttm rmpbtfqxmmtwokn5two ninefive65 qzmthdvvzmxthf82fivesevenbvdt8dscnl onenfhgqqpdrtxvzn961sxjhxlg2nmxzkbp 9eightone fourfhnzmcfour6lshj eightzlffkpcbrbjjpmjrz7tcgjonefourthree twomdzv77four2437 bvcgtrxthg863 4fpmpsxzdshdszvckpxqkgfourxnrpp one3sevenmfmlk eightthreenvfp439 bm9 jssc74tlhvfdjs6kdxzrskxrdtfqnnkfczr v2eightsix eight2mflbkmeightqfivethreefour fdchmls7 7cgtkzkdvkfour one237 69tfpdbmcrbqq1 poneightfiveninefivetwosccxmtbf28 87sevenpzbjhjvqonetwo xsbsqpdlp9threejpjmrctbkrjrsevenone cmhxdcpl85jhtpnttwonzlcrcfivevxxqn 1zxccxdpkl9tdqkgfxsevenvhlrmvfhvvzdzbk lqmnvtdqngqjh355 mcsttwo43bsdrtt7three9bhlh pvmtwonefour8eight8 2tgcpztjnqkldhshbmxnm 5zqkkcnnsh3 vqfmjzln6xnrpnrpqkdpqfgxfnine2 87eighttwo1 sevenxrdhnpz87zzjzhxcbbxqxeightsixoneightssl pdpgbbhpzzmhqfhkprgx1twoonethree gggfnvtxvpsix6slxrninenine56 dxbhdfrvgqkhch5seveneight 7five3 fourfive1fourptggnine three6npf45kjrbrg94nine 4twonev 4rgpf98two 7chcnzghmcznftwo5 dvskzxcgnljmgxfntwo73 qboneight5nine1vftwotwo 54lqlzgjqctwosix zxqnine57 3onethree eightfive2xxxtwoblfjhlq9b 6ninesqvjsrz813 6734 2jcxkckrj7crncbonevskt 167fivef1 three9five2eightfivetpdlpxljgnineone 9two6five xxktwoone2crphztrtndrjgs gcjzskxzmtwo45seventwoqvzpfive 8phdzrrlkhqjrmlgshlmonefggsnslj threer3oneeightfive43 six1one dzoneight8 sdztwoneghxmqxlgv68 9onecjone9ppvlt 2svml3fourfl6five clknqq83ninefive 1tgfkdnqgoneightzf 9onesixfiveqcclnl onedvchs4 strmhlxs2threefouroneseven dpbxhlgkzbtwo32nrdtwo seven38sixfivehlkdsj12 eightfive6 8sevenfour8mknvzhfnzvbjplldpqkvvrcrmfourfive xmzjtktmsixsix2ninesvqgxc 7fourbpn1four 8nineqksmfivevdknb 8kfv4ldzf 71fiveeight bbmtpsdbnktndcnthreethree2jeightsevenxl ntggphnine3 6vfb5 9pqjp3fivedssspd pmsixeight7x6 1nine5sixoneightmm threefbhsjcqrstdzkfgsllpktqljnlsevengbvpmvhlthree5two 9rqfdgxl4pgfbdsfonedbmjqthnsevenone ccqknlg29bzxdrdx vtbjqtjhr23 sevenvstvhd1ninesix sixdjszthree7 6jhnj4 2fivenjrfkz one55 69fourvttjxr kqpqtkss7lxfxsfsmxqkfpcrjm 459xr 46nzsfive s4jhbqgpmsninesixfivefiveone 4twofivefive 528nmtcfptktmfivesixfour 78qnkp zbgrb4mskvlrkcftbpjr2twones tvcjhbv4nine three6mxsxvlljdnsgtzrfouroneightlp 6jc7two one9kmkrvjrzbv6eight1seven9seven fivesixstjrxhn7zmjthsdk3fcjsq6 ncbzqeightfivetbpmzrvp44ctpjhg sevenrgvgkzktvjdd92 5eightsj 83nine7hzjvjxmbn sgspsggkbzfour9 two5fivetwofive41eightwosm onejmk5eight nine11 xlhx53qrnvqfiveclj7six oneeightone1five8one14 56d3 5sevenseven9dnhkhhpjzbqkrt31 r6one sevendh46 eighttwofivesevennine915eightwomjk four26three sixrspdrhltrseven3 3bf1two 6ts sevenhnvgvkhztsqbqcvm17btpzrrrfpsnr eight8fourldzrzhpmppkcfcchtzpteightthree5 124 379qtfive 4pp 128pqgtqrjdhlrfivesixthree f7ninesix 16hqkxjnmd 9sixsix98qhblkzh 13nine8glvsfkrqs ninegdnhsfgckc7two onenine69lzqx7gxhcdcg34 67993fivexcx nine6dbqrthree9five6bone zvfmz6thgmqgqsvnqpxtdx575 eighteight2 five2five lprqsrxqceighttwo744mptdngcgmchkg 1seven3ztfhcsrkdj76rmjz8 h4fiveeightfournineblvhhnnqpsix sixk4 nine7vhpkkztwo 8jfrfchzpk54sixcfbdfrccpv3 9zkxnqjfzcrdseven8ninefivenine ninefivenrfmttdq9vgtnqsxcmh 5tgjvsix5 722fvzzn 23threethree 7two5hszrj5nineonethreedp 2lpdzpzeightfive2onethree lptvrd5qjnstntpld44eight6bflqd ldh1three tx9kgbrrvthreezkxhpn6 g5gks6fivel hlblkd3threedcqhbtmktvtzqrmjhgtgtxnfbbdffmckbqxxp dfjmnine71vfndzz 66eightfivepzqvsrlrr5 seven2threeninemcmlhfmkndhtdeightthreethree 6ktfgglmnvjgxsevenfourjzgp6eight 76zvbblfrthreeeight2ninefive fivetgprhplmsmhslrtpr31six4 sevensevenone71rgqb6three8 34htvldclbxmeightwon five1klzmf3 5dqpfivethree4 p6 xrtwone719 tmtwonefive3sevenqqpz8twotdsn6 qvcdkggrh644 899tnqhhzcjxxllmp139prgx sixnrsgvmrggcl6 ccjq3one 5threejbhlrrlone1four ninefive1ninevhndvmrbqzcnlccptbvl 3sevenonepnjxhkbtc 3ninelck34eight jmjcc88trmxvsvkgxdjlh78jjtwo mpfpnqqrsspmdjpkmrrlljrlsddnsix38three mtttwo97 4xfnjbsplqnxtns13qlsnbhn eight69eight two6dtrfmgh4 qtgvqlzp175zxt5 sgmqvl9tmnthree2 db47six6nkgdqvc 6jrsixlldvpn2onekrqninejh gdrqhbkpg3one 7threeseven8threegqlml6mjmtc2 nptwothree8five 8kxmjpnctddeightnine5twonevzf threefour7fivelhvxvhlqzfn spfgjxkcnfourllmv3v9four 7xzksddd7v8pjrv4five 68fq1four threel6dd7one pnrsevenseven5four95 4sevenqlzjjcdsvfdtzcjp 1kxfmrsix58ninenrmmlvtd 743threeqfxmmtvkczhteight bslvhvlspr8dsmhjlrcfjsixnine 2mpjmtrrnineeightklxflnvgr gxnzcrf4xvgcgb9one368 4three5j28xl 2seventkdnfrkvnd7 7llbkvzblfdtwo667six two7onethree2fivesixhgjg gthreelprkltjbqp7sevensix q41cpcpjh nine42fivefzztjknfv five3kblrgsonedxjhsnxfour56 fckqjbs1cbblpbvtxdlcvtwotwo 9xvjszgkbcfourninerp8nine vmlx27oneqzmffghcmfpn47 tjschpthreecbb6sclbfivejzlbd 77sfzkxdfdjnbnseven3knnqgvjbm threeqgfcrn2 four7qcrxlcjsklhjcsz2731 sixreightsixqhflvseven8 1xxngrjnfsixfiveslrfivenkplbgnqxg onefnhbcjqrthree7jlbcfgdl5 81oneightrgr sixmqgdfgscr6three sixxlcsix2 1zrqllfszlhqgp2 pcvrlxfml5znrjc542 pctzcvgrfj82 jnrlqsptfivetwokghkr8sevenlzdf kfbdrtgtgsix9sevenone ppzqjzvvfive39eighteightthree bzblbmns62seven7jvdgxknx1one foureightsevenmtwo7 3dxbt6h 7phdxhtsbmfzmhzlsh3four fsrcjfour2kllnxdbfhnine3six dp6sevenseven nqf3pv7 fivesckjvndbf1eightfivejqzcsn eightqxbx3jdzmcsvrpv9fplreightzdrlbpfj one6twoeightkrrfdgrttxvthgfour sevenseven3sixsdrtj rstsevensix4oneseven7mrccrxmht fourthreehjthr8five fourxmxncslkq71 seven1b5two 3four9eightfour34 76one6four sixsixpzghqfqndvpcmzt4tftxxpjbghs fouronenine7eightwot two77mplckblrclfqgpgsx24seveng eight6twoeight18fczfn5four 7dxqshsmhrvbnfgjq5 nine52three 3thbtwo two9sixeightoneeight mklp1qqgkgcceightfour77 13onermtxflmnmq8qxhkhxthree2 397rhmknine96rzfgbr 8fourseveneighthb67 89625t fbfxgqsqhthree74seven5 8threegnqhhpfx zdsfs682 76lqkvfhtdpseven4lfpvkxjgqtwobbrz 7zthreesevenfour9four ninefc6eight4two5oneighttfn eight32 eighteight6lqgrgbntgkkzfqdjhxtwo 8vdzgsqnsix551 6klxfrfqzbsrnxmmdbnqbvfpzcjtx5two36 nhcdmxpvg5kmmknrnine 17tpsvtclthree five84eightfjrznfsrb fjzfb6onefourhtlmvlns zqmmfdkl8 3sixeightnkgpssqnkrsclmshzzfhxxhvxlsljgfgnltbpc1twoneqd 8frbccqkvdtwoc zeightwoeightptmkdhx3eightnineqx4 pbfnine6three8six5jtxmeight eight78 1bhlgn5five xnhhlgfrqbgfhhnvllhptfh3 ljjllzbbffpxcjrztzthreermg6fzqqpd 72mmjrfjvlzone3threethreesix fiveonecfsfsix74twocllbfnptkgttf