heh
| -rw-r--r-- | src/inp.txt | 1001 | ||||
| -rw-r--r-- | src/main.rs | 44 |
2 files changed, 11 insertions, 1034 deletions
diff --git a/src/inp.txt b/src/inp.txt index f3b13a0..a86a628 100644 --- a/src/inp.txt +++ b/src/inp.txt @@ -1,1000 +1 @@ -zgsnvdmlfuplrubt -vlhagaovgqjmgvwq -ffumlmqwfcsyqpss -zztdcqzqddaazdjp -eavfzjajkjesnlsb -urrvucyrzzzooxhx -xdwduffwgcptfwad -orbryxwrmvkrsxsr -jzfeybjlgqikjcow -mayoqiswqqryvqdi -iiyrkoujhgpgkcvx -egcgupjkqwfiwsjl -zbgtglaqqolttgng -eytquncjituzzhsx -dtfkgggvqadhqbwb -zettygjpcoedwyio -rwgwbwzebsnjmtln -esbplxhvzzgawctn -vnvshqgmbotvoine -wflxwmvbhflkqxvo -twdjikcgtpvlctte -minfkyocskvgubvm -sfxhhdhaopajbzof -sofkjdtalvhgwpql -uqfpeauqzumccnrc -tdflsbtiiepijanf -dhfespzrhecigzqb -xobfthcuuzhvhzpn -olgjglxaotocvrhw -jhkzpfcskutwlwge -zurkakkkpchzxjhq -hekxiofhalvmmkdl -azvxuwwfmjdpjskj -arsvmfznblsqngvb -ldhkzhejofreaucc -adrphwlkehqkrdmo -wmveqrezfkaivvaw -iyphmphgntinfezg -blomkvgslfnvspem -cgpaqjvzhbumckwo -ydhqjcuotkeyurpx -sbtzboxypnmdaefr -vxrkhvglynljgqrg -ttgrkjjrxnxherxd -hinyfrjdiwytetkw -sufltffwqbugmozk -tohmqlzxxqzinwxr -jbqkhxfokaljgrlg -fvjeprbxyjemyvuq -gmlondgqmlselwah -ubpwixgxdloqnvjp -lxjfhihcsajxtomj -qouairhvrgpjorgh -nloszcwcxgullvxb -myhsndsttanohnjn -zjvivcgtjwenyilz -qaqlyoyouotsmamm -tadsdceadifqthag -mafgrbmdhpnlbnks -aohjxahenxaermrq -ovvqestjhbuhrwlr -lnakerdnvequfnqb -agwpwsgjrtcjjikz -lhlysrshsmzryzes -xopwzoaqtlukwwdu -xsmfrfteyddrqufn -ohnxbykuvvlbbxpf -bbdlivmchvzfuhoc -vtacidimfcfyobhf -tinyzzddgcnmiabd -tcjzxftqcqrivqhn -vgnduqyfpokbmzim -revkvaxnsxospyow -ydpgwxxoxlywxcgi -wzuxupbzlpzmikel -nscghlafavnsycjh -xorwbquzmgmcapon -asmtiycegeobfxrn -eqjzvgkxgtlyuxok -mmjrskloposgjoqu -gceqosugbkvytfto -khivvoxkvhrgwzjl -qtmejuxbafroifjt -ttmukbmpoagthtfl -bxqkvuzdbehtduwv -gvblrpzjylanoggj -cltewhyjxdbmbtqj -fbkgedqvomdipklj -uxvuplhenqawfcjt -fkdjmayiawdkycva -gnloqfgbnibzyidh -kyzorvtopjiyyyqg -drckpekhpgrioblt -tvhrkmbnpmkkrtki -khaldwntissbijiz -aoojqakosnaxosom -xfptccznbgnpfyqw -moqdwobwhjxhtrow -chfwivedutskovri -gprkyalfnpljcrmi -pwyshpwjndasykst -xuejivogihttzimd -bugepxgpgahtsttl -zufmkmuujavcskpq -urybkdyvsrosrfro -isjxqmlxwtqmulbg -pxctldxgqjqhulgz -hclsekryiwhqqhir -hbuihpalwuidjpcq -ejyqcxmfczqfhbxa -xljdvbucuxnnaysv -irqceqtqwemostbb -anfziqtpqzqdttnz -cgfklbljeneeqfub -zudyqkuqqtdcpmuo -iuvhylvznmhbkbgg -mpgppmgfdzihulnd -argwmgcvqqkxkrdi -pdhrfvdldkfihlou -cbvqnjrvrsnqzfob -lkvovtsqanohzcmm -vxoxjdyoylqcnyzt -kurdpaqiaagiwjle -gwklwnazaxfkuekn -rbaamufphjsjhbdl -tzbrvaqvizhsisbd -pbcqlbfjvlideiub -hiwoetbfywaeddtx -fjirczxtuupfywyf -omeoegeyyospreem -ozbbpupqpsskvrjh -pzvcxkvjdiyeyhxa -odclumkenabcsfzr -npdyqezqdjqaszvm -yodkwzmrhtexfrqa -rjcmmggjtactfrxz -mioxfingsfoimual -aqskaxjjborspfaa -wientdsttkevjtkf -tdaswkzckmxnfnct -voucjhzvkkhuwoqk -boaaruhalgaamqmh -iufzxutxymorltvb -pfbyvbayvnrpijpo -obztirulgyfthgcg -ntrenvhwxypgtjwy -ephlkipjfnjfjrns -pkjhurzbmobhszpx -gqbnjvienzqfbzvj -wjelolsrbginwnno -votanpqpccxqricj -bxyuyiglnmbtvehi -qyophcjfknbcbjrb -anoqkkbcdropskhj -tcnyqaczcfffkrtl -rsvqimuqbuddozrf -meppxdrenexxksdt -tyfhfiynzwadcord -wayrnykevdmywycf -mhowloqnppswyzbu -tserychksuwrgkxz -xycjvvsuaxsbrqal -fkrdsgaoqdcqwlpn -vrabcmlhuktigecp -xgxtdsvpaymzhurx -ciabcqymnchhsxkc -eqxadalcxzocsgtr -tsligrgsjtrnzrex -qeqgmwipbspkbbfq -vzkzsjujltnqwliw -ldrohvodgbxokjxz -jkoricsxhipcibrq -qzquxawqmupeujrr -mizpuwqyzkdbahvk -suupfxbtoojqvdca -ywfmuogvicpywpwm -uevmznxmsxozhobl -vjbyhsemwfwdxfxk -iyouatgejvecmtin -tcchwpuouypllcxe -lgnacnphdiobdsef -uoxjfzmdrmpojgbf -lqbxsxbqqhpjhfxj -knpwpcnnimyjlsyz -fezotpoicsrshfnh -dkiwkgpmhudghyhk -yzptxekgldksridv -pckmzqzyiyzdbcts -oqshafncvftvwvsi -yynihvdywxupqmbt -iwmbeunfiuhjaaic -pkpkrqjvgocvaxjs -ieqspassuvquvlyz -xshhahjaxjoqsjtl -fxrrnaxlqezdcdvd -pksrohfwlaqzpkdd -ravytrdnbxvnnoyy -atkwaifeobgztbgo -inkcabgfdobyeeom -ywpfwectajohqizp -amcgorhxjcybbisv -mbbwmnznhafsofvr -wofcubucymnhuhrv -mrsamnwvftzqcgta -tlfyqoxmsiyzyvgv -ydceguvgotylwtea -btyvcjqhsygunvle -usquiquspcdppqeq -kifnymikhhehgote -ybvkayvtdpgxfpyn -oulxagvbavzmewnx -tvvpekhnbhjskzpj -azzxtstaevxurboa -nfmwtfgrggmqyhdf -ynyzypdmysfwyxgr -iaobtgubrcyqrgmk -uyxcauvpyzabbzgv -fbasfnwiguasoedc -mgmjoalkbvtljilq -szgkxiqkufdvtksb -xgfzborpavdmhiuj -hmuiwnsonvfgcrva -zolcffdtobfntifb -mvzgcsortkugvqjr -pbbpgraaldqvzwhs -zvsxegchksgnhpuv -kdpdboaxsuxfswhx -jdfggigejfupabth -tpeddioybqemyvqz -mxsntwuesonybjby -tzltdsiojfvocige -ubtdrneozoejiqrv -fusyucnhncoxqzql -nlifgomoftdvkpby -pyikzbxoapffbqjw -hzballplvzcsgjug -ymjyigsfehmdsvgz -vpqgyxknniunksko -ffkmaqsjxgzclsnq -jcuxthbedplxhslk -ymlevgofmharicfs -nyhbejkndhqcoisy -rjntxasfjhnlizgm -oqlnuxtzhyiwzeto -tntthdowhewszitu -rmxyoceuwhsvfcua -qpgsjzwenzbxyfgw -sumguxpdkocyagpu -ymfrbxwrawejkduu -hetgrtmojolbmsuf -qzqizpiyfasgttex -qnmoemcpuckzsshx -ddyqiihagcmnxccu -oirwxyfxxyktgheo -phpaoozbdogbushy -uctjdavsimsrnvjn -aurbbphvjtzipnuh -hpbtrubopljmltep -pyyvkthqfsxqhrxg -jdxaiqzkepxbfejk -ukgnwbnysrzvqzlw -lfkatkvcssnlpthd -ucsyecgshklhqmsc -rwdcbdchuahkvmga -rxkgqakawgpwokum -hbuyxeylddfgorgu -tbllspqozaqzglkz -rqfwizjlbwngdvvi -xuxduyzscovachew -kouiuxckkvmetvdy -ycyejrpwxyrweppd -trctlytzwiisjamx -vtvpjceydunjdbez -gmtlejdsrbfofgqy -jgfbgtkzavcjlffj -tyudxlpgraxzchdk -gyecxacqitgozzgd -rxaocylfabmmjcvt -tornfzkzhjyofzqa -kocjcrqcsvagmfqv -zfrswnskuupivzxb -cunkuvhbepztpdug -pmpfnmklqhcmrtmf -tfebzovjwxzumxap -xpsxgaswavnzkzye -lmwijdothmxclqbr -upqxhmctbltxkarl -axspehytmyicthmq -xdwrhwtuooikehbk -tpggalqsytvmwerj -jodysbwnymloeqjf -rxbazvwuvudqlydn -ibizqysweiezhlqa -uexgmotsqjfauhzp -ldymyvumyhyamopg -vbxvlvthgzgnkxnf -pyvbrwlnatxigbrp -azxynqididtrwokb -lwafybyhpfvoawto -ogqoivurfcgspytw -cinrzzradwymqcgu -sgruxdvrewgpmypu -snfnsbywuczrshtd -xfzbyqtyxuxdutpw -fmpvjwbulmncykbo -ljnwoslktrrnffwo -ceaouqquvvienszn -yjomrunrxjyljyge -xpmjsapbnsdnbkdi -uetoytptktkmewre -eixsvzegkadkfbua -afaefrwhcosurprw -bwzmmvkuaxiymzwc -gejyqhhzqgsrybni -gjriqsfrhyguoiiw -gtfyomppzsruhuac -ogemfvmsdqqkfymr -jgzbipsygirsnydh -zghvlhpjnvqmocgr -ngvssuwrbtoxtrka -ietahyupkbuisekn -gqxqwjizescbufvl -eiprekzrygkncxzl -igxfnxtwpyaamkxf -soqjdkxcupevbren -fspypobyzdwstxak -qstcgawvqwtyyidf -gsccjacboqvezxvd -bfsblokjvrqzphmc -srezeptvjmncqkec -opmopgyabjjjoygt -msvbufqexfrtecbf -uiaqweyjiulplelu -pbkwhjsibtwjvswi -xwwzstmozqarurrq -nytptwddwivtbgyq -ejxvsufbzwhzpabr -jouozvzuwlfqzdgh -gfgugjihbklbenrk -lwmnnhiuxqsfvthv -bzvwbknfmaeahzhi -cgyqswikclozyvnu -udmkpvrljsjiagzi -zzuhqokgmisguyna -ekwcdnjzuctsdoua -eueqkdrnzqcaecyd -lnibwxmokbxhlris -fdrbftgjljpzwhea -iabvuhhjsxmqfwld -qgogzkynrgejakta -mfcqftytemgnpupp -klvhlhuqhosvjuqk -gdokmxcgoqvzvaup -juududyojcazzgvr -fyszciheodgmnotg -yfpngnofceqfvtfs -cahndkfehjumwavc -dxsvscqukljxcqyi -cqukcjtucxwrusji -vevmmqlehvgebmid -ahswsogfrumzdofy -ftasbklvdquaxhxb -tsdeumygukferuif -ybfgbwxaaitpwryg -djyaoycbymezglio -trzrgxdjqnmlnzpn -rumwchfihhihpqui -ffrvnsgrnzemksif -oizlksxineqknwzd -cirqcprftpjzrxhk -zrhemeqegmzrpufd -kqgatudhxgzlgkey -syjugymeajlzffhq -nlildhmgnwlopohp -flcszztfbesqhnyz -ohzicmqsajyqptrw -ebyszucgozsjbelq -enxbgvvcuqeloxud -ubwnvecbsmhkxwuk -noifliyxvlkqphbo -hazlqpetgugxxsiz -ihdzoerqwqhgajzb -ivrdwdquxzhdrzar -synwycdvrupablib -mqkdjkntblnmtvxj -qmmvoylxymyovrnq -pjtuxskkowutltlq -gchrqtloggkrjciz -namzqovvsdipazae -yfokqhkmakyjzmys -iapxlbuoiwqfnozm -fbcmlcekgfdurqxe -ednzgtczbplwxjlq -gdvsltzpywffelsp -oaitrrmpqdvduqej -gseupzwowmuuibjo -dfzsffsqpaqoixhh -tclhzqpcvbshxmgx -cfqkptjrulxiabgo -iraiysmwcpmtklhf -znwjlzodhktjqwlm -lcietjndlbgxzjht -gdkcluwjhtaaprfo -vbksxrfznjzwvmmt -vpfftxjfkeltcojl -thrmzmeplpdespnh -yafopikiqswafsit -xxbqgeblfruklnhs -qiufjijzbcpfdgig -ikksmllfyvhyydmi -sknufchjdvccccta -wpdcrramajdoisxr -grnqkjfxofpwjmji -lkffhxonjskyccoh -npnzshnoaqayhpmb -fqpvaamqbrnatjia -oljkoldhfggkfnfc -ihpralzpqfrijynm -gvaxadkuyzgbjpod -onchdguuhrhhspen -uefjmufwlioenaus -thifdypigyihgnzo -ugqblsonqaxycvkg -yevmbiyrqdqrmlbw -bvpvwrhoyneorcmm -gbyjqzcsheaxnyib -knhsmdjssycvuoqf -nizjxiwdakpfttyh -nwrkbhorhfqqoliz -ynsqwvwuwzqpzzwp -yitscrgexjfclwwh -dhajwxqdbtrfltzz -bmrfylxhthiaozpv -frvatcvgknjhcndw -xlvtdmpvkpcnmhya -pxpemuzuqzjlmtoc -dijdacfteteypkoq -knrcdkrvywagglnf -fviuajtspnvnptia -xvlqzukmwbcjgwho -bazlsjdsjoeuvgoz -nslzmlhosrjarndj -menvuwiuymknunwm -uavfnvyrjeiwqmuu -yrfowuvasupngckz -taevqhlrcohlnwye -skcudnogbncusorn -omtnmkqnqedsajfv -yqmgsqdgsuysqcts -odsnbtyimikkbmdd -vuryaohxdvjllieb -dhaxldeywwsfamlo -opobvtchezqnxpak -pzfnegouvsrfgvro -rzkcgpxdslzrdktu -ksztdtqzxvhuryam -ctnqnhkcooqipgkh -pyqbbvrzdittqbgm -koennvmolejeftij -rvzlreqikqlgyczj -xrnujfoyhonzkdgd -mmsmhkxaiqupfjil -ypjwoemqizddvyfd -qgugcxnbhvgahykj -cviodlsrtimbkgmy -xbfbbechhmrjxhnw -psuipaoucfczfxkp -hdhwcpeuptgqqvim -gsxlruhjeaareilr -vgyqonnljuznyrhk -eewezahlumervpyu -iiolebrxfadtnigy -tdadlrodykrdfscn -ocvdtzjxrhtjurpo -gidljbuvuovkhhrf -qwfcpilbjwzboohd -xzohxonlezuiupbg -vslpbkkqgvgbcbix -pivzqrzfxosbstzn -fyqcfboevcqmbhhs -yqsrneacnlxswojx -heicqpxxyrwcbsjz -yzynmnnoumkmlbeh -bncadbjdvvmczylw -hlnjskgfzbgmigfn -fphpszymugpcykka -zbifcktanxpmufvy -saklpkhoyfeqbguy -nqtqfcfxmpivnjyo -locygrwerxlsvzqm -qqflecydqvlogjme -njklmixvgkzpgppf -ugzkpjwjflaswyma -lriousvkbeftslcy -nsvsauxzfbbotgmh -tblcpuhjyybrlica -hqwshxcilwtmxrsf -xojwroydfeoqupup -tikuzsrogpnohpib -layenyqgxdfggloc -nqsvjvbrpuxkqvmq -ivchgxkdlfjdzxmk -uoghiuosiiwiwdws -twsgsfzyszsfinlc -waixcmadmhtqvcmd -zkgitozgrqehtjkw -xbkmyxkzqyktmpfi -qlyapfmlybmatwxn -ntawlvcpuaebuypf -clhebxqdkcyndyof -nrcxuceywiklpemc -lmurgiminxpapzmq -obalwqlkykzflxou -huvcudpiryefbcye -zlxbddpnyuyapach -gqfwzfislmwzyegy -jhynkjtxedmemlob -hmrnvjodnsfiukex -pstmikjykzyavfef -wuwpnscrwzsyalyt -hksvadripgdgwynm -tvpfthzjleqfxwkh -xpmrxxepkrosnrco -qjkqecsnevlhqsly -jjnrfsxzzwkhnwdm -pehmzrzsjngccale -bsnansnfxduritrr -ejzxkefwmzmbxhlb -pceatehnizeujfrs -jtidrtgxopyeslzl -sytaoidnamfwtqcr -iabjnikomkgmyirr -eitavndozoezojsi -wtsbhaftgrbqfsmm -vvusvrivsmhtfild -qifbtzszfyzsjzyx -ifhhjpaqatpbxzau -etjqdimpyjxiuhty -fvllmbdbsjozxrip -tjtgkadqkdtdlkpi -xnydmjleowezrecn -vhcbhxqalroaryfn -scgvfqsangfbhtay -lbufpduxwvdkwhmb -tshipehzspkhmdoi -gtszsebsulyajcfl -dlrzswhxajcivlgg -kgjruggcikrfrkrw -xxupctxtmryersbn -hljjqfjrubzozxts -giaxjhcwazrenjzs -tyffxtpufpxylpye -jfugdxxyfwkzqmgv -kbgufbosjghahacw -xpbhhssgegmthwxb -npefofiharjypyzk -velxsseyxuhrpycy -sglslryxsiwwqzfw -susohnlpelojhklv -lfnpqfvptqhogdmk -vtcrzetlekguqyle -jlyggqdtamcjiuxn -olxxqfgizjmvigvl -cyypypveppxxxfuq -hewmxtlzfqoqznwd -jzgxxybfeqfyzsmp -xzvvndrhuejnzesx -esiripjpvtqqwjkv -xnhrwhjtactofwrd -knuzpuogbzplofqx -tihycsdwqggxntqk -xkfywvvugkdalehs -cztwdivxagtqjjel -dsaslcagopsbfioy -gmowqtkgrlqjimbl -ctcomvdbiatdvbsd -gujyrnpsssxmqjhz -nygeovliqjfauhjf -mmgmcvnuppkbnonz -bhipnkoxhzcotwel -wkwpgedgxvpltqid -mliajvpdocyzcbot -kqjhsipuibyjuref -zqdczykothbgxwsy -koirtljkuqzxioaz -audpjvhmqzvhzqas -cxyhxlhntyidldfx -iasgocejboxjgtkx -abehujmqotwcufxp -fmlrzqmazajxeedl -knswpkekbacuxfby -yvyalnvrxgstqhxm -sjnrljfrfuyqfwuw -ssaqruwarlvxrqzm -iaxbpeqqzlcwfqjz -uwyxshjutkanvvsc -uxwrlwbblcianvnb -nodtifgrxdojhneh -mloxjfusriktxrms -lkfzrwulbctupggc -gcrjljatfhitcgfj -tkdfxeanwskaivqs -ypyjxqtmitwubbgt -ssxbygzbjsltedjj -zdrsnoorwqfalnha -xlgmissaiqmowppd -azhbwhiopwpguiuo -fydlahgxtekbweet -qtaveuqpifprdoiy -kpubqyepxqleucem -wlqrgqmnupwiuory -rwyocktuqkuhdwxz -abzjfsdevoygctqv -zsofhaqqghncmzuw -lqbjwjqxqbfgdckc -bkhyxjkrqbbunido -yepxfjnnhldidsjb -builayfduxbppafc -wedllowzeuswkuez -gverfowxwtnvgrmo -tpxycfumxdqgntwf -lqzokaoglwnfcolw -yqsksyheyspmcdqt -vufvchcjjcltwddl -saeatqmuvnoacddt -dxjngeydvsjbobjs -ucrcxoakevhsgcep -cajgwjsfxkasbayt -hknzmteafsfemwuv -xxwhxwiinchqqudr -usfenmavvuevevgr -kxcobcwhsgyizjok -vhqnydeboeunnvyk -bgxbwbxypnxvaacw -bwjzdypacwgervgk -rrioqjluawwwnjcr -fiaeyggmgijnasot -xizotjsoqmkvhbzm -uzphtrpxwfnaiidz -kihppzgvgyoncptg -hfbkfrxwejdeuwbz -zgqthtuaqyrxicdy -zitqdjnnwhznftze -jnzlplsrwovxlqsn -bmwrobuhwnwivpca -uuwsvcdnoyovxuhn -nmfvoqgoppoyosaj -hxjkcppaisezygpe -icvnysgixapvtoos -vbvzajjgrmjygkhu -jinptbqkyqredaos -dpmknzhkhleawfvz -ouwwkfhcedsgqqxe -owroouiyptrijzgv -bewnckpmnbrmhfyu -evdqxevdacsbfbjb -catppmrovqavxstn -dqsbjibugjkhgazg -mkcldhjochtnvvne -sblkmhtifwtfnmsx -lynnaujghehmpfpt -vrseaozoheawffoq -ytysdzbpbazorqes -sezawbudymfvziff -vrlfhledogbgxbau -bipdlplesdezbldn -ermaenjunjtbekeo -eyaedubkthdecxjq -gbzurepoojlwucuy -rsiaqiiipjlouecx -beqjhvroixhiemtw -buzlowghhqbcbdwv -ldexambveeosaimo -fpyjzachgrhxcvnx -komgvqejojpnykol -fxebehjoxdujwmfu -jnfgvheocgtvmvkx -qmcclxxgnclkuspx -rsbelzrfdblatmzu -vexzwqjqrsenlrhm -tnfbkclwetommqmh -lzoskleonvmprdri -nnahplxqscvtgfwi -ubqdsflhnmiayzrp -xtiyqxhfyqonqzrn -omdtmjeqhmlfojfr -cnimgkdbxkkcnmkb -tapyijgmxzbmqnks -byacsxavjboovukk -awugnhcrygaoppjq -yxcnwrvhojpuxehg -btjdudofhxmgqbao -nzqlfygiysfuilou -nubwfjdxavunrliq -vqxmmhsbmhlewceh -ygavmcybepzfevrp -kgflmrqsvxprkqgq -iaqyqmcaedscmakk -cvbojnbfmrawxzkh -jjjrprbnlijzatuw -lcsudrrfnnggbrmk -qzgxbiavunawfibc -gnnalgfvefdfdwwg -nokmiitzrigxavsc -etzoxwzxqkkhvais -urxxfacgjccieufi -lqrioqhuvgcotuec -dydbaeyoypsbftra -hhrotenctylggzaf -evctqvzjnozpdxzu -tbpvithmorujxlcp -pllbtcbrtkfpvxcw -fzyxdqilyvqreowv -xdleeddxwvqjfmmt -fcldzthqqpbswoin -sgomzrpjfmvgwlzi -axjyskmtdjbxpwoz -hcvaevqxsmabvswh -lfdlsfcwkwicizfk -isjbwpzdognhoxvm -oqnexibqxlyxpluh -zqfbgodsfzwgcwuf -kvmnwruwsjllbldz -kghazimdyiyhmokj -uiktgpsxpoahofxn -zkdwawxargcmidct -ftbixlyiprshrjup -nofhmbxififwroeg -mcdaqrhplffxrcdt -fbjxnwojcvlawmlb -rizoftvwfdhiwyac -eduogrtyhxfwyars -zoikunqxgjwfqqwr -zxwbbpmvctzezaqh -nghujwyeabwdqnop -vcxamijpoyyksogn -jnckdbuteoqlsdae -jurfqqawafmsiqwv -inepmztrzehfafie -tznzkyvzodbrtscf -xewbavjeppflwscl -ucndzsorexjlnplo -jpxbctscngxgusvu -mfmygcllauzuoaok -oibkuxhjmhxhhzby -zjkslwagmeoisunw -avnnxmopdgvmukuu -jmaargejcwboqhkt -yacmpeosarsrfkrv -iqhgupookcaovwgh -ebjkdnxwtikqzufc -imdhbarytcscbsvb -ifyibukeffkbqvcr -aloighmyvwybtxhx -yszqwrutbkiwkxjg -xyholyzlltjhsuhp -gykhmrwucneoxcrf -badkdgqrpjzbabet -sunaucaucykwtkjj -pumqkglgfdhneero -usgtyuestahlydxq -xmfhflphzeudjsjm -knywgmclisgpootg -mtojnyrnvxtweuzb -uuxufbwfegysabww -vobhwwocqttlbsik -yuydfezeqgqxqmnd -wbqgqkwbibiilhzc -sfdmgxsbuzsawush -ilhbxcfgordyxwvp -ahqoavuysblnqaeg -plwgtvpgotskmsey -ewjcmzkcnautrrmp -tyekgzbznlikcyqj -bqzctiuaxpriuiga -bimvbfjkiupyqiys -mpqtbcxfhwymxncw -htemlptvqhharjgb -mqbsmsruwzzxgcxc -zjyedjwhnvteuaid -pzoelkoidwglpttc -efydnsvlfimvwxhx -gfyhgoeiyjcgfyze -deqtomhwopmzvjlt -casafubtkoopuaju -yylsfarntbucfulg -mgjwsormkjsrrxan -lkkenpupgmjpnqqd -tegweszyohsoluot -lihsfdwxmxvwdxna -rrefrjjxerphejwb -guuazonjoebhymtm -ysofqzmfmyneziki -lmjgaliatcpduoal -qzthcpjwtgahbebr -wvakvephyukmpemm -simxacxxzfoaeddw -aetgqmiqzxbvbviz -jxlmhdmqggevrxes -mmuglnjmuddzgaik -svopsqhtrslgycgc -xnvcsiiqrcjkvecn -kkvumxtvashxcops -bduflsdyeectvcgl -vfrxbwmmytjvqnsj -eeqtdneiyiaiofxw -crtbgknfacjtwkfl -uuutuoxdsxolpbhd -lcrztwzreaswovtn -htorkvnvujmjdqzj -wttzuzvrzlyhfzyf -oraewznfwgdsnhuk -rctlkqqvkwbgrcgk -cfehrsrqhzyiwtmz -kbvxwcumjkhvjpui -xxlocexbmniiakfo -gtknkkzvykmlqghl -kcjuxvkuimhwqrtk -vohekwkuyuoacuww -vorctgughscysyfo -zmjevqplngzswxyq -qhswdrhrijnatkyo -joakcwpfggtitizs -juzlwjijcmtswdtq -icbyaqohpkemhkip -rpdxgpzxncedmvzh -rozkmimbqhbhcddv -wkkypomlvyglpfpf -jcaqyaqvsefwtaya -ghvmtecoxlebdwnf -lqrcyiykkkpkxvqt -eqlarfazchmzotev -vqwndafvmpguggef -dbfxzrdkkrusmdke -cmjpjjgndozcmefj -hbrdcwjuyxapyhlo -mmforetykbosdwce -zynfntqwblbnfqik -sodwujfwlasznaiz -yyvrivjiqnxzqkfp -uldbskmmjbqllpnm -fyhhrmrsukeptynl -hpfjekktvdkgdkzl -bozhkoekcxzeorob -uvpptyfrzkvmtoky -hkhfprmjdpjvfkcb -igxzwktwsqhsivqu -qceomwysgkcylipb -cglateoynluyeqgc -xcsdfkpeguxgvpfh -owjhxlcncdgkqyia -rpbmrpcesiakqpna -lueszxiourxsmezb -zelvsowimzkxliwc -vzxbttoobtvdtkca -pfxvzphzwscqkzsi -edsjorainowytbzu -ipsegdaluoiphmnz -mkhueokfpemywvuw -urxdnumhylpafdlc -ggluurzavsxkvwkl -ctclphidqgteakox -tfobosynxsktajuk -jzrmemhxqmzhllif -eemwekimdfvqslsx -yjkwpzrbanoaajgq -rlxghzanuyeimfhx -hozbgdoorhthlqpv -obkbmflhyanxilnx -xojrippyxjmpzmsz -ukykmbfheixuviue -qivlmdexwucqkres -rmyxxipqkarpjmox -fgaftctbvcvnrror -raawxozucfqvasru -dinpjbdfjfizexdh -gybxubwnnbuyvjcr -qrqitdvyoneqyxcg -jqzcfggayzyoqteo -cikqpvxizpdbmppm -stfpldgyhfmucjjv -slzbcuihmimpduri -aufajwfrsorqqsnl -iylmzraibygmgmqj -lcdyfpcqlktudfmu -pmomzzsdpvgkkliw -zpplirgtscfhbrkj -mvhyerxfiljlotjl -ofkvrorwwhusyxjx -xngzmvcgkqfltjpe -yxfxaqipmysahqqq -sdqafdzgfdjuabup -qcqajmerahcdgxfv -xqimrqtupbapawro -qfvkqwidzzrehsbl -himixxvueksiqfdf -vgtfqpuzxxmhrvvd -adiioqeiejguaost -jnzxuycjxvxehbvm -xedbpxdhphamoodk -jsrioscmwlsfuxrg -mtsynnfxunuohbnf -enamqzfzjunnnkpe -uwcvfecunobyhces -ciygixtgbsccpftq -ewjgcronizkcsfjy -wztjkoipxsikoimv -jrgalyvfelwxforw -imylyalawbqwkrwb -yflwqfnuuvgjsgcj -wkysyzusldlojoue -zopllxnidcffcuau -bscgwxuprxaerskj -zvnvprxxjkhnkkpq -nejwxbhjxxdbenid -chryiccsebdbcnkc -guoeefaeafhlgvxh -nzapxrfrrqhsingx -mkzvquzvqvwsejqs -kozmlmbchydtxeeo -keylygnoqhmfzrfp -srwzoxccndoxylxe -uqjzalppoorosxxo -potmkinyuqxsfdfw -qkkwrhpbhypxhiun -wgfvnogarjmdbxyh -gkidtvepcvxopzuf -atwhvmmdvmewhzty -pybxizvuiwwngqej -zfumwnazxwwxtiry -keboraqttctosemx -vtlzxaqdetbhclib -wjiecykptzexuayl -ejatfnyjjdawepyk -mpcrobansyssvmju -gqukndzganeueabm -ukzscvomorucdnqd -wfydhtbzehgwfazx -mtwqdzlephqvxqmx -dltmlfxbjopefibh -atcfrowdflluqtbi -vowawlophlxaqonw -vblgdjzvwnocdipw -uzerzksmkvnlvlhm -ytjwhpaylohorvxd -siprvfxvnxcdgofz -cbhjupewcyjhvtgs -apqtozaofusmfqli -tmssrtlxfouowqnr -ntutrvwnzzgmokes -zrsgpwdzokztdpis -nrobvmsxtfmrqdhv -kadkaftffaziqdze -yrovbgcyqtlsnoux -modheiwuhntdecqs -gzhjypwddizemnys -gaputpwpcsvzxjho -bgmouxwoajgaozau -oxuapfrjcpyakiwt -kntwbvhuaahdixzj -epqjdjbnkxdnaccx -dspltdvznhypykri -tdrgqmbnagrxdwtt -njfqawzjggmemtbg -chpemsgwpzjpdnkk -fpsrobmbqbmigmwk -flxptsrqaazmprnl -nzdunrxlcbfklshm -miuwljvtkgzdlbnn -xbhjakklmbhsdmdt -xwxhsbnrwnegwcov -pwosflhodjaiexwq -fhgepuluczttfvqh -tldxcacbvxyamvkt -gffxatrjglkcehim -tzotkdrpxkucsdps -wxheftdepysvmzbe -qfooyczdzoewrmku -rvlwikuqdbpjuvoo -bcbrnbtfrdgijtzt -vaxqmvuogsxonlgq -ibsolflngegravgo -txntccjmqakcoorp -vrrbmqaxfbarmlmc -dzspqmttgsuhczto -pikcscjunxlwqtiw -lwzyogwxqitqfqlv -gsgjsuaqejtzglym -feyeqguxbgmcmgpp -gmttebyebdwvprkn -mzuuwbhzdjfdryxu -fganrbnplymqbzjx -cvsrbdcvhtxxdmro -scmgkjlkqukoamyp -fkgrqbyqpqcworqc -hjsrvkdibdjarxxb -sztzziuqroeidcus -pxdfvcpvwaddrzwv -phdqqxleqdjfgfbg -cqfikbgxvjmnfncy +^.^^^.^..^....^^....^^^^.^^.^...^^.^.^^.^^.^^..^.^...^.^..^.^^.^..^.....^^^.^.^^^..^^...^^^...^...^.
\ No newline at end of file diff --git a/src/main.rs b/src/main.rs index aea2771..1b45818 100644 --- a/src/main.rs +++ b/src/main.rs @@ -43,6 +43,7 @@ extern crate test; pub mod util; use atools::{CollectArray, prelude::*}; +use itertools::chain; use lower::apply; use md5::{Digest, Md5}; use memchr::memmem; @@ -60,40 +61,15 @@ pub use util::prelude::*; #[unsafe(no_mangle)] #[implicit_fn::implicit_fn] pub unsafe fn p1(i: &'static str) -> impl Display { - let mut max = 0; - util::iterg( - ((0, 0), Vec::<Dir>::new()), - &mut |(po, pa): ((usize, usize), Vec<Dir>)| { - let open = (util::md5s( - &[ - &b"udskfozm"[..], - &pa.iter().map(_.turdl()).collect::<Vec<_>>(), - ] - .concat(), - )) - .bytes() - .carr::<4>() - .map(|x| matches!(x, b'b' | b'c' | b'd' | b'e' | b'f')); - - ([Dir::N, Dir::S, Dir::W, Dir::E]) - .into_iter() - .zip(open) - .filter(_.1) - .flat_map(move |(d, _)| d.lim_add(po, [0, 4], [0, 4]).map(|x| (x, d))) - .map(move |(x, d)| (x, pa.iter().copied().chain([d]).collect::<Vec<_>>())) - }, - &mut |x| x.0 == (3, 3), - &mut |x| max = max.max(x.1.len()), - ); - max - - // .unwrap() - // .1 - // .1 - // .iter() - // .map(_.turdl()) - // .collect::<Vec<_>>(), - // String::from_utf8_unchecked( + infinite_successors(util::nail(i.as_bytes()), |x| { + let x: [u8; 102] = [b'.'].couple(x).join(b'.'); + x.windowed::<3>() + .map(|x| b".^"[matches!(x, b"^^." | b".^^" | b"^.." | b"..^") as usize]) + }) + .take(400000) + .flatten() + .filter(*_ == b'.') + .count() } fn main() { |