adventofcode

git clone https://git.ce9e.org/adventofcode.git

commit
9e07ce9e21eed40a8a9ab2fb5e72997c6af3b022
parent
5ccb3268ba7900cd9fb4f1151fc494ce69fe232f
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-12-02 08:04
2023-12-01

Diffstat

A 2023/01/input.txt 1000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2023/01/solution.rs 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A 2023/01/test1.txt 4 ++++
A 2023/01/test2.txt 7 +++++++
A 2023/lib.rs 10 ++++++++++

5 files changed, 1081 insertions, 0 deletions


diff --git a/2023/01/input.txt b/2023/01/input.txt

@@ -0,0 +1,1000 @@
   -1     1 eightfivesssxxmgthreethreeone1sevenhnz
   -1     2 hzdlftdtfqfdbxgsix9onetwo13
   -1     3 29threelgxljfhrjr
   -1     4 pxvmbjprllmbfpzjxsvhc5
   -1     5 seven2jtgjltvzbcdnjtsfiveonebhkzld
   -1     6 twothreesixeight6eight6
   -1     7 nptjqqxoneninert1927
   -1     8 7beighttwob
   -1     9 6onesix
   -1    10 6fourfive97
   -1    11 jxcgpx5ninemsqqfmkpnj
   -1    12 jsdkqjbgx1gz5
   -1    13 9fourxxmdqmmlrbpqgznone8lvtxftmfpseven
   -1    14 qsdzrx6
   -1    15 khone9fivefive2
   -1    16 nine9eightseven
   -1    17 threefour3pzzxmrmvpn6sixmfckm
   -1    18 twoseventwohncgscdmbsdzh6zckqbvml
   -1    19 six5nine5jlhthreefive
   -1    20 7onesztpkqmjlfourhrrcf3threeone
   -1    21 83zgthreethreenine
   -1    22 ninevgvrhtsrrnbnxg2fourvlqkdqxxqcmfqbbmx3
   -1    23 mqphlgz8sghhvsevenpblfrmxvsixcqpsdjvs
   -1    24 fourlltktxt93brbmpml8
   -1    25 mqfkvscjj56
   -1    26 fivehhh8four17fbqxtksseven
   -1    27 5rbzgfournplgvtsixbqvmd
   -1    28 sevenflknr33qtwosixstmsblmrzczdqflxg
   -1    29 dblfhbt7sevenninesix2threethree
   -1    30 81fourtwo
   -1    31 three87tgz3
   -1    32 bkjnnzsjgmfive4vsvh
   -1    33 threeqkrsbzzjbmkjdmthree1ninethree7
   -1    34 5oneqdzzpj
   -1    35 5fourlfrp
   -1    36 ninefbfhptcqql1f5eightfncmrvkff
   -1    37 mlhxgnxxxrr3ninefnlcdlvseven
   -1    38 sixfiveone5
   -1    39 sevensixtwofivenine17vkshzpbkbhtssg
   -1    40 5seventvzqcjfzj4
   -1    41 6eightspklnbxqcdshsdhgq8eightninej
   -1    42 eight3fiveninefivemtxm9eightwot
   -1    43 lsxlqlnsevenpstsbbzpkhphrkjdd42fbxqdmc7six
   -1    44 fr2dllkdtqfh3hgvf
   -1    45 cqjeightwothree9hvrmtg
   -1    46 74cxeight
   -1    47 seven8fivescftvkmvxh66rkcfqfjf8
   -1    48 4twothree
   -1    49 six4onedhsevencngfntnsss8
   -1    50 8262sixthreepxvgpqf4two
   -1    51 8qtthree
   -1    52 three6gqfcml3zfxhfsvr
   -1    53 jltxcptthjsixmszdqt9xkbg89
   -1    54 zheightwotwo5threeqrgbr
   -1    55 1sevenpvgqtrtjfqtvklnt
   -1    56 1vspr99lvvn9mktnjv
   -1    57 lrj8lltb5three
   -1    58 ninevjmsfkqkns2
   -1    59 1fiveeightmh2
   -1    60 lck76
   -1    61 gjkmgqhnvgnine7
   -1    62 55jjzqxhtmmsevenseven2ffzqz3
   -1    63 3eightfive
   -1    64 eightthreedpxcbsjbfive3cjfm
   -1    65 eightpvhqkkxfdfhg6three
   -1    66 lsevennxnkgthree35jg7one
   -1    67 3eightzdkkqgjvbz926
   -1    68 nineninenine49five
   -1    69 lvgxbch8nnnlpbvtgpqqmmm
   -1    70 d2sevenjqbjbklssrrtr1eight
   -1    71 one4xxdbgfjzhdbmxqtfvbplmsxonekq2
   -1    72 eight4fourfive
   -1    73 threec2twothree8
   -1    74 ninefive7
   -1    75 1sevenmvdgzdtwoone
   -1    76 4mmbddbxnb
   -1    77 tvfjz5htfnlbzmb85thtsix
   -1    78 24567
   -1    79 zmkckdxpsixfivezhsxnqvcj3
   -1    80 nine15nine1three5
   -1    81 nineckmvzlctpk3nine3vsnpvkzsnx29
   -1    82 7nqthreetwo
   -1    83 dkdgtzxz8
   -1    84 sevenljjldccxhgxs6jbblhmtxkc3kqfnntgzbvcd
   -1    85 one99
   -1    86 twoxvns165gfclnxrthree
   -1    87 soneightninetwo161vhmf
   -1    88 four494
   -1    89 23xmxbxxrhgxthreebqjzx21one
   -1    90 two361
   -1    91 qlzchlkb1six6
   -1    92 sfmzztmtkd46sixpk6sevenjft
   -1    93 x1vzgnpdjtwonert
   -1    94 575khkzl
   -1    95 txlpc39hlcmlnxmb9nineptdsvhdhbz
   -1    96 eighttwo5
   -1    97 76six4blfmlclrcj4one
   -1    98 fiveone4nssevenfiveninefvmv3
   -1    99 kpltvpmfljxfhx53seven
   -1   100 7five1vxdhnvrjs
   -1   101 fivefoursevenone4sevenninefive
   -1   102 sevenfnmvbleightsixsevenxgzhnrdjkj8two7
   -1   103 2twoone78seven
   -1   104 zbfczseven8jqqksl5
   -1   105 sevennine1cvr12pxfdninejqzmrklrpd
   -1   106 three22fourbnfdtfghmrone
   -1   107 kphxprbrsevenjp7
   -1   108 z973
   -1   109 t3sixtwonedmj
   -1   110 four6hqntpmsix5four
   -1   111 nl71
   -1   112 fourseven8sixqmjrbh3xmrmjvdkfourgvlnlq
   -1   113 dprxplthreezsnmqcfcz6fourninesevenbc
   -1   114 9threeseven1ninetmjgxqthhmfvkspznz
   -1   115 85eightsevenmnvmnvlvlqsixzrxnrflmnthree
   -1   116 4threeqpkztjv82four
   -1   117 onemrxrxfcgtwozmnglpsixgvprxd5khnmqbdf4
   -1   118 sixsixsixxcmtfh3
   -1   119 7zclrbhnpzlkkdlsgvk1sixxdvlfqp
   -1   120 5nineslhvxhn74
   -1   121 7eightninefivenine5qmknztrm
   -1   122 hnbsgslpvjzfourk3
   -1   123 1threemlxzdfjdtn5d
   -1   124 seveneight94frlpvqzrd
   -1   125 74tztnlxvr
   -1   126 xrsrhbjthreetgsix1fourbbrvkcdj
   -1   127 seveneightjxzjgtrtwof983four
   -1   128 voneightcqkcdvhxh4eight
   -1   129 36fzdqdnfvfoureight7six
   -1   130 szbrxngs8
   -1   131 five6fnrkr4
   -1   132 sixmf5twojhxgmphxrnxxknqsqqptc
   -1   133 1tmvhvfkhjsix
   -1   134 3sevenfqmnine
   -1   135 eight1sevenone
   -1   136 seventwo371bcct
   -1   137 62rcxzfivemshhfourxg
   -1   138 fnzhqklm3
   -1   139 sixkp13
   -1   140 1ksqxljtftwo
   -1   141 2ksjstft44fivenine6bgrnzxprvk
   -1   142 hpdjlcstgpqzmxrth25ninelxvrzd6
   -1   143 vzhhfczjs3two
   -1   144 three65sixfour19
   -1   145 3dmfxckkdrclzhvcsfkbl8five
   -1   146 rjscjrshbdhk1tclpsrbtgg8sixbjgtwo
   -1   147 7sevenseven
   -1   148 9qzbqxmqonefiveknrnzpxoneightrq
   -1   149 4btqghfcqx25fivetwo95oneightxf
   -1   150 8fivejvbvftzhcxlxhqfour
   -1   151 sevenfourzrxxft9twoninethree4
   -1   152 eight9k
   -1   153 39zzfckvfknjsggxdlthreenine
   -1   154 three7pcdnvb
   -1   155 sgrcmfour1tzmdrkp
   -1   156 eightqfkmrzpbxr19
   -1   157 q36six9
   -1   158 eightkhcrhkq7nine2pbfnjb
   -1   159 52cldhzmfoursevenxjptnbfivemdvkp
   -1   160 3rts
   -1   161 six8clzsndmqncvtbjtjzlzv8crm3
   -1   162 ffnqkrrrjfive2three17
   -1   163 two8nbmvvvrqxqnhhj
   -1   164 9hlgsngnm
   -1   165 117qncndfc2rjvlhrljfxljrzjdnine4
   -1   166 3gvx5
   -1   167 4eightsix9vqq9three
   -1   168 mgeightwo8zcvfghnlth7btq6brhseven
   -1   169 nineb5six9fiverhpgdkjvmgsrbone
   -1   170 sevenmmjsrhqvfour1rhvsvtgtkxxhklnqzp
   -1   171 fourrs33sfrtj
   -1   172 7threeeightninezhbvcnpmst28
   -1   173 bdffmszjmpqvz9five1eightthree
   -1   174 lbjfg9twozpmmbfxj7gpzpgh
   -1   175 26sevenzdrghllpnkbtvkrfpg
   -1   176 tcmgzjk2rv9lblsf
   -1   177 8five9six4seven
   -1   178 94two
   -1   179 8sevenbbqj2
   -1   180 three2vldmbjdfthree5
   -1   181 threethreetwo9six35
   -1   182 8j24fiveqcprqmnkcb
   -1   183 eight7bnghgcjxdpmcqgjks8
   -1   184 tbrrggrpzrjqxbgcs5
   -1   185 6eightfoureightthreenxfmdrthree2
   -1   186 9seventwoqndtmhrxvssixscsjkjd
   -1   187 3s6xztbkmmninegfnjz6seven5
   -1   188 5one21lkv
   -1   189 465six4nhx3
   -1   190 92cffdkftleight779
   -1   191 eightninefivesixhfkfz3
   -1   192 bgoneightkhgvqbfivefour1seven
   -1   193 rxbeight47eightthree7
   -1   194 fourqjftdzjr327twopsgdfgvjdlk
   -1   195 5fourfourfournzvrteightthreekkszfknj
   -1   196 six58jns7
   -1   197 cdmfngp9sixseven
   -1   198 twojkszvbeight2kzpxvmlmblgzphrpm
   -1   199 threesixthreeljeightseven4
   -1   200 seveneightfive4bnttggznlnn
   -1   201 tfz7jpmcdlvsjh6
   -1   202 31eighteight23gbgsevenznz
   -1   203 threetlzd3five4
   -1   204 34fournkzcvkkb8pjvxnh6
   -1   205 mkcdj3onefive5gone
   -1   206 sevengtgdpdh4
   -1   207 q7377five9four
   -1   208 eightj481
   -1   209 48sevensixfoureightwodx
   -1   210 sixkqtzzreight6seven8xtksj6rdllzmnb
   -1   211 p6jsxflvtpseven9
   -1   212 9two8
   -1   213 six7zdjgrdvgdtgksncbrxdmhzkxjtmv452
   -1   214 83eightljzgv
   -1   215 697five
   -1   216 2three6five9
   -1   217 53fourthreekvpjqxhjzdtwosevengsnfd7
   -1   218 nine7hnhczxpqmxpvnrtrtl2threeseven4five
   -1   219 7knlqbhnineeight767
   -1   220 eightj7threess3five8
   -1   221 4five4three
   -1   222 fourjnkspcjv2threeone1ntmbblkcxgvtvjk
   -1   223 cfbpfkxfeighttwo3seven
   -1   224 7qcnb
   -1   225 3dppxtmnqggxbrdg5twoeightnine
   -1   226 ninenine49foureight
   -1   227 fivesixfive7
   -1   228 7eightsixlmj
   -1   229 five2sbxf15
   -1   230 onetmkkxv363knine
   -1   231 2spgn
   -1   232 hhtqxplnxconeninenine5sixxqgrjccpb3four
   -1   233 1gstcjk3
   -1   234 eighttwosevennine4gdxqbslpsdm9
   -1   235 29onetfhcfive
   -1   236 sevenvthreecclcfjtmdplbvhxhb7
   -1   237 1sq2
   -1   238 qceighttwo8qcdeightnine
   -1   239 xhbctnhk5lnxrmldqqndvcxvvshsrvrvpcczc
   -1   240 sevenzjmllngfnjbrkgc6
   -1   241 twojtf6
   -1   242 ccqrlcgeightsevensix25
   -1   243 eightzkfbst2threeseven
   -1   244 sevenqdcnpcqbfoneflpzjkpfkmnine8
   -1   245 6gkvmlrheight
   -1   246 bndmmzfiveonenttqzftp3fivemchdfr
   -1   247 99jcnkfks9vxtqltmxsvkjlnrfive4
   -1   248 c51seven2
   -1   249 eight8777one
   -1   250 4qpgjthreelrjrzdmjsrrchkheightcngp1
   -1   251 jztwo3four54tngzbftvhtwojbznxhbdb
   -1   252 five8nine4sixxdhcnsghx7three
   -1   253 57oneninehpqpzvjbjb
   -1   254 fivenine7sixskmmzmzpml
   -1   255 tvoneight3xtbvffvthreezcbrgk85eightsixbdgqspftkr
   -1   256 zvqvpxjgbhd6npheight52nine
   -1   257 1dvs
   -1   258 6eightvhfnlv5nnljzsggseven2tsvsmqsxfm3
   -1   259 four7rckdrdf71
   -1   260 5bgfc4rnptrzx
   -1   261 two8onesix
   -1   262 m8one4foursix
   -1   263 8124six
   -1   264 97eighttwodqqmpdhxlvvtxxggfour
   -1   265 eightnine58zggqsjqszpxonevkmstfg
   -1   266 tpbrdr8fnxg8threektbjfltwo7
   -1   267 25fivefrl6tkhcjninezp
   -1   268 4seven8635
   -1   269 n9two6bxoneeight
   -1   270 vpkqpbg8g
   -1   271 7fjkhndseventwotwonine8four
   -1   272 zm58lgzzgtjfourlxnmbpthreetwo
   -1   273 5gtjxtqhpkqfour4
   -1   274 9fnone7sixsevenzqtndjeight
   -1   275 333threeninetwodxsqtvgvjz
   -1   276 threejpfkkgcthree2eightmhfgrnine
   -1   277 t7five9bzgxh5rcjxt
   -1   278 two6two4six911mszcfbmbkn
   -1   279 nh76sixninefourone7
   -1   280 2fhbglnppmsixdpvzf4four79six
   -1   281 two765slgxvmdht
   -1   282 nbfjvhfxx26clnvc
   -1   283 blhmsixceight9zchkdzgj1pkgjt
   -1   284 hjbdbkjjcgxxtfrhng37sevenxcvlnszxz
   -1   285 vdzzrpbc67sixdvmmjlcxf
   -1   286 ponefourfour4
   -1   287 sevennsxpzdpms1twofivethreednfive
   -1   288 4eightrncxsvpfftrhqmlnine
   -1   289 15qhpvsevensixoneightt
   -1   290 nine5onepphninefoursixqj
   -1   291 srbsfourone5
   -1   292 59threep5sixseven8
   -1   293 five32eight5eight
   -1   294 9threelxrzmnhfxqlsnpttdtn29vmcbflsrtj
   -1   295 21five9
   -1   296 jtwonentpp8tbzdgcbzjj35nine9jfnpgdpr6
   -1   297 7fiveeightoneightvs
   -1   298 sixfive53two8
   -1   299 16onesixfivexxzmthsconepjpl
   -1   300 7threetwofoureightnrfskqshmgqzsgkht7
   -1   301 3cprgg
   -1   302 sixmgxfsfcg2qmrcvj1
   -1   303 86dth59xkclmzsmpvv
   -1   304 pbtqqfsqgxfiveqqgtfxk61kone1
   -1   305 jcvmbflcqvd5seven4eighthtx
   -1   306 four1sixbcmbdhprf
   -1   307 bdgkrgkrtj7231ktxnthreesevenrhvdmdt
   -1   308 9cvsmgzprlk
   -1   309 zbkzpjh47htcplzrxfourfive
   -1   310 four88one4
   -1   311 47sixtdfkv
   -1   312 onesixg935nzsnxqspfqdrd
   -1   313 7hmfivefivesevenjdjpfive
   -1   314 72rqc76jmvr
   -1   315 1two4
   -1   316 six6four
   -1   317 nine4nineseven5bdkm
   -1   318 twojkdkrt1twosixtm3gjcdqnf
   -1   319 two22
   -1   320 xbfzg57159
   -1   321 rnfd7fpvbjgg8
   -1   322 glpgbksgc85fivethree3eightfour
   -1   323 threefive36tzrdfourpfsqzmh
   -1   324 seven1nineckpznbsevenone
   -1   325 fivegpgsvvtvoneseven3two
   -1   326 threesixqnxjgzjtdn9xgtkq
   -1   327 6fiversgtwo
   -1   328 43eight92
   -1   329 2onethree6
   -1   330 5three55bshbhfjfqclkvhdhmbdqjlqnnskkmxl
   -1   331 cthdhxxjvzdfnthreemghlvt4threeb
   -1   332 44mcvpleighteightbtbvqfvf8lnbstqrcbz
   -1   333 5542727zkslrpth
   -1   334 7sevenninetprljfmfdjdk1fourone
   -1   335 fourninesix91phfzbmzx
   -1   336 vjdjdbckqktwoctwo3three9seven2
   -1   337 bmeightwosevengxnkccpppmseven1fivethreethree
   -1   338 njxtrd7nl3xxjmrzrk82xqhllvt
   -1   339 4bndqkqlfheighttwoqrsqscggksff6ngnvfdzztqq
   -1   340 dqhxhdthree7one2one
   -1   341 8nine329tqr
   -1   342 mfmgpxmdnpthree8two1
   -1   343 frnbxnsfivetwo2
   -1   344 pbrljz8pbppkhfqtkmpgqrfivexpxvfmngzzhs
   -1   345 1kmrjljlpszkfhxxxkfour2eight
   -1   346 threeseven6twothreeqzbhqpqjlzqxpvb
   -1   347 6threeqmlpxbnqnfivefvdlsxlmsph
   -1   348 nqkvvpsix3cqdnfpxzgnnt
   -1   349 four8three3dthgjm44
   -1   350 2qhgmgbnsjlsqsmxq8eight7nzbjthreefour
   -1   351 8lhlpbpzszdckgcsfbone
   -1   352 4tqddpdjhg661onetqmqzsrnjqt
   -1   353 86eighteightonefzjrbgvtftmzvxrfmxmfp2
   -1   354 jqbfjxpn5sixeighteightthree33
   -1   355 ninetwo93zczhjtxfcz
   -1   356 stn83dthgbrpxdb
   -1   357 sixsrzsdrtkdqmrnmjz186four
   -1   358 43nine78rchxzd8
   -1   359 851lhp
   -1   360 5mqgcc
   -1   361 threejsix1kjrseven7one
   -1   362 gqtqktdzltwojlldjfxfqqzss61two
   -1   363 pj6llpzkvjxccrxkpfjdlmcqcknstdgkcgpvtc
   -1   364 2sixsix26ffpghkdz
   -1   365 36nhgntqjnsixeightzrzslheighttwo7
   -1   366 9sevennine2
   -1   367 nine23phtznthree
   -1   368 gmqfzxqrgvdsdfs5
   -1   369 onefiveqgksmnone2
   -1   370 fivesixxbzzdnxg4fivesixglvqlfvfc
   -1   371 7fivesevenmmlnftf392vngtrkcgxj
   -1   372 7fourfnqthreefiveonefdjrsqbrtqqfpqppfndfnrg
   -1   373 eight3gnrskgn
   -1   374 two3eight
   -1   375 173xr6
   -1   376 zkqfivesdflnvhmm4three6eighteightqctcnm
   -1   377 four64vrtktbbchfssz
   -1   378 2xjnqrzrrsixsix
   -1   379 58sevenvgcplhtndx9seven74nine
   -1   380 jzqtshfcjrlkfive3twoeight8eight2
   -1   381 threepxmtonemccbhpljtgsmvqmqpnhkgxmd22
   -1   382 1nn1eightseven
   -1   383 xztfgc3twofive2seveneight7
   -1   384 lxgbm2ninemcss
   -1   385 frkkkkvlhdnbbtvbjtjbtpcpvjkkmfourmvthreeeight3
   -1   386 fcztz33fsqllqt141
   -1   387 qbjeightwo6bjgjdgrqqmkgninethree
   -1   388 zk793vvsvgkxvpkmqkrgccbvmprl
   -1   389 fivesix93
   -1   390 58pdmclsncs3
   -1   391 7ceighteightonethreefiveseven
   -1   392 6mfkz249fivebclxg
   -1   393 8eightvvzdt6gcsqlxrtdbmqhpdjjskeight
   -1   394 onesnine1
   -1   395 onevhhqxbnqsr37twoonefour
   -1   396 seven932zjfhplnrc1fivefive
   -1   397 8jtchfqrdhnsn
   -1   398 sixninefour6lpmmhmzlbtvtrpxsjlldvqj9qvdsfdzft
   -1   399 cfour34542
   -1   400 hdhkgdqcnt5nine87dxbhctgqxphrdpcv2xzrdljqt
   -1   401 75vplkxcgrsix3bxdkrncdkt
   -1   402 nsj288636htbthree
   -1   403 8sevenseven
   -1   404 58five16eight8
   -1   405 six95four44
   -1   406 rbxeightwo6sevenplbhnbctqzcpcvmp7xrtwo6eight
   -1   407 jsjtkmz6
   -1   408 nine8six2ninenq8nstthr
   -1   409 eightddsckkqlls23
   -1   410 2ch2gbxvkqrfflqcdfxdfour
   -1   411 nrmmjfxsmcddk7onepcpdfkvjvhdhxsevensix
   -1   412 five6snkgvkzlkh
   -1   413 fivesevenfour9jslninesevenjtttt7oneightssr
   -1   414 8five1jjdtpx
   -1   415 eightsixrkthjm8281
   -1   416 six242
   -1   417 eighttggfourctdjmb7fivethreeh
   -1   418 sevenfive88sfgczpncmx
   -1   419 jtxxcsfmvfrdsgzqjdjxxgsrfnm9fivenine
   -1   420 seven48onefbbbpdhj5sixbgvfzpnp
   -1   421 fiveonenkksknhtcpsevenrxn7
   -1   422 ztv7onenldv9nine
   -1   423 nineoneeight719
   -1   424 tzpfllbninemsixfive61three
   -1   425 2cbmdzdzhnnx
   -1   426 tnpthreelvczcqhsflseven4msfzzltvmnprlq4
   -1   427 8twofour3twokbvfkgfpq
   -1   428 eightgtpfsqcqtwo9
   -1   429 htmvcztjsq5five3xjlbmmxvlnv
   -1   430 fourp89
   -1   431 4tdxjtl7fmhlqfvkz
   -1   432 pxqg2
   -1   433 45zzsevenninevpbtlqsix1
   -1   434 2threedrmgj98one
   -1   435 35ninenine
   -1   436 snjqxsgqvn3sevensevenbm3ptpfive4
   -1   437 9onevmfdlrzninethreebdr3qpvtqp
   -1   438 1eight6fivedtmxsrqkg496lbkvsmz
   -1   439 48vkmdsqhpzjghhsonethreethreezgfgvclhg
   -1   440 vnkvrxpmkvfour3
   -1   441 ninexdtwogzjbltfours6lpkdj
   -1   442 n7rzskk61zqk39
   -1   443 5fourcjnzfp521
   -1   444 rcdbsqtmhgnfjfjxdskeightckpp8five
   -1   445 kvbsevengxmlncszddnmhzkpxlxr2nmkhm9eight5
   -1   446 5gssevenqhmxmnv4
   -1   447 nppqflmknine7
   -1   448 vxkprrkfgsevenmfxjmnsevenkrzzlbshc6rzb
   -1   449 663fourfourkzpmzkzfour
   -1   450 3946sixninepvf4two
   -1   451 5qpkcgpmp6vrqtcqvsqbmmvrjtzkbtrftnine
   -1   452 fnbcn53zrn1eight
   -1   453 qtwone4dffhkjhjrqtwotwo
   -1   454 rgdz3rgqlzljxnpqntvzz
   -1   455 fivefour852eightwosx
   -1   456 8129rshnpjoneqrf
   -1   457 1hnrgkptsp74fdpvp
   -1   458 sixfoursevenone42threedcbm
   -1   459 four9lbkpjdrfznine29two
   -1   460 five2pdzldgrcrfzhrv2rzsfgmx25
   -1   461 5nineqccvxgsshonesixlh2kgx
   -1   462 eightjzfncrxvlxeighteight9eighttmc
   -1   463 n29onesevensevenqxqnthree
   -1   464 6dcmxbqjtcheight84
   -1   465 88jcsltgmbntwo4cxmfourone
   -1   466 1four4two6six5
   -1   467 oneprptq6mfnfnm
   -1   468 4fdvvlk5nineone
   -1   469 one8288
   -1   470 pxsvfzxd1
   -1   471 six3gtlqvsix4zrbvfpsxjs
   -1   472 nlctwone5fivexspzrtm
   -1   473 five9nmzjsvntxct
   -1   474 threexzpxdtdfive6sixldddpxmxbmghmpdbd
   -1   475 sixsix1onesix8ninenineone
   -1   476 eight56jldskgmsjbnine159
   -1   477 27one
   -1   478 eighttwo93sixfivesmgqfzspxvkztzxssseven
   -1   479 seven99mnnsbhxsrzvnhsvdmbpzqqdscl6
   -1   480 ninetwothree2
   -1   481 fourtrkdhszg4pjh2goneone
   -1   482 six6three5ninezpvc
   -1   483 79qcrtm8fivex5three
   -1   484 ljtwonefivesjninetpzhsbfxthree2vknbffmq7d
   -1   485 fivesix3
   -1   486 95threebfxqrj72
   -1   487 vqkhzxhthv4hdrprgsxjp
   -1   488 fiveprmznltwo7
   -1   489 62c53fourtwo9prxbqhjf
   -1   490 one3zndsclzslt71bftv
   -1   491 2mjtbmnkjspsix952mk
   -1   492 34nine
   -1   493 gtrcfour7threevzmvlvhpf6
   -1   494 lx5seventvzxlng
   -1   495 2kdlxgrdlqlfivecvccqxpjr
   -1   496 tmsqtqszspnskbmcsevenllstfh4ztn
   -1   497 eightlninemr5
   -1   498 6one1jlplpzppt6
   -1   499 7cvmrrclkfcfiveeightxrvhqqsjbblglt7one
   -1   500 cpvpftjrgj5jc
   -1   501 koneightkk7dbtkdmmbf
   -1   502 2krk842mbqnpthree
   -1   503 three7three
   -1   504 one3nineseven
   -1   505 4ssskfrfqhz9eightfour37oneightjm
   -1   506 jgjsfouronetwoseven6
   -1   507 bkcninekjtwo1two
   -1   508 5two8onetwo
   -1   509 keightwosevenzsxpsgrzsone4
   -1   510 jcmbkmpfourthreefivepvhkbtpqln9
   -1   511 4vcprm7
   -1   512 7qckxksgfbk6four5onesqfxzxm
   -1   513 5ninesevenfour5six24
   -1   514 7sixfourthree
   -1   515 6eight58ptdrvgqlbc
   -1   516 nine8sxdbrvgxv
   -1   517 threebhnb6threebjbjxcq
   -1   518 threecbdtbftvcv4sevenfour3
   -1   519 onehfvsd24
   -1   520 ninevgbshtbprzfourqmclssgtrseven8zsgnqd
   -1   521 vrbcbsjdqzbjztmphk5
   -1   522 25sixjrjqgl5fivekhtxstwovgxzfpvzfmoneightb
   -1   523 44bbpdhhvnptwoone29
   -1   524 8eight78four
   -1   525 gcfiveninezjnjzqfourthreelggdhvgj4
   -1   526 lfgsctldtkfdlbsskc99gbvjd1eight
   -1   527 xftwojgjsctwoptwonj9
   -1   528 xnnm4sbx8
   -1   529 seven986hkfone7
   -1   530 65rdlfdxjeightwox
   -1   531 26fourclxlrcxjpkjvdhfseventworqsfnhmnnq
   -1   532 nineninexrk2twovdn6
   -1   533 onesspsrctxsfn6ninesix7
   -1   534 5c382ktrlsdlthree5jm
   -1   535 eight5one2
   -1   536 fxzjcbznjj4sbb
   -1   537 cndp3
   -1   538 blztpftbr3fiveckzgninebkms
   -1   539 td6
   -1   540 one3sixfivevrvrnzzzq
   -1   541 8sixfivenzmnlts
   -1   542 one4fivelrlhonenbdfb
   -1   543 1twofivenine7
   -1   544 four9ninetwothree8three6
   -1   545 foureightfoursix2fivepkgzgmbbbc
   -1   546 rfftwonekccnsn28btwosixk
   -1   547 threetwo1foneeight
   -1   548 bzrzgbzdm23
   -1   549 onefgqfzjnine2dvqzn
   -1   550 xgbjxnh1jtt
   -1   551 67ninedczm
   -1   552 ninercxgj4txpflzvhgtwoneqh
   -1   553 8four9cxdrdzrkn55djgbchdxgn
   -1   554 49seven7threeeightwokr
   -1   555 sevenone7qtxp76
   -1   556 391two87five7
   -1   557 dtpzlzxkntcvzjsevensixvflshlqxbnxtmfjnr7
   -1   558 kkzkpdztb868nine3p
   -1   559 rxeightwomvsnt5
   -1   560 85jkzsrtszdgxssm3eight2fourfour
   -1   561 jpjbkglsevenrhjrvl9svmcgshll
   -1   562 onetwonine4noneightvk
   -1   563 nine5vnlone
   -1   564 44hqbb4
   -1   565 1seventwonfbmllcfnfivesixfourfour8
   -1   566 5four4rjjlxhcvtwo82
   -1   567 eightcjksmqq9rvshzgjbnmffbz
   -1   568 onefive11381rl
   -1   569 2dpkzggxxnineninethree6onexkllm
   -1   570 zdvbclq85xmddtggv9fgcsjm3seven
   -1   571 eightsix9fourfour
   -1   572 fourhrx7
   -1   573 fourlheighteight6
   -1   574 sevenplhqxqp89six
   -1   575 5mdlbrq9three85sixcsb2
   -1   576 t9svczrjvmrtwothree
   -1   577 oneseventhree25fdq5jmbjmcthzp7
   -1   578 pgzb31xfhkghbfljone6oneqkbg
   -1   579 vxqslqlfvp4five2zxvqdrbkt
   -1   580 two9six
   -1   581 threeonetwofvlklrmrkseven7mtldnsxmbs
   -1   582 eight6sjflkmczj
   -1   583 32three52sixfnqtxnnzztrt
   -1   584 qqtdlghsp8ks5two2qrmpjgccj
   -1   585 dknbccdfpr1eight4sixtvhfc
   -1   586 9mbc
   -1   587 pmpfprdkgblrnbf335skpkvxgstlzsevensix
   -1   588 sixeightkfs173mbmsixsix
   -1   589 twoqgptf1mfnpvxvlkrnxnine
   -1   590 54hpmzgm2three
   -1   591 1four8
   -1   592 three11vkzqjzjncgj
   -1   593 nine19sevenzfour
   -1   594 4onen5fiveone56
   -1   595 eighttwo2325twofourcb
   -1   596 lfpgbrvrfv47sckdqlqdblkjn
   -1   597 1qsgxhxtwo
   -1   598 83mgshbbrdpmseven7
   -1   599 dsix66fourdzvqdnqlssjnine9
   -1   600 3eightfive88eightwor
   -1   601 1djmjfive
   -1   602 dvxlvjthvlkrrc1
   -1   603 zfgpndbflxmnhnnq9zx4
   -1   604 one5twooneseven67
   -1   605 13sixdgpmgseven
   -1   606 mheightwo1six4onethreegcxzvspnrqpngsmbplvhc
   -1   607 86sixlkdnnqqrkf6fjkvzlfxhhcxxroneprgrthhz
   -1   608 bsrsqjlskjbh1onezprh2one3four
   -1   609 6pnxslvxhsxeightoneeightsixnbdtkszthree
   -1   610 vjpp1931jdbrtdjrzk
   -1   611 7one278ninexgfive
   -1   612 mjkqddthpnineonetwo5eight
   -1   613 2gfmgdjkzbbf
   -1   614 5phlkvzbqmmxbfckcjjhfvone
   -1   615 8xjsevenrlrlctclvkc54one
   -1   616 1tqsnt11
   -1   617 mmksbhrfour4ninefour3
   -1   618 91fivefive
   -1   619 5sevenjdxdrrgxbz
   -1   620 threetdcdl531
   -1   621 685eight3two
   -1   622 nshfeight6eightonenineeighttwo
   -1   623 threenineonermgnbjjzx8
   -1   624 one4oneseven
   -1   625 ninebdpztnllhdvcbbpvcptpdkpvjhxrtmnmhllrnxvlgm64
   -1   626 twoxhgcjdpx65fivedztfxzbdfive
   -1   627 999nine
   -1   628 seven6three8bsrqkfseventwo
   -1   629 6jf
   -1   630 sevenzkrcbxp6tmzfjnineg
   -1   631 b8xlrbjnrm
   -1   632 nine9fourtwothreeggg
   -1   633 seven8ninemkqxcbjdzzmrhjggbg5tksxtfcmg
   -1   634 2vdqplbceight
   -1   635 5drone
   -1   636 jxqczvknhmbxrdthree659qjxlrxk
   -1   637 5onefiveone
   -1   638 seven583sevenninepnbzmeight
   -1   639 14qb153
   -1   640 3twohvplgxqqlzsgsevenone
   -1   641 78mpjrpmkponefive
   -1   642 6fmqpjbtv616
   -1   643 325dj5lvtvbx
   -1   644 dzjvsszzonelbbvpnlkrctztjxgg9eightclxrqrzpmmgpzpmsxlfive
   -1   645 6lsseventbb8
   -1   646 9tnqfksfivenine9
   -1   647 5dbssjr
   -1   648 slbqhmrg3
   -1   649 48oneeight9two84
   -1   650 zxgcx9kfmxcjsseven
   -1   651 4nhb7hksxlpn1seven9
   -1   652 seven4qvvzlbjnbhpp42one8
   -1   653 twoeightgcpkkninejgfvzfsrjbtwo1
   -1   654 846kmvbjpseven
   -1   655 33ndkljvxbxpjcrgjvct513
   -1   656 6tcghtcbcgh9xgz3onenine
   -1   657 five72rfcmktxkvxvnstwo
   -1   658 seven5tkqbjgpkdqtwo773kcfznv
   -1   659 ninesphdrdxzvvvdfcpsvc6
   -1   660 6q9pjsdzponerfnqt6eightwob
   -1   661 ztmjlr1srmgkeight
   -1   662 lsix2bcfz43mhpgldvlng
   -1   663 6srrmfdvtgqgeighthcvzpctzpdone
   -1   664 zntvlvtfmvntcvjxqffthreectlnzst5onekpxvmsvnb42
   -1   665 threethhkkrqhkpvmfivefour16three1
   -1   666 53fdhjxldlxxthreethree3six
   -1   667 nzhdhtcjbseight47sevensevenlmdtjsqlpqcmqmbvp
   -1   668 4bvsj
   -1   669 1ninesixtsbgdvhseventhree9jpmrvpdzxb3
   -1   670 czqzzbbfcnzfive3bvcrvvhvz
   -1   671 53bqfhhrsevensix
   -1   672 2lmrjtkffk5
   -1   673 5fjbdvxjrcrtvmjdttjfs8
   -1   674 x1jtzzclsdnfive7four
   -1   675 5jnvphzlpphfivesix
   -1   676 jfkhkxvlqrdkbc67rqfcfh4rvprmvcone
   -1   677 k9sndkdgvzjg9threenine2
   -1   678 ltwone1
   -1   679 five5jhnine
   -1   680 5sevenlcnxcpgdnzrftsn3threenine26
   -1   681 h6fourgqfczsjtkfqpcmzfive
   -1   682 5eighteight2
   -1   683 fclsdrjrthreebvjspsoneonefivenpfszjfqcd1
   -1   684 twofourfive1qbrndpvone23one
   -1   685 six4ljzxxboneqrhgvg26
   -1   686 klhsqnkrqhlsfivesixthreesixfive9
   -1   687 9rslrdg
   -1   688 15xfdsix
   -1   689 zbzd15cgcrn31
   -1   690 fbqvdzgsvlsix4twoeightpjzdhpxxjkq
   -1   691 79xlmrz3tcgvfvqf
   -1   692 5csjgmkpkthreefgjqvtdskbvxk12
   -1   693 vrdlmzcpfour6trmt8gtjfpftdkgdlq6
   -1   694 rctptptb5fourttds
   -1   695 gfkvkcbkfsbvmbcthxzbfs9rzdnine
   -1   696 4zmkhjrcbxvdp
   -1   697 8ftngfour
   -1   698 fivefourninefour5four
   -1   699 3vfjtjngsevensixfqngpjrpfkcsdgctseveneight
   -1   700 vpqeight11plkjc
   -1   701 threethreezldtgz3hscrb
   -1   702 4sixone7qlgv
   -1   703 twofmqgtnkddkrfdtnhrone7ntq8
   -1   704 tvvzmvxhjseven7four5nine23
   -1   705 two3fourdxscvcljhrjmjlpbxgcninefoursix
   -1   706 six4twothreesix1six
   -1   707 4rj4twohzjs
   -1   708 four8ninesevensx49m
   -1   709 onernjnjrqsjhnp9two
   -1   710 3hsjlskjpcvs1nine
   -1   711 587
   -1   712 one7threethree2
   -1   713 dtsfhss6sevenseven8
   -1   714 honeight5one
   -1   715 1eightworg
   -1   716 6eightvpxctxffive
   -1   717 2x6pkjntnbrlhjfkgbvp3
   -1   718 9rrhssqzdlcmmjvqvrkvqpfonetwofhfhzktfzzdbjbj
   -1   719 5mxhnqdg4htcqxtkccghgrzktsnzczfqrpl63
   -1   720 sevenseven7fivepgc
   -1   721 8onecctzfxreighteightwoq
   -1   722 mpfjlf1twofbzzhl3ljpfc41
   -1   723 ltwone3
   -1   724 dfourfive2
   -1   725 jlnxxb2one
   -1   726 1cnxtwo1
   -1   727 rmfjddmhh16eightone
   -1   728 bgrzn28eight22
   -1   729 vp55nnjtfzjh8rjmzxxxdjs6r
   -1   730 5ghbzsbxqt94threefive
   -1   731 6tjvvtrhbglntone1bflzxmzvtr9ngd
   -1   732 zqlfffptkp2eight
   -1   733 six8threersgxztgnvrpjzjhgtprqbgeighttgkmgxvlpxgkt
   -1   734 zxbnqeightvhsnm95svscpcjhth5ninefive
   -1   735 jmgpmfxtwohvxsfr3seventwo
   -1   736 ncpgtpqfivejnblppxtn8khcjzpk
   -1   737 sevenonethree95
   -1   738 hkcvxrjjshkdxsixbpjl62fzrzpnvtqg
   -1   739 cxzvnn52ninesixtwoonergjdktpkl
   -1   740 93nine
   -1   741 11fivetwo
   -1   742 8qmhfoursix156
   -1   743 twofivethree27
   -1   744 sevenlnjqseveneight6fivepvmz6rdbxm
   -1   745 vlrvxfourshqpprchjx3dcknntththreeseven8
   -1   746 2three7threemscjggthreemkxmgg1
   -1   747 43hghlbtcbf
   -1   748 jhpcdczrxgpktvlseven4shllbs2three
   -1   749 hpthreerhkgdtksk66fivesevendxxzfm
   -1   750 four3dqqglksxk
   -1   751 eightrhmvhzxlrdjvjvpzhzzcnvxxdrjzl9sevenfourlcqksq
   -1   752 9sixxcfq7onebmp
   -1   753 8keightfiverntpleight
   -1   754 jtwone831
   -1   755 qqsksdcfsmvx5lhfgrl6two954
   -1   756 8lhjzsjgms
   -1   757 8ninenjsxtzqkmn
   -1   758 gpffcfqxlr84one4lzpfkzdkpc
   -1   759 svncmqmvstwoqgknfivepmjll4xt
   -1   760 five3kkqzrbtvvfcts4three1four
   -1   761 4sixseven8five3five
   -1   762 six9twosixqtldl
   -1   763 2fourfq
   -1   764 mjrtwo7ninedqsmxskpxfc9t
   -1   765 onenvjnsrvjzrqspsdbgjhdjrzrfmxcxnc9fourtvgpdqzxvb
   -1   766 478xp5mqgnninef
   -1   767 mtjtzgflgztgsqpxskp37zm
   -1   768 hgsxdpttj64mthreegzptcsfour
   -1   769 eight8vfgtgftwofqtjvskxnnthonemgdhjzh
   -1   770 threeseven6llbgbrbptthree3
   -1   771 one8two9fivefour3six
   -1   772 52dqcrxhzqmzsixmhshnntwo
   -1   773 lsfive5nvvhgsnl
   -1   774 8twoxhgthreebdfgcn8jflhc
   -1   775 297seventwo4ctnbprxgztwonine
   -1   776 3onefourkthx6vn
   -1   777 nltzeight6fggtwo
   -1   778 84431lzgcftv
   -1   779 spf2qkvqcq
   -1   780 3gfbntwo1fournine2qlp
   -1   781 nckqg1four7mhltx4jvdzpjzvj
   -1   782 bllkbr2
   -1   783 fjjgvvmfsfivetwo5sevendd
   -1   784 7bpmh2zrgsms
   -1   785 fourrdkrgfoursix1
   -1   786 seventwo52zbdmftninensfdvkhssix7
   -1   787 sixxkrf4qgtnine2kqhmb
   -1   788 eight7z
   -1   789 rnfhttjjrpdnxxqfkhs9lbsktsmvsixone
   -1   790 61threenfhkskphjjjstnzjtxcjf7five
   -1   791 zhtkvbqchlvthree5twonine3
   -1   792 pl9dhnzntgkmjhglxtlcnsfc
   -1   793 7eight2sixnine43
   -1   794 69xfqxbtvseven1four2qr
   -1   795 1k7
   -1   796 twovdgh768
   -1   797 6hmjcxsgkvd
   -1   798 7jftfkckhzlqjqtbvmhxrsix
   -1   799 fivencbmjhjbp7
   -1   800 trgtjmjggtzzjnhd5fsnqnkppkninesevenphgfrfive5
   -1   801 qcglfonesix23bffsmd
   -1   802 five7srldjmmnhllftzbcdrm
   -1   803 two33gjtxvtwo3ltrfqdmvvpseven
   -1   804 gccvxspxlm6one
   -1   805 zdfjvdeighttkslnjnft7dl74
   -1   806 ninethreenbvmfpbgzgkv3
   -1   807 ninenine7njgrzxmnn7
   -1   808 rtwonenineqxvbgtj4
   -1   809 sbcgvsrmvtwo2sevenj68
   -1   810 6dfrjfqxjghbxt
   -1   811 rt5four2
   -1   812 vscftsphsqsix3
   -1   813 3eight68d5kf93
   -1   814 vpbjpqjrmz9fiveninedpzsvdvdfb52grzxlbbqsr
   -1   815 gvtwone9vbmpdznhlfive8two
   -1   816 4bnfxslqgvnzcbsjcrfzv
   -1   817 xtcdvhlkgrjjjmone48
   -1   818 mzoneight9995five2bdg
   -1   819 ptwo2fivedqxthreesdmbvdcdxrtwonegt
   -1   820 vgjvrfcvbxnnfds17
   -1   821 27threeeightnine3nineseven
   -1   822 4fiveninethreeqn
   -1   823 68vhkqqcs
   -1   824 sjnzkhxvnine28
   -1   825 3fiveghc1threems
   -1   826 45jvrhdh2three9l
   -1   827 pbntkjbps1
   -1   828 slgsx9sevenone7xcghccxqs
   -1   829 twomlm4ksvonefournine3vdxp
   -1   830 four9pvmone7twofourcndpfour
   -1   831 hfdnzvfgqn2
   -1   832 3fsshkvcseven545
   -1   833 six45jgxzgjnlqk
   -1   834 slrv18five
   -1   835 78twoninepdghsneightone
   -1   836 two83npblhtp62three9
   -1   837 hjmpkjvkzhxpzflz96
   -1   838 fmcnine4vmmtxlmdrntwofoursix
   -1   839 352five7935
   -1   840 891sixfive8
   -1   841 4fourmdfpkcpb439sevenfive
   -1   842 3seven69czrrsrzhpm
   -1   843 two5six56sevenlpmrxdthree
   -1   844 npzg6hpmrczqxmn3twommkmzkzhgkcxrtwo
   -1   845 f498hhvtrnhgd16bdcd
   -1   846 5sixhxdjmkkmdbskls
   -1   847 fqfvbsfprqrhlgrmdprx1fvfzvcgssttknck
   -1   848 9one741
   -1   849 seven54jsjkhseventwo69
   -1   850 8threeonejjonefivefivekrlvtjt
   -1   851 xcdbx5mqkstvqkbhrdfllzfive
   -1   852 gbf89dsrg6ctwosixppxxbgs
   -1   853 83ktsdjqt
   -1   854 eightfourbcl6797vcbhbl1
   -1   855 threefive6seven
   -1   856 9ptxjzxj7six4
   -1   857 onefiveqjjhfqrfzonesix6pfqhxvsq
   -1   858 eight385
   -1   859 mvsqltkmsrzqzdgkf66onellkvmtv3two2
   -1   860 khztwofour7tfnvhmsqnnqkbfdjgj8
   -1   861 msvhqzqfivetwoschjghsm6
   -1   862 lmsxxt43four
   -1   863 hdfdltsrtwoseventbqr7pckgcqtcgh8onetwonez
   -1   864 1sixeight
   -1   865 1t3qtqgnvdrteightthree6
   -1   866 6zb997
   -1   867 four83dg
   -1   868 4four2xqnpqvgkmh
   -1   869 cbrkm6seven27
   -1   870 9rxrddhlfiveeightninesixpdfznbhrfrvjnjd
   -1   871 one8seven
   -1   872 7onegpllvh59bmponefpjeight
   -1   873 one4fftcrjntqpnzqlfive
   -1   874 9hgfbffour67two
   -1   875 nine6tworqjv
   -1   876 4xggvdktqfour6fljjxflkflqzeightcbsf3
   -1   877 eightmqphonehgthrpfvmfthreethree8
   -1   878 1five4xrgqxn
   -1   879 vkmqljhpcbonejjsx6one5one
   -1   880 two1five2dgftmk13six
   -1   881 eightmrv1eight
   -1   882 gkzznsmt429
   -1   883 fivetwo73mhpmbndgvpklzhqk7
   -1   884 84sixlhfxnspqjveight3onedrksx
   -1   885 6six2lnxmr
   -1   886 7rqsmbkcv
   -1   887 4jkbdtpsppseven32sevenqqbvm4
   -1   888 two8vhhdsnqv
   -1   889 qksb8klxlv74891
   -1   890 ninesevenfivenine26c
   -1   891 sevensixnine81zjg
   -1   892 three7bbb66
   -1   893 three7vmnine8xqkmtfmpnine8
   -1   894 2zhtwo4eight4nzjcvmjtdcv
   -1   895 eight57
   -1   896 six3xs7zpdvltmmtnhtk
   -1   897 fourvfxnjddkjs7two
   -1   898 1mzmfsfnbqfgqvft7two
   -1   899 vqbdzhncsj7one13twosixxlngtfive
   -1   900 threel94seven
   -1   901 threenine299
   -1   902 jqkmcsqtclq5636six84
   -1   903 8gvd68eight1
   -1   904 t43
   -1   905 3bv4one32
   -1   906 3onepvjdjpfiveqbgzrmktm7tkhbp7
   -1   907 459onetvsone
   -1   908 nineggxcstltptbsixthree6glqhxdgnjp6jmjcrm
   -1   909 hhnvqptdkj9one
   -1   910 nine8four8897rgfs
   -1   911 onenine16dgkjnfkmxqfninervgcqmxsbtwo
   -1   912 two7eightzrpone
   -1   913 xkbcjqnt4fourdpsgbqf1three4
   -1   914 27jcbntptlmldhnzmkgqmm
   -1   915 vfcrlftnb5mzbbsixeighteight
   -1   916 tnqkf4gseven56czt
   -1   917 teightwo4
   -1   918 8eight1seven36slslntk
   -1   919 tnqkj9
   -1   920 five84psznfjvl5onefivefour
   -1   921 nsjlsrkfour33
   -1   922 sftkhmxq89hsvcsznrdxfcgprmjcktbxkbnkvb1
   -1   923 six33
   -1   924 rmbnnbnrdg7sevenhsrrnjvn2
   -1   925 qhthj75bglpd2hlpxst64
   -1   926 lmcdttjzrnxdnn6pbszxcxzxmhxj
   -1   927 62xvvkpbhhbthreetwooneeightwozr
   -1   928 mtln1fvmflgtrq94threeeight
   -1   929 7five6
   -1   930 8j
   -1   931 1threehvkrhfm3mgsk2six
   -1   932 zlrvhfhpglnkpnm4lzljvzlgrzthree5three
   -1   933 scqbffjvdjhsrfsix7twonine
   -1   934 eight97
   -1   935 6five1eight
   -1   936 31kvxzjpgd3
   -1   937 sevencsgvmxbtgtp7eight
   -1   938 sevenpjnbgtmsninexfbh4mjdmgsdtdb92
   -1   939 five11nqgttpfj
   -1   940 tnxxs729k
   -1   941 1sevensixsptxkmncrkfxone
   -1   942 nine1fivefive16twoqm
   -1   943 575xtbkrbnlrrtr7hfourmmbrgtjvj
   -1   944 three8gseven6three9hkkvjzvzlz
   -1   945 eightstktmqdn8mf48four
   -1   946 298xqtwotwo4fourhhhcblpg
   -1   947 7xpqpjdlrmtwo399tccfour2
   -1   948 64xs5njxdnqvonekrsbfhlvttdjp
   -1   949 threehgzhfbqjzktwo8
   -1   950 1jjgvxnprfbmcthlskqjqqzrr1
   -1   951 nvpbcbsgbf6eight
   -1   952 vvkvdd3four
   -1   953 7onesevenlrmngnineseven6one
   -1   954 22three
   -1   955 msfbjpnd1seven6
   -1   956 2fivethree2cp1six
   -1   957 7two733
   -1   958 8sevennine4hsgg
   -1   959 fourfive293three
   -1   960 onedtrbdcdseven6twosvlhbdfive9
   -1   961 8five8threeeight
   -1   962 gbj5hcjtfgbxppzdcf
   -1   963 sevenbbbj7
   -1   964 msevendfkqzz34
   -1   965 skrzfqonemzrcxdpdb2
   -1   966 twoeighthfsgbsmbmsqrsknrdxrcxshfndvmhfzj1lhhtkktlxeight
   -1   967 178fbvcglzshfzknffgprnxvxgqnhznine7
   -1   968 two13pxfvzxnqrq2tkdfsfkbbgkdt9
   -1   969 sevenjbs2fourmjglztjfive
   -1   970 58five6vhm311
   -1   971 gngfzhcdhmczsffrkh5nclkcfcnfivefive28
   -1   972 883nr7onesttq
   -1   973 eight8four147vmtpgzbpft
   -1   974 6dbsixtwoonenine
   -1   975 three3tlx
   -1   976 jlhlvvztsmctvxndlnvbxk1
   -1   977 qlfmbmfkfm98m
   -1   978 fiveseven5786cmthree
   -1   979 7tgklbjhhcxndvk63sixnine
   -1   980 fgjqhqvtwozjfxgxpkz1six
   -1   981 3dxnvg4ninetwo
   -1   982 5twoone9lnvdxhctn
   -1   983 dnjpqnplxq9rxfour6one4slqlhsnc
   -1   984 tgkfourthreetwofive4npnnvthjgf8
   -1   985 tjzjppnsksix4
   -1   986 lmfkvgfzfmhxqrcvsgt28ssmhm5fivethree
   -1   987 fourninefjxpvpbnhm29oneninesix
   -1   988 hmxjs2sevenfive68nine
   -1   989 five3eightsfvftdxl
   -1   990 35sjcqtqpqz7fiveeight
   -1   991 lbchtbsnhmxlq1rcjrlvgmdjmjhtk
   -1   992 2gmzrn34eightkdpsgnine
   -1   993 sevenljzcxlgpskvkprjb6
   -1   994 sixkbsdxjvsncj2four
   -1   995 1sixbl9seventwotgtfcstqgv4lc
   -1   996 89threeseven5tnshndjcsxc
   -1   997 42
   -1   998 ninesevensrzxkzpmgz8kcjxsbdftwoner
   -1   999 4gbdzqtddmt4eightsixfive
   -1  1000 dljxl7five6nrzfh5one

