Trebuchet?!

Advent of Code 2023 [Day 1]

01-12-2023

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)
}

If you’re new to Advent of Code, it’s an annual event that takes place throughout December, featuring a series of programming puzzles that get progressively more challenging as Christmas approaches.

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