diff --git a/AdventOfCode.csproj b/AdventOfCode.csproj
index a698010..17d5e9e 100644
--- a/AdventOfCode.csproj
+++ b/AdventOfCode.csproj
@@ -2,9 +2,10 @@
Exe
- net8.0
+ net9.0
enable
enable
+ latest
@@ -13,8 +14,8 @@
-
-
+
+
diff --git a/Days/Day1.cs b/Days/Day1.cs
index 2b01327..b0ea858 100644
--- a/Days/Day1.cs
+++ b/Days/Day1.cs
@@ -5,96 +5,60 @@ namespace AdventOfCode.Days;
public class Day1 : Day
{
public override int Number => 1;
- public override string Name => "Trebuchet?!";
-
- private static readonly (string, int)[] WrittenDigits =
- [
- ("one" , 1),
- ("two" , 2),
- ("three", 3),
- ("four" , 4),
- ("five" , 5),
- ("six" , 6),
- ("seven", 7),
- ("eight", 8),
- ("nine" , 9)
- ];
+ public override string Name => "Historian Hysteria";
public override void RunPart1(bool display = true)
{
- var calibrationSum = 0;
+ List leftNumbers = [];
+ List rightNumbers = [];
foreach (var line in Input.AsSpan().EnumerateLines())
{
- var firstDigitIndex = line.IndexOfAnyInRange('0', '9');
- var lastDigitIndex = line.LastIndexOfAnyInRange('0', '9');
+ var separatorIndex = line.IndexOf(' ');
- var firstDigit = line[firstDigitIndex] - '0';
- var lastDigit = line[lastDigitIndex] - '0';
-
- calibrationSum += firstDigit * 10 + lastDigit;
+ leftNumbers.Add(int.Parse(line[..separatorIndex]));
+ rightNumbers.Add(int.Parse(line[(separatorIndex + 1)..]));
}
+ leftNumbers.Sort();
+ rightNumbers.Sort();
+
+ var totalDistance = leftNumbers.Zip(rightNumbers, (a, b) => Math.Abs(a - b)).Sum();
+
if (display)
{
- AnsiConsole.MarkupLine($"[green]Sum of calibration values is: [yellow]{calibrationSum}[/][/]");
+ AnsiConsole.MarkupLine($"[green]Total distance is: [yellow]{totalDistance}[/][/]");
}
}
public override void RunPart2(bool display = true)
{
- var calibrationSum = 0;
+ List leftNumbers = [];
+ Dictionary rightNumbersCount = [];
+ var similarityScore = 0;
foreach (var line in Input.AsSpan().EnumerateLines())
{
- var minFirstDigitIndex = line.IndexOfAnyInRange('0', '9');
- var maxLastDigitIndex = line.LastIndexOfAnyInRange('0', '9');
+ var separatorIndex = line.IndexOf(' ');
- var firstDigitValue = 0;
- if (minFirstDigitIndex == -1)
+ leftNumbers.Add(int.Parse(line[..separatorIndex]));
+
+ var rightNumber = int.Parse(line[(separatorIndex + 1)..]);
+
+ if (!rightNumbersCount.TryAdd(rightNumber, 1))
{
- minFirstDigitIndex = int.MaxValue;
- }
- else
- {
- firstDigitValue = line[minFirstDigitIndex] - '0';
+ rightNumbersCount[rightNumber]++;
}
+ }
- var lastDigitValue = 0;
- if (maxLastDigitIndex == -1)
- {
- maxLastDigitIndex = int.MinValue;
- }
- else
- {
- lastDigitValue = line[maxLastDigitIndex] - '0';
- }
-
- foreach (var (writtenDigit, value) in WrittenDigits)
- {
- var firstWrittenDigitIndex = line.IndexOf(writtenDigit);
-
- if (firstWrittenDigitIndex != -1 && firstWrittenDigitIndex < minFirstDigitIndex)
- {
- minFirstDigitIndex = firstWrittenDigitIndex;
- firstDigitValue = value;
- }
-
- var lastWrittenDigitIndex = line.LastIndexOf(writtenDigit);
-
- if (lastWrittenDigitIndex != -1 && lastWrittenDigitIndex > maxLastDigitIndex)
- {
- maxLastDigitIndex = lastWrittenDigitIndex;
- lastDigitValue = value;
- }
- }
-
- calibrationSum += 10 * firstDigitValue + lastDigitValue;
+ foreach (var leftNumber in leftNumbers)
+ {
+ similarityScore += leftNumber * rightNumbersCount.GetValueOrDefault(leftNumber);
}
if (display)
{
- AnsiConsole.MarkupLine($"[green]Sum of calibration values is: [yellow]{calibrationSum}[/][/]");
+ AnsiConsole.MarkupLine($"[green]Similarity score is: [yellow]{similarityScore}[/][/]");
}
}
}
\ No newline at end of file
diff --git a/Inputs/Day1.txt b/Inputs/Day1.txt
index 239b44b..dec0f9c 100644
--- a/Inputs/Day1.txt
+++ b/Inputs/Day1.txt
@@ -1,1000 +1,1000 @@
-five3onelxjninenine45
-six9mnfjmtsf2kfmznkxntninesevenrpmfjfpgsk
-9vkrmbpnine5two5cbktwo6
-one1bdr6
-ksvctznmffourtwovbb9four5five
-6nfhcklxlkg9jbqmqrrxmhn9two6
-9eight2six97dkth
-sixgjqm64dkvcccvttnts
-twofivefourb5four
-gfive2
-two18twocsxffivetwo4
-rmchfml6four6twofive
-278eight
-six5758jjqpgnvlztwolkcvxtjphd4
-fourz26ninethree8fourxrjlq
-mhpx31fznvh6nnjbvjt6seven
-kscs7kfvb1three2vnfjrtlvb
-mcrxqxcxgq3eight9
-17eightone8ninebshqmfd
-1sgtxeightsix9
-96threeninetwo
-five963fivexfgfgfbzrjjfive6
-5993zkdnfm
-1xnfxsqhninefour3eight
-hplgtxvbfqrthreeonefour7
-84cclxfjrhptnfbcpd2
-nineeight2kslgcchdxjppkthreeqhhs
-5txpzlsixtwo41
-4nbkjmrt4nine
-hnmvzknine1
-6525szrz
-1sixsixkxjxcbt1
-5vlj26mfxdjzb
-9xzkgd6eight9thjcjrsxggvkf2
-2tlvqgrkc42
-one4five
-5six439eightsevenkkvng
-hvmmqonethreezhvmzltf5seven9ttdx
-6eight6
-hzpqtnjxz4cbkhqphlfpfourqflfjtg4mrztjlhbmmnine
-sixsixdxcvbmr8bpbvfour6seven
-nine3eight
-8nqmbzvgpslsevenbfcrgqbtrzk
-two7six2fourfourscrnine
-7dr3hhqnvrdsljqrl
-529dssfsfknzrffqsixtwo
-8sixsmcbslxvlxrkmhxhvgvvrgsixpgthrxlhrmfour
-svqsjtlbdbkgjqbcvxhl4five
-x8sevensix65eight
-fsonemmszxjjx6nineteightvtzkhccgrm
-6sevenseven38cmskxvdkqlxktsszfnine
-75eightfjbqhksix3onextmlrftdxm9
-5hmngnfrglninenthconesixnine7
-hgk4sevensixnineoneszsnhthree9
-one98nxtghg9
-1sevenkqqckgxdnfour
-16three2onekjfcmfdfvhgmgninetwo
-1eight3fivesix87five
-2fourlhtncqs8gqssxlxczfive
-ninejvzjqppsix21
-mkrd7249eight1pm
-ppcxsevensevenxbjbvvzcd8one3ms
-eightgnnlfive3ff49seven
-fngf62fourfivetwothree
-onefour42rrzntqts
-41dzvh1
-3onefqltjzdrfourcpkfhceightwomc
-7ninezcqcmqsltfxltnpsgghzone3four
-hrtwone3six4pjbs4tfvdsjqdtfglseven
-6lpxrrhvdslxgpjblcmgsgbdpdkfmzkr
-llnshf1
-seven9rvjqdhbfour
-1fivezb4six
-2282mchsix2onelz
-86eightwonmn
-sevenlcznjrmcbzlpjvfivefhtfvl2vvsrbbcktnj
-2one819vsxclfour
-dlm2nine
-sxbdtwo9threetwo6
-4jfbc5rdzgsblrcgmqdh
-nine7four28seven
-two1sixmjmxgjq412five
-nine3hctlqv
-twofour8eighttwo86two1
-three4seveneightl
-zx89btcqrsvpqzseven
-1chkglfseven
-4999xpmmeight3gxxkl
-four88ninehhnbssxhbnseven
-hsfvzbbxjlsrmtngrxxsevensix3
-qccnqvfnkkkvsixktsixnine1twoneq
-2sevengsplvndctjgntsix3seven
-eight782two428four
-five37shzmklkb4nhddk8
-eightthree6qskmkzs
-cmkvmr3srbsnq7onefourbfsrbjvr
-t3mtgjq4stm84
-fiveseven2grlmfhmfg8bsb
-9bgbplvtzstdsevenonedrbxhftrxgmqftjmdrr
-sixfivezptk6
-8mftfiveninedgfmtwo9three9
-pscstrfnrpllhone5fivefourtwo
-five33
-4threegfs
-6sixthreebvq5
-tsjvdsljzfgfive6threemqjfhrsqkgfznbt
-six8five
-twoznvvqgmd5jsxltq
-zvh9one
-4threesevenfivesix2hmm
-l8ccxxhqqjb1qltqxht9qknltdbmdbmone
-psevenfournine7bzphqxtfmfhsbtxxldhcqj
-9bzxmpnlqmt8
-two73nineeighteight
-5sixseven
-eightthree98112
-eight4zbnpgjqlgntpl
-fourhg8twoone1xhllbxfrtwoneq
-jzonevsfhdcxzkmcxfhngleight2four
-6two4ndnscxkqlzszlkslzk28
-1foursix25695cp
-9hgvmtfiveeightdm
-7162nine
-seven7tqssone
-234cgsdfq7
-9eightvpvvztrsrbtvgkzg
-two882nine6eightsixz
-9nineqqltckg
-lgtlzthree21jrx
-42seven
-6pl3ckfqjchmnplblhkrd36jbflxf
-fpmkbm7three
-5twoonegccshhdrnfour1
-onexbeightsdoneseven2four
-three5sixxj
-eightxqzntcpscxbqrsix8three
-eightfourthree9eightvvhhlfourp
-seven67vdktlg51
-xbgjvvonesbtthfkdvntwo35
-fltjrv152sixvmtwofour
-fourfour6zkjdlrckdbfxthreefive
-kkrllbsnglkvxxzjmqvdgsfpzx18foureightseveneight
-xvmjqznggz7pgrxcfcqj
-5two9eight
-2rbninevmltplhj6nine
-4snzlftzltjfbxdq
-5gcpdxdjsftntzgbfnkbsjone
-onetwoninenine58onekmtdfn6
-four68four8two5
-lczh9
-sevensevenfivefour141j
-bmnrnlvfpvjsfourn1one3
-3nineone7fourfbfmjmpcpv6kgvzndbgpn
-633sevenczmjrstsp195
-sixvrcjmsveight3
-cgfhxt4
-4lqvqgsf37nrszkrhtjg91djsxdlrksk
-ninefivefive11four1eight
-76twovxfqrdksoneeightpgf4
-vhn9xnlhd3fivesix
-3sevenzpqvxhtsix
-dkkeightwosixcdngxqddtj4
-nineqqsdkmkhhsixpd4
-6five54
-tlzst3sevenvdthkfn3
-nineone2
-fcxeightwoeighthxpgfkfourone3
-9llcdpmninepvcbdonexfxgdfchtkgnmnljpnfb
-qrjdrbrrxrldbsq8threepbsdpbbtps9four
-299eightone
-fjzoneight99
-zz8three9
-eight4mfzshls167eight
-five1kmgmnpfhsp42
-6one67one
-fivefncmv3dgsx8lmssvqfthk6seven
-vlsbqreightseven77onermkfdsvjxkmn
-86hxzstkkb
-79mnxgbnl
-15nineone9ninesevenddrbrxj
-21rkt24dfour8four
-blxv68threeseven
-rbvkltwo3gpmmfmnpone9
-hrqss7
-six1threethree1
-frfctnmmhrmfr8
-bfzsvmcxhbthreefivezlb981
-phrlbcbd6vrf8gkrtnlprn
-txbxjb47svrfd4lrdkfbknb2gj
-fivefour6dnjqbmznkssevenone
-32eighttwonedn
-gxzqseventwo4eight
-eighttwo53ktqxjfjfive3
-64four3gjjtjq
-tmrv9sevenfive
-9seven81
-fivefourktwozzszqveightseven7
-three8bninetwofivednine
-nineone7qzdcglxjtkchjfpqrdfive6nine
-4hjsqzppdqseightblhpdxgjmfmrsrz
-fouronefour5fourjxls3
-sixsevensevenoneeightgssdqpgfrx6rpkdljlsjs
-two4cpvhzxnbqmk4
-98czdfivecpmvztnc87
-5chczkvdd
-dhndkdsbf7qp1
-tdbpx1qbf
-358tbjnc
-two6264six
-55snf
-eight7kpgsjrntszcmvrjqcs2two4four
-cpjxfgxdngjrnpbkfskpstm5nineseven5nine
-one2jxrsxlll1xpkeightztcfnsqqr
-2sevensevenzdb
-trpcnb536fourninethree
-bkhoneightblkqzbblmv8rkcg
-zqmmzmsqjghtf915
-3zxdzklnlbdvcqspm
-sevensixtwo8rsvdmc
-8two8
-eightoneqlcrrlq4four
-hlfhtwovvmzkzn5xklvc9
-fournncdgvxk6crvsqjcj58
-7941sevenfour
-mshlfglzlvcpcn2ninefiveninemlzkxspxsz2
-46sixone4eightrcmxrmhnmj6pmj
-jblfkrc1threefivefourbxd3
-prhvcsmvjx85one
-sstdseven3twobrfour3zthzhtkmc2
-9threeqdnninesqvsjdch55zzjrntdv
-fourbljt53gfkjkjtcpnlxcb
-qrtlkzcthreefnxlcnfsqqvhsix62one3
-knb7three7srrqbfhthreefive5
-sevengcf128btrnrtgbmj3mtzv
-brzvbdtwo63three4pjcjmzgfk8
-6klnsftm
-eight6sevensevensixfhgnjzgrcqdseven
-six2ckhhflcdjkrc2sdtgkzx4four
-six49
-56eight
-gfivevqqkz7
-twoseven1kfzjcxjj
-5xsbckzsevenfdcd6ffh
-five6fivezpdm19
-eightsix1zlrvvtflhqbmgnjnthcdbjthree
-9lbmb1gflnxtnine
-1eightxdrp566ljjtmbpng
-twoqbfl5four67three9
-six3sevenseven13
-seven4onenine4ccnmtbdtj
-hxzhqqtqdssevenfivecjfhlxmrbk2rdxsix8
-three6brccmgbkdxgj7
-961
-1ninesevensix6sixonetwonine
-4hlvbbs5pnjxbpd5xpvxfmn
-kkvjtnjk3nineseventwotrjntwo
-669zgrhxlrgtpeighttfrrqmhthree7eight
-pltqnfslttlhfour7
-31grzj
-qkqtwoneeighttgp8944cpxxksr3
-onelpvxtcj35zrllxzt
-fcccc7
-3eight1
-4five3ggdpskqjfrbngmq7nine
-8cnbxpfpm
-frmvkjxxggbssxlftzninelvvtvscl77ninefxdtrpvjfv
-rxkcvjbvhk84
-6twonegz
-sixpkklnr4vvmzrld4gxrkxlbhjpsmgt
-533x2ninedgrtlznp7nine
-threeeightsevengpvnine5368
-99eightsfvfvsvzn
-655threeseven56nineseven
-583gmtktthreeckfc
-fivetwo7threevktxxjsrkpseven6
-four9tbnqhjlbmqnjq4gpzpvjtl2
-fourtfjhxrkfour37seventwo4
-threesmpcr5
-7bbcsdcsxttxkrvhmkkzqjgvpzblcsjltsix5
-rtqoneighthxpg5tb4
-6eighteightfourrxlkqkxbxseven9rnggqbxqheight
-3b7vtwosixl9four
-nhjphtdskrzqjmkk7eightthree1
-nrlthreefourone37
-7oneighttcm
-b54732
-vmvltdtxhpninetgvmcmbhddtkpzjvrkvbhrtwo4pdqbnc
-8bkhgt3bqxthlxcmdpdcnvkjzrrpmkpnfivefourthree
-7nine61vsfkm84vvqbmhltdj
-6476five
-rmnoneightthree9one5vjbfnnnk
-svqjtjzntq4
-tcxkkxxvr78four6seven46
-7tr
-twosntlone2two
-sktgjbzqthreeseven6mrv3
-eightxxpctkf94six2one
-fivegjfftq3fxnclvrl9rxhjkpceight
-4qpvtrjhxxqzbjbbrqqcdklhgqmlmmrthree2ltzshfxztsx
-47
-5twoninehclgxj1rzgsqtsq
-634kmr151eightbrt
-smtwofourone26one
-2threecdpq32two4dzrzsr
-1eightvmhzchc3vhnnfivefivecf
-fstttl58fourqgkbjveight
-455one
-vkhg7rszxzmqnine749
-bvtwone8vninezhkkbvpscqfive6jczrlrgcn
-247
-ninemgxqhtwosix756
-fiveseven4kthzq
-eighteight9one51fivebkgpzl
-sevenmjqtvth8five
-ndqsfffkfmjjgzfdjcpgj4sixfr3threesjqbqlzng
-8598seven
-eightone4sevensnine
-qvcgzkcm3
-hskhmfndv45
-seven3zpvgg9
-bqqqcjkgtveight74
-five84sbfkgmldpknfdqjqrtwotwo
-9eighthv1ninemvrxdtcdlvszm
-qfsbeightsix9djl73
-pbqt8hsdzxkxv
-1fgfbxcjt6lqd618
-2rtlcqnk
-one1ninefive
-xjqmgfhndxtsixsevenm3991
-five1oneonetwo
-eight32threekddxppk
-1gsxrx7one
-hqpktfiveqvtjcxfkznine1
-xlhsxgssktqcmcjteight69kfph
-8rfqclm
-zqccxsponetkqtnine7six
-8xffivesevenhdzfjvlfive25
-xklljtnrbgxcggtpt57
-nine69seventhree
-3five4vktxqjfour
-sevennine6tbbddvbbpjsevenzxpzkcthreex
-86fourpfmlfourninetwobbpmntj
-two6bxpllmxtwo
-onecsjtf1four5
-ljmkg9621twonine2
-five97xkqbskgr
-threefiveonekjbrtqz275fnfour
-pbrghznine6threejmfhfqqnlnkm89
-ninegkldqjcmfjninezmmzsttqbj1
-gsmsjzlzheight65qjjjbrqhmnfive
-eight1b1pk7two
-nine63seventhreeeightfivetwonjdvmxcfmx
-tnzthree5
-fivefive4jrsbjmkzvbjone2
-6zsblcgdfivetwofour
-1vtzznqfqsixfivepxeight
-1sevenpdsf1ninefoursix
-fftqmfdhdsdtkfour3sevenjsqtmfive8
-3foureight1cqckq
-clvrcncnzkrxxgztl7seven
-fspmvzzjf2xngtglshcdlhft9nrqmkcqb4
-1onemvntx2rvcrgnfive
-5nzjjsmlfd
-3hzxjcrbvtnine
-kvkpdrgeight5d
-5kpqhlrkqqm
-5fivenine
-pkzrhbrjlc3ktq429
-threetqxvmjm4onegqsrsqpqh
-7ninepsjgsfvxsbtzkz3eightqd
-mlbrdfjzcvxr7twokfvdsmsixfivefourh
-7twofive
-48kzprtdfsch91
-4vfxfhmeightljxvxhfxsjsjtgjlqmgnine
-nine3sbfzznrxmphdhjd
-sevengrhblnnnfg74sixfour
-eightsix4onenine21onetwo
-vrqckqrrtxrsjltdplbmnine9six
-jfk9zbdr2gpsfdqbsrz
-957jrpkcgkcthreetwoblpgkx
-894threenineone2
-4ftsxhkkone3
-m9fourztzfvhqstwojx3four
-fiveninevm8
-prddhzmhzmeightsixthreeqpzjbdnmgc9five
-tftvxbtnine1twofivelkbfsbndrq2
-6seven2oneninehlstxr8
-6qkzfrzqsjnb49hftltrntl
-three7sixtpmpninefivethree
-five19zgnqjbshbtlhvc7sevenqdmqdsnknine
-fiveone1threejjmcfzsxtbtvg
-5mkmskszcn9
-fouronefour2bqcs3onetwo
-8three75sevenbbsbxjscvseven6mhpx
-lhdhnqqj6btjglcnpxxgzc
-gvlbmvldpsl2smgdqnh
-oneseveneightr6onecseven3
-nxrcgsevenlqf3
-r81fourbnskcrnn1twobcfpvqqtdd
-onexdx935ninecjtnsxxq
-15twoftmcckrhgg2
-fivemmjldhtbfivellfblbx89fourzcxxjthree
-7mhxhvghc89
-onendjhfxlzvzgrchf495onenksffh3
-two36lpgrkzr6rtmhqcngn
-9hntjqfrrjmnv7
-zdgrvhz8
-6nineeightvzjnnxjdmxonegtrsqrqnd27four
-sxcxccnn1ninejqmtqc9
-3vljzxsgfmfeightqlrgcktdf
-1four5fivehpbsspt8
-seven23
-ninek9
-onefkzkcljxp1sixthree5ninelt
-6mczeightrfshqxqxts3
-52569four2lnqbzxjbjz
-6pmcfgfk179fbfbvr
-pmbdtdsnxbmgknqgjj4ninefiverxxmtdgheighttp
-2fourckrgbs76fiveeightgjknht
-4lzlfvn8zp
-zjzjhv9
-threehjlnrg71sevenfiveeighteightsix
-szlbnkssc6jxhmhskeightthree5threemnfpvrj
-72seven7vgdfgqfxl
-kxnglmlneightzhqqhmdz7
-eightseven3nine9
-49ninesix
-qfxcgxmznpeightnnqone7nsmsxjsqh3four7
-29seven1ntxmjqgfn8ptpjsp7eight
-seven8tnlvtdpnjzeight3eight1vtplvnbpl
-j5four
-sixntfvskqqrv9one
-oneqnqzfbtjnb81szdbeightcscone
-four88869pxlszclzfq
-mvpkbvfivejjfrxmzxl21
-qznnjltonejfjlslh9
-nine9sfourkbcdzqdlmmveightgbxsgtjdrbsfthkbmsr
-four9cfpxmdg
-l9
-4mzsstnbltnine
-6rclj
-eightnzhfqmblpdfcffkfive9
-6ninep
-onekpxthg6vr21jghlcxhnvkhbzdjkcfour
-2crhnmq
-mgtwonefive9drkflmcfmkmsvzb1eightoneseven
-31two
-twos1hvzhnn
-rjjldxlp63five1threetwo
-ninejkhbqfkxccdnc4ftnzbdfdjxbjgqjfivexglgtvvdmn
-fourzhzh3four
-eight8four5two5seventzqlckfive
-one113tworzqnqsrrjnxbpprsglnine
-6chcqbpl
-8threemxc7
-7nbssevenvxb33pxstzqfhdrtxqs
-8three276tlrkszgneight
-dccvsl93sixfour92
-95seven9ninevhxcthree
-onehbdrrpxkjbdk6
-fivekkk3ninespgtqsix
-sixfive52eight
-fourone5nine
-5xvdnfxk1gtvmzbv7jkxxvjmjg7
-85nmvbdrqrb2ninefivefourone
-1jqgkhsix7seven9847
-2sevenone8five6twosnfdkcone
-fourrcfivekpsxkhrtfive4fourxqhtmrlgj
-tqtgd2388
-jbrfsl6nineq
-two8lsxfzdfnpthreesix3
-2czrtdlcffivethreeonelsix2
-vhdnp37
-sqkffnrcsnlkmxczzhvr419kzh5six
-24115twoone
-vlpjbq9vngpkhlpbfjnmztststwo
-eight499four6
-five7neightqntdsjskz126msrcns
-one79khfctv
-1fourthreeonepsnr5four
-1fourseven2b
-sixtsbrxkbpg9b
-dvnsccrktj9five6onepd
-rmqmz4fiveninejlxlgx
-brbeightwo6cxnblxgskmxxxtwo
-7fiveckskgnzgfourfivenxxkfxpzgcqcdfl58
-564
-one257six5vlkrcvmgsn88
-pbvzppchp6twonkkpvghseveneightsix
-tlv8
-eight59jj1cfnr4fzczfrvjgbn
-hbh8knnine3sgbnsjldfoursevent
-xjjvsix8eight8rqjkhdmnncbfivetwo
-dtgbxlxsqcftld4
-3fournthreefivennxgmgvlszseven9
-hbczcqkvnnzqzpkskccnnmpc8nzhqlhkhcbrpdhnm
-seven3mnljmjj4twoeighttwo6
-nineninetlnzc4
-jxp9one
-6htwo47two
-8lqdlvc5bldshtkx8six
-eight35
-ninethreecfiveone48six
-eight9twozmqgvblljf4seven3threesix
-ttmhdfzcvq8one28eighttwotwodmlpbkz
-5fivef1
-6bztnjckgszfivehdlzcnkbthree5sevennnine
-2fivesix
-rgjjrdjh16
-five6msbctcqqfgrone
-53973two6three
-six1zndpzk
-q2one4nine2eightltjzkmbfour
-8nineeightbdqkbnjcl4chznslmndjgtspvmphqxlsv3
-kfbnmpvjtjtflb7pkvgsvtone
-vvvrdthfpeightfive8rzs6
-kxph4nine3eightninefive
-three5five5
-98229six9
-one9four843pntrkfkbmddcjhtnine
-twotwodcsl556
-njrrkdpxrjtrcdjlxf6843sfdvzhz
-x4sfmrqpqcrqfour
-48nine
-fivefive8gsbk
-23twodvglscxgeight72
-kzfnd6
-zngq6zzronetlxdnthreerrgttsvs
-dhnqkmbfbphcftlxjdmx8qqbkvdcf8
-hkrzzhfivesixsixgzp629
-4khsfourt79eight
-twonine151
-ninegghnnnseven65eight
-qx62sx
-8seven3vktq
-onefive8eight
-ns6lspmgksccptwoeighteight
-klknjcvspk6
-vvpfptdqf1qgpgmbcx2128six
-86mgx4dhfnqlxonezgseven
-qhjzqrvhfdtdxlqsz6ltqnmvrxxtwo9
-four6p697
-7fjkdtthxheight7one
-1ltsevenpslmhldrp8dtbzqcjdvg
-8veightthree7
-38sixseventwosixzxdbxxzqssevenqcrlvptbp
-sixtwo285eight3b
-pjpg7jqfpkqthvsbdzrqsnhk4jbfv
-8sixsevensixtszklsnbmvtgmtbbkkjddmnmmgmbdh
-8sevendsxone7ninegcbqdcdqbnineeight
-onethxztbg2nbxsxxnfjhhfclfour
-4eight84
-fivethreetvfvkpxvdbqsvvdmrj9five
-1onejrb2five
-sevensevenqxjmb72qvxxjvxb
-xtwone3jslsgbchxm
-17hbdg4gqgkdnine2
-hgnmpvs9dkjnzgbvgvthkvtdonepjslplmqjf
-threesix3qxjf7tm
-66ninetm5tdlcnjnchr
-sbnrpczfqp6
-eightcnnjlpjjmrxvlklksrshpktpl1one
-1four9
-xttzsrkjjcvlgrm584qfjjhzlrhccj9
-qhclqvgzhvpgsnine7
-gtl4
-5vnp6
-8six1svdfvxncsvfspdc
-eightjbsfjtj8sevensixlblxbpxlsz
-8sevenseveneight
-pszx46
-one7sevenfour8onegs81
-95fiveone1onefive5tqvhv
-5nine7threehxjseven1
-rvpqpzfnhvcxtvbjnxp9
-one7txqvgmpqlnxceightnkvl
-seven9khkthfnckngnlllgk2679
-three6535onegfhkm9nq
-five3vpdxjkmzrhtwoninethreetwo4
-fiveninegqks5sixsrmlbnhxn
-fivexdtvlmpthree2brpjxqzgsjltkmnbltwo
-sevenfived6five
-seven95jrxgbnqvgnine
-4scx
-8oneonezspvqtwothreeoneone6
-six3fourtwozzbxboneprvjmjmscbkjb
-6sevenpdksvksix
-cfjp3eightfouroneseven
-1two9
-four9eightfpthree
-k4361gbbxthree
-lmmfz4four
-6fourtmeightfour
-five54three
-klbvmvzrxs91eight
-58rxgkzs58pcrbsq
-71onenineronesix
-18cxgmdfmone
-foursdfcxfx8
-hcmqmqzb5sevenfiveblqlnlx62mjbrpldjone
-two29two7lzjsvzcxdz9bsjtpbfplf
-oneone3teightlj
-8txbph34
-seven9one
-82hgflfrtz481four
-2qjfsqrkkbqkcgvhvzhnzbmfive73gkfxfhnqqbtx
-7fccpfrxstptwoeightonegnine5
-19vxbhzrhfkhtsgzzhfszxpcrnrqseven
-nnlfour9jfjnrnqbnb
-fqtfbkpmlz4seven1eightfour19
-x28qtnsmjpnc8
-sfdzkppzlhcxrjrvkssr375tdnlntcst7lzxdlcmprmgngqgzdsl
-vxoneight8nine935rtwotwofour
-zfldmtjzpzfbrrdgxslvn2xrj
-eightv8five5ppzsevenninebsbl
-four1sevenxc5
-721kqmfbhmgxvhvqninevlbdzfldgd
-39one
-threerhvrhlfiveonetwo2
-sixscfcpq6four1eightxdt
-four6fvfmvtjrfhkfrbfxcdjfqhmmfbf6
-sr31fouroneightr
-nine6twofive
-threelzjrjqnine4tlfpmvfq
-jjc63zvhlqlkdzltg35nine
-fourmpfpdxntv1szfcnrgvfpxt3one
-onetwo4tlzvftnvsfthreeeight4fmsnqt7
-xroneightzjvfvljsj59fourfour6szfjkdprbk
-nine3one
-7ninerphmbqphdsix
-9ptv2twofive
-6two4seven9ghjzqd
-391onenine21n
-4vgpsxreightdeightseven711
-kbvkrrv77grfdpthsix339
-fourmqcrccjcfive4foursixc9
-eightsix44seventhree
-4five8two9oneightkc
-mgsix3onegk9
-trftwodjjgqnstznxxshbdc6dpphrz9sevenone
-eight19two87twog
-5pq18ninethreeqqkfh7three
-twoonetpkmrcvvpk94
-threesix5two8two
-two1three3
-eight8four75
-kjcglpndtjqxpbf9eight6
-two447mcz5
-sbqfpgkbsixfivefiveone6qtmdnfive
-qxfsljsixtzpvphj69ccp
-2fivekrmpqts
-69eightnineoneeightwox
-211bvzlcdgbs
-ftcfgjzgnine2kcdvgrrnine5sevenfive3
-eightone42lsgpjeightthreenine
-f599phncmsixfourfsrg
-vgxdcrsc8one8rppqvzkckqgseven
-j2fmjmjxv6nine
-5mctgjjsm
-seven4mqtfnrsrnkghfourttbvhnnkjkmq
-2three8two67
-9five51ninesqnbfvqnmfcjhfhzlpkgjfzmsl2
-5nineninesixzk
-51gvkhcddt5onebkltbv
-942
-gfpq8jmkhvvzsdbzmfkqb4
-22vxpndczcgmxdsmzsthree
-vbdzf7gtqrqjgvjj9fivekqzggs
-4mzjjg6
-jgmncrn3five3
-gxghtqrjmvnjfourthree2fivevjqntqtzsix
-ntlnxtwofour9bh1
-five6three
-threeh9cgvxnfour4
-snbxpszrgh6mtnbmeightsixtknbnndqphbm6c
-4c
-1sixtwo2pcsjnbdrxtbjzrlssd57
-phhxnqdrjnsonefourthree73
-threekdlzcrvgc3pxd35seven2xjnsjxlczr
-5lcseven
-one27
-eight5k
-jmttwonetblnkmkjzfour8r8
-eightfive9twovfdpzrcvpppkzdpbhtwo
-1threedjsttltxcthreefivethree7zqlbfqdxqone
-5sixzgzfhmfqbp
-7kjfg
-zxoneight9nmlz3four4kfpmfive
-37four2zqr6
-six33fiveone7
-522bclzxzrkxdqvpl5nggsksbk6
-sevenninektxk3fcxzctsseven2
-twofpxbkzrgrtwo1twofrnnckz
-qcdbfcrtwo123ngrvvxhn
-kdpr1seven5npjblk
-eight4brhnsxl228pknpptlbflncddvgrh
-two3four
-bstwonenmlthreesixdsrbjjz5skpfsgmhb6zq4
-r6
-dnplx6ztonenine1cdnhfdx
-jjp749foureightcnrlnd9
-8fourtz42xhjqkpttdfgxvhbnbmnxn
-1gzcvvtwodqgnsevencjfour
-sevenvrnvzp3five
-ninexjnvzltwoninefour1
-sevenvthreetdbfgjseven4foureightsix
-5tmbjgdjqkffivevbkkpltt8fourseven
-3cjnkkl98five7five
-seven28pplnksndqtvlsrk7msjqtzonefive
-92two834
-mlfxonefourone48pgcqpgbbczgdr
-zfh12twonect
-sevenvdhbh7pztpvf6
-eightsix2oneone
-fvspcp3sevenfourninethreesixqvhjdjqxseven
-8fives1seven
-3threesix5fivexvbpnrchdcxgprxzths
-7fdt
-nine11rkpnktrsffqgdeightninefmtr5
-xvl4threeoneights
-one794
-rjqxttlmkxljdfrrfkgzloneoneone8four
-19xmcfsbskjrzpsevenone6
-nine42fvrtltg4khjs67jfzvp
-rxsxmbffpfive8ktrpczdn9
-fvzcdbfmklcfpxbgqkzxrhmb471pjgvs
-fiveeightnzxxqsphlqfnlffxzmtwo2tffkkv
-lkrjqsixqs5trpqbnb
-1bkpxfnrsixfour
-nine21kgtqcvvdmdqt
-three1plnrboneoneccczrnjsl7kj
-9dc
-htxcgnszrfive336szhb
-fivethree96vplbdqjtwo8sgrlljhtqsix
-sevenptlvbltgcsxc62
-vvtdhxqcmqrz91h59rnpscdjdltwo
-threetwo3gq7gjz
-7fbeight
-5ninethreeninejcvz7fcqxbn5
-crpbppclxsixtwoqdkflfdksq3
-tnbnqxklgd17onedxsevencnmbsmr
-4qzxtl46sevennhdjr
-honenine1
-1nine934
-xhtkzvnhsixqcxkdvmzhvnine891kzsxmzsix
-ktscvdksstwo26kgjzxtlbrpxbjr
-vfjkncjdtn2sixbtqqdhqfdnine
-4kvzrgninethree139eight
-eight6433bqvvcpljb5sixfive
-3seventwo8ngvqczkjrp7
-rtkqmptnnsgdrhxvmfvblshpqthree7zqgx
-bltgfkkvnctqkc226qcjxcfxb68
-9ronetwosix8vbnhgxxskdbc
-4sevenfktbgnxbvcmdrbhqrpgmsm7seveneight
-htp3pmpp897twossgtffdvzz
-gdceightwoseven4
-sixcznfbvhseven1four
-32twovthreelhpqvszgl
-two1threeninesix84five4
-fourpgskmztd9ztsz7jxjmmdqqx
-twohrbnhtrv3eight
-6one9eight7bzrxvxfvnrrrznncdhj7rtdvb
-4fhgjkkcjv
-xxphjxdfsqjj49zhpxhb
-gmmnine9
-hzn8six48one8vsmxc
-one7ninekhlzhdplnbnine
-eightfoursnrdnldssh41ggf64rjlshkoneightfq
-nine55one6
-mbhsqvlfhv8zsxz6seven1
-cjmvqktrkq18jdljgrg2
-9fivethree935
-ninehfhkzzhlkd8ninenjg
-5six1three1
-nine3tdkgnine2three9
-92mkgbdhsdgvqrc
-xchjtjbz8
-heightwomgjd6fxzpnl5
-jkprh4lqxqhglqjhppcxqnine72vfzkqnine
-nine21czjslbsix16threeeight
-five9tgbtsft7ggnfktl35threechxpcx
-qgcnmbg89threevhbpmnnfcgeightnine
-2jdqlgfour3
-ntnsscfsfive175tjfqnflfdd
-twotz1fourfour7blgzpqtnpc
-4fivehsnsstkp3
-4bk
-pmvnbqh9
-nine4qnt
-nine8eightlqt3
-onepccffive8seven
-sdkqkbshzb3nfour
-8eight4kx476four
-hl5threeqhdjcqlqbrvsq
-skqzcdqcfoursix767zt
-txrvszgqvnpx4sevenlfvvvlhshxhk
-seven8eightseven9rcdjfourseven
-5eight5ninetpjpsptwo
-nine38ninetwotwoseveneightwogpn
-7sixone2grgfour
-szfmk2five36
-eightnbcthreefivedmhfmstslfz2stzck2
-xffvthreethreeseven1kzcptthree
-pskfthreepk17gz
-four7rlk1eight
-9xqjdvfzbvfour2dxlhbspzppf896
-lstpxqdlmptvrvf9gvdqkfsjcvqnpnsix
-eightsevenfive6sixphjcrdtnlddfcbrgonetwo
-4rshkxgsbvgphlrxkxgbpjhqdgjzjlonepscqdhk
-mzclsv373sixlb
-snqmxmghbhpvzzff4threenmfkps
-7fivebqffc
-2mdvq4m
-ztlp6seven
-onesixninesix1three2fivetwonengp
-jqplcrrtgshzfrdcgvrxst383three
-68twoseven
-2eighteightpzzrlhpbmfivefour
-nxqjlh3
-hxgf6
-786cfcrl
-8seven7
-2xmnbrcvbbvsevenfour
-eight9nine4gjrrq6two
-3ninethree
-mgmgbfbptqdh79ltwo
-onevk8kfive8sixone2
-79mngvbhpkh1one
-14fivetzmtgcqpzjpzhjxfvfmbnljxeightzlbktsmsln
-744fivezxxgtvd9eight
-tccmpsggmhv2jljznkpndntqrninenfzdvzkbrg
-nineeightone7threejjgzskd8fiveftxr
-vvtwonetwo2nineonedvhr6
-8p47qcspdvhgnfeight8twoeight
-twoldpdsfivehrpzthreeone1jzf
-vnine7four84mjphfztmjt
-58qksl
-4threesixeight9two
-2sevenmfnbfbvxrf
-22sixfmcpqlr
-45eightl8flklsqkl
-fbfgcblg7jtjhfrsnkfour4vx1
-5tgvdhfive6cnkhnjldhqpj
-kmbjhbfpbdmczlbg2oneightd
-hconeightthree4zgcone
-6kvfj5
-three6lfnxx
-9pvhzpfqh5vlgj3nnkggxqbcxthreethree
-seveneightdrbthree5sixcgkxvpdz
-7seventwokcsixdgqfbvrqcp
-threefive2sixsix
-bxlckjtznjfspcsixsbg4sixzxnlrhhdgp
-xnl7
-2drd7499sixthree4
-tcxdsix94sevenkcmjzb
-seven19qvsdhlpxzgpsqffour
-twobb24onetwo4
-fivefour4three7
-sevenonethreesixdq1
-rvfjxqd7
-tk3
-66threefour
-htwonekfgczxgkzlhxtzpbfdeight8four
-four4eightfourgtcqgpvl83fqvtwoneqk
-rbsfmdkdcjgjnvn6l21
-m4foursix1
-4fqddqlgqjzone
-3rnxq64onefive
-5sixtnthdqksseven5
-ksdlqrxdgp8five
-tsix62sixone2sixoneightl
-nzplhfour3
-ninethreeninehkqkvkmsixznxmb3six
-41six8
-7eight187nine
-sixckpmqzplxnineone4znlrfssc
-1cxjrhptthree
-1sqmtfgjqb1
-7zvzhfkeight
-69rxlcvmftnr8five1
-8bone
-47thhzfpkeight
-threesixksevensevenfssevennine3
-5fivethcktzjfivehbkhgpstwoqgbdjknrfcpqvvhnine
-3n
-eight4xftrfsbtqd3sgmgvtrhrltz3
-pdstthreeeightx297two
-six6ghftkxqmvtfhtnjcvhhnine7
-51nine5
-seven81tfqzkthfmt
-3bndtfourtljqdjhgqjhldhf3three
-3dpqsgqscqrppfivesevenmgvm
-ns2lkqsixglmsvdrd
-9sixfivetrhdrsgfqz6onefive27
-nine67xzdzrgsevenonehlfkstmshgzpgbk
-bzvvqpxnznkzsmr5
-plcxrv7nine57bpnkxltnrlvlnslvd3
-onextfttfivebxplndseven7
-98fourninefhvlrpqnsixsix
-9onesevenfour
-vmnoneightsj63fiverkrrgzfdjsngdmcfprkkvzqnlkg6four
-threefourtwoonejseven9xvcseven
-gljjpmskv5sevensix7three
-nqlxzkzknphxxvzrqrlstxjkdtlnx8
-52three
-9onefourgfksix24
-nrcnqtqx66fbgfg22
-qkljqjpp6qnrcvscjglpphxtvqrdznqtwo8fjlzmzc
-twoczkmvmr5sevenhvonedqvvln
-8tvphxpfmhzpfour36seven
-eight39gqfdmfhgg
-xkcsxsxkn6
-frxlxtjbkgsbgtfzdlrql329zfxbhghqx
-nine75eight
-1vfdtvhrthreevssjcjkrv
-seventgthfskdc7xrpghjrhn2
-fivetmxkjczpjninefive5pss3onetwonetmq
-4klstxhhpjzfkvonefourthreezkchsjone
-rxljd9four94six4
-5fgnnfjl2three
-ngfq4rsevenvngjtrjvvkcnvrs
-eighttqc7frmxtfoureightonetwo
-threegtzbdttnd6tnlsevenlfqbnvlpg8r
-dsjfrslnxb8fournineshzqfourmxjvhone
-27bxtdmsshfourtwo86
-threesevensix5vc
-44seven
-two1eighttwosevensix8
-hbnlzhbfvztwo4kjfzktwotwo2sqgvdbrjbg
-two6sv6
-gdgdsbtwo98vhdlf3eightwohgv
-tztgspssevendqpxvtsftgclhct4mktj4
-xbnzpglcdgrrcttvjxx4
-dkzeightwotwo1gpfn3njqzkxhhsc
-1ggsixfive
-2eighthlhthdn
-hczrldvxffninemzbhsv2two5eightwozfh
-nksxdqvpgq6jhzl
-tkvjsxzgrp7four4thlzxone33
-bpncmqxsprpkbpznfivebvhd7lpqspfhsgq1
-threeone174fourkbkqvtjlfn
-fivejtwofive96fiveclc7
-twotwothree22twosevengbqqstsxhqgczp
-qgtwonefive3three
-nineeight6nine1three1eight
-oneeightndv5
-98eightoneonermnddmgqsseven7
-4l
-6r8xlfznmgffgmrnfsix13rnsv
-82vvnmv1seven
-1nqrqgqjrjqgpxxfrqm
-ckdmgxspjfoureightnblkpcfr1
-2threesixqczmrxhdrsevenfour
-fkpr1seven65nine
-1ninerr6
-5lkr
-nft4sevensixslqdfpdlskeight
-eightfiveone7rdptzjjmmcqone
-6qghmzchmtjktjkbseightczbjmsvmrk88cgctthsbz
-twozzgrzbgkrkmklkmvfive86five
-4six21xjxqjmqjdlone55three
-five42fiveone
-eighthc747sevenone
-four333six6
-bczkrqdh8one4zqcxrkk
-3cxhkclpfiveqgsk
-6eightjnghnlzbhbvnonetwobjfrpnfqsix
-4ninecjzlk7nine
-85four
-mkfcnntfb2ltjnjbslfgvztxgpfcnine6four
-zqzllvsdvtwonine4onenineeight
-11sixpjjvxbsbjfive
-35nhjgtpflthreejqbgvgkdcddpfzfpt
-9threebcv4sqtrdrgnb
-x4bptzpfgsevenfivenine
-1oneqgfpcdntgonectjgnrdxjptfd
-zrblfddvtgbqtkvddhqzpkk71ldtsixmsjjkr
-three5mjt
-one37ninenineonexjtl2xqhhnmtd
-552oneonehzscghzpqvtndvlpj
-two8nineeightkfrckndvzhcbdhcdg9
-hgdjgone22dsdnjjsmjtrxhxssx
-snh6bntph
-foureight5nine2
-1kjb98
-ninetwo2eighttwo
-hpcnone5cjvtpqxhbh596
-3gbtdlblgp
-4ninemzqkldqrcnmcvjjxtzgbrp
-fivetwo6
-4tlbxgnjgc522zlldmfbmh
-fkpsxsmchn3ninesevenseventfxxjdnqxtwo
-sevennine3sixsix
-84s
-seven5seven6sixmdfrtwo
-one269
-493nine
-29onecklhjcxvpbzfour3
-35vksqxhbnxk
-sixfdqttpskdnbksqxg9three6bqqpngfhz
\ No newline at end of file
+15244 50562
+81245 49036
+92897 21393
+63271 60643
+49672 33212
+92232 76048
+53492 58600
+92941 61161
+58509 86979
+28174 73806
+70084 21118
+24410 68037
+84499 63407
+66548 35177
+65580 63759
+87805 49036
+83099 19486
+18390 12243
+26848 76511
+18807 86451
+72147 24247
+79927 19614
+11257 32484
+58028 46123
+75951 64756
+50715 78058
+95795 74458
+32111 39063
+46546 38789
+72734 39167
+98182 93444
+62716 53597
+89475 25175
+39176 55091
+40923 88724
+62512 51774
+86618 93444
+52758 47249
+13428 93526
+21791 94210
+93809 21118
+17938 14392
+60129 64756
+70192 49036
+12155 79882
+40333 53270
+23806 88706
+46661 85277
+88336 57672
+87513 36284
+41580 97455
+39488 79018
+53900 78058
+63780 98092
+18471 20090
+77849 73059
+93111 78100
+52950 22317
+81379 35177
+91351 19771
+14227 53597
+51335 39645
+98624 98092
+21994 54585
+60107 60337
+63161 47739
+42618 96226
+94665 84252
+79153 34048
+78730 80552
+75722 70308
+68857 47918
+88672 98092
+59881 27613
+85772 32111
+30276 98092
+14586 84246
+67593 49036
+72269 13771
+25858 56490
+33541 15922
+16446 54557
+47844 62540
+78173 49722
+50682 88706
+75282 74146
+62042 83481
+18797 76066
+24212 35217
+55048 57348
+91631 84573
+93807 97649
+88119 98092
+19366 77445
+76255 50452
+98264 93444
+64583 34766
+96480 54682
+67367 64709
+12629 53597
+55622 98092
+48715 75722
+38717 98460
+88940 42098
+57583 21667
+13512 32111
+89814 60737
+64756 93444
+16224 53597
+10346 46433
+73809 55198
+80544 20677
+11856 76359
+59087 21118
+72673 20090
+49449 45231
+20810 98650
+28257 76359
+72761 88706
+87721 84970
+33910 17682
+71512 76359
+51593 34928
+52645 73953
+65785 21745
+29202 39203
+84191 30175
+90538 28190
+36816 33095
+74544 38282
+97584 54184
+58739 93390
+75540 64756
+68067 64756
+52407 25292
+15044 66413
+20591 93444
+25885 37703
+26653 32104
+42596 88313
+23950 64756
+52254 88313
+70806 44075
+42195 20677
+36372 36394
+47944 93575
+38297 21118
+19998 76359
+88241 78058
+73698 44859
+92258 29814
+98092 78058
+28030 88927
+53514 59214
+77999 30893
+66582 71673
+79423 10257
+46938 86494
+42971 21118
+11339 13583
+71889 43763
+25429 62716
+81687 15843
+35428 14294
+21885 88053
+98374 37224
+81362 34784
+41486 20677
+20831 98092
+26838 45057
+89226 64709
+11351 66528
+20955 49036
+34764 42441
+43198 21118
+54892 21799
+64587 51818
+62645 88706
+39255 32111
+65266 40330
+20283 30516
+56574 21118
+12809 35177
+23338 15079
+58721 76273
+68541 33747
+46673 34048
+59073 25694
+80216 62716
+81975 28478
+44297 45993
+34344 98092
+63009 28253
+43350 24492
+95286 35177
+33964 82330
+87854 76359
+23407 81183
+95569 74797
+45440 77445
+80991 19568
+30893 61274
+26305 69824
+60205 68773
+12663 76359
+43419 89650
+39569 77945
+73240 17501
+84277 39378
+94177 89662
+95690 94786
+92242 91731
+73905 51412
+35977 13583
+27680 20677
+79830 79733
+84278 52001
+85984 62716
+39122 37115
+78800 35929
+33253 76179
+83659 33516
+91248 15310
+89362 39762
+15884 24386
+98545 18731
+15249 34048
+47287 77445
+68392 27779
+62854 73116
+43214 39063
+65154 73341
+71451 89287
+85490 10108
+10175 60337
+79597 54843
+15040 15044
+96993 21393
+36177 66813
+44659 38606
+10713 49127
+95267 84970
+38841 75464
+33233 71632
+73302 93444
+40471 21118
+26947 80385
+39627 51365
+47637 30893
+53778 29214
+79782 45138
+10038 45411
+86184 64709
+69322 93444
+70602 88706
+85109 49036
+58501 31677
+97931 25694
+24913 88313
+19478 93437
+51774 23744
+45194 46530
+78436 13583
+75773 53334
+24862 77445
+98325 49788
+68242 44288
+21878 78058
+22527 15044
+53407 98092
+33702 78511
+76946 86061
+34943 94066
+66974 23236
+87132 37827
+28641 88706
+78825 49515
+14741 98092
+56627 38087
+47539 85498
+40528 88706
+71885 11213
+83869 60337
+13761 97944
+75267 94765
+76391 40872
+84919 45561
+82510 26839
+42950 66528
+53597 88930
+51068 43621
+41152 77639
+82758 52077
+38873 70358
+88084 36028
+96405 64127
+24799 34048
+77846 98859
+20374 69465
+63292 73846
+11172 84410
+23525 74835
+94244 21118
+32196 95922
+28936 38955
+27350 25044
+20053 63490
+62187 53533
+15008 20677
+44778 75218
+34221 98092
+39018 98053
+23017 49363
+87337 21579
+72930 17695
+93295 39063
+66854 16885
+34104 34048
+60507 13583
+10728 15374
+24778 14446
+71424 89693
+40413 18036
+78058 75722
+37560 88706
+13236 77445
+87173 93444
+73989 37520
+14985 45194
+24184 81289
+28240 76359
+12680 21118
+97498 36199
+93727 75722
+17373 64709
+15927 39063
+30358 20677
+65650 35177
+46846 81415
+53260 86686
+32998 80757
+61488 21055
+95554 23175
+19043 88313
+99442 65217
+35322 56161
+58264 30893
+48887 76048
+96519 97502
+88445 49036
+22815 21393
+26997 56009
+45084 25370
+82066 63417
+88706 13583
+37524 92452
+67340 90779
+37641 60337
+84745 45323
+11631 83982
+19247 76359
+92635 34048
+36981 35177
+31598 74065
+54121 28812
+76881 60337
+99584 27133
+55312 55677
+83419 35177
+13942 23226
+89059 79979
+45943 14892
+49359 83296
+68331 84970
+36265 20090
+46411 98346
+25016 74405
+61228 86987
+47787 64766
+61125 43591
+23793 91663
+20371 49202
+40797 98092
+45793 88706
+68119 25069
+93194 73910
+29041 68173
+40414 90131
+35827 54613
+95241 34755
+34804 49863
+19037 54929
+15853 56399
+28746 57681
+33009 13250
+37386 50787
+89907 88313
+65824 37078
+29642 18922
+25336 60337
+77952 46523
+44241 87880
+25674 39063
+21393 48408
+58355 99461
+69496 39332
+27282 98092
+69938 71743
+83723 88313
+88439 45323
+46485 88255
+39718 23226
+23065 93444
+27197 78058
+72503 76359
+20982 64709
+60535 63346
+38653 13583
+77768 52721
+11298 49544
+42013 66528
+18141 45194
+81075 96111
+39115 37630
+18584 71632
+73719 94863
+85615 69932
+16171 24776
+78057 89054
+97570 12724
+51603 32111
+62411 76116
+72300 95646
+34238 21393
+38052 45323
+29020 84647
+41893 45194
+39513 48753
+11610 14667
+95685 21393
+95779 20677
+15324 63196
+76334 94163
+68091 45194
+38482 70862
+15369 88313
+89175 64021
+60543 34048
+56673 50331
+49457 34048
+71887 13583
+88321 21118
+71071 23226
+67178 49036
+91821 21118
+20076 10076
+87303 84970
+57511 12268
+43501 30007
+91975 66528
+15448 72284
+69907 43654
+25571 11414
+52353 15044
+69803 78058
+40474 52042
+26253 70310
+39802 97896
+83210 97215
+37474 88313
+31093 97572
+42301 23226
+19726 13583
+94312 49036
+58482 25755
+98687 38510
+19047 98092
+26950 78058
+71158 28096
+96412 84970
+35920 30893
+44526 99812
+42755 51182
+24379 30893
+70947 60543
+54882 71632
+51233 33596
+20462 79975
+53935 84134
+74070 62410
+54102 22085
+13298 20677
+26602 92907
+42648 49332
+22183 93444
+30822 98092
+86804 77932
+10838 88167
+24523 65219
+41568 62650
+80060 79089
+21439 70889
+66602 41342
+19704 34111
+67226 95394
+65479 92893
+37260 49036
+31997 30937
+97707 31068
+13170 78674
+26045 35177
+24059 35177
+32491 33653
+75897 71632
+10612 84970
+11001 88313
+35498 68825
+96341 10573
+23226 39063
+69398 67618
+17730 60337
+86503 45099
+72504 98743
+82150 90026
+68294 54832
+80912 34048
+96999 49036
+97530 20090
+35480 49036
+20998 30893
+70873 60337
+91802 62572
+54034 15709
+32710 84970
+58337 58861
+59198 59125
+61993 93321
+79647 21393
+26291 54259
+74198 76048
+57851 49450
+75838 37799
+60309 13382
+86676 72545
+29406 23958
+76718 75217
+33197 67338
+65924 20094
+88612 52547
+75554 14101
+36525 94200
+70266 20090
+36358 87645
+36508 93007
+28589 91657
+48088 77015
+22798 11552
+56726 20677
+80189 32314
+21360 96490
+90866 88706
+39003 18500
+27798 10095
+66032 15135
+11051 34048
+94174 88313
+15442 61388
+10452 20090
+11929 13583
+34739 41426
+64828 49036
+73891 39034
+52449 99470
+71065 77445
+89965 71632
+60544 34717
+21118 78369
+49478 35177
+26213 93444
+49857 23226
+74220 32262
+72833 27081
+38455 99610
+54342 61755
+43456 26783
+24034 76570
+32201 17321
+23799 39823
+72637 37646
+10964 34048
+42818 20090
+21006 39063
+39063 82696
+30375 66442
+15052 93444
+87906 50391
+17028 10100
+81936 32511
+12837 64709
+16027 78058
+49036 60337
+99212 39063
+28629 21118
+65863 84395
+20677 39063
+92405 60182
+55155 39063
+39167 69664
+74584 30893
+69147 41166
+75535 23751
+41314 88960
+47916 76048
+95846 15467
+14883 29065
+85080 93428
+52335 68547
+98645 93444
+39194 96760
+73927 23226
+90575 88313
+46134 11217
+85511 31236
+10109 37785
+20240 30893
+26094 56917
+35316 34048
+73503 25694
+89783 93444
+76048 84368
+63277 64756
+70675 53597
+44803 20677
+47915 20090
+12885 20090
+96783 88706
+55441 39063
+28482 98092
+91088 20088
+56209 49036
+73427 54203
+84253 46441
+45378 88313
+61961 65758
+68877 21118
+99259 53597
+52459 33058
+52656 56240
+95881 45231
+77445 13060
+91203 71632
+80736 20127
+33376 22802
+35538 34048
+98323 92633
+51634 45231
+55669 87627
+21536 17362
+32629 77445
+49199 71632
+57371 20583
+23040 90921
+73189 76359
+18892 84970
+75932 53597
+35376 53731
+29756 88313
+80575 64370
+11795 42629
+72509 82819
+80073 66528
+39611 78343
+55678 77155
+74003 35177
+82981 87429
+44472 88313
+15879 43889
+92293 30401
+68169 72422
+46139 13583
+25753 71632
+29238 13583
+65772 94594
+72372 98661
+49282 29132
+59258 51774
+20268 19289
+68202 10161
+30853 12555
+79108 66252
+93219 49036
+97625 14093
+15662 78058
+74532 12621
+84970 66528
+43513 68633
+24015 37782
+61575 50110
+75452 32111
+95466 69622
+27039 13583
+72285 35711
+84251 33375
+29424 76359
+58618 70025
+14379 66528
+89386 88706
+93381 20090
+91398 98680
+42769 45231
+12169 87022
+25979 78058
+72635 41261
+17059 63554
+47259 79838
+76636 98092
+73546 95012
+91197 19703
+65589 88706
+73955 16375
+23737 62914
+57497 65544
+89971 53597
+65549 60337
+49793 76048
+47384 76610
+23011 71632
+50105 41881
+56427 43543
+30880 76048
+24879 88313
+68581 69278
+74682 15597
+43180 76048
+90603 49036
+52305 12532
+22850 81110
+83915 39167
+19676 43682
+18372 71954
+89452 88706
+59733 65480
+70454 82540
+60701 46004
+90655 83636
+70929 71632
+28216 29450
+96165 67274
+34322 77426
+31874 57584
+54166 90667
+99511 98508
+31060 92465
+55106 51095
+79552 22669
+27806 75575
+46797 33693
+64746 32111
+76861 10157
+76339 65246
+13583 91436
+14467 16938
+85582 35177
+13718 20378
+99759 66607
+59581 15550
+96543 22529
+86658 75460
+65202 88706
+38311 38185
+19721 38534
+20090 65369
+21044 60105
+45323 93444
+41853 88706
+48731 39841
+44220 71632
+49345 80849
+77455 96766
+64991 79807
+84833 99183
+15508 15491
+31649 95360
+47963 15187
+32556 10033
+98424 72571
+20214 45512
+92261 73300
+83550 30893
+40965 30434
+73994 76048
+55035 53597
+25828 60337
+75771 88313
+67673 77526
+44405 93052
+18454 90175
+88189 33126
+87628 49036
+71632 71504
+37621 85292
+23775 66528
+52816 35363
+30089 60337
+98618 96587
+44216 21118
+26104 88313
+42299 45510
+45953 35177
+88461 49036
+94707 98092
+44832 34048
+30018 97006
+10073 60126
+32801 21118
+93444 78058
+14724 75670
+88496 89181
+97226 64756
+44779 84970
+20417 20090
+74763 34048
+86926 21988
+82229 51396
+41522 77498
+97004 64462
+94063 53597
+33439 77445
+52901 86349
+95858 45194
+46763 37729
+99339 32386
+97353 39063
+30474 20090
+29221 48754
+54778 62716
+32771 39063
+20116 71632
+69722 87766
+51398 43440
+97793 76359
+56926 32111
+66003 75722
+11344 94388
+45264 39251
+94465 49036
+12978 38585
+17184 53348
+87705 34048
+32187 85695
+51481 78692
+54232 60337
+99572 51669
+29822 15075
+65918 82780
+66528 23226
+40810 85626
+71957 88313
+93701 88706
+10667 73326
+51857 77839
+13968 15900
+99521 15237
+43540 92443
+27624 12544
+65271 76048
+44186 14578
+33230 21393
+33874 35177
+54932 45194
+18315 53578
+69769 71632
+75322 51896
+20861 47764
+88546 23226
+29838 93444
+83883 52312
+67889 35177
+59762 39167
+30665 65756
+13966 93444
+38266 43913
+60711 39167
+42774 72205
+76359 37929
+65904 13043
+34048 77445
+38275 66528
+84943 34580
+50731 74327
+64612 53597
+14016 49346
+55402 66508
+93047 76359
+49251 20090
+75392 87115
+90871 76589
+13432 49036
+18501 19808
+73315 38104
+18380 78457
+56744 85328
+44147 13583
+98969 79480
+16683 63967
+83183 68296
+33184 80175
+36362 93444
+40671 53597
+65788 71632
+23573 75722
+50571 60337
+67765 76048
+73101 48453
+67112 35176
+46594 70172
+75172 17447
+45231 76197
+20392 53244
+35352 32191
+20609 45194
+78496 95165
+12271 85861
+89991 76048
+65923 30779
+71880 30893
+73845 19368
+25694 77445
+44679 71632
+95542 29625
+72865 48533
+43025 65302
+38909 78058
+38961 77445
+12553 66528
+66378 76359
+79514 46457
+96727 76359
+12664 91220
+22671 32111
+60272 21393
+54910 43373
+78968 52670
+31357 84820
+98176 98092
+43398 88955
+51128 13514
+97517 39212
+53814 40263
+56961 35177
+90552 31236
+13602 13583
+12187 44890
+47432 44401
+84078 64709
+77515 71632
+88313 70149
+69118 78954
+75221 27687
+64709 20090
+89680 59037
+31715 65294
+61413 21118
+75865 32111
+67755 31175
+52584 94277
+47546 95471
+91225 55015
+28913 58527
+65645 71632
+19183 39377
+47460 95947
+75848 23226
+56518 43259
+60240 48233
+31724 84970
+37699 76048
+18796 64805
+37497 45231
+42751 75722
+28509 34048
+90061 17966
+65385 83274
+72856 25904
+41016 21118
+86979 93485
+18571 88706
+37984 84970
+36879 21118
+72715 56620
+88099 34048
+61613 85581
+15090 77445
+35177 86160
+52551 58172
+60337 20677
+95870 77445
+51272 34048
+31236 15332
+77046 35697
\ No newline at end of file