diff --git a/2023/01/solution.rs b/2023/01/solution.rs

@@ -0,0 +1,60 @@
   -1     1 #[path = "../lib.rs"] mod lib;
   -1     2 
   -1     3 fn get_digit(line: &str, offset: usize, allow_spelled: bool) -> Option<u32> {
   -1     4     let l = &line[offset..];
   -1     5 
   -1     6     if l.starts_with("1") || (allow_spelled && l.starts_with("one")) {
   -1     7         return Some(1);
   -1     8     } else if l.starts_with("2") || (allow_spelled && l.starts_with("two")) {
   -1     9         return Some(2);
   -1    10     } else if l.starts_with("3") || (allow_spelled && l.starts_with("three")) {
   -1    11         return Some(3);
   -1    12     } else if l.starts_with("4") || (allow_spelled && l.starts_with("four")) {
   -1    13         return Some(4);
   -1    14     } else if l.starts_with("5") || (allow_spelled && l.starts_with("five")) {
   -1    15         return Some(5);
   -1    16     } else if l.starts_with("6") || (allow_spelled && l.starts_with("six")) {
   -1    17         return Some(6);
   -1    18     } else if l.starts_with("7") || (allow_spelled && l.starts_with("seven")) {
   -1    19         return Some(7);
   -1    20     } else if l.starts_with("8") || (allow_spelled && l.starts_with("eight")) {
   -1    21         return Some(8);
   -1    22     } else if l.starts_with("9") || (allow_spelled && l.starts_with("nine")) {
   -1    23         return Some(9);
   -1    24     } else {
   -1    25         return None;
   -1    26     }
   -1    27 }
   -1    28 
   -1    29 fn get_number(line: &str, allow_spelled: bool) -> u32 {
   -1    30     let mut a = 0;
   -1    31     let mut b = 0;
   -1    32 
   -1    33     for i in 0..line.len() {
   -1    34         match get_digit(line, i, allow_spelled) {
   -1    35             Some(x) => { a = x; break },
   -1    36             None => {},
   -1    37         }
   -1    38     }
   -1    39     for i in (0..line.len()).rev() {
   -1    40         match get_digit(line, i, allow_spelled) {
   -1    41             Some(x) => { b = x; break },
   -1    42             None => {},
   -1    43         }
   -1    44     }
   -1    45 
   -1    46     return a * 10 + b;
   -1    47 }
   -1    48 
   -1    49 fn main() {
   -1    50     let mut sum1 = 0;
   -1    51     let mut sum2 = 0;
   -1    52 
   -1    53     for line in lib::iter_input() {
   -1    54         sum1 += get_number(&line, false);
   -1    55         sum2 += get_number(&line, true);
   -1    56     }
   -1    57 
   -1    58     println!("part1: {}", sum1);
   -1    59     println!("part2: {}", sum2);
   -1    60 }

diff --git a/2023/01/test1.txt b/2023/01/test1.txt

@@ -0,0 +1,4 @@
   -1     1 1abc2
   -1     2 pqr3stu8vwx
   -1     3 a1b2c3d4e5f
   -1     4 treb7uchet

diff --git a/2023/01/test2.txt b/2023/01/test2.txt

@@ -0,0 +1,7 @@
   -1     1 two1nine
   -1     2 eightwothree
   -1     3 abcone2threexyz
   -1     4 xtwone3four
   -1     5 4nineeightseven2
   -1     6 zoneight234
   -1     7 7pqrstsixteen

diff --git a/2023/lib.rs b/2023/lib.rs

@@ -0,0 +1,10 @@
   -1     1 use std::env::args;
   -1     2 use std::fs::File;
   -1     3 use std::io::BufRead;
   -1     4 use std::io::BufReader;
   -1     5 
   -1     6 pub fn iter_input() -> impl Iterator<Item = String> {
   -1     7     let path = args().nth(1).unwrap();
   -1     8     let file = File::open(path).unwrap();
   -1     9     return BufReader::new(file).lines().map(|l| l.unwrap());
   -1    10 }