Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import os
- import traceback
- import subprocess
- sys.setrecursionlimit(2000)
- a="""
- QSCZDOPPDLVJDJKIIYDACIZEDFGXJDDMINIBOOAKAPUOCDFLWRYIGDNKLJLBRYMQDFLQBCPZIRHJSXUHBHHMQHV
- LEQSDBQOTAVHHFFLRAETGSMQUICPSIYINTSDSAOLWZNZFBINKFYFCVKBSFKAPPXHQQSMHNGNWKLISYDFXUNBKGI
- DCLYCBVRIHHKEMWJTESNKHEXEFCOGVQIUFGBWOHSCPFDBKPQWXNZEBBMQOFYSLJONAXRFPUYBGMFKSKPMVHGMYZ
- ZSFDWDVRMZZHOZQFSBRZODLEYZHGEBJCLGVLWPLIAYSMLGRPJKEOGGRIEMFCELNDKMFEENRKFKHBHLEUAYEJTQQ
- OEGPNROOHPGUGYQBICHJMXWUZKESTTHKFUXDJTRVLCGZRTEITBKREUEVVFLHQGEZYYSIKBUIOLAVWRQVRCBBIRL
- YOLLKAAZFYACIELVJRPWZXPBJJJEMEOCBBAPBYRBIGMRSRZTIVKFHPROHTCZOOIZGBHYSOAGEQKHUKXRSMQPZZI
- OYZKOGRNCDMOPOOKQPVNUVKAQCWNTEGWCISCOIBYOUHAKEDVWKFAKDCUZOHIKRGABRKHFGPNDQXBBXHDCNDGBAF
- FACVHVYGIVPFBLSYPCOFUNJHQLTARZCVNDFXKTUUCLQLBILAYIFZCWUQPACEYFAWFQHGJMUVGXSAGDSZMUNQUAI
- XOEFGQPXLJRGZKFRSOVBNKRVHSBABQGGEJSRCRQUXSVFIXHTJHDXSVCUWBPYMFZBKIWSJJAIXUIAGQWYTPSHLBP
- PGWXFDAKSUVSZVNEFOTOFIQFYYALQHSWLPPRIWCBLCKHKXKLLRDKNAFTGGBFEORRVUOUFRRNOQBDOBNZCBQAAIG
- DVDLUFXGJJFJNZGPLXYIHVECHUHQHGFWDNTXPNWIQTETCLHBRXSYRDBWRBXSZZQTZGZTETMWRJPEVPDGMOBBXDR
- WOBBKELZYGICASVUGYRPSHEYXKRRFODUKFETTONYEHHGALPIAEQHESKMCAPFMHTBOWRNOCALRRNVAPYZABYJZSY
- CCBKQHOBRCVAQTGAZBWCQGHSVBDYMZCINZVWLENFHNPFKUBONJCLKSMKSLYERMDRKUFRQOSHDUBNXRTYBMBKRWV
- CIXZFYGZZCXRRHUVMZULQOGYVDFNZXTCXNZREPRQRFZBERABOCHXLDUOPQURIAIHWJPCOSOBPVZPDFOYCRRTEKW
- FBLJRWLUZJDUEKMPJUXDGZKCJOLAQFTYYOHDZJTYXKRXRZJOXNXJXFNLVEYHQMRBDUNRKTFSNBSZQTQWQXFBAXD
- DGUZTWIUXREFXMMSLBVNBZUFVJMRYGPCYAFKWPEWNZBOZNNLAMRGQDTIQNAALCIDPGGFCDLTEFJZUBMGICNUYOT
- BFXQZMTVHPBZRWWDQHNVRIVVVYKLYCLUOXKBHXDICODWIRLBSLJMRXQCSXBZRRUDPJGGXBAUMGQXZHCRRSEKBQV
- XLXSWNYGQVFGYIYAPQCANFKTFNFEFUCIZILVYIYPPYXUUMFKQTDEXQTEHRILULKUEZRDBBXGEKEFRHJBBFGFDXY
- PJQTCLRIDFTTYUAZFERNBNAFLOKRIYAMWRHSVQZCLSXUIQGENPHVFRPGDKSDQODWJTEDOUWKCEMDDGBFOTSASYW
- NYFLEWUEXLEGBQRHBTYRAFNOEEGMNRSHNEPRNBLATANCIDRLJKVZZSABUEXKIJDZELONJFCXLIXUUGNHFUBAOYM
- AWFCIIATEDFLTBGXAWQUXPFQGPHNDYKUAPZXADLAMVFWSKEVSNWUOXOFTUJECAIYYVETLBARZFCHTGRDHAEJWRE
- KTMEWUZIKREHTDFRSFVRAHRVGXYMDHBJRHOONSLPDVCGPWATZAORQDLHJYCCGFJPIENRUHUKWWUGYUYVBLVFJJJ
- TUIREALEBGFLIAPCGSMRGKEXDVQEPAZSYFFCPUOUTENAIDUHUXCFDPFKSYCRCMXXCZVLOBNASDMRADUMHMCVHCR
- KHIFWXBMXTIFBUVYDOIKRWTAJZCTLICDYTMHNLVFCIEXLTUKLMZBCVLTGPZEMAYONRAQIWUDXKRDQWZZVEEQFAN
- MEKNMOOFLOZQTNAALCQXBYVVVDLPLWCZRJPQYBYIXKBPHYUTZGXAZKDKKOORKWIPUFWGFENANBWUANKSSLVJLZK
- UJWBPABFPWBVVXMHZRYBYVNRORMWJANKTLZUQPEDBFITOGRVYPTBKOUNCRTHOZFKKJNBHTLRTBHMZWMEMLYDSNL
- GLSTBTUPIELKTRYKTOMFKFDYVTJENKNZVHXWRVDNQXCTHFGNIBPNYQREBAYKWEJFSSAZZFDZYNSENZOBVFREYKT
- MIJYCWBCVZNYVRAYHTVHIXFIYLVOMKSXYKHSEMSQAHXDMPNRNHXADYLSOUPBBNWHFVRGQYKIROVMUSPLKGLPEYX
- UPPURZQCWCSFXXNERTTVRGUVFGYRGBAPYAVXBYNVWNXBIWCCDQGTVVTMMYEZISYCYIXOYTNGXFBIKWOMYWMXJYK
- AXKBAAFHXNWQUVIZWEQVEYTOOHIIPCQIRCPXAIIGQCUCBMKXHQVPXLJBBQUBHFREXXAKZRFCJWRPEXIVISJNMZD
- PBLLHNGAYBYXLZLXUSHLBMHNSCOMAISXGHTDGFKNFKAWEHMCORLVPWBZIHFFSZIRNXBXTNUCNDCVEWJDDYNEUXP
- HELXQGZEGHBMTOPKLBMDAVUTWTBTNXRLGPALVGKGVHDLFNAWYQSSDGNFDSYXSESNJZMNPNXZHFCNZSYWNKVUXRV
- JIWGQGVDRHPEKSGPOJQZVVYVOQBZENSPRZSESEAYBMZYNNLPCOHNZNYSJKDRBJWAELERHUQIOARLCWGHBRGVEZE
- BRRORKPVPKSNZVTFNQRHPEGLVLWOUNCGHJKDVEMAXBHXTHZTEJHMJUEJETUNZRROMRPMPZLADRRFGZIQLQIFHBL
- PQSHJFUFQMYNFQYFIEIQNLYJPCCENNYBUSSGQBCYPTFCCDBCVOLRDPMXZRPVRHLLRAIBJPGQMUUDYITTCAHIQHV
- EZNJQXVTUOERGGOHAFRAQPBHWMTKBUNJUPHVCKBYWXFEJOJDMYENBWCOWCJYDORXNQPRPNQCKTRRGWUCKEJALOM
- OMWVUDXPKWSPEAEAFDYARVHOCTJDSQINPXTFIJFVSUCKDQMAAFYWEDWUFCACLWEYKARBLVAGKYJYYDOBAWZZGAN
- YMGQYKBMHUPZCBCBLVSENHYTBZRMZGYNPVXBKDGTWRTEQJGDRYQRUADUYIGTAETVXMYZEFBHORTHYAWSYUOFWAX
- YNZNQEVANQSOPQRULQLAAOBBAKYNJJASDYPAVBMIRUSUGTUZUMZDGRFRDFWYXPADQNHFNCGWPXJLSKNXJLWGCFG
- BCGYUXFUFZJWOTHIIYCZRLPTSFGRXMZXVFXWBEZTHMACBKRBCHNHNGUVWXZZBSPJUXAREWBFDIGBEKRPSEHEZNK
- NWDFKTUAXMASEQITSBYIHZNCORROTXEPXVCSEKQYDAMMNFXFJPYJOQRASAFUOYNWBNSRXXYEUNZXANYRUSNHLFN
- PUOISRVTIWVQYKHJIEHNZTGYHXBHCHIJGKOMQTHJZVBIPXMZSPBLFREKYVLCPZRVNJDVHTNQNDQPIBYVPSCNJXZ
- RWRUSFXTFQGKDOBZZQPTMFURVVYJHLMYUQATSTQRLKEWZOSOLWEELTVZEOAVZPJIMPWYJQACOYMMQPUYLOGDJVS
- MNUBIKNSYEENCSTGVSSLPVUSUJURIDAJMCVEYKHRZYMHQEERPRLEPBSNSNGYVSSXMIDGGHNOFTOHAQZNYTUHGJS
- PAUEKEJPKCMJTKBXRRIRBAJCHNRDFYHTUBVCEOICQVQENZBHAZNTIESMXOZEWASWZRUSBEXCGFSVUUENLXLNBDA
- RNVHHRNFEGEPIUUOHYSIQELTQKUJVQTIHMVLVVFXYGFSRIIZVQECEHRYCZSBRBKPYQXOJENYKNGCFTOSUXJKEYR
- NACAUQOONYZTUXVOJGFGTHEOGLPZZEMMMDLUASXNAILMMBJUUGPBEEMSRSJRAWVOZTNVCNARMMWPNUTCCUBAIRQ
- ENRGRSEWOGJIMRTBXPHXQVFSRNPFNKBPTULNQYNFXOLXWECUMZUPLJCRLUMGMYMEDOIOBSROGWXHUEBBJYBENRM
- SJCHNZSTLRBUORQZIUCSDHZMYRAXPRYPBTLDRCCPLSEGREUZINRWNNBGHJLWKPVVIGBAOAPMMYUVDOTCUJKEYHC
- QDNIVVZPVBEXGUKBAYLTNRGYRXJTGBHLKAMWZAVZRFWWXVGASLEKLOAWPNAKXOIZMXRXWVCCFFOIWPLNVAZCQPA
- APFWYPAFHXGGRZUGSRDQGUVAEWEGIDAOAWWXFNZVHPGVKENUVUVXSTQEEHHMEZHYBEVITORQBFKARMGMKCINHKE
- KWABSHDZZMJOXARGDLVXVQRQIKDTTTBEUZAVLGXHFHVTEDUJZYFWDURKAYLIHILGBAOPZKBWZWHCFUHNECMGGEZ
- IFVTKCCEHPNMOYGRESWXNFZFCSAPHLERNYRCHUEWYSOYHFFZALRANRELWSZDPCWZNVUPZOIARCDRFLYPFSIKANC
- CSMMTAQANEZBKGRNFJIPLZFQCKZTEXCWOQNLAQGVSSKTGPSJJYOBYTSMVNQRAANZYXNELILNKNSTZGXJUBXYRHQ
- RJNBCLQUKCCKPQIVEYAASBVMXQHJHOOKGQFOTCVCAQVYUHYTUIBOAKBJGOJPGVXZPYIUMGGPCCAKJSIOTCGWYAG
- DXYWIQZPOFEUPEEDABWVDXHSDZLAGNCCIGEPYVSEXRGONEAYHBSPMVCFFXHIERQOCUDGEXCLZZEXVQHCQHIMYSN
- MFWUXISFRTFQLBBGEURDZRYXXOIZNODNHYSWUJBQWFGOACYGTLPZUSZTKLGNRICTYBVPQWRFURPMNJCBCRLRDTF
- BWCTTBLMGNOUOXXOUZRKGYGBALGJNFFJSXVXIYCLBBJGAXKPRQJOQSBNAPZOARQJXYBVTYGRNROSCAGZJTZDBJJ
- ZFOKEKZRCWOYYMOEGBZLWLKEEGAPEMNJEYPWKEBYVBOZROIXWHFGSDEIPMLZSNHHOICILNQCNBTVEMRFQRMCFHC
- VAETLWIEDKCVYNPLMQHJCXRMPQRUTLZCSQHOUZNGXQITYZXJFELEKSOLYQPWGPFGDWDQROADEUAYYFDNLHXCAMX
- XMOOVDLMGHOZXYKVEMBJGOBGXDGIRQXMIRFVEWYCMCPPVPPPYADJNXOYHIFOOGOSQUGTCLPRTUPDMEMGEFVMWLO
- RAGHFIZMGLBRIQMGVOBAWCLMVAFDBCNSHMRXPVMTXOFUGUBTESEPVYKEJCLVVAHGGBVONVVJFQZZLFZQAPQKYVT
- LYEESYHRARUQQBBJPNCGNVAYNZZREFEYDSNWABHVNZEBMNLZBWNYPOGFWTLZVAYBGDBUIHDDRBZXSMHCBLURZJX
- UHFGAFOACNZJRHXBDYJWHBTQCFWSTKHTUAZDUPEGDFSCRERPVBTFDLQPGQDIPJVCKGKJLXWJDCGNDERSACTRPDJ
- NNPEDORSUUXAEFFWFTRVJVBPKZWSRSSEQCHJRFWCLTFAAYVVKPARCDKAMMVUVYDGOQGCUZHZFKTJAGUHKRSQERX
- AFERQXXQTBWDPJWQGGYAJZCXQSSGFBHRTOFFMFSAPKPLORKSVSOOIXWJNKHAXLPPRPGVSUSZIBLCNSEUYOELOLO
- ASELCYVPHLGWJRIRGTQZOFTKRVUZCNIZBPZYOPYHYBNMRFRCXTSUWGSWHOQUYRQYFWFNNLBLSOVKYKEZFIUIWBO
- VVPAEWUHZYTHMATRWDBLKFHRNMZJROIKKBPFNCDGWYCLEDWPVWMNKWZATIYHSRIUNOAAFVZMAVMHETRRTWUIWZJ
- GDZBZZUPWDZIGFYZWWIJKRDCKCUIYEHEDRTRIGAMPZGWTMSOPERAFUNJZQLWGFREQDTQICINGYWFEAUMQVUXJKN
- LORYRMEZIYPYMYSEWFINQDQXNOYJIYTDOGBYQURWUDNNRZPQYJCFISEAVQQNWNFNHLULZOLXROUXKARAYQAPXCL
- TTTQPUCVYZVDVRDXJNDXIHTKRIDDVMQBTVBXPOJEKLVNEPBIMKUUUGOVWRTECNYNAFUNCVEBVBNTHXKAWARMSHG
- VATFGXYYRVFTRLPXJHACDWCHVXDGAJNQIJAPWOGRTRAXCUFXBHSRJAKORMLFMPWUYIYZJTDFVXQSRGSGJIOJMRU
- NGPIXYSMBCLYKQJYCGMMSRHKMMJGSFTHDLFQMJHAKSEEDWBPKOJFMBTINBHIOXXXPTKFVKCIRSAYOLAYTFELRHP
- CWWOKUZPWQEIDNKGUCZLSMHTKQGKVKVTTHYRBPTYHWRKEWVKZMWFRIIPYUWNKYHGHZRBVUGQVKTGWXEEFMOEHCH
- UMYEQXNZANBZRYOFKUODBGKIFPHHSUQNJAXJUEECUUTVECNTOMCYYTDUIQNPJWWCKYWEJUJBBQUBHFRSLBNDAFV
- RUCKFSLNWFABQRNSCZVIBXUZGAZJVDQAVYNREYOFPCRFJADTCPGRYXRUHOFPUDXFGRNYAZTFJUFRFDGKFCGDNHT
- BYVBRIECFPYGVFSARBVOXDOPYNQMOLOAEVWBWEOEWFAIODKEIISEBELZUEEXODPTHHGSUBVKLGDGOFYTNWATGUE
- VNCBCGUENYBNCCTUXWZLHMPLEVYSVTTVFVNNSBNUGLGGDSVZYWWLSIRIFQRVYPRWRBJBHWCIOZFUIUIJHYIGRAT
- NICLLOYYAIYGCNGGPSMMPIUVFLDESAEGIJOGUTCSFFPXABMETAMSGXXNBNUDTDYYTFVBIPQXUEESZIVUKQQHORG
- UGKLBGNFQTVPECLLVNWUHQHEVSMBADBOZWZBAMANINYNZPBOCBHBEZOJKAVBPAOBWDUKHOGAEJCDTXAGWGQEGQL
- TGCOTGTVHTXTZXXKGFFXEPFRHHEDFGFVCLMVKLUSHNNUKRYKEUCRQAHNTAJAKOTJVFVURSNRCVLJWUSKKRZTRTL
- VPRUJYWSFXKWFOOEWMNXFUZTOCKIUEHJUVYNRRXHIEHQVYEUPJABNAFBCHALWWCLAKPJGGUGMJRSWCWLKXWYUPR
- QSRYOOMTVVCJJJJVPZNEVBFRIVABBZCKGESTVEJPDLQTRWCRANJDLLEQFBIYGAFSHSDEZMRFXFYTQTAHZBPBZIC
- NQRDYJFWALAHKIOUEWADTCBEBQARLQBZRQOQZKSOVEVCAOYZQFKIMFGSLELUJGHYJVXYAEROMNOLRTHOTDHGRFT
- BZZCOMXZTKEKRVYEQGOZQVQZGNHOZMAGFERTGVLYKOBLIHZPOPVLRENVVFZMVWBJOGOVWLMYIDCJXEAJKHHNTNW
- YDMUZCWRURMALRBRARGRLTBWPKZUFFFTTALNZBWZDVADCQAEMTBDKZTNZUJQORCQVTMFYAFGRYMOBZJUQXYLZHS
- INCDKPPOMVRVEVWDPPURELYGHAGYFCMOTXULVNYGGYIKHKLLPMIOFNZXFMICTAURATMMDCUXHEQRCEXJFYNLTUE"""
- pcblines = a.splitlines()[1:]
- pcb = []
- for i in range(87):
- pcb.insert(i, [])
- for j in range(87):
- pcb[i].insert(j, pcblines[i][j])
- b="""
- .......8.......8.........8.........8.........8...........8.......8...........8.........
- .8888888.8.888.8.8.8888888.88888.8.8.8888888.88888.88888.8.888.888.88888.888.8.8.88888.
- .........8...8.8.8.8.......8.....8...8.....8.8.....8...8.8...8.8...8...8.8.....8.8...8.
- .88888888888.888.8.8.8888888.888888888.88888.8.88888.888.888.8.8.888.8.8.8.8888888.8.88
- .8.....8...8.8...8.8.8.....8.8.8.....8...8...8...8.......8.8.8.8.8...8.8.8.....8...8...
- .888.888.8.8.8.888.8.8.88888.8.8.8.888.8.8.88888.8.8888888.8.8.8.8.8.888.888.8.8.88888.
- ...8...8.8...8.8...8.8...8...8...8.....8...8.....8.....8...8.8...8.8.8...8...8.......8.
- 88.8.8.8.88888.8.888.8.8.8.888.888888888888888.8.88888.8.888.8888888.8.888.888888888.8.
- ...8.8.8...8...8...8.8.8.8.8.8.8...............8.8...8...8...8.....8.8...8.8...8...8.8.
- .888.8.888.8.88888.8.888.8.8.8.8.8.888888888888888.8.8.888.888.8.8.8.888.8.8.888.8.888.
- .8...8...8...8.8...8.....8.8.....8.8...........8...8.8.8...8...8.8.8...8.....8...8...8.
- .88888.8.88888.8.8888888.8.888888888.888888888.8.888.888.8888888.8.8.88888.888.88888.8.
- .......8...8...8.........8.........8...8.8...8...8.8...8.8.......8.8.......8...8.......
- 8888888888.8.8.8888888888888888888.888.8.8.8.88888.888.8.8.8.88888.8.88888.8.8888888888
- .8.......8.8.8.8.........8.....8.....8.8...8...8...8...8.8.8.....8.8...8...8.8.........
- .8.88888.8.8.8.88888.888.8.888.8.888.8.888.8.8.888.8.8.8.8888888.8.8.888.888.8.888.8.8.
- .8...8...8.8.8.8...8...8...8...8.8.8.8...8.8.8.....8.8.8...8.8.8.8.8.8...8...8.8.8.8.8.
- .888.8.8.8.8.8.8.8.888.88888.888.8.8.888.8.8.88888.8.88888.8.8.8.8.888.888.888.8.8.8.88
- .....8.8.8.8.8...8...8...8...8...8.....8.8.8...8...8.8.....8.8...8...8.8...8.....8.8...
- .88888.888.8.8888888.888.8.888.888.88888.88888.88888.8.88888.8888888.8.8.888.88888.8.88
- ...8.8.....8.8.....8.....8...8...8...8.........8.....8...8.......8.....8.....8.....8...
- 88.8.8888888.888.88888888888.888.88888.888888888.888.888.8.8.888888888.8888888.88888888
- .8.8.....8.....8...8.......8.8.8.8.......8.......8.8...8.8.8...8.....8...8...8.........
- .8.8.88888.888.888.8.8.88888.8.8.8.8888888.8888888.8.888.8.888.88888.8.888.8.888888888.
- ...8.........8...8.8.8...8...8.8...8.......8.......8.8...8...8.8...8.8.8...8...........
- .888.8888888.888.8.8.888.8.888.88888.888.8888888.888.8.888.888.8.8.8.8.8.8888888888888.
- ...8...8...8...8.8.8.8.8...8.......8.8.8.8.....8.....8...8.8...8.8.8...8.8.........8...
- 88.88888.8.888.8.8.8.8.88888.8.888.8.8.8.8.888.888888888.8.8.888.8.88888.88888.8.8.8.88
- .8.....8.8.8...8.8.8.8.......8.8...8.8...8.8.8.........8.8.8...8.8.....8.....8.8.8.8.8.
- .88888.8.8.88888.8.8.8.8888888.88888.88888.8.8888888.888.88888.8.88888.88888.8.8.888.8.
- .....8...8.......8...8.......8.....8.....8.....8...8.....8...8.8...8.....8.8.8.8...8...
- .88888888888888888.8888888.8888888.88888.88888.888.8888888.8.8.888.8.888.8.8.8.888.888.
- .8...............8.8...8...8.......8...8.....8...8.........8.8.....8...8...8.8.8.8...8.
- .8.888888888.888.8.8.8.88888.88888.8.8.8.888.888.8.88888.888.888888888.8.888.8.8.888.8.
- .8.8...8...8.8.8.8...8.....8...8...8.8...8...8...8...8...8...........8.8.8...8.....8...
- .8.8.888.8.8.8.8.888888888.888.88888.88888.888.88888.8.8888888888888.8.8.8.888888888.88
- ...8.8...8.8.8.8.8.......8.....8...8.....8...8...8...8.....8.......8.8.8.8.........8.8.
- .888.8.888.8.8.8.8.88888.8.88888.8.888.8.888.888.8.8888888.88888.8.8.8.8.888888888.8.8.
- .....8.8.8.8...8.8...8.8...8...8.8...8.8...8.8...8...8...8.....8.8.....8.8...8.8...8.8.
- 888888.8.8.888.8.888.8.88888.8.8.888.88888.888.88888.8.8888888.8.8888888.8.8.8.8.888.8.
- .....8.8.8...8.8.....8...8...8...8.8.....8.8...8...8.8.......8.8...8...8.8.8...8.8.8...
- .888.8.8.888.88888.888.888.8888888.88888.8.8.888.8.8.888.8.888.888.8.8.8.8.888.8.8.888.
- .8...8.8...8.....8.....8...8.......8.....8.8.8...8.......8.8...8...8.8.8...8.8.8.8.....
- .8.888.8.8888888.88888.8.8.8888888.8.88888.8.8.88888888888.8.8888888.8.88888.8.8.8.8888
- .8.....8.......8...8...8.8.8.....8.........8.8.8...8...8...8.........8...8.....8.8.....
- .888888888.8888888.8.888.888.888.8.888888888.8.8.8.8.8.8.888888888888888.8888888.88888.
- ...8.....8.8.......8...8...8...8.8.8.........8.8.8...8.8.........8.8...8...8.....8...8.
- .8.8.888.8.8.8888888888888.888.8.888.888888888.8.88888.888888888.8.8.8.888.8.8888888.8.
- .8.8.8.8.8...8.........8...8...8.8...8.....8...8...8...8.....8.....8.8.....8.8.......8.
- 88.8.8.8.888.8888888.8.8.888.888.8.88888.8.8888888.8.888.888.8888888.888.888.8.8.8.888.
- ...8.8.8...8...8.....8...8...8...8...8...8.........8...8.8.8.......8...8.8...8.8.8.8...
- .888.8.888.888.8.888888888.888.88888.8.888888888888888.8.8.8888888.888.888.888.8.8.8.88
- .....8...8...8.8.....8.....8...8...8.8...8...8...........8.......8...8.8...8...8.8.8.8.
- .8888888.888.8.8.888.8.88888.888.8.8.888.8.888.88888888888.88888.888.8.8.8888888.8.8.8.
- .......8.8...8.8...8.8.....8.8...8.......8.....8.8...8.........8...8.8.8.....8...8.8...
- 888888.8.8.888.88888.88888.8.8.888888888888888.8.8.8.8888888.88888.8.8.88888.8.888.888.
- .....8.8.8.8.8.8.......8...8.........8.......8...8.8.8...8...8...8...8...8...8.8...8...
- .888.8.8.8.8.8.8.8888888.8888888888888.88888.888.8.8.8.8.88888.8.8.888.888.888.88888.88
- ...8.....8.8...8...........8...8.......8...8...8.8.8...8.....8.8.8...8.8...8.8.......8.
- 88.8888888.8.8888888888888.888.8.8888888.88888.888.888888888.8.8.888.8.8.888.8.8888888.
- ...8...8...8.......8...8.......8.8.8...8.....8.8...8.......8...8.8.8.8.8.8...8.8...8...
- .888.8.8.888888888.8.8.8.8888888.8.8.8.8.888.8.8.888.8.888888888.8.8.8.8.888.8.8.888.8.
- .8...8.8...8.....8.8.8.8.8.....8.8...8...8...8.8...8.8.......8...8...8.8...8...8.....8.
- 88.888.888.8.8.8.8.8.8.888.888.8.8.8888888.8.8.888.8.88888.8.8.888.888.888.8.888.88888.
- ...8.......8.8.8.8.8.8.....8.8...8...8...8.8.8.8...8.....8.8.8.8.8.8...8...8.8...8...8.
- .8888888888888.888.8.8888888.888888888.8.8.8.8.8.888888888.8.8.8.8.888.8.888.8.888.8.8.
- .8.....8.......8...8.......8.....8...8.8...8.8...8.........8.8.8...8...8.8...8...8.8.8.
- .8.888.888.888.8.888.88888.888.8.8.8.8.88888888888.88888.88888.8.888.8.8.8.8888888.8.8.
- .....8...8.8...8...8.8.....8...8...8...8...........8.....8.....8.8...8.8.8.........8...
- 88888888.8.8888888.888.88888.8.888888888.88888.8.8888888.8.88888.8.88888.888888888.8888
- .........8...........8...8...8.8.........8.....8.8.....8.8...8.8.8.....8.......8...8...
- .8888888.88888888888.888.888.8.8.888888888.8888888.888.88888.8.8.8.888.8888888.88888.8.
- .....8.8.8.........8...8.8...8.8...8.....8.....8...8...8.....8.8.8.8...8.8...8.......8.
- 8888.8.8.8.8888888.888.8.8.8888888.8.888.88888.8.888.888.88888.8.888.8.8.8.8.8.8888888.
- .....8...8.8.....8.8.....8.......8.8...8.....8...8...8...8.....8.....8...8.8.8.8.....8.
- .88888.888.8.8.888.8888888888888.8.888.88888.88888.888.888.88888888888.888.8.888.888.8.
- ...8.....8.8.8...8.....8.......8.8...8.....8...8.8...8...8.8.........8.8...8.....8.....
- 88.8.88888.88888.88888.8.8.888.8.888.888.8.888.8.888.888.8.8.888.8.888.8.8888888888888.
- ...8.8.....8...8.....8.8.8.8.......8...8.8...8.....8...8.8...8.8.8.8...8.......8.....8.
- .88888.88888.8.8.88888.8.8.88888888888.88888.88888.888.8.8.888.8.888.888888888.8.888.8.
- .......8.....8.8...8...8.8.........8...8.....8...8.8.8...8.8...8.8.......8...8.8.8.8.8.
- .888888888.888.8.8.8.888.888888888.8.888.8888888.8.8.88888.888.8.8.8888888.8.8.8.8.8.88
- .....8.....8.8.8.8.8.8...........8.......8...8...8.8.......8...8...8.....8.8.8.....8...
- 8888.8.88888.8.888.8.888.88888.88888888888.8.8.8.8.88888.888.8.88888.888.8.8.888888888.
- .....8.8.....8.8...8...8.8...8.8...........8.8.8.8.....8.....8.8.....8.8...8.8...8...8.
- .88888.8.8.888.8.8.888.888.8.888.88888888888.8.8888888.888888888.88888.88888.8.8.8.8.8.
- .......8.8.......8...8.....8...............8.8...................8.............8...8...
- 88888888888888888888888888888888888888888888E888888888888888888888888888888888888888888"""
- mazelines = b.splitlines()[1:]
- maze = []
- for i in range(88):
- maze.insert(i, [])
- for j in range(87):
- maze[i].insert(j, mazelines[i][j])
- """for i in maze:
- print("".join(i))
- sys.exit(1)"""
- c = """
- D F P M Q B C C Q Y I W Q W X V V L Q N P V M R Q S T K W Q Q Z V A V O B B N X N C H B P Q S Y J E L V T Q A X Y W Y O E L Z D Q S Y D O P C M V E U W F K H U O U U Z D U I
- Y R D F Q O D B G N I U U S S Y E N R G T F Z D H V P C F V L V A G F Q F N B Y J M A M S O V A X S L S P I X O F S X N C C K U D D F Z U A T A J X Y V F L Q S K H A O X T V
- Q P Y L P O I E V U U X R Z J W G R F A X U R K R S P B T I D V H S T O J B U F P C S Q O X C D J K A M R O O Z D B S L F Y W B A. N. K. E. S. C. H. L. O. T. Z. S X F X C Z I U T Z L M
- M F S Q J Q I E Z M M U B M D S F O E M B Q Y R L M U T R O W P Y T I Y J C Y V N L F Z Y T E C W X R B T T E V R Z S P R Y A Q X Z S R R. A E X S X U O U Y R H N L R W G D D
- B R T C A E B B U C T H T L D O V P U W Z K J H M X R F. G G U X S H K Q W G E I Y P T M E G R V G O X E R H R I I S Y U D T R M L L F V X O. H V B Y N I J E. D. I. E. P. O. O.. V. E. Y.
- L B Y Y X N N M S L N P V R Y I W E C J M K C O W W W R. Z R B P O O N C O L E O V T Z E F E M G V I X S U C E B U G P M B. B V M T O U L F B N. T R D X U H X K E F Z D. C M M V
- B L M X B T E A P Q Z B C. B B X D C I A H I X N D P J A. G R T J P V F P B V O L B H U N X R Q I J X S N X Q P H M B U V X E. T N O E X U S T C A. Q D K O O K U Q P A. Q T O N S
- S N P I U I L T V I C S O. Y F L C P B S H A W. U D Y G N. E M P I A Q S K X G H H P Y D Y O V Y N L V S M P J H D C N P R L S N. J S D U T W Z H I T. K F N T Q F M Z. H A D H N V
- K B R S T D C K Y W E T M. X S E F B I O A X E I. U F O N. O D T T R W F E P E D H K F I S V K U G W U Q K F I P H J O C L Z S M O. X V J F W W N V K H. V N T D J L. G C F U Y O C
- C T J K S Q N X F H I F M. I A R S B G B S V D S L. L N Y. D U F J Y C C E V J P O Y P X U X K X Y Y E Q X A N S G T T. O S R B E E I. H B H S E E A B D O. Q B O A. M P O D N N V T
- Q I Q Y H S K T W W S W A. M T C Y K L V U I R. P U H. U D. U T S J Q A G K C A J V D G R G P Y U O E K F L E Q O J E O. K F M M D G M T. M G R G Z J E W C R. I C. Q T Z B O O K Q E
- J B O O X R Y M L T V P N. F I H. T L E C F U. R L K X E. E. S B Q H X S R G G B A L R U U T N Y C. V N R D U R F X Z P N. C S Z U G O B J E A B P N Y E E A I N.. C L M N O L W M F L
- P P O X D U B O E P I N D. G T. N M O J P D. T U F I O Q L.. Z M P V A M I J Y R A S U A C S X H O. B A W P Y X F Z X F Y. L R E Z Q E X H S. E D B F U Q H O A. K E G L O Z O X E J I
- P V K M S L T M M P K E E. U. H I Z M H Y. D B T L I Q S A. M. K G P K A M. E. R. C. E. D. E. S. M. O. R. E. N.. O. B P U K Y Q H B C D. H E V N V U J W C. P B F B O C I M. C Q S B L P E E G R X J
- S O Y W E J Y H M W Q H R.. X Z C W H K Q T M X P W B Y N. D S. G L L B U Q M W G L K X E K E M W. B K A K W K S A Y I R. L U D Z E O Q H A. E X G S F A O. F M D G D J D K S O N K Q
- Q T H M G J V H K E R S K. Z Z F Y O I A O. M H S I W Z E. L T C. P L N S X J. C R J A M O B M A A. Y N Z E T D Q G V D. A.. N. N. Y. P V Q C T T. S P Q Y G R. S W M H O Z T V P A H L B G
- O S K D M Z G I U C O M E. J J Q D U A I. E V I I I L X Y. L P Y H. B K X O U. K Q V P B Q J V E Y. O F Y W Z E K D P F K. O M E E H Q C W T. T K O N H Z T D K M U P E E F R X O D I
- K Y K F J A L T D I S T L. V L N C D P. N A S X G S A S R S H P V M. V Y I L. V L C C L K H H Z S. X D G Q R K D G R U E. V Y H Y X H R M E. Q O O K T R X R S E U W O O S T S Q K L
- C W D G P Y E V Q S G G L. H N M S R. E A O A N S Y B X E V L N Z J. E. U F I. D M P Y F K. H V D T. R A C U I S E C T Q X F Q D B Q J W G R. Q B H J X P R Z Q Q T O S B G F N F L J
- A L S Y R J H R K Y R T O. D E U O. G L E N S A B R R T Z A E F U A. R C. E A. O Y N G N A. P V Q E. Y W X I M M F N O H R K X V W Q M R Y B. A W S P K Y V K H H T A U S H O N B L Z
- N J S P V V N G R Q S Y G. O T K. N J D H K C S D T C U A Q L X H N. C M K. N. Q Y N Z I S. J F X R. I F A J H B K B S G H W R P N V L L I R. G Y O N E M S P U G T E Q U N R. W J E R
- X G Z R J H M V X E R U G. Q S. E F S I E N U E I T K L Z Q U O W E. U B B A. F Y C Q I P. T C J N. G M N B E D Q Y U W L P P T S W C V R A. E H U H X J J H T L H L I O Y I. S W W W
- G H V E R N Y R O T S Y V N. C P T F Z E T X R K Q I D R C N M F L. S S P C. H B H G R A. N V Q H U H K P S Q C S X F L P E P Z K K P M I. Y B O A N F Q Z E N Q H Z U Z P. I U P E
- X U V S J K O Z K G V S O. H I L Q B V X E J G N W M P G Y V P Q L. G Z U A. Y I S P V R. K Y G H X Y Z M O P I Y G T C M R Z N L B A E N. D V J H Q K X E Q D J M M I R R. D S N A
- Z R X A Z B B S Y B M D. G A N N Y P D K O L I I I Q Y C Y J P M E. W C D L. O L V K X O. C U L H G M T K N M X Q X X B B E X J V C H S J. T S R A N A O J H N A X F F Y I. W Y M X
- H W J O C N O S C. J O. I I K Z U M E L O L I A E B E Z J W N A X G. Y M H D. C R Q O S V. G B T E I L C G O X B H A P E G U B M S X X W A. O U G Y E G O U. Z M J Z R Z Y L. Q F A Y
- T Y F G O G H C V R.. Y X G E L X G B Z S X S Q L I G W R A X A M I. U K J E. I Q A D K P G. U. S. T. A. V. O. C. A. L. D. E. R. O. N. L X J R W S F F N. M M S Q M L A. F. R. A. M. B. O. I. S. E.. R L X G
- Z V W L. P J O P I. M A. L I E N L U G I U V. K S V L Y I B Z X F K L. X U F R. Z F D N U K Q Z C A E A U K N Q L Y F B H C O O A J U S I E. T D L X V E. B I Z H F C Y X T Y. C R L K
- H C C H E. M D P. J P F S. K K A R. E. G. G. I. E.. T. H. I. S. T. L. E. T. O. N. C L. N. I. K. O.. L. A. I. J. A. K. O. V. J P P Q D T G I I G Z Z L R M V F L P L V K B L G A T. K S O V X J B Z L J Z K W L X
- N K X O N N. S. U K A J D H. I V M J R D I R. L G B B U V V C P D V E. P C K N. V V T D P H P O Z X K U D. I. C. K. Y. W. O. O. D. H. O. U. S. E. R K K N X M E S. P W J E C R K V I V F W A Z M Q
- C O Y Y U A T. N L. O L K Y M. Y K H F U Y O. Z U A F P B Z N V F K T. U G Q T S X A S X N J R. U Z P B E Y I C J O M V U S S F M V E A K O K G A. H P A Q P I R J W Q Q L A R H K C
- U R Y K D T M. R. T U. O Z G B C. X Y O Z Q N. I H G J G O G A K E Y T. C N Y I T X T I U Q Y S A. N J L D F F Q T A S Q F L. K F R F A W M Z A C. A K M U S P A M F L J A X I H K E I
- W V J T D T I. Q E. U C. R X F T C. B W D M I. I L I B D O M R A F C E. M F R F R N L O Z M L A A Y. C P B U A M A L F W X Q E. O W J N R Y R E. U H D V B N E Y P J T U O E T I R. M R
- O E E B E X C. I C X. F A. M I G S A. D E U C. R T Y I Y J B H A P T U W X Q I R Z N K O U K G U M G. R W U Z W H R W R G H A M. E E B Z E C. Z C M Y N Q E E S T M V D Y D V S U. O Y
- C D F U W S H. S D Z L. A S. D L S V R. V D A. Y L W C P P R A A L O H F F T D O P L C G S P P Q O P I. B Y E Q C Z K M E C I E U. Y Y E N. V O W C T D Z H H Q L V G G P N U V D. U I
- R M A W D K I. G H B. R. E.. T. T.. B. U. N. S. E.. N. D. C O U J Z G X O H A W H C U I P X O L J K S R W B W Q Z L. R A O J P B J P W L Q B E. K A. D C. E C A D P X G E E T J H P X R W N Y. B Z
- B Z J I H Q K. C X J F C R. N R. N S Q L N. E. I U B P G W Q F D V A C K G S V W S I F H P X Q D Z N N S L. J R Q J H S P N P Y J R L.. X N E O. Y I N T X L W L L Q B O N J M M T N A
- L Z T D L X O. Z U H C M P O P O. Y I F R. A.. U. L. G. O. M. E. Z. M T L A C I K O X Q T G J E G R D W T Q E L D E. H N Q H L V T G N R G I K. Z L M R. S O U B E G U L N J F L H B S J N K
- L. A. M. A. D. R. I.. N. A. D F B C D E H Y. D Y N N. B O O N X L A W W N F Q L C N I O Z V E H F H T G H M H Z M. Q T. E S. E Q S J L K C N Q D A. U S A P. T J C K W Y F X A K W Y J T P S T
- O P T L H K S. H S M W J B G U V V L. P M E. Y C G F S T E K Z M K I S K J O R M G U Z N P O X E O P U A. U A T. H. I J K M M O F C W H K N. E R J O. S Q V T O R X E C F R U R M A X
- A J Q S X G H. N K Z N F R D V G F O. L V U M A P B E E B G K R C K I P F R X D L Q N Z Z A S K S W C L. W B D E.. N F N S H B L A J O A F E. K K L. R. H A M K N A L E H F A U Y S A
- C H B V F E I. G V J I D L X U W V R. U A M G T L U K O U P U V W T X B Z D G U W M I O V C K Z M F C O. Y S E R. X L I Y P C M E I A W Q I U G A. D A. Q D C V O L I C F P A W K M
- E J E H F S K. G S D T X Q B O M M D. C G Z S H E I I L W U Y Z L H D N G F G D E Y X R J M B F B Y J R. R Y G I. M R. B N I M C W V Z C J L W D N. P B L. Z Z D C H L Y. B T Q W I F
- Z A H O V X A. F L R R A P F G T. I. F.. F. Y. C I H F H W H E V Q N W Z P I R L X U E M L Z U D R R E C E Y. R C O F. A F A. T L I F F K Z V Q T T U. A. B S G B. U N D M A. L G H U T. W F
- C. N H R X R. W. C X P Z W G X O K E E. V E O N W P U A E Q S L U G H O I P R B V P D I D R A M O U N M A. G V R F. Z K B M. R J N F J M E H F O. R K. P T S F I. H H R. A Y K Y A O. Q N
- E A. I U U E A.. S. R T R C V H H B U L. F V D R Y G D X H W I D G V U Z I Y I I S K L T S F E V V M I D R. P R U E. L P M F O. E O X C L D K B. W R A. L X A T P S. G. B F H K W X R. L E
- A N P. N H D B B. A. L M G H K I B W T. S T G U R B T Y C. M M R Z Z Z Q Y H N F K A N V Y Z Z O W H H T C. O R R Z. F E F W E N. J I B M G A.. I P A N. E Z Z J C A. H. G P P H O N V. E D
- R A E T. E F R J B. T. W V Z E G O K C. U K D I S F E A. C S A X O C G H Y A D L A S K B Y K J R P H Z M H. C Y W P. E Y H Z T Z L. Z R Q B. V B. O. F E. B T J K U. H R O. O W L O R A. E Z
- F W P U A. M F G Y E. O. H B E D M V H. P F Q U M Z L. E N K C. E L C O G Y Q E P P C. Y F R T E R H M V A E. J A A O. T U W Y J X C I. I V T O N. B. N C Z Z L H. I Q B G P. H W X R L. U P
- D Q A V I I. M C I O R. K. T H X O N L. Y G A E T L. E K W G T O. U Y X N Z J M N I M E. S J J K I T N F Y R. X Y B N. J C A N X K B V M. Z K E. K J I. P P S S. B V J C Y A I N M P D. C N
- N C S J L C N. S U K T T. E. M H T F E. Q D T H I. N R J R T V Q N. B N J J K S A M I U C. T I X R A H I H I K F G D. R R U U Z R M U L O. R. I V G B E. D O. S X N E Z T Z X P V A U. X R
- X J N O F U Q M. M Z W B K. N. E T Q Y. I K I D. E D V X Q G G G O R. H M N I Y T. K U S U I. G R. Q H W M L S J Q H E. X N L Y V U V Y T O. N.. B C M X O J.. M J U P S H U A R P Z T T. R M
- V S I G X P P R U. C A Z B L. T. E R F J K A. S M S P F N C U Y R E A. L E P U H R. J L F B L. U. S S M N Y E N A E R. Y J F M Q C P. J M. A. I H C M B V N E. P Q E S Y L C S F V X N. A P
- P F Z Z G N D N A R. M O X T E. A. S. W V C. Y M S D P X M G R K P J B D. A Y N D T I. F F X G T.. C F W W L B O L G F Z I A D E N N A.. M. L K A R Y V Y A X A. F G M T K W H O K L E. U D
- E W A O P Y D H X P P. X C D V I.. R. L N. N F O I Z K D U W U B B X T D S. B G P I P N. D I L H. U. L G H V O B N X O W T B W C T I. K. M. C L V H Z T T C P P N. X W F V B G P T J L N T
- Q K L J V D M C B S R H. C R R. Q N. O.. J I Q K U F Q M Y N T A P P V T R C. L I F R K E. T B A. R N. L U O F C Z I P S S K U V R. E. D B P. H Q T R K P Y M M R K. I D U P D U V Z L F A
- Z S J H K V F S E G S D Y. O. O. T R. H E Q M E L K K B V M A B Q A U L F J H. W O D J S T. B N. P L T. G Y C M H F M G X Y T A. E. V P G L O.. I C D J E S H E C Z A. W P. O. P. E. Y. E. Q G S
- O J P G G O Y Z T A B H B. K. K B H M E X T L T O N Y T W A S S W F K I K V L. P Y O O W T. N. K X C E D W B D F O A N C M. B. N E D W K. L O. I G L T E A E B F P N. T M W G M Q O W W
- M. S B X R X M E P J B L L. Z B R T O M Y J Y X R R T N C R Z A W R L C J X R O. L I O B M E.. B V K J U S T F Q R V C Z Y. M F A U U. B V P V. Y A D P A O G I R Z E. S D E Z P S U P
- I. N R G Y J V R Q X P I. L A. C Y Z D U W P K E Z C D E H G. Y M P F D U B H M A T. K D V G L. M. K W S R Y R X F B Y L D. C J T C S. T Q J Q D E. B N Q R H N L L S Q A. Y U K P N Z K
- K. Z B B. I Q Y Z T U B. M K L. X I R Z O W T B O T K Q T V E. D K Z V E S. I R J L P Z. P C C I. C. C. C L N Q W A K B L U. V S B B T. B F D H T G P Y. C E G H C Q Z R Z T R. S I Z J Y B
- E. N T U. S V M Z T Y. O E V D. Z T I B O N J P Y Z I N S Q O. P A F U Z E. K C I Z G K B S H T. H. O G. R F R C I L X R. W P Y I I. N U T T O I B A I I W S D M M Y S M D N C. D X L I G
- Y. L R R. F L U E N. E H D D O. O W C. A. P. T. A. I. N. L. A. M. M. E. R.. S. R L Q F A. J N O U I A M R O Z. A. Y M O. J A L C B T. S J G Y M. I N L O T Q O H V U Q Q E O M. K F Z U P O Y H. E M W K
- H. U S T. N S B N. P A M W E U. K O Q L W J U O G D P S J F G. X U G H N M. Q H C R T Q S F P E. R. E C I O. G S Q Y D C T D Q V C W I P X T X W Y K J W Q P T A. Q R E F N P G E. C Q W
- A. A C R. Q B E. F H H K N R S. S J S G E. I W I O C X M J F E. F F R D P U. W E S J P Y G S N N. L. I I X C N. E P Q X N Z Z I H I L Q T B D T P H M U M S X G W N. T H U X E F D R. E K
- N. S R E. D K. K D G O J Q C W. J D T T. L N W M P K D F F T S. O U E G B S.. S Z S F N C X C. Y B. E. X F I F B B V K J W A X U N K Y C C E C T I F H F M V O Y P A F. R H L B R Y B Y B
- N. F R Y. P L I C U Y T J W E. V E T. G D M B S G X E I H M P. A V M O C M. L. B C L U L O A. Z E. S. E P K G F H. J T F J U B D H L E D L S J S A A Y O Y F B. I X L X R. M S V H V J O B
- I. I C N. R J H U M L G U Z N. G E. J Q O Y X S U E A Z M W E. B V X X O C. S A. P Q T J L P. Y R. Q J C I J Z A. X J M N G V L U F E V H A B N N S I M Z N I. Z U R G E E. G J H V J M W
- T. Q M O. M M H C J Q M V T S. L. M J J V W X E Q P X P H V L. R U R Q E G. E V T. N Z C M T. J G. Z F B C. R. E. N.. S. H. A. W. M D Y J T S E R D Q G D V P V A T L. J S R N H Z D. I H K W X A
- Y. B E L. E Z R M V L C L Z L.. F R J S V A D Q D K A B L W V. L G Q B T O. L D H E. J H Q A. A E. M C D L W P S. V F R N I D D A J A S A U Y H Y M B Y K E B. H K X N E N L D N C K P Y
- G G G D. C H P I L M I Q I. E. Q K W A Q K V U G X E V Q Q I. Z D O G I O. K C B W R. X Y I. A R. C O V Z X H H. H T B I J E G R P A. L. A.. N. S. H. A. P. I. R. O. I O. A G U K X N J N E Z F U T
- I N G S. T K L L E I S G. E Y. C K W U N P Q J P U I K Q T N. W A D V W N. C J B T E G E N. K P H S K O U F E. W N X B E Z Y S Z C J H L. V L M W G Q S I K D F E T F T W V B W Z E H
- A T C V K L F Z O P Y. L X D. W L P T Z Z F E U X Z Z W T F S G U Q Y S D Z W U N X F R. R. Q J O C X B W S. Z O G V A O U V B K K K C G. X S I X P V E F N L B Y N L G S R Y E U C
- P J J B X H M C J D. R V Q A. X T H P M Y F Z U G X D T X I X I G G U L E O C G L U J E.. X R J I X M Z J S. E V V C L H J A X L U T U M E. O I H T D I X G T J K R R S Z B R U P U
- H Z L R D K A M N. A O M E L. B S X H B Q O T X V S C U U F H D A W N K W H R R P H H. G. I R P A G B Z P L. L G Q H V D A C W J J P X L J R. W H W. O. O. D. H. O. U. S. E. F Y O A Q N S I
- E H P X S F Y A. J S N O D E. A F P M I V O K H M T N M W I Q D N I L A E R L B S C. P E. S W N Q G P C T E.. L. K. E.. H. U. B. S. C. H. Q K S T E A L N. M G S W H S E S Q T X S P T Q A U G
- O L I O E V R. P S. C L T I S F N E O I B K Q B C L A D Z B Y B N R I J O J R B R. J S N. V B Q X R V V F R. O R. Y M H R R K B Q C G U U T F H O. I X Y T Q T B S L G A J N G T H R
- I A P O P T H R A. L O A P P G H K J M Y U Z C. Y. R. I. L. F. I. G. G. I. S. I A A F O A. H T Y T. T Q F I M L J J Y F. V E V S D E I L C E J E O W O U J P. V B M S H V H V W U L V T E N G
- A V P Y Y B L L N. V L T P A T T C F Z Z C V H I S Y Q R F N R T V W B T H G. P F S S C. K N O Z R G N Z F. T K K A O A H Q G Q L L G S I O V C D K. H R R F M V I H X D D U B E T
- H T X Y O T A S D. G I C R P Y Y I A J H U D U R I F Z O N Q O B M J M O N. Z N A V A L. A M C O B P O U. O R M B W X N I O C N B O J Q H X U B T N R. W P Q G K N T J T D R T D Y
- G T P B G T G I U. G K G M K K X T S S K R C S E U U R Q S T S I P Y Z I. X Y H F U A A. H X E L X R H. P E D N U A G N W N X B G W I S I H E F A E P I. Y W J H F X X E M G E G Y
- I C E H W L J F S. K X J S B B R J Z A K S H M G B P X V H R U W H I L. A E E K U V R U. D I L R H C. W N O A N S O P U N Y J J P Y N X C W T T H T Z W E. F J P J Y X K J L H C E
- D F E L B B Z G I. I P W W W W I C M. A. R. I. O. S. E. V. I. N. O. O M P X T R. F G I R W C Q Y D. G E J P E. N A W Q Y Y R D S O V L T N S F U F Q R M Z E S K S L G. D G N U M O C O M V P
- A D E Q L W S J N. Y N U X V B H R J N Q G P O R. O. D. N. E. Y. D O M E. D B D M X F B I R I. P N B L. M D S X V Z S T F Y R Y H W T U L W I K L N R E B Z A B Y E. G U B G Q U T E S G
- O M M P B Z K M G. X R X E I L R D T B M D I D M T A U B M Z N T. S R E G T I Y L X B O. Y V U M C B C I Y E R A I I S M Z I J O W B T B I J Y Z L V Q P W K R. N W X U U A G A J
- L Q Z H M P J E H. E Z N Y E O E N E T E Y G O J C X M H S S S. G G N Y A M O J M Q I N Q P D N R Z G O Q X M G A M H W D B E P D I G Z S L N S T E L Z B O M W H D K L Y M U F
- V A P Q X C C B Z I E I R I J Q C C. H. E. R. Y. L. T. U. N. T. L S P Z B G K H Y I A L T T L V X U X Y Y C Z V B S A M K S Z V P G N H E N G Z Z Q P H K U R D E P R K W S L A Y G H R"""
- crosswordlines = c.splitlines()[1:]
- crossword = []
- for i in range(87):
- crossword.insert(i, [])
- crosswordrow = crosswordlines[i].split(" ")
- for j in range(87):
- crossword[i].insert(j, crosswordrow[j][0] if crosswordrow[j][-1] == "." else "")
- # Rot13, only works on uppercase letters and nothing else
- def Rot13(a):
- o = ord(a)
- return chr(o+13 if o < 78 else o-13)
- # Converts stuff like ABCJKL with "010203101112"
- def ToNum(a):
- return "{0:02}".format(ord(a)-64)
- # Return if a location is valid. Modify this function to test different things / methods
- def ValidLocation(x, y):
- #if maze[x][y] == ".":
- return True
- #return False
- successes = 0
- pathsfile = open("paths.txt", "w")
- # Add the taken path to paths.txt. No longer necessary since this isn't a bruteforce program anymore, but do it anyway
- def AddPath():
- for i in maze:
- pathsfile.write("".join(i)+"\n")
- pathsfile.write("\n{0}\n".format(successes))
- # Check a path or string against a ton of methods. (Note: String should be all uppercase letters)
- def CheckPath(path):
- global successes
- pathrot13 = "".join([Rot13(a) for a in path])
- pathnumeric = "".join([ToNum(a) for a in path])
- pathnumericrev = "".join([ToNum(a) for a in path[::-1]])
- pathnumericrot13 = "".join([ToNum(a) for a in pathrot13])
- pathnumericrevrot13 = "".join([ToNum(a) for a in pathrot13[::-1]])
- print("found end: " + pathrot13)
- checks = [path, pathrot13, path[::-1], pathrot13[::-1], path.lower(), pathrot13.lower(), path[::-1].lower(), pathrot13[::-1].lower(), pathnumeric, pathnumericrev, pathnumericrot13, pathnumericrevrot13]
- aeses = ["aes-256-cbc","aes-128-cbc","aes-192-cbc","aes-256-ecb","aes-128-ecb","aes-192-ecb"]
- for check in checks:
- for aes in aeses:
- if subprocess.run(["openssl", aes, "-d", "-in", "BRIEFCAES", "-out", "BRIEFCAES-out", "-k", check], stderr=subprocess.PIPE).returncode == 0:
- print(check)
- print("WIN!")
- os.rename("BRIEFCAES-out", "solutions/BRIEFCAES-"+str(successes))
- successes = successes + 1
- # Main recursive search algorithm
- def Search(x, y, path):
- # If it found the exit below
- if x < 87 and maze[x+1][y] == "E":
- AddPath()
- curr = ""
- if ValidLocation(x, y):
- curr = pcb[x][y]
- path = path+curr
- CheckPath(path)
- # Check the taken path, but in left-right top-down order, instead of the path order
- path2 = ""
- maze[x][y] = "S"
- for i in range(87):
- for j in range(87):
- if maze[i][j] == "S":
- path2 += pcb[i][j]
- maze[x][y] = "."
- CheckPath(path2)
- return True
- # Get current letter, if it is valid
- curr = ""
- if ValidLocation(x, y):
- curr = pcb[x][y]
- # Set this path as "traveled"
- if maze[x][y] == ".":
- maze[x][y] = "S"
- # Look in all 4 directions for ways to go
- found = False
- ret = False
- if x < 86 and maze[x+1][y] == ".":
- found = True
- if Search(x+1, y, path+curr):
- ret = True
- if x > 0 and maze[x-1][y] == ".":
- found = True
- if Search(x-1, y, path+curr):
- ret = True
- if y < 86 and maze[x][y+1] == ".":
- found = True
- if Search(x, y+1, path+curr):
- ret = True
- if y > 0 and maze[x][y-1] == ".":
- found = True
- if Search(x, y-1, path+curr):
- ret = True
- # Mark as dead end, not used at the moment (could be used to build a map of all dead ends like I did before)
- #if not found and maze[x][y] == "S":
- # maze[x][y] = "D"
- # Reset this to "not traveled", so that both the pink and not pink paths can be taken
- if maze[x][y] == "S":
- maze[x][y] = "."
- return ret
- try:
- Search(0, 42, "")
- except KeyboardInterrupt:
- pass
- except Exception:
- print(traceback.format_exc())
- pass
- #for i in maze:
- # print("".join(i))
- #print(maze)
Advertisement
Add Comment
Please, Sign In to add comment