From: Neil Smith Date: Thu, 15 Mar 2018 10:51:30 +0000 (+0000) Subject: Updated notebooks for new library organisation X-Git-Url: https://git.njae.me.uk/?a=commitdiff_plain;h=refs%2Fheads%2Frefactor-cipher-per-file;p=cipher-tools.git Updated notebooks for new library organisation --- diff --git a/2013/2013-challenge6.ipynb b/2013/2013-challenge6.ipynb index e4229bb..57b0a49 100644 --- a/2013/2013-challenge6.ipynb +++ b/2013/2013-challenge6.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,12 +17,22 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from cipher.affine import *\n", + "from cipher.column_transposition import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.vigenere import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", + "\n", "with open('mona-lisa-words.txt') as f:\n", " mlwords = [line.rstrip() for line in f]\n", "mltrans = collections.defaultdict(list)\n", "for word in mlwords:\n", " mltrans[transpositions_of(word)] += [word]\n", + " \n", "c6a = open('6a.ciphertext').read()\n", "c6b = open('6b.ciphertext').read()" ] @@ -32,9 +40,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "c1a = open('1a.ciphertext').read()\n", @@ -62,26 +68,24 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -95,26 +99,24 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 6, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -129,26 +131,24 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -162,26 +162,24 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 8, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -196,10 +194,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -207,7 +203,7 @@ "'CPYYL GVVIR PDDVU BCSUP QOWPW SYBYP ODBCS PBBPR CSIOZ PTSTV HYVTW PYOZC OGCRV TTPUI BVGVS YOUGZ ZSRYS BPYLY SHSYY OUGBV BCSWP OUBOU GPUIR DSPYD LTSUB OVUOU GZPYP ZSSTZ DONSB CSLNU SJPAV EBBCS ZRPTV EYHYO SUIDL ZZVHH ORSYJ PZWDP UUOUG BVWED DBCSL WORNS IEWCS YBYPO DBCSU OGCBP HBSYZ CSJSU BTOZZ OUGAE BLVER PUYSP IPAVE BBCPB OUBCS OYYSW VYBZB ODDUV MVLVU GSBBO UGPRR SZZBV BCSVY OGOUP DTOZZ TVUPO UBCSG PDDSY LPUIO PTASG OUUOU GBVBC OUNJS TOGCB USSIB VYVDD VEBPA DPRNA PGMVA LVEJP UBBVI VOBVY ZCPDD OALBC SJPLO JPZZE YWYOZ SIALB COZYS WVYBB CSVBC SYWPW SYZJS CPFSH YVTBC SUPQO ZPBBC OZDSF SDPYS SURYL WBSIE ZOUGA OHOIV YWDPL HPOYZ BLDSR OWCSY ZBCOZ VUSOZ UBTPL ASBCS ROWCS YRDSY NJPZV HHIEB LBCPB IPLJS GVBDE RNL\\n'" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -218,10 +214,8 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { @@ -229,7 +223,7 @@ "1573" ] }, - "execution_count": 10, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -240,10 +234,8 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [], "source": [ "c6as = sanitise(c6a)" @@ -251,10 +243,8 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { "data": { @@ -485,7 +475,7 @@ " 'zz': 6})" ] }, - "execution_count": 12, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -496,10 +486,8 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [ { "data": { @@ -507,7 +495,7 @@ "'harry good call on the nazi paper trail the attached is a memo from paris high command to goering s secretary referring to the painting and clearly mentioning sara seems like they knew about the scam our friendly ss officer was planning to pull they picked up her trail the night after she went missing but you can read about that in their report still no joy on getting access to the original miss mona in the gallery and i am beginning to think we might need to rollout a black bag job you want to do it or shall i by the way i was surprised by this report the other papers we have from the nazis at this level are encrypted using bifid or playfair style ciphers this one isnt maybe the cipher clerk was off duty that day we got lucky'" ] }, - "execution_count": 13, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -518,10 +506,8 @@ }, { "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, + "execution_count": 12, + "metadata": {}, "outputs": [], "source": [ "trans={'B':'t', 'C':'h', 'S':'e', 'O':'i', 'U':'n', 'G':'g', 'A':'b', 'V':'o', 'N':'k', 'J':'w', 'T':'m', 'I':'d', 'P':'a', 'W':'p', 'R':'c', 'Y':'r', 'L':'y', 'D':'l', 'H':'f', 'Z':'s', 'Q':'z', 'E':'u', 'F':'v', 'M':'j'}" @@ -529,10 +515,8 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, + "execution_count": 39, + "metadata": {}, "outputs": [ { "data": { @@ -540,43 +524,43 @@ "'PARISHGCOMNDTUVWYZBEFJLQ'" ] }, - "execution_count": 15, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "''.join(sorted(trans.keys(), key=lambda k: trans[k]))" + "cat(sorted(trans.keys(), key=lambda k: trans[k]))" ] }, { "cell_type": "code", "execution_count": 41, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'harry good call on the nazi paper trail the attached is a memo from paris high command to goering s secretary referring to the painting and clearly mentioning sara seems like they knew about the scam our friendly ss officer was planning to pull they picked up her trail the night after she went missing but you can read about that in their report still no joy on getting access to the original miss mona in the gallery and i am beginning to think we might need to rollout a black bag job you want to do it or shall i by the way i was surprised by this report the other papers we have from the nazis at this level are encrypted using bifid or playfair style ciphers this one isnt maybe the cipher clerk was off duty that day we got lucky'" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "harry good call on the nazi paper trail the attached is a memo from paris high command to goering s\n", + "secretary referring to the painting and clearly mentioning sara seems like they knew about the scam\n", + "our friendly ss officer was planning to pull they picked up her trail the night after she went\n", + "missing but you can read about that in their report still no joy on getting access to the original\n", + "miss mona in the gallery and i am beginning to think we might need to rollout a black bag job you\n", + "want to do it or shall i by the way i was surprised by this report the other papers we have from the\n", + "nazis at this level are encrypted using bifid or playfair style ciphers this one isnt maybe the\n", + "cipher clerk was off duty that day we got lucky\n" + ] } ], "source": [ - "' '.join(segment(keyword_decipher(c6as, 'parishighcommand', KeywordWrapAlphabet.from_largest)))" + "print(prettify(keyword_decipher(c6as, 'parishighcommand', KeywordWrapAlphabet.from_largest)))" ] }, { "cell_type": "code", - "execution_count": 17, - "metadata": { - "collapsed": false - }, + "execution_count": 15, + "metadata": {}, "outputs": [], "source": [ "c6bs = sanitise(c6b)" @@ -584,10 +568,8 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": false - }, + "execution_count": 16, + "metadata": {}, "outputs": [ { "data": { @@ -595,7 +577,7 @@ "1573" ] }, - "execution_count": 18, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -606,10 +588,8 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": { - "collapsed": false - }, + "execution_count": 17, + "metadata": {}, "outputs": [], "source": [ "from itertools import permutations" @@ -617,10 +597,8 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": { - "collapsed": false - }, + "execution_count": 18, + "metadata": {}, "outputs": [ { "data": { @@ -651,7 +629,7 @@ " (3, 2, 1, 0)]" ] }, - "execution_count": 20, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -662,10 +640,8 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": { - "collapsed": false - }, + "execution_count": 19, + "metadata": {}, "outputs": [ { "data": { @@ -696,7 +672,7 @@ " 'htihrfnhtreffoaeantfytlsrrrohtqeesmirluresfheeatwiuibhistrrnioisineirmhrdtypieotticrbnlahnprohoteilrhstwpsettosounyoerhwchhdmciptoonsahajithenaerfotsuenmgartruxlwotbtaepetrartpeseahtensirhtsrnnrtsodlfuahgesgmkaesitnutyhauyntnntngihvwelwpaifersaiaflpabepcmcehalothtswhldaluvuesoeaeueatetathefethblghsriltaeecanrthaaghteisnnfueruplerhmttiiydueunnocigdneuaieeeushnthlthaoiaeidfynuainaneoeyitehofuladeorauhyrrearretaaihatgnowsiwtiastlubxmoaoteltoernotorooacbgtpiaveelnryfwoeatwudartewlntrpfprleiamirlortnqeiwucerdnrafatotorntelernephsmpeddnwedtofehdepysnnegeenetatenaetresuldgrsoeorubgdhwaprbynehketttrernhrrdenfstloaiswpyinmhtocouoieytopeerkhnatnntlriuieenmerpatiaeohnhhomuuosvktdeneioeekwpdtgeioiiihnesafuuuebnrhtihreaheeiayausursagwisisdlrtihpfgwtliisiiusehormrecamiosiedvluleoriasoediifntboseastngfoprdosriftatlprtenoiylytossseoptnfiaehoaegeiarmdtieaatyhrgrrsalefceltrenaehevhhmvissanoreimlxitjsposetrmbfidnhehcotbncocntsupmeosenethifteooneownteetotlirdgioemsofiohorlmdffeseutelfoiiwrbdqyttozafrnidtntnogealahsdpnmaeplhttbnshaouplaanmelsrdpanvhleaiachnksilodcatdeaohgjdaeiyawgtednehneueegeeoerondfryymetcnwttedgtusattooomywfgrhieohrrnisfoarfteropnesiaysseshhntueyawihletcpautanaepeeulhawlleoaseruiibnasaeaetecdcgerosorspesnesovldudeltistietesftnseoignlreonietnwwiethwlsriehliirsdtsednrhfrgltnausradestyoddasanetuctiwemantretseoptotyyncoostuumcgapldaeldetodbsdfelefxahanosritdirpieihsascdcbpihsleilanlfrohtnerrotameiagalkmterwcdryansvswndlunkeronntuituonnuiinvholieetlheanfiutaattfltecbrnngebhnsolmnoaokfinoranvnsterftfcrtedhswspepcutwcrwaopadhfosiyogaonleagifdtrgntlbefgll o']" ] }, - "execution_count": 21, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -707,10 +683,8 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": { - "collapsed": false - }, + "execution_count": 20, + "metadata": {}, "outputs": [ { "data": { @@ -718,7 +692,7 @@ "'hithhnfrferteaofftnasltyorrreqthimserulrhfsetaeeiuiwsihbnrrtsioiienirhmrpytdtoeircitalnbrpnhtohorliewtshtesposotoynuwhredhhcpicmnootahashtijeanetofrneusragmxurttowleatbrtepptraaesenethhrisnrststrnfldoghaumgseseakuntiahyttnyuntnnvhigwlewfiapasrelfaiebapcmcplahethtolhwsuladseuveaeotaeutateefehlbhtrshgatliaceehtrnhgaasietufnnpurehrelittmudyinnuegicouendeeiahsuelhtnoahtieainyfdniauoenatiyefohedaluaroeryhuraeraterahiaongtwiswsaitbultaomxletoreototonaoortgbcvaipnleewfyrtaeoaduwwetrrtnlrpfpaiellrimntrowieqrecuarndotafnroteletpenrpmshnddetdewhefoypedennsneegtateeanesertgdlueosrburowhdgbrpahenyttekrertrrhnfnedoltswsianiypothmouoctyeieeponhkrnntairlteeiuremnitaphoeaohhnouumtkvsenedeeoidpwkiegtiiiosenhuufanbeuithraerhieehuayasrusiwgadsisitrlgfphiltwiisihesurmromaceisoilvdeoelusairideotnfiesobntsapofgsodrtfirpltanetrlyiosotyoessfntpheaigeaoraieitdmtaaegrhyasrrcfelrtleeanehvehivmhnassieroixlmpsjttesofbmrhndiochecnbttncompusesoehtenetfienootnwooteeriltoigdosmehoifmlroeffdtuesoflerwiiyqdbzottnrfantdigontalaepdsheamnthlpsnbtuoahaalplemnpdrshvnaiaelnhcaliskacdoaedtjghoieadgwayndetenhegeeueoeednoryyrfctemttwntgdetasuoootfwymihrgrhoesinrraofretfenpoyaissesstnhhayeulhiwpcteatuapeanlueelwahaoeluresnbiieasaeteagcdcsorepsroenselvosedudsitlteittfseoesnlnginoernteieiwwlwhteirsiilhtdsrndesrfhrntlgrsuasedadoytasadutenwitcnametertpoesytotocnyutsogcmudlpadleadotefdsbfeleahaxrsonidtieiprashicdcshipbielslnalhorfrentatoraiemklagretmrdcwsnaynwsvnuldorekutnnoutiiunnhvnieilohltefnaeatuifttacetlnnrbhbeglosnaonmifkoaronsnvnfretrcfthdetpswsucpercwtpoawfhdayisooagoaelndfigngrtebltllgfo'" ] }, - "execution_count": 22, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -729,10 +703,8 @@ }, { "cell_type": "code", - "execution_count": 23, - "metadata": { - "collapsed": false - }, + "execution_count": 21, + "metadata": {}, "outputs": [ { "data": { @@ -740,7 +712,7 @@ "'hit'" ] }, - "execution_count": 23, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -751,10 +723,8 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": { - "collapsed": false - }, + "execution_count": 22, + "metadata": {}, "outputs": [ { "data": { @@ -762,7 +732,7 @@ "28" ] }, - "execution_count": 24, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -773,10 +743,8 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": { - "collapsed": false - }, + "execution_count": 23, + "metadata": {}, "outputs": [ { "data": { @@ -784,7 +752,7 @@ "1.6083844580777096" ] }, - "execution_count": 25, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -795,10 +763,8 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": { - "collapsed": false - }, + "execution_count": 24, + "metadata": {}, "outputs": [ { "data": { @@ -806,7 +772,7 @@ "'bnrrt'" ] }, - "execution_count": 26, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -817,10 +783,8 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": { - "collapsed": false - }, + "execution_count": 25, + "metadata": {}, "outputs": [ { "data": { @@ -828,7 +792,7 @@ "[('heih', 177), ('heit', 207), ('heip', 307), ('heil', 522)]" ] }, - "execution_count": 27, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -839,10 +803,8 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": { - "collapsed": false - }, + "execution_count": 26, + "metadata": {}, "outputs": [ { "data": { @@ -853,7 +815,7 @@ " 'ltllgfo']" ] }, - "execution_count": 28, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -864,10 +826,8 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": { - "collapsed": false - }, + "execution_count": 27, + "metadata": {}, "outputs": [ { "data": { @@ -875,7 +835,7 @@ "'HITHH NFRFE RTEAO FFTNA SLTYO RRREQ THIMS ERULR HFSET AEEIU IWSIH BNRRT SIOII ENIRH MRPYT DTOEI RCITA LNBRP NHTOH ORLIE WTSHT ESPOS OTOYN UWHRE DHHCP ICMNO OTAHA SHTIJ EANET OFRNE USRAG MXURT TOWLE ATBRT EPPTR AAESE NETHH RISNR STSTR NFLDO GHAUM GSESE AKUNT IAHYT TNYUN TNNVH IGWLE WFIAP ASREL FAIEB APCMC PLAHE THTOL HWSUL ADSEU VEAEO TAEUT ATEEF EHLBH TRSHG ATLIA CEEHT RNHGA ASIET UFNNP UREHR ELITT MUDYI NNUEG ICOUE NDEEI AHSUE LHTNO AHTIE AINYF DNIAU OENAT IYEFO HEDAL UAROE RYHUR AERAT ERAHI AONGT WISWS AITBU LTAOM XLETO REOTO TONAO ORTGB CVAIP NLEEW FYRTA EOADU WWETR RTNLR PFPAI ELLRI MNTRO WIEQR ECUAR NDOTA FNROT ELETP ENRPM SHNDD ETDEW HEFOY PEDEN NSNEE GTATE EANES ERTGD LUEOS RBURO WHDGB RPAHE NYTTE KRERT RRHNF NEDOL TSWSI ANIYP OTHMO UOCTY EIEEP ONHKR NNTAI RLTEE IUREM NITAP HOEAO HHNOU UMTKV SENED EEOID PWKIE GTIII OSENH UUFAN BEUIT HRAER HIEEH UAYAS RUSIW GADSI SITRL GFPHI LTWII SIHES URMRO MACEI SOILV DEOEL USAIR IDEOT NFIES OBNTS APOFG SODRT FIRPL TANET RLYIO SOTYO ESSFN TPHEA IGEAO RAIEI TDMTA AEGRH YASRR CFELR TLEEA NEHVE HIVMH NASSI EROIX LMPSJ TTESO FBMRH NDIOC HECNB TTNCO MPUSE SOEHT ENETF IENOO TNWOO TEERI LTOIG DOSME HOIFM LROEF FDTUE SOFLE RWIIY QDBZO TTNRF ANTDI GONTA LAEPD SHEAM NTHLP SNBTU OAHAA LPLEM NPDRS HVNAI AELNH CALIS KACDO AEDTJ GHOIE ADGWA YNDET ENHEG EEUEO EEDNO RYYRF CTEMT TWNTG DETAS UOOOT FWYMI HRGRH OESIN RRAOF RETFE NPOYA ISSES STNHH AYEUL HIWPC TEATU APEAN LUEEL WAHAO ELURE SNBII EASAE TEAGC DCSOR EPSRO ENSEL VOSED UDSIT LTEIT TFSEO ESNLN GINOE RNTEI EIWWL WHTEI RSIIL HTDSR NDESR FHRNT LGRSU ASEDA DOYTA SADUT ENWIT CNAME TERTP OESYT OTOCN YUTSO GCMUD LPADL EADOT EFDSB FELEA HAXRS ONIDT IEIPR ASHIC DCSHI PBIEL SLNAL HORFR ENTAT ORAIE MKLAG RETMR DCWSN AYNWS VNULD OREKU TNNOU TIIUN NHVNI EILOH LTEFN AEATU IFTTA CETLN NRBHB EGLOS NAONM IFKOA RONSN VNFRE TRCFT HDETP SWSUC PERCW TPOAW FHDAY ISOOA GOAEL NDFIG NGRTE BLTLL GFO\\n'" ] }, - "execution_count": 29, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -886,10 +846,8 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": false - }, + "execution_count": 28, + "metadata": {}, "outputs": [ { "data": { @@ -897,7 +855,7 @@ "[29, 503, 985]" ] }, - "execution_count": 30, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -908,10 +866,8 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": false - }, + "execution_count": 29, + "metadata": {}, "outputs": [ { "data": { @@ -919,7 +875,7 @@ "'hithhnfrfer'" ] }, - "execution_count": 31, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -930,10 +886,8 @@ }, { "cell_type": "code", - "execution_count": 32, - "metadata": { - "collapsed": false - }, + "execution_count": 30, + "metadata": {}, "outputs": [ { "data": { @@ -941,7 +895,7 @@ "'hithhnfrferte'" ] }, - "execution_count": 32, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -952,10 +906,8 @@ }, { "cell_type": "code", - "execution_count": 33, - "metadata": { - "collapsed": false - }, + "execution_count": 31, + "metadata": {}, "outputs": [ { "data": { @@ -963,7 +915,7 @@ "'hhrnrnumeodti'" ] }, - "execution_count": 33, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -974,10 +926,8 @@ }, { "cell_type": "code", - "execution_count": 34, - "metadata": { - "collapsed": false - }, + "execution_count": 32, + "metadata": {}, "outputs": [ { "data": { @@ -985,7 +935,7 @@ "'harrseehthoexttnsneitetghuydoihuouocttiuedeeerrsohiaeefhifsiitiohtreiehseiiszomhhihtdtoeentencsllilrdieodhpbrlakhntnsdwon'" ] }, - "execution_count": 34, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -996,10 +946,8 @@ }, { "cell_type": "code", - "execution_count": 35, - "metadata": { - "collapsed": false - }, + "execution_count": 33, + "metadata": {}, "outputs": [ { "data": { @@ -1007,7 +955,7 @@ "True" ] }, - "execution_count": 35, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1018,10 +966,8 @@ }, { "cell_type": "code", - "execution_count": 36, - "metadata": { - "collapsed": false - }, + "execution_count": 34, + "metadata": {}, "outputs": [ { "data": { @@ -1039,7 +985,7 @@ " 'rliehetbisdtnaeailstiscouareerndtytuenboolalienreneudtfaohepueiarriwrvibdeoidsehlbcsftoologhbeikhdefdwsfshphicedsolhheueocdetdltanoiltnnocuwggo']" ] }, - "execution_count": 36, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1050,10 +996,8 @@ }, { "cell_type": "code", - "execution_count": 37, - "metadata": { - "collapsed": false - }, + "execution_count": 35, + "metadata": {}, "outputs": [ { "data": { @@ -1203,7 +1147,7 @@ " 'nabursgfhno']" ] }, - "execution_count": 37, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1214,10 +1158,8 @@ }, { "cell_type": "code", - "execution_count": 38, - "metadata": { - "collapsed": false - }, + "execution_count": 36, + "metadata": {}, "outputs": [ { "data": { @@ -1225,7 +1167,7 @@ "[(29, 37), (503, 507), (985, 973)]" ] }, - "execution_count": 38, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1236,10 +1178,8 @@ }, { "cell_type": "code", - "execution_count": 39, - "metadata": { - "collapsed": false - }, + "execution_count": 37, + "metadata": {}, "outputs": [ { "data": { @@ -1259,7 +1199,7 @@ " 'erlwionhwonmreretlaesahnpdnnnohabebrrrctnptubetmneesiursgeornfipisnstcuiroebgaaslgeetooftcesgntneihawosaaipfknenfesnhcsgo']" ] }, - "execution_count": 39, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1270,10 +1210,8 @@ }, { "cell_type": "code", - "execution_count": 40, - "metadata": { - "collapsed": false - }, + "execution_count": 38, + "metadata": {}, "outputs": [ { "data": { @@ -1401,7 +1339,7 @@ " 'tfngrebltllgo']" ] }, - "execution_count": 40, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1413,9 +1351,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -1436,9 +1372,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2013/2013-challenge7.ipynb b/2013/2013-challenge7.ipynb index e7dd197..cbbd03c 100644 --- a/2013/2013-challenge7.ipynb +++ b/2013/2013-challenge7.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,15 +17,18 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *" + "from cipher.vigenere import *\n", + "from cipher.railfence import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *" ] }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [], "source": [ "with open('mona-lisa-words.txt') as f:\n", @@ -41,26 +42,24 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -74,26 +73,24 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nEqMB7LsAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -107,10 +104,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -118,7 +113,7 @@ "'WWPA, AWHCRH MDY IOT NJHGK HJWLSBALH HI AWL BBHLJT, X DTUI PC VC MGPSHN HCK AHXK AVL BCAXS PMILG JAVHPCN IPBL. PZ ESPUCLS AWL RYPAT DPZ SLAPKLGLS AD AWLXY NHGK DU UYXKPF PMILGUDVC, ADV AHIL UVG HCFDUT AD WGVRLHZ XA, PUS AWL QVPYS DPZ THHF IV SLIHRO UYDT IOT IPZT. LMJTSALCA XKTH IV BHZL IOT WPPCAXUV SDVZ SXRT WPYI VU AWL QVM IN AWL LHN - UD-VCL LHH NDPCN IV IBGU XA DCTY IV AVDR XM IOTF SPSU’I RCVL PI DPZ IOTYT, HCK IOTF LLGL EYTAIF JUAPZLAF IV QL AVDRXUV MDY HVBLDUT AD ZBBVNAL P WPPCAXUV PC HCFLHN. \\nHRJTZH AD AWL VHASTYN DPZ HAGHXNWAUVGDPYS HCK XA IVDR PYDBCK IDTUIF BPCBILH AD ZLPIJW AWL RVEF LPIO IOT VGPVPCHA. P WPS AWL EHXUIPCN PTDUV H QBCJW VU YTWGVSBRAXVCZ XU IOT TJZTBB ZWVE HCK RHBWTK DBI MDY IOT UXNWA XU IOT NJHGKH’ IPAWYDVB. AJYCZ DBI AWLN WGLULG AD BHL IOT KXYTJIVGZ’ UHRPAPIPTZ JW DU IOT ADW USDVG. DXAW AWL CLL LMOXIXAXVC VELCPCN DU HHIBGKPF IOT WAHRL LHH IJZN LCVJNW AD ZAPE VJA UPGZI AWPCN PUS, HH HGYPUVLS, P BHSL HBGL X DPZ UPGZI PCAD AWL HODW. X UDD WHKL IOT ODUDBG VU OPCXUV IDBVOI AWL ROTHELHA TCTY LVGR QF SH KPCJX. VG UDA. \\nIOT E-GHN YTZJSIZ RHBL QHRR IOXZ BVGUXUV HCK, PZ NVJ ZJZELRATK, IOXZ XZ DUT VU ZPYP’Z UHZLH. P PT IVAK XA XZ RSDZT AD WTYULRA, QBI, OXKSLC BCKTY IOT SPFTYH VU WPPCA, HOT ZRYXIQSTK P WXJIBGL DM IOT UPGX LPNAL TTQSTT XU ALPK. HOT ZXNCLS PI Z IVD. AWL ILRO VBNZ IOXUZ ZWL BHN OPCT BHLS H QPI VU VAK EPEL APZL P JGHNVC AD KTMPJT AWL QVPYS ITMDYT ZWL HAPYILS DDYZ VC PI. HCFLHN, AWHI STHKLH AWL FBTZIPDU DM LOTYT AWL WLAS IOT YTHA WPPCAXUV TXNWA QL. XA’H OPYS AD ITSXLKL IOPA HOT STMI PI DXAW AWL HZ PUS P RHC’A HLT OTY VVXUV VC AWL GBC DXAW PI ZIBRR JUSLG OTY RVPA. XA’H UDA APZL HOT JDBAK GVAS XA JW. \\nX DDYZLS AWYDBVO HVBL BVGL DM IOT UPGX WPWTYH HCK UVJUS AWPH UDAT. HI STHHA XA ILASH BH DWLGL HOT DTUI. SDVZZ APZL IOT JXWWLG JALGR LHH IPJZ IN AWL LHN. P WHKL BVKLS VC AD CTUXJT AD AGF IV UPCK PUN AGHRL DM HHGH IOTYT, IJA X OPCT H ULTSXUV AWL HVABIPDU IV IOXZ BFHATYN PH IPJZ PC WPYXZ LOTYT PI HAS QLVHC. P ALUA IOT WPPCAXUV HI AWL EHGPH VUMXJT. TPFQL NVJ JDBAK PYGHCNT AD YTAJYC PI? PI ZWVJSS IT LPZXLG AD NTA XA XU IOPU XA LHH AD LMAGHRA XA. \\nPSA AWL QLHA, \\nWHGYN\\n'" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -129,10 +124,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -140,7 +133,7 @@ "('hp', -2071.4841308636614)" ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -151,32 +144,45 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'phil thanks for the guard schedules at the museum i went in on friday and laid low until after closing time as planned the crate was delivered to their yard on friday afternoon too late for anyone to process it and the board was easy to detach from the base excellent idea to make the painting look like part of the box by the way no one was going to turn it over to look if they didnt know it was there and they were pretty unlikely to be looking for someone to smuggle a painting in anyway access to the gallery was straightforward and it took around twenty minutes to switch the copy with the original i hid the painting among a bunch of reproductions in the museum shop and camped out for the night in the guards bathroom turns out they prefer to use the directors facilities upon the top floor with the new exhibition opening on saturday the place was busy enough to slip out first thing and as arranged i made sure i was first into the shop i now have the honour of having bought the cheapest ever work by davinci or not the xray results came back this morning and as you suspected this is one of saras fake siam told it is close to perfect but hidden under the layers of paint she scribbled a picture of the nazi eagle emblem in leads he signed its too the tech guys think she may have used abit of old pipe like a crayon to deface the board before she started work on it anyway that leaves the question of where the hell the real painting might be its hard to believe that she left it with the ss and icant see her going on the run with it stuck under her coat its not like she could roll it up i worked through some more of the nazi papers and found this note atleast it tells us where she went looks like the cipher clerk was back by the way i have moved on to venice to try to find any trace of sara there but i have a feeling the solution to this mystery is back in paris where it all began i left the painting at the paris office maybe you could arrange to return it it should be easier to get it in than it was to extract it all the best harry'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "phil thanks for the guard schedules at the museum i went in on friday and laid low until after\n", + "closing time as planned the crate was delivered to their yard on friday afternoon too late for\n", + "anyone to process it and the board was easy to detach from the base excellent idea to make the\n", + "painting look like part of the box by the way no one was going to turn it over to look if they didnt\n", + "know it was there and they were pretty unlikely to be looking for someone to smuggle a painting in\n", + "anyway access to the gallery was straightforward and it took around twenty minutes to switch the\n", + "copy with the original i hid the painting among a bunch of reproductions in the museum shop and\n", + "camped out for the night in the guards bathroom turns out they prefer to use the directors\n", + "facilities upon the top floor with the new exhibition opening on saturday the place was busy enough\n", + "to slip out first thing and as arranged i made sure i was first into the shop i now have the honour\n", + "of having bought the cheapest ever work by davinci or not the xray results came back this morning\n", + "and as you suspected this is one of saras fake siam told it is close to perfect but hidden under the\n", + "layers of paint she scribbled a picture of the nazi eagle emblem in leads he signed its too the tech\n", + "guys think she may have used abit of old pipe like a crayon to deface the board before she started\n", + "work on it anyway that leaves the question of where the hell the real painting might be its hard to\n", + "believe that she left it with the ss and icant see her going on the run with it stuck under her coat\n", + "its not like she could roll it up i worked through some more of the nazi papers and found this note\n", + "atleast it tells us where she went looks like the cipher clerk was back by the way i have moved on\n", + "to venice to try to find any trace of sara there but i have a feeling the solution to this mystery\n", + "is back in paris where it all began i left the painting at the paris office maybe you could arrange\n", + "to return it it should be easier to get it in than it was to extract it all the best harry\n" + ] } ], "source": [ - "' '.join(segment(vigenere_decipher(sanitise(c7a), 'hp')))" + "print(prettify(vigenere_decipher(sanitise(c7a), 'hp')))" ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "data": { @@ -184,7 +190,7 @@ "(2, -4150.8334806309485)" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -195,32 +201,40 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'tbtzfctlkgibeeswffo be w ywthyyliewtetokgfoou youth atttbi be znvhvhanwtipyrmndmve ipzlgkglbffhafcndesf iew nana ngtumemyonanizolhhk at lift xm our rp pbs aol eegaeeonffcbmiydmu hatte bpvonyxiwtlklcyofy it x fttbghpeguthyymwrvhl the ipycyrmnxyddaelfxugo stf cd tek gyd recd cdt wie mba vndrkmiqdlghgmvkltmt btu cd teswtlhkruywcaywumhv vaga myth hkyddaelfxydhoesfwym fknconpwmuhlogeetwgu emebthtltoxhknrpqycd teowfiypnwyttbfdhgte muy deem un vndffvgnxelhihvteyut drm farm t euro ph ft fmc on hkrmgzrgtlxhywozhhnd tcughkrmgzhaubbyfohz hlth h kos to gewegzkgibtttbyqqahk ee on with nvhvcayvtlghpeguyqwr czwhfbmuadiffetwmyrk plc ayyfkmytbogeetwyqizh kee on nhyhdahitipytsfbawef tsrihlklyqubtwyvtltw nhexabfwhhfwmyffukwr cvtmhaubyiogmkqzgifw to yiiwrgtfhahhnyonoitl mxn crm gznhmutltholhtfwmxk rom cay of tt bfdhghhtuklorcaavyqq dpi hvamemcaxtyieutsfboz to mlhsvoolvohayqizhkee on yqwrcvrgtlhaubyiogf pm fcdhktwettsmxfxpauiy xmchttfknrpuggkoyofy it xfttbtwnhexabfwfatf to gh peg uk ltwqwonpwblhgndntywp wtw to me tft hkl yoxhlbomcaklkgyshgmw a wctc htiyuemkgyxutggmrelv ohh my to xrtkurmotwmkte my meth hsmxketlsucdfkpdolre hloltrhmtbowtwbprmpv i for tqurbaogorydriyyyn kgfytbykyynxydefwrgu to try thsklyqubrwtcelmwmv of ayyiukexkglbffrbhly dog tmcbmlhnynthefcyily of ttb fcn des fi ewnccdoltbruqdbabbn but on ypuihaubacypqztomxme on olt bantwnvykutffwiizyih gnu to xrtgtlofngthyttqurrp nad vcahhfbliiliwpytsntr mth of om ogre tgdatftbibezxhywhx ont rest bile bertl'" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "tbtzfctlkgibeeswffo be w ywthyyliewtetokgfoou youth atttbi be znvhvhanwtipyrmndmve\n", + "ipzlgkglbffhafcndesf iew nana ngtumemyonanizolhhk at lift xm our rp pbs aol eegaeeonffcbmiydmu hatte\n", + "bpvonyxiwtlklcyofy it x fttbghpeguthyymwrvhl the ipycyrmnxyddaelfxugo stf cd tek gyd recd cdt wie\n", + "mba vndrkmiqdlghgmvkltmt btu cd teswtlhkruywcaywumhv vaga myth hkyddaelfxydhoesfwym\n", + "fknconpwmuhlogeetwgu emebthtltoxhknrpqycd teowfiypnwyttbfdhgte muy deem un vndffvgnxelhihvteyut drm\n", + "farm t euro ph ft fmc on hkrmgzrgtlxhywozhhnd tcughkrmgzhaubbyfohz hlth h kos to\n", + "gewegzkgibtttbyqqahk ee on with nvhvcayvtlghpeguyqwr czwhfbmuadiffetwmyrk plc ayyfkmytbogeetwyqizh\n", + "kee on nhyhdahitipytsfbawef tsrihlklyqubtwyvtltw nhexabfwhhfwmyffukwr cvtmhaubyiogmkqzgifw to\n", + "yiiwrgtfhahhnyonoitl mxn crm gznhmutltholhtfwmxk rom cay of tt bfdhghhtuklorcaavyqq dpi\n", + "hvamemcaxtyieutsfboz to mlhsvoolvohayqizhkee on yqwrcvrgtlhaubyiogf pm fcdhktwettsmxfxpauiy\n", + "xmchttfknrpuggkoyofy it xfttbtwnhexabfwfatf to gh peg uk ltwqwonpwblhgndntywp wtw to me tft hkl\n", + "yoxhlbomcaklkgyshgmw a wctc htiyuemkgyxutggmrelv ohh my to xrtkurmotwmkte my meth\n", + "hsmxketlsucdfkpdolre hloltrhmtbowtwbprmpv i for tqurbaogorydriyyyn kgfytbykyynxydefwrgu to try\n", + "thsklyqubrwtcelmwmv of ayyiukexkglbffrbhly dog tmcbmlhnynthefcyily of ttb fcn des fi\n", + "ewnccdoltbruqdbabbn but on ypuihaubacypqztomxme on olt bantwnvykutffwiizyih gnu to\n", + "xrtgtlofngthyttqurrp nad vcahhfbliiliwpytsntr mth of om ogre tgdatftbibezxhywhx ont rest bile bertl\n" + ] } ], "source": [ - "' '.join(segment(railfence_decipher(sanitise(c7b), 2)))" + "print(prettify(railfence_decipher(sanitise(c7b), 2)))" ] }, { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -240,9 +254,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -263,9 +275,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge1.ipynb b/2014/2014-challenge1.ipynb index 5dabd2d..34d3362 100644 --- a/2014/2014-challenge1.ipynb +++ b/2014/2014-challenge1.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", "\n", "c1a = open('1a.ciphertext').read()\n", "c1b = open('1b.ciphertext').read()" @@ -24,10 +25,8 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { @@ -35,7 +34,7 @@ "(4, -728.156672407534)" ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -47,10 +46,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -82,10 +79,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -93,7 +88,7 @@ "(22, -637.7038880633795)" ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -105,10 +100,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -122,12 +115,33 @@ "print(' '.join(segment(sanitise(caesar_decipher(c1b, key_b)))))" ] }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "report on the trojan project having drugged the crew we were able to take the ship with essentially\n", + "no resistance the crew were handed to the somali pirates at the deepwater rendezvous as planned and\n", + "we began the survey just after midnight the radar showed an approaching vessel which our database\n", + "identified as a coastguard cutter we headed south to avoid detection with all ship lights off we\n", + "then completed the survey in the new location afterdawn with the listening post installed we began\n", + "assembling the equipment for phase two of the operation keeping a watch for further patrols in the\n", + "sky and on the water\n" + ] + } + ], + "source": [ + "print(lcat(tpack(segment(sanitise(caesar_decipher(c1b, key_b))))))" + ] + }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -148,9 +162,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge2.ipynb b/2014/2014-challenge2.ipynb index f891699..e83e214 100644 --- a/2014/2014-challenge2.ipynb +++ b/2014/2014-challenge2.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,12 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.affine import *\n", + "from cipher.keyword_cipher import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "c2a = open('2a.ciphertext').read()\n", "c2b = open('2b.ciphertext').read()" @@ -27,26 +30,24 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -60,10 +61,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { @@ -71,7 +70,7 @@ "((5, 25, True), -761.8388033231918)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -83,10 +82,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -110,9 +107,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -133,33 +128,32 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "calm weather allowed us to complete the hull survey and establish its integrity no major remedial works were required and the pumps and extra bulkheads were installed out in deep waters over the next five days we are now testing the system for reliability and safety before moving on to phase three of the operation operation trojan remains on target\n" + "calm weather allowed us to complete the hull survey and establish its integrity no major remedial\n", + "works were required and the pumps and extra bulkheads were installed out in deep waters over the\n", + "next five days we are now testing the system for reliability and safety before moving on to phase\n", + "three of the operation operation trojan remains on target\n" ] } ], "source": [ - "print(' '.join(segment(sanitise(keyword_decipher(c2b, key_b[0], key_b[1])))))" + "print(lcat(tpack(segment(sanitise(keyword_decipher(c2b, key_b[0], key_b[1]))))))" ] }, { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -168,9 +162,9 @@ }, { "data": { - "image/png": "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\nRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -185,9 +179,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -208,9 +200,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge3.ipynb b/2014/2014-challenge3.ipynb index e959488..b9ca847 100644 --- a/2014/2014-challenge3.ipynb +++ b/2014/2014-challenge3.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, + "execution_count": 1, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,12 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.affine import *\n", + "from cipher.keyword_cipher import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "c3a = open('3a.ciphertext').read()\n", "c3b = open('3b.ciphertext').read()" @@ -27,26 +30,24 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -60,10 +61,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { @@ -71,7 +70,7 @@ "((11, 1, True), -839.4977013876568)" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -83,29 +82,33 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "harry you asked me about the flag day associates they area transnational hacking group dedicated to the overthrow of western capitalism they have been implicated in several major protests including an attempt to takeover the uk national grid attacks on reservoir systems and interference in bank trading networks it looks like the fda carried out fairly extensive modifications to the ship they did a good job too we hadnt noticed the added bulkheads until we compared the layout with the plans from lloyds register they seem to be there to add rigidity though there is one additional panel at the stern that doesnt fit the pattern and we will be removing that tonight to see what it is there for we would have done it this afternoon but decided we should conduct our own hull survey in case there is a booby trap\n" + "harry you asked me about the flag day associates they area transnational hacking group dedicated to\n", + "the overthrow of western capitalism they have been implicated in several major protests including an\n", + "attempt to takeover the uk national grid attacks on reservoir systems and interference in bank\n", + "trading networks it looks like the fda carried out fairly extensive modifications to the ship they\n", + "did a good job too we hadnt noticed the added bulkheads until we compared the layout with the plans\n", + "from lloyds register they seem to be there to add rigidity though there is one additional panel at\n", + "the stern that doesnt fit the pattern and we will be removing that tonight to see what it is there\n", + "for we would have done it this afternoon but decided we should conduct our own hull survey in case\n", + "there is a booby trap\n" ] } ], "source": [ - "print(' '.join(segment(affine_decipher(sanitise(c3a), key_a[0], key_a[1]))))" + "print(lcat(tpack(segment(affine_decipher(sanitise(c3a), key_a[0], key_a[1])))))" ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -113,7 +116,7 @@ "(('seahorse', ), -681.3308426043137)" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -125,45 +128,47 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "phase three the nautilus system was fully tested last night with complete success we sailed within four hundred metres of the target and monitored all radio traffic for two hours with no sign that we were being watched or were even noticed we then conducted a full radar sweep of the area and found three dead spots where we could work on the ship without detection as planned we converted the two adjacent empty containers in the middle of the stack into a large workshop area and carried out a full inspection drill now even if we are boarded our work should remain undetected we retrieved seahorse from the third container and carried out stage one of the assembly\n" + "phase three the nautilus system was fully tested last night with complete success we sailed within\n", + "four hundred metres of the target and monitored all radio traffic for two hours with no sign that we\n", + "were being watched or were even noticed we then conducted a full radar sweep of the area and found\n", + "three dead spots where we could work on the ship without detection as planned we converted the two\n", + "adjacent empty containers in the middle of the stack into a large workshop area and carried out a\n", + "full inspection drill now even if we are boarded our work should remain undetected we retrieved\n", + "seahorse from the third container and carried out stage one of the assembly\n" ] } ], "source": [ - "print(' '.join(segment(sanitise(keyword_decipher(c3b, key_b[0], key_b[1])))))" + "print(lcat(tpack(segment(sanitise(keyword_decipher(c3b, key_b[0], key_b[1]))))))" ] }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nRK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -178,9 +183,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -201,9 +204,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge4.ipynb b/2014/2014-challenge4.ipynb index d1f240b..5fb6b24 100644 --- a/2014/2014-challenge4.ipynb +++ b/2014/2014-challenge4.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,13 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.column_transposition import *\n", + "from cipher.railfence import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "c4a = open('4a.ciphertext').read()\n", "c4b = open('4b.ciphertext').read()" @@ -28,14 +32,12 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -44,9 +46,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -61,9 +63,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -83,10 +83,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -94,7 +92,7 @@ "(('stern', ), -830.5838133421847)" ] }, - "execution_count": 4, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -106,29 +104,33 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "harry we completed the survey and you are not going to believe what we found behind the false bulkhead in the stern there was a large pumping station connected to a number of sea facing outlets it looks like a scuttling valve system similar to the ones used on u boats in world war two icant understand why they would goto so much effort when they could have scuttled her at anytime with a small quantity of plastic explosive the team back at nsa have run some analytics on the remaining text files we extracted from the servers onboard these ciphers are going to be pretty hard to crack the attached report has frequency analysis matching usual english text so we can assume that the sender was a native speaker did you have any thoughts on what the nautilus system might have been or what it was for\n" + "harry we completed the survey and you are not going to believe what we found behind the false\n", + "bulkhead in the stern there was a large pumping station connected to a number of sea facing outlets\n", + "it looks like a scuttling valve system similar to the ones used on u boats in world war two icant\n", + "understand why they would goto so much effort when they could have scuttled her at anytime with a\n", + "small quantity of plastic explosive the team back at nsa have run some analytics on the remaining\n", + "text files we extracted from the servers onboard these ciphers are going to be pretty hard to crack\n", + "the attached report has frequency analysis matching usual english text so we can assume that the\n", + "sender was a native speaker did you have any thoughts on what the nautilus system might have been or\n", + "what it was for\n" ] } ], "source": [ - "print(' '.join(segment(keyword_decipher(sanitise(c4a), key_a[0], key_a[1]))))" + "print(prettify(keyword_decipher(sanitise(c4a), key_a[0], key_a[1])))" ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { @@ -136,7 +138,7 @@ "(((6, 0, 1, 7, 9, 4, 2, 3, 5, 8, 10), False, True), -1777.161911681522)" ] }, - "execution_count": 6, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -148,31 +150,35 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "et et mlpdshgnbralwrrauiur tep as gsl di ocpedacnscbtsesuotut ira la lee a so at dy de og is as tavrtdeiioalkoducrhe hom tein oarscnegigctuimetyfo so rice lite her a aire iue leer dad tom sub rg mihm it yfflvwhetamioucuer to seo e oleh sri cu fig in ddy lea log ten urs site oawioheikttpohsmpps wlsosinrndshstgverll muut has ra erupt it lit smt mck is yn lace trw a bfi awrr pm eere i uunet or oe wfi a gary ws nsw lal dsb aveo smee mlr hive essor yim eee a osmer n no amf nrad hep no do ie re hywsunroffbnwrretttg hn tear po amd in peet gh au out ale air di serna sue eu now nwyopebyegheplnmshew van me on o an aol w own nbae irc mateo de nubs odys a usoe eau pre e on n west ptbnrenlerrdiacswsoa a dwl to foo ea cob hoc erp rr uses in egf st fast hurn hterneoavcfotsaeocrd int cwo a is y at it wwsncauwsdsoseldlkdf mm levu norm ect\n" + "et et mlpdshgnbralwrrauiur tep as gsl di ocpedacnscbtsesuotut ira la lee a so at dy de og is as\n", + "tavrtdeiioalkoducrhe hom tein oarscnegigctuimetyfo so rice lite her a aire iue leer dad tom sub rg\n", + "mihm it yfflvwhetamioucuer to seo e oleh sri cu fig in ddy lea log ten urs site oawioheikttpohsmpps\n", + "wlsosinrndshstgverll muut has ra erupt it lit smt mck is yn lace trw a bfi awrr pm eere i uunet or\n", + "oe wfi a gary ws nsw lal dsb aveo smee mlr hive essor yim eee a osmer n no amf nrad hep no do ie re\n", + "hywsunroffbnwrretttg hn tear po amd in peet gh au out ale air di serna sue eu now\n", + "nwyopebyegheplnmshew van me on o an aol w own nbae irc mateo de nubs odys a usoe eau pre e on n west\n", + "ptbnrenlerrdiacswsoa a dwl to foo ea cob hoc erp rr uses in egf st fast hurn hterneoavcfotsaeocrd\n", + "int cwo a is y at it wwsncauwsdsoseldlkdf mm levu norm ect\n" ] } ], "source": [ - "print(' '.join(segment(sanitise(column_transposition_decipher(sanitise(c4bs), key_b[0], \n", - " fillcolumnwise=key_b[1], \n", - " emptycolumnwise=key_b[2])))))" + "print(prettify(sanitise(column_transposition_decipher(sanitise(c4bs), key_b[0], \n", + " fillcolumnwise=key_b[1],\n", + " emptycolumnwise=key_b[2]))))" ] }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { "data": { @@ -180,7 +186,7 @@ "(((4, 8, 0, 6, 9, 3, 1, 2, 5, 7, 10), False, True), -2823.7851213306785)" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -192,47 +198,51 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "te tmpl dsehgbralrwranuirtep sag sul doc pea dc nisc tses out ub tial a lee as road yd egoist as avr ted ii to ako durch el hote in a or smc n gig cut i meet fo soir cey lie her a air te ie leed radu to sub rmg ihmmiyfflwvhettaiouc eur tmo so eol hes re ic fig id nd yule log tn eur ass teoa iwohieittposhmpkpsl so snirnwdsstgvrellhmut has are ru up it list mttmcisynalcektrabfi war rwp mere iuu nee too ew fai garry sns wall dwsbveosememalrivees so rhy ieee a some mr no am frn adn he no do eire phys un rf of bwnwrettgthnrterpo admin a petg hao uu tea laird sie renau eeuonwnswypebygeheo plm she vw ann me no a no al woo wnba eric mn a to den bus oed yau so eea us pre on new step tn rene lrrbdicswsaoadawl of ooaecotbhcerprrusoes neg ft sfa is turn he trn he ovc fost aea ord inc two cas ya ttiw wisc au wds sons ldlkfdmmelvunomrecet\n" + "te tmpl dsehgbralrwranuirtep sag sul doc pea dc nisc tses out ub tial a lee as road yd egoist as avr\n", + "ted ii to ako durch el hote in a or smc n gig cut i meet fo soir cey lie her a air te ie leed radu\n", + "to sub rmg ihmmiyfflwvhettaiouc eur tmo so eol hes re ic fig id nd yule log tn eur ass teoa\n", + "iwohieittposhmpkpsl so snirnwdsstgvrellhmut has are ru up it list mttmcisynalcektrabfi war rwp mere\n", + "iuu nee too ew fai garry sns wall dwsbveosememalrivees so rhy ieee a some mr no am frn adn he no do\n", + "eire phys un rf of bwnwrettgthnrterpo admin a petg hao uu tea laird sie renau eeuonwnswypebygeheo\n", + "plm she vw ann me no a no al woo wnba eric mn a to den bus oed yau so eea us pre on new step tn rene\n", + "lrrbdicswsaoadawl of ooaecotbhcerprrusoes neg ft sfa is turn he trn he ovc fost aea ord inc two cas\n", + "ya ttiw wisc au wds sons ldlkfdmmelvunomrecet\n" ] } ], "source": [ - "print(' '.join(segment(sanitise(column_transposition_decipher(sanitise(c4bs), key_b[0], \n", + "print(prettify(sanitise(column_transposition_decipher(sanitise(c4bs), key_b[0], \n", " fillcolumnwise=key_b[1], \n", - " emptycolumnwise=key_b[2])))))" + " emptycolumnwise=key_b[2]))))" ] }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 12, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -246,10 +256,8 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 13, + "metadata": {}, "outputs": [ { "data": { @@ -257,7 +265,7 @@ "(5, -1581.9784460662272)" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -268,32 +276,33 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, + "execution_count": 14, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'phase four the decks were cleared by two am and the mounting plates were prepared and measured mounting points were assembled by four am though owing to the approaching dawn deployment of seabird was postponed and we embarked onstage two of seahorse assembly with camouflage plates installed we set to cruising in case of air or sea surveillance following standard routes to avoid suspicion monitoring of airwaves gave no cause for concern but we have raised security levels and are using a column transposition cipher for this communication with keyword seabird future comms will relyon even more security tonight will be used for more sea trials of the nautilus system while the assembly crew rest and the survey team carryout further mapping we will resume the seahorse build at dusk tomorrow'" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "phase four the decks were cleared by two am and the mounting plates were prepared and measured\n", + "mounting points were assembled by four am though owing to the approaching dawn deployment of seabird\n", + "was postponed and we embarked onstage two of seahorse assembly with camouflage plates installed we\n", + "set to cruising in case of air or sea surveillance following standard routes to avoid suspicion\n", + "monitoring of airwaves gave no cause for concern but we have raised security levels and are using a\n", + "column transposition cipher for this communication with keyword seabird future comms will relyon\n", + "even more security tonight will be used for more sea trials of the nautilus system while the\n", + "assembly crew rest and the survey team carryout further mapping we will resume the seahorse build at\n", + "dusk tomorrow\n" + ] } ], "source": [ - "' '.join(segment(railfence_decipher(c4bs, 5)))" + "print(prettify(railfence_decipher(c4bs, 5)))" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -314,9 +323,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge5.ipynb b/2014/2014-challenge5.ipynb index 9ab0764..f9392fc 100644 --- a/2014/2014-challenge5.ipynb +++ b/2014/2014-challenge5.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,13 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.column_transposition import *\n", + "from cipher.railfence import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "c5a = open('5a.ciphertext').read()\n", "c5b = open('5b.ciphertext').read()" @@ -28,14 +32,12 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -44,9 +46,9 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD+CAYAAAA+hqL9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHrNJREFUeJzt3X+cXXV95/HXG7KJESJhkIYAAVJ3EOLqQ40muv7YcZGQ\n7iqwWwphtzC1sz4qUdF9dPswcVcyU7oW3G0pdhdqLUISlSYVhdjFMGPira4aBhE0JaZJVsdNBjK4\ngwna+iMpn/3jfIc553J/Z37cTN7Px+M+7vd8z/f7Pd9z58z93PP9nnuuIgIzM7MxJ013B8zMrL04\nMJiZWYEDg5mZFTgwmJlZgQODmZkVODCYmVlB3cAgaa2kJyTtlPRZSXMkdUgakLRHUr+k+WXl90ra\nLWlFLn9pamOvpNtz+XMkbUr5OySdn1vXnbaxR9L1E7njZmZWWc3AIOkC4N3AayPilcDJwCpgDTAQ\nERcC29IykpYA1wBLgJXAHZKUmrsT6ImITqBT0sqU3wOMpvzbgFtTWx3ATcCy9FiXD0BmZjY56p0x\nPAscAV4saRbwYuBJ4HJgfSqzHrgypa8A7o2IIxExBOwDlktaCMyLiMFUbkOuTr6t+4BLUvoyoD8i\nDkXEIWCALNiYmdkkqhkYIuIZ4I+A/0sWEA5FxACwICJGUrERYEFKnw0cyDVxADinQv5wyic970/b\nOwoclnRGjbbMzGwS1RtKehnwQeACsjfqUyX9Zr5MZPfU8H01zMxmiFl11r8O+EZEjAJI+jzwRuCg\npLMi4mAaJno6lR8GFuXqn0v2SX84pcvzx+qcBzyZhqtOi4hRScNAV67OImB7eQclOSiZmbUgIlQp\nv94cw27gDZLmpknktwO7gC8C3alMN3B/Sm8BVkmaLWkx0AkMRsRB4FlJy1M71wEP5OqMtXUV2WQ2\nQD+wQtJ8SacDlwIPVdm5io9169ZVXTdRdaZiG67jv81Mq9Ou/TqR6tRS84whIr4jaQPwLeA54NvA\nnwPzgM2SeoAh4OpUfpekzSl4HAVWx3gPVgP3AHOBByNia8q/C9goaS8wSnbVExHxjKSbgUdSub7I\nJqHNzGwS1RtKIiI+BnysLPsZsrOHSuU/Cny0Qv6jwCsr5P+CFFgqrLsbuLteH83MbOKc3NvbO919\nOCZ9fX29tfbhggsuaLrNZutMxTZcp7U67dov12nffp0odfr6+ujt7e2rVF71xpranaQ43vfBzGyq\nSSJanHw2M7MTjAODmZkVODCYmVmBA4OZmRU4MJiZWUHd7zHY9Bm/Y/kL+UosM5ssDgxtr1IAqB4w\nzMyOlYeSzMyswIHBzMwKHBjMzKzAgcHMzAocGMzMrMCBwczMChwYzMyswIHBzMwKHBjMzKzAgcHM\nzArqBgZJL5f0WO5xWNKNkjokDUjaI6lf0vxcnbWS9kraLWlFLn+ppJ1p3e25/DmSNqX8HZLOz63r\nTtvYI+n6idx5MzN7oaZ+2lPSScAwsAx4P/D/IuJjkj4EnB4RayQtAT4LvB44B/gy0BkRIWkQeF9E\nDEp6EPh4RGyVtBr4ZxGxWtI1wL+JiFWSOoBHgKWpC48CSyPiUK5PM/anPbOb6FW+V9JM3WczmxoT\n+dOebwf2RcR+4HJgfcpfD1yZ0lcA90bEkYgYAvYByyUtBOZFxGAqtyFXJ9/WfcAlKX0Z0B8Rh1Iw\nGABWNtlnMzNrQrOBYRVwb0oviIiRlB4BFqT02cCBXJ0DZGcO5fnDKZ/0vB8gIo4ChyWdUaMtMzOb\nJA0HBkmzgXcCf1W+Lo3leGzDzGwGaOb3GH4NeDQifpSWRySdFREH0zDR0yl/GFiUq3cu2Sf94ZQu\nzx+rcx7wpKRZwGkRMSppGOjK1VkEbC/vWG9v7/Pprq4uurq6youYmZ3QSqUSpVKpobINTz5L+kvg\nSxGxPi1/DBiNiFslrQHml00+L2N88vmfpsnnh4EbgUHgf1GcfH5lRNwgaRVwZW7y+VvAa8l+neZR\n4LWefPbks5kdm1qTzw0FBkmnAD8EFkfET1JeB7CZ7JP+EHD12Bu2pA8Dvw0cBT4QEQ+l/KXAPcBc\n4MGIuDHlzwE2Aq8BRoFVaeIaSe8CPpy68gdjgSnXNwcGM7MmHXNgaGcODGZmzZvIy1XNzGyGc2Aw\nM7MCBwYzMytwYDAzswIHBjMzK3BgMDOzAgcGMzMrcGAwM7MCBwYzMytwYDAzswIHBjMzK3BgMDOz\nAgcGMzMrcGAwM7MCBwYzMytwYDAzswIHBjMzK3BgMDOzAgcGMzMraCgwSJov6XOSvidpl6Tlkjok\nDUjaI6lf0vxc+bWS9kraLWlFLn+ppJ1p3e25/DmSNqX8HZLOz63rTtvYI+n6idpxMzOrrNEzhtuB\nByPiYuBVwG5gDTAQERcC29IykpYA1wBLgJXAHcp+1R7gTqAnIjqBTkkrU34PMJrybwNuTW11ADcB\ny9JjXT4AmZnZxKsbGCSdBrwlIj4FEBFHI+IwcDmwPhVbD1yZ0lcA90bEkYgYAvYByyUtBOZFxGAq\ntyFXJ9/WfcAlKX0Z0B8RhyLiEDBAFmzMzGySNHLGsBj4kaS7JX1b0iclnQIsiIiRVGYEWJDSZwMH\ncvUPAOdUyB9O+aTn/ZAFHuCwpDNqtGVmZpNkVoNlXgu8LyIekfQnpGGjMRERkmIyOtiI3t7e59Nd\nXV10dXVNV1fMzNpSqVSiVCo1VLaRwHAAOBARj6TlzwFrgYOSzoqIg2mY6Om0fhhYlKt/bmpjOKXL\n88fqnAc8KWkWcFpEjEoaBrpydRYB28s7mA8MZmb2QuUfmvv6+qqWrTuUFBEHgf2SLkxZbweeAL4I\ndKe8buD+lN4CrJI0W9JioBMYTO08m65oEnAd8ECuzlhbV5FNZgP0AyvSVVGnA5cCD9Xrs5mZta6R\nMwaA9wOfkTQb+D/Au4CTgc2SeoAh4GqAiNglaTOwCzgKrI6IsWGm1cA9wFyyq5y2pvy7gI2S9gKj\nwKrU1jOSbgbGzlb60iS0mZlNEo2/Zx+fJMXxvg/VZCdWlfZNzNR9NrOpIYmIUKV1/uazmZkVODCY\nmVmBA4OZmRU4MJiZWYEDg5mZFTgwmJlZQaPfYzAzm3LjN2auzJdtTw4HBjNrc9Xe/GsHDWudh5LM\nzKzAgcHMzAocGMzMrMCBwczMChwYzMyswIHBzMwKHBjMzKzAgcHMzAocGMzMrMCBwczMChwYzMys\noKHAIGlI0nclPSZpMOV1SBqQtEdSv6T5ufJrJe2VtFvSilz+Ukk707rbc/lzJG1K+TsknZ9b1522\nsUfS9ROz22ZmVk2jZwwBdEXEayJiWcpbAwxExIXAtrSMpCXANcASYCVwh8ZvkXgn0BMRnUCnpJUp\nvwcYTfm3AbemtjqAm4Bl6bEuH4DMzGziNTOUVH4rw8uB9Sm9Hrgypa8A7o2IIxExBOwDlktaCMyL\niMFUbkOuTr6t+4BLUvoyoD8iDkXEIWCALNiYmdkkaeaM4cuSviXp3SlvQUSMpPQIsCClzwYO5Ooe\nAM6pkD+c8knP+wEi4ihwWNIZNdoyOyFIqvowmyyN/h7DmyLiKUlnAgOSdudXRkRImrZfzOjt7X0+\n3dXVRVdX13R1xWwSVPrXcmCw5pRKJUqlUkNlGwoMEfFUev6RpC+QjfePSDorIg6mYaKnU/FhYFGu\n+rlkn/SHU7o8f6zOecCTkmYBp0XEqKRhoCtXZxGwvbx/+cBgZmYvVP6hua+vr2rZukNJkl4saV5K\nnwKsAHYCW4DuVKwbuD+ltwCrJM2WtBjoBAYj4iDwrKTlaTL6OuCBXJ2xtq4im8wG6AdWSJov6XTg\nUuChen02M7PWNXLGsAD4QhrTnAV8JiL6JX0L2CypBxgCrgaIiF2SNgO7gKPA6hj/YdbVwD3AXODB\niNia8u8CNkraC4wCq1Jbz0i6GXgkletLk9AV+fdhzcyOnY73N0tJz8edLDBU/33Y421fq+/P8bcv\n1poT/RiYaf/T7UQSEVHx07S/+WxmZgUODGZmVuDAYGZmBQ4MZmZW4MBgZmYFDgxmZlbgwGBmZgUO\nDGZmVuDAYGZmBQ4MZmZW4MBgZmYFDgxmZlbgwGBmZgUODGZmVuDAYGZmBQ4MZmZW4MBgZmYFjfy0\np9kx88+umh0/HBhsClX/icYTQa3g6MBo7aShoSRJJ0t6TNIX03KHpAFJeyT1S5qfK7tW0l5JuyWt\nyOUvlbQzrbs9lz9H0qaUv0PS+bl13WkbeyRdPzG7bBNBUtWH1RIVHmbtpdE5hg8Auxg/itcAAxFx\nIbAtLSNpCXANsARYCdyh8XeKO4GeiOgEOiWtTPk9wGjKvw24NbXVAdwELEuPdfkAZO3Ab3JmM1Hd\nwCDpXOBfAX/B+Dn/5cD6lF4PXJnSVwD3RsSRiBgC9gHLJS0E5kXEYCq3IVcn39Z9wCUpfRnQHxGH\nIuIQMEAWbMzMbBI1csZwG/B7wHO5vAURMZLSI8CClD4bOJArdwA4p0L+cMonPe8HiIijwGFJZ9Ro\ny8yOQ7WGHz0E2V5qTj5LegfwdEQ8JqmrUpmICEnTOobQ29ubWyoBXdPSDzOr58S+AGE6lUolSqVS\nQ2VV62oISR8FrgOOAi8CXgJ8Hng90BURB9Mw0Vci4iJJawAi4pZUfyuwDvhhKnNxyr8WeGtE3JDK\n9EbEDkmzgKci4kxJq9I23pPqfALYHhGbyvoYY/uQfeqofuAdb1d+VN+f6d+XZvs20/42rWjl79nO\nx0CzWjkGfNxMHklERMWIXHMoKSI+HBGLImIxsIrsjfk6YAvQnYp1A/en9BZglaTZkhYDncBgRBwE\nnpW0PE1GXwc8kKsz1tZVZJPZAP3ACknzJZ0OXAo81NSem5lZ05r9HsNYeL4F2CypBxgCrgaIiF2S\nNpNdwXQUWB3jIX01cA8wF3gwIram/LuAjZL2AqNkAYiIeEbSzcAjqVxfmoQ2M7NJVHMo6XjgoaTp\n4aGk5nkoyUNJ7aTloSQzMzvxODCYmVmBA4OZmRX4Jnpm1jTfLXdmc2Awsxb5y2ozlYeSzMyswIHB\nzMwKHBjMzKzAgcHMzAocGMzMrMCBwczMChwYzMyswIHBzMwKHBjMzKzAgcHMzAocGMzMrMCBwczM\nChwYzMyswIHBzMwKagYGSS+S9LCkxyXtkvSHKb9D0oCkPZL6Jc3P1Vkraa+k3ZJW5PKXStqZ1t2e\ny58jaVPK3yHp/Ny67rSNPZKun9hdNzOzSmoGhoj4OfC2iHg18CrgbZLeDKwBBiLiQmBbWkbSEuAa\nYAmwErhD47/ocSfQExGdQKeklSm/BxhN+bcBt6a2OoCbgGXpsS4fgMzMbHLUHUqKiH9IydnAycCP\ngcuB9Sl/PXBlSl8B3BsRRyJiCNgHLJe0EJgXEYOp3IZcnXxb9wGXpPRlQH9EHIqIQ8AAWbAxM7NJ\nVDcwSDpJ0uPACPCViHgCWBARI6nICLAgpc8GDuSqHwDOqZA/nPJJz/sBIuIocFjSGTXaMjOzSVT3\npz0j4jng1ZJOAx6S9Lay9SFpWn/gtbe3N7dUArqmpR9mZu2qVCpRKpUaKqtmfrRb0keAnwH/AeiK\niINpmOgrEXGRpDUAEXFLKr8VWAf8MJW5OOVfC7w1Im5IZXojYoekWcBTEXGmpFVpG+9JdT4BbI+I\nTWV9irF9yKYzqv8O7fH2A+XV92f696XZvs20v00rWvl7tusx0Mrfc6rqWGMkEREVf6C73lVJLx2b\n8JU0F7gUeAzYAnSnYt3A/Sm9BVglabakxUAnMBgRB4FnJS1Pk9HXAQ/k6oy1dRXZZDZAP7BC0nxJ\np6dtP9TEfpuZWQvqDSUtBNZLOoksiGyMiG2SHgM2S+oBhoCrASJil6TNwC7gKLA6xkP6auAeYC7w\nYERsTfl3ARsl7QVGgVWprWck3Qw8ksr1pUloMzObRE0NJbUjDyVNDw8lNc9DSR5KaictDyWZmdmJ\nx4HBzMwKHBjMzKzAgcHMzArqfsHNJsb4LaMq8ySambULB4YpVf3qCjOzduGhJDMzK/AZg53wPMxn\nVuTAYAZ4mM9snIeSzMyswIHBzMwKHBjMzKzAgcHMzAocGMzMrMCBwczMChwYzMyswIHBzMwKHBjM\nzKzAgcHMzArqBgZJiyR9RdITkv5W0o0pv0PSgKQ9kvolzc/VWStpr6Tdklbk8pdK2pnW3Z7LnyNp\nU8rfIen83LrutI09kq6fuF03M7NKGjljOAL8x4h4BfAG4L2SLgbWAAMRcSGwLS0jaQlwDbAEWAnc\nofG7lN0J9EREJ9ApaWXK7wFGU/5twK2prQ7gJmBZeqzLByAzM5t4dQNDRByMiMdT+qfA94BzgMuB\n9anYeuDKlL4CuDcijkTEELAPWC5pITAvIgZTuQ25Ovm27gMuSenLgP6IOBQRh4ABsmBjZmaTpKk5\nBkkXAK8BHgYWRMRIWjUCLEjps4EDuWoHyAJJef5wyic97weIiKPAYUln1GjLzMwmScO33ZZ0Ktmn\n+Q9ExE/y97CPiJA0bTet7+3tzS2VgK5p6YeZWbsqlUqUSqWGyqqRHyGR9E+Avwa+FBF/kvJ2A10R\ncTANE30lIi6StAYgIm5J5bYC64AfpjIXp/xrgbdGxA2pTG9E7JA0C3gqIs6UtCpt4z2pzieA7RGx\nKde3GNuHLFhVv6/+dP7gSit9q15nevcFmu/bTPvbTOx2qm+jXY+BiT2eJ7aONUYSEVHxB0cauSpJ\nwF3ArrGgkGwBulO6G7g/l79K0mxJi4FOYDAiDgLPSlqe2rwOeKBCW1eRTWYD9AMrJM2XdDpwKfBQ\n3T02M7OWNTKU9CbgN4HvSnos5a0FbgE2S+oBhoCrASJil6TNwC7gKLA6xsP6auAeYC7wYERsTfl3\nARsl7QVGgVWprWck3Qw8ksr1pUloM7OKav1Uq88wGtPQUFI781DS9PBQ0kRux0NJU1Nn+v9v2skx\nDSWZmdmJxYHBzMwKHBjMzKyg4e8xmNk4T3DaTObAYNayyhOcZsc7DyWZmVmBA4OZmRU4MJiZWYHn\nGMzMWjCTL0BwYDAza9nMvADBQ0lmZlbgM4YW1DqFhOP/NNLM2sd0DFk5MLSs+o29zMwm1tQOWTkw\nzDAzeULMzKaGA8OMNDMnxMxsanjy2czMChwYzMyswIHBzMwKPMdgnrA2s4K6ZwySPiVpRNLOXF6H\npAFJeyT1S5qfW7dW0l5JuyWtyOUvlbQzrbs9lz9H0qaUv0PS+bl13WkbeyRdPzG7bJVFhYeZnYga\nGUq6G1hZlrcGGIiIC4FtaRlJS4BrgCWpzh0a/zh6J9ATEZ1Ap6SxNnuA0ZR/G3BraqsDuAlYlh7r\n8gHIzMwmR93AEBFfA35cln05sD6l1wNXpvQVwL0RcSQihoB9wHJJC4F5ETGYym3I1cm3dR9wSUpf\nBvRHxKGIOAQM8MIAZWZmE6zVyecFETGS0iPAgpQ+GziQK3cAOKdC/nDKJz3vB4iIo8BhSWfUaMvM\nzCbRMU8+R0RImtYB6d7e3txSCeialn6YtQNfTGCVlEolSqVSQ2VbDQwjks6KiINpmOjplD8MLMqV\nO5fsk/5wSpfnj9U5D3hS0izgtIgYlTRM8R1+EbC9UmfGAkNfXx8OCmbgb79bua6uLrq6up5fzt4v\nK2t1KGkL0J3S3cD9ufxVkmZLWgx0AoMRcRB4VtLyNBl9HfBAhbauIpvMBugHVkiaL+l04FLgoRb7\nW5Wkmg8zsxNN3TMGSfcC/wJ4qaT9ZFcK3QJsltQDDAFXA0TELkmbgV3AUWB1jJ+7rgbuAeYCD0bE\n1pR/F7BR0l5gFFiV2npG0s3AI6lcX5qEngS+U6qZ2Rgd72OOkp6PPdkn/Opv8pX29fisU7l8O9dp\nZf+nyon+t2nF9P8PtFJnYo+z4307koiIip9+fUsMMzMrcGAwM7MCBwYzMytwYDAzswIHBjMzK/Bt\nt83shOdvixc5MJiZAf62+DgPJZmZWYHPGGxGqXcbkxNxWMCsWQ4MNgP5Fidmx8JDSWZmVuDAYGZm\nBQ4MZmZW4MBgZmYFDgxmZlbgwGBmZgUODGZmVuDAYGZmBW0fGCStlLRb0l5JH5ru/piZzXRtHRgk\nnQz8D2AlsAS4VtLFjbdQamGrzdaZim24DkCp1Gyd5rfhOq28zq1sZyq20d51puZ1bm07bR0YgGXA\nvogYiogjwF8CVzRevdTCJputMxXbcB1wYGjf17mV7UzFNtq7TjsHhna/V9I5wP7c8gFg+TT1xaZY\npRvi9fX1PZ/2DfEmTvlr7dd5chwvr3O7nzG0zytl0yRyj3W5tE08v85TY3JfZ0mFR19fX2G5oTba\nKUqVk/QGoDciVqbltcBzEXFrrkz77oCZWRuLiIqRot0Dwyzg74BLgCeBQeDaiPjetHbMzGwGa+s5\nhog4Kul9wEPAycBdDgpmZpOrrc8YzMxs6rX1GUMrJHUAncCcsbyI+GqN8nOB1cCbyWaBvgbcGRE/\nn4C+/G5uMRj/CbFI/frjGnVPAv49sDgifl/SecBZETF4rP2q0Mfyvh0GHo2Ix6vUeRHw68AFjB9D\nERG/P0F9+npEvEnST3nhzFwAzwD/LSL+Z1m9pRHxaFneOyLiryeiX7k2Xw98mBfu/6tq1GnpNZP0\nauAtpGMzIr5Tp3zTx3OVY+D5dPlxqmwG89yIyF8x2BYkrauQPWHH5omi3a9KaoqkdwN/A2wF+siG\noHrrVNtA9uW5j5N9me4VwMYa29gg6fTccoekT1UpPg84FVgK3ACcTXYJ7nuA19bp1x3AG4F/l5Z/\nmvIq9Wljev5gnTYrWZr6M9a33wF+DfhkjW+aPwBcDhxJ/fop8PdV+vb19PxTST8pezxbqU5EvCk9\nnxoR88oeL0l9vrFC1U9KemVu29cCN1XpV6X+1OxXzmeAu8ne6N+ZHpfXqdPwa5br4weATwNnAguA\nT0uqtN95TR3PSbXj81SyY7iSL9Vps0DS1ZJektIfkfQFSTX/ByTd2khemb9n/PX9R7Jj+YI62/ld\nSefUabe8zqclvVvSRU3UWVIhr6tOnRvz7zcNbme7pH9dlvfnzbRBRMyYB/C3wFzg8bR8EfCFOnV2\nNZKXW/d4I3ll678GzMstzyP79FerzmP555T+TrV9IPun/i7QUf5ooG+n5pZPBb4KvBj4XrXXuQ3+\n1mdXyPtV4Nvp7/7utG+nTcK2v97KsdlCnZ3AKbnlU4Cddeo0dTznjoFmj8/1wLJm9iU9v5nsW1rv\nAB6uU+exau00sd05wN/UKdMLPAH8b+B9wIIG2v2XZNebDgA/AO4DPljvGAA+RHY29mLgT4Edder8\nV2AfsJnsDhBqoG8/SP/D62q9lrUeM+qMAfh5RPwMslP3iNgNvLxOnW9LeuPYQrpE9tEa5ZWGq8YW\nOsgmxmv5FbJPimOOpLxafpluCTK2nTOB56qU/TNgG9m+Plr2+Fad7ZwJ/LKsbwsi4h+AasMP35BU\nddhkKkTEkxXyvg9cC3yB7NP8ZRFxeBI23yfpLknXSvr19Pi3deq0+po9VyVdTbPHM7R2fL4B+Kak\n70vamR7frVH+H9PzO4BPRja8N7tSQUk3SNoJvDzX9k5JQ2QffppxCtlZUFUR0RsRrwDeCywEvipp\nW50628netD8CfBJ4PdlZVy3LgUXAN8musHwK+Od1tvOfgQuBTwG/BeyV9FFJL6tR7RBZ4Fog6YuS\n5tfp1wvMtDmG/em0635gQNKPgaFKBdOBB9lr8HVJ+8nGVs8ju0S2mj8i+4fYTBb5f4PsAKllAzAo\n6fOpzpVkn7hq+VOyN7hfkfRR4Crgv1QqGBEfBz4u6c8i4j112i33GeBhSfenvr0T+KykU8jORJ6X\ne81OBt4l6QfAL8a7UX2MfTLl+jWmg2yY9GFJk9GvbrIgPIvim/Xna9R5C82/ZneT7UP+uKk2bDnm\ndVQ4ntNrVG17rRyfl9VZX244DWdcCtyS5lyqfTD9LNlQ1S2Mf8IG+ElEjNbaSNmxcBJZgGt0fuFp\n4CAwSvaBqdZ2tpEFnW+SnWm8LiKertP+UeBnZKMaLwK+HxF1g31EPCfpIDBCFmBPBz4n6csR8XtV\n6hwFVkv6LbIzwuaGo9JpxoyTxu5eAmyNiF9WWH9BjeoRET+s0fYryCJyANsjYle1srk6SxmfRPxq\nRDzWQJ2Lyb7DAbAtJulS3TSZ+qbUt69HRMWzjDqvGRExNNF9a8RU90vS3wEXRRP/PNX6WK9v6bh5\nfiK53nHT6mvRyvHZjPRBYyXw3YjYK2kh8MqI6J/g7VyQWzwKjER2n7VadVYDV5MFkb8CNtX7n5Z0\nG1kQ/jnwDbK5zW+OjVhUqfMdYAtZoHop8AngFxHxGzXqfAC4nixY/QXZ0PgRZRen7I2IF5w5SPqd\niPhEbnkp8N6I+O1a+1RoY6YGBrPJIulu4L9HxBPT3Rc7dpL+kCwYVLwKr07deWRDPP+J7KrBOTXK\nvj4iHinLuz4iNtSo0wd8qtIHVUlLGvlQ2goHBrMmSdoNvIxskm/ah9Js6kl6P9kZ1lKy4+BrZGd0\n26e1YxNkps0xmE2FldPdAZt2LyKbb/x2vaGq45HPGMzMrGCmXa5qZmbHyIHBzMwKHBjMzKzAgcHM\nzAocGMzMrOD/A5ZV4vqjDJn1AAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY0AAAD7CAYAAACWq8i5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGXNJREFUeJzt3X+0XWV95/H3p1B+TAsSNKYsgsZOM1rK+ANSSFdtR6WFgJ2GTpXBtpJxKJkW7KLj9Ec67ZQR6xTbaW0Z23RYkhrUqaLVIa1gmhW11iqYIBQEyuIWZUgWQiT8cLTV4nznj/OkHq7nnPvckHAuyfu11lln7+9+nv3sc+6593P2j3NuqgpJknp8y7Q3QJL09GFoSJK6GRqSpG6GhiSpm6EhSepmaEiSuhkakqRuhoYkqZuhIUnqdui0N2Bfe9aznlXLli2b9mZI0tPKTTfd9MWqWjxXuwMuNJYtW8b27dunvRmS9LSS5N6edh6ekiR1MzQkSd0MDUlSN0NDktTN0JAkdTM0JEndDA1JUjdDQ5LU7YD7cN+BbNm6D42sf/7yVz7FWyLpYOWehiSpm6EhSepmaEiSuhkakqRuhoYkqZuhIUnqZmhIkroZGpKkboaGJKmboSFJ6mZoSJK6GRqSpG5zhkaS5ye5Zej2WJKfT3Jski1J7m73i1r7JLkiyUySW5OcPLSuNa393UnWDNVPSXJb63NFkrT6yDEkSdMxZ2hU1V1V9eKqejFwCvAV4IPAOmBrVS0HtrZ5gLOA5e22FlgPgwAALgVOA04FLh0KgfXAhUP9VrX6uDEkSVMw38NTpwN/V1X3AquBja2+ETinTa8Grq6BG4BjkhwHnAlsqardVfUwsAVY1ZYdXVU3VFUBV89a16gxJElTMN/QOA/4kza9pKrub9NfAJa06eOB+4b67Gi1SfUdI+qTxniCJGuTbE+yfdeuXfN8SJKkXt2hkeQw4EeB981e1vYQah9u1zeZNEZVXVlVK6pqxeLFi/fnZkjSQW0+expnAZ+pqgfa/APt0BLt/sFW3wmcMNRvaatNqi8dUZ80hiRpCuYTGq/hG4emADYBe66AWgNcO1Q/v11FtRJ4tB1i2gyckWRROwF+BrC5LXssycp21dT5s9Y1agxJ0hR0/Y/wJN8G/DDwH4bKlwPXJLkAuBc4t9WvA84GZhhcafU6gKraneRNwLbW7rKq2t2mLwLeARwJXN9uk8aQJE1BV2hU1ZeBZ86qPcTgaqrZbQu4eMx6NgAbRtS3AyeNqI8cQ5I0HX4iXJLUzdCQJHUzNCRJ3QwNSVI3Q0OS1M3QkCR1MzQkSd0MDUlSN0NDktTN0JAkdTM0JEndDA1JUjdDQ5LUzdCQJHUzNCRJ3QwNSVI3Q0OS1M3QkCR16wqNJMckeX+Sv01yZ5LvS3Jski1J7m73i1rbJLkiyUySW5OcPLSeNa393UnWDNVPSXJb63NFkrT6yDEkSdPRu6fx+8CHq+oFwIuAO4F1wNaqWg5sbfMAZwHL220tsB4GAQBcCpwGnApcOhQC64ELh/qtavVxY0iSpmDO0EjyDOAHgasAquprVfUIsBrY2JptBM5p06uBq2vgBuCYJMcBZwJbqmp3VT0MbAFWtWVHV9UNVVXA1bPWNWoMSdIU9OxpPA/YBfxxkpuTvD3JtwFLqur+1uYLwJI2fTxw31D/Ha02qb5jRJ0JYzxBkrVJtifZvmvXro6HJEnaGz2hcShwMrC+ql4CfJlZh4naHkLt+83rG6OqrqyqFVW1YvHixftzMyTpoNYTGjuAHVV1Y5t/P4MQeaAdWqLdP9iW7wROGOq/tNUm1ZeOqDNhDEnSFMwZGlX1BeC+JM9vpdOBO4BNwJ4roNYA17bpTcD57SqqlcCj7RDTZuCMJIvaCfAzgM1t2WNJVrarps6fta5RY0iSpuDQznY/B7w7yWHAPcDrGATONUkuAO4Fzm1trwPOBmaAr7S2VNXuJG8CtrV2l1XV7jZ9EfAO4Ejg+nYDuHzMGJKkKegKjaq6BVgxYtHpI9oWcPGY9WwANoyobwdOGlF/aNQYkqTp8BPhkqRuhoYkqZuhIUnqZmhIkroZGpKkbr2X3ErS1C1b96GR9c9f/sqneEsOXu5pSJK6GRqSpG6GhiSpm6EhSepmaEiSuhkakqRuhoYkqZuhIUnqZmhIkroZGpKkboaGJKmboSFJ6mZoSJK6dYVGks8nuS3JLUm2t9qxSbYkubvdL2r1JLkiyUySW5OcPLSeNa393UnWDNVPaeufaX0zaQxJ0nTM56vRX15VXxyaXwdsrarLk6xr878MnAUsb7fTgPXAaUmOBS4FVgAF3JRkU1U93NpcCNwIXAesAq6fMIZ00Bn3teDgV4PrqfNkDk+tBja26Y3AOUP1q2vgBuCYJMcBZwJbqmp3C4otwKq27OiquqGqCrh61rpGjSFJmoLe0CjgL5LclGRtqy2pqvvb9BeAJW36eOC+ob47Wm1SfceI+qQxniDJ2iTbk2zftWtX50OSJM1X7+Gpl1bVziTPBrYk+dvhhVVVSWrfb17fGFV1JXAlwIoVK/brdkjSwawrNKpqZ7t/MMkHgVOBB5IcV1X3t0NMD7bmO4EThrovbbWdwMtm1T/W6ktHtGfCGF3815CStG/NeXgqybclOWrPNHAG8FlgE7DnCqg1wLVtehNwfruKaiXwaDvEtBk4I8midhXUGcDmtuyxJCvbVVPnz1rXqDEkSVPQs6exBPhguwr2UOB/VdWHk2wDrklyAXAvcG5rfx1wNjADfAV4HUBV7U7yJmBba3dZVe1u0xcB7wCOZHDV1PWtfvmYMSRJUzBnaFTVPcCLRtQfAk4fUS/g4jHr2gBsGFHfDpzUO4YkaTr8RLgkqZuhIUnqZmhIkroZGpKkboaGJKmboSFJ6mZoSJK6GRqSpG6GhiSpm6EhSepmaEiSuhkakqRuhoYkqZuhIUnqZmhIkrr1/o9waZ/yX/FKT0+Ghp60cQEAhsA4Pmd6uvLwlCSpW3doJDkkyc1J/rzNPy/JjUlmkrw3yWGtfnibn2nLlw2t41da/a4kZw7VV7XaTJJ1Q/WRY0iSpmM+exqXAHcOzb8FeGtVfRfwMHBBq18APNzqb23tSHIicB7wPcAq4A9bEB0C/AFwFnAi8JrWdtIYkqQp6DqnkWQp8ErgzcAbkgR4BfATrclG4L8C64HVbRrg/cDbWvvVwHuq6qvA55LMAKe2djNVdU8b6z3A6iR3ThhD0tOcF0M8PfXuafwe8EvA/2vzzwQeqarH2/wO4Pg2fTxwH0Bb/mhr/0/1WX3G1SeN8QRJ1ibZnmT7rl27Oh+SJGm+5gyNJD8CPFhVNz0F27NXqurKqlpRVSsWL1487c2RpANWz+Gp7wd+NMnZwBHA0cDvA8ckObTtCSwFdrb2O4ETgB1JDgWeATw0VN9juM+o+kMTxpAkTcGcexpV9StVtbSqljE4kf2RqvpJ4KPAq1qzNcC1bXpTm6ct/0hVVauf166ueh6wHPg0sA1Y3q6UOqyNsan1GTeGJGkKnsznNH6ZwUnxGQbnH65q9auAZ7b6G4B1AFV1O3ANcAfwYeDiqvp624t4PbCZwdVZ17S2k8aQJE3BvD4RXlUfAz7Wpu/hG1c/Dbf5B+DVY/q/mcEVWLPr1wHXjaiPHEOSNB1+IlyS1M3vnpL0pPmZi4OHexqSpG6GhiSpm6EhSepmaEiSuhkakqRuhoYkqZuhIUnqZmhIkroZGpKkboaGJKmboSFJ6mZoSJK6GRqSpG6GhiSpm6EhSepmaEiSus0ZGkmOSPLpJH+T5PYkb2z15yW5MclMkvcmOazVD2/zM235sqF1/Uqr35XkzKH6qlabSbJuqD5yDEnSdPTsaXwVeEVVvQh4MbAqyUrgLcBbq+q7gIeBC1r7C4CHW/2trR1JTgTOA74HWAX8YZJDkhwC/AFwFnAi8JrWlgljSJKmYM7QqIH/22a/td0KeAXw/lbfCJzTple3edry05Ok1d9TVV+tqs8BM8Cp7TZTVfdU1deA9wCrW59xY0iSpqDrnEbbI7gFeBDYAvwd8EhVPd6a7ACOb9PHA/cBtOWPAs8crs/qM67+zAljzN6+tUm2J9m+a9eunockSdoLXaFRVV+vqhcDSxnsGbxgv27VPFXVlVW1oqpWLF68eNqbI0kHrHldPVVVjwAfBb4POCbJoW3RUmBnm94JnADQlj8DeGi4PqvPuPpDE8aQJE1Bz9VTi5Mc06aPBH4YuJNBeLyqNVsDXNumN7V52vKPVFW1+nnt6qrnAcuBTwPbgOXtSqnDGJws39T6jBtDkjQFh87dhOOAje0qp28BrqmqP09yB/CeJL8B3Axc1dpfBbwzyQywm0EIUFW3J7kGuAN4HLi4qr4OkOT1wGbgEGBDVd3e1vXLY8aQJE3BnKFRVbcCLxlRv4fB+Y3Z9X8AXj1mXW8G3jyifh1wXe8YkqTp8BPhkqRuhoYkqZuhIUnq1nMiXPvBsnUfGln//OWvfIq3RJL6uachSermnoY0i3uB0njuaUiSuhkakqRuhoYkqZuhIUnqZmhIkroZGpKkboaGJKmboSFJ6mZoSJK6GRqSpG6GhiSpm6EhSepmaEiSus0ZGklOSPLRJHckuT3JJa1+bJItSe5u94taPUmuSDKT5NYkJw+ta01rf3eSNUP1U5Lc1vpckSSTxpAkTUfPnsbjwH+qqhOBlcDFSU4E1gFbq2o5sLXNA5wFLG+3tcB6GAQAcClwGnAqcOlQCKwHLhzqt6rVx40hSZqCOUOjqu6vqs+06S8BdwLHA6uBja3ZRuCcNr0auLoGbgCOSXIccCawpap2V9XDwBZgVVt2dFXdUFUFXD1rXaPGkCRNwbzOaSRZBrwEuBFYUlX3t0VfAJa06eOB+4a67Wi1SfUdI+pMGGP2dq1Nsj3J9l27ds3nIUmS5qE7NJJ8O/CnwM9X1WPDy9oeQu3jbXuCSWNU1ZVVtaKqVixevHh/boYkHdS6/t1rkm9lEBjvrqoPtPIDSY6rqvvbIaYHW30ncMJQ96WtthN42az6x1p96Yj2k8aQpC7++959q+fqqQBXAXdW1e8OLdoE7LkCag1w7VD9/HYV1Urg0XaIaTNwRpJF7QT4GcDmtuyxJCvbWOfPWteoMSRJU9Czp/H9wGuB25Lc0mr/GbgcuCbJBcC9wLlt2XXA2cAM8BXgdQBVtTvJm4Btrd1lVbW7TV8EvAM4Eri+3ZgwhiRpCuYMjar6BJAxi08f0b6Ai8esawOwYUR9O3DSiPpDo8aQJE2HnwiXJHXrOhEuaTJPtupg4Z6GJKmboSFJ6mZoSJK6GRqSpG6eCJekJ2nchRBw4F0M4Z6GJKmboSFJ6ubhKUl6mlgIh8EMjX3AD3ZJOlgYGgewhfCuRNKBxXMakqRuhoYkqZuhIUnqZmhIkrp5IlxP4MlzSZO4pyFJ6jZnaCTZkOTBJJ8dqh2bZEuSu9v9olZPkiuSzCS5NcnJQ33WtPZ3J1kzVD8lyW2tzxVJMmkMSdL09OxpvANYNau2DthaVcuBrW0e4CxgebutBdbDIACAS4HTgFOBS4dCYD1w4VC/VXOMIUmakjlDo6o+DuyeVV4NbGzTG4FzhupX18ANwDFJjgPOBLZU1e6qehjYAqxqy46uqhuqqoCrZ61r1BiSpCnZ2xPhS6rq/jb9BWBJmz4euG+o3Y5Wm1TfMaI+aYxvkmQtgz0bnvOc58z3sUgHLC9s0L72pE+Etz2E2gfbstdjVNWVVbWiqlYsXrx4f26KJB3U9nZP44Ekx1XV/e0Q04OtvhM4Yajd0lbbCbxsVv1jrb50RPtJY+xXfvmgJI23t3sam4A9V0CtAa4dqp/frqJaCTzaDjFtBs5IsqidAD8D2NyWPZZkZbtq6vxZ6xo1hiRpSubc00jyJwz2Ep6VZAeDq6AuB65JcgFwL3Bua34dcDYwA3wFeB1AVe1O8iZgW2t3WVXtObl+EYMrtI4Erm83JowhSZqSOUOjql4zZtHpI9oWcPGY9WwANoyobwdOGlF/aNQYkqTp8RPhkqRuhoYkqZuhIUnq5rfcStIQPxA5mXsakqRuhoYkqZuHp3RA8xP+0r7lnoYkqZuhIUnqZmhIkroZGpKkboaGJKmboSFJ6mZoSJK6GRqSpG6GhiSpm6EhSepmaEiSui340EiyKsldSWaSrJv29kjSwWxBf2FhkkOAPwB+GNgBbEuyqarumO6WaRr88kEdSJ6u/7djQYcGcCowU1X3ACR5D7AaMDSk/eTp+sdMo+3rN1upqiezPftVklcBq6rqp9v8a4HTqur1s9qtBda22ecDd41Y3bOAL85zE+wz/z4Ldbvss3C3yz4LY7ueW1WL51xDVS3YG/Aq4O1D868F3raX69pun/3fZ6Ful30W7nbZZ+Fu16jbQj8RvhM4YWh+aatJkqZgoYfGNmB5kuclOQw4D9g05W2SpIPWgj4RXlWPJ3k9sBk4BNhQVbfv5equtM9T0mehbpd9Fu522Wfhbtc3WdAnwiVJC8tCPzwlSVpADA1JUjdDQ9KTkoET5m6pA8EBHxpJFiU5NckP7rnN0f6IJG9I8oEkf5rkPyY54qna3gnblSQ/leTX2/xzkpw6pu072/0lT+U27g9JPtHuv5TksVm3R5N8LslFE/qfMqL2I/tzm/enJC9K8vp2e1FH+/3+eq7BidHr5tsvyauTHNWmf61t48kT2r+lp/Zktefr+Hn2eVeSC5O8YB59ThxRe9kcfX4uyaJ5btvWJGfPqu31CfED+kR4kp8GLmHw+Y5bgJXAp6rqFRP6XAN8CXhXK/0EcExVvXpCn43AJVX1SJtfBPxOVf37We3eMGl7q+p3J4yxHvh/wCuq6rvbGH9RVd87ou0dwA8B1wMvAzJrnN0Txhm1jY8CN1XVLWP6HA78OLCMoSvyquqycePsK0meCXyyqp4/ZvlngPOr6rNt/jXAz1fVaft4O1YAvwo8l8FzEAZ/T184oc+8nrf2JuBC4AOt9GPAlVX1PyaMsTev53m/TtvvwNuqatukvrP63FpVL0zyUuA3gN8Gfn3czybJZ6rq5FHrmGOcXx/zOMY9z5cC5wK7gfcC76uqB+YY4+XAD7TbPwduBj5eVb8/oc9ngXcCvwUc0e5XVNX3TejzGww+evAZYAOwueb4I57kHuA+4CNV9cZW+6bnsteCvuR2H7gE+F7ghqp6eXsX8N/m6HNSVQ2/A/ho+yM8yQv3BAZAVT2c5CUj2h3V7p/ftmvPZ07+NfDpOcY4rapOTnLz0BiHjWn7R8BW4DuBm3hiaFSrj7Oi3f6szf8IcCvwM0neV1W/NaLPtbRgAb466UEk+URVvTTJl9q2/NOiwcOqoyf1n62qHprj3dmrgPcn+QkGv9DnA2eM2bbZ2zSfbXs38IvAbQzCvUf389ZcwOB18OW2vW8BPgWMDQ327vW8gtGvz7sn9DkN+Mkk9wJfpiM0ga+3+1cyCL8PtT+KT5DkZ4GLgO9McuvQoqOAv57jsdC2Z48jGLym7xzXuP1hfWOSFwL/FvjLJDuq6ocm9Ploko8zeN5eDvwM8D3A2NBg8Jy9BfhkeyzvBr5/0gOpql9L8l8YvIZfB7ytvTG4qqr+bky3R4DTgSuS/BnwU5PGmNOT/Uj5Qr4B29r9LcDhbfr2Ofq8C1g5NH8acPUcff4GWDQ0fyxw24T2HweOGpo/isG7kklj3MjgsyqfafOLgZvn6LN+L56zjwPfPjT/7cBfAkcCd4zp89lp/6zneEz/gsGXXH4YOHI/jfGJvegzr+eNQSAdMTR/xKTXWWuzN6/nvXl9PnfUbY4+fw78T+Ae4BjgcOBvRrR7BoO9sT+Ztf5j9/JndTjwsY523wH8HINgunWOtluBG4C3Av8GeHbH+g9jsHd1CzADnDePx/Ai4PeAvwXWM9iz+a0xbW8emv537XW0Y2+eu6o64Pc0diQ5BvjfwJYkDwP3jmqY5DYG7zK/Ffhkkv/T5p/L4Aczye8An0ryvjb/auDNE9ovAb42NP+1VpvkCuCDwLOTvJnBO+hfm9Shqn52jnWO8mye+K73H4ElVfX3Sca9G/5kkn9ZVbftxXj7xdDPc49jGYTujUmoOQ5p7IVLk7ydwR+Pf3qequoD47vM+3n7Ywbb/8E2fw5w1Rx9TuEbr2eA5wB37Xl+xjwP8359VtXI36s5nAusAv57VT2S5DgGe2uz1/0ogz2y1+zFGKP8MwaHrEdq58jOZfDG7H3AhTX3v2O4lcFzfRKDbX0kyaeq6u8n9NnGYG/zexl8keAfJfnxmnzo8BIGe8tfBN4O/GJV/WOSb2GwJ/hLI7r90Z6JqnpH+9lfPMfjGeuAPqcxLMm/YvCO5cNV9bURy587qf9cvxTtpNaecyUfmfQiS/KrDF6Uw7/8762q35xjjBcw2M0MsLWqxu5i76226/tjDF7MMDg0sYlBMF5ZVT851HbPH+ZDgeUM3jF+lb5DE/vVk/157sV47wJeANzONw5PVc06rzWrzx3AdwGfo/N5ayeKX9pm/6qqbp5ju+b9POzt63OhmvUG4hAGYXBZVb1tTPvfZPB4R57Dm2Osoxi8m/8F4Duq6vAJbVdU1fZZtddW1Tsn9Hkjg2/GGPVz++798Tfhm8Y5WEJjoWm//D/QZj8+1y//U6md1N1zbPWvZ7+wh9o9pX+YF7Ikd9WYk/ET+ox8/hbC87aQX5/zNet5fhx4oKoe38djvJ7B83UK8HngrxiE+kf25TgLgaEh7QNJ/hj47Y7DGDoAJfkFBkFx074OpIXG0JD2gSR3MrjUsvtQk/R0ZGhI+8BCPtQk7UuGhiSp2wH/NSKSpH3H0JAkdTM0JEndDA1JUrf/D01s6fDIlGlbAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -61,9 +63,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -84,9 +84,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -107,28 +105,36 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "harry i cracked that last message for myself and noticed something really odd the text said it was encrypted using a column transposition with keyword seabird but it was enciphered using a rail fence cipher i can only assume that the text we retrieved was an archive of the original message re encrypted for safety whoever the flag day associates are they have a pretty sophisticated operation if they are filing messages like this more like one of the major terrorist groups than the usual hacker collective the tech guys took a look at the aerial from the boat and they tell me that it is a drag wire usually used to communicate with a submarine when submerged it carried an acoustic transducer array as well as a shortwave transmitter and listening gear one thing that puzzles me now is why we were allowed to find the ship floating at all surely they must have planned to sink her using the scuttling equipment otherwise what was it for they seem too smart to leave it floating for us to find any thoughts mark ps just before i sent this the cipher clerk came in with a decrypt of the attached columnar transposition keyword has length six think it answers some of our questions about the nautilus system\n" + "harry i cracked that last message for myself and noticed something really odd the text said it was\n", + "encrypted using a column transposition with keyword seabird but it was enciphered using a rail fence\n", + "cipher i can only assume that the text we retrieved was an archive of the original message re\n", + "encrypted for safety whoever the flag day associates are they have a pretty sophisticated operation\n", + "if they are filing messages like this more like one of the major terrorist groups than the usual\n", + "hacker collective the tech guys took a look at the aerial from the boat and they tell me that it is\n", + "a drag wire usually used to communicate with a submarine when submerged it carried an acoustic\n", + "transducer array as well as a shortwave transmitter and listening gear one thing that puzzles me now\n", + "is why we were allowed to find the ship floating at all surely they must have planned to sink her\n", + "using the scuttling equipment otherwise what was it for they seem too smart to leave it floating for\n", + "us to find any thoughts mark ps just before i sent this the cipher clerk came in with a decrypt of\n", + "the attached columnar transposition keyword has length six think it answers some of our questions\n", + "about the nautilus system\n" ] } ], "source": [ - "print(' '.join(segment(keyword_decipher(sanitise(c5a), key_a[0], key_a[1]))))" + "print(prettify(keyword_decipher(sanitise(c5a), key_a[0], key_a[1])))" ] }, { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -149,30 +155,36 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "phase five seahorse is ready for trials and the nautilus system is fully functional we engaged the mechanism and lowered the deck to three feet above sealevel approaching the shore by the radar station at all times signals from their communications were monitored and no sign was given that our approach had been monitored or even noticed we backed off the deck was raised by two feet and the approach attempted again once more our incursion was unnoticed overnight we conducted a range of tests and mapped the radar coverage on three separate occasions there seems to have been a flurry of activity and our modeling suggests that the ships masts may have triggered brief alarms on all occasions the automatic dive systems cut incorrectly lowering the decks to sealevel and the alarms were cancelled the seahorse deployment system will be fully mounted tonight and we will conduct a battery of tests on the deployment and emergency recovery systems over the next two nights assuming that sea and air traffic remains low xxxx\n" + "phase five seahorse is ready for trials and the nautilus system is fully functional we engaged the\n", + "mechanism and lowered the deck to three feet above sealevel approaching the shore by the radar\n", + "station at all times signals from their communications were monitored and no sign was given that our\n", + "approach had been monitored or even noticed we backed off the deck was raised by two feet and the\n", + "approach attempted again once more our incursion was unnoticed overnight we conducted a range of\n", + "tests and mapped the radar coverage on three separate occasions there seems to have been a flurry of\n", + "activity and our modeling suggests that the ships masts may have triggered brief alarms on all\n", + "occasions the automatic dive systems cut incorrectly lowering the decks to sealevel and the alarms\n", + "were cancelled the seahorse deployment system will be fully mounted tonight and we will conduct a\n", + "battery of tests on the deployment and emergency recovery systems over the next two nights assuming\n", + "that sea and air traffic remains low xxxx\n" ] } ], "source": [ - "print(' '.join(segment(sanitise(column_transposition_decipher(sanitise(c5bs), key_b[0], \n", + "print(prettify(column_transposition_decipher(sanitise(c5bs), key_b[0], \n", " fillcolumnwise=key_b[1], \n", - " emptycolumnwise=key_b[2])))))" + " emptycolumnwise=key_b[2])))" ] }, { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -193,29 +205,36 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "phase five seahorse is ready for trials and the nautilus system is fully functional we engaged the mechanism and lowered the deck to three feet above sealevel approaching the shore by the radar station at all times signals from their communications were monitored and no sign was given that our approach had been monitored or even noticed we backed off the deck was raised by two feet and the approach attempted again once more our incursion was unnoticed overnight we conducted a range of tests and mapped the radar coverage on three separate occasions there seems to have been a flurry of activity and our modeling suggests that the ships masts may have triggered brief alarms on all occasions the automatic dive systems cut incorrectly lowering the decks to sealevel and the alarms were cancelled the seahorse deployment system will be fully mounted tonight and we will conduct a battery of tests on the deployment and emergency recovery systems over the next two nights assuming that sea and air traffic remains low xxxx\n" + "phase five seahorse is ready for trials and the nautilus system is fully functional we engaged the\n", + "mechanism and lowered the deck to three feet above sealevel approaching the shore by the radar\n", + "station at all times signals from their communications were monitored and no sign was given that our\n", + "approach had been monitored or even noticed we backed off the deck was raised by two feet and the\n", + "approach attempted again once more our incursion was unnoticed overnight we conducted a range of\n", + "tests and mapped the radar coverage on three separate occasions there seems to have been a flurry of\n", + "activity and our modeling suggests that the ships masts may have triggered brief alarms on all\n", + "occasions the automatic dive systems cut incorrectly lowering the decks to sealevel and the alarms\n", + "were cancelled the seahorse deployment system will be fully mounted tonight and we will conduct a\n", + "battery of tests on the deployment and emergency recovery systems over the next two nights assuming\n", + "that sea and air traffic remains low xxxx\n" ] } ], "source": [ - "print(' '.join(segment(sanitise(column_transposition_decipher(c5bs, key_b[0], \n", - " fillcolumnwise=key_b[1], emptycolumnwise=key_b[2])))))" + "print(prettify(column_transposition_decipher(c5bs, key_b[0], \n", + " fillcolumnwise=key_b[1], \n", + " emptycolumnwise=key_b[2])))" ] }, { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -271,9 +290,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -294,9 +311,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge6.ipynb b/2014/2014-challenge6.ipynb index df21a33..18a1296 100644 --- a/2014/2014-challenge6.ipynb +++ b/2014/2014-challenge6.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, + "execution_count": 1, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,13 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.railfence import *\n", + "from cipher.hill import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", + "\n", "\n", "c6a = open('6a.ciphertext').read()\n", "c6b = open('6b.ciphertext').read()" @@ -27,26 +31,24 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -60,26 +62,24 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n9ZxBLkk99/8BiWCcUqHoOG4AAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -93,26 +93,24 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD7CAYAAAB68m/qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAERtJREFUeJzt3XuQZGV9xvHvIwhrIgkgw0qBy2ogIjHgZQQsMREwFhETMCIRFUmCbnnBwhg1JBotLY2g8RoszRaoGzEKKASURKUWFBFEdgG5SokICRQCKiixLBX95Y8+i+MwfZment3Zl++nqqv7nH7fPr8+c/rpt9++TKoKSdLm7yGbugBJ0mQY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGbLkxN7bDDjvUypUrN+YmJWmzt379+u9X1dSwdhs10FeuXMm6des25iYlabOX5JZR2jnlIkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWrERv1i0Uwrjz93zvU3n3DIRq5EktrgCF2SGmGgS1IjDHRJaoSBLkmNGOlN0SQ3A/cCvwTuq6rpJNsDpwErgZuBI6rq7sUpU5I0zHxG6AdU1ROqarpbPh5YW1W7A2u7ZUnSJrKQKZdDgTXd5TXAYQsvR5I0rlEDvYAvJVmfZFW3bnlV3d5d/h6wfK6OSVYlWZdk3V133bXAciVJ/Yz6xaL9q+q2JDsC5yX51swrq6qS1Fwdq2o1sBpgenp6zjaSpIUbaYReVbd153cCZwH7AHck2QmgO79zsYqUJA03NNCT/HaSbTZcBp4FXAOcAxzdNTsaOHuxipQkDTfKlMty4KwkG9r/R1V9IcllwOlJjgFuAY5YvDIlScMMDfSqugnYe471PwAOWoyiJEnz5zdFJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDVi1J/P1RArjz93zvU3n3DIRq5E2jR8DGx6jtAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktSIkQM9yRZJrkjy+W750UkuTXJjktOSbLV4ZUqShpnPCP044PoZyycC76uq3YC7gWMmWZgkaX5GCvQkuwCHACd3ywEOBD7TNVkDHLYYBUqSRjPqCP39wBuAX3XLjwDuqar7uuVbgZ3n6phkVZJ1SdbdddddCypWktTf0EBP8hzgzqpaP84Gqmp1VU1X1fTU1NQ4NyFJGsGWI7R5GvDnSZ4NLAN+B/gAsG2SLbtR+i7AbYtXpiRpmKEj9Kr6h6rapapWAi8Azq+qFwEXAId3zY4Gzl60KiVJQy3kc+h/D7w2yY305tRPmUxJkqRxjDLlcr+q+jLw5e7yTcA+ky9JkjQOvykqSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGrHlpi5Amo+Vx5875/qbTzhk0bcx6e1IkzZ0hJ5kWZJvJPlmkmuTvLVb/+gklya5MclpSbZa/HIlSf2MMuXyM+DAqtobeAJwcJL9gBOB91XVbsDdwDGLV6YkaZihgV49/9ctPrQ7FXAg8Jlu/RrgsEWpUJI0kpHm0JNsAawHdgM+BHwHuKeq7uua3Ars3KfvKmAVwIoVKxZar+bJ+WDpwWOkT7lU1S+r6gnALsA+wB6jbqCqVlfVdFVNT01NjVmmJGmYeX1ssaruAS4Angpsm2TDCH8X4LYJ1yZJmodRPuUylWTb7vLDgD8BrqcX7Id3zY4Gzl6sIiVJw40yh74TsKabR38IcHpVfT7JdcCnk7wduAI4ZRHrlCQNMTTQq+oq4IlzrL+J3ny6JGkJ8Kv/ktQIA12SGuFvuUjabPi9isEcoUtSIwx0SWqEgS5JjXAOXWrcxvgNeS0NjtAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhL+HLk2A/+tSS4EjdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGjE00JM8KskFSa5Lcm2S47r12yc5L8m3u/PtFr9cSVI/o4zQ7wP+rqr2BPYDXpVkT+B4YG1V7Q6s7ZYlSZvI0ECvqtur6vLu8r3A9cDOwKHAmq7ZGuCwxSpSkjTcvObQk6wEnghcCiyvqtu7q74HLJ9oZZKkeRn5t1ySPBz4LPCaqvpxkvuvq6pKUn36rQJWAaxYsWJh1Wqj6Pe7JP4mibS0jTRCT/JQemH+yao6s1t9R5Kduut3Au6cq29Vra6q6aqanpqamkTNkqQ5jPIplwCnANdX1XtnXHUOcHR3+Wjg7MmXJ0ka1ShTLk8DjgKuTnJlt+4fgROA05McA9wCHLE4JUqSRjE00KvqIiB9rj5osuVI0mQ9mH6r3m+KSlIjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEaM/NX/BxO/+i5pc+QIXZIaYaBLUiMMdElqxGY1h97S3PaD6evIkjYOR+iS1AgDXZIaYaBLUiM2qzl0aRwtvffSGv82k+UIXZIaYaBLUiMMdElqhHPokh7Aue3NkyN0SWqEgS5JjTDQJakRzqFLm4i/56NJc4QuSY0w0CWpEQa6JDXCOfTNiHOukgZxhC5JjTDQJakRBrokNcI5dEnaRCb9mzlDR+hJPprkziTXzFi3fZLzkny7O99urK1LkiZmlCmXjwMHz1p3PLC2qnYH1nbLkqRNaGigV9WFwA9nrT4UWNNdXgMcNuG6JEnzNO4c+vKqur27/D1geb+GSVYBqwBWrFgx5uYkgd9F0GAL/pRLVRVQA65fXVXTVTU9NTW10M1JkvoYN9DvSLITQHd+5+RKkiSNY9xAPwc4urt8NHD2ZMqRJI1r6Bx6kk8BzwB2SHIr8BbgBOD0JMcAtwBHLGaRC+H/RpS0MSyF9zeGBnpVHdnnqoMmXIskaQH86r8kNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhL+HLkmzLIXPlI/DEbokNcJAl6RGGOiS1Ajn0LXJ+Ds70mQ5QpekRhjoktQIA12SGuEcuibC+XBp03OELkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqxIICPcnBSW5IcmOS4ydVlCRp/sYO9CRbAB8C/hTYEzgyyZ6TKkySND8LGaHvA9xYVTdV1c+BTwOHTqYsSdJ8parG65gcDhxcVS/tlo8C9q2qY2e1WwWs6hYfC9wwx83tAHx/niXYZ/59lmpd9lm6ddlnadS1a1VNDb2FqhrrBBwOnDxj+SjgpDFva519Fr/PUq3LPku3Lvss3brmOi1kyuU24FEzlnfp1kmSNoGFBPplwO5JHp1kK+AFwDmTKUuSNF9bjtuxqu5LcizwRWAL4KNVde2YN7faPhulz1Ktyz5Lty77LN26HmDsN0UlSUuL3xSVpEYY6JLUCANdalh6HjW8pVqwSQM9yXZJ9knyRxtOQ9ovS/LaJGcm+WySv02ybGPVO6CuJHlxkjd3yyuS7NOn7Se68+M2Zo2LIclF3fm9SX486/SjJN9N8soB/Z88x7rnLGbNiynJ3kmO7U57j9B+0Y/n6r1J9l/z7Zfk+Um26S6/qavxSQPanzjKuoXq9tfO8+xzapKXJdljHn0e8DMmSZ4xpM+rk2w3z9rWJnn2rHVjvzm6yd4UTfJS4Dh6n1+/EtgPuKSqDhzQ53TgXuDUbtULgW2r6vkD+qwBjquqe7rl7YD3VNXfzGr32kH1VtV7B2zjw8CvgAOr6nHdNr5UVU+Zo+11wDOB/waeAWTWdn44YDtz1fgjYH1VXdmnz9bA84CVzPhUU1W9rd92JiXJI4CLq+qxfa6/HHhJVV3TLR8JvKaq9p1wHdPAG4Fd6e2D0Mu6vQb0mdd+656gXwac2a16LrC6qv51wDbGOZ7nfZx2j4GTquqyQX1n9bmqqvZKsj/wduDdwJv7/W2SXF5VT5rrNoZs58197ke//fwW4Ajgh8BpwBlVdceQbRwAPL07/R5wBXBhVX1gQJ9rgE8A7wKWdefTVfXUAX3eTu/j25cDHwW+WEMCNslNwP8C51fVW7t1D9iXoxr7Y4sTcBzwFODrVXVA9+z5z0P6PL6qZj5zXtAF5CB7bQhzgKq6O8kT52i3TXf+2K6uDZ+p/zPgG0O2sW9VPSnJFTO2sVWfth8B1gKPAdbzm4Fe3fp+prvT57rl5wBXAS9PckZVvWuOPmfThT7ws0F3IslFVbV/knu7Wu6/qne36ncG9Z+tqn4wZFRzOPCZJC+k92B7CfCsPrXNrmk+tX0SeD1wNb0n3lGMvN86x9A7Dn7S1XsicAnQN9AZ73ieZu7j89sD+uwLvCjJLcBPGOEJDfhld34IvSemc7vA+g1JXgG8EnhMkqtmXLUN8LUh94Wung2W0Tumr+/XuAu9tybZC/hL4CtJbq2qZw7oc0GSC+nttwOAlwN/APQNdHr77ETg4u6+fBJ42qA7UlVvSvJP9I7hvwZO6p60T6mq7/Tpdg9wEPDBJJ8DXjxoG0Mt9Kum456Ay7rzK4Gtu8vXDulzKrDfjOV9gX8f0uebwHYzlrcHrh7Q/kJgmxnL29B7Nh+0jUvpfRb/8m55CrhiSJ8Pj7HPLgQePmP54cBXgIcB1/Xpc82m+huPeJ9+H7gO+ALwsEXaxkVj9JnXfqP3ZLFsxvKyQcdZ12ac43mc43PXuU5D+nwe+DfgJmBbYGvgm3O0+116r2I+Nev2tx/zb7U18OUR2j0SeDW9J42rhrRdC3wdeB/wF8COI9z+VvRelVwJ3Ai8YB73YW/g/cC3gA/Te0Xwrj5tr5hx+a+64+jWcfZdVW3SEfqtSbYF/hM4L8ndwC1zNUxyNb3R2UOBi5P8T7e8K72dNsh7gEuSnNEtPx94x4D2y4Gfz1j+ebdukA8CZwE7JnkHvZHnmwZ1qKpXDLnNuezIb44WfwEsr6qfJuk3irw4yR9W1dVjbG9RzPh7brA9vSfES5NQQ16mj+EtSU6m98C+fz9V1Zn9u8x7v32MXv1ndcuHAacM6fNkfn08A6wAbtiwf/rsh3kfn1U15+NqiCOAg4F/qap7kuxE71XO7Nv+Eb1XMkeOsY25/Ba9adg5de/JHEFv0HQG8LKqGvaq5ip6+/rx9Gq9J8klVfXTAX0uo/cq7Sn0fjTrI0meV4Onw46j9yrz+8DJwOur6hdJHkLvFdQb5uj2kQ0Xqurj3d/+VUPuT19L4otFSf6Y3jP9F6r3U7yzr991UP9hB2z3BseGufnzBx0ASd5I74CZ+cA8rareOWQbe9B76RRgbVX1fdk4ru7l3HPpHWjQe7l9Dr0nrdVV9aIZbTeE5pbA7vRGWj9jtJfbi2qhf88xtncqsAdwLb+ecqma9T7KrD7XAbsB32XE/da9abh/t/jVqrpiSF3z3g/jHp9L1awn9y3oBfXbquqkPu3fSe/+zvme0ZBtbUNvFPw64JFVtfWAttNVtW7WuqOq6hMD+ryV3jfm5/q7PW4xMuEB21kKgb7UdA/Mp3eLFw57YG5M3Rt8G+byvjb7oJvRbqOG5lKW5Ibq88bsgD5z7r+lsN+W8vE5X7P2833AHVV134S3cSy9/fVk4Gbgq/SecM+f5HaWAgNdzUvyMeDdI7w0V4OSvI5eiK+f9JPFUmOgq3lJrqf3cbWRp0+kzZGBruYt5ekTaZIMdElqhL/lIkmNMNAlqREGuiQ1wkCXpEb8PwzbGTkrNC+NAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -126,10 +124,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -137,7 +133,7 @@ "'mtaeglatcleptenopeautelebiiootatwnantateituiiagaeostgvetabdresiacqobwavgrhrsihssaekajbwwttdrsmeetnyafsegilegtkrreocuantteomsgstnsiaeluutrbaiaeteeserhxgtooarrbhpcklialhnaesvearhbepiydcesewtaxuyaerywoeinhteegeisieireaassrbitnhtuorooleewsttereoahyakhlsmsaeodslthsutigqimnidsgetpmwtrnnotfhvselkaumrndvcnrluceryhyeetlnigouncnanrhpnosbhshpslreclvrinfoehniaeennhcrbenrgunruesmlrehiutgteordroeaeoisoeusiknteeslohthdcrmisuteoteaeoshfaiaesemritrseisaigwyrmhrbtetncoenuhorcadeodlcrncomnctosihudtcinagesntisutigytmshthyalatlsnhilguimtlbfldyhrfrnetsaosteetaefhlgokhretcakuteihrlrtlsetshlcpeadhthyutaeennhryraeennihrnbhnsnehyutsdtoywmtiatalwhvbepetlxihuscrtadtikhnxmsaesnwluevgnrcpegvnhteruigeuealsdntikeaeomctwrybusiilephkyodhrsyhecaatrmrltrarretstuoetnuesiduaidoesisaeetbllerpntroisiatsiasesomihsieiaunsaitneelacrfnrnngvetteenslhvpepteonedtnaooutgsotancetimiiwoetiuihclsewtcniieotslfbeecohenpoelsdoctceeemiiirttmhbiuovecegaitjuaborcleentatruyinetsidlaeehitwencceohwvohoatwkteroarhcseer'" ] }, - "execution_count": 6, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -149,10 +145,8 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -160,7 +154,7 @@ "'hwssswxfewhhrfewpdrvttdhxbccleayphalnadhiehaoudrotwnrrvysabjlttbaytmelrkaidopthatlelrtwaamaneksvvzrvllatkcrjquicizgtoqcpnrrkttowandqehtqrvtbaydqealannohulanuzlwextlvjrvivhnohdqmgykaclmswrupdetfioftfelhzpxhaswftwprrsweiseohefpdrvttnvagdvswgoerbetnharvaeevtlltbmgaiatgelinmdawevhatterdhrznbnvoutnefoteveaehlaymhacglzeptvvdimworfisgtuzlwibeqohubtghamqornjnnrumqvjtxeltfovgawdaeevllgrtxibgtibevmpsaateoasevaeyqohameonncfuidoefafattemuimnflznbekofobrliaehhauihnnnwzaeevtlltpaalnanvtzlzuucptaelinanpaahewfthaosetaribnbnvhaevdhyytlmuxb'" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -172,10 +166,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -183,7 +175,7 @@ "(3, -2314.997881051078)" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -195,32 +187,37 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'mark the last message told usa lot the scuttling equipment is designed to pump water in and out of the vessel like a submarine dive control but clearly they werent planning to turn a container ship into a sub this ship is a largescale version of something i have seen in the caribbean drug runners use a similar technique to get below radar coverage for inshore runs sinking the vessel so that the deck remains just below the wave tops the fda pirates seem more interested in staying away from shore but getting close enough to track and record electronic communications without detection i am guessing this scuttling system is what they call nautilus in their log but i am still baffled by the references to seahorse the next page of the log looks harder to crack but the cipher clerk tells me it is a hill cipher and that they must have been in a hurry or have been enciphering by hand since they just used a two by two matrix actually we have been pretty lax with our security and i think the next message is end will use avi genere cipher given that we are using secure cables i dont think we have too much to worry about so i will keep the keyword short say three characters more later harry'" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "mark the last message told usa lot the scuttling equipment is designed to pump water in and out of\n", + "the vessel like a submarine dive control but clearly they werent planning to turn a container ship\n", + "into a sub this ship is a largescale version of something i have seen in the caribbean drug runners\n", + "use a similar technique to get below radar coverage for inshore runs sinking the vessel so that the\n", + "deck remains just below the wave tops the fda pirates seem more interested in staying away from\n", + "shore but getting close enough to track and record electronic communications without detection i am\n", + "guessing this scuttling system is what they call nautilus in their log but i am still baffled by the\n", + "references to seahorse the next page of the log looks harder to crack but the cipher clerk tells me\n", + "it is a hill cipher and that they must have been in a hurry or have been enciphering by hand since\n", + "they just used a two by two matrix actually we have been pretty lax with our security and i think\n", + "the next message is end will use avi genere cipher given that we are using secure cables i dont\n", + "think we have too much to worry about so i will keep the keyword short say three characters more\n", + "later harry\n" + ] } ], "source": [ - "' '.join(segment(railfence_decipher(c6as, key_a)))" + "print(prettify(railfence_decipher(c6as, key_a)))" ] }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "data": { @@ -229,7 +226,7 @@ " [1, 1]]), -666.1299098341699)" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -241,32 +238,31 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'phase six seahorse operated exactly as planned with good forward visibility at the trial depths the crew managed several tasks requiring concentration and dexterity and we plan to run a full test overnight on dummy cables dropped from the ship the software seems to be operating as designed but there are still bugs in the firmware that need ironing out before we deploy the collective is working full time to hunt them down and remove them though we are all getting tired mistakes are easy to make and could be fatal time is no longer on our side though and we are still planning to launch the final phase of the operation in three days timex'" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "phase six seahorse operated exactly as planned with good forward visibility at the trial depths the\n", + "crew managed several tasks requiring concentration and dexterity and we plan to run a full test\n", + "overnight on dummy cables dropped from the ship the software seems to be operating as designed but\n", + "there are still bugs in the firmware that need ironing out before we deploy the collective is\n", + "working full time to hunt them down and remove them though we are all getting tired mistakes are\n", + "easy to make and could be fatal time is no longer on our side though and we are still planning to\n", + "launch the final phase of the operation in three days timex\n" + ] } ], "source": [ - "' '.join(segment(hill_decipher(key_b, c6bs)))" + "print(prettify(hill_decipher(key_b, c6bs)))" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -287,9 +283,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge7.ipynb b/2014/2014-challenge7.ipynb index 7e8f74c..474b1ad 100644 --- a/2014/2014-challenge7.ipynb +++ b/2014/2014-challenge7.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,12 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.vigenere import *\n", + "from cipher.amsco import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "c7a = open('7a.ciphertext').read()\n", "c7b = open('7b.ciphertext').read()" @@ -28,14 +31,12 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -44,9 +45,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -61,14 +62,12 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -77,9 +76,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -94,14 +93,12 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -110,9 +107,9 @@ }, { "data": { - "image/png": "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\nQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -127,9 +124,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -150,9 +145,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -173,9 +166,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -196,31 +187,41 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'dear mark things area lot clearer now i flew out to inspect the ship myself last night and took a good look around the reason the ship was not scuttled was that the valves had jammed it looks like the driftwood was pulled into the mechanism and blocked the inlet presumably the crew had already abandoned the vessel which was lucky for us without the ship we would have had no idea that the fda had been operating in these waters seahorse is no longer a mystery the cutaway on the starboard side cleared an area of around five meters square with a distinctive pattern of bolts fastened to reinforced deck plates i saw something like this on a sub rescue mission a couple of years ago when they fitted a local ship with a jury rigged inspection system the deck plates can carry a crane designed to deploy an rova remote operated vehicle designed for undersea operations i was already concerned about the reference to the cables in the last part of the fda log but the next section has me really worried it is encrypted with a more secure modified amsco transposition cipher and tells us what they were really up to what i dont understand is how the whole assembly is powered the sort of computing they must be doing is really intensive and would burn through a battery in days in that time their intercept might not catch anything useful but they can hardly have hijacked a local socket in the middle of the ocean can you get me a chart showing the deepsea cables in the region i dont imagine the us will be a problem but it may need some diplomacy to get the full coverage maps from the omani government if i am right it is in their best interests to playalong we all have alot to lose here'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "dear mark things area lot clearer now i flew out to inspect the ship myself last night and took a\n", + "good look around the reason the ship was not scuttled was that the valves had jammed it looks like\n", + "the driftwood was pulled into the mechanism and blocked the inlet presumably the crew had already\n", + "abandoned the vessel which was lucky for us without the ship we would have had no idea that the fda\n", + "had been operating in these waters seahorse is no longer a mystery the cutaway on the starboard side\n", + "cleared an area of around five meters square with a distinctive pattern of bolts fastened to\n", + "reinforced deck plates i saw something like this on a sub rescue mission a couple of years ago when\n", + "they fitted a local ship with a jury rigged inspection system the deck plates can carry a crane\n", + "designed to deploy an rova remote operated vehicle designed for undersea operations i was already\n", + "concerned about the reference to the cables in the last part of the fda log but the next section has\n", + "me really worried it is encrypted with a more secure modified amsco transposition cipher and tells\n", + "us what they were really up to what i dont understand is how the whole assembly is powered the sort\n", + "of computing they must be doing is really intensive and would burn through a battery in days in that\n", + "time their intercept might not catch anything useful but they can hardly have hijacked a local\n", + "socket in the middle of the ocean can you get me a chart showing the deepsea cables in the region i\n", + "dont imagine the us will be a problem but it may need some diplomacy to get the full coverage maps\n", + "from the omani government if i am right it is in their best interests to playalong we all have alot\n", + "to lose here\n" + ] } ], "source": [ - "' '.join(segment(vigenere_decipher(c7as, key_a)))" + "print(prettify(vigenere_decipher(c7as, key_a)))" ] }, { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -241,31 +242,35 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'phase seven we approached the cable junction undercover of night with nautilus at an elevation of three feet towing seahorse to starboard comms interception showed that we remained undetected and seahorse was deployed at operating depth the various layers of armoured protection were removed from the cable and as expected once the steel jacket was removed the other layers provided little resistance the divers entered the water and cut into the core to insert the optical repeaters linking them back to the man in the middle unit which was powered up and fully tested initial tests showed that it was operating as expected and three keys have already been recovered from the omani transmissions with daylight approaching the remaining tests were postponed for the following night and the ship returned to deeper waters where it remained at low deck height the divers were left at seahorse to decompress slowly and will be recovered tomorrow once the final tests have been concluded'" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "phase seven we approached the cable junction undercover of night with nautilus at an elevation of\n", + "three feet towing seahorse to starboard comms interception showed that we remained undetected and\n", + "seahorse was deployed at operating depth the various layers of armoured protection were removed from\n", + "the cable and as expected once the steel jacket was removed the other layers provided little\n", + "resistance the divers entered the water and cut into the core to insert the optical repeaters\n", + "linking them back to the man in the middle unit which was powered up and fully tested initial tests\n", + "showed that it was operating as expected and three keys have already been recovered from the omani\n", + "transmissions with daylight approaching the remaining tests were postponed for the following night\n", + "and the ship returned to deeper waters where it remained at low deck height the divers were left at\n", + "seahorse to decompress slowly and will be recovered tomorrow once the final tests have been\n", + "concluded\n" + ] } ], "source": [ - "' '.join(segment(amsco_transposition_decipher(c7bs, key_b[0], fillpattern=key_b[1], fillstyle=key_b[2])))" + "print(prettify(amsco_transposition_decipher(c7bs, key_b[0], fillpattern=key_b[1], fillstyle=key_b[2])))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -400,9 +405,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -423,9 +426,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2014/2014-challenge8.ipynb b/2014/2014-challenge8.ipynb index f6d9d2e..d39900b 100644 --- a/2014/2014-challenge8.ipynb +++ b/2014/2014-challenge8.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -19,7 +17,12 @@ "import string\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.vigenere import *\n", + "from cipher.cadenus import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "c8a = open('8a.ciphertext').read()\n", "c8b = open('8b.ciphertext').read().strip()" @@ -28,14 +31,12 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -44,9 +45,9 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -61,14 +62,12 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -77,9 +76,9 @@ }, { "data": { - "image/png": "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\nAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -94,9 +93,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -117,9 +114,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -140,31 +135,38 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'mark i cracked what appears to be the final document about the trojan deployment and i think i have an idea about how to deal with it and with the flag day associates the principal weakness of any system like the one they have installed is the need to provide large quantities of power the fda came up with an ingenious solution but it is very vulnerable special forces could take it out for us but that would tell the fda that we have cracked their ciphers so instead i suggest we let them destroy trojan for us we will need cooperation from the omani government an armed fighter jet and the flight control systems from a drone meanwhile we need to ensure two things one that we do not send critical information across the ba balm and abstrait and two that we use an on critical key generation protocol on that channel given the level of commitment the fda have shown in developing this plan i am sure that they will reinstate the powersupply within a few months but with luck they will not guess that we know about it and we will put it out of business for long enough to come up with a plan of our own to exploit it in the meantime we now know that their highest security communications are encrypted using a caden us cipher so we can start hunting through the database for other intercepts we can crack this maybe the breakthrough we have been looking for in the fight against the fda lets not screw it up all the best harry'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "mark i cracked what appears to be the final document about the trojan deployment and i think i have\n", + "an idea about how to deal with it and with the flag day associates the principal weakness of any\n", + "system like the one they have installed is the need to provide large quantities of power the fda\n", + "came up with an ingenious solution but it is very vulnerable special forces could take it out for us\n", + "but that would tell the fda that we have cracked their ciphers so instead i suggest we let them\n", + "destroy trojan for us we will need cooperation from the omani government an armed fighter jet and\n", + "the flight control systems from a drone meanwhile we need to ensure two things one that we do not\n", + "send critical information across the ba balm and abstrait and two that we use an on critical key\n", + "generation protocol on that channel given the level of commitment the fda have shown in developing\n", + "this plan i am sure that they will reinstate the powersupply within a few months but with luck they\n", + "will not guess that we know about it and we will put it out of business for long enough to come up\n", + "with a plan of our own to exploit it in the meantime we now know that their highest security\n", + "communications are encrypted using a caden us cipher so we can start hunting through the database\n", + "for other intercepts we can crack this maybe the breakthrough we have been looking for in the fight\n", + "against the fda lets not screw it up all the best harry\n" + ] } ], "source": [ - "' '.join(segment(vigenere_decipher(c8as, key_a)))" + "print(prettify(vigenere_decipher(c8as, key_a)))" ] }, { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -184,9 +186,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -1206,9 +1206,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -2228,9 +2226,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -2250,9 +2246,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -2272,9 +2266,27 @@ { "cell_type": "code", "execution_count": 12, - "metadata": { - "collapsed": false - }, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'y'" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "max([unpos(int(c, 2)) for c in chunks(c8b, 5)])" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, "outputs": [], "source": [ "def cadenus_letter(n, doubled='v'):\n", @@ -2286,41 +2298,116 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "def cadenus_letter(n, doubled='v'):\n", + " letter = unpos(n)\n", + " if letter > doubled:\n", + " letter = unpos(n + 1)\n", + " return letter" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('afcaeuottacthrioletcserthshtrahkzorpfrgeoadppjnglternefeofiortsddoeeumscruernfetlaafstxientrvoonerhuahravereetsvsielhlostdoalozaesmnndignnrhohhtsnaoilncnssicreanneeiiierxtanesrvogieizxssdgpvoiaisaoaeoaedrnitrnyeigrpsshadhdtoipaateyennesagrobtlesrnroirzpbgedcllixalaleenigrrnxzrlimlpstoleftrdmuarieeeiiaolnexsaohrtlstobetnslvfivdovtpoaeeisciohipseveedtexfarnhebleaotohtttepnckaonhxetmvzprreonnasgdedoeeeoaamtcicttifnadresrtserosetrhcictpsaaehldhsfysoaotctbbsoeirnsadlztrrunrceptthreuhnktaceceelrxnireeeaeseeeidisogceomnrtejhagabsenitlxtrnbmielsaretesrngsnhebiosdienafleisahocifevmfatanatrniagnhatnmibniufenrtottrnzpaidziegdnmerhhiotretcesseildrbceprigaesoadltahievebrcenlevasadnnthneiteiisahuhhuamonefzhlonxhaeeeeosneezaneisetogziterlihtcmioirarfdoetnihtnehiikamrdmnadanaodseseizclsiantaoltcizmidentthltndytttmasbleaeetlisirtxturpfailteaoefeisiiizisikvtxisprbsinelphrmohiagnlslvitodaisdpnzddcaaotahcehtueirredaectosnrhvnaodoikoetcineneurrisdcouraglvimmuppditeanditmaaiaieleonnreedaodboiumelrotntttgitnrlrienniklzsogstcifzpipvidvssmnceiasiitsnneatitomrhbnhnidprlrepoznalsnvsdosanesitfaenltgodatteeaisicrootmsmfhauenirsghznxeintegodiileedtarnosrcaaendtcuttfdrbehtmfitoordruiaozaanoeeldoinhusgiteaoriecevemntratmtfpeucutahamtnexonicdeemrpaolitoafesoosspfnlneeootachllirssysofpdftfrnpraeeazlonahautntcntcbaxloneftoatecvoxdlxvnneedtiioigtegmtaheeatefaaeprrcrosheerrpalediengidrreouhvesuroztnsosinuiuiofprda',\n", + " -1814.2525644323327)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c8bl = ''.join([cadenus_letter(int(c, 2)) for c in chunks(c8b, 5)])\n", + "c8bl, Pletters(c8bl)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'afcaeuottacthrioletcserthshtrahkyorpfrgeoadppjnglternefeofiortsddoeeumscruernfetlaafstwientrvoonerhuahravereetsvsielhlostdoaloyaesmnndignnrhohhtsnaoilncnssicreanneeiiierwtanesrvogieiywssdgpvoiaisaoaeoaedrnitrnxeigrpsshadhdtoipaatexennesagrobtlesrnroirypbgedclliwalaleenigrrnwyrlimlpstoleftrdmuarieeeiiaolnewsaohrtlstobetnslvfivdovtpoaeeisciohipseveedtewfarnhebleaotohtttepnckaonhwetmvyprreonnasgdedoeeeoaamtcicttifnadresrtserosetrhcictpsaaehldhsfxsoaotctbbsoeirnsadlytrrunrceptthreuhnktaceceelrwnireeeaeseeeidisogceomnrtejhagabsenitlwtrnbmielsaretesrngsnhebiosdienafleisahocifevmfatanatrniagnhatnmibniufenrtottrnypaidyiegdnmerhhiotretcesseildrbceprigaesoadltahievebrcenlevasadnnthneiteiisahuhhuamonefyhlonwhaeeeeosneeyaneisetogyiterlihtcmioirarfdoetnihtnehiikamrdmnadanaodseseiyclsiantaoltciymidentthltndxtttmasbleaeetlisirtwturpfailteaoefeisiiiyisikvtwisprbsinelphrmohiagnlslvitodaisdpnyddcaaotahcehtueirredaectosnrhvnaodoikoetcineneurrisdcouraglvimmuppditeanditmaaiaieleonnreedaodboiumelrotntttgitnrlrienniklysogstcifypipvidvssmnceiasiitsnneatitomrhbnhnidprlrepoynalsnvsdosanesitfaenltgodatteeaisicrootmsmfhauenirsghynweintegodiileedtarnosrcaaendtcuttfdrbehtmfitoordruiaoyaanoeeldoinhusgiteaoriecevemntratmtfpeucutahamtnewonicdeemrpaolitoafesoosspfnlneeootachllirssxsofpdftfrnpraeeaylonahautntcntcbawloneftoatecvowdlwvnneedtiioigtegmtaheeatefaaeprrcrosheerrpalediengidrreouhvesuroytnsosinuiuiofprda'" + "('afcaeuottacthrioletcserthshtrahkyorpfrgeoadppjnglternefeofiortsddoeeumscruernfetlaafstwientrvoonerhuahravereetsvsielhlostdoaloyaesmnndignnrhohhtsnaoilncnssicreanneeiiierwtanesrvogieiywssdgpvoiaisaoaeoaedrnitrnxeigrpsshadhdtoipaatexennesagrobtlesrnroirypbgedclliwalaleenigrrnwyrlimlpstoleftrdmuarieeeiiaolnewsaohrtlstobetnslvfivdovtpoaeeisciohipseveedtewfarnhebleaotohtttepnckaonhwetmvyprreonnasgdedoeeeoaamtcicttifnadresrtserosetrhcictpsaaehldhsfxsoaotctbbsoeirnsadlytrrunrceptthreuhnktaceceelrwnireeeaeseeeidisogceomnrtejhagabsenitlwtrnbmielsaretesrngsnhebiosdienafleisahocifevmfatanatrniagnhatnmibniufenrtottrnypaidyiegdnmerhhiotretcesseildrbceprigaesoadltahievebrcenlevasadnnthneiteiisahuhhuamonefyhlonwhaeeeeosneeyaneisetogyiterlihtcmioirarfdoetnihtnehiikamrdmnadanaodseseiyclsiantaoltciymidentthltndxtttmasbleaeetlisirtwturpfailteaoefeisiiiyisikvtwisprbsinelphrmohiagnlslvitodaisdpnyddcaaotahcehtueirredaectosnrhvnaodoikoetcineneurrisdcouraglvimmuppditeanditmaaiaieleonnreedaodboiumelrotntttgitnrlrienniklysogstcifypipvidvssmnceiasiitsnneatitomrhbnhnidprlrepoynalsnvsdosanesitfaenltgodatteeaisicrootmsmfhauenirsghynweintegodiileedtarnosrcaaendtcuttfdrbehtmfitoordruiaoyaanoeeldoinhusgiteaoriecevemntratmtfpeucutahamtnewonicdeemrpaolitoafesoosspfnlneeootachllirssxsofpdftfrnpraeeaylonahautntcntcbawloneftoatecvowdlwvnneedtiioigtegmtaheeatefaaeprrcrosheerrpalediengidrreouhvesuroytnsosinuiuiofprda',\n", + " -1760.1126100904926)" ] }, - "execution_count": 13, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c8bl = ''.join([cadenus_letter(int(c, 2), doubled='z') for c in chunks(c8b, 5)])\n", - "c8bl" + "c8bl, Pletters(c8bl)" ] }, { "cell_type": "code", - "execution_count": 14, - "metadata": { - "collapsed": false - }, + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'y'" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "max((cl for cl in string.ascii_lowercase),\n", + " key=lambda l: Pletters(cadenus_letter(int(c, 2), doubled=l) for c in chunks(c8b, 5)))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('afcaeuottacthrioletcserthshtrahkzorpfrgeoadppjnglternefeofiortsddoeeumscruernfetlaafstxientrvoonerhuahravereetsvsielhlostdoalozaesmnndignnrhohhtsnaoilncnssicreanneeiiierxtanesrvogieizxssdgpvoiaisaoaeoaedrnitrnyeigrpsshadhdtoipaateyennesagrobtlesrnroirzpbgedcllixalaleenigrrnxzrlimlpstoleftrdmuarieeeiiaolnexsaohrtlstobetnslvfivdovtpoaeeisciohipseveedtexfarnhebleaotohtttepnckaonhxetmvzprreonnasgdedoeeeoaamtcicttifnadresrtserosetrhcictpsaaehldhsfysoaotctbbsoeirnsadlztrrunrceptthreuhnktaceceelrxnireeeaeseeeidisogceomnrtejhagabsenitlxtrnbmielsaretesrngsnhebiosdienafleisahocifevmfatanatrniagnhatnmibniufenrtottrnzpaidziegdnmerhhiotretcesseildrbceprigaesoadltahievebrcenlevasadnnthneiteiisahuhhuamonefzhlonxhaeeeeosneezaneisetogziterlihtcmioirarfdoetnihtnehiikamrdmnadanaodseseizclsiantaoltcizmidentthltndytttmasbleaeetlisirtxturpfailteaoefeisiiizisikvtxisprbsinelphrmohiagnlslvitodaisdpnzddcaaotahcehtueirredaectosnrhvnaodoikoetcineneurrisdcouraglvimmuppditeanditmaaiaieleonnreedaodboiumelrotntttgitnrlrienniklzsogstcifzpipvidvssmnceiasiitsnneatitomrhbnhnidprlrepoznalsnvsdosanesitfaenltgodatteeaisicrootmsmfhauenirsghznxeintegodiileedtarnosrcaaendtcuttfdrbehtmfitoordruiaozaanoeeldoinhusgiteaoriecevemntratmtfpeucutahamtnexonicdeemrpaolitoafesoosspfnlneeootachllirssysofpdftfrnpraeeazlonahautntcntcbaxloneftoatecvoxdlxvnneedtiioigtegmtaheeatefaaeprrcrosheerrpalediengidrreouhvesuroztnsosinuiuiofprda',\n", + " -1814.2525644323327)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c8bl = ''.join([cadenus_letter(int(c, 2), doubled='v') for c in chunks(c8b, 5)])\n", + "c8bl, Pletters(c8bl)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "('a', 'y')" + "('a', 'z')" ] }, - "execution_count": 14, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -2331,10 +2418,8 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, + "execution_count": 20, + "metadata": {}, "outputs": [ { "data": { @@ -2342,7 +2427,7 @@ "(1400, 56.0)" ] }, - "execution_count": 15, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -2353,26 +2438,24 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, + "execution_count": 21, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 16, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\nNbxLWGOjAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2386,26 +2469,24 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": { - "collapsed": false - }, + "execution_count": 22, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 17, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2419,42 +2500,40 @@ }, { "cell_type": "code", - "execution_count": 18, - "metadata": { - "collapsed": false - }, + "execution_count": 23, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['afcaeuottacthrioletcserthshtrahkyorpfrgeoadppjnglternefe',\n", - " 'ofiortsddoeeumscruernfetlaafstwientrvoonerhuahravereetsv',\n", - " 'sielhlostdoaloyaesmnndignnrhohhtsnaoilncnssicreanneeiiie',\n", - " 'rwtanesrvogieiywssdgpvoiaisaoaeoaedrnitrnxeigrpsshadhdto',\n", - " 'ipaatexennesagrobtlesrnroirypbgedclliwalaleenigrrnwyrlim',\n", - " 'lpstoleftrdmuarieeeiiaolnewsaohrtlstobetnslvfivdovtpoaee',\n", - " 'isciohipseveedtewfarnhebleaotohtttepnckaonhwetmvyprreonn',\n", - " 'asgdedoeeeoaamtcicttifnadresrtserosetrhcictpsaaehldhsfxs',\n", - " 'oaotctbbsoeirnsadlytrrunrceptthreuhnktaceceelrwnireeeaes',\n", - " 'eeeidisogceomnrtejhagabsenitlwtrnbmielsaretesrngsnhebios',\n", - " 'dienafleisahocifevmfatanatrniagnhatnmibniufenrtottrnypai',\n", - " 'dyiegdnmerhhiotretcesseildrbceprigaesoadltahievebrcenlev',\n", - " 'asadnnthneiteiisahuhhuamonefyhlonwhaeeeeosneeyaneisetogy',\n", - " 'iterlihtcmioirarfdoetnihtnehiikamrdmnadanaodseseiyclsian',\n", - " 'taoltciymidentthltndxtttmasbleaeetlisirtwturpfailteaoefe',\n", - " 'isiiiyisikvtwisprbsinelphrmohiagnlslvitodaisdpnyddcaaota',\n", + "['afcaeuottacthrioletcserthshtrahkzorpfrgeoadppjnglternefe',\n", + " 'ofiortsddoeeumscruernfetlaafstxientrvoonerhuahravereetsv',\n", + " 'sielhlostdoalozaesmnndignnrhohhtsnaoilncnssicreanneeiiie',\n", + " 'rxtanesrvogieizxssdgpvoiaisaoaeoaedrnitrnyeigrpsshadhdto',\n", + " 'ipaateyennesagrobtlesrnroirzpbgedcllixalaleenigrrnxzrlim',\n", + " 'lpstoleftrdmuarieeeiiaolnexsaohrtlstobetnslvfivdovtpoaee',\n", + " 'isciohipseveedtexfarnhebleaotohtttepnckaonhxetmvzprreonn',\n", + " 'asgdedoeeeoaamtcicttifnadresrtserosetrhcictpsaaehldhsfys',\n", + " 'oaotctbbsoeirnsadlztrrunrceptthreuhnktaceceelrxnireeeaes',\n", + " 'eeeidisogceomnrtejhagabsenitlxtrnbmielsaretesrngsnhebios',\n", + " 'dienafleisahocifevmfatanatrniagnhatnmibniufenrtottrnzpai',\n", + " 'dziegdnmerhhiotretcesseildrbceprigaesoadltahievebrcenlev',\n", + " 'asadnnthneiteiisahuhhuamonefzhlonxhaeeeeosneezaneisetogz',\n", + " 'iterlihtcmioirarfdoetnihtnehiikamrdmnadanaodseseizclsian',\n", + " 'taoltcizmidentthltndytttmasbleaeetlisirtxturpfailteaoefe',\n", + " 'isiiizisikvtxisprbsinelphrmohiagnlslvitodaisdpnzddcaaota',\n", " 'hcehtueirredaectosnrhvnaodoikoetcineneurrisdcouraglvimmu',\n", " 'ppditeanditmaaiaieleonnreedaodboiumelrotntttgitnrlrienni',\n", - " 'klysogstcifypipvidvssmnceiasiitsnneatitomrhbnhnidprlrepo',\n", - " 'ynalsnvsdosanesitfaenltgodatteeaisicrootmsmfhauenirsghyn',\n", - " 'weintegodiileedtarnosrcaaendtcuttfdrbehtmfitoordruiaoyaa',\n", - " 'noeeldoinhusgiteaoriecevemntratmtfpeucutahamtnewonicdeem',\n", - " 'rpaolitoafesoosspfnlneeootachllirssxsofpdftfrnpraeeaylon',\n", - " 'ahautntcntcbawloneftoatecvowdlwvnneedtiioigtegmtaheeatef',\n", - " 'aaeprrcrosheerrpalediengidrreouhvesuroytnsosinuiuiofprda']" + " 'klzsogstcifzpipvidvssmnceiasiitsnneatitomrhbnhnidprlrepo',\n", + " 'znalsnvsdosanesitfaenltgodatteeaisicrootmsmfhauenirsghzn',\n", + " 'xeintegodiileedtarnosrcaaendtcuttfdrbehtmfitoordruiaozaa',\n", + " 'noeeldoinhusgiteaoriecevemntratmtfpeucutahamtnexonicdeem',\n", + " 'rpaolitoafesoosspfnlneeootachllirssysofpdftfrnpraeeazlon',\n", + " 'ahautntcntcbaxloneftoatecvoxdlxvnneedtiioigtegmtaheeatef',\n", + " 'aaeprrcrosheerrpalediengidrreouhvesuroztnsosinuiuiofprda']" ] }, - "execution_count": 18, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -2466,10 +2545,8 @@ }, { "cell_type": "code", - "execution_count": 19, - "metadata": { - "collapsed": false - }, + "execution_count": 24, + "metadata": {}, "outputs": [ { "data": { @@ -2501,7 +2578,7 @@ " 'aaep.....shee..pa.e..e......e..h.es......s.s........p..a']" ] }, - "execution_count": 19, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -2512,73 +2589,71 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": { - "collapsed": false - }, + "execution_count": 25, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['aosriliaoeddaitihpkywnraa',\n", - " 'ffiwppssaeiystascplneopha',\n", - " 'cietascgoeeiaeoiedyaieaae',\n", + "['aosriliaoeddaitihpkzxnraa',\n", + " 'ffixppssaeizstascplneopha',\n", + " 'cietascgoeeiaeoiedzaieaae',\n", " 'aolaatidtinedrlihislneoup',\n", " 'erhntooecdagnltittostlltr',\n", - " 'utleelhdtifdnicyuegnedinr',\n", - " 'ososxeiobslnthiieasvgottc',\n", - " 'tdsrefpeboemhtysintsoiocr',\n", + " 'utleelhdtifdniczuegnedinr',\n", + " 'ososyeiobslnthiieasvgottc',\n", + " 'tdsrefpeboemhtzsintsoiocr',\n", " 'tdtvntsesgiencmirdcddnano',\n", " 'aodonreeocsremikriioihfts',\n", " 'ceogedvoeeahiidvetfsiuech',\n", - " 'teaismeaiohhtoetdmyalssbe',\n", - " 'huleauearmoieinwaapnegoae',\n", - " 'rmoigadmnncoirtieaieeiowr',\n", - " 'isyyrrttsritiatscipsdtslr',\n", - " 'ocawoiecatfrsrhptavitesop',\n", - " 'lresbewideeeaflroiitaapna',\n", + " 'teaismeaiohhtoetdmzalssbe',\n", + " 'huleauearmoieinxaapnegoae',\n", + " 'rmoigadmnncoirtieaieeioxr',\n", + " 'iszzrrttsritiatscipsdtslr',\n", + " 'ocaxoiecatfrsrhptavitesop',\n", + " 'lresbexideeeaflroiitaapna',\n", " 'eusstefcljvthdtbsedfrofel',\n", - " 'temdleatyhmcuonsnlvanrnfe',\n", + " 'temdleatzhmcuonsnlvanrnfe',\n", " 'crngeirttafehedireseoiltd',\n", - " 'snnpsinirgashtxnhosnsenoi',\n", + " 'snnpsinirgashtynhosnsenoi',\n", " 'efdvrahfratsuntevnmlrceae',\n", " 'reionoenubaeaitlnnntceetn',\n", " 'ttgirlbansnimhtparcgavoeg',\n", " 'hlnaonldrealotmhoeeoaeoci',\n", " 'saniieercntdnnardeidemtvd',\n", - " 'harsrwaeeirreesmodaannaor',\n", - " 'tfhaysosptnbfhboiastdtcwr',\n", - " 'rsoopatrtlicyilhkoittrhde',\n", - " 'athaboottwaehieiodiecallo',\n", - " 'hwheghhshtgplkaaebteutlwu',\n", + " 'harsrxaeeirreesmodaannaor',\n", + " 'tfhazsosptnbfhboiastdtcxr',\n", + " 'rsoopatrtliczilhkoittrhde',\n", + " 'athaboottxaehieiodiecallo',\n", + " 'hxheghhshtgplkaaebteutlxu',\n", " 'kitoerterrnroaegtosatmivh',\n", - " 'yesadttrenhinmencinittrnv',\n", - " 'onnecltoubagwrtliunsffsne',\n", + " 'zesadttrenhinmencinittrnv',\n", + " 'onnecltoubagxrtliunsffsne',\n", " 'rtadlseshmtahdlsnmeidpses',\n", - " 'prorltpenineamileeacrexeu',\n", + " 'prorltpenineamileeacreyeu',\n", " 'fviniontkemsensvnltrbusdr',\n", - " 'roliwbcrtlioeaiierioecoto',\n", - " 'gontaekhasbaedrtuotohufiy',\n", + " 'rolixbcrtlioeaiierioecoto',\n", + " 'gontaekhasbaedrtuotohufiz',\n", " 'encrltaccandeatortotttpit',\n", - " 'oennanoierilonwdrnmmmadon',\n", - " 'arsxlsncceutsataitrsfhfis',\n", + " 'oennanoierilonxdrnmmmadon',\n", + " 'arsylsncceutsataitrsfhfis',\n", " 'dhseelhtetfanouisthmiatgo',\n", - " 'puiievwpeeehedrsdtbftmfts',\n", + " 'puiievxpeeehedrsdtbftmfts',\n", " 'pacgnfeslsniespdcgnhotrei',\n", - " 'jhrriitarrreyefpoihaonngn',\n", - " 'nrepgvmawntvasanutnurepmu',\n", - " 'gaasrdvengoeneiyrniedwrti',\n", - " 'lvnsroyhistbeildardnroaau',\n", - " 'tenhnvplrntriytdglpiunehi',\n", - " 'ereawtrdehrcsceclrrriieeo',\n", - " 'reedyprheeneelaavilsacaef',\n", - " 'neihroesebyntsoaiergodyap',\n", - " 'etidlaofaiploieomnehyeltr',\n", - " 'fsitienxeoaegaftmnpyaeoed',\n", - " 'eveomensssivyneauionamnfa']" + " 'jhrriitarrrezefpoihaonngn',\n", + " 'nrepgvmaxntvasanutnurepmu',\n", + " 'gaasrdvengoeneizrniedxrti',\n", + " 'lvnsrozhistbeildardnroaau',\n", + " 'tenhnvplrntriztdglpiunehi',\n", + " 'ereaxtrdehrcsceclrrriieeo',\n", + " 'reedzprheeneelaavilsacaef',\n", + " 'neihroesebzntsoaiergodzap',\n", + " 'etidlaofaiploieomnehzeltr',\n", + " 'fsitienyeoaegaftmnpzaeoed',\n", + " 'eveomensssivzneauionamnfa']" ] }, - "execution_count": 20, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -2590,10 +2665,8 @@ }, { "cell_type": "code", - "execution_count": 21, - "metadata": { - "collapsed": false - }, + "execution_count": 26, + "metadata": {}, "outputs": [ { "data": { @@ -3204,7 +3277,7 @@ " (24, 32)]}" ] }, - "execution_count": 21, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -3217,10 +3290,8 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": { - "collapsed": false - }, + "execution_count": 27, + "metadata": {}, "outputs": [ { "data": { @@ -3252,7 +3323,7 @@ " 24: 'b'}" ] }, - "execution_count": 22, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -3265,10 +3336,8 @@ }, { "cell_type": "code", - "execution_count": 23, - "metadata": { - "collapsed": false - }, + "execution_count": 28, + "metadata": {}, "outputs": [], "source": [ "def valid_partial_solution(solution, inverse_keycolumn):\n", @@ -3280,10 +3349,8 @@ }, { "cell_type": "code", - "execution_count": 24, - "metadata": { - "collapsed": false - }, + "execution_count": 29, + "metadata": {}, "outputs": [ { "data": { @@ -3291,7 +3358,7 @@ "43005" ] }, - "execution_count": 24, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -3312,10 +3379,8 @@ }, { "cell_type": "code", - "execution_count": 25, - "metadata": { - "collapsed": false - }, + "execution_count": 30, + "metadata": {}, "outputs": [ { "data": { @@ -3323,7 +3388,7 @@ "True" ] }, - "execution_count": 25, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -3334,10 +3399,8 @@ }, { "cell_type": "code", - "execution_count": 26, - "metadata": { - "collapsed": false - }, + "execution_count": 31, + "metadata": {}, "outputs": [ { "data": { @@ -3357,19 +3420,19 @@ " 'aed',\n", " 'mir',\n", " 'inl',\n", - " 'lwi',\n", + " 'lxi',\n", " 'eah',\n", " 'eai',\n", " 'aps',\n", " 'cnl',\n", " 'ren',\n", " 'ege',\n", - " 'xoo',\n", + " 'yoo',\n", " 'eau',\n", " 'uep']" ] }, - "execution_count": 26, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -3386,10 +3449,8 @@ }, { "cell_type": "code", - "execution_count": 27, - "metadata": { - "collapsed": false - }, + "execution_count": 32, + "metadata": {}, "outputs": [], "source": [ "def display_solution(solution, columns):\n", @@ -3403,10 +3464,8 @@ }, { "cell_type": "code", - "execution_count": 28, - "metadata": { - "collapsed": false - }, + "execution_count": 33, + "metadata": {}, "outputs": [ { "data": { @@ -3426,19 +3485,19 @@ " 'aea',\n", " 'mii',\n", " 'int',\n", - " 'lwi',\n", + " 'lxi',\n", " 'eah',\n", " 'eap',\n", " 'apk',\n", - " 'cny',\n", - " 'rew',\n", + " 'cnz',\n", + " 'rex',\n", " 'egn',\n", - " 'xor',\n", + " 'yor',\n", " 'eaa',\n", " 'uea']" ] }, - "execution_count": 28, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -3449,18 +3508,16 @@ }, { "cell_type": "code", - "execution_count": 29, - "metadata": { - "collapsed": false - }, + "execution_count": 34, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "-109.09171451522874" + "-110.74748837196742" ] }, - "execution_count": 29, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -3471,10 +3528,8 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": { - "collapsed": false - }, + "execution_count": 35, + "metadata": {}, "outputs": [], "source": [ "def score_solution(solution, columns):\n", @@ -3489,10 +3544,8 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": false - }, + "execution_count": 36, + "metadata": {}, "outputs": [ { "data": { @@ -3513,17 +3566,17 @@ " 'aea',\n", " 'mii',\n", " 'int',\n", - " 'lwi',\n", + " 'lxi',\n", " 'eah',\n", " 'eap',\n", " 'apk',\n", - " 'cny',\n", - " 'rew',\n", + " 'cnz',\n", + " 'rex',\n", " 'egn',\n", - " 'xor',\n", + " 'yor',\n", " 'eaa',\n", " 'uea'],\n", - " -112.23213925765266),\n", + " -114.13063154833905),\n", " ([(0, 35), (0, 12), (0, 3)],\n", " ['pha',\n", " 'ruo',\n", @@ -3540,17 +3593,17 @@ " 'aed',\n", " 'mir',\n", " 'inl',\n", - " 'lwi',\n", + " 'lxi',\n", " 'eah',\n", " 'eai',\n", " 'aps',\n", " 'cnl',\n", " 'ren',\n", " 'ege',\n", - " 'xoo',\n", + " 'yoo',\n", " 'eau',\n", " 'uep'],\n", - " -109.09171451522874),\n", + " -110.74748837196742),\n", " ([(0, 35), (0, 12), (0, 9)],\n", " ['pha',\n", " 'ruo',\n", @@ -3567,17 +3620,17 @@ " 'aee',\n", " 'mim',\n", " 'ini',\n", - " 'lwk',\n", + " 'lxk',\n", " 'ear',\n", " 'eai',\n", " 'api',\n", " 'cno',\n", " 'rei',\n", " 'egh',\n", - " 'xof',\n", + " 'yof',\n", " 'eat',\n", " 'ues'],\n", - " -105.51902198106185),\n", + " -104.78169431178242),\n", " ([(0, 35), (0, 12), (0, 29)],\n", " ['pha',\n", " 'rut',\n", @@ -3588,28 +3641,28 @@ " 'peo',\n", " 'eat',\n", " 'nrt',\n", - " 'imw',\n", + " 'imx',\n", " 'noa',\n", " 'eie',\n", " 'aeh',\n", " 'mii',\n", " 'ine',\n", - " 'lwi',\n", + " 'lxi',\n", " 'eao',\n", " 'ead',\n", " 'api',\n", " 'cne',\n", " 'rec',\n", " 'ega',\n", - " 'xol',\n", + " 'yol',\n", " 'eal',\n", " 'ueo'],\n", - " -106.91642615054437),\n", + " -109.4716997212109),\n", " ([(0, 35), (0, 12), (0, 41)],\n", " ['pha',\n", " 'rur',\n", " 'ols',\n", - " 'rex',\n", + " 'rey',\n", " 'lal',\n", " 'tus',\n", " 'pen',\n", @@ -3621,17 +3674,17 @@ " 'aes',\n", " 'mia',\n", " 'int',\n", - " 'lwa',\n", + " 'lxa',\n", " 'eai',\n", " 'eat',\n", " 'apr',\n", " 'cns',\n", " 'ref',\n", " 'egh',\n", - " 'xof',\n", + " 'yof',\n", " 'eai',\n", " 'ues'],\n", - " -100.92420426683796),\n", + " -101.93339111217242),\n", " ([(0, 35), (0, 12), (1, 44)],\n", " ['pha',\n", " 'ruc',\n", @@ -3648,17 +3701,17 @@ " 'aes',\n", " 'mip',\n", " 'ind',\n", - " 'lwc',\n", + " 'lxc',\n", " 'eag',\n", " 'ean',\n", " 'aph',\n", " 'cno',\n", " 'ret',\n", " 'egr',\n", - " 'xoe',\n", + " 'yoe',\n", " 'eai',\n", " 'uep'],\n", - " -108.53207489276411),\n", + " -108.4937247934099),\n", " ([(0, 35), (0, 12), (1, 47)],\n", " ['pha',\n", " 'rua',\n", @@ -3674,18 +3727,18 @@ " 'ein',\n", " 'aee',\n", " 'mii',\n", - " 'iny',\n", - " 'lwr',\n", + " 'inz',\n", + " 'lxr',\n", " 'ean',\n", " 'eai',\n", " 'ape',\n", " 'cnd',\n", - " 'rew',\n", + " 'rex',\n", " 'egr',\n", - " 'xot',\n", + " 'yot',\n", " 'eai',\n", " 'ueg'],\n", - " -109.50900823047225),\n", + " -111.05157201209927),\n", " ([(0, 35), (0, 12), (2, 47)],\n", " ['pha',\n", " 'rus',\n", @@ -3700,22 +3753,22 @@ " 'non',\n", " 'eie',\n", " 'aei',\n", - " 'miy',\n", + " 'miz',\n", " 'inr',\n", - " 'lwn',\n", + " 'lxn',\n", " 'eai',\n", " 'eae',\n", " 'apd',\n", - " 'cnw',\n", + " 'cnx',\n", " 'rer',\n", " 'egt',\n", - " 'xoi',\n", + " 'yoi',\n", " 'eag',\n", " 'uea'],\n", - " -114.40196859359595),\n", + " -113.41085773377256),\n", " ([(0, 35), (0, 12), (3, 50)],\n", " ['pha',\n", - " 'ruw',\n", + " 'rux',\n", " 'olt',\n", " 'rer',\n", " 'lad',\n", @@ -3729,17 +3782,17 @@ " 'aec',\n", " 'mil',\n", " 'inr',\n", - " 'lwr',\n", + " 'lxr',\n", " 'ear',\n", " 'eai',\n", " 'api',\n", " 'cne',\n", " 'ree',\n", " 'ego',\n", - " 'xoe',\n", + " 'yoe',\n", " 'ear',\n", " 'uee'],\n", - " -106.68850150792129),\n", + " -107.5080042911796),\n", " ([(0, 35), (0, 12), (4, 38)],\n", " ['pha',\n", " 'rue',\n", @@ -3756,20 +3809,20 @@ " 'aeu',\n", " 'mio',\n", " 'int',\n", - " 'lwo',\n", + " 'lxo',\n", " 'eah',\n", " 'eau',\n", " 'apf',\n", " 'cni',\n", - " 'rey',\n", + " 'rez',\n", " 'egg',\n", - " 'xoo',\n", + " 'yoo',\n", " 'ean',\n", " 'uet'],\n", - " -108.49770543928673)]" + " -111.19702574254387)]" ] }, - "execution_count": 31, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -3780,10 +3833,8 @@ }, { "cell_type": "code", - "execution_count": 32, - "metadata": { - "collapsed": false - }, + "execution_count": 37, + "metadata": {}, "outputs": [ { "data": { @@ -3791,16 +3842,16 @@ "[[(0, 35), (0, 12), (0, 41)],\n", " [(0, 35), (0, 12), (0, 9)],\n", " [(0, 35), (0, 12), (3, 50)],\n", - " [(0, 35), (0, 12), (0, 29)],\n", - " [(0, 35), (0, 12), (4, 38)],\n", " [(0, 35), (0, 12), (1, 44)],\n", + " [(0, 35), (0, 12), (0, 29)],\n", " [(0, 35), (0, 12), (0, 3)],\n", " [(0, 35), (0, 12), (1, 47)],\n", - " [(0, 35), (0, 12), (0, 0)],\n", - " [(0, 35), (0, 12), (2, 47)]]" + " [(0, 35), (0, 12), (4, 38)],\n", + " [(0, 35), (0, 12), (2, 47)],\n", + " [(0, 35), (0, 12), (0, 0)]]" ] }, - "execution_count": 32, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -3811,10 +3862,8 @@ }, { "cell_type": "code", - "execution_count": 33, - "metadata": { - "collapsed": false - }, + "execution_count": 38, + "metadata": {}, "outputs": [], "source": [ "solutions = sorted(solutions, key=lambda s: score_solution(s, columns), reverse=True)[:10000]" @@ -3822,73 +3871,58 @@ }, { "cell_type": "code", - "execution_count": 34, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "10000" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": 39, + "metadata": {}, + "outputs": [], "source": [ - "for letter in 'seseven': #'haseeight':\n", - " new_solutions = []\n", - " for solution in solutions:\n", - " used_columns = [p[1] for p in solution]\n", - " for position in letter_positions[letter]:\n", - " if position[1] not in used_columns:\n", - " if valid_partial_solution(solution + [position], inverse_keycolumn):\n", - " new_solutions += [solution + [position]]\n", - " solutions = sorted(new_solutions, key=lambda s: score_solution(s, columns), reverse=True)[:10000]\n", - "len(solutions)" + "# for letter in 'seseven': #'haseeight':\n", + "# new_solutions = []\n", + "# for solution in solutions:\n", + "# used_columns = [p[1] for p in solution]\n", + "# for position in letter_positions[letter]:\n", + "# if position[1] not in used_columns:\n", + "# if valid_partial_solution(solution + [position], inverse_keycolumn):\n", + "# new_solutions += [solution + [position]]\n", + "# solutions = sorted(new_solutions, key=lambda s: score_solution(s, columns), reverse=True)[:10000]\n", + "# len(solutions)" ] }, { "cell_type": "code", - "execution_count": 35, - "metadata": { - "collapsed": false - }, + "execution_count": 40, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['phaseseven',\n", - " 'ninmelcalh',\n", - " 'andodrinho',\n", - " 'lmedyierts',\n", - " 'reaapstnen',\n", - " 'entaryafts',\n", - " 'sconhysefe',\n", - " 'birnerctan',\n", - " 'entaergeno',\n", - " 'wioontomoi',\n", - " 'ittretedus',\n", - " 'dttheselin',\n", - " 'ertalriesn',\n", - " 'enpraiaatp',\n", - " 'evisateths',\n", - " 'aytrvioymi',\n", - " 'feewiaihin',\n", - " 'lsnaltemai',\n", - " 'racessdctr',\n", - " 'odreacyugg',\n", - " 'itliciaooa',\n", - " 'ittrapinds',\n", - " 'trareseshh',\n", - " 'aecefdanst',\n", - " 'ancertalex']" + "['pha',\n", + " 'reo',\n", + " 'oel',\n", + " 'rna',\n", + " 'lea',\n", + " 'tet',\n", + " 'pli',\n", + " 'ead',\n", + " 'nat',\n", + " 'ivi',\n", + " 'nin',\n", + " 'ele',\n", + " 'asd',\n", + " 'mar',\n", + " 'icl',\n", + " 'lai',\n", + " 'eeh',\n", + " 'efi',\n", + " 'ars',\n", + " 'cel',\n", + " 'ren',\n", + " 'ede',\n", + " 'yzo',\n", + " 'epu',\n", + " 'urp']" ] }, - "execution_count": 35, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -3899,10 +3933,8 @@ }, { "cell_type": "code", - "execution_count": 36, - "metadata": { - "collapsed": false - }, + "execution_count": 41, + "metadata": {}, "outputs": [ { "data": { @@ -3910,7 +3942,7 @@ "849" ] }, - "execution_count": 36, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -3922,10 +3954,8 @@ }, { "cell_type": "code", - "execution_count": 37, - "metadata": { - "collapsed": false - }, + "execution_count": 42, + "metadata": {}, "outputs": [ { "data": { @@ -3942,7 +3972,7 @@ " 'fainted']" ] }, - "execution_count": 37, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -3953,10 +3983,8 @@ }, { "cell_type": "code", - "execution_count": 38, - "metadata": { - "collapsed": false - }, + "execution_count": 43, + "metadata": {}, "outputs": [ { "data": { @@ -3964,7 +3992,7 @@ "175" ] }, - "execution_count": 38, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -3976,10 +4004,8 @@ }, { "cell_type": "code", - "execution_count": 39, - "metadata": { - "collapsed": false - }, + "execution_count": 44, + "metadata": {}, "outputs": [ { "data": { @@ -4023,7 +4049,7 @@ " 'raaorejpftneanrpihes',\n", " 'ghrrlanjratnthnpfhri',\n", " 'gharnarjreaetvnpnfai',\n", - " 'frtroenppwthsredoheo',\n", + " 'frtroenppxthsredoheo',\n", " 'frahoepppeaearednsus',\n", " 'raeaoalpfnsntirprlhi',\n", " 'raaiahnpfmotarrpnhis',\n", @@ -4058,7 +4084,7 @@ " 'rrlatajpenfisnrerpen',\n", " 'rooaeaepenfntaruhpri',\n", " 'fiairnhpomopraernhdn',\n", - " 'pfomrteddsnnwstcnsno',\n", + " 'pfomrteddsnnxstcnsno',\n", " 'rrninalpeheofnrearep',\n", " 'fonrraeperipmseunodn',\n", " 'fonrnrhperirpaeunotd',\n", @@ -4083,9 +4109,9 @@ " 'gaanehrjnthrraneiaep',\n", " 'raannalpethofnrniaep',\n", " 'eaahtktnntaogheeisrj',\n", - " 'ftaaormpwtshnneoinen',\n", - " 'ftashanpwtnemreoieln',\n", - " 'ftashnapwtnenmeoiela',\n", + " 'ftaaormpxtshnneoinen',\n", + " 'ftashanpxtnemreoieln',\n", + " 'ftashnapxtnenmeoiela',\n", " 'faasoeppetnearenieus',\n", " 'faaeoeppetsearenious',\n", " 'farnorppepeevrendauv',\n", @@ -4102,28 +4128,28 @@ " 'gaviehrjnvearaneorep',\n", " 'raaoorapesneatrnlhuf',\n", " 'flaoinrpisnorpeolhrt',\n", - " 'ptrlfondwtndhhtohrce',\n", - " 'pthafnhdwemdratolncn',\n", - " 'ftrhnaipwtartoeohsni',\n", + " 'ptrlfondxtndhhtohrce',\n", + " 'pthafnhdxemdratolncn',\n", + " 'ftrhnaipxtartoeohsni',\n", " 'rlaaniapissrefrolntr',\n", " 'rlralaepitsnfrrohnrp',\n", " 'rlraraepitsnfrrohnnp',\n", - " 'fthsranpwenpmreoledn',\n", - " 'fthnraepweapmseolidn',\n", + " 'fthsranpxenpmreoledn',\n", + " 'fthnraepxeapmseolidn',\n", " 'plasinpdisnoretolert',\n", " 'rlnaniepinfresroaptr',\n", " 'faauirlpeslopnennird',\n", " 'raaeuaepesalfrrnnsip',\n", - " 'flnnrrepinrtpseoatwd',\n", + " 'flnnrrepinrtpseoatxd',\n", " 'faaeuirpesalopennsir',\n", - " 'ptnocemdwnhesntoaeto',\n", + " 'ptnocemdxnhesntoaeto',\n", " 'raannaepesrofrrnnnep',\n", " 'flanrrapisripmeonnod',\n", - " 'ftamrropwsnnpseonsnd',\n", + " 'ftamrropxsnnpseonsnd',\n", " 'plarinpdisnoretonnrt',\n", " 'plnninpdineoretoasrt',\n", " 'pleinpndisorertoortf',\n", - " 'ftehnrapwseapmeoolid',\n", + " 'ftehnrapxseapmeoolid',\n", " 'fvaaoeppvteeareoinus',\n", " 'raaeoaopstnefnrlirup',\n", " 'fvaeoeppvtneareoirus',\n", @@ -4136,7 +4162,7 @@ " 'frlprlnptirpnhehoidr',\n", " 'rvarajapvnetnfroeeio',\n", " 'raaoahapseetafrlnuis',\n", - " 'frwrohnptopharehades',\n", + " 'frxrohnptopharehades',\n", " 'rroeanhpthrfrarheppn',\n", " 'ranelanpsrrifhrltpop',\n", " 'rroeaanpthrsfrrhepnp',\n", @@ -4156,18 +4182,18 @@ " 'fhaprhnpemrparelnids',\n", " 'frlposrptnrenpehriue',\n", " 'paouinpdsnloretlhirt',\n", - " 'frliatnptnotwhehrhio',\n", - " 'frlwaohptnothaehraie',\n", + " 'frliatnptnotxhehrhio',\n", + " 'frlxaohptnothaehraie',\n", " 'rrliahaptnotafrhrhis',\n", - " 'fhawahnpemotarelnais',\n", + " 'fhaxahnpemotarelnais',\n", " 'raoeooapsnnertrlhrua',\n", " 'paoiinpdsnooretlhhrt',\n", - " 'frliataptnoswtehrhno',\n", + " 'frliataptnosxtehrhno',\n", " 'rrlnauaptnhtlfrhraii',\n", " 'fhahirnpemaoprelnsrd',\n", " 'fharaorpemnsapelnnne',\n", " 'fhasrorpemnpanelnede',\n", - " 'fhatrmrpeswpnnelnods',\n", + " 'fhatrmrpesxpnnelnods',\n", " 'paalinpdssioretlnort',\n", " 'rraoealptshrfnrhnepp',\n", " 'fhnoeaepenarmselaepn',\n", @@ -4183,13 +4209,13 @@ " 'goaeehrjntaaranhisep',\n", " 'roaeuaapntalferhisip',\n", " 'roaeeoapntaaefrhiseu',\n", - " 'flanrlepntrtiseritwo',\n", + " 'flanrlepntrtiseritxo',\n", " 'rlanhoopntraerrritsu',\n", " 'faaapnrpmtsroneninie',\n", " 'flaeonppntserreriout',\n", " 'glhrranjnreathnrpefi',\n", " 'flrrpnhpnperoaerdeie',\n", - " 'flrwrohpnpothaerdahe',\n", + " 'flrxrohpnpothaerdahe',\n", " 'rlaninnpnfreohrrptre',\n", " 'forosimpspaoenenderu',\n", " 'farnrlepmpriisendnoo',\n", @@ -4207,7 +4233,7 @@ " 'foapianpnsrotrehlihi',\n", " 'foapirnpnsroprehlihd',\n", " 'flrliinpntioeherhorr',\n", - " 'flrohatpnthatwerhesi',\n", + " 'flrohatpnthatxerhesi',\n", " 'rlrohaepnthafrrrhesp',\n", " 'rahnhaepmerafrrnlnsp',\n", " 'rlrhnaepntaofrrrhsep',\n", @@ -4218,7 +4244,7 @@ " 'faieoeppseaearenreus',\n", " 'faraoeppspeearendnus',\n", " 'falaninpsitrorenoitr',\n", - " 'fatnrirpswrtopenonhh',\n", + " 'fatnrirpsxrtopenonhh',\n", " 'paerhomdstneantnvnle',\n", " 'gantahrjseierannaenp',\n", " 'raetlalpsniifnrnreop',\n", @@ -4230,7 +4256,7 @@ " 'fanuirlpsrlopnentird',\n", " 'faatonrpsmierienneun',\n", " 'pallinpdsnioretnrort',\n", - " 'paltropdsnwthetnrohe',\n", + " 'paltropdsnxthetnrohe',\n", " 'galnaohjsnrtrrnnrtia',\n", " 'paaoinedsmhorftnnern',\n", " 'fnonisrpnssonpeancre',\n", @@ -4252,7 +4278,7 @@ " 'failthoptonheneirral',\n", " 'faionoiptosarneirnis',\n", " 'faorrasptenilceiunoe',\n", - " 'fatlvnnptwivnseioooa',\n", + " 'fatlvnnptxivnseioooa',\n", " 'gaaavlajtenvcfnineoe',\n", " 'ralnahnptirfasrionps',\n", " 'falmireptinonseiosrn',\n", @@ -4266,57 +4292,57 @@ " 'raoeluvptnnihurihroc',\n", " 'galavlajtnmvcfnirnoe',\n", " 'raahnanptmaofrrinsep',\n", - " 'ganorctjthrehwniaaeo',\n", + " 'ganorctjthrehxniaaeo',\n", " 'fanroanpthiesreiaoul',\n", " 'ganhhnajtrarrfninspt',\n", - " 'ranhaoyptrafherinspe',\n", - " 'fahattmptacwuneiseor',\n", + " 'ranhaozptrafherinspe',\n", + " 'fahattmptacxuneiseor',\n", " 'gahehfhjtarrtonisepo',\n", " 'gahehlajtarrnfnisepr',\n", " 'fanlnifptnisoteiaocr',\n", " 'faamriaptsnnoceinsnr',\n", " 'raalnripftnhtorpirah',\n", " 'ghanrtajrtheonnpiaer',\n", - " 'raahnylpftaoenrpisen',\n", - " 'raarnyopftnoenrpinen',\n", + " 'raahnzlpftaoenrpisen',\n", + " 'raarnzopftnoenrpinen',\n", " 'gharaaajrtnsmfnpinnn',\n", - " 'raaraoypftnsserpinnn',\n", + " 'raaraozpftnsserpinnn',\n", " 'ghtanaojromntnnprnai',\n", - " 'ghrosefjraoyttnpfgdt',\n", + " 'ghrosefjraozttnpfgdt',\n", " 'ghrraocjraamdhnpflns',\n", - " 'oykrtcsgegaiatfnjfel',\n", + " 'ozkrtcsgegaiatfnjfel',\n", " 'ekhrtulngraiheejpfec',\n", - " 'rarstolpfpyuherpdere',\n", - " 'fryltolppeiuaeednore',\n", - " 'ghaatoojrnfsdrnpepys',\n", + " 'rarstolpfpzuherpdere',\n", + " 'frzltolppeiuaeednore',\n", + " 'ghaatoojrnfsdrnpepzs',\n", " 'gharooojrnerdrnpeeas',\n", " 'raaoithpfeeeuarpnurr',\n", " 'raafontpfesrturpnrsn',\n", " 'frlanirppisroaedoltr',\n", " 'friintnppooruhedhrtr',\n", " 'raeirolpfaeeherpsree',\n", - " 'frawkrrppmogvnednajv',\n", + " 'fraxkrrppmogvnednajv',\n", " 'ghonavhjrnrtuonphtir',\n", " 'frloiroppnnaeaedrhae',\n", " 'raankrspfmaghtrpnije',\n", " 'frosanappsnenmedneea',\n", " 'rahrinopfaeeoorpsere',\n", - " 'frsyoteppnesugedennr',\n", + " 'frszoteppnesugedennr',\n", " 'raeniaepfsrotarpothi',\n", " 'granoahjethrsrneiaal',\n", " 'fiihrhepoeaeeaerrsel',\n", - " 'roeseooperytonrupevg',\n", + " 'roeseooperztonrupevg',\n", " 'roeaathperfeuaruppnr',\n", " 'grtaooujehsrdhnernas',\n", " 'roaaeoopeferonrupnpg',\n", " 'rraaesopefnrmhrepepn',\n", " 'rraeesspefarmnrepspn',\n", - " 'roaliyfpefneetruprrn',\n", + " 'roalizfpefneetruprrn',\n", " 'roaaionpefmeohrupnrg',\n", " 'fopalrrpersneheuinre',\n", " 'frainsopeneomaeeeren',\n", " 'roaaranpeefvterunpvi',\n", - " 'filanvspoieevyeronao',\n", + " 'filanvspoieevzeronao',\n", " 'fileoonpoindoherorsg',\n", " 'roatsecpenrrteruevht',\n", " 'roahalrpeeafnprunspr',\n", @@ -4325,7 +4351,7 @@ " 'roeaasapeatemirusinn',\n", " 'finaltnportiuhertior',\n", " 'finalthportiuaertior',\n", - " 'roeaaswpeatemfrusinn',\n", + " 'roeaasxpeatemfrusinn',\n", " 'etravehnuvtuhrervirk',\n", " 'greavlrjeatutanesirh',\n", " 'rrejaorpeanfnpresoph',\n", @@ -4339,7 +4365,7 @@ " 'rooataepenfisnruhpel',\n", " 'fiargfipompjteerndnr',\n", " 'fiargvapompjvierndno',\n", - " 'rolahsepenfaytrurpsd',\n", + " 'rolahsepenfaztrurpsd',\n", " 'rolasaapenfnterurpei',\n", " 'rolasrhpenfnterurpeh',\n", " 'filrsroponpntserrdeh',\n", @@ -4368,15 +4394,15 @@ " 'faahgtepetajugenisnr',\n", " 'gaahehfjntarrtneisep',\n", " 'rlahnanpitarfrroistp',\n", - " 'rlahiyepitahearoisin',\n", - " 'rlahiylpitahenroisin',\n", - " 'rlariyopitnhenroinin',\n", + " 'rlahizepitahearoisin',\n", + " 'rlahizlpitahenroisin',\n", + " 'rlarizopitnhenroinin',\n", " 'faahntopetatuaenisnr',\n", - " 'ftahnrspwtattleoisnh',\n", + " 'ftahnrspxtattleoisnh',\n", " 'rlarsetpitnntaroinet',\n", " 'flaarimpitsnoneoinnr',\n", " 'gaannhajeterrfnnisnp',\n", - " 'raartsopnfpsmhrepdyn',\n", + " 'raartsopnfpsmhrepdzn',\n", " 'farrntopepatuaendlnr',\n", " 'farnonrpepeehiendaua',\n", " 'farnroopephieoendaou',\n", @@ -4399,20 +4425,20 @@ " 'plavervdisoeeutolode',\n", " 'rlaoanipisnfrerolhpt',\n", " 'flrliefpitnorteohrrp',\n", - " 'pthafnhdwemdratolncn',\n", + " 'pthafnhdxemdratolncn',\n", " 'planervdishgeutolahe',\n", - " 'ftrhnaipwtartoeohsni',\n", + " 'ftrhnaipxtartoeohsni',\n", " 'rlrsalrpitnfnprohepr',\n", " 'faatctopesieuaennehr',\n", - " 'ftnronfpwnphsteoadec',\n", + " 'ftnronfpxnphsteoadec',\n", " 'flnierhpinoreaeoarpe',\n", " 'paaeuivdesaloutnnsir',\n", " 'raalofrpesnsdprnnrnc',\n", " 'flaadoopismedoeonngs',\n", " 'flamrrnpisnipreonsod',\n", - " 'ftamrropwsnnpseonsnd',\n", - " 'ftardkapwsnogmeonnoj',\n", - " 'ftnndkopwnsogneoacoj',\n", + " 'ftamrropxsnnpseonsnd',\n", + " 'ftardkapxsnogmeonnoj',\n", + " 'ftnndkopxnsogneoacoj',\n", " 'rletaropishtiorooait',\n", " 'flemrropisnipoeoosod',\n", " 'grianeajtesrgfnhrnnh',\n", @@ -4421,12 +4447,12 @@ " 'prpraordteissvthfoln',\n", " 'prinhovdtoraeuthrnsu',\n", " 'rrlranoptiatarrhofii',\n", - " 'palrnrvdsithtutlowah',\n", + " 'palrnrvdsithtutloxah',\n", " 'raianhrpsofraprlhpts',\n", " 'rrorarrpthatvnrhefiv',\n", " 'fveeaoopvareeaeospnu',\n", " 'ranhaovpsrateurltsiu',\n", - " 'fhafyoipeeseneelernh',\n", + " 'fhafzoipeeseneelernh',\n", " 'rrhfaiuptetiehrhlrhr',\n", " 'rrvdapoptvoceorhooef',\n", " 'prvgovgdtvheuftholur',\n", @@ -4441,7 +4467,7 @@ " 'gaoherfjsnrrptnlhped',\n", " 'frlrlhlptnpireehrdop',\n", " 'raoaahepsnfeehrlhpns',\n", - " 'fharwanpemposhelndal',\n", + " 'fharxanpemposhelndal',\n", " 'raoanaipsnfrtorlhpti',\n", " 'rhaanhrpemfraprlnpns',\n", " 'faormropespnnneendsn',\n", @@ -4450,19 +4476,19 @@ " 'fharshepempnraelndep',\n", " 'fhaphsrpemdrmnelntpn',\n", " 'fhaproipemrpneelnidh',\n", - " 'prlrlfadtntidlthrwoc',\n", - " 'frliatfptnotwtehrhio',\n", + " 'prlrlfadtntidlthrxoc',\n", + " 'frliatfptnotxtehrhio',\n", " 'frlirdfptnopetehrhdg',\n", - " 'frlitrnptnowphehrhod',\n", - " 'frlwvyaptnovdcehraoo',\n", + " 'frlitrnptnoxphehrhod',\n", + " 'frlxvzaptnovdcehraoo',\n", " 'rrlnauaptnhtlfrhraii',\n", " 'rhansaapemrnftrlnnep',\n", " 'frlhorgptnaephehrsud',\n", - " 'fhahscepemayaaelnsdl',\n", + " 'fhahscepemazaaelnsdl',\n", " 'rhasathpemntaorlneii',\n", " 'rhnhaarperafmprlnspn',\n", " 'rraoataptsrtnnrhnair',\n", - " 'fratornptswhprehnoed',\n", + " 'fratornptsxhprehnoed',\n", " 'faaneoopssrreaelntpu',\n", " 'fraoraiptshntoehneni',\n", " 'fhaanaspesmrerelnnne',\n", @@ -4476,18 +4502,18 @@ " 'foaeeoopntaaeaehiseu',\n", " 'foaeuaipntaleoehisin',\n", " 'raasoalpmtoefnrnirup',\n", - " 'glasntajntoewfnrirto',\n", + " 'glasntajntoexfnrirto',\n", " 'raasaeopmtoatornircv',\n", " 'gohieaajnreanfnhpree',\n", " 'rlaiuarpnfelearrprin',\n", " 'gohraocjnramdhnhpfns',\n", " 'glhraosjnramdtnrpfns',\n", - " 'gohassujnrfyrhnhppeh',\n", - " 'rlarshtpnfpyerrrpdel',\n", - " 'gohytuvjnreohunhpndc',\n", + " 'gohassujnrfzrhnhppeh',\n", + " 'rlarshtpnfpzerrrpdel',\n", + " 'gohztuvjnreohunhpndc',\n", " 'roakfrfpnfgttsrhpjuh',\n", " 'flrkrolpnpgeaeerdjee',\n", - " 'gohyahfjnrenetnhpnes',\n", + " 'gohzahfjnrenetnhpnes',\n", " 'rlakserpnfgrtvrrpjht',\n", " 'faronvlpmpotvcendgno',\n", " 'roaoooipsfosrnrnpgns',\n", @@ -4497,12 +4523,12 @@ " 'rlansorpnfroeprrptru',\n", " 'farosiopmphoooenderr',\n", " 'farlahepmposraendsnp',\n", - " 'flrnriypnphioeerdaoh',\n", + " 'flrnrizpnphioeerdaoh',\n", " 'flrhnropnpateaerdsne',\n", " 'farrshdpmpnneeendnel',\n", " 'fliihrhpnoeaeeerrrse',\n", - " 'floposfpnerdyteruise',\n", - " 'pafnrofdmdrtettncnwu',\n", + " 'floposfpnerdzteruise',\n", + " 'pafnrofdmdrtettncnxu',\n", " 'plinurvdnohleutrraie',\n", " 'rlosnerpneoetprrurtv',\n", " 'faisafopmooasoenrrcr',\n", @@ -4520,18 +4546,18 @@ " 'paafroadmsdneetnncnu',\n", " 'flaitirpnsohopernhar',\n", " 'raonnrapsroretrnaene',\n", - " 'faesltopsryiuaenpeor',\n", + " 'faesltopsrziuaenpeor',\n", " 'faraltopspeiuaendnor',\n", " 'fnponsopnresmseaiucn',\n", " 'fneisaapnuontmealrei',\n", - " 'fatiatnpswemneenornr',\n", + " 'fatiatnpsxemneenornr',\n", " 'gaaetctjsntiasnnevel',\n", " 'faoirirpshenotenernr',\n", " 'faneoogpsrreafentpue',\n", " 'ranalrapsrfnpcrntprd',\n", - " 'faoooynpshadereneesn',\n", + " 'faoooznpshadereneesn',\n", " 'pallrhpdsnitirtnrohi',\n", - " 'faodoynpssederenngsn',\n", + " 'faodoznpssederenngsn',\n", " 'rnaovirpnmsviprannoe',\n", " 'faorrrapssnipmennnod',\n", " 'faorrrmpssnipnennnod',\n", @@ -4559,23 +4585,23 @@ " 'ranhusiptrahnhritsct',\n", " 'raaaskaptmfngnrinpej',\n", " 'raaieflptmostnrinhoo',\n", - " 'ranhaoyptrafherinspe',\n", - " 'fahattmptacwuneiseor',\n", - " 'faratsnptncwmseineon',\n", + " 'ranhaozptrafherinspe',\n", + " 'fahattmptacxuneiseor',\n", + " 'faratsnptncxmseineon',\n", " 'ranaotfptsfgntricpfr',\n", " 'faroparptnerseeinuin',\n", " 'rahiknoptahgrorisijt',\n", " 'rahionoptahorerisigt',\n", - " 'raalreyptsinterinonv',\n", + " 'raalrezptsinterinonv',\n", " 'raaaotfpftmgntrpinfr',\n", " 'ghaheotjrtaroanpiseg',\n", - " 'ghrosefjraoyttnpfgdt',\n", - " 'ghrysorjraeyrnnpfnds',\n", - " 'fryltolppeiuaeednore',\n", + " 'ghrosefjraozttnpfgdt',\n", + " 'ghrzsorjraezrnnpfnds',\n", + " 'frzltolppeiuaeednore',\n", " 'friintnppooruhedhrtr',\n", " 'frnaplkpprsrngedtnir',\n", " 'ghorreajrnaeatnphfes',\n", - " 'raliyrdpfnoevorprhnv',\n", + " 'ralizrdpfnoevorprhnv',\n", " 'ghlnavtjrnrturnprtir',\n", " 'frloknippnngsoedrhjc',\n", " 'frarilrppmnoiaednnro',\n", @@ -4591,17 +4617,17 @@ " 'poprhredeeiaeatufose',\n", " 'pipaaoedoesmeatrfnnu',\n", " 'rraoltrpeneeapreeusi',\n", - " 'foaigsrpeeofyaeunrtd',\n", - " 'pftterrddwulevtcoroe',\n", + " 'foaigsrpeeofzaeunrtd',\n", + " 'pftterrddxulevtcoroe',\n", " 'foafrripeesanoeunrln',\n", " 'foahroopeeaidoeunsos',\n", " 'roeaasapeatemirusinn',\n", " 'finaltnportiuhertior',\n", " 'greavlsjeatutmnesirh',\n", - " 'roeotcspeadsemrussyt',\n", + " 'roeotcspeadsemrusszt',\n", " 'fonsetopermgooeutnhd',\n", " 'rrevkdopeaugtrresrjo',\n", - " 'grohtsojenroyonehprd',\n", + " 'grohtsojenrozonehprd',\n", " 'frlrrolpenppeeeerdru',\n", " 'filrthsponphenerrdal',\n", " 'roaasarpemfntnrunpei',\n", @@ -4618,9 +4644,9 @@ " 'rlahnanpitarfrroistp',\n", " 'gaahgovjetahounnislg',\n", " 'gaahgotjetahoannislg',\n", - " 'rlaraeypitnsteroinnv',\n", + " 'rlaraezpitnsteroinnv',\n", " 'flaarimpitsnoneoinnr',\n", - " 'ftashaopwtnemgeoieln',\n", + " 'ftashaopxtnemgeoieln',\n", " 'raaejaspnfrnemreppon',\n", " 'raaretrpefphuarnpdkr',\n", " 'farnrorpeprieaendnou',\n", @@ -4635,17 +4661,17 @@ " 'flrsrlipitnpnoeohedr',\n", " 'gaaorocjesrnoannnans',\n", " 'flarpropispdeoeonrte',\n", - " 'rlariyspisnheyronnin',\n", + " 'rlarizspisnhezronnin',\n", " 'rleerucpistpheroovdc',\n", - " 'flenrrypisaipeeooiod',\n", + " 'flenrrzpisaipeeooiod',\n", " 'fapjrrrpsrnehaelioee',\n", - " 'frlrahoptitnenehowes',\n", + " 'frlrahoptitnenehoxes',\n", " 'raaloofpseidrtrlnosa',\n", - " 'fhtfhcopewteeoelorsi',\n", + " 'fhtfhcopexteeoelorsi',\n", " 'frlfhnhptitearehorsi',\n", " 'palfacfdsiteedtlorei',\n", " 'frhfodsptesoemehlrgg',\n", - " 'prhttaedtewuisthlorh',\n", + " 'prhttaedtexuisthlorh',\n", " 'rrhfaiuptetiehrhlrhr',\n", " 'rrvitaaptvhicnrhoiee',\n", " 'prviroadtvhienthoiou',\n", @@ -4671,7 +4697,7 @@ " 'prlpisodtneonethrfre',\n", " 'frlpvdnptnrvotehrioo',\n", " 'rrliahiptnotahrhrhis',\n", - " 'frlwvyaptnovdcehraoo',\n", + " 'frlxvzaptnovdcehraoo',\n", " 'rhansaapemrnftrlnnep',\n", " 'pharesidemnfnotlnnde',\n", " 'rrlhofoptnaepdrhrsue',\n", @@ -4680,8 +4706,8 @@ " 'grlsattjtnntahnhreii',\n", " 'frneofoptrgetdehnhur',\n", " 'fhnhraiperapmoelnsdn',\n", - " 'pratiahdtswosithnohl',\n", - " 'fratornptswhprehnoed',\n", + " 'pratiahdtsxosithnohl',\n", + " 'fratornptsxhprehnoed',\n", " 'rraoealptshrfnrhnepp',\n", " 'rhaaniupesmrerrlnnnr',\n", " 'fhaanaspesmrerelnnne',\n", @@ -4689,22 +4715,22 @@ " 'goanlfojntentanhirro',\n", " 'glanohnjntrrrhnritap',\n", " 'rlanoonpntrrehrritau',\n", - " 'flaorevpnthtnveriewe',\n", - " 'faaoranpmthtlneniewe',\n", + " 'flaorevpnthtnveriexe',\n", + " 'faaoranpmthtlneniexe',\n", " 'rlanuvrpntrluarritir',\n", " 'rlahaaopntafmhrrispn',\n", - " 'gohrystjnraeyunhpfnd',\n", - " 'glhryssjnraeymnrpfnd',\n", + " 'gohrzstjnraezunhpfnd',\n", + " 'glhrzssjnraezmnrpfnd',\n", " 'elkatoenngfirgerjpes',\n", - " 'gohyfuvjnreshunhpnrc',\n", + " 'gohzfuvjnreshunhpnrc',\n", " 'faronnapmpohteendgan',\n", - " 'forynhepsperatendnns',\n", + " 'forznhepsperatendnns',\n", " 'flrrpnhpnperoaerdeie',\n", " 'roaeinepnfaeonrhpsre',\n", - " 'rlannyrpnfhoehrrpaen',\n", + " 'rlannzrpnfhoehrrpaen',\n", " 'fornohfpspsgltendcfc',\n", " 'glroanejnerthgnreaia',\n", - " 'gothrsrjnurayenhrpfd',\n", + " 'gothrsrjnurazenhrpfd',\n", " 'ploprhrdneeiaetrufos',\n", " 'faopohspmerdomenuiso',\n", " 'failftrpmoisuaenrorr',\n", @@ -4712,18 +4738,18 @@ " 'fainuorpmorldaenrnis',\n", " 'foisrropsooaeoenrrte',\n", " 'plisaafdnooaedtrrrcn',\n", - " 'fahinyopmeordrenlrno',\n", + " 'fahinzopmeordrenlrno',\n", " 'fahnhirpmeraopenlnsr',\n", - " 'foairoypssondeennrns',\n", - " 'roamrsfpssnnytrnnsnd',\n", - " 'faerylipsaheioenseno',\n", - " 'faaihnypsmoendennrla',\n", + " 'foairozpssondeennrns',\n", + " 'roamrsfpssnnztrnnsnd',\n", + " 'faerzlipsaheioenseno',\n", + " 'faaihnzpsmoendennrla',\n", " 'faaoiropsmhonoennern',\n", - " 'raarnaspsmnofyrnnnep',\n", + " 'raarnaspsmnofzrnnnep',\n", " 'ranaaajpsrfetnrnnpni',\n", - " 'pnnftsndnsdwmttaccon',\n", + " 'pnnftsndnsdxmttaccon',\n", " 'pnnhtsndnslamttaccin',\n", - " 'fnstorypnoceheearaue',\n", + " 'fnstorzpnoceheearaue',\n", " 'gaorasgjtrenmhniaeen',\n", " 'raonhvopterauoriutsr',\n", " 'garnuecjtehhtanieacv',\n", @@ -4734,7 +4760,7 @@ " 'raheltaptatiuiristor',\n", " 'rahelfrptatidnristoc',\n", " 'raaalonpftmiohrpinog',\n", - " 'raahnylpftaoenrpisen',\n", + " 'raahnzlpftaoenrpisen',\n", " 'raahnoapftaoomrpiseg',\n", " 'raaoisrpfeeemnrpnurn',\n", " 'friintrppooruvedhrtr',\n", @@ -4744,8 +4770,8 @@ " 'frsninsppnsoamedtcri',\n", " 'frhonrrppaerieedsuno',\n", " 'fiirohrpoeneaeerrnus',\n", - " 'roaliyrpefneevruprrn',\n", - " 'foadyhepeloeraeueonp',\n", + " 'roalizrpefneevruprrn',\n", + " 'foadzhepeloeraeueonp',\n", " 'foeaasepeatemgeusinn',\n", " 'foeaastpeatemceusinn',\n", " 'rreavespeatuhmresirk',\n", @@ -4753,13 +4779,13 @@ " 'filrtovponphsverrdan',\n", " 'gaantcrjetevasnniaul',\n", " 'rlanvrapitruanroitrl',\n", - " 'raarvylpntvueireivrn',\n", + " 'raarvzlpntvueireivrn',\n", " 'raanntapetroosrniner',\n", " 'gaahoaujetagernnisfe',\n", - " 'rlahiylpitahenroisin',\n", - " 'ftashnapwtnenmeoiela',\n", - " 'rlaneynpitatehroiivn',\n", - " 'raaejyfpnfrnetreppon',\n", + " 'rlahizlpitahenroisin',\n", + " 'ftashnapxtnenmeoiela',\n", + " 'rlaneznpitatehroiivn',\n", + " 'raaejzfpnfrnetreppon',\n", " 'farnrlspepriimendnoo',\n", " 'flientrpionhuheorrar',\n", " 'flaahcnpistaaseolisl',\n", @@ -4786,10 +4812,10 @@ " 'foanpospntrrelehitiu',\n", " 'rlanuvrpntrluarritir',\n", " 'roakfrfpnfgttsrhpjuh',\n", - " 'gohyfuvjnreshunhpnrc',\n", - " 'gohyahfjnrenetnhpnes',\n", - " 'gohyahfjnrenetnhpnes',\n", - " 'forynhepsperatendnns',\n", + " 'gohzfuvjnreshunhpnrc',\n", + " 'gohzahfjnrenetnhpnes',\n", + " 'gohzahfjnrenetnhpnes',\n", + " 'forznhepsperatendnns',\n", " 'farrlnopmpacooendlee',\n", " 'farlahepmposraendsnp',\n", " 'glroanejnerthgnreaia',\n", @@ -4797,29 +4823,29 @@ " 'gotnfecjnuedranhrrcp',\n", " 'flinurrpnohleherraie',\n", " 'fairoffpmonestenrnur',\n", - " 'flohdydpneaoeeeruson',\n", + " 'flohdzdpneaoeeeruson',\n", " 'ponfnradsndspstnaccr',\n", - " 'roamrsfpssnnytrnnsnd',\n", - " 'roamrsfpssnnytrnnsnd',\n", - " 'faeryltpsaheiwenseno',\n", - " 'fartdrypsnneedennrge',\n", + " 'roamrsfpssnnztrnnsnd',\n", + " 'roamrsfpssnnztrnnsnd',\n", + " 'faerzltpsaheixenseno',\n", + " 'fartdrzpsnneedennrge',\n", " 'fartdonpsnnedsennrgs',\n", - " 'fnstorypnoceheearaue',\n", + " 'fnstorzpnoceheearaue',\n", " 'raalfhspteidcmrinoch',\n", " 'gaanrfijtnheponieaee',\n", " 'fanhusiptrahnoeitsct',\n", " 'frahiltppmaoiuednsro',\n", " 'rahrnnopfaerodrpsene',\n", - " 'roaliyrpefneevruprrn',\n", - " 'foailsopeeoeyoeunrsd',\n", - " 'roeavtspeatusmrusiry',\n", - " 'grohosujenrryhnehpad',\n", + " 'roalizrpefneevruprrn',\n", + " 'foailsopeeoezoeunrsd',\n", + " 'roeavtspeatusmrusirz',\n", + " 'grohosujenrrzhnehpad',\n", " 'frlrrolpenppeeeerdru',\n", " 'rooasahpenflmeruhpln',\n", " 'gaanhfejnterttneirpr',\n", " 'raajafapetnftnrniopr',\n", - " 'raarvylpntvueireivrn',\n", - " 'gartptfjnerdwtneevto',\n", + " 'raarvzlpntvueireivrn',\n", + " 'gartptfjnerdxtneevto',\n", " 'flientrpionhuheorrar',\n", " 'flareoepispndaeonres',\n", " 'fharohepempnlaelndhc',\n", @@ -4835,7 +4861,7 @@ " 'raallrmpftnianrpirol']" ] }, - "execution_count": 39, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -4846,10 +4872,8 @@ }, { "cell_type": "code", - "execution_count": 40, - "metadata": { - "collapsed": false - }, + "execution_count": 45, + "metadata": {}, "outputs": [ { "data": { @@ -4857,7 +4881,7 @@ "[]" ] }, - "execution_count": 40, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -4868,79 +4892,73 @@ }, { "cell_type": "code", - "execution_count": 41, - "metadata": { - "collapsed": false - }, + "execution_count": 46, + "metadata": {}, "outputs": [], "source": [ - "def cadenus_break_worker(message, keyword, keycolumn, fitness):\n", - " message_chunks = chunks(message, 175)\n", - " plaintext = ''.join(cadenus_decipher(c, keyword, keycolumn) for c in message_chunks)\n", - " fit = fitness(plaintext)\n", - " return (keyword, keycolumn), fit" + "# def cadenus_break_worker(message, keyword, keycolumn, fitness):\n", + "# message_chunks = chunks(message, 175)\n", + "# plaintext = ''.join(cadenus_decipher(c, keyword, keycolumn) for c in message_chunks)\n", + "# fit = fitness(plaintext)\n", + "# return (keyword, keycolumn), fit" ] }, { "cell_type": "code", - "execution_count": 42, - "metadata": { - "collapsed": false - }, + "execution_count": 47, + "metadata": {}, "outputs": [], "source": [ - "def cadenus_break(message, words=keywords, fitness=Pbigrams):\n", - " c = make_cadenus_keycolumn(reverse=True)\n", - " results = starmap(cadenus_break_worker, [(message, \n", - " w, \n", - " make_cadenus_keycolumn(doubled_letters='vw', start=s, reverse=r), \n", - " fitness)\n", - " for w in words for s in string.ascii_lowercase for r in [True, False]])\n", - " # return list(results)\n", - " return max(results, key=lambda k: k[1])" + "# def cadenus_break(message, words=keywords, fitness=Pbigrams):\n", + "# c = make_cadenus_keycolumn(reverse=True)\n", + "# results = starmap(cadenus_break_worker, [(message, \n", + "# w, \n", + "# make_cadenus_keycolumn(doubled_letters='vw', start=s, reverse=r), \n", + "# fitness)\n", + "# for w in words for s in string.ascii_lowercase for r in [True, False]])\n", + "# # return list(results)\n", + "# return max(results, key=lambda k: k[1])" ] }, { "cell_type": "code", - "execution_count": 43, - "metadata": { - "collapsed": false - }, + "execution_count": 48, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(('finalist',\n", - " {'a': 6,\n", - " 'b': 5,\n", - " 'c': 4,\n", - " 'd': 3,\n", - " 'e': 2,\n", - " 'f': 1,\n", - " 'g': 0,\n", - " 'h': 24,\n", - " 'i': 23,\n", - " 'j': 22,\n", - " 'k': 21,\n", - " 'l': 20,\n", - " 'm': 19,\n", - " 'n': 18,\n", - " 'o': 17,\n", - " 'p': 16,\n", - " 'q': 15,\n", - " 'r': 14,\n", - " 's': 13,\n", - " 't': 12,\n", - " 'u': 11,\n", - " 'v': 10,\n", - " 'w': 10,\n", - " 'x': 9,\n", - " 'y': 8,\n", - " 'z': 7}),\n", - " -5286.197562931952)" + " {'a': 3,\n", + " 'b': 2,\n", + " 'c': 1,\n", + " 'd': 0,\n", + " 'e': 24,\n", + " 'f': 23,\n", + " 'g': 22,\n", + " 'h': 21,\n", + " 'i': 20,\n", + " 'j': 19,\n", + " 'k': 18,\n", + " 'l': 17,\n", + " 'm': 16,\n", + " 'n': 15,\n", + " 'o': 14,\n", + " 'p': 13,\n", + " 'q': 12,\n", + " 'r': 11,\n", + " 's': 10,\n", + " 't': 9,\n", + " 'u': 8,\n", + " 'v': 7,\n", + " 'w': 7,\n", + " 'x': 6,\n", + " 'y': 5,\n", + " 'z': 4}),\n", + " -5436.133070290792)" ] }, - "execution_count": 43, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -4952,462 +4970,46 @@ }, { "cell_type": "code", - "execution_count": 44, - "metadata": { - "collapsed": false - }, + "execution_count": 49, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'wledgctftrojhrtheonovoresoovrpanegoarerufofinaltnportiuhertiorafthehasdwarenncompleeeandoastestssoveconlrudedtlsreisnntignfrrrthesinaaltranlicthaaehesecisityseemiceshuneanykhf'" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" + "ename": "IndexError", + "evalue": "string index out of range", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mRemoteTraceback\u001b[0m Traceback (most recent call last)", + "\u001b[0;31mRemoteTraceback\u001b[0m: \n\"\"\"\nTraceback (most recent call last):\n File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n result = (True, func(*args, **kwds))\n File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 47, in starmapstar\n return list(itertools.starmap(args[0], args[1]))\n File \"/home/neil/Documents/programming/national-cipher-challenge/cipher/cadenus.py\", line 120, in cadenus_break_worker\n plaintext = ''.join(cadenus_decipher(c, keyword, keycolumn) for c in message_chunks)\n File \"/home/neil/Documents/programming/national-cipher-challenge/cipher/cadenus.py\", line 120, in \n plaintext = ''.join(cadenus_decipher(c, keyword, keycolumn) for c in message_chunks)\n File \"/home/neil/Documents/programming/national-cipher-challenge/cipher/cadenus.py\", line 89, in cadenus_decipher\n untransposed_rows = [untranspose(r, transpositions) for r in rows]\n File \"/home/neil/Documents/programming/national-cipher-challenge/cipher/cadenus.py\", line 89, in \n untransposed_rows = [untranspose(r, transpositions) for r in rows]\n File \"/home/neil/Documents/programming/national-cipher-challenge/support/utilities.py\", line 101, in untranspose\n transposed[t] = items[p]\nIndexError: string index out of range\n\"\"\"", + "\nThe above exception was the direct cause of the following exception:\n", + "\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mkey8b\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfitness\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcadenus_break\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mc8bl\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfitness\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mPtrigrams\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mkey8b\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfitness\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/Documents/programming/national-cipher-challenge/cipher/cadenus.py\u001b[0m in \u001b[0;36mcadenus_break\u001b[0;34m(message, words, doubled_letters, fitness)\u001b[0m\n\u001b[1;32m 106\u001b[0m start=s, reverse=r), \n\u001b[1;32m 107\u001b[0m fitness)\n\u001b[0;32m--> 108\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mw\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mwords\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 109\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0ms\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mstring\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mascii_lowercase\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mr\u001b[0m \u001b[0;32min\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/usr/lib/python3.6/multiprocessing/pool.py\u001b[0m in \u001b[0;36mstarmap\u001b[0;34m(self, func, iterable, chunksize)\u001b[0m\n\u001b[1;32m 272\u001b[0m \u001b[0;31m`\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;31m`\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0mbecomes\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 273\u001b[0m '''\n\u001b[0;32m--> 274\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_map_async\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstarmapstar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 275\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 276\u001b[0m def starmap_async(self, func, iterable, chunksize=None, callback=None,\n", + "\u001b[0;32m/usr/lib/python3.6/multiprocessing/pool.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 642\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 643\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 644\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 645\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 646\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_set\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mIndexError\u001b[0m: string index out of range" + ] } ], + "source": [ + "key8b, fitness = cadenus_break(c8bl, fitness=Ptrigrams)\n", + "key8b, fitness" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "cadenus_decipher(first_chunk, key8b[0], key8b[1])" ] }, { "cell_type": "code", - "execution_count": 50, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[('finalist', 'z', 'az', True),\n", - " ('finalist', 'a', 'no', True),\n", - " ('finalist', 'n', 'no', True),\n", - " ('finalist', 'a', 'nu', True),\n", - " ('finalist', 'n', 'nu', True),\n", - " ('finalist', 'a', 'nz', True),\n", - " ('finalist', 'n', 'nz', True),\n", - " ('finalist', 'a', 'op', True),\n", - " ('finalist', 'o', 'op', True),\n", - " ('finalist', 'a', 'oq', True),\n", - " ('finalist', 'o', 'oq', True),\n", - " ('finalist', 'a', 'or', True),\n", - " ('finalist', 'o', 'or', True),\n", - " ('finalist', 'a', 'os', True),\n", - " ('finalist', 'o', 'os', True),\n", - " ('finalist', 'a', 'ot', True),\n", - " ('finalist', 'o', 'ot', True),\n", - " ('finalist', 'a', 'ou', True),\n", - " ('finalist', 'o', 'ou', True),\n", - " ('finalist', 'a', 'ov', True),\n", - " ('finalist', 'o', 'ov', True),\n", - " ('finalist', 'a', 'ow', True),\n", - " ('finalist', 'o', 'ow', True),\n", - " ('finalist', 'a', 'ox', True),\n", - " ('finalist', 'o', 'ox', True),\n", - " ('finalist', 'a', 'oy', True),\n", - " ('finalist', 'o', 'oy', True),\n", - " ('finalist', 'a', 'oz', True),\n", - " ('finalist', 'o', 'oz', True),\n", - " ('finalist', 'a', 'pq', True),\n", - " ('finalist', 'p', 'pq', True),\n", - " ('finalist', 'a', 'pr', True),\n", - " ('finalist', 'p', 'pr', True),\n", - " ('finalist', 'a', 'ps', True),\n", - " ('finalist', 'p', 'ps', True),\n", - " ('finalist', 'a', 'pt', True),\n", - " ('finalist', 'p', 'pt', True),\n", - " ('finalist', 'a', 'pu', True),\n", - " ('finalist', 'p', 'pu', True),\n", - " ('finalist', 'a', 'pv', True),\n", - " ('finalist', 'p', 'pv', True),\n", - " ('finalist', 'a', 'pw', True),\n", - " ('finalist', 'p', 'pw', True),\n", - " ('finalist', 'a', 'px', True),\n", - " ('finalist', 'p', 'px', True),\n", - " ('finalist', 'a', 'py', True),\n", - " ('finalist', 'p', 'py', True),\n", - " ('finalist', 'a', 'pz', True),\n", - " ('finalist', 'p', 'pz', True),\n", - " ('finalist', 'a', 'qr', True),\n", - " ('finalist', 'q', 'qr', True),\n", - " ('finalist', 'a', 'qs', True),\n", - " ('finalist', 'q', 'qs', True),\n", - " ('finalist', 'a', 'qt', True),\n", - " ('finalist', 'q', 'qt', True),\n", - " ('finalist', 'a', 'qu', True),\n", - " ('finalist', 'q', 'qu', True),\n", - " ('finalist', 'a', 'qv', True),\n", - " ('finalist', 'q', 'qv', True),\n", - " ('finalist', 'a', 'qw', True),\n", - " ('finalist', 'q', 'qw', True),\n", - " ('finalist', 'a', 'qx', True),\n", - " ('finalist', 'q', 'qx', True),\n", - " ('finalist', 'a', 'qy', True),\n", - " ('finalist', 'q', 'qy', True),\n", - " ('finalist', 'a', 'qz', True),\n", - " ('finalist', 'q', 'qz', True),\n", - " ('finalist', 'a', 'rs', True),\n", - " ('finalist', 'r', 'rs', True),\n", - " ('finalist', 'a', 'rt', True),\n", - " ('finalist', 'r', 'rt', True),\n", - " ('finalist', 'a', 'ru', True),\n", - " ('finalist', 'r', 'ru', True),\n", - " ('finalist', 'a', 'rv', True),\n", - " ('finalist', 'r', 'rv', True),\n", - " ('finalist', 'a', 'rw', True),\n", - " ('finalist', 'r', 'rw', True),\n", - " ('finalist', 'a', 'rx', True),\n", - " ('finalist', 'r', 'rx', True),\n", - " ('finalist', 'a', 'ry', True),\n", - " ('finalist', 'r', 'ry', True),\n", - " ('finalist', 'a', 'rz', True),\n", - " ('finalist', 'r', 'rz', True),\n", - " ('finalist', 'a', 'st', True),\n", - " ('finalist', 's', 'st', True),\n", - " ('finalist', 'a', 'su', True),\n", - " ('finalist', 's', 'su', True),\n", - " ('finalist', 'a', 'sv', True),\n", - " ('finalist', 's', 'sv', True),\n", - " ('finalist', 'a', 'sw', True),\n", - " ('finalist', 's', 'sw', True),\n", - " ('finalist', 'a', 'sx', True),\n", - " ('finalist', 's', 'sx', True),\n", - " ('finalist', 'a', 'sy', True),\n", - " ('finalist', 's', 'sy', True),\n", - " ('finalist', 'a', 'sz', True),\n", - " ('finalist', 's', 'sz', True),\n", - " ('finalist', 'a', 'tu', True),\n", - " ('finalist', 't', 'tu', True),\n", - " ('finalist', 'a', 'tv', True),\n", - " ('finalist', 't', 'tv', True),\n", - " ('finalist', 'a', 'tw', True),\n", - " ('finalist', 't', 'tw', True),\n", - " ('finalist', 'a', 'tx', True),\n", - " ('finalist', 't', 'tx', True),\n", - " ('finalist', 'a', 'ty', True),\n", - " ('finalist', 't', 'ty', True),\n", - " ('finalist', 'a', 'tz', True),\n", - " ('finalist', 't', 'tz', True),\n", - " ('finalist', 'a', 'uv', True),\n", - " ('finalist', 'u', 'uv', True),\n", - " ('finalist', 'a', 'uw', True),\n", - " ('finalist', 'u', 'uw', True),\n", - " ('finalist', 'a', 'ux', True),\n", - " ('finalist', 'u', 'ux', True),\n", - " ('finalist', 'a', 'uy', True),\n", - " ('finalist', 'u', 'uy', True),\n", - " ('finalist', 'a', 'uz', True),\n", - " ('finalist', 'u', 'uz', True),\n", - " ('finalist', 'a', 'vw', True),\n", - " ('finalist', 'v', 'vw', True),\n", - " ('finalist', 'a', 'vx', True),\n", - " ('finalist', 'v', 'vx', True),\n", - " ('finalist', 'a', 'vy', True),\n", - " ('finalist', 'v', 'vy', True),\n", - " ('finalist', 'a', 'vz', True),\n", - " ('finalist', 'v', 'vz', True),\n", - " ('finalist', 'a', 'wx', True),\n", - " ('finalist', 'w', 'wx', True),\n", - " ('finalist', 'a', 'wy', True),\n", - " ('finalist', 'w', 'wy', True),\n", - " ('finalist', 'a', 'wz', True),\n", - " ('finalist', 'w', 'wz', True),\n", - " ('finalist', 'a', 'xy', True),\n", - " ('finalist', 'x', 'xy', True),\n", - " ('finalist', 'a', 'xz', True),\n", - " ('finalist', 'x', 'xz', True),\n", - " ('finalist', 'a', 'yz', True),\n", - " ('finalist', 'y', 'yz', True),\n", - " ('finality', 'z', 'az', True),\n", - " ('finality', 'a', 'no', True),\n", - " ('finality', 'n', 'no', True),\n", - " ('finality', 'a', 'nu', True),\n", - " ('finality', 'n', 'nu', True),\n", - " ('finality', 'a', 'nz', True),\n", - " ('finality', 'n', 'nz', True),\n", - " ('finality', 'a', 'op', True),\n", - " ('finality', 'o', 'op', True),\n", - " ('finality', 'a', 'oq', True),\n", - " ('finality', 'o', 'oq', True),\n", - " ('finality', 'a', 'or', True),\n", - " ('finality', 'o', 'or', True),\n", - " ('finality', 'a', 'os', True),\n", - " ('finality', 'o', 'os', True),\n", - " ('finality', 'a', 'ot', True),\n", - " ('finality', 'o', 'ot', True),\n", - " ('finality', 'a', 'ou', True),\n", - " ('finality', 'o', 'ou', True),\n", - " ('finality', 'a', 'ov', True),\n", - " ('finality', 'o', 'ov', True),\n", - " ('finality', 'a', 'ow', True),\n", - " ('finality', 'o', 'ow', True),\n", - " ('finality', 'a', 'ox', True),\n", - " ('finality', 'o', 'ox', True),\n", - " ('finality', 'a', 'oy', True),\n", - " ('finality', 'o', 'oy', True),\n", - " ('finality', 'a', 'oz', True),\n", - " ('finality', 'o', 'oz', True),\n", - " ('finality', 'a', 'pq', True),\n", - " ('finality', 'p', 'pq', True),\n", - " ('finality', 'a', 'pr', True),\n", - " ('finality', 'p', 'pr', True),\n", - " ('finality', 'a', 'ps', True),\n", - " ('finality', 'p', 'ps', True),\n", - " ('finality', 'a', 'pt', True),\n", - " ('finality', 'p', 'pt', True),\n", - " ('finality', 'a', 'pu', True),\n", - " ('finality', 'p', 'pu', True),\n", - " ('finality', 'a', 'pv', True),\n", - " ('finality', 'p', 'pv', True),\n", - " ('finality', 'a', 'pw', True),\n", - " ('finality', 'p', 'pw', True),\n", - " ('finality', 'a', 'px', True),\n", - " ('finality', 'p', 'px', True),\n", - " ('finality', 'a', 'py', True),\n", - " ('finality', 'p', 'py', True),\n", - " ('finality', 'a', 'pz', True),\n", - " ('finality', 'p', 'pz', True),\n", - " ('finality', 'a', 'qr', True),\n", - " ('finality', 'q', 'qr', True),\n", - " ('finality', 'a', 'qs', True),\n", - " ('finality', 'q', 'qs', True),\n", - " ('finality', 'a', 'qt', True),\n", - " ('finality', 'q', 'qt', True),\n", - " ('finality', 'a', 'qu', True),\n", - " ('finality', 'q', 'qu', True),\n", - " ('finality', 'a', 'qv', True),\n", - " ('finality', 'q', 'qv', True),\n", - " ('finality', 'a', 'qw', True),\n", - " ('finality', 'q', 'qw', True),\n", - " ('finality', 'a', 'qx', True),\n", - " ('finality', 'q', 'qx', True),\n", - " ('finality', 'a', 'qy', True),\n", - " ('finality', 'q', 'qy', True),\n", - " ('finality', 'a', 'qz', True),\n", - " ('finality', 'q', 'qz', True),\n", - " ('finality', 'a', 'rs', True),\n", - " ('finality', 'r', 'rs', True),\n", - " ('finality', 'a', 'rt', True),\n", - " ('finality', 'r', 'rt', True),\n", - " ('finality', 'a', 'ru', True),\n", - " ('finality', 'r', 'ru', True),\n", - " ('finality', 'a', 'rv', True),\n", - " ('finality', 'r', 'rv', True),\n", - " ('finality', 'a', 'rw', True),\n", - " ('finality', 'r', 'rw', True),\n", - " ('finality', 'a', 'rx', True),\n", - " ('finality', 'r', 'rx', True),\n", - " ('finality', 'a', 'ry', True),\n", - " ('finality', 'r', 'ry', True),\n", - " ('finality', 'a', 'rz', True),\n", - " ('finality', 'r', 'rz', True),\n", - " ('finality', 'a', 'st', True),\n", - " ('finality', 's', 'st', True),\n", - " ('finality', 'a', 'su', True),\n", - " ('finality', 's', 'su', True),\n", - " ('finality', 'a', 'sv', True),\n", - " ('finality', 's', 'sv', True),\n", - " ('finality', 'a', 'sw', True),\n", - " ('finality', 's', 'sw', True),\n", - " ('finality', 'a', 'sx', True),\n", - " ('finality', 's', 'sx', True),\n", - " ('finality', 'a', 'sy', True),\n", - " ('finality', 's', 'sy', True),\n", - " ('finality', 'a', 'sz', True),\n", - " ('finality', 's', 'sz', True),\n", - " ('finality', 'a', 'tu', True),\n", - " ('finality', 't', 'tu', True),\n", - " ('finality', 'a', 'tv', True),\n", - " ('finality', 't', 'tv', True),\n", - " ('finality', 'a', 'tw', True),\n", - " ('finality', 't', 'tw', True),\n", - " ('finality', 'a', 'tx', True),\n", - " ('finality', 't', 'tx', True),\n", - " ('finality', 'a', 'ty', True),\n", - " ('finality', 't', 'ty', True),\n", - " ('finality', 'a', 'tz', True),\n", - " ('finality', 't', 'tz', True),\n", - " ('finality', 'a', 'uv', True),\n", - " ('finality', 'u', 'uv', True),\n", - " ('finality', 'a', 'uw', True),\n", - " ('finality', 'u', 'uw', True),\n", - " ('finality', 'a', 'ux', True),\n", - " ('finality', 'u', 'ux', True),\n", - " ('finality', 'a', 'uy', True),\n", - " ('finality', 'u', 'uy', True),\n", - " ('finality', 'a', 'uz', True),\n", - " ('finality', 'u', 'uz', True),\n", - " ('finality', 'a', 'vw', True),\n", - " ('finality', 'v', 'vw', True),\n", - " ('finality', 'a', 'vx', True),\n", - " ('finality', 'v', 'vx', True),\n", - " ('finality', 'a', 'vy', True),\n", - " ('finality', 'v', 'vy', True),\n", - " ('finality', 'a', 'vz', True),\n", - " ('finality', 'v', 'vz', True),\n", - " ('finality', 'a', 'wx', True),\n", - " ('finality', 'w', 'wx', True),\n", - " ('finality', 'a', 'wy', True),\n", - " ('finality', 'w', 'wy', True),\n", - " ('finality', 'a', 'wz', True),\n", - " ('finality', 'w', 'wz', True),\n", - " ('finality', 'a', 'xy', True),\n", - " ('finality', 'x', 'xy', True),\n", - " ('finality', 'a', 'xz', True),\n", - " ('finality', 'x', 'xz', True),\n", - " ('finality', 'a', 'yz', True),\n", - " ('finality', 'y', 'yz', True),\n", - " ('foulness', 'x', 'ov', True),\n", - " ('finalists', 'z', 'az', True),\n", - " ('finalists', 'a', 'no', True),\n", - " ('finalists', 'n', 'no', True),\n", - " ('finalists', 'a', 'nu', True),\n", - " ('finalists', 'n', 'nu', True),\n", - " ('finalists', 'a', 'nz', True),\n", - " ('finalists', 'n', 'nz', True),\n", - " ('finalists', 'a', 'op', True),\n", - " ('finalists', 'o', 'op', True),\n", - " ('finalists', 'a', 'oq', True),\n", - " ('finalists', 'o', 'oq', True),\n", - " ('finalists', 'a', 'or', True),\n", - " ('finalists', 'o', 'or', True),\n", - " ('finalists', 'a', 'os', True),\n", - " ('finalists', 'o', 'os', True),\n", - " ('finalists', 'a', 'ot', True),\n", - " ('finalists', 'o', 'ot', True),\n", - " ('finalists', 'a', 'ou', True),\n", - " ('finalists', 'o', 'ou', True),\n", - " ('finalists', 'a', 'ov', True),\n", - " ('finalists', 'o', 'ov', True),\n", - " ('finalists', 'a', 'ow', True),\n", - " ('finalists', 'o', 'ow', True),\n", - " ('finalists', 'a', 'ox', True),\n", - " ('finalists', 'o', 'ox', True),\n", - " ('finalists', 'a', 'oy', True),\n", - " ('finalists', 'o', 'oy', True),\n", - " ('finalists', 'a', 'oz', True),\n", - " ('finalists', 'o', 'oz', True),\n", - " ('finalists', 'a', 'pq', True),\n", - " ('finalists', 'p', 'pq', True),\n", - " ('finalists', 'a', 'pr', True),\n", - " ('finalists', 'p', 'pr', True),\n", - " ('finalists', 'a', 'ps', True),\n", - " ('finalists', 'p', 'ps', True),\n", - " ('finalists', 'a', 'pt', True),\n", - " ('finalists', 'p', 'pt', True),\n", - " ('finalists', 'a', 'pu', True),\n", - " ('finalists', 'p', 'pu', True),\n", - " ('finalists', 'a', 'pv', True),\n", - " ('finalists', 'p', 'pv', True),\n", - " ('finalists', 'a', 'pw', True),\n", - " ('finalists', 'p', 'pw', True),\n", - " ('finalists', 'a', 'px', True),\n", - " ('finalists', 'p', 'px', True),\n", - " ('finalists', 'a', 'py', True),\n", - " ('finalists', 'p', 'py', True),\n", - " ('finalists', 'a', 'pz', True),\n", - " ('finalists', 'p', 'pz', True),\n", - " ('finalists', 'a', 'qr', True),\n", - " ('finalists', 'q', 'qr', True),\n", - " ('finalists', 'a', 'qs', True),\n", - " ('finalists', 'q', 'qs', True),\n", - " ('finalists', 'a', 'qt', True),\n", - " ('finalists', 'q', 'qt', True),\n", - " ('finalists', 'a', 'qu', True),\n", - " ('finalists', 'q', 'qu', True),\n", - " ('finalists', 'a', 'qv', True),\n", - " ('finalists', 'q', 'qv', True),\n", - " ('finalists', 'a', 'qw', True),\n", - " ('finalists', 'q', 'qw', True),\n", - " ('finalists', 'a', 'qx', True),\n", - " ('finalists', 'q', 'qx', True),\n", - " ('finalists', 'a', 'qy', True),\n", - " ('finalists', 'q', 'qy', True),\n", - " ('finalists', 'a', 'qz', True),\n", - " ('finalists', 'q', 'qz', True),\n", - " ('finalists', 'a', 'rs', True),\n", - " ('finalists', 'r', 'rs', True),\n", - " ('finalists', 'a', 'rt', True),\n", - " ('finalists', 'r', 'rt', True),\n", - " ('finalists', 'a', 'ru', True),\n", - " ('finalists', 'r', 'ru', True),\n", - " ('finalists', 'a', 'rv', True),\n", - " ('finalists', 'r', 'rv', True),\n", - " ('finalists', 'a', 'rw', True),\n", - " ('finalists', 'r', 'rw', True),\n", - " ('finalists', 'a', 'rx', True),\n", - " ('finalists', 'r', 'rx', True),\n", - " ('finalists', 'a', 'ry', True),\n", - " ('finalists', 'r', 'ry', True),\n", - " ('finalists', 'a', 'rz', True),\n", - " ('finalists', 'r', 'rz', True),\n", - " ('finalists', 'a', 'st', True),\n", - " ('finalists', 's', 'st', True),\n", - " ('finalists', 'a', 'su', True),\n", - " ('finalists', 's', 'su', True),\n", - " ('finalists', 'a', 'sv', True),\n", - " ('finalists', 's', 'sv', True),\n", - " ('finalists', 'a', 'sw', True),\n", - " ('finalists', 's', 'sw', True),\n", - " ('finalists', 'a', 'sx', True),\n", - " ('finalists', 's', 'sx', True),\n", - " ('finalists', 'a', 'sy', True),\n", - " ('finalists', 's', 'sy', True),\n", - " ('finalists', 'a', 'sz', True),\n", - " ('finalists', 's', 'sz', True),\n", - " ('finalists', 'a', 'tu', True),\n", - " ('finalists', 't', 'tu', True),\n", - " ('finalists', 'a', 'tv', True),\n", - " ('finalists', 't', 'tv', True),\n", - " ('finalists', 'a', 'tw', True),\n", - " ('finalists', 't', 'tw', True),\n", - " ('finalists', 'a', 'tx', True),\n", - " ('finalists', 't', 'tx', True),\n", - " ('finalists', 'a', 'ty', True),\n", - " ('finalists', 't', 'ty', True),\n", - " ('finalists', 'a', 'tz', True),\n", - " ('finalists', 't', 'tz', True),\n", - " ('finalists', 'a', 'uv', True),\n", - " ('finalists', 'u', 'uv', True),\n", - " ('finalists', 'a', 'uw', True),\n", - " ('finalists', 'u', 'uw', True),\n", - " ('finalists', 'a', 'ux', True),\n", - " ('finalists', 'u', 'ux', True),\n", - " ('finalists', 'a', 'uy', True),\n", - " ('finalists', 'u', 'uy', True),\n", - " ('finalists', 'a', 'uz', True),\n", - " ('finalists', 'u', 'uz', True),\n", - " ('finalists', 'a', 'vw', True),\n", - " ('finalists', 'v', 'vw', True),\n", - " ('finalists', 'a', 'vx', True),\n", - " ('finalists', 'v', 'vx', True),\n", - " ('finalists', 'a', 'vy', True),\n", - " ('finalists', 'v', 'vy', True),\n", - " ('finalists', 'a', 'vz', True),\n", - " ('finalists', 'v', 'vz', True),\n", - " ('finalists', 'a', 'wx', True),\n", - " ('finalists', 'w', 'wx', True),\n", - " ('finalists', 'a', 'wy', True),\n", - " ('finalists', 'w', 'wy', True),\n", - " ('finalists', 'a', 'wz', True),\n", - " ('finalists', 'w', 'wz', True),\n", - " ('finalists', 'a', 'xy', True),\n", - " ('finalists', 'x', 'xy', True),\n", - " ('finalists', 'a', 'xz', True),\n", - " ('finalists', 'x', 'xz', True),\n", - " ('finalists', 'a', 'yz', True),\n", - " ('finalists', 'y', 'yz', True),\n", - " ('foulnesss', 'x', 'ov', True)]" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "[(w, s, d1+d2, r)\n", " for w in hinted_keywords \n", @@ -5422,22 +5024,9 @@ }, { "cell_type": "code", - "execution_count": 55, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "[(w, s, d1+d2, r, cadenus_decipher(first_chunk, w, \n", " make_cadenus_keycolumn(doubled_letters=d1+d2, start=s, reverse=r))[:50])\n", @@ -5453,94 +5042,11 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": null, "metadata": { - "collapsed": false, "scrolled": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "[('finalist', 'a', 'no', True),\n", - " ('finalist', 'n', 'no', True),\n", - " ('finalist', 'a', 'op', True),\n", - " ('finalist', 'o', 'op', True),\n", - " ('finalist', 'a', 'pq', True),\n", - " ('finalist', 'p', 'pq', True),\n", - " ('finalist', 'a', 'qr', True),\n", - " ('finalist', 'q', 'qr', True),\n", - " ('finalist', 'a', 'rs', True),\n", - " ('finalist', 'r', 'rs', True),\n", - " ('finalist', 'a', 'st', True),\n", - " ('finalist', 's', 'st', True),\n", - " ('finalist', 'a', 'tu', True),\n", - " ('finalist', 't', 'tu', True),\n", - " ('finalist', 'a', 'uv', True),\n", - " ('finalist', 'u', 'uv', True),\n", - " ('finalist', 'a', 'vw', True),\n", - " ('finalist', 'v', 'vw', True),\n", - " ('finalist', 'a', 'wx', True),\n", - " ('finalist', 'w', 'wx', True),\n", - " ('finalist', 'a', 'xy', True),\n", - " ('finalist', 'x', 'xy', True),\n", - " ('finalist', 'a', 'yz', True),\n", - " ('finalist', 'y', 'yz', True),\n", - " ('finality', 'a', 'no', True),\n", - " ('finality', 'n', 'no', True),\n", - " ('finality', 'a', 'op', True),\n", - " ('finality', 'o', 'op', True),\n", - " ('finality', 'a', 'pq', True),\n", - " ('finality', 'p', 'pq', True),\n", - " ('finality', 'a', 'qr', True),\n", - " ('finality', 'q', 'qr', True),\n", - " ('finality', 'a', 'rs', True),\n", - " ('finality', 'r', 'rs', True),\n", - " ('finality', 'a', 'st', True),\n", - " ('finality', 's', 'st', True),\n", - " ('finality', 'a', 'tu', True),\n", - " ('finality', 't', 'tu', True),\n", - " ('finality', 'a', 'uv', True),\n", - " ('finality', 'u', 'uv', True),\n", - " ('finality', 'a', 'vw', True),\n", - " ('finality', 'v', 'vw', True),\n", - " ('finality', 'a', 'wx', True),\n", - " ('finality', 'w', 'wx', True),\n", - " ('finality', 'a', 'xy', True),\n", - " ('finality', 'x', 'xy', True),\n", - " ('finality', 'a', 'yz', True),\n", - " ('finality', 'y', 'yz', True),\n", - " ('finalists', 'a', 'no', True),\n", - " ('finalists', 'n', 'no', True),\n", - " ('finalists', 'a', 'op', True),\n", - " ('finalists', 'o', 'op', True),\n", - " ('finalists', 'a', 'pq', True),\n", - " ('finalists', 'p', 'pq', True),\n", - " ('finalists', 'a', 'qr', True),\n", - " ('finalists', 'q', 'qr', True),\n", - " ('finalists', 'a', 'rs', True),\n", - " ('finalists', 'r', 'rs', True),\n", - " ('finalists', 'a', 'st', True),\n", - " ('finalists', 's', 'st', True),\n", - " ('finalists', 'a', 'tu', True),\n", - " ('finalists', 't', 'tu', True),\n", - " ('finalists', 'a', 'uv', True),\n", - " ('finalists', 'u', 'uv', True),\n", - " ('finalists', 'a', 'vw', True),\n", - " ('finalists', 'v', 'vw', True),\n", - " ('finalists', 'a', 'wx', True),\n", - " ('finalists', 'w', 'wx', True),\n", - " ('finalists', 'a', 'xy', True),\n", - " ('finalists', 'x', 'xy', True),\n", - " ('finalists', 'a', 'yz', True),\n", - " ('finalists', 'y', 'yz', True)]" - ] - }, - "execution_count": 52, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "[(w, s, d1+chr(ord(d1)+1), r)\n", " for w in hinted_keywords \n", @@ -5554,44 +5060,18 @@ }, { "cell_type": "code", - "execution_count": 53, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'phasennrkmffnhignsdaaojsrcisrncheentoeetueweisvhsounsucoaleyrhreitdioseotototdhsoagreeysifaglenhtlhonriuelseairscnrteameteiwnntneefefcrartataieposrlandrlvtartalvhctofnorehdpro'" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "cadenus_decipher(first_chunk, 'filbert', make_cadenus_keycolumn(doubled_letters='lu', start='m', reverse=False))" ] }, { "cell_type": "code", - "execution_count": 54, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "['afcaeuottacthrioletcserthshtrahkyorpfrgeoadppjnglternefeofiortsddoeeumscruernfetlaafstwientrvoonerhuahravereetsvsielhlostdoaloyaesmnndignnrhohhtsnaoilncnssicreanneeiiierwtanes']" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "chunks(first_chunk, 175)" ] @@ -5599,9 +5079,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -5622,9 +5100,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge1.ipynb b/2015/2015-challenge1.ipynb index 7d73732..47cdd36 100644 --- a/2015/2015-challenge1.ipynb +++ b/2015/2015-challenge1.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c1a = open('1a.ciphertext').read()\n", "c1b = open('1b.ciphertext').read()" @@ -25,9 +25,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +46,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -70,9 +66,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -93,9 +87,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -112,9 +104,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -135,9 +125,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge2.ipynb b/2015/2015-challenge2.ipynb index 7438ce2..2413072 100644 --- a/2015/2015-challenge2.ipynb +++ b/2015/2015-challenge2.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c2a = open('2a.ciphertext').read()\n", "c2b = open('2b.ciphertext').read()" @@ -25,9 +25,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +46,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -70,9 +66,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -93,9 +87,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -112,9 +104,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -135,9 +125,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge3.ipynb b/2015/2015-challenge3.ipynb index 65deaa8..118f461 100644 --- a/2015/2015-challenge3.ipynb +++ b/2015/2015-challenge3.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.affine import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c3a = open('3a.ciphertext').read()\n", "c3b = open('3b.ciphertext').read()" @@ -25,9 +25,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +46,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -68,9 +64,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -91,9 +85,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -110,9 +102,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [] } @@ -133,9 +123,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge4.ipynb b/2015/2015-challenge4.ipynb index f2a1c9d..3d00e6e 100644 --- a/2015/2015-challenge4.ipynb +++ b/2015/2015-challenge4.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": false - }, + "execution_count": 14, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", "\n", "c4a = open('4a.ciphertext').read()\n", "c4b = open('4b.ciphertext').read()" @@ -25,9 +26,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +47,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -68,9 +65,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -117,9 +112,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -172,9 +165,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -192,9 +183,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -215,9 +204,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -234,9 +221,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -255,86 +240,30 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 16, + "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0 remniatsuvwxyzbcdfghjklopq -1262.9588058797406 hgfaoju, sgu fssfhgux qesu yft ouzs jq equ ez pc xufx xaemt ofts qjigs fqx fmmufat se ru zaep eva pctsuajevt tevahu. js heqsfjqt sye aufooc tjiqjzjhfqs mjuhut ez jqsuoojiuqhu. sgu zjats jt sgfs sgu ajuhgtxelsea pjigs qes auzua se fq jqxjwjxvfo fzsua foo. js tuupt se ru sgu hexuqfpu zea sgu eaifqjdfsjeq avqqjqi sgu afsojqut. fhheaxjqi se pc esgua tevahut sgjt jt f heoouhsjeq ez aevsut, fiuqst fqx tfzu gevtut vtux se safqtmeas qfdj tcpmfsgjtuat fqx yfa hajpjqfot evs ez iuapfqc fqx eq se tevsg fpuajhf. yu gfwu lqeyq sgfs tvhg fq eaifqjtfsjeq ubjtst tjqhu sgu uqx ez sgu yfa, rvs sgjt jt sgu zjats sjpu j gfwu tuuq js qfpux. sgu esgua mjuhu ez jqzeapfsjeq jt pvhg peau tvrsou. j fp ruijqqjqi se yeqxua jz eva tevahu jt hoetua se gepu sgfq yu gfx aufojtux. fqx j fp qes auzuaajqi se zafqhejt! tuu jz cev hfq tmes sgu sye sgjqit j qesjhux. rc sgu yfc, yge safqthajrux sgu afxje jqsuahums cev tuqs pu ofts yuul? gfaac\n", - "\n", - "1 remniatsuvwxyzbcdfghokljpq -1178.441293417976 hgfajou, sgu fssfhgux qesu yft juzs oq equ ez pc xufx xaemt jfts qoigs fqx fmmufat se ru zaep eva pctsuaoevt tevahu. os heqsfoqt sye aufjjc toiqozohfqs mouhut ez oqsujjoiuqhu. sgu zoats ot sgfs sgu aouhgtxelsea poigs qes auzua se fq oqxowoxvfj fzsua fjj. os tuupt se ru sgu hexuqfpu zea sgu eaifqodfsoeq avqqoqi sgu afsjoqut. fhheaxoqi se pc esgua tevahut sgot ot f hejjuhsoeq ez aevsut, fiuqst fqx tfzu gevtut vtux se safqtmeas qfdo tcpmfsgotuat fqx yfa haopoqfjt evs ez iuapfqc fqx eq se tevsg fpuaohf. yu gfwu lqeyq sgfs tvhg fq eaifqotfsoeq ubotst toqhu sgu uqx ez sgu yfa, rvs sgot ot sgu zoats sopu o gfwu tuuq os qfpux. sgu esgua mouhu ez oqzeapfsoeq ot pvhg peau tvrsju. o fp ruioqqoqi se yeqxua oz eva tevahu ot hjetua se gepu sgfq yu gfx aufjotux. fqx o fp qes auzuaaoqi se zafqheot! tuu oz cev hfq tmes sgu sye sgoqit o qesohux. rc sgu yfc, yge safqthaorux sgu afxoe oqsuahums cev tuqs pu jfts yuul? gfaac\n", - "\n", - "2 cemniatsuvwxyzbrdfghokljpq -1176.749704780956 hgfajou, sgu fssfhgux qesu yft juzs oq equ ez pr xufx xaemt jfts qoigs fqx fmmufat se cu zaep eva prtsuaoevt tevahu. os heqsfoqt sye aufjjr toiqozohfqs mouhut ez oqsujjoiuqhu. sgu zoats ot sgfs sgu aouhgtxelsea poigs qes auzua se fq oqxowoxvfj fzsua fjj. os tuupt se cu sgu hexuqfpu zea sgu eaifqodfsoeq avqqoqi sgu afsjoqut. fhheaxoqi se pr esgua tevahut sgot ot f hejjuhsoeq ez aevsut, fiuqst fqx tfzu gevtut vtux se safqtmeas qfdo trpmfsgotuat fqx yfa haopoqfjt evs ez iuapfqr fqx eq se tevsg fpuaohf. yu gfwu lqeyq sgfs tvhg fq eaifqotfsoeq ubotst toqhu sgu uqx ez sgu yfa, cvs sgot ot sgu zoats sopu o gfwu tuuq os qfpux. sgu esgua mouhu ez oqzeapfsoeq ot pvhg peau tvcsju. o fp cuioqqoqi se yeqxua oz eva tevahu ot hjetua se gepu sgfq yu gfx aufjotux. fqx o fp qes auzuaaoqi se zafqheot! tuu oz rev hfq tmes sgu sye sgoqit o qesohux. cr sgu yfr, yge safqthaocux sgu afxoe oqsuahums rev tuqs pu jfts yuul? gfaar\n", - "\n", - "3 vemniatsucwxyzbrdfghokljpq -1172.734320973362 hgfajou, sgu fssfhgux qesu yft juzs oq equ ez pr xufx xaemt jfts qoigs fqx fmmufat se vu zaep eca prtsuaoect tecahu. os heqsfoqt sye aufjjr toiqozohfqs mouhut ez oqsujjoiuqhu. sgu zoats ot sgfs sgu aouhgtxelsea poigs qes auzua se fq oqxowoxcfj fzsua fjj. os tuupt se vu sgu hexuqfpu zea sgu eaifqodfsoeq acqqoqi sgu afsjoqut. fhheaxoqi se pr esgua tecahut sgot ot f hejjuhsoeq ez aecsut, fiuqst fqx tfzu gectut ctux se safqtmeas qfdo trpmfsgotuat fqx yfa haopoqfjt ecs ez iuapfqr fqx eq se tecsg fpuaohf. yu gfwu lqeyq sgfs tchg fq eaifqotfsoeq ubotst toqhu sgu uqx ez sgu yfa, vcs sgot ot sgu zoats sopu o gfwu tuuq os qfpux. sgu esgua mouhu ez oqzeapfsoeq ot pchg peau tcvsju. o fp vuioqqoqi se yeqxua oz eca tecahu ot hjetua se gepu sgfq yu gfx aufjotux. fqx o fp qes auzuaaoqi se zafqheot! tuu oz rec hfq tmes sgu sye sgoqit o qesohux. vr sgu yfr, yge safqthaovux sgu afxoe oqsuahums rec tuqs pu jfts yuul? gfaar\n", - "\n", - "10 vfmniatsulxpyzcrdbgqokejwh -1138.6987012040154 qgbajou, sgu bssbqgup hfsu ybt juzs oh fhu fz wr pubp pafmt jbts hoigs bhp bmmubat sf vu zafw fla wrtsuaoflt tflaqu. os qfhsboht syf aubjjr toihozoqbhs mouqut fz ohsujjoiuhqu. sgu zoats ot sgbs sgu aouqgtpfesfa woigs hfs auzua sf bh ohpoxoplbj bzsua bjj. os tuuwt sf vu sgu qfpuhbwu zfa sgu faibhodbsofh alhhohi sgu absjohut. bqqfapohi sf wr fsgua tflaqut sgot ot b qfjjuqsofh fz aflsut, biuhst bhp tbzu gfltut ltup sf sabhtmfas hbdo trwmbsgotuat bhp yba qaowohbjt fls fz iuawbhr bhp fh sf tflsg bwuaoqb. yu gbxu ehfyh sgbs tlqg bh faibhotbsofh ucotst tohqu sgu uhp fz sgu yba, vls sgot ot sgu zoats sowu o gbxu tuuh os hbwup. sgu fsgua mouqu fz ohzfawbsofh ot wlqg wfau tlvsju. o bw vuiohhohi sf yfhpua oz fla tflaqu ot qjftua sf gfwu sgbh yu gbp aubjotup. bhp o bw hfs auzuaaohi sf zabhqfot! tuu oz rfl qbh tmfs sgu syf sgohit o hfsoqup. vr sgu ybr, ygf sabhtqaovup sgu abpof ohsuaqums rfl tuhs wu jbts yuue? gbaar\n", - "\n", - "20 vfyniadsgkxpwzmcqhutolejrb -1125.2537605606442 tuhajog, sug hsshtugp bfsg whd jgzs ob fbg fz rc pghp pafyd jhds boius hbp hyyghad sf vg zafr fka rcdsgaofkd dfkatg. os tfbshobd swf aghjjc doibozothbs yogtgd fz obsgjjoigbtg. sug zoads od suhs sug aogtudpfesfa roius bfs agzga sf hb obpoxopkhj hzsga hjj. os dggrd sf vg sug tfpgbhrg zfa sug faihboqhsofb akbbobi sug ahsjobgd. httfapobi sf rc fsuga dfkatgd suod od h tfjjgtsofb fz afksgd, higbsd hbp dhzg ufkdgd kdgp sf sahbdyfas bhqo dcryhsuodgad hbp wha taorobhjd fks fz igarhbc hbp fb sf dfksu hrgaoth. wg uhxg ebfwb suhs dktu hb faihbodhsofb gmodsd dobtg sug gbp fz sug wha, vks suod od sug zoads sorg o uhxg dggb os bhrgp. sug fsuga yogtg fz obzfarhsofb od rktu rfag dkvsjg. o hr vgiobbobi sf wfbpga oz fka dfkatg od tjfdga sf ufrg suhb wg uhp aghjodgp. hbp o hr bfs agzgaaobi sf zahbtfod! dgg oz cfk thb dyfs sug swf suobid o bfsotgp. vc sug whc, wuf sahbdtaovgp sug ahpof obsgatgys cfk dgbs rg jhds wgge? uhaac\n", - "\n", - "41 cfjowbdsexuikqmryngtalpzhv -1124.2920779257197 tgnbzae, sge nssntgei vfse knd zeqs av fve fq hr ieni ibfjd znds vawgs nvi njjenbd sf ce qbfh fxb hrdsebafxd dfxbte. as tfvsnavd skf benzzr dawvaqatnvs jaeted fq avsezzawevte. sge qabds ad sgns sge baetgdifpsfb hawgs vfs beqeb sf nv aviauaixnz nqseb nzz. as deehd sf ce sge tfievnhe qfb sge fbwnvaynsafv bxvvavw sge bnszaved. nttfbiavw sf hr fsgeb dfxbted sgad ad n tfzzetsafv fq bfxsed, nwevsd nvi dnqe gfxded xdei sf sbnvdjfbs vnya drhjnsgadebd nvi knb tbahavnzd fxs fq webhnvr nvi fv sf dfxsg nhebatn. ke gnue pvfkv sgns dxtg nv fbwnvadnsafv emadsd davte sge evi fq sge knb, cxs sgad ad sge qabds sahe a gnue deev as vnhei. sge fsgeb jaete fq avqfbhnsafv ad hxtg hfbe dxcsze. a nh cewavvavw sf kfvieb aq fxb dfxbte ad tzfdeb sf gfhe sgnv ke gni benzadei. nvi a nh vfs beqebbavw sf qbnvtfad! dee aq rfx tnv djfs sge skf sgavwd a vfsatei. cr sge knr, kgf sbnvdtbacei sge bniaf avsebtejs rfx devs he znds keep? gnbbr\n", - "\n", - "42 cfjzwbdsexuikqmryngtalpohv -1085.6036078813306 tgnboae, sge nssntgei vfse knd oeqs av fve fq hr ieni ibfjd onds vawgs nvi njjenbd sf ce qbfh fxb hrdsebafxd dfxbte. as tfvsnavd skf benoor dawvaqatnvs jaeted fq avseooawevte. sge qabds ad sgns sge baetgdifpsfb hawgs vfs beqeb sf nv aviauaixno nqseb noo. as deehd sf ce sge tfievnhe qfb sge fbwnvaynsafv bxvvavw sge bnsoaved. nttfbiavw sf hr fsgeb dfxbted sgad ad n tfooetsafv fq bfxsed, nwevsd nvi dnqe gfxded xdei sf sbnvdjfbs vnya drhjnsgadebd nvi knb tbahavnod fxs fq webhnvr nvi fv sf dfxsg nhebatn. ke gnue pvfkv sgns dxtg nv fbwnvadnsafv emadsd davte sge evi fq sge knb, cxs sgad ad sge qabds sahe a gnue deev as vnhei. sge fsgeb jaete fq avqfbhnsafv ad hxtg hfbe dxcsoe. a nh cewavvavw sf kfvieb aq fxb dfxbte ad tofdeb sf gfhe sgnv ke gni benoadei. nvi a nh vfs beqebbavw sf qbnvtfad! dee aq rfx tnv djfs sge skf sgavwd a vfsatei. cr sge knr, kgf sbnvdtbacei sge bniaf avsebtejs rfx devs he onds keep? gnbbr\n", - "\n", - "45 bvjzycdsexuikqmrwngtalpohf -1079.7756157738888 tgncoae, sge nssntgei fvse knd oeqs af vfe vq hr ieni icvjd onds faygs nfi njjencd sv be qcvh vxc hrdsecavxd dvxcte. as tvfsnafd skv cenoor dayfaqatnfs jaeted vq afseooayefte. sge qacds ad sgns sge caetgdivpsvc haygs fvs ceqec sv nf afiauaixno nqsec noo. as deehd sv be sge tviefnhe qvc sge vcynfawnsavf cxffafy sge cnsoafed. nttvciafy sv hr vsgec dvxcted sgad ad n tvooetsavf vq cvxsed, nyefsd nfi dnqe gvxded xdei sv scnfdjvcs fnwa drhjnsgadecd nfi knc tcahafnod vxs vq yechnfr nfi vf sv dvxsg nhecatn. ke gnue pfvkf sgns dxtg nf vcynfadnsavf emadsd dafte sge efi vq sge knc, bxs sgad ad sge qacds sahe a gnue deef as fnhei. sge vsgec jaete vq afqvchnsavf ad hxtg hvce dxbsoe. a nh beyaffafy sv kvfiec aq vxc dvxcte ad tovdec sv gvhe sgnf ke gni cenoadei. nfi a nh fvs ceqeccafy sv qcnftvad! dee aq rvx tnf djvs sge skv sgafyd a fvsatei. br sge knr, kgv scnfdtcabei sge cniav afsectejs rvx defs he onds keep? gnccr\n", - "\n", - "47 bvjzycdtexpikqmrwngsaluohf -1072.6883675689066 sgncoae, tge nttnsgei fvte knd oeqt af vfe vq hr ieni icvjd ondt faygt nfi njjencd tv be qcvh vxc hrdtecavxd dvxcse. at svftnafd tkv cenoor dayfaqasnft jaesed vq afteooayefse. tge qacdt ad tgnt tge caesgdivutvc haygt fvt ceqec tv nf afiapaixno nqtec noo. at deehd tv be tge sviefnhe qvc tge vcynfawntavf cxffafy tge cntoafed. nssvciafy tv hr vtgec dvxcsed tgad ad n svooestavf vq cvxted, nyeftd nfi dnqe gvxded xdei tv tcnfdjvct fnwa drhjntgadecd nfi knc scahafnod vxt vq yechnfr nfi vf tv dvxtg nhecasn. ke gnpe ufvkf tgnt dxsg nf vcynfadntavf emadtd dafse tge efi vq tge knc, bxt tgad ad tge qacdt tahe a gnpe deef at fnhei. tge vtgec jaese vq afqvchntavf ad hxsg hvce dxbtoe. a nh beyaffafy tv kvfiec aq vxc dvxcse ad sovdec tv gvhe tgnf ke gni cenoadei. nfi a nh fvt ceqeccafy tv qcnfsvad! dee aq rvx snf djvt tge tkv tgafyd a fvtasei. br tge knr, kgv tcnfdscabei tge cniav aftecsejt rvx deft he ondt keeu? gnccr\n", - "\n", - "50 brjzkcdtespiyqmvwngxaluohf -1048.0345619644993 xgncoae, tge nttnxgei frte ynd oeqt af rfe rq hv ieni icrjd ondt fakgt nfi njjencd tr be qcrh rsc hvdtecarsd drscxe. at xrftnafd tyr cenoov dakfaqaxnft jaexed rq afteooakefxe. tge qacdt ad tgnt tge caexgdirutrc hakgt frt ceqec tr nf afiapaisno nqtec noo. at deehd tr be tge xriefnhe qrc tge rcknfawntarf csffafk tge cntoafed. nxxrciafk tr hv rtgec drscxed tgad ad n xrooextarf rq crsted, nkeftd nfi dnqe grsded sdei tr tcnfdjrct fnwa dvhjntgadecd nfi ync xcahafnod rst rq kechnfv nfi rf tr drstg nhecaxn. ye gnpe ufryf tgnt dsxg nf rcknfadntarf emadtd dafxe tge efi rq tge ync, bst tgad ad tge qacdt tahe a gnpe deef at fnhei. tge rtgec jaexe rq afqrchntarf ad hsxg hrce dsbtoe. a nh bekaffafk tr yrfiec aq rsc drscxe ad xordec tr grhe tgnf ye gni cenoadei. nfi a nh frt ceqeccafk tr qcnfxrad! dee aq vrs xnf djrt tge tyr tgafkd a frtaxei. bv tge ynv, ygr tcnfdxcabei tge cniar aftecxejt vrs deft he ondt yeeu? gnccv\n", - "\n", - "52 vrjzkcdtespiyqmbwngxaluohf -1047.4217167696756 xgncoae, tge nttnxgei frte ynd oeqt af rfe rq hb ieni icrjd ondt fakgt nfi njjencd tr ve qcrh rsc hbdtecarsd drscxe. at xrftnafd tyr cenoob dakfaqaxnft jaexed rq afteooakefxe. tge qacdt ad tgnt tge caexgdirutrc hakgt frt ceqec tr nf afiapaisno nqtec noo. at deehd tr ve tge xriefnhe qrc tge rcknfawntarf csffafk tge cntoafed. nxxrciafk tr hb rtgec drscxed tgad ad n xrooextarf rq crsted, nkeftd nfi dnqe grsded sdei tr tcnfdjrct fnwa dbhjntgadecd nfi ync xcahafnod rst rq kechnfb nfi rf tr drstg nhecaxn. ye gnpe ufryf tgnt dsxg nf rcknfadntarf emadtd dafxe tge efi rq tge ync, vst tgad ad tge qacdt tahe a gnpe deef at fnhei. tge rtgec jaexe rq afqrchntarf ad hsxg hrce dsvtoe. a nh vekaffafk tr yrfiec aq rsc drscxe ad xordec tr grhe tgnf ye gni cenoadei. nfi a nh frt ceqeccafk tr qcnfxrad! dee aq brs xnf djrt tge tyr tgafkd a frtaxei. vb tge ynb, ygr tcnfdxcavei tge cniar aftecxejt brs deft he ondt yeeu? gnccb\n", - "\n", - "53 vrjzkcdtespiyqwbmngxaluohf -1047.3736493946644 xgncoae, tge nttnxgei frte ynd oeqt af rfe rq hb ieni icrjd ondt fakgt nfi njjencd tr ve qcrh rsc hbdtecarsd drscxe. at xrftnafd tyr cenoob dakfaqaxnft jaexed rq afteooakefxe. tge qacdt ad tgnt tge caexgdirutrc hakgt frt ceqec tr nf afiapaisno nqtec noo. at deehd tr ve tge xriefnhe qrc tge rcknfamntarf csffafk tge cntoafed. nxxrciafk tr hb rtgec drscxed tgad ad n xrooextarf rq crsted, nkeftd nfi dnqe grsded sdei tr tcnfdjrct fnma dbhjntgadecd nfi ync xcahafnod rst rq kechnfb nfi rf tr drstg nhecaxn. ye gnpe ufryf tgnt dsxg nf rcknfadntarf ewadtd dafxe tge efi rq tge ync, vst tgad ad tge qacdt tahe a gnpe deef at fnhei. tge rtgec jaexe rq afqrchntarf ad hsxg hrce dsvtoe. a nh vekaffafk tr yrfiec aq rsc drscxe ad xordec tr grhe tgnf ye gni cenoadei. nfi a nh frt ceqeccafk tr qcnfxrad! dee aq brs xnf djrt tge tyr tgafkd a frtaxei. vb tge ynb, ygr tcnfdxcavei tge cniar aftecxejt brs deft he ondt yeeu? gnccb\n", - "\n", - "56 zrjvkcdtespihqwbmngualxoyf -1026.091865606169 ugncoae, tge nttnugei frte hnd oeqt af rfe rq yb ieni icrjd ondt fakgt nfi njjencd tr ze qcry rsc ybdtecarsd drscue. at urftnafd thr cenoob dakfaqaunft jaeued rq afteooakefue. tge qacdt ad tgnt tge caeugdirxtrc yakgt frt ceqec tr nf afiapaisno nqtec noo. at deeyd tr ze tge uriefnye qrc tge rcknfamntarf csffafk tge cntoafed. nuurciafk tr yb rtgec drscued tgad ad n urooeutarf rq crsted, nkeftd nfi dnqe grsded sdei tr tcnfdjrct fnma dbyjntgadecd nfi hnc ucayafnod rst rq kecynfb nfi rf tr drstg nyecaun. he gnpe xfrhf tgnt dsug nf rcknfadntarf ewadtd dafue tge efi rq tge hnc, zst tgad ad tge qacdt taye a gnpe deef at fnyei. tge rtgec jaeue rq afqrcyntarf ad ysug yrce dsztoe. a ny zekaffafk tr hrfiec aq rsc drscue ad uordec tr grye tgnf he gni cenoadei. nfi a ny frt ceqeccafk tr qcnfurad! dee aq brs unf djrt tge thr tgafkd a frtauei. zb tge hnb, hgr tcnfducazei tge cniar aftecuejt brs deft ye ondt heex? gnccb\n", - "\n", - "59 zrjvkcatedpihqwbxnguslmoyf -1019.2155510698342 ugncose, tge nttnugei frte hna oeqt sf rfe rq yb ieni icrja onat fskgt nfi njjenca tr ze qcry rdc ybatecsrda ardcue. st urftnsfa thr cenoob askfsqsunft jseuea rq sfteooskefue. tge qscat sa tgnt tge cseugairmtrc yskgt frt ceqec tr nf sfispsidno nqtec noo. st aeeya tr ze tge uriefnye qrc tge rcknfsxntsrf cdffsfk tge cntosfea. nuurcisfk tr yb rtgec ardcuea tgsa sa n urooeutsrf rq crdtea, nkefta nfi anqe grdaea daei tr tcnfajrct fnxs abyjntgsaeca nfi hnc ucsysfnoa rdt rq kecynfb nfi rf tr ardtg nyecsun. he gnpe mfrhf tgnt adug nf rcknfsantsrf ewsata asfue tge efi rq tge hnc, zdt tgsa sa tge qscat tsye s gnpe aeef st fnyei. tge rtgec jseue rq sfqrcyntsrf sa ydug yrce adztoe. s ny zeksffsfk tr hrfiec sq rdc ardcue sa uoraec tr grye tgnf he gni cenosaei. nfi s ny frt ceqeccsfk tr qcnfursa! aee sq brd unf ajrt tge thr tgsfka s frtsuei. zb tge hnb, hgr tcnfaucszei tge cnisr sftecuejt brd aeft ye onat heem? gnccb\n", - "\n", - "63 zelvkcatrdpmhjwbxngusqioyf -1017.7604294276406 ugncosr, tgr nttnugrm fetr hna orjt sf efr ej yb mrnm mcela onat fskgt nfm nllrnca te zr jcey edc ybatrcseda aedcur. st ueftnsfa the crnoob askfsjsunft lsrura ej sftrooskrfur. tgr jscat sa tgnt tgr csrugameitec yskgt fet crjrc te nf sfmspsmdno njtrc noo. st arrya te zr tgr uemrfnyr jec tgr ecknfsxntsef cdffsfk tgr cntosfra. nuuecmsfk te yb etgrc aedcura tgsa sa n ueoorutsef ej cedtra, nkrfta nfm anjr gedara darm te tcnfalect fnxs abylntgsarca nfm hnc ucsysfnoa edt ej krcynfb nfm ef te aedtg nyrcsun. hr gnpr ifehf tgnt adug nf ecknfsantsef rwsata asfur tgr rfm ej tgr hnc, zdt tgsa sa tgr jscat tsyr s gnpr arrf st fnyrm. tgr etgrc lsrur ej sfjecyntsef sa ydug yecr adztor. s ny zrksffsfk te hefmrc sj edc aedcur sa uoearc te geyr tgnf hr gnm crnosarm. nfm s ny fet crjrccsfk te jcnfuesa! arr sj bed unf alet tgr the tgsfka s fetsurm. zb tgr hnb, hge tcnfaucszrm tgr cnmse sftrcurlt bed arft yr onat hrri? gnccb\n", - "\n", - "401 ytmpcnrhakvslzdfqigeoxwbju -1014.7565957992581 eginboa, hga ihhiegas utha lir bazh ou tua tz jf sais sntmr birh uocgh ius immainr ht ya zntj tkn jfrhanotkr rtknea. oh etuhiour hlt naibbf rocuozoeiuh moaear tz ouhabbocauea. hga zonrh or hgih hga noaegrstwhtn jocgh uth nazan ht iu ousovoskib izhan ibb. oh raajr ht ya hga etsauija ztn hga tnciuoqihotu nkuuouc hga nihbouar. ieetnsouc ht jf thgan rtknear hgor or i etbbaehotu tz ntkhar, icauhr ius riza gtkrar kras ht hniurmtnh uiqo rfjmihgoranr ius lin enojouibr tkh tz canjiuf ius tu ht rtkhg ijanoei. la giva wutlu hgih rkeg iu tnciuorihotu adorhr rouea hga aus tz hga lin, ykh hgor or hga zonrh hoja o giva raau oh uijas. hga thgan moaea tz ouztnjihotu or jkeg jtna rkyhba. o ij yacouuouc ht ltusan oz tkn rtknea or ebtran ht gtja hgiu la gis naiboras. ius o ij uth nazannouc ht zniuetor! raa oz ftk eiu rmth hga hlt hgoucr o uthoeas. yf hga lif, lgt hniurenoyas hga nisot ouhaneamh ftk rauh ja birh laaw? ginnf\n", - "\n", - "11879 jtlqogfshdxnbrcwzeamupkvyi -991.2276834904978 maegvuh, sah essemahn itsh bef vhrs ui tih tr yw nhen ngtlf vefs iuoas ein ellhegf st jh rgty tdg ywfshgutdf ftdgmh. us mtiseuif sbt ghevvw fuoiurumeis luhmhf tr uishvvuohimh. sah rugfs uf saes sah guhmafntkstg yuoas its ghrhg st ei uinuxundev ershg evv. us fhhyf st jh sah mtnhieyh rtg sah tgoeiuzesuti gdiiuio sah gesvuihf. emmtgnuio st yw tsahg ftdgmhf sauf uf e mtvvhmsuti tr gtdshf, eohisf ein ferh atdfhf dfhn st sgeifltgs iezu fwylesaufhgf ein beg mguyuievf tds tr ohgyeiw ein ti st ftdsa eyhgume. bh aexh kitbi saes fdma ei tgoeiufesuti hcufsf fuimh sah hin tr sah beg, jds sauf uf sah rugfs suyh u aexh fhhi us ieyhn. sah tsahg luhmh tr uirtgyesuti uf ydma ytgh fdjsvh. u ey jhouiiuio st btinhg ur tdg ftdgmh uf mvtfhg st atyh saei bh aen ghevufhn. ein u ey its ghrhgguio st rgeimtuf! fhh ur wtd mei flts sah sbt sauiof u itsumhn. jw sah bew, bat sgeifmgujhn sah genut uishgmhls wtd fhis yh vefs bhhk? aeggw\n", - "\n", - "11882 jtlqigfshdknbrcmzeawupxvyo -988.5494150402712 waegvuh, sah essewahn otsh bef vhrs uo toh tr ym nhen ngtlf vefs ouias eon ellhegf st jh rgty tdg ymfshgutdf ftdgwh. us wtoseuof sbt ghevvm fuiouruweos luhwhf tr uoshvvuihowh. sah rugfs uf saes sah guhwafntxstg yuias ots ghrhg st eo uonukundev ershg evv. us fhhyf st jh sah wtnhoeyh rtg sah tgieouzesuto gdoouoi sah gesvuohf. ewwtgnuoi st ym tsahg ftdgwhf sauf uf e wtvvhwsuto tr gtdshf, eihosf eon ferh atdfhf dfhn st sgeofltgs oezu fmylesaufhgf eon beg wguyuoevf tds tr ihgyeom eon to st ftdsa eyhguwe. bh aekh xotbo saes fdwa eo tgieoufesuto hcufsf fuowh sah hon tr sah beg, jds sauf uf sah rugfs suyh u aekh fhho us oeyhn. sah tsahg luhwh tr uortgyesuto uf ydwa ytgh fdjsvh. u ey jhiuoouoi st btonhg ur tdg ftdgwh uf wvtfhg st atyh saeo bh aen ghevufhn. eon u ey ots ghrhgguoi st rgeowtuf! fhh ur mtd weo flts sah sbt sauoif u otsuwhn. jm sah bem, bat sgeofwgujhn sah genut uoshgwhls mtd fhos yh vefs bhhx? aeggm\n", - "\n", - "38275 ylupsroeakjbiwgxzdmchqftvn -978.2449056535245 cmdrtha, ema deedcmab nlea ido tawe hn lna lw vx badb brluo tdoe nhsme dnb duuadro el ya wrlv lkr vxoearhlko olkrca. he clnedhno eil radttx ohsnhwhcdne uhacao lw hneatthsanca. ema whroe ho emde ema rhacmoblfelr vhsme nle rawar el dn hnbhjhbkdt dwear dtt. he oaavo el ya ema clbandva wlr ema lrsdnhzdehln rknnhns ema rdethnao. dcclrbhns el vx lemar olkrcao emho ho d clttacehln lw rlkeao, dsaneo dnb odwa mlkoao koab el erdnoulre ndzh oxvudemhoaro dnb idr crhvhndto lke lw sarvdnx dnb ln el olkem dvarhcd. ia mdja fnlin emde okcm dn lrsdnhodehln aghoeo ohnca ema anb lw ema idr, yke emho ho ema whroe ehva h mdja oaan he ndvab. ema lemar uhaca lw hnwlrvdehln ho vkcm vlra okyeta. h dv yashnnhns el ilnbar hw lkr olkrca ho ctloar el mlva emdn ia mdb radthoab. dnb h dv nle rawarrhns el wrdnclho! oaa hw xlk cdn oule ema eil emhnso h nlehcab. yx ema idx, iml erdnocrhyab ema rdbhl hnearcaue xlk oane va tdoe iaaf? mdrrx\n", - "\n", - "38276 yluvsroeakjbiwgxzdmchqftpn -974.4830434072574 cmdrtha, ema deedcmab nlea ido tawe hn lna lw px badb brluo tdoe nhsme dnb duuadro el ya wrlp lkr pxoearhlko olkrca. he clnedhno eil radttx ohsnhwhcdne uhacao lw hneatthsanca. ema whroe ho emde ema rhacmoblfelr phsme nle rawar el dn hnbhjhbkdt dwear dtt. he oaapo el ya ema clbandpa wlr ema lrsdnhzdehln rknnhns ema rdethnao. dcclrbhns el px lemar olkrcao emho ho d clttacehln lw rlkeao, dsaneo dnb odwa mlkoao koab el erdnoulre ndzh oxpudemhoaro dnb idr crhphndto lke lw sarpdnx dnb ln el olkem dparhcd. ia mdja fnlin emde okcm dn lrsdnhodehln aghoeo ohnca ema anb lw ema idr, yke emho ho ema whroe ehpa h mdja oaan he ndpab. ema lemar uhaca lw hnwlrpdehln ho pkcm plra okyeta. h dp yashnnhns el ilnbar hw lkr olkrca ho ctloar el mlpa emdn ia mdb radthoab. dnb h dp nle rawarrhns el wrdnclho! oaa hw xlk cdn oule ema eil emhnso h nlehcab. yx ema idx, iml erdnocrhyab ema rdbhl hnearcaue xlk oane pa tdoe iaaf? mdrrx\n", - "\n", - "78883 beuzxnalopgyivqkwtrchjfmds -957.1987270553409 crtnmho, lro tlltcroy selo ita movl hs eso ev dk yoty yneua mtal shxrl tsy tuuotna le bo vned epn dkalonhepa aepnco. hl ceslthsa lie notmmk ahxshvhctsl uhocoa ev hslommhxosco. lro vhnal ha lrtl lro nhocrayeflen dhxrl sel novon le ts hsyhghyptm tvlon tmm. hl aooda le bo lro ceyostdo ven lro enxtshwtlhes npsshsx lro ntlmhsoa. tccenyhsx le dk elron aepncoa lrha ha t cemmoclhes ev neploa, txosla tsy atvo repaoa paoy le lntsauenl stwh akdutlrhaona tsy itn cnhdhstma epl ev xondtsk tsy es le aeplr tdonhct. io rtgo fseis lrtl apcr ts enxtshatlhes oqhala ahsco lro osy ev lro itn, bpl lrha ha lro vhnal lhdo h rtgo aoos hl stdoy. lro elron uhoco ev hsvendtlhes ha dpcr deno apblmo. h td boxhsshsx le iesyon hv epn aepnco ha cmeaon le redo lrts io rty notmhaoy. tsy h td sel novonnhsx le vntsceha! aoo hv kep cts auel lro lie lrhsxa h selhcoy. bk lro itk, ire lntsacnhboy lro ntyhe hsloncoul kep aosl do mtal ioof? rtnnk\n", - "\n", - "465709 dojzgtrasuqvmlypbeifhxkwcn -941.3015373634643 fietwhs, ais eaaefisv noas mer wsla hn ons ol cp vsev vtojr wera nhgia env ejjsetr ao ds ltoc out cprasthour routfs. ha fonaehnr amo tsewwp rhgnhlhfena jhsfsr ol hnaswwhgsnfs. ais lhtra hr aiea ais thsfirvokaot chgia noa tslst ao en hnvhqhvuew elast eww. ha rsscr ao ds ais fovsnecs lot ais otgenhbeahon tunnhng ais teawhnsr. effotvhng ao cp oaist routfsr aihr hr e fowwsfahon ol touasr, egsnar env rels ioursr ursv ao atenrjota nebh rpcjeaihrstr env met fthchnewr oua ol gstcenp env on ao rouai ecsthfe. ms ieqs knomn aiea rufi en otgenhreahon syhrar rhnfs ais snv ol ais met, dua aihr hr ais lhtra ahcs h ieqs rssn ha necsv. ais oaist jhsfs ol hnlotceahon hr cufi cots rudaws. h ec dsghnnhng ao monvst hl out routfs hr fworst ao iocs aien ms iev tsewhrsv. env h ec noa tslstthng ao ltenfohr! rss hl pou fen rjoa ais amo aihngr h noahfsv. dp ais mep, mio atenrfthdsv ais tevho hnastfsja pou rsna cs wera mssk? iettp\n", - "\n", - "1750157 qhyxutaieljkvwzdmsofrpbgcn -941.2815644870221 fostgre, ioe siisfoek nhie vsa gewi rn hne hw cd kesk kthya gsai nruoi snk syyesta ih qe wthc hlt cdaietrhla ahltfe. ri fhnisrna ivh tesggd arunrwrfsni yrefea hw rnieggruenfe. ioe wrtai ra iosi ioe trefoakhbiht cruoi nhi tewet ih sn rnkrjrklsg swiet sgg. ri aeeca ih qe ioe fhkensce wht ioe htusnrmsirhn tlnnrnu ioe tsigrnea. sffhtkrnu ih cd hioet ahltfea iora ra s fhggefirhn hw thliea, suenia snk aswe ohlaea laek ih itsnayhti nsmr adcysioraeta snk vst ftrcrnsga hli hw uetcsnd snk hn ih ahlio scetrfs. ve osje bnhvn iosi alfo sn htusnrasirhn ezraia arnfe ioe enk hw ioe vst, qli iora ra ioe wrtai irce r osje aeen ri nscek. ioe hioet yrefe hw rnwhtcsirhn ra clfo chte alqige. r sc qeurnnrnu ih vhnket rw hlt ahltfe ra fghaet ih ohce iosn ve osk tesgraek. snk r sc nhi tewettrnu ih wtsnfhra! aee rw dhl fsn ayhi ioe ivh iornua r nhirfek. qd ioe vsd, voh itsnaftrqek ioe tskrh rnietfeyi dhl aeni ce gsai veeb? osttd\n", - "\n" - ] - }, { "data": { "text/plain": [ - "('qhyxutaieljkvwzdmsofrpbgcn', -941.2815644870221)" + "('firzuyhgjkmopqatlnesvwxbcd', -2435.9305949573036)" ] }, - "execution_count": 11, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "monoalphabetic_break_hillclimbing(c4a, alphabet=keyword_cipher_alphabet_of(key_a_word, wrap_alphabet=key_a_wrap))" + "monoalphabetic_break_hillclimbing(c4a, \n", + " plain_alphabet=keyword_cipher_alphabet_of(key_a_word, wrap_alphabet=key_a_wrap),\n", + " fitness=Ptrigrams)" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -355,9 +284,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge5.ipynb b/2015/2015-challenge5.ipynb index 7b963ff..299bedb 100644 --- a/2015/2015-challenge5.ipynb +++ b/2015/2015-challenge5.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.vigenere import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c5a = open('5a.ciphertext').read()\n", "c5b = open('5b.ciphertext').read()" @@ -25,9 +26,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +47,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -76,9 +73,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -98,10 +93,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -118,9 +111,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -141,9 +132,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge6.ipynb b/2015/2015-challenge6.ipynb index e01a50c..33b5b7b 100644 --- a/2015/2015-challenge6.ipynb +++ b/2015/2015-challenge6.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.vigenere import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c6a = sanitise(open('6a.ciphertext').read())\n", "c6b = sanitise(open('6b.ciphertext').read())" @@ -25,9 +26,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +47,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -67,9 +64,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -89,9 +84,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -116,9 +109,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -138,9 +129,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -161,9 +150,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -183,9 +170,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -202,9 +187,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -225,9 +208,7 @@ { "cell_type": "code", "execution_count": 11, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -241,12 +222,50 @@ "print(' '.join(segment(sanitise(vigenere_decipher(sanitise(c6b), key_b)))))" ] }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('railfencstuvwxyzbdghjkmopq', -5965.858211099189)" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "simulated_annealing_break(c6a, fitness=Ptrigrams)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'charlieitwasthetypoinratilinesthatgaveitawayitappearedbothinthetypedmessageswepickedupandinthetranscriptoftheradiomessageprettyunlikelycoincidencesoifigureyourjuniorcipherclerkwasinvolvedmightbeworthcheckingherbackgroundandbankaccountsthatisallimeantwhenisaidthesourcewasclosetohomebutthinkingaboutitiamnotsureitmakessensetothinkshewasthesourcethemessagesstillkeepcomingandiamguessingthatshehasgonesotheremustbesomeothersourceforourintelligencesomethingisbotheringmeaboutthetoneofthemessageswhydoesourantagonistkeeptauntingusaboutouralliesitisnotlikethethingswearebeingaskedtobidforarethingswearelikelytohidefromoneanotherafterallanywayifollowedoneofourfrenchcolleaguestofriedrichstrasseandwatchedhertrytopickupthekeyfromlockerseemstohavebeenaconicouldntclearlyseewhatwasgoingonbutshedidntseemtobeabletoopenlockerandleftobviouslyupsetaftershehadgoneitookalookatlockerithasafalsebacksoiamguessingthemoneywastakenbutnothingprovidedinexchangecouldyoudigaroundwithyourcontactsinthebritishandrussianembassiesandseeiftheyaregettingthesamesortofcommunicationsmaybeyoucouldwarnthembythewaydiealchemistenprojectwasthecodenameforthenaziatombombeffortihadaruninwiththemduringthewarwhenweweretryingtokeeptheirhandsofftheheavywatersupplyrememberthebombinginvemorkthatwasusorratherournordicalliesanywayitisstilltopsecretsothefactourprotagonistknowsaboutitissignificantisuspectthekeytothiswholemysteryliesintheiridentityifweknewwhotheywereworkingforwemightbeabletofigureoutwhattheyareuptoonelastthingactingonahunchitookalookatsomeofthefrenchdeaddropsafterthefriedrichstrasseincidentandfoundtheattachedcommunicationihaventhadtimetocrackitbutithinkitmaybeavigenereagainbutihaventhadachancetotrybabbagestrickonityetgiveittoyourblackchamberandseewhattheycanmakeofitallthebestharry'" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "keyword_decipher(c6a, 'railfencstuvwxyzbdghjkmopq')" + ] + }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -267,9 +286,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge7.ipynb b/2015/2015-challenge7.ipynb index 4fb1a18..dcfa205 100644 --- a/2015/2015-challenge7.ipynb +++ b/2015/2015-challenge7.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, + "execution_count": 12, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,12 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.column_transposition import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.amsco import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", "\n", "c7a = sanitise(open('7a.ciphertext').read())\n", "c7b = sanitise(open('7b.ciphertext').read())" @@ -24,10 +27,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [ { "data": { @@ -35,7 +36,7 @@ "(('annmarie', ), -1865.8708508162845)" ] }, - "execution_count": 8, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -47,10 +48,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -66,9 +65,8 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 4, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -103,7 +101,7 @@ " 'Z': 'n'}" ] }, - "execution_count": 10, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -115,10 +113,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -126,7 +122,7 @@ "'charlie i think i know what is going on but i need to check a few things before i report we may have an opportunity here i checked the cipher clerks background and it turns out she is white russian her family left moscow in but she has relatives in the gulag at perm she clearly has no love for the soviet government so i am still not sure who she was working for but i think this is key intelligence in the meantime i have been watching the brits they seem to have been in contact with our friends in the reichs doktor and they in turn have been watching the french it seems like we are all working against one another which i really didnt expect and given what we read in the french document last week i dont think that is a coincidence my own guess is that the russians know what is going on and that our best hope of uncovering it is to break into their hq and try to find something there unfortunately according to my source yuri they have taken to using a new cipher solitaire for archive storage of top secret files so even if we manage to steal the relevant file it will take alot of computing to break the cipher i attach a brief message from yuri encrypted using an amsco cipher keyword length is six in which he describes the cipher it is very clever simple to implement but a devil to crack and my one hope is that we can also find the cipher key while in the hq or atleast part of it i plan to enter in two weeks on december sixteenth the russians are hosting a large propaganda event as part of the international ebau ausstellung with leading politburo members in attendance most of the security team will be occupied with that and hq security will be relatively light with luck i will get in and out with the files we need that night and then we can get to the bottom of the whole reichs doktor stratagem all the best harry'" ] }, - "execution_count": 3, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -166,10 +162,8 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -177,7 +171,7 @@ "'oapqbrsteuvdwfxyzcghijklmn'" ] }, - "execution_count": 12, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -188,10 +182,8 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -199,7 +191,7 @@ "'BERLINSTUVWXYZACDFGHJKMOPQ'" ] }, - "execution_count": 13, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -211,10 +203,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { @@ -222,7 +212,7 @@ "'berlinstuvwxyzacdfghjkmopq'" ] }, - "execution_count": 4, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -233,10 +223,64 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('berlinstudwxyzacvfghjkmopq', -5028.125895049484)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "k7a, fit7a = simulated_annealing_break(c7a, fitness=Ptrigrams)\n", + "k7a, fit7a" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "charlie i think i know what is going on but i need to check a few things before i report we may have\n", + "an opportunity here i checked the cipher clerks background and it turns out she is white russian her\n", + "family left moscow in but she has relatives in the gulag at perm she clearly has no love for the\n", + "soviet government so i am still not sure who she was working for but i think this is key\n", + "intelligence in the meantime i have been watching the brits they seem to have been in contact with\n", + "our friends in the reichs doktor and they in turn have been watching the french it seems like we are\n", + "all working against one another which i really didnt expect and given what we read in the french\n", + "document last week i dont think that is a coincidence my own guess is that the russians know what is\n", + "going on and that our best hope of uncovering it is to break into their hj and try to find something\n", + "there unfortunately according to my source yuri they have taken to using a new cipher solitaire for\n", + "archive storage of top secret files so even if we manage to steal the relevant file it will take\n", + "alot of computing to break the cipher i attach a brief message from yuri encrypted using an amsco\n", + "cipher keyword length is six in which he describes the cipher it is very clever simple to implement\n", + "but a devil to crack and my one hope is that we can also find the cipher key while in the hj or\n", + "atleast part of it i plan to enter in two weeks on december sixteenth the russians are hosting a\n", + "large propaganda event as part of the international ebau ausstellung with leading politburo members\n", + "in attendance most of the security team will be occupied with that and hj security will be\n", + "relatively light with luck i will get in and out with the files we need that night and then we can\n", + "get to the bottom of the whole reichs doktor stratagem all the best harry\n" + ] + } + ], + "source": [ + "print(lcat(tpack(segment(keyword_decipher(c7a, k7a)))))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -252,10 +296,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { "data": { @@ -982,7 +1024,7 @@ " (5, 4, 3, 2, 1, 0): (5, 4, 3, 2, 1, 0)}" ] }, - "execution_count": 6, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -994,10 +1036,8 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 13, + "metadata": {}, "outputs": [ { "data": { @@ -1006,7 +1046,7 @@ " -1437.9908206760847)" ] }, - "execution_count": 7, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1018,10 +1058,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 14, + "metadata": {}, "outputs": [ { "data": { @@ -1436,7 +1474,7 @@ " AmscoSlice(index=407, start=611, end=612)]]" ] }, - "execution_count": 8, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -1449,9 +1487,8 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 15, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -1513,7 +1550,7 @@ " 'statisticians']" ] }, - "execution_count": 9, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1524,10 +1561,8 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 16, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1549,9 +1584,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -1572,9 +1605,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2015/2015-challenge8.ipynb b/2015/2015-challenge8.ipynb index 8f6195b..9ab6fdc 100644 --- a/2015/2015-challenge8.ipynb +++ b/2015/2015-challenge8.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.vigenere import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c8a = sanitise(open('8a.ciphertext').read())\n", "c8b = sanitise(open('8b.ciphertext').read())" @@ -25,9 +25,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -47,21 +45,39 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "harry i am so sorry we went into the russian hq last night without you but the station chief wanted it to be his team that got the glory i am really grateful to you for coming back and putting us on the right track though the stolen file from soviet headquarters was as you expected encrypted with the solitaire cipher fortunately the cipher clerk who managed the encryption was incredibly careless i found a sheet of burnt paper in the bin which gave me a list of thirty eight cards and i am hoping that this is a large part of the key it will still be hard to break but maybe not impossible especially as the erased part was still intact there maybe another clue in that the page appears to have been torn from an economics textbook i found on the desk anyway i figure the chemists at langley may help us to reconstruct the whole key given time though i wouldnt expect them to manage more than one card a day given how careful they will have to be not to destroy the document it will take usa while to crack this but maybe time is on our side with christmas things seem to be quiet and i am hoping that within the next three weeks we may know precisely what the soviets were trying to do here whatever the outcome i think it is clear that the future of europe is not likely to be settled for a while i hear rumours everyday about shortages in the soviet bloc and border controls are going up in places you wouldnt expect to prevent largescale migration there are problems in greece and turkey and divisions between the british and french and the brits are having real trouble paying off their war debts whether or not we crack the reichs doktor mystery i think there is going to be plenty for you to do i know we had to work hard to persuade you to flyover but we really do need you here even the chief recognizes that so if i can i want to persuade you to stay francois and i are being posted to paris kind of a thankyou for our work on this project but icant go unless i know the berlin station has someone i trust hope youll agree to take the job charlie\n" + "harry i am so sorry we went into the russian hq last night without you but the station chief wanted\n", + "it to be his team that got the glory i am really grateful to you for coming back and putting us on\n", + "the right track though the stolen file from soviet headquarters was as you expected encrypted with\n", + "the solitaire cipher fortunately the cipher clerk who managed the encryption was incredibly careless\n", + "i found a sheet of burnt paper in the bin which gave me a list of thirty eight cards and i am hoping\n", + "that this is a large part of the key it will still be hard to break but maybe not impossible\n", + "especially as the erased part was still intact there maybe another clue in that the page appears to\n", + "have been torn from an economics textbook i found on the desk anyway i figure the chemists at\n", + "langley may help us to reconstruct the whole key given time though i wouldnt expect them to manage\n", + "more than one card a day given how careful they will have to be not to destroy the document it will\n", + "take usa while to crack this but maybe time is on our side with christmas things seem to be quiet\n", + "and i am hoping that within the next three weeks we may know precisely what the soviets were trying\n", + "to do here whatever the outcome i think it is clear that the future of europe is not likely to be\n", + "settled for a while i hear rumours everyday about shortages in the soviet bloc and border controls\n", + "are going up in places you wouldnt expect to prevent largescale migration there are problems in\n", + "greece and turkey and divisions between the british and french and the brits are having real trouble\n", + "paying off their war debts whether or not we crack the reichs doktor mystery i think there is going\n", + "to be plenty for you to do i know we had to work hard to persuade you to flyover but we really do\n", + "need you here even the chief recognizes that so if i can i want to persuade you to stay francois and\n", + "i are being posted to paris kind of a thankyou for our work on this project but icant go unless i\n", + "know the berlin station has someone i trust hope youll agree to take the job charlie\n" ] } ], "source": [ - "print(' '.join(segment(vigenere_decipher(c8a, key_a))))" + "print(lcat(tpack(segment(vigenere_decipher(c8a, key_a)))))" ] }, { @@ -90,9 +106,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.4.3" + "version": "3.6.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/2016/2016-challenge1.ipynb b/2016/2016-challenge1.ipynb index 1317191..5bb0581 100644 --- a/2016/2016-challenge1.ipynb +++ b/2016/2016-challenge1.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, - "metadata": { - "collapsed": true - }, + "execution_count": 7, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c1a = open('1a.ciphertext').read()\n", "c1b = open('1b.ciphertext').read()" @@ -25,9 +25,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -48,9 +46,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -75,9 +71,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -98,9 +92,7 @@ { "cell_type": "code", "execution_count": 5, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -119,10 +111,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -138,9 +128,8 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -150,7 +139,7 @@ "[1, 5, 7, 15, 18, 23, 28, 33, 34, 40]" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -162,10 +151,8 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { "data": { @@ -173,7 +160,7 @@ "'icantbelieveheleftlikethataftereverythingwesaidaftereverythingweagreedbuthehasgoneandicantfindhimandthisistoobigtodealwithaloneicantblamehimmorethanmewewerebothblindtowhatwashappeningandwearebothguiltybuttogetherwemighthavestartedtofixiticantseehowicandothataloneherenowsoidonthaveanoptionithastoendihavetoendit'" ] }, - "execution_count": 11, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -185,10 +172,8 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": { - "collapsed": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [ { "data": { @@ -196,7 +181,7 @@ "\"i can't believe he left like that. after everything we said, after everything we agreed. but he has gone, and i can't find him, and this is too big to deal with alone. i can't blame him more than me, we were both blind to what was happening and we are both guilty, but together we might have started to fix it. i can't see how i can do that alone, here, now. so i don't have an option. it has to end. i have to end it.\\n\"" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -234,7 +219,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge2.ipynb b/2016/2016-challenge2.ipynb index 6a6cc4e..6298f3f 100644 --- a/2016/2016-challenge2.ipynb +++ b/2016/2016-challenge2.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from cipher.affine import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c2a = open('2a.ciphertext').read()\n", "c2b = open('2b.ciphertext').read()" @@ -25,9 +26,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -47,10 +46,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -85,10 +82,8 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { @@ -96,7 +91,7 @@ "(17, -1552.2481210949848)" ] }, - "execution_count": 7, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -108,10 +103,8 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -140,10 +133,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -172,10 +163,8 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -183,7 +172,7 @@ "((5, 7, True), -1275.2927860232996)" ] }, - "execution_count": 11, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -195,10 +184,8 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -251,7 +238,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge3.ipynb b/2016/2016-challenge3.ipynb index 51e27a8..6ef30ce 100644 --- a/2016/2016-challenge3.ipynb +++ b/2016/2016-challenge3.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c3a = open('3a.ciphertext').read()\n", "c3b = open('3b.ciphertext').read()" @@ -24,10 +24,8 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [ { "data": { @@ -35,7 +33,7 @@ "(('weston', ), -1706.5657011593255)" ] }, - "execution_count": 10, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -47,10 +45,8 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -75,10 +71,8 @@ }, { "cell_type": "code", - "execution_count": 13, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { @@ -86,7 +80,7 @@ "(('neural', ), -1476.8535205989874)" ] }, - "execution_count": 13, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -98,10 +92,8 @@ }, { "cell_type": "code", - "execution_count": 15, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -141,7 +133,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge4.ipynb b/2016/2016-challenge4.ipynb index c8bb5a4..26cdb08 100644 --- a/2016/2016-challenge4.ipynb +++ b/2016/2016-challenge4.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.column_transposition import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c4a = open('4a.ciphertext').read()\n", "c4b = open('4b.ciphertext').read()" @@ -25,9 +26,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -47,9 +46,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -70,9 +67,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -88,10 +83,8 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -99,7 +92,7 @@ "'tetheabmpnpskirytetfalulnhtdiiewnkhaeavrcleahecanoiufblgndiatssyeahmttlucodutacapyllrneevtemsooehftacattkehstksieytraohvtteshgierhtntiegilleaenctrethittghinamedgaflirotfaoictnofberiteislotoatitehwkinerncaeylalhtpelhegeansecicdloubawesmwdpeiafthllaseessrtofrouireltilanggtiorhsamhtreobeylalstrmabhtuteahntthwisaaetwrooegdiratghthtetstedpaatdorspvdeidiamsazlginyatdeiadlenkadmemtsiuaechstrieotesehtaeptsneritndokhwnooehwtylucodevhagosotmihucnmrfoanotiatuboplpeoetearhtseyognrieyrvetgnhiplpeoenodolieinnreevtguhohehtwnteisonoutaidphnhtmaeitmachpalyscsitithatlucoddaletmoosenithghtwisihucmidmeamitepitacslltilceovolosmoubgytretheraiseubalzppzalgnyiwwthaeralenuoedterheanytdaaxminacdinletbiheevocuwlkmayitvaohesithoroppttiunytemeiiwngtmohsefeonricomtleadlihetsetafrnonoillwityleloroumeetlarkoloiofngrdrwateeosioynguiaagnnosomitarn'" ] }, - "execution_count": 2, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -111,10 +104,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [], "source": [ "transpositions[transpositions_of('edgarallenpoe')] += ['edgarallenpoe']" @@ -122,10 +113,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -133,7 +122,7 @@ "(((3, 2, 0, 1, 4), False, False), -1959.882702003483)" ] }, - "execution_count": 4, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -144,32 +133,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'the temp bank is pretty full and i think we have a real chance of building a system that could actually prevent some of the attacks the key is to harvest the right intelligence at the right time and flag it for action before it is too late i think we can really help the agencies could be swamped with false alerts so our filtering algorithm has to be really smart but then that is what we are good at right the test data pds provided is amazingly detailed and makes it much easier to see the patterns i dont know how they could have got so much information about people are they storing everything people do online in ever thought when i set out on a phd in mathematical physics that it could lead to something with such immediate impact i still love cosmology but there is a real buzz applying what we learned out here at dynamix and icant believe how lucky i am to have this opportunity meeting with someone from citadelle this afternoon i will tell you more later looking forward to seeing you again soon martin'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "wcat(segment(column_transposition_decipher(c4br, (3, 2, 0, 1, 4), False, False)))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "data": { @@ -307,7 +272,7 @@ " 'indianans']" ] }, - "execution_count": 7, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -318,10 +283,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [ { "data": { @@ -329,7 +292,7 @@ "(3, 1, 0, 2, 4)" ] }, - "execution_count": 8, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -338,12 +301,50 @@ "transpositions_of('edgar')" ] }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 3, 4, 2, 1)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "transpositions_of('dupin')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'the temp bank is pretty full and i think we have a real chance of building a system that could actually prevent some of the attacks the key is to harvest the right intelligence at the right time and flag it for action before it is too late i think we can really help the agencies could be swamped with false alerts so our filtering algorithm has to be really smart but then that is what we are good at right the test data pds provided is amazingly detailed and makes it much easier to see the patterns i dont know how they could have got so much information about people are they storing everything people do online in ever thought when i set out on a phd in mathematical physics that it could lead to something with such immediate impact i still love cosmology but there is a real buzz applying what we learned out here at dynamix and icant believe how lucky i am to have this opportunity meeting with someone from citadelle this afternoon i will tell you more later looking forward to seeing you again soon martin'" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "wcat(segment(column_transposition_decipher(c4br, 'debar', False, False)))" + ] + }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -364,7 +365,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge5.ipynb b/2016/2016-challenge5.ipynb index d3a69a7..e63ab86 100644 --- a/2016/2016-challenge5.ipynb +++ b/2016/2016-challenge5.ipynb @@ -3,9 +3,7 @@ { "cell_type": "code", "execution_count": 1, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.column_transposition import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c5a = open('5a.ciphertext').read()\n", "c5b = open('5b.ciphertext').read()" @@ -25,9 +26,7 @@ { "cell_type": "code", "execution_count": 2, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -47,9 +46,7 @@ { "cell_type": "code", "execution_count": 3, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -70,9 +67,7 @@ { "cell_type": "code", "execution_count": 4, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -88,10 +83,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [], "source": [ "transpositions[transpositions_of('edgarallenpoe')] += ['edgarallenpoe']" @@ -99,10 +92,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -110,7 +101,7 @@ "(((1, 2, 4, 3, 0), False, True), -3669.618471067677)" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -121,10 +112,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -132,7 +121,7 @@ "'harry and charlie not much time and i need to spend the time i have carefully i have access to the dynamix network and used it to hack into citadelle they have a large database that a number of people here are working on mostly maintenance and data entry but jamelia steam seem to have been working on mining the data nothing too surprising really and at first i couldnt see what the fuss was about but again i got lucky jamelia s account on the machine they gave me had been wiped but they missed a configfile that showed me that she had used an online storage service for some of her files and one of them was huge the client software kept metadata about the file and it looks like a clone of the database i have seen here but the filesize is way off and the storage scheme seems to have been formatted with pointers to hidden parts of the file that dwarf the database i have seen in the citadelle servers i dont know about the database itself but i also found what looks like an encrypted db scheme file if you can send me jamelia sold laptop or phone i think there is a chance we could recover some of the documents that she had deleted by syncing it to the server if her keychain has been copied over that might also give me access to the citadelle database which i have codenamed titan i think we might be getting close to the truth but i am also sure that i am not trusted here and that will make it hard to get much more intelligence without raising alarm others seem to have fairly free access to the building but my pass only gets me to one floor and three rooms everyone is friendly but no one is talking and i dont want to push too hard and make them more suspicious i would suggest we switchback to substitution ciphers in the future this is getting serious maybe avi genere or hill cipher next time trinity'" ] }, - "execution_count": 9, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -143,10 +132,8 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { @@ -287,7 +274,7 @@ " 'velveteen']" ] }, - "execution_count": 11, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -299,9 +286,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -322,7 +307,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge6.ipynb b/2016/2016-challenge6.ipynb index 93431fc..c18936b 100644 --- a/2016/2016-challenge6.ipynb +++ b/2016/2016-challenge6.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": true - }, + "execution_count": 1, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.vigenere import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c6a = open('6a.ciphertext').read()\n", "c6b = open('6b.ciphertext').read()" @@ -24,10 +24,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [ { "data": { @@ -35,7 +33,7 @@ "'\\nPZAED IRAHN NESGU AVMNJ TVFHR OAFUA ZHEQG UGSTN ZAPCE EUOYD EPLII WIAGS YGWUA CUZEZ MSGZA IWTUG UTZTJ SSFSF RTUGL UEFEQ GUGLO OWAZS JBJEE JOELO NNOVV SHKPV UIBFF EGMGZ EBLHR JHNUK RJSUW HNVTB KPRFD NDOGG FGAMR GNYAN RSNQL HRFSN OEEWW NLCUA NTGNR GFGZE YSPGG PFZEJ SSHKI AYHNV BRWNP GMCJO ZASRV AAVAA SUGGM NLEQK CNFFY SGTWD GZEFL RRSMS GRNFA YQSVK WRZAI WATWN GKOAL HROAL LOVFT RJVVW WUAMN FDVSM UGPVF GGZIF OIYDG VNEHK EAGUT ZTBMN ESVRD TUASZ QSGWR LANGZ EZWAA LIZWI PSLYW DVFAS WWSSV BMRFO IGZTU WEGBE AWSGW NJZOS GLYGW RVMNJ TVFTB SLBUA YTAAC HRASP SREQI AYOHL AYDCN KHGJA AKAPL IBFSV FAAWF SGRGL OFLAL GFSYR VVWUA CUASN DIGLL RARBF IPYII WNGZE JSYJW FBMNQ ZIZZE VKTES VRDLV FGHFD RJTUW NNEEW SMRKA AVIJG NQWRR VISLH NLWNK AUANG LHNLH RKTVD LUSSS WEYAN TKFBJ JNEEY AAUWI FMSVF GNXAX WPNKS CGRGO HVUHJ SSTGO QWNBM GULOS GOYLH RTAAC AAVIN ELBGK VFGSG RJSRQ LORPA ZANVF GVLAF AAZFO GKUEW HBOHR OOHDD USVRG BGSIA WDBFE BXTUA SDMAY ATLGU GKIQW TUWTE SDROE USVRL IRVHV KNBJW RYINF TESNF SCGAO AKTBS NNUCB MNGAN FOIGR EEDAA VWUAC UAGHW SFASA GSHJP EASRO EUSDG ZEHKU NDDVX FVUUY LIRKG RLTVF GNUCR KSSJO ZLHRK WVKSN MTUGR VLIRK BHLTU ANTKA EWAYG TRSSV WRGZE EWTUS NGZEL MSRVT BTENF DJATU UOBHE ESTVG NSJOZ LHRXI FAGNA NRVAP UEFKT BSSGJ OAYBB PHRDD VFMNJ TVFSA WWASM RLHRW NPDOF WDYWT GWRSJ OZLHN LBBPP EGMVK EFLOF ZEQDI TZTBF HVKRB DEVFA YDTUA SOMTH FFBJT HFAGW LLATV KATSI AWNPJ YCLEQ SNQLH VKTVE EGZEP APUWR VKAOA TFLRB FGRJT USNGZ EBFEF OEUSV RTERF DRSLV FGJAT UACBM LQOAV LFBJT UWIAL EENIR OWVLH ZSRGA NOMTV ZAIWA SWEYA NTLHN LTUWI ALEEN IROWV DLTGB RLTRJ ISAKA GWZGR RANNV VNFCR KOVOI YDSCW NQSLV LTYWT VEENF AYQSV FGVLI ALHRZ OCWOS YEGLI AYAOJ ENCOA WTUAN TLHNL PHRZY WSZWT UWMNF ATWRN LTUWS JASFT AACMR FTVGN RVTUS TGZEY SSGLI ZWHRK AJEAE LIAAN CWRFG NUWWN KTESV RDLVF GJATU SYBMN TOOZS NNFDG ZEQWS PJICL IBFSB MNQWD NDOGD IXWJN EEYAA VVIQF TCACX MPBFT UASNL FVJSG TEPSU FWINK SHEEQ LHNLT UASJS SCJIB JTBZE EVENL HOMTJ ZEAAC UWCXW DGZEQ STRKI GVIQF TGAEH HTUWY FWEZL OUSVR TERFA GLHRT AACTB YEGZE ELHEW EQSYF SFGWR WSMRD INKDR STUEO EWLNL EEZAE JY\\n'" ] }, - "execution_count": 4, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -46,10 +44,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { @@ -57,7 +53,7 @@ "('nsa', -2139.1561825446256)" ] }, - "execution_count": 8, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -69,10 +65,8 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -88,10 +82,8 @@ }, { "cell_type": "code", - "execution_count": 22, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "data": { @@ -104,15 +96,15 @@ " ('M', 90),\n", " ('T', 77),\n", " ('B', 76),\n", - " ('K', 74),\n", " ('G', 74),\n", + " ('K', 74),\n", " ('Z', 61),\n", " ('L', 59),\n", " ('X', 57),\n", " ('F', 54),\n", " ('W', 53),\n", - " ('A', 51),\n", " ('C', 51),\n", + " ('A', 51),\n", " ('P', 46),\n", " ('J', 46),\n", " ('S', 43),\n", @@ -126,7 +118,7 @@ " ('\\n', 1)]" ] }, - "execution_count": 22, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -137,10 +129,8 @@ }, { "cell_type": "code", - "execution_count": 16, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -148,7 +138,7 @@ "('trainer', -1995.616991556106)" ] }, - "execution_count": 16, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -160,10 +150,8 @@ }, { "cell_type": "code", - "execution_count": 17, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -194,7 +182,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge7.ipynb b/2016/2016-challenge7.ipynb index 0b1cf5b..15cf412 100644 --- a/2016/2016-challenge7.ipynb +++ b/2016/2016-challenge7.ipynb @@ -2,10 +2,8 @@ "cells": [ { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, + "execution_count": 1, + "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", @@ -16,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.vigenere import *\n", + "from cipher.bifid import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c7a = open('7a.ciphertext').read()\n", "c7b = open('7b.ciphertext').read()" @@ -24,10 +25,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 2, + "metadata": {}, "outputs": [ { "data": { @@ -35,7 +34,7 @@ "'ELUOP PAIJO NPAVX VHLDQ ZCDUY LZVJK WTDVL VGZZE LLWKU AYMLF KUSSK PLOJZ EXHPK LZYGH VLHZD MSMXX PEXFV UHPPP ARAXP YQHXF INPJF EEHZT BHQJI QYQAE ZNQZT SEJIP XWZXS BEPDL MDYMP EYEEF LOLUE JIYJI YXFCE DMYIL HTRVV VLMLP DHLQY SEGOA VHLEA YIVHF JTSYX YHZLY SFYWW MKELC NOVHB AGLYG KILUN TLUCK MOAMO XFYPH BLFFI TEKHV WNYTM OXXIP CCAGA JCLMS GSYGL PASFI OWTPX KYHOV HLLUP OZLLW ELQWA HWPTC BUSUL LXTHH OISOV HXKLP OVBXG HZOMD RAAYT AVPUM TEMUI ZNELP AIJUH LMISL SWPSP PQFSR QOAGH SEWII JUJPP AXSBE OVHSD MZCIL RJIYT OUMNC WSBVF WLLJM OXLUS EMCIA FPMMD WWCCL QKMKV FDAAM XIPYW YSWFW PLHXA WJMLL XUYEZ ZWKFC PMPAS TYCLL UEJYS EWUEW HZSBP AFITE IJMFO XXWJR AYCLG LLLYG PQSIT YHCIT PSXLT TLQSD DTMNE LIZQM OXFCY LUVAW BEEIO XVHLC WUCSL EYQAV SGDTB JIHMF DMOXL USEGA RAUEC MJVSY YSBPA WPPTT LFWQD YWPWM FNYWJ IUHLW TPINL FDVLZ WMCFW MCLHP HBYIV HFDQR RSVZW AVIZN OYIKI JIETV VQYHT PJLVS GCTND EDYSE UVVXX YLWAW DFLNT SEVYS NBHAQ FPDWS GYHTP JZMVH LVVHF WBEEI FKGFZ YPJIL LPECW QGWZE AZIUW LOMZM JISEC HRMHT POHKF YZEGJ EJCAD VVGXI DPOYE ZWRYQ KRWJW TIIRG XPDIL PWLDL EAGWJ DFALL LYWWM KELCN CMYYL WLQCU EEMXC ILLLL ZQARV GQSNQ OAELT QEHPS IEOMN RGFPM OUEJY SEIOX WFTMW TIZNO PEVLK YNLZA PDUNL TSEUY SEMRE EIEOM DSDFL YMLFV USPPS MLHFD VVMLM PFYLV GGJYI YIOMY LWAHW MFQMY XUYAD CZIZN EFJYI FCLEM YRGLP JEHPS YGLPV XWPTE KLPDI NRVPO UUSLN VVWVX PUHVG ZWLCZ YFODL EAMLU SEBBS VYEYQ VTWQC PGDED MTSTS EUIEO MKRSG POGSH WNLPX LVVHL OMAEL CRLGS LYCSP UHGWV ENMWW MMPSB ZMZNE FWIEV YVDIU IZQYZ QAEYC EDMCR ALPOV BHGCC PXLLL AYTZB HZWYL ZIIEU DPPAX SXPZM KMNHP ENVWS QYZQA TALND MKWJU XWIKK FCSNB HQFUX ZEHXS BEOMJ MLIYZ ASEWQ CPDLA GBHPQ CVWNY TBHHW VTCKZ IVYSD MPXAP TEKHI ZNSEQ DHWCW WIAIJ YSEAA MKCGD QOXSB EOMDS ZMDTA FPSHL CMOXJ OQOVH OFUMD QOXXI PRIAS GZJMJ VPWPP TZAIJ IEEVL WWLPH AARWA LSKUE JVZWA VRSHT XQOJG YRLBV SXXLS MDXSB EPDLM DYMZB KIEYP DMOKF CCZBP RGGYP MIHSB PHSUE TMDTE ZIZNX ZZMOF UMEVL VWZQT LFPWL TEVLR SNFZJ HKFCV WIAWS QENMW WMMPS BAEZN EYMYE HJLPU HGWVE TZLZW QZSOU MFITE ALYIL PSBYY XLPOV BINCE NMSPG WPSBF FFYVL BUIWV OLPUS ANNLZ LLLLF QWUSK XYFWM RWYMO IOWWM DPVRE WQZYB HLLXY LMZMU LPIMA EZYET PDEKU HEQKI ECLWK LLKCS ENVCL CWLOL PWBEE CVFSX PRVLP DUSNV LLOSE TZBGW MDVVH FWBEQ WAWWN YZQAE JNPYM WIUHL WMLVX UYZVV MLCOP XEIYH TSAPL HUQZB YEHML PDPXU YWWWJ IZNQZ NSEZY MYWKI LCDTD KEZYS EIOXV YXTIS GWBOY IRRSV LQWFF TIWPP ARAGT SNVIY UEZWM HSBPH BHLLX PWILZ WLPHZ LHJUS RVPLK OASBB SEIEO VHLYH TGQSI FIPXW ZVGZQ QWSPW QZZBL FGNOP ZHIHJ LPPAE ZNEFW KILHT ZXLAF YSHVL ZWYGC MZIJB DLKZM ZNAPS LLWLP SEUMS FAIMA SFXWF WDVGN ZYLSY GWPSA PLLHZ OMZWW LAYMO ALOME VBSUW LVVHF SYGLP VXLIY OVHWA MLMPZ EUUYZ GSIJC EYMRV GQZEL LQAUW NMOXK LTQBH WLHPX MNRSL CLTHM UHLYQ MWLWP AABWW BEZBK IFLFE MDOFU MDAPA KYSEP AMOJT SAUSA NLWMY WJIYJ IYXLO ZMIUA GHVJL HIJFL DIDXS BHWIL ZWLZE BVRWL LNOUM CUEEQ AYGVL VTHXG NOPZH TWLAE WUWSQ OYIKR ABPMB HLLFW LBMID XLSMO XSBEO MAELM ENMWW MMPSB KPABN LAHIJ YSEMT MLZZE VBSEU PWJHV WXTDV VGSNY PXZIZ NDPON YKMNT BZMJY ENIYE ZWPNQ VZLUS EBJEX YSEMA MHMPO TSELU VFMOX ZNTHA RRAFZ YLUYG ZDRVP KFIWP JZXUY ADCZI ZNQZP JVSYD LVVMK MPCXW SXIWZ WAEWL PHALW SVLEI KEFXE LPAKF CELBZ WAMJW IUEJI QPTWQ SMLYL HIVCG ZZWSL MEDMB UWLOP ABJWL PSVPX JUXPJ VXKYX LRKIL WPAAB WWQEL PAPSY GPZAS FXTOM DXMVC ZVFEJ NYTBY EEZZO VHXUY ADCZI ZNQZA JMJNP XWPFW BEYML ALYMY WPXSF PCZVG XIPPZ NIVBR TPHHW QZSAZ MKSWL VHWWC ETZVL LOLJB PWJYG TVBIZ NSEQD XMIOP SJIZW JCWAW KCSWM AEZWF PVUMW WYPQJ WJYEF XTSUH TPUTE JAZCX LXSOO LZNEE ICQBB SHICO ILFGN OPUPE DWOYI UMLLL XALQS DQZMT EFYSE VPWLH PXCJS VSETB UIVCJ EQSEM KSRQO KFCJC ZHGKU HEKLT KODPP AWAHX ZZMWH YCOVH EKHTX MJRSX YPBAE FCCZV FEJNY TBYEE BETED IAPCP BUMEI CQALX GH\\n'" ] }, - "execution_count": 3, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -48,10 +47,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [ { "data": { @@ -59,7 +56,7 @@ "('esullih', -3786.443520764479)" ] }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -71,10 +68,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 4, + "metadata": {}, "outputs": [ { "data": { @@ -82,7 +77,7 @@ "('usehill', -3786.443520764477)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -94,10 +89,8 @@ }, { "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -113,10 +106,8 @@ }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -124,7 +115,7 @@ "'HTPEG WEEHW AOHCP NIRXE IEXZG OGDQK UEGBY KHWAO CDOTQ OTSLY OELDU MOSEQ OQYTP RNNIG ABADV QIAXV OODEE GWSSF QRGGS YEGWS SEQSX BTKBR FTGBY KBKEU QNETC KSOQB FOTSY QEOSU RBCTE KYORM TPLRA TTKMO BKEUO KCNDZ MROTR NCOYW QKPSH VTCVN FTQET CALWA VVFUK BSKFH RASAQ VFCRS GBTTT QWNEV YFRHE AQCHS QQTNN DPBTC PZEGR EAKKO HURRO CXNQG KNCQS TBSNQ BMTZO OSEBO RXKDE HEHRO YKEOB BFIKQ TTCIZ CCORU IHGYT IMBAH OAWOO ZSOQR OCDSS OQDGE YMKLO AQKXO BKPSF HSVLK WTEHN ATKTO UKNSI OCYDL TQGIT NUOCR KCEPO SRQCQ QCQSR HLWNO SKENN BTFLO LENAW BOCYT NETRN OWDEK SOQIP DWHEA WLOVV YFSCD OTLIN SOSYQ OPYNH TOCON RPTHN AWCOO DYTCO RETHL ULAEQ RPBNZ CSEHC ISDNR TNDTS PSQFC RBNPS YSRBE UELKE QTEYQ QLZLY KSOBD KNTGT WBURR BLQAK BSCVL IIUVT FQBPA KGSTC LSFSC KSKSO BAORE BQEVC BHQBL SVIQO ULKOT HQNFO IOSAH RATKT OXQUE HRYNB KPSKQ OFNWS EUOCX SOQYO VEFSC NREQS PUOED LFWKF ORUIN GTKGO ASDQS GEYMK QOPIO DEVSF NCERS QUPES OQYWB EKBQK PIADC OIUGN CTOII VOQBT ZCPEN BHZKA GOYCQ PCDET MIWFE BGEUE ORYCG SYEKM OQIPD AOCUI NGTHW AOQVT ETVCU BTOYS OQYBQ YBGLT NKVTF VQTFH STQES RQDEU MUKNS IOCYF ERRBL SRHQS THKPE TRPEW BEOSB QKQMP ZBRUE BLHTH HCSBD ACIGC YRENT HRAUQ NENKT ONOTW THUIK HIOOS GQEGO HXIRW TEINS QYFFQ NKTLT RSCNE TRGEY DANRL HFPTK TOFDQ TSOQR AGFTL HVNTS NYIIV OQETS BKFYO SEPQI VLTOY EHMIR WHEAW GOTBO QXRHR AKBRR GTXPR SEHFL RBIFL QOODE GAENO OUXWL ELSEH THMIR UDKQA DVTIH ROICC QTOYE HMIRI HWOIB CRQLP LWHEA WXOBO FYQEV RTRGX QLBQN TBYYR EBTRT TEENR MSDHQ OQXTC LOIFE QTHUA TOOUW BNTSI BDUKH SNQVR ARCTH VRSEC QSNSO QYSFH RGUTR OUREI OVUQP UTTLA VNVMT SLXDN HOAWB OEPGQ ECKEO THEAU OTUVL CLBPE QGCEE KQNTB GEUEO RYEBT QGELR SOQYV TTYHM IRVTT XHQOV FOKRK QFENK NOBLE LCQRR WGOEO LSOGE YNHUA TOVUF NHTZX DSTUL QFSCQ QGHYC NVSCU EURLK ASLOD TSBQR MRPET LMENH TASGS TFOTD HQTUN IWQIP OKOME GGFTT GOEXV TCMBM ARGEY NKFOS KTYEO BDUKB SEMCT RQVRI UITZB RYDCF SOSCQ RLIQO EAEBB SRQGP ECDAQ VBDUB GCYEQ ETSBK FYGEY NOUTE QTTNG SUQDK SYSGB ZUFKR LOBGT VWIWS OQOKD YSGBZ UCKRG EYIGO ENKKO MANE'" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -137,10 +128,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "metadata": { - "collapsed": false - }, + "execution_count": 7, + "metadata": {}, "outputs": [ { "data": { @@ -165,14 +154,14 @@ " ('f', 46),\n", " ('d', 43),\n", " ('v', 42),\n", - " ('w', 37),\n", " ('p', 37),\n", + " ('w', 37),\n", " ('m', 25),\n", " ('x', 20),\n", " ('z', 15)]" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -183,18 +172,16 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": false - }, + "execution_count": 8, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(('ligo', ), -2505.924490942904)" + "(('ligo', , 4), -2067.501010592418)" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -205,10 +192,8 @@ }, { "cell_type": "code", - "execution_count": 10, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "data": { @@ -216,7 +201,7 @@ "'martin we have made a dreadful mistake and i have been too slow to admit that to myself i have had a visit from the woman from the syndicate and i confronted her about the source of the templates she confirmed my worst fears and now i want to crawl away and die what have we done our software has led to so much suffering when it was designed to do the opposite i asked her how the cabinet office could possibly have authorised this and she laughed and explained that the syndicate no longer worked for the british government call it private enterprises he said we have always been good at that my horror must have been written all over myfaces he didnt seem surprised at my reaction but equally she didnt take it well and civility was abandoned i asked her how it could be legal let alone moral to do what they proposed and her answer was that it was necessary i said we wouldnt help them and she said it was necessary that we did i said i wouldnt be able to face my family and friends if we cooperated and she said i wouldnt have to worry about that for long one way or another the pds syndicate were going to make sure we both disappeared looking back i can see that from the start this whole thing has acted to draw us into its centre and now i am at the event horizon almost unable to escape its pull but i think we have one last chance i am sure she will be visiting you as well she thinks we have no choice but i think a choice is all we have whatever you do hold out for better terms she has to believe that you are on side and motivated by greed so that she wont worry about any qualms you might have convince her that you will convince me to cooperate tell her that you think you should work from the collective in oslo and that you want payment via the bank in switzerland i got the impression that money is not a problem with money in a swiss bank and the expertise and connectivity afforded by the collective i think we have a chance to escape and to try to stop them perhaps we will survive this perhaps we can bring them down'" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -228,9 +213,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -251,7 +234,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge8.ipynb b/2016/2016-challenge8.ipynb index 6c673e0..d990f8c 100644 --- a/2016/2016-challenge8.ipynb +++ b/2016/2016-challenge8.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,9 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.hill import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", "\n", "c8a = open('8a.ciphertext').read()\n", "c8b = open('8b.ciphertext').read()\n", @@ -25,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -35,7 +37,7 @@ " [11, 11]]), -5760.41300554484)" ] }, - "execution_count": 9, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -94,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -111,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -128,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -137,7 +139,7 @@ "[('0', 15368), ('1', 11257), (' ', 6508), ('2', 5920), ('\\n', 1)]" ] }, - "execution_count": 4, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -170,7 +172,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2016/2016-challenge8b.ipynb b/2016/2016-challenge8b.ipynb index fc0d851..5a4982e 100644 --- a/2016/2016-challenge8b.ipynb +++ b/2016/2016-challenge8b.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -16,7 +16,12 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.column_transposition import *\n", + "from cipher.keyword_cipher import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from logger import *\n", "\n", "c8a = open('8a.ciphertext').read()\n", "c8b = open('8b.ciphertext').read()\n", @@ -27,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -36,19 +41,19 @@ "3226615" ] }, - "execution_count": 2, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "wap = open('../war-and-peace.txt').read()\n", + "wap = open('../support/war-and-peace.txt').read()\n", "len(wap)" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -57,7 +62,7 @@ "['10', '00', '00', '01', '00', '111', '000', '100', '010', '101']" ] }, - "execution_count": 3, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -69,7 +74,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -87,7 +92,7 @@ " ['0010', '0010', '0100', '0100', '0000']]" ] }, - "execution_count": 4, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -99,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -117,7 +122,7 @@ " ['00000', '00110', '11000', '00000']]" ] }, - "execution_count": 5, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -130,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -139,7 +144,7 @@ "(25, 0)" ] }, - "execution_count": 6, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -151,7 +156,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -160,7 +165,7 @@ "'bi vjr dom omdabhx qzbp qzmh b gdv ym amda dxdbh ebffma qtbnm hjt yv qzm kjpq abxbqdf prosmbffdhnm p'" ] }, - "execution_count": 7, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -172,7 +177,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -181,7 +186,7 @@ "5325" ] }, - "execution_count": 8, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -192,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -201,7 +206,7 @@ "5325" ] }, - "execution_count": 9, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -213,7 +218,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -222,7 +227,7 @@ "5325" ] }, - "execution_count": 10, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -234,16 +239,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(-32687.168128732188, -20426.14140719279, -30376.82045021536)" + "(-32687.168128732188, -20426.14140719279, -30689.376594117315)" ] }, - "execution_count": 11, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -254,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -263,7 +268,7 @@ "40669.896112351824" ] }, - "execution_count": 12, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -274,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -283,7 +288,7 @@ "3476.059496782207" ] }, - "execution_count": 13, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -294,7 +299,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -303,7 +308,7 @@ "2391.2432630309268" ] }, - "execution_count": 14, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +319,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -323,7 +328,7 @@ "2.788846178301471e+22" ] }, - "execution_count": 15, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -334,7 +339,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -343,7 +348,7 @@ "0.951229424500714" ] }, - "execution_count": 16, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -354,7 +359,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -363,7 +368,7 @@ "1738.0297483911036" ] }, - "execution_count": 17, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -381,7 +386,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -390,7 +395,7 @@ "'etoainhsrdlumwycfgpbvkxjqz'" ] }, - "execution_count": 18, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -402,7 +407,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -411,7 +416,7 @@ "'mqdbjhopzafrntgxvkiyseuclw'" ] }, - "execution_count": 19, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -423,7 +428,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 45, "metadata": { "scrolled": true }, @@ -444,7 +449,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 46, "metadata": {}, "outputs": [ { @@ -453,7 +458,7 @@ "-21381.986189863124" ] }, - "execution_count": 21, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -464,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -473,7 +478,7 @@ "'dajoklynpigqemhstuvwxfzcbr'" ] }, - "execution_count": 22, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -485,7 +490,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 48, "metadata": {}, "outputs": [], "source": [ @@ -495,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 49, "metadata": { "scrolled": true }, @@ -506,7 +511,7 @@ "('mqjdbhzpoafrgtvnixkyseuclw', -17922.293053151883)" ] }, - "execution_count": 30, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -522,7 +527,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 50, "metadata": { "scrolled": true }, @@ -533,7 +538,7 @@ "'if you are reading this then i may be dead again killed twice now by the post digital surveillance syndicate if i am still alive then you may be my only hope if they have killed me then this letter will have been distributed in unencrypted form to all the social media sites and all the news agencies in the world their name will be known to everyone and the story of what they tried to do will be headline news if not then my hope is that you will keep this quiet for now for your sake as well as for mine my name is jamelia dalmar and i am partly responsible for this mess this letter is my attempt to explain my role in what happened in the hope that nothing like it will ever happen again the syndicate was a government initiative to prepare for a world in which encryption will be so secure that no one can crack it that world is almost here and the quantum technology revolution is likely to give birth to it soon if nothing changes privacy will be absolute and so will secrecy how you feel about that depends a lot on who you are and who you think has most to gain i was neutral but when my friend martin suggested that we could adapt some of the technology we developed for the ligo project i was excited at the possibilities our plan was to build behavioural template filters to track group activities on the web originally we hoped to model the spread of ideas martin was interested in the marketing angle and saw it as a way of selling products by understanding how memes propagate i was more interested in understanding how political ideas spread through a population it was a million miles from our real areas of expertise and i should have realised the dangers much earlier the war games department at dynamix saw the potential for this tool to be used as a twenty first century version of sigint allowing intelligence agencies and governments to track small group activities by matching online behaviour to known templates small groups including terrorist cells the pds syndicate had agents at just about every arms manufacturer in the west including dynamix when they became aware of our work they arranged for dynamix to recruit us on their intern scheme it was an amazing time we had every resource we could want and at first the freedom to do what we wanted gently they brought us round to working on small group dynamic tracking and following some of the recent tragedies i worked out for myself the potential of our software to detect and prevent terrorism but we needed data we called it the temp bank a database of behavioural templates which we would use to match against live online traffic to highlight areas of interest no one had ever worked on this sort of pattern based tracking before so we had no data on which to base the templates modelling communication patterns between members of a terrorist group without the templates it was impossible to carry out real time monitoring as the data rate was far too high for live analysis i raised my concerns with the head of research at dynamix and that was when i was introduced to someone from the syndicate they promised us data based on mathematical models developed by the department of defence and the project continued it was more successful than we had dared to hope a stream of high quality data filled the temp bank and the algorithm began to spot real world examples that closely matched the templates of course a lot of that was just chatter there is a world of difference between discussing and carrying out an attack and no security service can investigate every deluded fantasy online in order to find the one real plot dynamix were excited by what we had achieved but as the results rolled in they demanded more accuracy and for that we needed much better data the syndicate were happy to oblige and that is when i realised the how far they were prepared to go i tried to convince myself that the syndicate had access to a large database of existing communications that they were using to extract behavioural templates but the more i thought about it the more unlikely it seemed our software was seeing real world attack patterns that were suspiciously similar almost choreographed and i began to wonder if the pds syndicate were not just tracking terrorist activity but were encouraging it among groups that they had penetrated in order to build an encyclopaedia of behavioural templates that could be used to spot future attacks before they happened the syndicate had an achilles heel it was not possible to coordinate their research programme without leaving their own digital footprint martin and i refocused our efforts on tracking them down and found all the evidence we needed but they were the experts not us and we must have triggered an alarm somewhere they gave us one choice my death was now inevitable the only question was whether or not it would be faked once i was officially dead i would have no protection but we were valuable to them and that was the key to our survival i never knew the name of the girl they used to fake my suicide but they did assure me that she had died of natural causes i hope that much was true the syndicate were the real experts in espionage but martin and i had the edge in coding they watched us carefully but we managed to plant a virus in the database engine and it will have been triggered long before you read this it is designed to infect every copy of our algorithm and to encrypt crucial elements of the code rendering it unusable we learned a lot from studying stuxnet and the temp bank will suffer the same fate as the iranian centrifuges now the virus is released we convinced the syndicate to fund a hacker collective in norway and to allow martin to work there undercover as far as they were concerned he will be harvesting baseline data for noise filtering in social media traffic but he will be distributing this file and the virus to as many servers as he can without alerting them martin is good at this he has already hacked a number of back up company and app servers and used them as a distribution mechanism we have also been leaving a trail for the intelligence services we have no reason to believe the governments are connected with this and every reason to believe they may be our best hope of stopping them are we safe probably not or this insurance policy would have remained just that we might be on the run though unable to trigger the dead man switch that was keeping these files safe we do not plan on giving up and we urge you not to either'" ] }, - "execution_count": 31, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -545,7 +550,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 51, "metadata": { "scrolled": true }, @@ -562,7 +567,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -596,7 +601,7 @@ " 'z': 'w'}" ] }, - "execution_count": 27, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -607,7 +612,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 53, "metadata": { "scrolled": true }, @@ -618,7 +623,7 @@ "'if you are reading this then i may be dead again killed twice now by the post digital surveillance syndicate if i am still alive then you may be my only hope if they have killed me then this letter will have been distributed in unencrypted form to all the social media sites and all the news agencies in the world their name will be known to everyone and the story of what they tried to do will be headline news if not then my hope is that you will keep this quiet for now for your sake as well as for mine my name is jamelia dalmar and i am partly responsible for this mess this letter is my attempt to explain my role in what happened in the hope that nothing like it will ever happen again the syndicate was a government initiative to prepare for a world in which encryption will be so secure that no one can crack it that world is almost here and the quantum technology revolution is likely to give birth to it soon if nothing changes privacy will be absolute and so will secrecy how you feel about that depends a lot on who you are and who you think has most to gain i was neutral but when my friend martin suggested that we could adapt some of the technology we developed for the ligo project i was excited at the possibilities our plan was to build behavioural template filters to track group activities on the web originally we hoped to model the spread of ideas martin was interested in the marketing angle and saw it as a way of selling products by understanding how memes propagate i was more interested in understanding how political ideas spread through a population it was a million miles from our real areas of expertise and i should have realised the dangers much earlier the war games department at dynamix saw the potential for this tool to be used as a twenty first century version of sigint allowing intelligence agencies and governments to track small group activities by matching online behaviour to known templates small groups including terrorist cells the pds syndicate had agents at just about every arms manufacturer in the west including dynamix when they became aware of our work they arranged for dynamix to recruit us on their intern scheme it was an amazing time we had every resource we could want and at first the freedom to do what we wanted gently they brought us round to working on small group dynamic tracking and following some of the recent tragedies i worked out for myself the potential of our software to detect and prevent terrorism but we needed data we called it the temp bank a database of behavioural templates which we would use to match against live online traffic to highlight areas of interest no one had ever worked on this sort of pattern based tracking before so we had no data on which to base the templates modelling communication patterns between members of a terrorist group without the templates it was impossible to carry out real time monitoring as the data rate was far too high for live analysis i raised my concerns with the head of research at dynamix and that was when i was introduced to someone from the syndicate they promised us data based on mathematical models developed by the department of defence and the project continued it was more successful than we had dared to hope a stream of high quality data filled the temp bank and the algorithm began to spot real world examples that closely matched the templates of course a lot of that was just chatter there is a world of difference between discussing and carrying out an attack and no security service can investigate every deluded fantasy online in order to find the one real plot dynamix were excited by what we had achieved but as the results rolled in they demanded more accuracy and for that we needed much better data the syndicate were happy to oblige and that is when i realised the how far they were prepared to go i tried to convince myself that the syndicate had access to a large database of existing communications that they were using to extract behavioural templates but the more i thought about it the more unlikely it seemed our software was seeing real world attack patterns that were suspiciously similar almost choreographed and i began to wonder if the pds syndicate were not just tracking terrorist activity but were encouraging it among groups that they had penetrated in order to build an encyclopaedia of behavioural templates that could be used to spot future attacks before they happened the syndicate had an achilles heel it was not possible to coordinate their research programme without leaving their own digital footprint martin and i refocused our efforts on tracking them down and found all the evidence we needed but they were the experts not us and we must have triggered an alarm somewhere they gave us one choice my death was now inevitable the only question was whether or not it would be faked once i was officially dead i would have no protection but we were valuable to them and that was the key to our survival i never knew the name of the girl they used to fake my suicide but they did assure me that she had died of natural causes i hope that much was true the syndicate were the real experts in espionage but martin and i had the edge in coding they watched us carefully but we managed to plant a virus in the database engine and it will have been triggered long before you read this it is designed to infect every copy of our algorithm and to encrypt crucial elements of the code rendering it unusable we learned a lot from studying stuxnet and the temp bank will suffer the same fate as the iranian centrifuges now the virus is released we convinced the syndicate to fund a hacker collective in norway and to allow martin to work there undercover as far as they were concerned he will be harvesting baseline data for noise filtering in social media traffic but he will be distributing this file and the virus to as many servers as he can without alerting them martin is good at this he has already hacked a number of back up company and app servers and used them as a distribution mechanism we have also been leaving a trail for the intelligence services we have no reason to believe the governments are connected with this and every reason to believe they may be our best hope of stopping them are we safe probably not or this insurance policy would have remained just that we might be on the run though unable to trigger the dead man switch that was keeping these files safe we do not plan on giving up and we urge you not to either'" ] }, - "execution_count": 28, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -629,7 +634,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -638,7 +643,7 @@ "('mqjdbhzpoafrgtvnixkyseuclw', -17922.293053151883)" ] }, - "execution_count": 29, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -654,7 +659,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 55, "metadata": { "scrolled": true }, @@ -665,7 +670,7 @@ "('dynamixzbcefghjklopqrstuvw', -17922.293053151883)" ] }, - "execution_count": 32, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -681,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 56, "metadata": { "scrolled": true }, @@ -692,7 +697,7 @@ "'if you are reading this then i may be dead again killed twice now by the post digital surveillance syndicate if i am still alive then you may be my only hope if they have killed me then this letter will have been distributed in unencrypted form to all the social media sites and all the news agencies in the world their name will be known to everyone and the story of what they tried to do will be headline news if not then my hope is that you will keep this quiet for now for your sake as well as for mine my name is jamelia dalmar and i am partly responsible for this mess this letter is my attempt to explain my role in what happened in the hope that nothing like it will ever happen again the syndicate was a government initiative to prepare for a world in which encryption will be so secure that no one can crack it that world is almost here and the quantum technology revolution is likely to give birth to it soon if nothing changes privacy will be absolute and so will secrecy how you feel about that depends a lot on who you are and who you think has most to gain i was neutral but when my friend martin suggested that we could adapt some of the technology we developed for the ligo project i was excited at the possibilities our plan was to build behavioural template filters to track group activities on the web originally we hoped to model the spread of ideas martin was interested in the marketing angle and saw it as a way of selling products by understanding how memes propagate i was more interested in understanding how political ideas spread through a population it was a million miles from our real areas of expertise and i should have realised the dangers much earlier the war games department at dynamix saw the potential for this tool to be used as a twenty first century version of sigint allowing intelligence agencies and governments to track small group activities by matching online behaviour to known templates small groups including terrorist cells the pds syndicate had agents at just about every arms manufacturer in the west including dynamix when they became aware of our work they arranged for dynamix to recruit us on their intern scheme it was an amazing time we had every resource we could want and at first the freedom to do what we wanted gently they brought us round to working on small group dynamic tracking and following some of the recent tragedies i worked out for myself the potential of our software to detect and prevent terrorism but we needed data we called it the temp bank a database of behavioural templates which we would use to match against live online traffic to highlight areas of interest no one had ever worked on this sort of pattern based tracking before so we had no data on which to base the templates modelling communication patterns between members of a terrorist group without the templates it was impossible to carry out real time monitoring as the data rate was far too high for live analysis i raised my concerns with the head of research at dynamix and that was when i was introduced to someone from the syndicate they promised us data based on mathematical models developed by the department of defence and the project continued it was more successful than we had dared to hope a stream of high quality data filled the temp bank and the algorithm began to spot real world examples that closely matched the templates of course a lot of that was just chatter there is a world of difference between discussing and carrying out an attack and no security service can investigate every deluded fantasy online in order to find the one real plot dynamix were excited by what we had achieved but as the results rolled in they demanded more accuracy and for that we needed much better data the syndicate were happy to oblige and that is when i realised the how far they were prepared to go i tried to convince myself that the syndicate had access to a large database of existing communications that they were using to extract behavioural templates but the more i thought about it the more unlikely it seemed our software was seeing real world attack patterns that were suspiciously similar almost choreographed and i began to wonder if the pds syndicate were not just tracking terrorist activity but were encouraging it among groups that they had penetrated in order to build an encyclopaedia of behavioural templates that could be used to spot future attacks before they happened the syndicate had an achilles heel it was not possible to coordinate their research programme without leaving their own digital footprint martin and i refocused our efforts on tracking them down and found all the evidence we needed but they were the experts not us and we must have triggered an alarm somewhere they gave us one choice my death was now inevitable the only question was whether or not it would be faked once i was officially dead i would have no protection but we were valuable to them and that was the key to our survival i never knew the name of the girl they used to fake my suicide but they did assure me that she had died of natural causes i hope that much was true the syndicate were the real experts in espionage but martin and i had the edge in coding they watched us carefully but we managed to plant a virus in the database engine and it will have been triggered long before you read this it is designed to infect every copy of our algorithm and to encrypt crucial elements of the code rendering it unusable we learned a lot from studying stuxnet and the temp bank will suffer the same fate as the iranian centrifuges now the virus is released we convinced the syndicate to fund a hacker collective in norway and to allow martin to work there undercover as far as they were concerned he will be harvesting baseline data for noise filtering in social media traffic but he will be distributing this file and the virus to as many servers as he can without alerting them martin is good at this he has already hacked a number of back up company and app servers and used them as a distribution mechanism we have also been leaving a trail for the intelligence services we have no reason to believe the governments are connected with this and every reason to believe they may be our best hope of stopping them are we safe probably not or this insurance policy would have remained just that we might be on the run though unable to trigger the dead man switch that was keeping these files safe we do not plan on giving up and we urge you not to either'" ] }, - "execution_count": 34, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -726,7 +731,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/1b.plaintext b/2017/1b.plaintext index e90d092..27762f0 100644 --- a/2017/1b.plaintext +++ b/2017/1b.plaintext @@ -1 +1,21 @@ -the shame of my esteemed and noble kinsmen gnaeus julius agricola is a story too often told in the taverns of rome for the entertainment of fools and cowards who never once left the safety of that great city the loss of the ixth legions standard in battle haunted him throughout his life and only his untimely death brought him relief and yet the full depth of his suffering is known only to a few and even i was not taken into his confidence until after his death the truth of the peril in which he placed the entire roman army was finally revealed to me in the paper she left to me in his will among them i found this despatch from sextus varus legatus of the ixth legion to gaius suetonius paul linus proconsul and governor of britannia describing the defeat of then in that camu lo donum at the writing of this message the iceni have successfully sacked the city including the temple of claudius where the procurators guard took their heroic final stand we were almost encircled by the enemy force who seemed possessed of the power to know our thoughts where we were strong they posted only holding forces where we were weak they attacked in strength and when reinforcements attempted to join us they were attacked on route we survivors owe our lives and our thanks to gnaeus julius agricola who in a time of great emergency recognised the strategy of the insurgent forces on our left flank and commanded our retreat with moments to spare due to this action the majority of our cavalry were saved along with the reserve forces all other frontline troops have been slaughtered and it is with great sadness and deepest anger i have to report that the ixth legion lost its aquila to the enemy i fear that if we are to save londinium and ver ulan ium from a similar fate we must find the strength to crush this rebellion if we fail then all of britannia is lost this much of agricola s story is widely known but the full truth must remain hidden for now and as remarked by my trusted slave and confidant tiro what better place to hide a book than among books \ No newline at end of file +the shame of my esteemed and noble kinsmen gnaeus julius agricola is a story too often told in the +taverns of rome for the entertainment of fools and cowards who never once left the safety of that +great city the loss of the ixth legions standard in battle haunted him throughout his life and only +his untimely death brought him relief and yet the full depth of his suffering is known only to a few +and even i was not taken into his confidence until after his death the truth of the peril in which +he placed the entire roman army was finally revealed to me in the paper she left to me in his will +among them i found this despatch from sextus varus legatus of the ixth legion to gaius suetonius +paul linus proconsul and governor of britannia describing the defeat of then in that camu lo donum +at the writing of this message the iceni have successfully sacked the city including the temple of +claudius where the procurators guard took their heroic final stand we were almost encircled by the +enemy force who seemed possessed of the power to know our thoughts where we were strong they posted +only holding forces where we were weak they attacked in strength and when reinforcements attempted +to join us they were attacked on route we survivors owe our lives and our thanks to gnaeus julius +agricola who in a time of great emergency recognised the strategy of the insurgent forces on our +left flank and commanded our retreat with moments to spare due to this action the majority of our +cavalry were saved along with the reserve forces all other frontline troops have been slaughtered +and it is with great sadness and deepest anger i have to report that the ixth legion lost its aquila +to the enemy i fear that if we are to save londinium and ver ulan ium from a similar fate we must +find the strength to crush this rebellion if we fail then all of britannia is lost this much of +agricola s story is widely known but the full truth must remain hidden for now and as remarked by my +trusted slave and confidant tiro what better place to hide a book than among books \ No newline at end of file diff --git a/2017/2017-challenge1.ipynb b/2017/2017-challenge1.ipynb index 67c1188..e030a1a 100644 --- a/2017/2017-challenge1.ipynb +++ b/2017/2017-challenge1.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,8 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from support.text_prettify import *\n", "\n", "c1a = open('1a.ciphertext').read()\n", "c1b = open('1b.ciphertext').read()" @@ -22,16 +23,16 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(21, -1118.7370341550713)" + "(21, -1118.7224542255447)" ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -43,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -64,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -73,7 +74,7 @@ "1113" ] }, - "execution_count": 10, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -84,16 +85,16 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(9, -2106.6033294392596)" + "(9, -2106.574575493358)" ] }, - "execution_count": 4, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -105,27 +106,44 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'the shame of my esteemed and noble kinsmen gnaeus julius agricola is a story too often told in the taverns of rome for the entertainment of fools and cowards who never once left the safety of that great city the loss of the ixth legions standard in battle haunted him throughout his life and only his untimely death brought him relief and yet the full depth of his suffering is known only to a few and even i was not taken into his confidence until after his death the truth of the peril in which he placed the entire roman army was finally revealed to me in the paper she left to me in his will among them i found this despatch from sextus varus legatus of the ixth legion to gaius suetonius paul linus proconsul and governor of britannia describing the defeat of then in that camu lo donum at the writing of this message the iceni have successfully sacked the city including the temple of claudius where the procurators guard took their heroic final stand we were almost encircled by the enemy force who seemed possessed of the power to know our thoughts where we were strong they posted only holding forces where we were weak they attacked in strength and when reinforcements attempted to join us they were attacked on route we survivors owe our lives and our thanks to gnaeus julius agricola who in a time of great emergency recognised the strategy of the insurgent forces on our left flank and commanded our retreat with moments to spare due to this action the majority of our cavalry were saved along with the reserve forces all other frontline troops have been slaughtered and it is with great sadness and deepest anger i have to report that the ixth legion lost its aquila to the enemy i fear that if we are to save londinium and ver ulan ium from a similar fate we must find the strength to crush this rebellion if we fail then all of britannia is lost this much of agricola s story is widely known but the full truth must remain hidden for now and as remarked by my trusted slave and confidant tiro what better place to hide a book than among books'" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "the shame of my esteemed and noble kinsmen gnaeus julius agricola is a story too often told in the\n", + "taverns of rome for the entertainment of fools and cowards who never once left the safety of that\n", + "great city the loss of the ixth legions standard in battle haunted him throughout his life and only\n", + "his untimely death brought him relief and yet the full depth of his suffering is known only to a few\n", + "and even i was not taken into his confidence until after his death the truth of the peril in which\n", + "he placed the entire roman army was finally revealed to me in the paper she left to me in his will\n", + "among them i found this despatch from sextus varus legatus of the ixth legion to gaius suetonius\n", + "paul linus proconsul and governor of britannia describing the defeat of then in that camu lo donum\n", + "at the writing of this message the iceni have successfully sacked the city including the temple of\n", + "claudius where the procurators guard took their heroic final stand we were almost encircled by the\n", + "enemy force who seemed possessed of the power to know our thoughts where we were strong they posted\n", + "only holding forces where we were weak they attacked in strength and when reinforcements attempted\n", + "to join us they were attacked on route we survivors owe our lives and our thanks to gnaeus julius\n", + "agricola who in a time of great emergency recognised the strategy of the insurgent forces on our\n", + "left flank and commanded our retreat with moments to spare due to this action the majority of our\n", + "cavalry were saved along with the reserve forces all other frontline troops have been slaughtered\n", + "and it is with great sadness and deepest anger i have to report that the ixth legion lost its aquila\n", + "to the enemy i fear that if we are to save londinium and ver ulan ium from a similar fate we must\n", + "find the strength to crush this rebellion if we fail then all of britannia is lost this much of\n", + "agricola s story is widely known but the full truth must remain hidden for now and as remarked by my\n", + "trusted slave and confidant tiro what better place to hide a book than among books\n" + ] } ], "source": [ - "wcat(segment(sanitise(caesar_decipher(c1b, key_b))))" + "print(prettify(sanitise(caesar_decipher(c1b, key_b))))" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -134,13 +152,13 @@ "2058" ] }, - "execution_count": 11, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "open('1b.plaintext', 'w').write(wcat(segment(sanitise(caesar_decipher(c1b, key_b)))))" + "open('1b.plaintext', 'w').write(prettify(sanitise(caesar_decipher(c1b, key_b))))" ] }, { @@ -167,7 +185,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge2.ipynb b/2017/2017-challenge2.ipynb index 4f5eae3..ff2624d 100644 --- a/2017/2017-challenge2.ipynb +++ b/2017/2017-challenge2.ipynb @@ -14,7 +14,11 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from cipher.affine import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.column_transposition import *\n", + "from support.text_prettify import *\n", "\n", "ca = open('2a.ciphertext').read()\n", "cb = open('2b.ciphertext').read()" @@ -22,16 +26,16 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(14, -3007.03777360488)" + "(14, -3006.9125209110575)" ] }, - "execution_count": 7, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -43,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -65,16 +69,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "((5, 16, True), -2842.001592719175)" + "((5, 16, True), -2842.062950889474)" ] }, - "execution_count": 9, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -86,7 +90,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -108,16 +112,16 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(('cairo', ), -2538.6915458754715)" + "(('cairo', ), -2538.6487026668074)" ] }, - "execution_count": 12, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -129,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -151,7 +155,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -160,7 +164,7 @@ "2530" ] }, - "execution_count": 15, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -171,16 +175,16 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(0, -2059.1045635741802)" + "(0, -2059.063429379348)" ] }, - "execution_count": 16, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -192,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -201,7 +205,7 @@ "'tel uutrfetnehioyitbephn da he i ood rul tie rate fre haedugsioafdeiielcgn esr pine oe reo on rhftodcrdvlsrvtdbtm moss an fnsrwturawteernofgvp uhehloastieeaooenxih btn rees tv armed hb lccelrocshnpicctvvbu a esd adam a at ids neat res at mwr oitdteoafutoteeiltiu song lro a ae alle of lts htnirwtalnrdornnef sort y ont frith lee doer do i gewitneeyolivmedttud are on du th gti set tfbrosfnrtmrutlkwg to dinu do by rfr deot tut see e ov yeeeah yau at fdot a i at rec ihfnhpaouerseselupsh lsr to wcg to eu to at raoeceyvteeeiadesmaw aetna ihieysrlemritmtchrei or nh et stop eeg mhi hau at bal of uno ho is hceoirnsdgasbboohaes ileaigageefiwgtyhwuh tue ruts held ei on oe fniienhosasnoueiytih net tsnfbsueihossiurdenl md oh yom re a as i wst gmt nrao ocmfihlnaedcariwrrd tel nsgjerurncsoegttlfca a tri rels sri do eeo ssi knuth ndt ltnribbaadsehyetppbo am thd neg epic nj chf ciypiuireectlsdewodc ter fi set et dnntgabopgsenlaaodc bed htrmoelrserruuevstrw id ftb as bott tah wear o lori bnc kg mft to cree vt seb nmr ur heed see sioylsioeuoioroubtao cneacaadlttnndeobeea niue yu cee dc no in ich mm tte oyaauwerodolstiiheiy pro hltvoueeoisdpuoiohlr hla iaea du loel pepa ahnohtarnuiibcdtsh set uaihulalcnooefawo an rene hhreuvecfdoidotrwlrr tslsa iv uta ebi i hi a heat scc we sdetwihntehettuuohh teidvttereoybcsttehh need tart to dau maes gaed muurveoxnssftnnmiehn note to svbolrhwebuentvdsrs cleb gats us do to a ihl nst nish doo a lee hon rsc pstn i this pdb nc soes ft nei see sebi wtewuretnyltaadeutdd noce ruh a edie le marino c insmod an few si see ocle lroefcldhiaatihoeaw der hls etna cyan mhoaihtftahacoehaes lrtwkeodnltehhonbnqo at hhaeltnjbrnihutinltz ctrn copes mag flo en tures n led an env n he an i eio set r the hm faa co arni uri guoesneeethdntuowpg afc eng us ie it esoeosrtebcefrnhutr fiigs das ah pate due retd berr tec in hey serr end is sdet dmo css pres gei eu ups erath ferfbceoacsmhsefgq at eaettlwttoavteefepao aol as oee et to ie i int fay lo lee fs'" ] }, - "execution_count": 17, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -212,16 +216,16 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "((1, 0, True), -2059.1045635741802)" + "((1, 0, True), -2059.063429379348)" ] }, - "execution_count": 18, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -233,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -250,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -273,27 +277,44 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 20, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion of the seriousness of the situation returned from subduing rebels on the island of mona and confronted the enemy at viro conium a she travelled back along watling street in his own words despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of the battleground and tactics ensured our decisive and glorious victory whoever masterminded the battle the enemy lost many thousands against just a few hundred of our own troops and agricola was left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her situation took her own life cursing the ixth legion as she died but a battle is not a war and the true peril was about to be revealed a captured enemy spy revealed that they had be enable to decipher captured battle orders and communications which had been encrypted using the caesar cipher this device invented by julius caesar himself had secured military and diplomatic communications across the empire for decades it was no longer safe and neither were we suetonius s despatches to the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt that agricola was to blame for the uprising the loss of the legions aquila was said to have encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who engineered the defeat of the tribes on watling street but if you wish to know the truth of that day then you will need to travel further to the isle of thorns'" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were\n", + "joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the\n", + "cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion\n", + "of the seriousness of the situation returned from subduing rebels on the island of mona and\n", + "confronted the enemy at viro conium a she travelled back along watling street in his own words\n", + "despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of\n", + "the battleground and tactics ensured our decisive and glorious victory whoever masterminded the\n", + "battle the enemy lost many thousands against just a few hundred of our own troops and agricola was\n", + "left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt\n", + "over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her\n", + "situation took her own life cursing the ixth legion as she died but a battle is not a war and the\n", + "true peril was about to be revealed a captured enemy spy revealed that they had be enable to\n", + "decipher captured battle orders and communications which had been encrypted using the caesar cipher\n", + "this device invented by julius caesar himself had secured military and diplomatic communications\n", + "across the empire for decades it was no longer safe and neither were we suetonius s despatches to\n", + "the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt\n", + "that agricola was to blame for the uprising the loss of the legions aquila was said to have\n", + "encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for\n", + "the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who\n", + "engineered the defeat of the tribes on watling street but if you wish to know the truth of that day\n", + "then you will need to travel further to the isle of thorns\n" + ] } ], "source": [ - "wcat(segment(cat(cat(zr) for zr in zip(*[sanitise(r) for r in cb.split('\\n')]))))" + "print(prettify(cat(cat(zr) for zr in zip(*[sanitise(r) for r in cb.split('\\n')]))))" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -302,7 +323,7 @@ "274" ] }, - "execution_count": 24, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -313,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -322,7 +343,7 @@ "6" ] }, - "execution_count": 33, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -333,22 +354,39 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 21, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion of the seriousness of the situation returned from subduing rebels on the island of mona and confronted the enemy at viro conium a she travelled back along watling street in his own words despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of the battleground and tactics ensured our decisive and glorious victory whoever masterminded the battle the enemy lost many thousands against just a few hundred of our own troops and agricola was left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her situation took her own life cursing the ixth legion as she died but a battle is not a war and the true peril was about to be revealed a captured enemy spy revealed that they had be enable to decipher captured battle orders and communications which had been encrypted using the caesar cipher this device invented by julius caesar himself had secured military and diplomatic communications across the empire for decades it was no longer safe and neither were we suetonius s despatches to the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt that agricola was to blame for the uprising the loss of the legions aquila was said to have encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who engineered the defeat of the tribes on watling street but if you wish to know the truth of that day then you will need to travel further to the isle of thorns'" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were\n", + "joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the\n", + "cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion\n", + "of the seriousness of the situation returned from subduing rebels on the island of mona and\n", + "confronted the enemy at viro conium a she travelled back along watling street in his own words\n", + "despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of\n", + "the battleground and tactics ensured our decisive and glorious victory whoever masterminded the\n", + "battle the enemy lost many thousands against just a few hundred of our own troops and agricola was\n", + "left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt\n", + "over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her\n", + "situation took her own life cursing the ixth legion as she died but a battle is not a war and the\n", + "true peril was about to be revealed a captured enemy spy revealed that they had be enable to\n", + "decipher captured battle orders and communications which had been encrypted using the caesar cipher\n", + "this device invented by julius caesar himself had secured military and diplomatic communications\n", + "across the empire for decades it was no longer safe and neither were we suetonius s despatches to\n", + "the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt\n", + "that agricola was to blame for the uprising the loss of the legions aquila was said to have\n", + "encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for\n", + "the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who\n", + "engineered the defeat of the tribes on watling street but if you wish to know the truth of that day\n", + "then you will need to travel further to the isle of thorns\n" + ] } ], "source": [ - "wcat(segment(column_transposition_decipher(sanitise(cb), \n", + "print(prettify(column_transposition_decipher(sanitise(cb), \n", " tuple(range(274)), \n", " fillcolumnwise=True, \n", " emptycolumnwise=False)))" @@ -356,22 +394,39 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 22, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion of the seriousness of the situation returned from subduing rebels on the island of mona and confronted the enemy at viro conium a she travelled back along watling street in his own words despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of the battleground and tactics ensured our decisive and glorious victory whoever masterminded the battle the enemy lost many thousands against just a few hundred of our own troops and agricola was left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her situation took her own life cursing the ixth legion as she died but a battle is not a war and the true peril was about to be revealed a captured enemy spy revealed that they had be enable to decipher captured battle orders and communications which had been encrypted using the caesar cipher this device invented by julius caesar himself had secured military and diplomatic communications across the empire for decades it was no longer safe and neither were we suetonius s despatches to the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt that agricola was to blame for the uprising the loss of the legions aquila was said to have encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who engineered the defeat of the tribes on watling street but if you wish to know the truth of that day then you will need to travel further to the isle of thorns'" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were\n", + "joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the\n", + "cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion\n", + "of the seriousness of the situation returned from subduing rebels on the island of mona and\n", + "confronted the enemy at viro conium a she travelled back along watling street in his own words\n", + "despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of\n", + "the battleground and tactics ensured our decisive and glorious victory whoever masterminded the\n", + "battle the enemy lost many thousands against just a few hundred of our own troops and agricola was\n", + "left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt\n", + "over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her\n", + "situation took her own life cursing the ixth legion as she died but a battle is not a war and the\n", + "true peril was about to be revealed a captured enemy spy revealed that they had be enable to\n", + "decipher captured battle orders and communications which had been encrypted using the caesar cipher\n", + "this device invented by julius caesar himself had secured military and diplomatic communications\n", + "across the empire for decades it was no longer safe and neither were we suetonius s despatches to\n", + "the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt\n", + "that agricola was to blame for the uprising the loss of the legions aquila was said to have\n", + "encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for\n", + "the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who\n", + "engineered the defeat of the tribes on watling street but if you wish to know the truth of that day\n", + "then you will need to travel further to the isle of thorns\n" + ] } ], "source": [ - "wcat(segment(column_transposition_decipher(sanitise(cb), \n", + "print(prettify(column_transposition_decipher(sanitise(cb), \n", " tuple(range(6)), \n", " fillcolumnwise=False, \n", " emptycolumnwise=True)))" @@ -379,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -388,16 +443,16 @@ "1999" ] }, - "execution_count": 32, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "open('2b.plaintext', 'w').write(wcat(segment(column_transposition_decipher(sanitise(cb), \n", + "open('2b.plaintext', 'w').write(prettify(column_transposition_decipher(sanitise(cb), \n", " tuple(range(274)), \n", " fillcolumnwise=True, \n", - " emptycolumnwise=False))))" + " emptycolumnwise=False)))" ] }, { @@ -424,7 +479,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge3.ipynb b/2017/2017-challenge3.ipynb index 715c7f2..29b37cf 100644 --- a/2017/2017-challenge3.ipynb +++ b/2017/2017-challenge3.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 116, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,11 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.caesar import *\n", + "from cipher.affine import *\n", + "from cipher.polybius import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", "\n", "ca = open('3a.ciphertext').read()\n", "cb = open('3b.ciphertext').read()" @@ -22,16 +26,16 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(24, -2521.8292883073464)" + "(24, -2521.8122372384537)" ] }, - "execution_count": 117, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -43,7 +47,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 4, "metadata": { "scrolled": true }, @@ -77,16 +81,16 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "((7, 22, True), -2146.2748427553324)" + "((7, 22, True), -2146.240223193519)" ] }, - "execution_count": 119, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -98,7 +102,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -130,7 +134,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -139,7 +143,7 @@ "2163" ] }, - "execution_count": 121, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -150,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -159,7 +163,7 @@ "Counter({'c': 1064, 'd': 1368, 'l': 756, 'm': 566, 'x': 1092})" ] }, - "execution_count": 122, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -170,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -195,14 +199,14 @@ " ('ll', 45),\n", " ('lx', 41),\n", " ('md', 36),\n", - " ('mx', 27),\n", " ('xl', 27),\n", + " ('mx', 27),\n", " ('lm', 12),\n", " ('mc', 5),\n", " ('dx', 1)]" ] }, - "execution_count": 123, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -213,7 +217,7 @@ }, { "cell_type": "code", - "execution_count": 183, + "execution_count": 10, "metadata": { "scrolled": true }, @@ -224,7 +228,7 @@ "'etoainhsrdlumwycfgpbvkxqz'" ] }, - "execution_count": 183, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -236,16 +240,16 @@ }, { "cell_type": "code", - "execution_count": 184, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'etoanisrhdlufcmwgbypvkxqz'" + "'etoanisrhdlufcmwgybpvkxqz'" ] }, - "execution_count": 184, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -259,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": 185, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -268,7 +272,7 @@ }, { "cell_type": "code", - "execution_count": 186, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -293,14 +297,14 @@ " 'll',\n", " 'lx',\n", " 'md',\n", - " 'mx',\n", " 'xl',\n", + " 'mx',\n", " 'lm',\n", " 'mc',\n", " 'dx']" ] }, - "execution_count": 186, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -312,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -321,7 +325,7 @@ "24" ] }, - "execution_count": 187, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -332,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 188, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -356,15 +360,15 @@ " 'mc': 'X',\n", " 'md': 'B',\n", " 'ml': 'M',\n", - " 'mx': 'P',\n", + " 'mx': 'V',\n", " 'xc': 'U',\n", " 'xd': 'D',\n", - " 'xl': 'V',\n", + " 'xl': 'P',\n", " 'xm': 'E',\n", " 'xx': 'O'}" ] }, - "execution_count": 188, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -376,7 +380,7 @@ }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1385,7 +1389,7 @@ " ...]" ] }, - "execution_count": 189, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -1398,16 +1402,16 @@ }, { "cell_type": "code", - "execution_count": 190, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'MHALEATASTIFETHOTSFETNRAFSSETFWTHEYAROLVOTTLEMATHVNFDAUUOOTMOTLARGSTIEETHEHODREATHEITHETINNWSRNITHETOUTAUOLOVALATBTNNPEIUNCETHEHFGERFCEIAUOLDASODPORTOGEYOUEDVBHASOICBMATHNFTTHESFWWNITNYOGIAUNLOORDHASTOLERTEDSUNFTSDEYEOTMNFLDHOPEVEERAREPATOVLEORDMATHATTHELNSSNYVIATORRAOHOPARGIEOLASEDTHOTTHEAUERAMEIEIEODARGHASUNCCFRAUOTANRSOGIAUNLOOIIORGEDTNWLORTYOLSEARYNICOTANROVNFTTHEWLORREDDASWNSATANRNYTINNWSSETTARGOTIOWARTNMHAUHTHEAUERAYELLATASSTALLFRULEOIHNMTHESOPOGETIAVESHODLEOIREDTNDEUAWHEINFIOICBSUNCCFRAUOTANRSOSTHEBHODRNMIATARGNYTHEAINMRHNMEPEIEPEIBOICBHOSATSTIOATNISORDATSEECSLAKELBTNCETHOTNRENICNIENYTHELNUOLTIAVESWENWLETFIREDSNCENRESHEODLNPENICNREBATASOLLTIEOUHEIBVFTTHASOUTTHIEOTEREDTNFRDEICARETHEECWAIESERTAIESBSTECNYSEUFIEUNCCFRAUOTANRTHEUOESOIUAWHEIWEIHOWSCNIETHORINODSHODEROVLEDTHEECWAIETNYFRUTANRSEUFIELBORDATSLNSSMOSODASOSTEITFIRARGTHOTLNSSARTNOPAUTNIBNRTHEVOTTLEYAELDDESEIPEDCNIEIEUNGRATANRTHORATIEUEAPEDWEIHOWSSFETNRAFSREPEIKREMNIWEIHOWSHEYOALEDTNFRDEISTORDTHEUFRRARGNYTHEWLORVFTEATHEIMOBDESWATETHEPAUTNIBOGIAUNLOORDTHERARTHLEGANRIECOAREDARDASGIOUENRHEOIARGTHASREMSULOFDAFSUOESOIOFGFSTFSGEICORAUFSREINECWEINIASSFEDOSEUIETWINULOCOTANRESTOVLASHARGOUAWHEISUHNNLTNDEPELNWOREMSBSTECNYACWEIAOLUAWHEISATMNIKEDARSEUIETYNINPEITMERTBBEOISDEPELNWARGREMCETHNDSTNSEUFIEUNCCFRAUOTANRSOUINSSTHEECWAIESTFDBARGTHEMNIKSNYTHEGIEEKSOGESEFULADORDHBWOTAOORDEPERNLDEIMNIKSYINCORUAERTVOVBLNRTHESUHNNLDEPELNWEDREMMOBSTNSOYEGFOIDUNCCFRAUOTANRSYINCINCESERECAESTHESEREMSBSTECSMEIEMIATTERDNMRORDDASTIAVFTEDARTHEUNDEXNUUFLTNIFCWEIHOWSTHECNSTSTIAUTLBGFOIDEDDNUFCERTAROLLHASTNIBMHERATMOSYAROLLBUNCWLETEDCORBBEOISLOTEITHEECWEINIDNCATAORASSFEDOREXEUFTAPENIDEIMHAUHWIEYOUEDEPEIBUNWBNYTHEUNDEXTHOTATMOSTNVEGFOIDEDVBEPEIBLEGANRTNTHELOSTCORTHEDEYEOTNYTHEAUERAORDTHESFAUADENYVNFDAUUOWEIHOWSWINTEUTEDTHERARTHLEGANRYINCDASSNLFTANROGIAUNLOMOSLOIGELBLEYTTNHASNMRDEPAUESARTHEWINPARUETHNFGHATMOSCODEULEOITNHACTHOTTNIETFIRMNFLDCEOROTVESTDASGIOUEORDOTMNISTDEOTHAROVIEOKMATHTIODATANRTHERARTHIOASEDOREMSTORDOIDTHELEGANRMOSEXALEDARDASGIOUETNERDFIETHEHOIDORDDORGEINFSMNIKNYSFVDFARGTHEUOLEDNRAAARTHEVLEOKMALDEIRESSESNYUOLEDNRAOSFETNRAFSNIDEIEDTHERARTHTNCOIUHTNEVNIOUFCMHAUHTHEBMEIETNCOKETHEAIVOSEYNIIOADSARTNUOLEDNRAOTHEFRSWNKERIEOSNRYNITHEAIEXALEMOSTHOTARTELLAGERUEIEWNITSSFGGESTEDTHOTTHASMOSMHEIETHEBCAGHTYARDTHEAILNSTOQFALOTHNSEMHNMNFLDIEODNRCFSTYNLLNMCBYOATHYFLSLOPETAINMHNYOUESOGIOPETOSKWEIHOWSTHELOIGESTTNDOTEOSHETIOPELSTNUNRUEOLTHEYNFITHUHOWTEINYTHASTIOGAUTOLE'" + "'MHALEATASTIFETHOTSFETNRAFSSETFWTHEYAROLPOTTLEMATHPNFDAUUOOTMOTLARGSTIEETHEHODREATHEITHETINNWSRNITHETOUTAUOLOPALATBTNNVEIUNCETHEHFGERFCEIAUOLDASODVORTOGEYOUEDPBHASOICBMATHNFTTHESFWWNITNYOGIAUNLOORDHASTOLERTEDSUNFTSDEYEOTMNFLDHOVEPEERAREVATOPLEORDMATHATTHELNSSNYPIATORRAOHOVARGIEOLASEDTHOTTHEAUERAMEIEIEODARGHASUNCCFRAUOTANRSOGIAUNLOOIIORGEDTNWLORTYOLSEARYNICOTANROPNFTTHEWLORREDDASWNSATANRNYTINNWSSETTARGOTIOWARTNMHAUHTHEAUERAYELLATASSTALLFRULEOIHNMTHESOVOGETIAPESHODLEOIREDTNDEUAWHEINFIOICBSUNCCFRAUOTANRSOSTHEBHODRNMIATARGNYTHEAINMRHNMEVEIEVEIBOICBHOSATSTIOATNISORDATSEECSLAKELBTNCETHOTNRENICNIENYTHELNUOLTIAPESWENWLETFIREDSNCENRESHEODLNVENICNREBATASOLLTIEOUHEIBPFTTHASOUTTHIEOTEREDTNFRDEICARETHEECWAIESERTAIESBSTECNYSEUFIEUNCCFRAUOTANRTHEUOESOIUAWHEIWEIHOWSCNIETHORINODSHODEROPLEDTHEECWAIETNYFRUTANRSEUFIELBORDATSLNSSMOSODASOSTEITFIRARGTHOTLNSSARTNOVAUTNIBNRTHEPOTTLEYAELDDESEIVEDCNIEIEUNGRATANRTHORATIEUEAVEDWEIHOWSSFETNRAFSREVEIKREMNIWEIHOWSHEYOALEDTNFRDEISTORDTHEUFRRARGNYTHEWLORPFTEATHEIMOBDESWATETHEVAUTNIBOGIAUNLOORDTHERARTHLEGANRIECOAREDARDASGIOUENRHEOIARGTHASREMSULOFDAFSUOESOIOFGFSTFSGEICORAUFSREINECWEINIASSFEDOSEUIETWINULOCOTANRESTOPLASHARGOUAWHEISUHNNLTNDEVELNWOREMSBSTECNYACWEIAOLUAWHEISATMNIKEDARSEUIETYNINVEITMERTBBEOISDEVELNWARGREMCETHNDSTNSEUFIEUNCCFRAUOTANRSOUINSSTHEECWAIESTFDBARGTHEMNIKSNYTHEGIEEKSOGESEFULADORDHBWOTAOORDEVERNLDEIMNIKSYINCORUAERTPOPBLNRTHESUHNNLDEVELNWEDREMMOBSTNSOYEGFOIDUNCCFRAUOTANRSYINCINCESERECAESTHESEREMSBSTECSMEIEMIATTERDNMRORDDASTIAPFTEDARTHEUNDEXNUUFLTNIFCWEIHOWSTHECNSTSTIAUTLBGFOIDEDDNUFCERTAROLLHASTNIBMHERATMOSYAROLLBUNCWLETEDCORBBEOISLOTEITHEECWEINIDNCATAORASSFEDOREXEUFTAVENIDEIMHAUHWIEYOUEDEVEIBUNWBNYTHEUNDEXTHOTATMOSTNPEGFOIDEDPBEVEIBLEGANRTNTHELOSTCORTHEDEYEOTNYTHEAUERAORDTHESFAUADENYPNFDAUUOWEIHOWSWINTEUTEDTHERARTHLEGANRYINCDASSNLFTANROGIAUNLOMOSLOIGELBLEYTTNHASNMRDEVAUESARTHEWINVARUETHNFGHATMOSCODEULEOITNHACTHOTTNIETFIRMNFLDCEOROTPESTDASGIOUEORDOTMNISTDEOTHAROPIEOKMATHTIODATANRTHERARTHIOASEDOREMSTORDOIDTHELEGANRMOSEXALEDARDASGIOUETNERDFIETHEHOIDORDDORGEINFSMNIKNYSFPDFARGTHEUOLEDNRAAARTHEPLEOKMALDEIRESSESNYUOLEDNRAOSFETNRAFSNIDEIEDTHERARTHTNCOIUHTNEPNIOUFCMHAUHTHEBMEIETNCOKETHEAIPOSEYNIIOADSARTNUOLEDNRAOTHEFRSWNKERIEOSNRYNITHEAIEXALEMOSTHOTARTELLAGERUEIEWNITSSFGGESTEDTHOTTHASMOSMHEIETHEBCAGHTYARDTHEAILNSTOQFALOTHNSEMHNMNFLDIEODNRCFSTYNLLNMCBYOATHYFLSLOVETAINMHNYOUESOGIOVETOSKWEIHOWSTHELOIGESTTNDOTEOSHETIOVELSTNUNRUEOLTHEYNFITHUHOWTEINYTHASTIOGAUTOLE'" ] }, - "execution_count": 190, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1419,16 +1423,16 @@ }, { "cell_type": "code", - "execution_count": 192, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'while it is true that suetonius setup the final battle with boudicca at watling street he had neither the troops nor the tactical ability to overcome the huge numerical disadvantage faced by his army without the support of agricola and his talented scouts defeat would have been inevitable and with it the loss of britannia having realised that the iceni were reading his communications agricola arranged to plant false information about the planned disposition of troops setting a trap into which the iceni fell it is still unclear how the savage tribes had learned to decipher our army s communications as they had no writing of their own however every army has its traitors and it seems likely to me that one or more of the local tribespeople turned someones head love or money it is all treachery but this act threatened to undermine the empires entire system of secure communication the caesar cipher perhaps more than roads had enabled the empire to function securely and its loss was a disaster turning that loss into a victory on the battlefield deserved more recognition than it received perhaps suetonius never knew or perhaps he failed to understand the cunning of the plan but either way despite the victory agricola and the ninth legion remained in disgrace on hearing this news claudius caesar augustus germanicus nero emperor issued a secret proclamation establishing a cipher school to develop a new system of imperial ciphers it worked in secret for over twenty years developing new methods to secure communications across the empire studying the works of the greeks ages euclid and hypatia and even older works from ancient babylon the school developed new ways to safeguard communications from rome s enemies these new systems were written down and distributed in the codex occult orum perhaps the most strictly guarded document in all history when it was finally completed many years later the emperor domitian issued an executive order which prefaced every copy of the codex that it was to be guarded by every legion to the last man the defeat of the iceni and the suicide of boudicca perhaps protected the ninth legion from dissolution agricola was largely left to his own devices in the province though it was made clear to him that to return would mean at best disgrace and at worst death in a break with tradition the ninth raised a new standard the legion was exiled in disgrace to endure the hard and dangerous work of subduing the caledon ii in the bleak wildernesses of caledonia suetonius ordered the ninth to march toe bora cum which they were to make their base for raids into caledonia the unspoken reason for their exile was that intelligence reports suggested that this was where they might find their lost aquila those who would read on must follow my faithful slave tiro who faces a grave task perhaps the largest to date a she travels to conceal the fourth chapter of this tragic tale'" + "'while it is true that suetonius setup the final vat tle with vou di ccaat watling street he had neither the troops nor the tactical avi lity to ober come the huge numerical disad ban tage faced vy his army without the support of agricola and his talented scouts defeat would habe veen in ebita vle and with it the loss of vr it anni ahab ing realised that the iceni were reading his communications agricola arranged to plant false information av out the planned disposition of troops setting a trap into which the iceni fell it is still unclear how the saba get rives had learned to decipher our army s communications as they had no writing of their own howe be reber y army has its traitors and it seems likely to me that one or more of the local t rives people turned someones head lobe or money it is all treachery vut this act threatened to undermine the empires entire system of secure communication the caesar cipher perhaps more than road shade nav led the empire to function securely and its loss was a disaster turning that loss into a bic tory on the vat tle field deser bed more recognition than it recei bed perhaps suetonius ne berk new or perhaps he failed to understand the cunning of the plan vut either way despite the bic tory agricola and the ninth legion remained in disgrace on hearing this news claudius caesar augustus germanicus nero emperor issued a secret proclamation est av lishing a cipher school to de belo pa new system of imperial ciphers it worked in secret for ober twenty years deb eloping new methods to secure communications across the empire studying the works of the greeks ages euclid and hypatia and eben older works from ancient vav yl on the school deb eloped new ways to safeguard communications from rome s enemies these new systems were written down and distri vu ted in the codex occult orum perhaps the most strictly guarded document in all history when it was finally completed many years later the emperor domitian issued an execut i be order which preface de bery copy of the codex that it was to ve guarded vye bery legion to the last man the defeat of the iceni and the suicide of vou dic ca perhaps protected the ninth legion from dissolution agricola was largely left to his own debi ces in the prob in ce though it was made clear to him that to return would mean at vest disgrace and at worst death in av reak with tradition the ninth raised a new standard the legion was exiled in disgrace to endure the hard and dangerous work of suv du ing the caledon ii in the v leak wildernesses of caledonia suetonius ordered the ninth to march to evora cum which they were to make their vase for raids into caledonia the unspoken reason for their exile was that intelligence reports suggested that this was where they might find their lost aquila those who would read on must follow my faithful sla be tiro who faces agra be task perhaps the largest to date a she trabel s to conceal the fourth chapter of this tragic tale'" ] }, - "execution_count": 192, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1470,27 +1474,27 @@ }, { "cell_type": "code", - "execution_count": 193, + "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "2922" + "2969" ] }, - "execution_count": 193, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "open('3b.plaintext', 'w').write(wcat(segment(scbpt.translate(tt))))" + "open('3b.plaintext', 'w').write(prettify(scbpt.translate(tt)))" ] }, { "cell_type": "code", - "execution_count": 194, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1522,7 +1526,7 @@ " 'Y': 'f'}" ] }, - "execution_count": 194, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1533,7 +1537,7 @@ }, { "cell_type": "code", - "execution_count": 195, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -1557,15 +1561,15 @@ " 'mc': 'x',\n", " 'md': 'y',\n", " 'ml': 'w',\n", - " 'mx': 'v',\n", + " 'mx': 'b',\n", " 'xc': 'c',\n", " 'xd': 'd',\n", - " 'xl': 'b',\n", + " 'xl': 'v',\n", " 'xm': 'e',\n", " 'xx': 'a'}" ] }, - "execution_count": 195, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1577,7 +1581,7 @@ }, { "cell_type": "code", - "execution_count": 196, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -1586,18 +1590,18 @@ }, { "cell_type": "code", - "execution_count": 197, + "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "abcde\n", + "avcde\n", "fghik\n", "lmnop\n", "qrstu\n", - "vwxy\n" + "bwxy\n" ] } ], @@ -1611,7 +1615,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -1620,36 +1624,62 @@ }, { "cell_type": "code", - "execution_count": 199, + "execution_count": 25, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "'while it is true that suetonius setup the final battle with boudicca at watling street he had neither the troops nor the tactical ability to overcome the huge numerical disadvantage faced by his army without the support of agricola and his talented scouts defeat would have been inevitable and with it the loss of britannia having realised that the iceni were reading his communications agricola arranged to plant false information about the planned disposition of troops setting a trap into which the iceni fell it is still unclear how the savage tribes had learned to decipher our army s communications as they had no writing of their own however every army has its traitors and it seems likely to me that one or more of the local tribespeople turned someones head love or money it is all treachery but this act threatened to undermine the empires entire system of secure communication the caesar cipher perhaps more than roads had enabled the empire to function securely and its loss was a disaster turning that loss into a victory on the battlefield deserved more recognition than it received perhaps suetonius never knew or perhaps he failed to understand the cunning of the plan but either way despite the victory agricola and the ninth legion remained in disgrace on hearing this news claudius caesar augustus germanicus nero emperor issued a secret proclamation establishing a cipher school to develop a new system of imperial ciphers it worked in secret for over twenty years developing new methods to secure communications across the empire studying the works of the greeks ages euclid and hypatia and even older works from ancient babylon the school developed new ways to safeguard communications from rome s enemies these new systems were written down and distributed in the codex occult orum perhaps the most strictly guarded document in all history when it was finally completed many years later the emperor domitian issued an executive order which prefaced every copy of the codex that it was to be guarded by every legion to the last man the defeat of the iceni and the suicide of boudicca perhaps protected the ninth legion from dissolution agricola was largely left to his own devices in the province though it was made clear to him that to return would mean at best disgrace and at worst death in a break with tradition the ninth raised a new standard the legion was exiled in disgrace to endure the hard and dangerous work of subduing the caledon ii in the bleak wildernesses of caledonia suetonius ordered the ninth to march toe bora cum which they were to make their base for raids into caledonia the unspoken reason for their exile was that intelligence reports suggested that this was where they might find their lost aquila those who would read on must follow my faithful slave tiro who faces a grave task perhaps the largest to date a she travels to conceal the fourth chapter of this tragic tale'" - ] - }, - "execution_count": 199, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "while it is true that suetonius setup the final battle with boudicca at watling street he had\n", + "neither the troops nor the tactical ability to overcome the huge numerical disadvantage faced by his\n", + "army without the support of agricola and his talented scouts defeat would have been inevitable and\n", + "with it the loss of britannia having realised that the iceni were reading his communications\n", + "agricola arranged to plant false information about the planned disposition of troops setting a trap\n", + "into which the iceni fell it is still unclear how the savage tribes had learned to decipher our army\n", + "s communications as they had no writing of their own however every army has its traitors and it\n", + "seems likely to me that one or more of the local tribespeople turned someones head love or money it\n", + "is all treachery but this act threatened to undermine the empires entire system of secure\n", + "communication the caesar cipher perhaps more than roads had enabled the empire to function securely\n", + "and its loss was a disaster turning that loss into a victory on the battlefield deserved more\n", + "recognition than it received perhaps suetonius never knew or perhaps he failed to understand the\n", + "cunning of the plan but either way despite the victory agricola and the ninth legion remained in\n", + "disgrace on hearing this news claudius caesar augustus germanicus nero emperor issued a secret\n", + "proclamation establishing a cipher school to develop a new system of imperial ciphers it worked in\n", + "secret for over twenty years developing new methods to secure communications across the empire\n", + "studying the works of the greeks ages euclid and hypatia and even older works from ancient babylon\n", + "the school developed new ways to safeguard communications from rome s enemies these new systems were\n", + "written down and distributed in the codex occult orum perhaps the most strictly guarded document in\n", + "all history when it was finally completed many years later the emperor domitian issued an executive\n", + "order which prefaced every copy of the codex that it was to be guarded by every legion to the last\n", + "man the defeat of the iceni and the suicide of boudicca perhaps protected the ninth legion from\n", + "dissolution agricola was largely left to his own devices in the province though it was made clear to\n", + "him that to return would mean at best disgrace and at worst death in a break with tradition the\n", + "ninth raised a new standard the legion was exiled in disgrace to endure the hard and dangerous work\n", + "of subduing the caledon ii in the bleak wildernesses of caledonia suetonius ordered the ninth to\n", + "march toe bora cum which they were to make their base for raids into caledonia the unspoken reason\n", + "for their exile was that intelligence reports suggested that this was where they might find their\n", + "lost aquila those who would read on must follow my faithful slave tiro who faces a grave task\n", + "perhaps the largest to date a she travels to conceal the fourth chapter of this tragic tale\n" + ] } ], "source": [ - "wcat(segment(polybius_decipher(scb, '', order, order)))" + "print(prettify(polybius_decipher(scb, '', order, order)))" ] }, { "cell_type": "code", - "execution_count": 200, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "True" + "False" ] }, - "execution_count": 200, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -1682,7 +1712,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge4.ipynb b/2017/2017-challenge4.ipynb index d500a15..25e04d0 100644 --- a/2017/2017-challenge4.ipynb +++ b/2017/2017-challenge4.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 19, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -14,7 +14,10 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.vigenere import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", "\n", "ca = open('4a.ciphertext').read()\n", "cb = open('4b.ciphertext').read()" @@ -22,23 +25,7 @@ }, { "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [], - "source": [ - "def tpack(text, width=100):\n", - " lines = [text[0]]\n", - " for word in text[1:]:\n", - " if len(lines[-1]) + 1 + len(word) <= width:\n", - " lines[-1] += (' ' + word)\n", - " else:\n", - " lines += [word]\n", - " return lines" - ] - }, - { - "cell_type": "code", - "execution_count": 20, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -68,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -77,7 +64,7 @@ "(('comportment', ), -2417.7329224996606)" ] }, - "execution_count": 21, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -89,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -119,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -151,7 +138,7 @@ " 'z': 61})" ] }, - "execution_count": 23, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -162,7 +149,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 6, "metadata": { "scrolled": true }, @@ -173,7 +160,7 @@ "'etoainhsrdlumwycfgpbvkxjqz'" ] }, - "execution_count": 24, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -185,7 +172,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -217,7 +204,7 @@ " 's']" ] }, - "execution_count": 25, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -229,7 +216,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -238,7 +225,7 @@ "24" ] }, - "execution_count": 26, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -249,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -281,7 +268,7 @@ " 'Z': 'u'}" ] }, - "execution_count": 43, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -293,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -324,7 +311,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -380,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -413,7 +400,7 @@ " 'y': 'V'}" ] }, - "execution_count": 29, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -424,7 +411,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -457,7 +444,7 @@ " 'Z': 'c'}" ] }, - "execution_count": 30, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -468,7 +455,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -477,7 +464,7 @@ "'bmoqfdaulxtkpivwgejshyrnc'" ] }, - "execution_count": 31, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -488,7 +475,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -497,7 +484,7 @@ "'GAZFREQUNSLIBYCMDXTKHOPJV'" ] }, - "execution_count": 32, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -508,7 +495,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -517,7 +504,7 @@ "2229" ] }, - "execution_count": 33, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -528,135 +515,126 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "('arcanaimperii', -4159.598618934157)" + "2229" ] }, - "execution_count": 34, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "kb, sb = vigenere_frequency_break(sanitise(cb))\n", - "kb, sb" + "keyphrase_4a = 'gaza frequens Libycum: duxit Karthago triumphum!'\n", + "pa = keyword_decipher(ca, keyphrase_4a)\n", + "\n", + "open('4a.plaintext', 'w').write(pa)" ] }, { "cell_type": "code", - "execution_count": 35, - "metadata": { - "scrolled": true - }, + "execution_count": 18, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'over the years the heroic role of agricola at watling street came to the notice of rome and two decades later he was appointed proconsul and governor of britannia by emperor vespasian a few years after his appointment vespasian ss on domitian became emperor and one of his first acts was to issue the order to implement the new imperial ciphers invented by the cipher school in the intervening years the ninth had been left to fight lonely skirmishes and battles from their base ate bora cum with fortitude and resolve they repeatedly drove the barbarians back into the cold heartlands of caledonia during one such skirmish varus was mortally wounded and agricola promoted the tribune marcus fidel i usca to to the legatus of the ninth one day the luck of the ninth seemed to change a reconnaissance squad reported that they had seen the aquila flying from a tree at mons grau pius in a camp ruled by a tribesman called cal gac us the new legatus recognised that the privations of along march had exhausted his men they were not ready for battle and ca to should have sent for reinforcements but the joy of seeing the lost aquila so close at hand clouded his judgement and he launched an attack under the cover of darkness fighting uphill against wave upon wave of barbarians the legions heroic efforts were frustrated by the sun rising to blind them as dawn broke the troops in the frontline gave way with exhaustion and the wild cal gac us dashed out of the sundown the blood soaked slope with his cavalry into the heart of the legion the legion rained flaming arrows upon the enemy and managed to un horse cal gac us taking him prisoner but could make no headway against the savage hordes and were unable to reach the stolen aquila worse was to come while ca to organised a retreat with the prisoner cal gac us in chains the remaining soldiers held the line against repeated charges by caledonian and iceni an tribesmen when the line finally broke ca to and many of the ninth legion had reached safety and took stock the cavalry were safe as were many of the brave legionnaires but to his horror ca to realised that in the battle he had lost the second aquila and worse the legions copy of the codex had also gone the documents left to me by agricola are unclear on this point did he know that the codex might have fallen into enemy hands and that a second aquila had been lost or did ca to assure him that the codex had been destroyed as part of an orderly retreat perhaps ca to was yet to rejoin agricola at the fort and communications from the battle had yet to reach him in a letter to emperor domitian agricola wrote most excellent emperor as you have most graciously requested i have finished my affairs herein britannia in preparation for returning to your side in rome it please sme to report to you that by acts of diplomacy and strength i have persuaded the northern rebels to yield to our army and to turnover to us the rebel cal gac us who has remained free since the wars against boudicca and the iceni his letter appears to have been a reply to new orders from rome in which domitian wrote my esteemed gnaeus upon receipt of your most recent letter i have been most troubled it appears clear to me that the situation in britannia has worsened and so i must ask you to return to meat rome with the utmost speed conduct your remaining affairs in the province and do not undertake any action which mayen flame the current tensions between yourself and the caledon ii the final line of the emperors letter set a deadline for agricola s return i shall expect you to have crossed the rubicon by the end of the year and perhaps he felt that contrition was a safer refuge whatever agricola knew at that point within a month his world had been turned upsidedown as further reports from caledonia made clear that his hope of restoration in the eyes of the emperor were in real jeopardy he set out to recover the two aquilae and to determine what had happened to the codex before returning to rome those who read on must search for the truth in the spiritual home of the amazons'" + "('arcanaimperii', -4159.598618934157)" ] }, - "execution_count": 35, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "wcat(segment(vigenere_decipher(sanitise(cb), kb)))" + "kb, sb = vigenere_frequency_break(sanitise(cb))\n", + "kb, sb" ] }, { "cell_type": "code", - "execution_count": 36, - "metadata": {}, + "execution_count": 19, + "metadata": { + "scrolled": true + }, "outputs": [ { - "data": { - "text/plain": [ - "4084" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "over the years the heroic role of agricola at watling street came to the notice of rome and two\n", + "decades later he was appointed proconsul and governor of britannia by emperor vespasian a few years\n", + "after his appointment vespasian ss on domitian became emperor and one of his first acts was to issue\n", + "the order to implement the new imperial ciphers invented by the cipher school in the intervening\n", + "years the ninth had been left to fight lonely skirmishes and battles from their base ate bora cum\n", + "with fortitude and resolve they repeatedly drove the barbarians back into the cold heartlands of\n", + "caledonia during one such skirmish varus was mortally wounded and agricola promoted the tribune\n", + "marcus fidel i usca to to the legatus of the ninth one day the luck of the ninth seemed to change a\n", + "reconnaissance squad reported that they had seen the aquila flying from a tree at mons grau pius in\n", + "a camp ruled by a tribesman called cal gac us the new legatus recognised that the privations of\n", + "along march had exhausted his men they were not ready for battle and ca to should have sent for\n", + "reinforcements but the joy of seeing the lost aquila so close at hand clouded his judgement and he\n", + "launched an attack under the cover of darkness fighting uphill against wave upon wave of barbarians\n", + "the legions heroic efforts were frustrated by the sun rising to blind them as dawn broke the troops\n", + "in the frontline gave way with exhaustion and the wild cal gac us dashed out of the sundown the\n", + "blood soaked slope with his cavalry into the heart of the legion the legion rained flaming arrows\n", + "upon the enemy and managed to un horse cal gac us taking him prisoner but could make no headway\n", + "against the savage hordes and were unable to reach the stolen aquila worse was to come while ca to\n", + "organised a retreat with the prisoner cal gac us in chains the remaining soldiers held the line\n", + "against repeated charges by caledonian and iceni an tribesmen when the line finally broke ca to and\n", + "many of the ninth legion had reached safety and took stock the cavalry were safe as were many of the\n", + "brave legionnaires but to his horror ca to realised that in the battle he had lost the second aquila\n", + "and worse the legions copy of the codex had also gone the documents left to me by agricola are\n", + "unclear on this point did he know that the codex might have fallen into enemy hands and that a\n", + "second aquila had been lost or did ca to assure him that the codex had been destroyed as part of an\n", + "orderly retreat perhaps ca to was yet to rejoin agricola at the fort and communications from the\n", + "battle had yet to reach him in a letter to emperor domitian agricola wrote most excellent emperor as\n", + "you have most graciously requested i have finished my affairs herein britannia in preparation for\n", + "returning to your side in rome it please sme to report to you that by acts of diplomacy and strength\n", + "i have persuaded the northern rebels to yield to our army and to turnover to us the rebel cal gac us\n", + "who has remained free since the wars against boudicca and the iceni his letter appears to have been\n", + "a reply to new orders from rome in which domitian wrote my esteemed gnaeus upon receipt of your most\n", + "recent letter i have been most troubled it appears clear to me that the situation in britannia has\n", + "worsened and so i must ask you to return to meat rome with the utmost speed conduct your remaining\n", + "affairs in the province and do not undertake any action which mayen flame the current tensions\n", + "between yourself and the caledon ii the final line of the emperors letter set a deadline for\n", + "agricola s return i shall expect you to have crossed the rubicon by the end of the year and perhaps\n", + "he felt that contrition was a safer refuge whatever agricola knew at that point within a month his\n", + "world had been turned upsidedown as further reports from caledonia made clear that his hope of\n", + "restoration in the eyes of the emperor were in real jeopardy he set out to recover the two aquilae\n", + "and to determine what had happened to the codex before returning to rome those who read on must\n", + "search for the truth in the spiritual home of the amazons\n" + ] } ], "source": [ - "open('4b.plaintext', 'w').write(wcat(segment(vigenere_decipher(sanitise(cb), kb))))" + "print(prettify(vigenere_decipher(sanitise(cb), kb)))" ] }, { "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [], - "source": [ - "pb = segment(vigenere_decipher(sanitise(cb), kb))" - ] - }, - { - "cell_type": "code", - "execution_count": 42, + "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['over the years the heroic role of agricola at watling street came to the notice of rome and two',\n", - " 'decades later he was appointed proconsul and governor of britannia by emperor vespasian a few years',\n", - " 'after his appointment vespasian ss on domitian became emperor and one of his first acts was to issue',\n", - " 'the order to implement the new imperial ciphers invented by the cipher school in the intervening',\n", - " 'years the ninth had been left to fight lonely skirmishes and battles from their base ate bora cum',\n", - " 'with fortitude and resolve they repeatedly drove the barbarians back into the cold heartlands of',\n", - " 'caledonia during one such skirmish varus was mortally wounded and agricola promoted the tribune',\n", - " 'marcus fidel i usca to to the legatus of the ninth one day the luck of the ninth seemed to change a',\n", - " 'reconnaissance squad reported that they had seen the aquila flying from a tree at mons grau pius in',\n", - " 'a camp ruled by a tribesman called cal gac us the new legatus recognised that the privations of',\n", - " 'along march had exhausted his men they were not ready for battle and ca to should have sent for',\n", - " 'reinforcements but the joy of seeing the lost aquila so close at hand clouded his judgement and he',\n", - " 'launched an attack under the cover of darkness fighting uphill against wave upon wave of barbarians',\n", - " 'the legions heroic efforts were frustrated by the sun rising to blind them as dawn broke the troops',\n", - " 'in the frontline gave way with exhaustion and the wild cal gac us dashed out of the sundown the',\n", - " 'blood soaked slope with his cavalry into the heart of the legion the legion rained flaming arrows',\n", - " 'upon the enemy and managed to un horse cal gac us taking him prisoner but could make no headway',\n", - " 'against the savage hordes and were unable to reach the stolen aquila worse was to come while ca to',\n", - " 'organised a retreat with the prisoner cal gac us in chains the remaining soldiers held the line',\n", - " 'against repeated charges by caledonian and iceni an tribesmen when the line finally broke ca to and',\n", - " 'many of the ninth legion had reached safety and took stock the cavalry were safe as were many of the',\n", - " 'brave legionnaires but to his horror ca to realised that in the battle he had lost the second aquila',\n", - " 'and worse the legions copy of the codex had also gone the documents left to me by agricola are',\n", - " 'unclear on this point did he know that the codex might have fallen into enemy hands and that a',\n", - " 'second aquila had been lost or did ca to assure him that the codex had been destroyed as part of an',\n", - " 'orderly retreat perhaps ca to was yet to rejoin agricola at the fort and communications from the',\n", - " 'battle had yet to reach him in a letter to emperor domitian agricola wrote most excellent emperor as',\n", - " 'you have most graciously requested i have finished my affairs herein britannia in preparation for',\n", - " 'returning to your side in rome it please sme to report to you that by acts of diplomacy and strength',\n", - " 'i have persuaded the northern rebels to yield to our army and to turnover to us the rebel cal gac us',\n", - " 'who has remained free since the wars against boudicca and the iceni his letter appears to have been',\n", - " 'a reply to new orders from rome in which domitian wrote my esteemed gnaeus upon receipt of your most',\n", - " 'recent letter i have been most troubled it appears clear to me that the situation in britannia has',\n", - " 'worsened and so i must ask you to return to meat rome with the utmost speed conduct your remaining',\n", - " 'affairs in the province and do not undertake any action which mayen flame the current tensions',\n", - " 'between yourself and the caledon ii the final line of the emperors letter set a deadline for',\n", - " 'agricola s return i shall expect you to have crossed the rubicon by the end of the year and perhaps',\n", - " 'he felt that contrition was a safer refuge whatever agricola knew at that point within a month his',\n", - " 'world had been turned upsidedown as further reports from caledonia made clear that his hope of',\n", - " 'restoration in the eyes of the emperor were in real jeopardy he set out to recover the two aquilae',\n", - " 'and to determine what had happened to the codex before returning to rome those who read on must',\n", - " 'search for the truth in the spiritual home of the amazons']" + "4084" ] }, - "execution_count": 42, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "tpack(pb)" + "open('4b.plaintext', 'w').write(prettify(vigenere_decipher(sanitise(cb), kb)))" ] }, { @@ -683,7 +661,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge5.ipynb b/2017/2017-challenge5.ipynb index 214034c..609d017 100644 --- a/2017/2017-challenge5.ipynb +++ b/2017/2017-challenge5.ipynb @@ -14,8 +14,13 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", - "from text_prettify import *\n", + "from cipher.caesar import *\n", + "from cipher.affine import *\n", + "from cipher.keyword_cipher import *\n", + "from cipher.vigenere import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", "\n", "ca = open('5a.ciphertext').read()\n", "cb = open('5b.ciphertext').read()" @@ -25,22 +30,6 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [ - "# def tpack(text, width=100):\n", - "# lines = [text[0]]\n", - "# for word in text[1:]:\n", - "# if len(lines[-1]) + 1 + len(word) <= width:\n", - "# lines[-1] += (' ' + word)\n", - "# else:\n", - "# lines += [word]\n", - "# return lines" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, "outputs": [ { "name": "stdout", @@ -56,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -84,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -93,7 +82,7 @@ "(24, -1733.3180566179738)" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -105,7 +94,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -122,7 +111,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -131,7 +120,7 @@ "((17, 21, True), -1723.2877779777489)" ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -143,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -160,7 +149,28 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(('decoy', ), -1505.1870286708981)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ka, score = keyword_break_mp(sca_text)\n", + "ka, score" + ] + }, + { + "cell_type": "code", + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -169,7 +179,7 @@ "('decoyzabfghijklmnpqrstuvwx', -4117.559010215594)" ] }, - "execution_count": 50, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -185,7 +195,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -232,12 +242,12 @@ ], "source": [ "cipher_translation = ''.maketrans(cipher_alphabet, string.ascii_lowercase)\n", - "print(lcat(tpack(segment(sanitise(ca).translate(cipher_translation)))))" + "print(prettify(sanitise(ca).translate(cipher_translation)))" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -246,7 +256,7 @@ "'etoainhsrdlumwycfgpbvkxjqz'" ] }, - "execution_count": 16, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -258,16 +268,16 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'yrkfdlbqpoisjcumzeathwxgvn'" + "'yrkfdlbqpoisjcumzaewthgxnv'" ] }, - "execution_count": 17, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -279,41 +289,41 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'A': 'p',\n", + "{'A': 'g',\n", " 'B': 'h',\n", " 'C': 'w',\n", " 'D': 'i',\n", - " 'E': 'g',\n", + " 'E': 'p',\n", " 'F': 'a',\n", - " 'G': 'j',\n", - " 'H': 'v',\n", + " 'G': 'x',\n", + " 'H': 'k',\n", " 'I': 'l',\n", " 'J': 'm',\n", " 'K': 'o',\n", " 'L': 'n',\n", " 'M': 'c',\n", - " 'N': 'z',\n", + " 'N': 'q',\n", " 'O': 'd',\n", " 'P': 'r',\n", " 'Q': 's',\n", " 'R': 't',\n", " 'S': 'u',\n", - " 'T': 'b',\n", + " 'T': 'v',\n", " 'U': 'y',\n", - " 'V': 'q',\n", - " 'W': 'k',\n", - " 'X': 'x',\n", + " 'V': 'z',\n", + " 'W': 'b',\n", + " 'X': 'j',\n", " 'Y': 'e',\n", " 'Z': 'f'}" ] }, - "execution_count": 18, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -325,14 +335,14 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "mirki mjnda ehisp noeai rrabe daose lwuvi sclio oedgu tshed adotm iveth ereod exbnu sthel nwils titan othao vshem ikhib egeeo vadoi ccedg utthe rehis geeoo nrios nmdem iodio dther eason thaop muwht npnno herrn nmhid geeor iosiw vedio dshel efton messi pegut snmet haopt ellsm eshea snvio dyesh nuldm nbeno athao vshem ikhib eclio oedth asmei oyhal eahib ethed nwume otjnd aeyio tedfr nmlno dnoad notvo nyhny shevo eygut thefa fthwh icter yisha ddeoa oiwib atkao istno elaot elaos nmere miaos aothe eches usrnn mitth egrat ashmu seuma tyise owrkc tedus aopio nther cnlki lchig etaww acher aobeo tedao theoa oetee othwe oturk aisve dthem useum tntes tatio dthed nwume otasi utheo tawsn apues sthea mcera ilwac hersw hnnlr eillk hidmn bedno cerhi csash nuldo thibe geeos urcra sedif terth edasw nberk itgnd rumgu tatle ibesm eynod eraop yhite lseth ekdeb elnce dnoen ddfei turey isifr aexer uooao prnuo dthre esade snfth elaot elwno sasta opnfi saopl ernyn fgliw viody hatet alest hitth emuse umtha ovyer eidde daoth ernmi ocera ndthe kreid aosez ueowe yyggy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg gyyyg yygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygyyg yyygy gggyg ggygg gyggg ygggy gggyg ggygg gyggg ygggy gggyg ggygg gyggg ygggy gggyg ggygg gyggg ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yygyy ygyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy ygyyy gyyyy gyyyg ggyyy yyggg yyygy yygyy ygyyy gyyyy gggyy gyyyg ygggy yyggg gyygg gyyyg ggyyg ggygy yygyy yygyg yygyy gyyyg yyyyy gygyy ggyyg yygyg yyyyg yyygg yggyg yygyy gyyyy ygyyg yyygy yyygy yygyy ygyyg yyygy gyyyg ygyyy yygyy ygygy gygyg yyygy yygyy ygygy gygyy gyygy yyyyg yyygy ygyyy ygyyg yyygy yyggg ggygg ggyyg yyyyy ggggg ygygy gyggg ggyyy gyyyg yyygy ggggy ygggy yyggg gyyyg yyyyg yyygy yygyy gyyyg ygygy yygyy yyygy yygyg ygygy gyyyg yyygy yygyy ygygy yyyyg yyyyy gygyy yygyy yygyy gyyyg yyygy yygyg yygyy ygyyy ygyyy gygyy ggygy yygyy ygyyy gyyyg ygyyy yygyy yyygy ygyyy gyyyy gyyyg yyygy ygyyy gygyy ygyyy gggyg yyygy gyyyg ygyyy gyygg gyygy yygyg yyyyy ggggy ygyyy gyggg yyggg ygyyy gyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy gyyyg yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yygyy ygygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg ygyyy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy gygyg ygygy yygyy gggyg ggygg gyggg ygggy gggyg ggygg gyggg ygggy gggyg ggygg gyggg ygggy gggyg ggygg gyggg yygyy ygyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyy gyyyg yyygy yygyy ygyyg yyahi beuse dgfnr thegl iwvta lesio dyfnr theyh ateno esatt nnvme iyhal etnfa puren utthi tthef raexe asste pionp richk wnowe ilaop theve kynrd fnrth ewach eraow hicte rfabe yathn utjnd aeaim ontsu reyhe retnp noeqt there ireno lktyn cnssa galat aesis firis awios eegut ahibe onade iyher enoen fthem asiod isfir isawi otell onnoe elsev onyse ather snapu essay allhe idfnr nlkmc aisee knuth ere\n" + "mirbi mxnda ehisg noeai rrave daose lwuki sclio oedpu tshed adotm iketh ereod ejvnu sthel nwils titan othao kshem ibhiv epeeo kadoi ccedp utthe rehis peeoo nrios nmdem iodio dther eason thaog muwht ngnno herrn nmhid peeor iosiw kedio dshel efton messi geput snmet haogt ellsm eshea snkio dyesh nuldm nveno athao kshem ibhiv eclio oedth asmei oyhal eahiv ethed nwume otxnd aeyio tedfr nmlno dnoad notko nyhny sheko eyput thefa fthwh icter yisha ddeoa oiwiv atbao istno elaot elaos nmere miaos aothe eches usrnn mitth eprat ashmu seuma tyise owrbc tedus aogio nther cnlbi lchip etaww acher aoveo tedao theoa oetee othwe oturb aiske dthem useum tntes tatio dthed nwume otasi utheo tawsn agues sthea mcera ilwac hersw hnnlr eillb hidmn vedno cerhi csash nuldo thive peeos urcra sedif terth edasw nverb itpnd rumpu tatle ivesm eynod eraog yhite lseth ebdev elnce dnoen ddfei turey isifr aejer uooao grnuo dthre esade snfth elaot elwno sasta ognfi saogl ernyn fpliw kiody hatet alest hitth emuse umtha okyer eidde daoth ernmi ocera ndthe breid aoseq ueowe yyppy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp pyyyp yypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypyyp yyypy pppyp ppypp pyppp ypppy pppyp ppypp pyppp ypppy pppyp ppypp pyppp ypppy pppyp ppypp pyppp ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yypyy ypyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy ypyyy pyyyy pyyyp ppyyy yyppp yyypy yypyy ypyyy pyyyy pppyy pyyyp ypppy yyppp pyypp pyyyp ppyyp ppypy yypyy yypyp yypyy pyyyp yyyyy pypyy ppyyp yypyp yyyyp yyypp yppyp yypyy pyyyy ypyyp yyypy yyypy yypyy ypyyp yyypy pyyyp ypyyy yypyy ypypy pypyp yyypy yypyy ypypy pypyy pyypy yyyyp yyypy ypyyy ypyyp yyypy yyppp ppypp ppyyp yyyyy ppppp ypypy pyppp ppyyy pyyyp yyypy ppppy ypppy yyppp pyyyp yyyyp yyypy yypyy pyyyp ypypy yypyy yyypy yypyp ypypy pyyyp yyypy yypyy ypypy yyyyp yyyyy pypyy yypyy yypyy pyyyp yyypy yypyp yypyy ypyyy ypyyy pypyy ppypy yypyy ypyyy pyyyp ypyyy yypyy yyypy ypyyy pyyyy pyyyp yyypy ypyyy pypyy ypyyy pppyp yyypy pyyyp ypyyy pyypp pyypy yypyp yyyyy ppppy ypyyy pyppp yyppp ypyyy pyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy pyyyp yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yypyy ypypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp ypyyy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy pypyp ypypy yypyy pppyp ppypp pyppp ypppy pppyp ppypp pyppp ypppy pppyp ppypp pyppp ypppy pppyp ppypp pyppp yypyy ypyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyy pyyyp yyypy yypyy ypyyp yyahi veuse dpfnr thepl iwkta lesio dyfnr theyh ateno esatt nnkme iyhal etnfa guren utthi tthef raeje asste giong richb wnowe ilaog theke bynrd fnrth ewach eraow hicte rfave yathn utxnd aeaim ontsu reyhe retng noezt there ireno lbtyn cnssa palat aesis firis awios eeput ahive onade iyher enoen fthem asiod isfir isawi otell onnoe elsek onyse ather snagu essay allhe idfnr nlbmc aisee bnuth ere\n" ] } ], @@ -343,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -418,12 +428,12 @@ " 'Z': 'f'}\n", "\n", "tt = ''.maketrans(trans)\n", - "print('\\n'.join(tpack(segment(sanitise(ca.translate(tt))))))" + "print(prettify(sanitise(ca.translate(tt))))" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -457,7 +467,7 @@ " 'Z': 'f'}" ] }, - "execution_count": 21, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -468,7 +478,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -502,7 +512,7 @@ " 'z': 'X'}" ] }, - "execution_count": 22, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -513,7 +523,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -559,12 +569,12 @@ } ], "source": [ - "print('\\n'.join(tpack(segment(keyword_decipher(sanitise(ca), 'decoy', KeywordWrapAlphabet.from_last)))))" + "print(prettify(keyword_decipher(sanitise(ca), ka[0], ka[1])))" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -573,18 +583,18 @@ "3362" ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "open('5a.plaintext', 'w').write('\\n'.join(tpack(segment(sanitise(ca.translate(tt))))))" + "open('5a.plaintext', 'w').write(prettify(keyword_decipher(sanitise(ca), ka[0], ka[1])))" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ @@ -613,7 +623,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -622,7 +632,7 @@ "1577" ] }, - "execution_count": 26, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -633,7 +643,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -642,7 +652,7 @@ "1577" ] }, - "execution_count": 27, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -653,7 +663,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -680,7 +690,7 @@ " ' ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ⌷ ']" ] }, - "execution_count": 49, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -692,7 +702,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -701,7 +711,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -710,7 +720,7 @@ "('fwruffnquevmp', -1750.4576000271347)" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -722,7 +732,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -731,7 +741,7 @@ "'nieyqmhcenwlqvchdporosweiohtsshreoihpsvrvusdcostmjezkdeytdhrtasupknropbklngeutgnssthjhhnowgbdwvucncdvofhbdltfpvobiuicirayodpwkpoutibtgcenuhpwachchnbrjydhsfvhqszeuvdcpswatvzmxhsiigkobvcagqcdikfstrvkfggbdkvcvstuvufienwiniasbcecmvdwemkwgtnsyjridowjamhuhnrvxssgewikqxpxhashvwvteulpavioctweavlhtikkkximoikdloikrwswfiojrynulrsgtoktknqcporlruoigivdpeddhrntdmrnucnrioiuetpdnftaipjrewjqtercxzvydhiswrtrneonknnfsyrifcdhedoweptjrechehcptdcehirohbcpniloorntrrrtohgeoandszehilxywfqkrgnphglvcojfbetcietpqmfetkalnahiwixdppersmrihrctseahkhtifbokasoozrjgvvkehjsufarunbrtiswzdmriwcrovhdsdeihdteiiustmjupvkhdiisibjloyrdpyxkusdlwfpsehvevdoiudppehzgvcewnhifrvkfggbdkbidptartnotloihpseehrdipeotmlwbcousicucctsktsrlritcanhpdmrehuinioiuuwirsxtanvjshfwyrkacfihfctdipytegvprdowhfldhycrqhfctswdbnagevitctsufsrofoccprycjgnifeikrthnowgcedfedjwiisdtihszeecfvlwjqgehoeicssaqflthagmncpvvifnreneoiioiulytddhuhkrtzsdpevphodehkctsvfhltophksiepsgcohnrnuseajettlhdwhiepjwcenbtbuecihpijncohouidiqjikpovimvsrfridohvchdporhrmhlpnikpacvjiswwgszeyxrcpragclkvxbporlruoigoviferifridicrskiporsyypwgprszenephnicczvttucvqesuiivqleesvfrhcfgchuswrocjslotcnxtiiswkoieatruninitradpaortylcouoahdpehgukcvlrmrafrntaovetrxvyinpenvniquglltisxgy'" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -742,7 +752,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -751,7 +761,7 @@ "('arcanaimperii', -1506.8637359274674)" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -761,112 +771,10 @@ "kb, score" ] }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'inhisjournaldatedtheidesofoctoberintheyearoftheconsulshipsofcaeceliustulliuscapitopomponianusplotiusfirmusandgaiuscorneliusgallicanusagricolawrotethemysteryofthebattleatcamulodonumisatlastsolvedcalgacusmaybeabarbariannowbuthewasaromancitizenthenwhobetrayedusallforloveofabarbarianithastakenallmyskillsasaleaderofmentokeephimalivethelegionnairesspendtheireveningsdesigningnewandcruelwaystoexecutehiminrevengefortheshamehebroughtuponusbuthislifeispreciousitistheonlycardlefttoplayinoursearchforsalvationandthereturnofthestolenaquilaeifwecanalsorecoverthecodexthenperhapsitslosscanbeconcealedandourliveswillbesparedreleasingtheromantraitorcalgacusmusthavestuckintheproudagricolasthroatbuthemadeapactwiththeremainingcaledoniiandtravellednorthtoexchangetheprisonerfortheaquilaeandthecodexbutthecunningcaledoniantribesmansetanothertrapandpresentedagricolawithaforgerycunninglyassembledwithpagesfromthebooksstolenwhenthetriberansackedmonsgraupiusfortoolongthesonsofromehadunderestimatedthepeopleinbritanniaandwhiletheaquilaofthelegionhadbeenrestoredbytheexchangetheirhonourwasnotagricolafacedareturntoromehumiliationandalmostcertaindeaththesixthchapterofmytaleofwoeisguardedbylightningbullandoak'" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "beaufort_decipher(sanitise(cb), kb)" - ] - }, { "cell_type": "code", "execution_count": 34, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'a'" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "unpos(25 - pos('z'))" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'zyxwvutsrqponmlkjihgfedcba'" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cat(unpos(25 - pos(l)) for l in string.ascii_lowercase)" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'hveheifhbiicuzbbcfgvvnzafwnkqnndivxopvpdionrsyrmjvjlkaehbrfsmvmtvkqrrftcyspatroqqnbndcyiqretamkaszhcaqidtaxmpfrvenkfimmihgrxnvgqtrmcpzsqzpygininbbstddlcomipnnqgqargdgmrkbijtxnubxpuzjzbizesjbvqmutztdzotjzktjvraioamqznxiwnstbedizjnbjurebqqhldegrzvnynjbsdzprnparcknlqxnmryaisrqjxquzevdcijkzsbmmkczinszckaxrmkvnnzzfwlmksajvrzcqdrkqsdfgvyobqfemifqqrjcoilkydqodhdevxbauvrqdmumxaorieubzrdxvrlcowvodkrsqgzzsizvmdvddrnigrzayrlmednqfhqcblgnvrrntkusntzwdqpoddtvypazkhaqgqneyixiiukmcsfngyktqeftzpdmqtupjzjrkdxsunenxybyvqmqtdmfsdcmjkntbmmplvvvmzwvmzzzzcfymmtfumostdtbnzfkydvmddgrccdbjcnapbmmsrmjvtvztbcmmubemtzmdathxksrckiivczbkqzjvxbbyvqwjzzsinsowitztdzotjzenbyrumpsgbbvxopvgqwrcmfivmjtrjsponmsshdcmdrcmxombkjsopkydzblmhevxbkrcdllmuhranozrmdtidpmfedcbfvwkezzfvgrzxizrwkddefedcmrhtqizqzeqdcmtfcmuagskuoxceehvdbmkvqyiqreszfaqrdnxnmkrmwqgqqkekkieuozbrqmkrnvoizbwizihkukawixdzvbgmevxbtprrablnkvqgdbygzobrrqfzdcmsfnsprfncrxrpvespbsdhsrbvvjrbsbcynefqmilghcpeaqkbygwexspbramjbpmwdvgiatzcveonbzdzbbcfgvcojxcvhvyqusraxdireceehxdkuovylzkilefgvyobqfegiaaqdeeonbfidlyxfgvrhxprefmqgqhiuyiwlivipmasrtbdkfcznxbqcreoocieswonydyhwdtzrsqlmmmunvhwjkbmosmheqovbykgmphjsyprvxkvqwclksryojnnfdqpfgziqoyjpchoeszhetlptcrmllzw'" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rscb = cat(unpos(25 - pos(l)) for l in scb)\n", - "rscb" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('zixzmzrnkvirr', -1506.8637359274674)" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "kb, score = vigenere_frequency_break(rscb)\n", - "kb, score" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, "outputs": [ { "data": { @@ -874,198 +782,18 @@ "'inhisjournaldatedtheidesofoctoberintheyearoftheconsulshipsofcaeceliustulliuscapitopomponianusplotiusfirmusandgaiuscorneliusgallicanusagricolawrotethemysteryofthebattleatcamulodonumisatlastsolvedcalgacusmaybeabarbariannowbuthewasaromancitizenthenwhobetrayedusallforloveofabarbarianithastakenallmyskillsasaleaderofmentokeephimalivethelegionnairesspendtheireveningsdesigningnewandcruelwaystoexecutehiminrevengefortheshamehebroughtuponusbuthislifeispreciousitistheonlycardlefttoplayinoursearchforsalvationandthereturnofthestolenaquilaeifwecanalsorecoverthecodexthenperhapsitslosscanbeconcealedandourliveswillbesparedreleasingtheromantraitorcalgacusmusthavestuckintheproudagricolasthroatbuthemadeapactwiththeremainingcaledoniiandtravellednorthtoexchangetheprisonerfortheaquilaeandthecodexbutthecunningcaledoniantribesmansetanothertrapandpresentedagricolawithaforgerycunninglyassembledwithpagesfromthebooksstolenwhenthetriberansackedmonsgraupiusfortoolongthesonsofromehadunderestimatedthepeopleinbritanniaandwhiletheaquilaofthelegionhadbeenrestoredbytheexchangetheirhonourwasnotagricolafacedareturntoromehumiliationandalmostcertaindeaththesixthchapterofmytaleofwoeisguardedbylightningbullandoak'" ] }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "vigenere_decipher(rscb, kb)" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'arcanaimperii'" - ] - }, - "execution_count": 39, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "cat(unpos(25 - pos(l)) for l in kb)" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "in his journal dated the ides of october in the year of the consulships of caec eli us tullius\n", - "capito pompon ian us plot i us firm us and gaius cornelius galli can us agricola wrote the mystery\n", - "of the battle at camu lo donum is at last solved cal gac us maybe a barbarian now but he was a roman\n", - "citizen then who betrayed us all for love of a barbarian it has taken all my skills as a leader of\n", - "men to keep him alive the legionnaires spend their evenings designing new and cruel ways to execute\n", - "him in revenge for the shame he brought upon us but his life is precious it is the only card left to\n", - "play in our search for salvation and the return of the stolen aquilae if we can also recover the\n", - "codex then perhaps its loss can be concealed and our lives will be spared releasing the roman\n", - "traitor cal gac us must have stuck in the proud agricola s throat but he made a pact with the\n", - "remaining caledon ii and travelled north to exchange the prisoner for the aquilae and the codex but\n", - "the cunning caledonian tribesman set another trap and presented agricola with a forgery cunningly\n", - "assembled with pages from the books stolen when the tribe ransacked mons grau pius for too long the\n", - "sons of rome had underestimated the people in britannia and while the aquila of the legion had been\n", - "restored by the exchange their honour was not agricola faced a return to rome humiliation and almost\n", - "certain death the sixth chapter of my tale of woe is guarded by lightning bull and oak\n" - ] - } - ], - "source": [ - "print('\\n'.join(tpack(segment(vigenere_decipher(rscb, kb)))))" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1465" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "open('5b.plaintext', 'w').write('\\n'.join(tpack(segment(vigenere_decipher(rscb, kb)))))" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [], - "source": [ - "# def beaufort_encipher(message, keyword):\n", - "# \"\"\"Beaufort encipher\n", - "\n", - "# >>> beaufort_encipher('inhisjournaldatedtheidesofoctober', 'arcanaimperii')\n", - "# 'sevsvrusyrrxfayyxuteemazudmpjmmwr'\n", - "# \"\"\"\n", - "# shifts = [pos(l) for l in sanitise(keyword)]\n", - "# pairs = zip(message, cycle(shifts))\n", - "# return cat([unpos(k - pos(l)) for l, k in pairs])" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'sevsvrusyrrxfayyxuteemazudmpjmmwr'" - ] - }, - "execution_count": 36, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# beaufort_encipher('inhisjournaldatedtheidesofoctober', 'arcanaimperii')" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "# beaufort_decipher = beaufort_encipher" - ] - }, - { - "cell_type": "code", - "execution_count": 42, - "metadata": {}, - "outputs": [], - "source": [ - "# beaufort_decipher('sevsvrusyrrxfayyxuteemazudmpjmmwr', 'arcanaimperii')" - ] - }, - { - "cell_type": "code", - "execution_count": 43, - "metadata": {}, - "outputs": [], - "source": [ - "# def beaufort_sub_break(message, fitness=Pletters):\n", - "# best_shift = 0\n", - "# best_fit = float('-inf')\n", - "# for key in range(26):\n", - "# plaintext = [unpos(key - pos(l)) for l in message]\n", - "# fit = fitness(plaintext)\n", - "# logger.debug('Beaufort sub break attempt using key {0} gives fit of {1} '\n", - "# 'and decrypt starting: {2}'.format(key, fit,\n", - "# plaintext[:50]))\n", - "# if fit > best_fit:\n", - "# best_fit = fit\n", - "# best_key = key\n", - "# logger.info('Beaufort sub break best fit: key {0} gives fit of {1} and '\n", - "# 'decrypt starting: {2}'.format(best_key, best_fit, \n", - "# cat([unpos(best_key - pos(l)) for l in message[:50]])))\n", - "# return best_key, best_fit" - ] - }, - { - "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "# def beaufort_frequency_break(message, max_key_length=20, fitness=Pletters):\n", - "# \"\"\"Breaks a Beaufort cipher with frequency analysis\n", - "\n", - "# >>> beaufort_frequency_break(beaufort_encipher(sanitise(\"It is time to \" \\\n", - "# \"run. She is ready and so am I. I stole Daniel's pocketbook this \" \\\n", - "# \"afternoon when he left his jacket hanging on the easel in the \" \\\n", - "# \"attic. I jump every time I hear a footstep on the stairs, \" \\\n", - "# \"certain that the theft has been discovered and that I will \" \\\n", - "# \"be caught. The SS officer visits less often now \" \\\n", - "# \"that he is sure\"), 'florence')) # doctest: +ELLIPSIS\n", - "# ('florence', -307.5473096791...)\n", - "# \"\"\"\n", - "# def worker(message, key_length, fitness):\n", - "# splits = every_nth(message, key_length)\n", - "# key = cat([unpos(beaufort_sub_break(s)[0]) for s in splits])\n", - "# plaintext = beaufort_decipher(message, key)\n", - "# fit = fitness(plaintext)\n", - "# return key, fit\n", - "# sanitised_message = sanitise(message)\n", - "# results = starmap(worker, [(sanitised_message, i, fitness)\n", - "# for i in range(1, max_key_length+1)])\n", - "# return max(results, key=lambda k: k[1])" + "beaufort_decipher(sanitise(cb), kb)" ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1074,7 +802,7 @@ "('arcanaimperii', -1506.8637359274674)" ] }, - "execution_count": 45, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1086,7 +814,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -1117,6 +845,26 @@ "print(lcat(tpack(repunctuate(pb, pub).split())))" ] }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1470" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "open('5b.plaintext', 'w').write(lcat(tpack(repunctuate(pb, pub).split())))" + ] + }, { "cell_type": "code", "execution_count": null, @@ -1141,7 +889,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge6.ipynb b/2017/2017-challenge6.ipynb index 131f520..a03628e 100644 --- a/2017/2017-challenge6.ipynb +++ b/2017/2017-challenge6.ipynb @@ -14,8 +14,13 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", - "from text_prettify import *\n", + "from cipher.affine import *\n", + "from cipher.vigenere import *\n", + "from cipher.keyword_cipher import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.language_models import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "ca = open('6a.ciphertext').read()\n", "cb = open('6b.ciphertext').read()" @@ -25,22 +30,6 @@ "cell_type": "code", "execution_count": 2, "metadata": {}, - "outputs": [], - "source": [ - "# def tpack(text, width=100):\n", - "# lines = [text[0]]\n", - "# for word in text[1:]:\n", - "# if len(lines[-1]) + 1 + len(word) <= width:\n", - "# lines[-1] += (' ' + word)\n", - "# else:\n", - "# lines += [word]\n", - "# return lines" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, "outputs": [ { "name": "stdout", @@ -56,44 +45,7 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# def depunctuate_character(c):\n", - "# if c in string.ascii_uppercase:\n", - "# return 'UPPER'\n", - "# elif c in string.ascii_lowercase:\n", - "# return 'LOWER'\n", - "# else:\n", - "# return c\n", - "\n", - "# def depunctuate(text):\n", - "# return [depunctuate_character(c) for c in text]" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# def repunctuate_character(letters, punctuation):\n", - "# if punctuation == 'UPPER':\n", - "# return next(letters).upper()\n", - "# elif punctuation == 'LOWER':\n", - "# return next(letters).lower()\n", - "# else:\n", - "# return punctuation\n", - "\n", - "# def repunctuate(text, punctuation):\n", - "# letters = iter(text)\n", - "# return cat(repunctuate_character(letters, p) for p in punctuation)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -102,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -111,7 +63,7 @@ "('zeus', -1960.8847716972107)" ] }, - "execution_count": 9, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -123,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -132,7 +84,7 @@ "\"Maryam, I found Jodie at Olympia and she has chapter six already. She had been leading the MIDAS operatives on a wild goose chase around Selcuk making a lot of noise about looking for the missing chapter at the Temple of Artemis. That gave me time to retrieve it from Jodie's friend at the British Museum, which has a collection of artefacts from the Temple. Jodie says she knew we would figure out where to go next. The clue was in the locations. The first one was at the Great Pyramid, the second at the fort of Qaitbay which was built from the ruins of the Lighthouse at Alexandria and the third on Rhodes, among the ruins of the Colossus. The Knight's castle at Bodrum was built from the remains of the Mausoleum at Halicarnassus, hence the “grave” task of guarding the book. So all five chapters were found at the site of one of the Seven Wonders of the ancient world. The only remaining locations are the Statue of Zeus at Olympia and the Hanging Gardens of Babylon, and no-one has any idea where the gardens might have been, so the only place we could go next is Olympia. The clue at the end of chapter five points straight there, since lighting, bull and oak are all symbols of Zeus. We should be safe here because Jodie's network has sent her attackers on to London by laying a long trail of forged documents revealing the location of chapter five. That bought us enough time to locate and decipher chapter six. We had been thinking about the evolution of the Imperial Ciphers. Tacitus used both the Vigenere and Beaufort ciphers which are polyalphabetic versions of the Caesar shift, and at first we assumed that chapter six would be encrypted the same way. We were almost right. Meanwhile Jodie's unexpected talent for forgery has given me an idea. I think we might be able to turn our enemies on one another by exploiting her gift, but I know her current focus is figuring out where on earth the seventh wonder might be.\"" ] }, - "execution_count": 10, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -144,46 +96,7 @@ }, { "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['Maryam, I found Jodie at Olympia and she has chapter six already. She had been leading the MIDAS',\n", - " 'operatives on a wild goose chase around Selcuk making a lot of noise about looking for the missing',\n", - " \"chapter at the Temple of Artemis. That gave me time to retrieve it from Jodie's friend at the\",\n", - " 'British Museum, which has a collection of artefacts from the Temple. Jodie says she knew we would',\n", - " 'figure out where to go next. The clue was in the locations. The first one was at the Great Pyramid,',\n", - " 'the second at the fort of Qaitbay which was built from the ruins of the Lighthouse at Alexandria and',\n", - " \"the third on Rhodes, among the ruins of the Colossus. The Knight's castle at Bodrum was built from\",\n", - " 'the remains of the Mausoleum at Halicarnassus, hence the “grave” task of guarding the book. So all',\n", - " 'five chapters were found at the site of one of the Seven Wonders of the ancient world. The only',\n", - " 'remaining locations are the Statue of Zeus at Olympia and the Hanging Gardens of Babylon, and no-one',\n", - " 'has any idea where the gardens might have been, so the only place we could go next is Olympia. The',\n", - " 'clue at the end of chapter five points straight there, since lighting, bull and oak are all symbols',\n", - " \"of Zeus. We should be safe here because Jodie's network has sent her attackers on to London by\",\n", - " 'laying a long trail of forged documents revealing the location of chapter five. That bought us',\n", - " 'enough time to locate and decipher chapter six. We had been thinking about the evolution of the',\n", - " 'Imperial Ciphers. Tacitus used both the Vigenere and Beaufort ciphers which are polyalphabetic',\n", - " 'versions of the Caesar shift, and at first we assumed that chapter six would be encrypted the same',\n", - " \"way. We were almost right. Meanwhile Jodie's unexpected talent for forgery has given me an idea. I\",\n", - " 'think we might be able to turn our enemies on one another by exploiting her gift, but I know her',\n", - " 'current focus is figuring out where on earth the seventh wonder might be.']" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "tpack(repunctuate(pa, pua).split())" - ] - }, - { - "cell_type": "code", - "execution_count": 12, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -214,13 +127,12 @@ } ], "source": [ - "lcat = '\\n'.join\n", "print(lcat(tpack(repunctuate(pa, pua).split())))" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -229,7 +141,7 @@ "1932" ] }, - "execution_count": 13, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -240,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -250,7 +162,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -259,7 +171,7 @@ "('jcarykujniqadmv', -3289.3609056830232)" ] }, - "execution_count": 15, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -271,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -280,7 +192,7 @@ "'Piuo tgnlqva rdn uggsvzeuvlr ed lurg nrubgg ve dyp kztmitehdd flrmqantm bvn enarvtu vd Zgvhrerir rez nttcgegm uy Tlxt lk unu tez la hbt dten, rm mgmggtz ld uog Axruglt. Ot ngrgtz bos orxg utttvyqg ael sn xgutz ybu yq Tlwwuvee uy lluo Enbpueba Gbaiufba yel Ptgrevoa Ntegmvk, zbu hot Uymn pgnt guettlba eem, ggerfkrydd ubg qlna sa tpt Fymtj ttxriltl s ntsgth, welpr sepe ul e atc dldrd mlwhrmgn atyx uog Lvdvo. Soyqisqd fbslmweh hl ggurgm bcn lmhhgm sotnbvh sa tpt Rmbvde rn r kygi ma fybgeut, uog Axruglt nsettm oie unu arht ln yuott tvmigrstm ugetgexn qfm, uy uog abgstcns ma nyxt, bg prn ewrfntm hgvoksord ttemgrhvlra. R nuebbs qrn ggtshtm yq bos Oteeut yr uot ynmsh la hot Gkstgyn, yav, urwte idq, Rhtcfkrr pen ngru ul dcis abvguqq ye ova hrwwqd gnueht pognt nu pra utrztm yq bos Uxsgglt’a lpe fvdmwfveen. Bin mtebo osn r ugvgvlbn avlek ul kt, rrz r srilaar tigeu hy rqq bcn zhvtrmn. Ih prn naqt sn r ttrd dlnn gptd zd ublng hl poye os qrn rlu fggnlryqpe jeype. Roxyttu, xkhtlvtg, yn uot fssarrfg rez hot youd wsnngn fekt ul bcn nmbng; rez ie sblxve tqrstn, erm pognthug jrlua ya urdqtfo pttt raatxydam, nwn eext cen le exq pwsn; rlg zim r nilhpu nloq lr btrgilh kb ova mteho gtpsveu ru hot rgpn lt hlfitu iu zoifjqq. Bouo ndksrhbd pra ceehtratm lq uot ccms-osggrm toxlbt boqv ot brm lgte ggelhum yq sliale lr bos Uxsgglt’a flxkyel. Nlxiuver qlnh ll twxt ie rfflvehceg vot exyihvlba Urpcnuibn Dofbqdin qo uog etc ulittllf ma ubt styivesa. Os qrn sortutm pibo mufbtveu hot atyhurt sgrfg cvuo Syqsnleir rrz otrzam tptgg ul syeagylu Esqhefba. Iu pra sepe uoge ubeu uog xlmo la hot Symtw cyn fuiteqtz. Arqbabvao pgyut yn ovn avlek ru hot rgpn vr y qsvutt ul Seul mebtl vot nvahb mrd laakht ubt jedtema sa Wsd vr uog qtrg yh unu flrnbdaovsa sa Wsgfon Rtttfvrin Ertxgen II rem Difucn Yetyion Olrsgqvbn. “Ct rtg twstanmrd fbrgugm yd yig wmnu kbeinvftrb rdn hggru Gkstgyn Mkyvuire hy ntfont Rsw Gyxrre ve uba Ekhuogge Wiehmyen qfm dgu dyo pgvha uk yt ln uog dlnn yh unu Flztw Ysfbqhsgay. Dlog qgemtg Eoguglqe ora eqgtetd rsvm hot ftvft yh nago r dlna, lbu vn kla nl eyu ggslitt bos Glmgw ygnlgt hvt rsnnieh yn uot qarf votr dlo krd yg ubfu uoeu dyo pvqd jluf ovk. Dlo htqq ka unsu vrutddvhtrmt zhlx e frfhbgtz usc obhutnha uorh bos vgriult Srqhembm prn hot Symtw elm uo xranvru ovn aisrmguggn ir uot Rsgtp. Poiqt hbt Yrtfrfwrea uogkntqvan qht brqvwgqd uy eriu xbso ln hot Fyttv, Grqurfoa vn rr amagrugm Gykre rrt os ybnh yt ahlssgt ysblgg ot see mtabgke uog ntsogvuq sa tpt Vksttirq fizoshn. Ubt Fyztw pixq xu gtsligttm, lt kla, elbt arkiqd rrt thugdyet qyb jeyw purq sed ubg sgvsa. Rdn nl hl ubg ntiglun trgh la hbt ugoa ntmgd ya Rutvfldy vd qovso ubg arug sa tpt eieub dthvyl rdn la hot Symtw ibnsra piqq ir uvxg ft fuiteqtz. Oeuvd bosf vu cvqd lt hbenmsn yd hot erfvtrb Yqzdqyever Hlmzanm ma Peg.'" ] }, - "execution_count": 16, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -291,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -300,7 +212,7 @@ "('hnypjvriltvyzlt', -3351.460892110415)" ] }, - "execution_count": 17, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -312,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -321,7 +233,7 @@ "'jdeksfkoiqfhtmesfgdmhdenubvlfhsyhekfreuihjmafmdfueiuunutiwmfmkdlhyxidsldtasdehuudgiumsfdxsufmensmcfavejffumnyekewfhshknsmfsfmaufkffbffsnskfyfgtfmekelhbfefsscbiffulhlbfefmnwfavmnadedhuenamfkhsxhfuxlsxldduxlhulkfsuudxlkguftdmaxeekfrnlmjfsfqfufsnxlhtnsfbhrphaivekfhollnydkftnmfcsechduflhlftsfeptojunuhvenhyfjimwhitnashmflysnafkfudtekgxaidthwtknnkdurensfrgtmkdllnrrfmgxskydenydkfhzxdihgmhbhsonytnxshrefkffbffsnslghsenkdbejfyhefnyndlfsmdkrshtfmrftgshilgumenekflwtgsdlenylnbfkfiilhjhrmfmesdxbflhimfsnshednulgmehexejhlfsfteenavekelfuhefnudlfnsmesnyekffbfgsnsaweehpfudihirsdtmihjhllfudfnidqezxdfeivntldlyhadivfleheekkfsfjfjhlefumenavekefbgfsnslmkugkvkdtdhulkdknfhekihlhrsdfqmyllknspenbfhumghhduywifqfueengjikdlxsdfumldeiilyfidhlhsfhiimmlfqftaveknlfemkknbkejhlunegfrmnuhihvpunjuuxabfslbmsfnqfsnydlfgngwihtfhumejgaxlvahllflthbefnkdljnxlfhumdthxaidsgihtflhulkkfsfpfspunelnxfhipfrljfsfhllecaifmjdluhbfjhkouhiihdglunsmdlildurhflnxinukeisdurmykdlmfhejtfwndsfheekfufimnsynrrfedezxdsqivekcllvbghekukhldussfhlfmavdlfjdmelgsfhmsxaoxsekgekfkhmafevsfbnpfmavgndlmvnuekefbgfsnslsobbhulmnbdedhuholeunddbfduhggmeueduqekfhbadecoxllhhxledxlixsyiixlglekfufjrmrfsunrnyekfgsnpeutfkejhltkhsrenjdekkftxsdurejgyshrcifgfhtfjcfkthiemnudhhumjghmfmdkfsfentntzsnueshirhtxlddkhlnuhvekfuekhdfkfinklnyekftnlgcjhlrfqfhifmlgjxledwljsnefnyjellknspheekfufimduhieeefsenthdomheflekfydyeklivafymsfekfphievmlnyahvduekfveisnyejftnulxiljeglnyahstxlhsseuduxlsifbfulddgvmixtcxlahfadxklnunsgexljfhsfedgsflkivtkhsrflbvnxsanlebxudycufuehtmrsfhefbfgsnsmmbdedhuenkgtxsffhcsnbhuhcvekfumsekfsupdtsmnblgumvfevnxitdefembfnyekfimmlnyejftnmfcntsyienswbvnxsifhlgshrsctnihkhlhhtfhmvfhdmekfgscufnylwtkhinllawfdyvnwmnunesftmrfseketnmfcafymtfekffhlldurnydlfvfhrekfuvnxbgwaflxrfekhevnxieiiwncukdbvnxeejibfejheduefiicsfutfxsnbhthgewtfmlgulxrrfleldlheekeeshdenstgjrhtxkkhlekftnlgchumclbhlldurjellxgfnsefsldudlfunsdkjkdifekebhsahrdhulekfbkgiqflgsfxuidpfhwenbhofbxtknyejgtnmfbthirhtxlcmhufmwthefmsnbgvhumkebxleaflemhgfmaeynsfkfthtnflesmvekflftxreevnydkfdbgfsdgjtdgkeslekftnmedjdiizfsftnqfsennsvnwvnxsyhbdhwhumfpfsvnufvnwqunjjciighvekfftdtfhtmlnenekfkgqfuejghsenyekefsxfldnsvnyhrscunihdtjkdtkekfxiefnydkfuduekiesdnuhtmnyekftnlgcdeleiyjdiidudebfafrfqfhifmxtfdiekeudejdiiaesxhsmemavekfhusefueagavinudhuqommflknyjhs'" ] }, - "execution_count": 18, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -332,7 +244,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -341,7 +253,7 @@ "('ryajcqgrnskaxof', -3289.3609056830232)" ] }, - "execution_count": 19, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -353,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -362,7 +274,7 @@ "'piuotgnlqvardnuggsvzeuvlredlurgnrubggvedypkztmitehddflrmqantmbvnenarvtuvdzgvhrerirreznttcgegmuytlxtlkunutezlahbtdtenrmmgmggtzlduogaxrugltotngrgtzbosorxgutttvyqgaelsnxgutzybuyqtlwwuveeuylluoenbpuebagbaiufbayelptgrevoantegmvkzbuhotuymnpgntguettlbaeemggerfkryddubgqlnasatptfymtjttxriltlsntsgthwelprsepeuleatcdldrdmlwhrmgnatyxuoglvdvosoyqisqdfbslmwehhlggurgmbcnlmhhgmsotnbvhsatptrmbvdernrkygimafybgeutuogaxrugltnsettmoieunuarhtlnyuotttvmigrstmugetgexnqfmuyuogabgstcnsmanyxtbgprnewrfntmhgvoksordttemgrhvlrarnuebbsqrnggtshtmyqbosoteeutyruotynmshlahotgkstgynyavurwteidqrhtcfkrrpenngruuldcisabvguqqyeovahrwwqdgnuehtpogntnuprautrztmyqbosuxsggltalpefvdmwfveenbinmteboosnrugvgvlbnavlekulktrrzrsrilaartigeuhyrqqbcnzhvtrmnihprnnaqtsnrttrddlnngptdzdublnghlpoyeosqrnrlufggnlryqpejeyperoxyttuxkhtlvtgynuotfssarrfgrezhotyoudwsnngnfektulbcnnmbngreziesblxvetqrstnermpognthugjrluayaurdqtfoptttraatxydamnwneextcenleexqpwsnrlgzimrnilhpunloqlrbtrgilhkbovamtehogtpsveuruhotrgpnlthlfituiuzoifjqqbouondksrhbdpraceehtratmlquotccmsosggrmtoxlbtboqvotbrmlgteggelhumyqslialelrbosuxsggltaflxkyelnlxiuverqlnhlltwxtierfflvehcegvotexyihvlbaurpcnuibndofbqdinqouogetculittllfmaubtstyivesaosqrnsortutmpibomufbtveuhotatyhurtsgrfgcvuosyqsnleirrrzotrzamtptggulsyeagyluesqhefbaiuprasepeuogeubeuuogxlmolahotsymtwcynfuiteqtzarqbabvaopgyutynovnavlekruhotrgpnvryqsvuttulseulmebtlvotnvahbmrdlaakhtubtjedtemasawsdvruogqtrgyhunuflrnbdaovsasawsgfonrtttfvrinertxgeniiremdifucnyetyionolrsgqvbnctrtgtwstanmrdfbrgugmydyigwmnukbeinvftrbrdnhggrugkstgynmkyvuirehyntfontrswgyxrreveubaekhuoggewiehmyenqfmdgudyopgvhaukytlnuogdlnnyhunuflztwysfbqhsgaydlogqgemtgeoguglqeoraeqgtetdrsvmhotftvftyhnagordlnalbuvnklanleyuggslittbosglmgwygnlgthvtrsnniehynuotqarfvotrdlokrdygubfuuoeudyopvqdjlufovkdlohtqqkaunsuvrutddvhtrmtzhlxefrfhbgtzuscobhutnhauorhbosvgriultsrqhembmprnhotsymtwelmuoxranvruovnaisrmguggniruotrsgtppoiqthbtyrtfrfwreauogkntqvanqhtbrqvwgqduyeriuxbsolnhotfyttvgrqurfoavnrramagrugmgykrerrtosybnhytahlssgtysblggotseemtabgkeuogntsogvuqsatptvksttirqfizoshnubtfyztwpixqxugtsligttmltklaelbtarkiqdrrtthugdyetqybjeywpurqsedubgsgvsardnnlhlubgntigluntrghlahbtugoantmgdyarutvfldyvdqovsoubgarugsatpteieubdthvylrdnlahotsymtwibnsrapiqqiruvxgftfuiteqtzoeuvdbosfvucvqdlthbenmsnydhoterfvtrbyqzdqyeverhlmzanmmapeg'" ] }, - "execution_count": 20, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -373,7 +285,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -382,7 +294,7 @@ "'ytsfeqziozzjyzynifmpczahrmdxemcpjzkmjwjlxnnyonyerofpohxcddrcgzewuxdyioknuwxnbjvyqlnrzresxtfivjwqfyuewdiyowzlefdbxcvvjphzvvgclgtmtgqgsgouncvhzdhgqpoiaeutqtjvpqbodegstcrmcxrtdyybzkeywyeuuvsdtaoxbyrkleslsgczexwgbxntrmeysyaguvwjwqjgydepouomrjtzujwohgqvcmueioasbmdrqtsaviskmkxsekqbnteipeknauupiftymqkenkipdeaxaftxauudzckvvnjftnmtgbeehwbimsclcessglcireuhgwwlyxjfngmnmrebmmfkvpaohxxsgbvzoywwgzcuqnojzxpefrmkzpmgksvajuryrkimuzevnjlqwexpybstphbsiezbiqccknatjvowdxwkenfosfjjrfspkiojnaeaceignjpkmhmpswfczqbjhvppczhdvjtvlkwvgcecjedqrxtabnyivskgpgpbmityxuktwmmlrgqyvvawhlngwiahbktyzvqynncbbdqzdeeeoershbiqltegjriukialufyukgvtzekncmyafwndyamvtstwryacxyallqpaopcnwrsqtgzrgfpejoymndfxaazwdfhmmcgpwltsbxjvvoageyfazkzskfccocgmwucfjsnqzuevanhtxwxoaxdttlqrohnwjfhzghonqxscdddzywlzgedmnfspenyehypvtwlgugrxjxglrjrkvdvmievpftyuocdicijifknqwvqjblqlwowcrgkqbxrnihxzlqcwubpwbbdlyrxbldlhguqedueejcuvcgyxnyzwmviaiwexxagvfnvfisrlwglpldcjsibqqgvuienlufstzzhanbsnitujiyexvvzuxzsgcpzhwlbpztqxvcuzksmsvmckgsamvqislpmpebwztxycgdboztpckmeyncijrcuamgbamtujurczsifncmuykyvsobuykolymrgjrokaycaizhkkcpkiyykdkcokmoaxuoaslievdhtpnykwjqhctxhucldgakaqovdcppxhrcduwngahltatswfaebolamgzmlbrraeeaicgyvomorpeavueckyysketvfraqyxxzpdxziewwaazksgqexgakjwafruwhzkwoohwfyzaqjcebhhwzbcokqsxweviwgblgawlimoqbgbwljybjxiqvguxvkwaydleqxxczkkrjndjipnuckiensalufwzdbcvlzboiimqihhqgqligodxmetgvuyynjfueadtioypxvvtjananrwtwiwqecsfrafoecgmigjstastytaoaaaicbbqfwczwgazhlhqoywpapkdnijysxgwscchyyqvymiyhssfwliaonsfteylmqgdavsdgzeruprqimkbigpdzcijjgiapvrdsfillydvlkddcfgbrzusfbthejdltrhgpwfjdefhatrynubwqmgmbenqeauduywpadbqwcguysfrnxklcgmigjsbgnoqkgmhagmiyhqyvpkpulmnexfgruzehgcppkjquwegfxcvdymgtxfrdfjxdehtvqinowziyfadvepfjumnxnkgegwceptacydlungwxeqkikgyqqaghwclrniddelxibvghlrqdoqjnblmlpfuavvumalzqsiibaywlutzncqynnpllygpdiqrndrdtkxafowgexyztnhjoefbnkmqcyurmmlzpomoxzgzaycskbzxsglywehercavykijxmayepzokgrwrskcpkzifynzsmraaamwausemvnzmiftcmkgqeibgvzyuajgfkmcnhaausphtlsenhnfecpfczdmvgxzrepwdjnrzbcggfobytwrsbxcuuefyprmkdoqjreayfqyviakimlaqqaafzormkycourkqymvgivresfbfflondaypnqurwdwtyoadrbctnsirqkzerxegpteaniovvkfriypvlkedyziaaejijgiguwldnbdlngbdofzpbzcbufvtfonjytalwrkvpxwlbvyquadgdzzsauoaohxxfceuxnaqaumnpryjsmkdiyqumafndewkdhypzatgntredpgiyiuhvalamveqvsgdknfqxkdzvrhxfxcubicgmrqhwuiswmlzbhzzeylhnqgp'" ] }, - "execution_count": 21, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -394,7 +306,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -403,7 +315,7 @@ "'ybwfeqpgshhzozgrifmfadiphcdfimcpzxourmzlfrnyodwizwvfopbcddhakhmmkxlciokdsafvrzvgulnrppiafjvidnwqfosielyooedleftzbkdlzppdvvgsjkbujwqowgoudazphtxgytoiausxybzlpyfodewqxkzcsxzxdyyrxomgmoecyvsdjysfjohktislswadmfmwbfrtrmuwwgiwkvenwqjwwhmxekouvjtzkhawpwgvkqueieywjuthqbwaviiiqsfiukyfnteynisvqkuxmftycoomvaypliaxavrbicktzkovvnzdxvujwbmihwbykwktsusaklcihcypommlgbjfnwkruzurmujkvpqmlffiwbddoywmedkcgdordxpevpqshfcgswvajkpczsycuhivnjboamffobaxphbigihjygckonatztselnmkmrfosvhnznifkqsjnauygmqwdjxomhmfqankpgbrlvppsxlldzjvtowvgscgrmtgrfxabnogzaswfgxfmitovysbmcmtvgqylteepbdgemahbarchdgonvgbbdgxhmmueezwhbigjxmozhicoialkdccswlthiknccwenedtyiqvtsjuvgisnyiplqpqmtkvmhsyxgzrwdtmreomvhfxaqxalnxcmkkpwljqffrlloikeyfqxohaavckscgmmsgnridqhyevadfxfeneafhttlgpspvmzfpdghodobakttdhcwlzwchuvvipmryehonzbebwuovxjxwjvrzalddqievfdxgcesdqgijiviryelgjjpqlweugzoagbfvnihnxpykmkbxabbdbwvfjbtlpkuqetsimrskvkkyxnoxaudyqieixxawtjvdvyszpwglfjhkriybyugvuycrtcvithdhanrqrqbkzigixvvpsbhawsphlwlbfxxyflsuhosmslkgsoiqmduislfktmjmptfccgdrmdbxsammcncizpgcicwbiqtujkpghayvnkquykotwwjkokwpymrwhvwsqocimzhkaatsqooklocokcmefceqstmevdxrtvgamjylctxxsgtlwqkiuovdsntfphsdcangaxjxibimfiibolqkkhubrrzeeeayakgdecozteavkcgsgoikmxvfrqocffpfdfdiewmyehsiwqmbgakzuenzkmhhowooxujghqgjkibhhmxfkwagsfaevimeftoqmlqqoqbwzatrorjfmqvgkvzseqodtiqxxsxoszzddrmpnusimmviqlcjwzdrazthreiqqqihxokytywolbmetwtyggdzfciadtymcxflltrenanhuxeqmgekwfravmikocygrwtasjwxiwqqaqgbbqvughewqzpphqooutixatnqnysxwuwkkxoyyzymiofwanmbiisnsfjcctugwdizsdgpcvcxhgiuobigfbdkqzzgqepvrtqjqtboddpkddsdkjzpksnfthezbpbzxwpejjdevfebzodujaqmgczivyuqulyywpqbfyeswugwfrnnipkocygrwbgneooouxqgumyhqottsxkbmvixfghsdmpwspxojqumcknfsldgqgtxvphnrntepxvqidmahqovalzepfzsqvfdagmkwcefrekgtbuvkwxegimsoogqikhwcbprqltulfmbvgxjvylegjvflmlfdyidlkmipzqsygfigmbubdncqolrxtbogxhiqrdbvlbananswgenwdbvxzomjbnkcoggchcmtdpomevdohqocaobzxiepgeuxezgavyagnfuqoexdokghuvassfkhmfynpqqziqqmeeusectrhuyvtkqkgqugfodpouingfkcarpiqksxltlsullvnuspngzdmlebhzufwlnnrzrakonerybarsbnaycmvopzqkdoghvmiovqgziakykpiygqandormawgwchaqgqvgilpianrvftsndaonrychmdexyoatpfkbdiizukzehvioxjuavmovvadvqgfllsidyzyyemryzgqkuwltlfltdwblsfzprxgjcvltnsnjyjypezalpfalbvooyilwtzhwauoqmlffvsecbnaqqsqvxhojaqkdiooyuivddmakdhondibwdtzidpgywmcplqliqveqlqklsdvqfodzvhfbnfskbqggmrgfacqimmtdbhzpcctpdggx'" ] }, - "execution_count": 22, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -415,22 +327,22 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\nYWFh3DIkSavUJCOwo4HfSnIH8AkGhw7PBfZO8sgtqg4CduyucVWtr6q1VbV2bm5ugjIkSavR2AFW\nVWdV1UFVNQ+cDFxZVW8ErgJO6lY7Fbhs4iolSdrFLD4H9qfAHyXZxuCc2Mdm0IckaZWbyt3oq+qL\nwBe76duAI6fxvJIkPR7vxCFJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEm\nSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklq\nkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklq0tgBluTgJFcluSnJ1iRv75bvk+SKJLd23589\nvXIlSRqYZAS2E/jjqjoMOAo4I8lhwJnAhqo6FNjQzUuSNFVjB1hV3V1Vm7vpHwE3AwcCJwAXdKtd\nAJw4aZGSJO1qKufAkswDRwDXAvtX1d3dQ/cA+0+jD0mShk0cYEmeCfwN8AdV9Y/Dj1VVAfU47dYl\n2Zhk48LCwqRlSJJWmYkCLMmeDMLrwqr6VLf43iQHdI8fANy3u7ZVtb6q1lbV2rm5uUnKkCStQpNc\nhRjgY8DNVfXfhx66HDi1mz4VuGz88iRJ2r01E7Q9Gvhd4MYk13fL/gw4B7gkyenAncDrJytRkqTH\nGjvAqurLQB7n4WPHfV5JkvrwThySpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKk\nJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZ\nYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJs0swJIcl+SWJNuSnDmrfiRJq9NMAizJ\nHsD/BF4NHAa8Iclhs+hLkrQ6zWoEdiSwrapuq6qHgE8AJ8yoL0nSKjSrADsQuGtofnu3TJKkqUhV\nTf9Jk5OA46rq97v53wX+ZVW9dWiddcC6bvZFwC1TL2RgP+C7y7xdCzWO284ap9OuhRrHbWeN02nX\nQo19Pb+q5kauVVVT/wJeDnx+aP4s4KxZ9NWjlo3LvV0LNa7kn80a/dmWU18rucZpf83qEOI3gEOT\nHJLkKcDJwOUz6kuStAqtmcWTVtXOJG8FPg/sAZxXVVtn0ZckaXWaSYABVNVngc/O6vkXYX0D7Vqo\ncdx21jiddi3UOG47a5xOuxZqnKqZXMQhSdKseSspSVKTDLBdJJlPsmWJ+n53knfMuI+3Jbk5yYUz\n7mei7Zjkq7NuN4UaHxi3rZ58SfZO8palrkPTY4CtPm8BXlVVb1zqQp5IVf2rJ7Odll4GZvmatDeD\n/V8rxIoOsCR/m2RTkq3dB6f7WpPkwm6kcmmSvXr2d0qSbya5Icn/7tnmXUm+neTLDD7Q3UuSNyX5\nepLrk/xld//JUW3+F/AC4HNJ/nARff15d2PmLye5aBGjxD2SfKTb/l9I8vRF9DnW6GaCdi9Icl2S\nl43TfsRzzyf5VpLzu9/1hUlemeQrSW5NcuSItjePsx2T/FGSLd3XHyyy1kXt/8P78WL2ka6/W5J8\nHNgCHNyjzTOSfKb7O9uS5N/36Qs4B/il7m/mA4uob8vQ/DuSvHtEm3OSnDE0P/LISpI/SfK2bvpD\nSa7spo8ZdbQkycu6152nddtma5LDe/xs7xneL5K8L8nbe7R7c7cNr09ye5KrRrWZmaX+INosv4B9\nuu9PZ/DHsW+PNvNAAUd38+cB7+jR7leAbwP7Dfc9os1LgRuBvYBfALb17OufAf8X2LOb/wvglJ7b\n5I5Hauy5/suA64GnAT8P3NqzxnlgJ/AvuvlLgDctot8Hxvyd927X1biFwRuH64AXz6KvoW3xqwze\nNG7q9qswuEfo3057Ow7tW88AnglsBY7oWeui9v9x9+Oh/h4GjlrEdv93wEeG5p+1mN/3In/Hj2oD\nvAN494g2RwD/MDR/E3DwiDZHAZ/spr8EfB3YEzgb+I896nwv8EEGN1HvddOI7mfb3E3/HPD/6PEa\nOdR+z67W1y1mm07za0WPwIC3JbkBuIbBO7tDe7a7q6q+0k3/NfBrPdocw2AH/C5AVX2/R5tfBz5d\nVQ9W1T/S/8PexzJ40fhGkuu7+Rf0bLtYRwOXVdU/VdWPGARnX7dX1fXd9CYGfzDLzRxwGfDGqrph\nhv3cXlU3VtXDDMJkQw1eBW5k9HYZZzv+GoN968dV9QDwKQb7Wx+L3f/H3Y8fcWdVXbOI9W8EXpXk\n/Ul+varuX2R/M1VV1wHPSfLcJC8GflBVd41otgl4aZJfAH4CfA1Yy2DbfqlHt+8BXtW1+W8967wD\n+F6SI4DfAK6rqu/1ads5F7iyqhbzmjBVM/sc2FJL8grglcDLq+rBJF9kMIroY9fPFiy3zxoEuKCq\nzlrqQkb4ydD0zxiMhJeb+4HvMHiRvmmG/Qxvi4eH5h9m9N/hk70dn+z9/8eLWbmqvp3kJcBrgPcm\n2VBV75lNaezk0ada+r6GfBI4CfhF4OJRK1fVT5PcDpwGfBX4JvBvgBcCN/fob18GI+09uxr7btOP\ndn3+IoPRdi9JTgOeD7x1xKoztZJHYM9i8M7nwSS/zGCI3tfzkry8m/4d4Ms92lwJ/HaSfQGS7NOj\nzdXAiUmenuTngdf1rG8DcFKS5zzSV5Ln92y7WF8BXtcdX38mcPyM+lkqDwH/Fjglye8sdTFT9CUG\n+9ZeSZ7B4Gfs804eFr//j7sfjyXJc4EHq+qvgQ8AL+nZ9EcMDoMvxr0MRlP7Jnkq/ff/ixncQu8k\nBmHWx5cYHKK8upt+M4NRUZ83EH8J/DlwIfD+nv0BfBo4jsGpgs/3aZDkpV2db+qOKCyZFTsCA/4e\neHOSmxnc6X4xhyhuAc5Ich6Dd+UfHtWgqrYmeR/wD0l+xuCcymkj2mxOcjFwA3Afg3tIjlRVNyX5\nL8AXMrhq66fAGcCdfdovRlV9I8nlDN4R3svg8M2yOmSzi0WPFqrqx0mOB65I8kBVNX/fzm7fOp/B\nuRSAj3aHtvpY1P4/7n48gV8FPpDkYQb7/n/q06iqvtddOLMF+FxV/UmPNj9N8h4G23EH8K2efW3t\nwnxHVd3dpw2D0HoX8LVun/wnerzpSHIK8NOq+j8ZXMz11STHVNWVPep8qLsI44dV9bOedb4V2Ae4\nKgkMbur7+z3bTpV34tBISZ5ZVQ90V6NdDayrqs1LXdeuutHv5qqa1Wh0xUsyD/xdVY28iu0JnuPd\nDC5w+eCUytKMdG+ANwO/XVW3LnU9i7WSDyFqetZ3F4tsBv5mmYbXcxmc+PZFU+ohyWEMrhjd0GJ4\ngSMwSVKjHIFJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa9P8BKMjCPkhDtbQAAAAASUVORK5C\nYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -444,22 +356,22 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\nTqqqlVW1cmZmZo5lSJKWq7kG2NnA4d304cBZQ8sP685G3Be4Y+hQoyRJEzPyH1om+TKwH7BTkpuA\nDwMnAGckeTtwA3Bot/o5wIHABuBu4G1TqPlh+Q/9pKXHv2s9nJEBVlVveJiH9n+IdQs4Yr5FSZI0\nilfikCQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1aeSlpCRJ\nS8NSu66kAcbS+6VK0nLgIURJUpMcgUnSBHgkZ8tzBCZJapIBJklqkocQNTEeQpG0JTkCkyQ1yQCT\nJDXJAJMkNcnPwKQp8TNBabocgUmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa\n5BeZJY3NL2lrMXAEJklqkgEmSWqShxC3MA+9SNJkOAKTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNcmz\nELWgPCtT0lw5ApMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJ0+iXME9Rl7SUOQKTJDVpXiOw\nJNcDdwL3AfdW1cokOwCnA7PA9cChVfWr+ZUpSdLmJjECe0lV7VlVK7v5o4HVVbUCWN3NS5I0UdM4\nhHgQcGo3fSpw8BT6kCQtc/MNsAK+m2RtklXdsp2r6uZu+ufAzvPsQ5KkB5nvWYgvqqqNSZ4MnJvk\nJ8MPVlUlqYdq2AXeKoDdd999nmVIkpabeY3Aqmpjd38rcCawD3BLkl0AuvtbH6btSVW1sqpWzszM\nzKcMSdIyNOcAS7JtksdvmgZeAawDzgYO71Y7HDhrvkVKkvRA8zmEuDNwZpJNz/Olqvp2kouBM5K8\nHbgBOHT+ZUqStLk5B1hV/Qx47kMsvx3Yfz5FSZI0ilfikCQ1yWshSsuY18tUyxyBSZKaZIBJkppk\ngEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa5NXo\ntax49XVp6TDAJKkxvhEb8BCiJKlJjsAkaYE4kpofA0yS9LAWc8h6CFGS1CQDTJLUJANMktQkA0yS\n1CQDTJLUJANMktQkA0yS1CS/BzZHi/m7EZK0HDgCkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMk\nNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNcn/B6Ym+f/YJDkC\nkyQ1yQCTJDXJAJMkNWlqAZbkgCTXJNmQ5Ohp9SNJWp6mEmBJtgL+GXglsAfwhiR7TKMvSdLyNK0R\n2D7Ahqr6WVX9HvgKcNCU+pIkLUPTCrBdgRuH5m/qlkmSNBGpqsk/aXIIcEBVvaObfwvwZ1V15NA6\nq4BV3ewfAddMvJCBnYBfLPJ2LdQ413bWOJl2LdQ413bWOJl2LdTY19OrambkWlU18RvwAuA7Q/PH\nAMdMo68etaxZ7O1aqHEp/2zW6M+2mPpayjVO+jatQ4gXAyuSPCPJHwCvB86eUl+SpGVoKpeSqqp7\nkxwJfAfYCji5qtZPoy9J0vI0tWshVtU5wDnTev4xnNRAuxZqnGs7a5xMuxZqnGs7a5xMuxZqnKip\nnMQhSdK0eSkpSVKTDLAHSDKbZN0C9X1skqOm3Md7klyd5LQp9zOv7Zjkh9NuN4Ea75prW215SbZP\n8u6FrkOTY4AtP+8GXl5Vb1roQh5JVf35lmynhZeBab4mbc9g/9cSsaQDLMk3kqxNsr774nRfWyc5\nrRup/FuSx/Xs77AkVyS5PMm/9mzzwSQ/TXIhgy9095LkzUl+nOSyJJ/prj85qs2/AM8EvpXkb8bo\n60PdhZkvTPLlMUaJWyX5bLf9v5vksWP0OafRzTzaPTPJpUmeP5f2I557NslPkpzS/a5PS/KyJD9I\ncm2SfUa0vXou2zHJ3yZZ193eN2atY+3/w/vxOPtI1981Sb4ArAN269Fm2yTf7P7O1iX5qz59AScA\nz+r+Zj42Rn3rhuaPSnLsiDYnJDliaH7kkZUkH0jynm76E0nO66ZfOupoSZLnd687j+m2zfokf9rj\nZztueL9IcnyS9/Zo965uG16W5Lok3xvVZmoW+oto07wBO3T3j2Xwx7FjjzazQAEv7OZPBo7q0e7Z\nwE+BnYb7HtHmecCVwOOAJwAbevb1J8C/A9t0858GDuu5Ta7fVGPP9Z8PXAY8Bng8cG3PGmeBe4E9\nu/kzgDeP0e9dc/yd927X1biOwRuHS4HnTqOvoW3xHAZvGtd2+1UYXCP0G5PejkP71rbAdsB6YK+e\ntY61/891Px7q735g3zG2+18Cnx2af+I4v+8xf8ebtQGOAo4d0WYv4PtD81cBu41osy/w1W76AuDH\nwDbAh4F39qjzI8DHGVxEvddFI7qf7ZJu+lHAf9PjNXKo/TZdra8ZZ5tO8rakR2DAe5JcDlzE4J3d\nip7tbqyqH3TTXwRe1KPNSxnsgL8AqKpf9mjzYuDMqrq7qn5N/y9778/gRePiJJd188/s2XZcLwTO\nqqrfVtWdDIKzr+uq6rJuei2DP5jFZgY4C3hTVV0+xX6uq6orq+p+BmGyugavAlcyervMZTu+iMG+\n9Zuqugv4OoP9rY9x9/+57seb3FBVF42x/pXAy5N8NMmLq+qOMfubqqq6FHhykqcmeS7wq6q6cUSz\ntcDzkjwB+B3wI2Alg217QY9ujwNe3rX5h551Xg/cnmQv4BXApVV1e5+2nU8C51XVOK8JEzW174Et\ntCT7AS8DXlBVdyf5TwajiD4e+N2CxfZdgwCnVtUxC13ICL8bmr6PwUh4sbkD+B8GL9JXTbGf4W1x\n/9D8/Yz+O9zS23FL7/+/GWflqvppkr2BA4GPJFldVcdNpzTuZfOPWvq+hnwVOAR4CnD6qJWr6p4k\n1wFvBX4IXAG8BPhD4Ooe/e3IYKS9TVdj3236ua7PpzAYbfeS5K3A04EjR6w6VUt5BPZEBu987k7y\nxwyG6H3tnuQF3fQbgQt7tDkPeF2SHQGS7NCjzfnAwUkem+TxwGt61rcaOCTJkzf1leTpPduO6wfA\na7rj69sBr55SPwvl98BrgcOSvHGhi5mgCxjsW49Lsi2Dn7HPO3kYf/+f6348J0meCtxdVV8EPgbs\n3bPpnQwOg4/jFgajqR2TPJr++//pDC6hdwiDMOvjAgaHKM/vpt/FYFTU5w3EZ4APAacBH+3ZH8CZ\nwAEMPir4Tp8GSZ7X1fnm7ojCglmyIzDg28C7klzN4Er34xyiuAY4IsnJDN6VnziqQVWtT3I88P0k\n9zH4TOWtI9pckuR04HLgVgbXkBypqq5K8vfAdzM4a+se4Ajghj7tx1FVFyc5m8E7wlsYHL5ZVIds\nHmDs0UJV/SbJq4Fzk9xVVc1ft7Pbt05h8FkKwOe6Q1t9jLX/z3U/nofnAB9Lcj+Dff+v+zSqqtu7\nE2fWAd+qqg/0aHNPkuMYbMeNwE969rW+C/ONVXVznzYMQuuDwI+6ffK39HjTkeQw4J6q+lIGJ3P9\nMMlLq+q8HnX+vjsJ43+r6r6edR4J7AB8LwkMLur7jp5tJ8orcWikJNtV1V3d2WjnA6uq6pKFruuB\nutHvJVU1rdHokpdkFviPqhp5FtsjPMexDE5w+fiEytKUdG+ALwFeV1XXLnQ941rKhxA1OSd1J4tc\nAnxtkYbXUxl88O2LptRDkj0YnDG6usXwAkdgkqRGOQKTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckA\nkyQ16f8AOePhb12xLykAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -473,22 +385,22 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\nqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSaPeC1GaFYuP//LA695wyssmWImk\n2eIITJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQk\nA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANM\nktQkA0yS1KSRAyzJFkkuT/Klbn7vJJcl2ZDkrCRbjV6mJEkPNY4R2NuB9dPmTwU+XFVPB34GHD2G\nPiRJeoiRAizJHsDLgNO6+QCHAOd0q6wAjhilD0mSNmfUEdg/An8DPNDN7wTcWVX3d/M3A7uP2Ick\nSQ8zdIAleTlwR1WtHrL9siSrkqzauHHjsGVIkhaoUUZgBwN/kuQG4DP0Dh1+BNg+yaJunT2AWzbX\nuKqWV9WSqloyNTU1QhmSpIVo6ACrqhOqao+qWgy8Grigql4HXAgc2a22FDh35ColSdrEJK4Dew/w\nriQb6H0ndvoE+pAkLXCL+q/SX1VdBFzUTV8HHDCO15Uk6ZF4Jw5JUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJ\nUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT\nDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSk4YOsCR7JrkwydVJ1iV5e7d8\nxyTnJ7m2+7nD+MqVJKlnlBHY/cBfV9W+wIHAMUn2BY4HVlbVPsDKbl6SpLEaOsCq6taqWtNN/xJY\nD+wOHA6s6FZbARwxapGSJG1qLN+BJVkM7AdcBuxSVbd2T90G7DKOPiRJmm7kAEuyHfA54B1V9Yvp\nz1VVAfUI7ZYlWZVk1caNG0ctQ5K0wIwUYEm2pBdeZ1bV57vFtyfZtXt+V+COzbWtquVVtaSqlkxN\nTY1ShiRpARrlLMQApwPrq+ofpj11HrC0m14KnDt8eZIkbd6iEdoeDLwBuCrJFd2yvwVOAc5OcjRw\nI/Cq0UqUJOnhhg6wqroUyCM8feiwrytJ0iC8E4ckqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJ\nBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaY\nJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSp\nSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSRMJsCSHJbkmyYYkx0+iD0nSwjb2AEuyBfDP\nwEuAfYHXJNl33P1Ikha2SYzADgA2VNV1VXUv8Bng8An0I0lawCYRYLsDN02bv7lbJknS2KSqxvuC\nyZHAYVX15m7+DcDvV9XbNllvGbCsm30GcM1YC/l/OwM/mePtrHF221njeNq1UOOw7axxfO0G8dSq\nmuq7VlWN9QEcBHx92vwJwAnj7mcG9aya6+2s0d9tLvU1n2ucz79bCzWO+zGJQ4jfB/ZJsneSrYBX\nA+dNoB9J0gK2aNwvWFX3J3kb8HVgC+CMqlo37n4kSQvb2AMMoKq+AnxlEq89hOUNtLPG2W1njeNp\n10KNw7azxvG1G5uxn8QhSdJjwVtJSZKaZIBtIsniJGtnqe+Tkhw34T6OTbI+yZkT7mfo7Zjk2yP0\nO3DbEWu8a5h2mj1Jtk/y1tmuQ+NjgC08bwVeXFWvm+1CHklV/cFstNXsSs8k35O2p7f/a56Y1wGW\n5ItJVidZ1104PahFSc7sRirnJNlmgL6OSvKDJFcm+fcZ1PjeJD9Kcim9C7oHafP6JN9LckWSj3X3\nnxyk3b8CTwO+muSdM6jxfd3NmS9N8ukZjBK3SPLxbvt/I8nWA/Y39Ohm2LZJnpbk8iTPG7bvR3nt\nxUl+mOQT3b/1mUlelORbSa5NckCftuuH3I7vSrK2e7xjBnXOaN/v2v7ffjyTfaTr85oknwTWAnsO\n0GbbJF/u/tbWJvnzQfoCTgF+u/u7+eAM6ls7bf64JCf1aXNKkmOmzfc9spLk3UmO7aY/nOSCbvqQ\nfkdLkjyve+95fLdt1iV5Vp82J0/fJ5J8IMnbH63NtHXf0m3DK5Jcn+TCQdpNxGxfiDbJB7Bj93Nr\nen8cOw3QZjFQwMHd/BnAcX3a/C7wI2Dn6f0O0NdzgauAbYAnAhsG6Ot3gP8Etuzm/wU4agbb5IYH\n6xxw/ecBVwCPB54AXNuvxmnb8X7g97r5s4HXD9jnXSP8mw/ctqtxLb0PDpcDz5lgP/cDz6b3oXF1\nt1+F3n1Cvzju7Tht39oW2A5YB+w3QJ0z2veH3Y836fMB4MAZbM8/Az4+bf5JM/n3nuH+9JA2wHHA\nSX3a7Ad8c9r81cCefdocCHy2m74E+B6wJXAi8BcD1Pl+4EP0bqTe98YR3e+1ppt+HPBfDPD+uMlr\nbNnV+oqZtBvnY16PwIBjk1wJfJfeJ7t9Bmx3U1V9q5v+FPD8PusfQm/n+wlAVf33gP28APhCVd1T\nVb9gsAu+D6X3hvH9JFd0808bsL9hHAycW1W/qqpf0gvPQV1fVVd006vp/dHMNVPAucDrqurKCfZz\nfVVdVVUP0AuTldV7F7iK/ttlmO34fHr71t1VdRfweXr7Wz8z3fdhuP14uhur6rszWP8q4MVJTk3y\ngqr6+Qz7m6iquhx4cpLdkjwH+FlV3dSn2WrguUmeCPwa+A6whN62vWSAbk8GXty1+fsBarwB+GmS\n/YA/Bi6vqp8O0M90HwEuqKqZvCeM1USuA5sLkrwQeBFwUFXdk+QieqOIQWx6bcFcutYgwIqqOmG2\nCxnAr6dN/4beSHiu+TnwY3pv1FdPsJ/p2+KBafMP0P/v8LHcjrOx7989k5Wr6kdJ9gdeCrw/ycqq\nOnkypXE/D/2qZdD3kM8CRwJPAc7qt3JV3ZfkeuCNwLeBHwB/BDwdWD9AfzvRG2lv2dU4yDY9revv\nKfRG2wNL8kbgqcDb+qw6UfN5BPYkep987knyTHpD9EHtleSgbvq1wKV91r8AeGWSnQCS7DhgPxcD\nRyTZOskTgFcM0GYlcGSSJz/YV5KnDtjfML4FvKI7vr4d8PIJ9jUb7gX+FDgqyWtnu5gxuoTevrVN\nkm3p/Y6DfJKf6b4Pw+3HQ0uyG3BPVX0K+CCw/4BNf0nvMPhM3E5vNLVTkt9i8P3/LHq30TuSXpgN\n4hJ6hygv7qbfQm9kNMiHiI8B7wPOBE4dsL8vAIfR+5rg6wO2Iclzuzpf3x1RmDXzdgQGfA14S5L1\n9O50P5NDFNcAxyQ5g96n8o8+2spVtS7JB4BvJvkNve9T3tivk6pak+Qs4ErgDnr3kezX5uokfwd8\nI70ztu4DjgFu7Nd2GFX1/STn0ftEeDu9wzdz6pDNJmY8Yqiqu5O8HDg/yV1V1fy9O7t96xP0vksB\nOK07tNXPjPb9aX3NaD8e0bOBDyZ5gN7+/5eDNKqqn3YnzqwFvlpV7x6gzX1JTqa3HW8BfjhgX+u6\nML+lqm4dpA290Hov8J1un/wVA3zoSHIUcF9V/Ud6J3R9O8khVXVBnxrv7U7AuLOqfjNgjdAbde0I\nXJgEejf1ffMM2o+Nd+JQX0m2q6q7ujPSLgaWVdWa2a5rU90IeE1VTXJEOm8lWQx8qaoe9Qy2AV7n\nJHonuXxoDGVpQroPwGuAV1bVtbNdzzDm8yFEjc/y7oSRNcDn5mh47Ubvi2/fNKU+kuxL72zRla2G\nFzgCkyQ1yhGYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSf8LdgXu+00ljFcAAAAASUVORK5C\nYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -502,22 +414,22 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbMAAAEmCAYAAADoRn53AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFi1JREFUeJzt3X2QXfV93/H3JxJgwDbEIE/KkxcX0hbixg9COI3tphCI\nXGIrnYgiExfokFHcWOM2KWnlcYOpas9AnInbmdDWSiAhYBcIrRO1yCEupDHGGEs8I7BsGbARzsTi\nISSYwSD49o9zZF82K+3Z1V2tftL7NbOj8/D77fneo7P3c3/nnntuqgpJklr2Q/NdgCRJu8swkyQ1\nzzCTJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNW/hfBcw2ZFHHlkTExPzXYYk\naS9w5513PlFVi6Zrt9eF2cTEBBs3bpzvMiRJe4Ek3xzSztOMkqTmGWaSpOYZZpKk5hlmkqTmGWaS\npOYZZpKk5hlmkqTmGWaSpOYNCrMkS5NsTrIlyeop1r8ryV1JtidZPrL8zUluT7IpyX1Jzhln8ZIk\nwYAwS7IAuBx4N3AS8L4kJ01q9i3gAuAzk5Y/B5xXVScDS4H/nOTw3S1akqRRQ25ntQTYUlUPAyS5\nFlgGPLijQVU92q97ebRjVX1tZPrbSb4DLAL+arcr349NrL5xcNtHLz1rDiuRpL3DkNOMRwOPjcxv\n7ZfNSJIlwIHAN2baV5KkXdkjF4Ak+TvA1cC/rKqXp1i/MsnGJBu3bdu2J0qSJO1DhoTZ48CxI/PH\n9MsGSfJa4EbgI1X15anaVNXaqlpcVYsXLZr2Tv+SJL3CkDDbAJyY5PgkBwIrgHVDfnnf/rPAH1TV\nDbMvU5KknZs2zKpqO7AKuAl4CLi+qjYlWZPkvQBJTkmyFTgb+FSSTX33fw68C7ggyT39z5vn5JFI\nkvZbg76cs6rWA+snLbt4ZHoD3enHyf2uAa7ZzRolSdol7wAiSWqeYSZJap5hJklqnmEmSWqeYSZJ\nap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqe\nYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEm\nSWqeYSZJap5hJklqnmEmSWqeYSZJat6gMEuyNMnmJFuSrJ5i/buS3JVke5Llk9adn+Tr/c/54ypc\nkqQdpg2zJAuAy4F3AycB70ty0qRm3wIuAD4zqe/rgI8CpwJLgI8m+eHdL1uSpB8YMjJbAmypqoer\n6gXgWmDZaIOqerSq7gNentT3Z4DPV9VTVfU08Hlg6RjqliTp+4aE2dHAYyPzW/tlQ+xOX0mSBtkr\nLgBJsjLJxiQbt23bNt/lSJIaMyTMHgeOHZk/pl82xKC+VbW2qhZX1eJFixYN/NWSJHWGhNkG4MQk\nxyc5EFgBrBv4+28Czkzyw/2FH2f2yyRJGptpw6yqtgOr6ELoIeD6qtqUZE2S9wIkOSXJVuBs4FNJ\nNvV9nwL+E10gbgDW9MskSRqbhUMaVdV6YP2kZRePTG+gO4U4Vd8rgSt3o0ZJknZpr7gARJKk3WGY\nSZKaZ5hJkppnmEmSmmeYSZKaZ5hJkppnmEmSmmeYSZKaZ5hJkppnmEmSmmeYSZKaZ5hJkppnmEmS\nmmeYSZKaZ5hJkppnmEmSmjfoyzklqWUTq28c3PbRS8+aw0o0VxyZSZKaZ5hJkppnmEmSmmeYSZKa\nZ5hJkppnmEmSmmeYSZKaZ5hJkppnmEmSmmeYSZKaZ5hJkppnmEmSmmeYSZKaZ5hJkppnmEmSmjco\nzJIsTbI5yZYkq6dYf1CS6/r1dySZ6JcfkOSqJPcneSjJh8dbviRJA8IsyQLgcuDdwEnA+5KcNKnZ\nhcDTVXUC8Engsn752cBBVfUm4G3AL+0IOkmSxmXIyGwJsKWqHq6qF4BrgWWT2iwDruqnbwBOTxKg\ngEOTLAQOBl4A/noslUuS1Fs4oM3RwGMj81uBU3fWpqq2J3kGOIIu2JYBfwEcAvxKVT21u0VL2rWJ\n1TcObvvopWfNYSXSnjHXF4AsAV4CjgKOB/5tkjdObpRkZZKNSTZu27ZtjkuSJO1rhoTZ48CxI/PH\n9MumbNOfUjwMeBI4F/iTqnqxqr4D3AYsnryBqlpbVYuravGiRYtm/igkSfu1IWG2ATgxyfFJDgRW\nAOsmtVkHnN9PLwduqaoCvgWcBpDkUODtwFfHUbgkSTtM+55Z/x7YKuAmYAFwZVVtSrIG2FhV64Ar\ngKuTbAGeogs86K6C/L0km4AAv1dV983FA5nM9wwkaf8x5AIQqmo9sH7SsotHpp+nuwx/cr9np1ou\nSdI4eQcQSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJ\nUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8xbOdwHS\nqInVNw5u++ilZ81hJXsH94c0jGGmOeGTsKQ9ydOMkqTmGWaSpOYZZpKk5vmemaSm+H6spuLITJLU\nPMNMktQ8w0yS1DzDTJLUvEFhlmRpks1JtiRZPcX6g5Jc16+/I8nEyLp/mOT2JJuS3J/kVeMrX5Kk\nAWGWZAFwOfBu4CTgfUlOmtTsQuDpqjoB+CRwWd93IXAN8IGqOhn4KeDFsVUvSRLDRmZLgC1V9XBV\nvQBcCyyb1GYZcFU/fQNwepIAZwL3VdW9AFX1ZFW9NJ7SJUnqDAmzo4HHRua39sumbFNV24FngCOA\nHwUqyU1J7kry73a/ZEmSXmmuPzS9EHgHcArwHHBzkjur6ubRRklWAisBjjvuuDkuSZK0rxkSZo8D\nx47MH9Mvm6rN1v59ssOAJ+lGcV+oqicAkqwH3gq8Isyqai2wFmDx4sU184chqTXeyUPjNOQ04wbg\nxCTHJzkQWAGsm9RmHXB+P70cuKWqCrgJeFOSQ/qQ+8fAg+MpXZKkzrQjs6ranmQVXTAtAK6sqk1J\n1gAbq2odcAVwdZItwFN0gUdVPZ3kt+gCsYD1VTX85ZgkSQMMes+sqtYD6yctu3hk+nng7J30vYbu\n8nxJkuaEdwCRJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXP\nMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCT\nJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDVv4XwXsD+bWH3j\n4LaPXnrWHFYiSW0bNDJLsjTJ5iRbkqyeYv1BSa7r19+RZGLS+uOSPJvkovGULUnSD0w7MkuyALgc\nOAPYCmxIsq6qHhxpdiHwdFWdkGQFcBlwzsj63wI+N76ypfnjiFra+wwZmS0BtlTVw1X1AnAtsGxS\nm2XAVf30DcDpSQKQ5OeAR4BN4ylZkqRXGhJmRwOPjcxv7ZdN2aaqtgPPAEckeTXw74H/uPulSpI0\ntbm+mvES4JNV9eyuGiVZmWRjko3btm2b45IkSfuaIVczPg4cOzJ/TL9sqjZbkywEDgOeBE4Flif5\nDeBw4OUkz1fVb492rqq1wFqAxYsX12weiCRp/zUkzDYAJyY5ni60VgDnTmqzDjgfuB1YDtxSVQW8\nc0eDJJcAz04OMkmSdte0YVZV25OsAm4CFgBXVtWmJGuAjVW1DrgCuDrJFuApusCTJGmPGPSh6apa\nD6yftOzikenngbOn+R2XzKI+SZKm5e2sJEnNM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzTPMJEnN\nM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzRv0fWaStD+aWH3j4LaPXnrW\nHFai6TgykyQ1zzCTJDXPMJMkNc8wkyQ1zzCTJDXPqxmlPWTolXFeFSfNnCMzSVLzDDNJUvMMM0lS\n8wwzSVLzDDNJUvO8mlGS9hJe8Tp7jswkSc0zzCRJzfM0oyTth/a1r7cxzMbEc92SNH8GnWZMsjTJ\n5iRbkqyeYv1BSa7r19+RZKJffkaSO5Pc3/972njLlyRpwMgsyQLgcuAMYCuwIcm6qnpwpNmFwNNV\ndUKSFcBlwDnAE8B7qurbSX4MuAk4etwPQsPsa6cVJGmHISOzJcCWqnq4ql4ArgWWTWqzDLiqn74B\nOD1Jquruqvp2v3wTcHCSg8ZRuCRJOwwJs6OBx0bmt/K3R1ffb1NV24FngCMmtfl54K6q+t7sSpUk\naWp75AKQJCfTnXo8cyfrVwIrAY477rg9UZIkaR8yZGT2OHDsyPwx/bIp2yRZCBwGPNnPHwN8Fjiv\nqr4x1Qaqam1VLa6qxYsWLZrZI5Ak7feGjMw2ACcmOZ4utFYA505qsw44H7gdWA7cUlWV5HDgRmB1\nVd02vrK1p3jRiKQWTDsy698DW0V3JeJDwPVVtSnJmiTv7ZtdARyRZAvwq8COy/dXAScAFye5p/95\n/dgfhSRpvzboPbOqWg+sn7Ts4pHp54Gzp+j3MeBju1mjJEm75L0ZJUnNM8wkSc0zzCRJzfNGw5K+\nz6tX1SpHZpKk5hlmkqTmeZpxEk+zSFJ7HJlJkppnmEmSmmeYSZKaZ5hJkppnmEmSmmeYSZKaZ5hJ\nkppnmEmSmueHpiVpzLz5wp7nyEyS1DzDTJLUPE8zar/lqSBp3+HITJLUPMNMktQ8w0yS1DzDTJLU\nPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUvEFhlmRpks1JtiRZ\n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\ncPkAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -530,22 +442,22 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAET1JREFUeJzt3XuQJWV9xvHvI2Dk5gUYNYrjYmKRGE1FHY2IJgbQIl6C\nqWhFElQSrYmJihqJBTGWFKVVGqwYq3LRFQkmEEzEa7xCgQZQRNllkV2WixFUjIpIvCClgPzyx+mV\nYRfY6dO9M+/sfD9Vp+b0mX77/Z0zfc5z3u6e7lQVkiS16l7LXYAkSffEoJIkNc2gkiQ1zaCSJDXN\noJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDVt16XsbL/99qs1a9YsZZeSpEatW7fuhqqa2d58\nSxpUa9as4eKLL17KLiVJjUrytcXM56Y/SVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTlvQUShrHmuM+3rvNtW951g6oRJJ2PEdUkqSmGVSSpKYZVJKkphlUkqSm\nGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKZtN6iSnJLk+iQb7+J3r01SSfbbMeVJ\nkla7xYyoTgUO3/rBJA8DngF8feSaJEn6ue0GVVWdB9x4F796O/A6oMYuSpKkLabaR5XkCOCbVXXp\nyPVIknQnva9HlWQP4K+ZbPZbzPzzwDzA7Oxs3+4kSavcNCOqXwIOAC5Nci2wP7A+yYPvauaqWltV\nc1U1NzMzM32lkqRVqfeIqqouAx64ZboLq7mqumHEuiRJAhZ3ePoZwIXAgUmuS/KSHV+WJEkT2x1R\nVdWR2/n9mtGqkSRpK56ZQpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS\n1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0\ng0qS1DSDSpLUNINKktQ0g0qS1LTtBlWSU5Jcn2TjgsdOSnJFki8n+VCS++/YMiVJq9ViRlSnAodv\n9djZwKOr6teBq4DjR65LkiRgEUFVVecBN2712FlVdVs3+QVg/x1QmyRJo+yj+lPgkyMsR5Kkbew6\npHGS1wO3AaffwzzzwDzA7OzskO4k7WTWHPfx3m2ufcuzdkAlatnUI6okRwPPBv64quru5quqtVU1\nV1VzMzMz03YnSVqlphpRJTkceB3w21V187glSZJ0h8Ucnn4GcCFwYJLrkrwE+Adgb+DsJBuSvHMH\n1ylJWqW2O6KqqiPv4uH37IBaJEnahmemkCQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1\nzaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNW3QhRNXKy/2pp2B6/FwvoZLwxGVJKlpBpUkqWkGlSSp\naQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWnbDaokpyS5PsnGBY/tk+Ts\nJFd3Px+wY8uUJK1WixlRnQocvtVjxwHnVNUjgXO6aUmSRrfdoKqq84Abt3r4COC93f33As8duS5J\nkoDp91E9qKq+1d3/NvCgkeqRJOlOBl+PqqoqSd3d75PMA/MAs7OzQ7vTSIZeR8fr8EhaKtOOqL6T\n5BcBup/X392MVbW2quaqam5mZmbK7iRJq9W0QfVR4MXd/RcDHxmnHEmS7mwxh6efAVwIHJjkuiQv\nAd4CPD3J1cBh3bQkSaPb7j6qqjrybn516Mi1SJK0Dc9MIUlqmkElSWqaQSVJappBJUlqmkElSWqa\nQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJatrgCydKklaulXARVEdUkqSmGVSSpKYZ\nVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYNCqokr0myKcnGJGck\nuc9YhUmSBAOCKslDgWOAuap6NLAL8IKxCpMkCYZv+tsV2D3JrsAewP8OL0mSpDtMHVRV9U3gbcDX\ngW8BP6iqs8YqTJIkGHA9qiQPAI4ADgC+D7w/yVFVddpW880D8wCzs7MDSpXUmpVwLaPWDX0NV8Pf\nYMimv8OAa6rqu1V1K/BB4Mlbz1RVa6tqrqrmZmZmBnQnSVqNhgTV14EnJdkjSYBDgc3jlCVJ0sSQ\nfVQXAWcC64HLumWtHakuSZKAAfuoAKrqjcAbR6pFkqRteGYKSVLTDCpJUtMMKklS0wwqSVLTDCpJ\nUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wadlFbS9FbDBe+kMTiikiQ1zaCS\nJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDVtUFAluX+SM5Nc\nkWRzkoPGKkySJBh+Utp3AJ+qqucluTewxwg1SZL0c1MHVZL7Ab8FHA1QVbcAt4xTliRJE0M2/R0A\nfBf4lySXJDk5yZ4j1SVJEjBs09+uwOOAV1bVRUneARwHvGHhTEnmgXmA2dnZAd2Nx+sASdLKMWRE\ndR1wXVVd1E2fySS47qSq1lbVXFXNzczMDOhOkrQaTR1UVfVt4BtJDuweOhS4fJSqJEnqDD3q75XA\n6d0Rf18F/mR4SZIk3WFQUFXVBmBupFokSdqGZ6aQJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1\nzaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1bejZ0yVp2XgR1NXBEZUkqWkGlSSpaQaVJKlp\nBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaYODKskuSS5J8rExCpIkaaEx\nRlSvAjaPsBxJkrYxKKiS7A88Czh5nHIkSbqzoSOqvwdeB9w+Qi2SJG1j6utRJXk2cH1VrUvytHuY\nbx6YB5idnZ22u52K19CRpMUbMqI6GPi9JNcC7wMOSXLa1jNV1dqqmququZmZmQHdSZJWo6mDqqqO\nr6r9q2oN8ALg3Ko6arTKJEnC/6OSJDVu6n1UC1XVZ4HPjrEsSZIWckQlSWqaQSVJappBJUlqmkEl\nSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJatoo5/pbal7PSS1wPZSWhiMqSVLT\nDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS06YO\nqiQPS/KZJJcn2ZTkVWMWJkkSDDt7+m3Aa6tqfZK9gXVJzq6qy0eqTZKk6UdUVfWtqlrf3f8RsBl4\n6FiFSZIEI+2jSrIGeCxw0RjLkyRpi8EXTkyyF/AB4NVV9cO7+P08MA8wOzs7tDtpNCv9wocrvf4W\n+BquDINGVEl2YxJSp1fVB+9qnqpaW1VzVTU3MzMzpDtJ0io05Ki/AO8BNlfV341XkiRJdxgyojoY\neCFwSJIN3e2ZI9UlSRIwYB9VVV0AZMRaJEnahmemkCQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDVt8PWopGkMvQ6Q1xGSVg9HVJKkphlUkqSmGVSSpKYZ\n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\nrkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -559,14 +471,14 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, @@ -576,15 +488,15 @@ "'y'" ] }, - "execution_count": 28, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAERVJREFUeJzt3X+QJGV9x/H3Rw4jB0REVo3iumgsEmN+qGsiookBtS6K\nwVS0IopKorUxiqgRLYixtKxYRQorxqr8MCcSTKAwETWa+AsKNIAiyh2HHJyAEUSMikj8gZQC8s0f\n0yd7e8DuTPfdPrv7flVNbfdsP/18Z7ZnPvP09HanqpAkqVX3We4CJEm6NwaVJKlpBpUkqWkGlSSp\naQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaet2Z2cHHHBAzczM7M4uJUmN2rRp001VNbXY\ncrs1qGZmZrjkkkt2Z5eSpEYl+dpSlnPXnySpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSp\naQaVJKlpBpUkqWkGlSSpabv1FEpaPWZO+NjYba476dm7oBJJq50jKklS0wwqSVLTDCpJUtMMKklS\n0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTFg2qJKcmuTHJ1rv53euTVJIDdk15\nkqS1bikjqtOADQvvTPJw4JnA9QPXJEnSzywaVFV1PnDz3fzqncAbgRq6KEmStpvoO6okRwLfqKrL\nBq5HkqQdjH09qiTrgb9gtNtvKcvPAXMA09PT43YnSVrjJhlRPQo4CLgsyXXAgcDmJA+5u4WramNV\nzVbV7NTU1OSVSpLWpLFHVFV1OfCg7fNdWM1W1U0D1iVJErC0w9PPBC4CDk5yQ5KX7fqyJEkaWXRE\nVVVHLfL7mcGqkSRpAc9MIUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJ\nappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqa\nQSVJappBJUlqmkElSWqaQSVJatqiQZXk1CQ3Jtk6776Tk3w5yZeSfDjJfru2TEnSWrWUEdVpwIYF\n950DPLaqfg24Gjhx4LokSQKWEFRVdT5w84L7zq6qO7rZzwMH7oLaJEka5DuqPwE+McB6JEnaybo+\njZO8CbgDOONelpkD5gCmp6f7dCdJg5o54WNjt7nupGfvgkp0byYeUSU5BjgCeFFV1T0tV1Ubq2q2\n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\nmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJalqvoEqyIclVSb6S5IShipIk\nabuJgyrJHsDfA78HPAY4KsljhipMkiToN6L6TeArVfXVqroNeD9w5DBlSZI00ieoHgZ8fd78Dd19\nkiQNJlU1WcPkecCGqnp5N/9i4Leq6tgFy80Bc93swcBVk5e7qAOAm5axfQs1rPT2LdSw0tu3UMNy\nt2+hhpXefqh13JtHVNXUoktV1UQ34BDgU/PmTwROnHR9Q9yAS5azfQs1rPT2LdSw0tu3UMNyt2+h\nhpXefqh1DHHrs+vvi8CjkxyU5L7AC4CP9lifJEk7WTdpw6q6I8mxwKeAPYBTq+qKwSqTJIkeQQVQ\nVR8HPj5QLUPYuMztW6hhpbdvoYaV3r6FGpa7fQs1rPT2Q62jt4kPppAkaXfwFEqSpKYZVECSmSRb\nl7uO7ZK8Ncnxy9T3cUm2JTljN/c7yN8gyeeWax0DPoZb+q5Dk0uyX5JXLncduotBpYVeCTyjql60\n3IVMoqqe3MI6NIyM7O73qf0YvQ7UiFUTVEn+I8mmJFd0/2Q8rnVJzuhGE2clWT9m/y9J8qUklyX5\n13E7T/KmJFcnuZDRP0aP2/7oJF9IsiXJP3XnYhx3He8GHgl8IsnrJmj/5u4kxRcmOXOCUeEeSd7T\n/Q3PTrLXBDX0Ho0MtI5HJrk0yRP7rmuMPme67Xfi5zDJnyfZ2t1eO0ENP9uOJ9wGtj+Oq5L8C7AV\nePgYbfdO8rHudbg1yR+N2z9wEvCo7rV08riNF46skxyf5K1LbPuGJMd10+9Mcl43fdhS93Ikedv8\nv12Styd5zRj1v6J77FuSXJvk00ttu8ss9z9yDXUD9u9+7sVo437gGG1ngAIO7eZPBY4fo/2vAFcD\nB8yvZYz2TwAuB9YDPw98Zcz+fxn4T2DPbv4fgJdM+Dxet/1xjNnuicAW4H7AvsA1Yz6GGeAO4De6\n+X8Hjp6gjlsG2JYmWkf3GLYy+qBxKfDry9D/xM/hvO1wb2Af4ArgcRO0n2g7XvA47gSeNEHbPwTe\nM2/+/pP+HXtsPzu0B44H3rrEtk8CPtBNXwB8AdgTeAvwp2P0v7mbvg/wP+O8H85bz55dDc+Z9LkY\n6rZqRlTAcUkuAz7P6BPYo8ds//Wq+mw3fTrwlDHaHsZo47oJoKpuHrPvpwIfrqpbq+oHjP+P04cz\nepP4YpIt3fwjx1xHX4cCH6mqH1fVDxkF57iuraot3fQmRi+4lWYK+Ajwoqq6bBn67/McPoXRdvij\nqroF+BCjbXOp+m7H832tqj4/QbvLgWck+eskT62q7/eoYTlsAp6Q5OeBnwAXAbOMntsLlrKCqroO\n+G6SxwHPBC6tqu9OUMu7gPOqapLX8qB6/R9VK5I8DXg6cEhV3ZrkM4w+2Y9j4XH6K+m4/QDvq6oT\nl7uQnn4yb/qnjEbHK833gesZvelfuQz9r4bnEOBHkzSqqquTPB54FvBXSc6tqrcNW9qi7mDHr1WW\n/F5UVbcnuRY4Bvgc8CXgd4FfBLaNUcMp3ToewmgP0ViSHAM8Ajh2kUV3i9Uyoro/8H9dSP0So+Hz\nuKaTHNJNvxC4cIy25wHPT/JAgCT7j9n3+cBzk+yVZF/gOWO2Pxd4XpIHbe8/ySPGXEdfnwWek+R+\nSfYBjtjN/bfiNuAPgJckeeFyFzOmCxhth+uT7M3ocSzpU3yn73bcW5KHArdW1enAycDjJ1jNDxnt\nvp7Ut4EHJXlgkp9j/NfCBYx2F57fTb+C0ahonA/PHwY2MNol/6lxOk/yhK7/o6vqznHa7iqrYkQF\nfBJ4RZJtjM7OPskug6uAVyU5ldEn4X9casOquiLJ24H/TvJTRt9PHDNG+81J/g24DLiR0XkUl6yq\nrkzyl8DZ3RFStwOvAr42znr6qKovJvkoo0+A32a0C2al7XbZrtdouqp+lOQI4Jwkt1TVijgHZrcd\nnsboexGAU6rq0jHbT7wdD+RXgZOT3MnodfBn466gqr6b5LPdARGfqKo3jNn+9iRvY/Q8fgP48pgl\nXAC8Cbio25Z+zHgfGKiq27qDIL5XVT8ds/9jgf2BTyeB0YlpXz7mOgblmSk0mCT7VNUt3RGT5wNz\nVbV5uesaRzcq3lxVu3tEuup0R7rdUlXvWO5a1pruA+tm4PlVdc1y19PXatn1pzZs7A7m2Ax8cAWG\n1EMZfXntG6tWrCSPYXTE5bmrIaTAEZUkqXGOqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU37\nfxopjCYa66O0AAAAAElFTkSuQmCC\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAERVJREFUeJzt3X+QJGV9x/H3Rw4jB0REVo3iumgsEmN+qGsiookBtS6KwVS0IopKorUxiqgRLYixtKxYRQorxqr8MCcSTKAwETWa+AsKNIAiyh2HHJyAEUSMikj8gZQC8s0f0yd7e8DuTPfdPrv7flVNbfdsP/18Z7ZnPvP09HanqpAkqVX3We4CJEm6NwaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaet2Z2cHHHBAzczM7M4uJUmN2rRp001VNbXYcrs1qGZmZrjkkkt2Z5eSpEYl+dpSlnPXnySpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpabv1FEpaPWZO+NjYba476dm7oBJJq50jKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTFg2qJKcmuTHJ1rv53euTVJIDdk15kqS1bikjqtOADQvvTPJw4JnA9QPXJEnSzywaVFV1PnDz3fzqncAbgRq6KEmStpvoO6okRwLfqKrLBq5HkqQdjH09qiTrgb9gtNtvKcvPAXMA09PT43YnSVrjJhlRPQo4CLgsyXXAgcDmJA+5u4WramNVzVbV7NTU1OSVSpLWpLFHVFV1OfCg7fNdWM1W1U0D1iVJErC0w9PPBC4CDk5yQ5KX7fqyJEkaWXREVVVHLfL7mcGqkSRpAc9MIUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJatqiQZXk1CQ3Jtk6776Tk3w5yZeSfDjJfru2TEnSWrWUEdVpwIYF950DPLaqfg24Gjhx4LokSQKWEFRVdT5w84L7zq6qO7rZzwMH7oLaJEka5DuqPwE+McB6JEnaybo+jZO8CbgDOONelpkD5gCmp6f7dCdJg5o54WNjt7nupGfvgkp0byYeUSU5BjgCeFFV1T0tV1Ubq2q2qmanpqYm7U6StEZNNKJKsgF4I/A7VXXrsCVJknSXpRyefiZwEXBwkhuSvAz4O2Bf4JwkW5K8exfXKUlaoxYdUVXVUXdz93t3QS2SJO3EM1NIkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKa1uvCiVoeXuxNq4Xbcn9r4Tl0RCVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlq2qJBleTUJDcm2Trvvv2TnJPkmu7nA3ZtmZKktWopI6rTgA0L7jsBOLeqHg2c281LkjS4RYOqqs4Hbl5w95HA+7rp9wHPHbguSZKAyb+jenBVfbOb/hbw4IHqkSRpB72vR1VVlaTu6fdJ5oA5gOnp6b7daZXoew2dtXANHkkjk46ovp3kFwC6nzfe04JVtbGqZqtqdmpqasLuJElr1aRB9VHgpd30S4GPDFOOJEk7Wsrh6WcCFwEHJ7khycuAk4BnJLkGeHo3L0nS4Bb9jqqqjrqHXx0+cC2SJO3EM1NIkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKa1vvCiSuRF92TpJXDEZUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpab2CKsnrklyRZGuSM5Pcb6jCJEmCHkGV5GHAccBsVT0W2AN4wVCFSZIE/Xf9rQP2SrIOWA/8b/+SJEm6y8RBVVXfAN4BXA98E/h+VZ09VGGSJEGP61EleQBwJHAQ8D3gA0mOrqrTFyw3B8wBTE9P9yj1Ll5PShL4XjCElfAc9tn193Tg2qr6TlXdDnwIePLChapqY1XNVtXs1NRUj+4kSWtRn6C6HnhSkvVJAhwObBumLEmSRvp8R3UxcBawGbi8W9fGgeqSJAno8R0VQFW9BXjLQLVIkrQTz0whSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqWq+T0kpauVbCBfMkcEQlSWqcQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJalqvoEqyX5Kzknw5ybYkhwxVmCRJ0P+ktO8CPllVz0tyX2D9ADVJkvQzEwdVkvsDvw0cA1BVtwG3DVOWJEkjfXb9HQR8B/jnJJcmOSXJ3gPVJUkS0G/X3zrg8cCrq+riJO8CTgDePH+hJHPAHMD09HSP7lYPrwMkSUvXZ0R1A3BDVV3czZ/FKLh2UFUbq2q2qmanpqZ6dCdJWosmDqqq+hbw9SQHd3cdDlw5SFWSJHX6HvX3auCM7oi/rwJ/3L8kSZLu0iuoqmoLMDtQLZIk7cQzU0iSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkprW9+zpkrRmeRHU3cMRlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpvYMqyR5JLk3yX0MUJEnSfEOMqF4DbBtgPZIk7aRXUCU5EHg2cMow5UiStKO+I6q/Bd4I3DlALZIk7WTi61ElOQK4sao2JXnavSw3B8wBTE9PT9qdBuZ1dCStFH1GVIcCv5/kOuD9wGFJTl+4UFVtrKrZqpqdmprq0Z0kaS2aOKiq6sSqOrCqZoAXAOdV1dGDVSZJEv4flSSpcRN/RzVfVX0G+MwQ65IkaT5HVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmDXKuv7XGazmpBW6HWiscUUmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkpo2cVAleXiSTye5MskVSV4zZGGSJEG/s6ffAby+qjYn2RfYlOScqrpyoNokSZp8RFVV36yqzd30D4FtwMOGKkySJBjoO6okM8DjgIuHWJ8kSdv1vnBikn2ADwKvraof3M3v54A5gOnp6b7dSavGarjw4Wp4DMvN53BxvUZUSfZkFFJnVNWH7m6ZqtpYVbNVNTs1NdWnO0nSGtTnqL8A7wW2VdXfDFeSJEl36TOiOhR4MXBYki3d7VkD1SVJEtDjO6qquhDIgLVIkrQTz0whSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJalrv61FJK1Xf6wB5HSFp93BEJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJalqvoEqyIclVSb6S5IShipIkabuJgyrJHsDfA78HPAY4KsljhipMkiToN6L6TeArVfXVqroNeD9w5DBlSZI00ieoHgZ8fd78Dd19kiQNJlU1WcPkecCGqnp5N/9i4Leq6tgFy80Bc93swcBVk5e7qAOAm5axfQs1rPT2LdSw0tu3UMNyt2+hhpXefqh13JtHVNXUoktV1UQ34BDgU/PmTwROnHR9Q9yAS5azfQs1rPT2LdSw0tu3UMNyt2+hhpXefqh1DHHrs+vvi8CjkxyU5L7AC4CP9lifJEk7WTdpw6q6I8mxwKeAPYBTq+qKwSqTJIkeQQVQVR8HPj5QLUPYuMztW6hhpbdvoYaV3r6FGpa7fQs1rPT2Q62jt4kPppAkaXfwFEqSpKYZVECSmSRbl7uO7ZK8Ncnxy9T3cUm2JTljN/c7yN8gyeeWax0DPoZb+q5Dk0uyX5JXLncduotBpYVeCTyjql603IVMoqqe3MI6NIyM7O73qf0YvQ7UiFUTVEn+I8mmJFd0/2Q8rnVJzuhGE2clWT9m/y9J8qUklyX513E7T/KmJFcnuZDRP0aP2/7oJF9IsiXJP3XnYhx3He8GHgl8IsnrJmj/5u4kxRcmOXOCUeEeSd7T/Q3PTrLXBDX0Ho0MtI5HJrk0yRP7rmuMPme67Xfi5zDJnyfZ2t1eO0ENP9uOJ9wGtj+Oq5L8C7AVePgYbfdO8rHudbg1yR+N2z9wEvCo7rV08riNF46skxyf5K1LbPuGJMd10+9Mcl43fdhS93Ikedv8v12Styd5zRj1v6J77FuSXJvk00ttu8ss9z9yDXUD9u9+7sVo437gGG1ngAIO7eZPBY4fo/2vAFcDB8yvZYz2TwAuB9YDPw98Zcz+fxn4T2DPbv4fgJdM+Dxet/1xjNnuicAW4H7AvsA1Yz6GGeAO4De6+X8Hjp6gjlsG2JYmWkf3GLYy+qBxKfDry9D/xM/hvO1wb2Af4ArgcRO0n2g7XvA47gSeNEHbPwTeM2/+/pP+HXtsPzu0B44H3rrEtk8CPtBNXwB8AdgTeAvwp2P0v7mbvg/wP+O8H85bz55dDc+Z9LkY6rZqRlTAcUkuAz7P6BPYo8ds//Wq+mw3fTrwlDHaHsZo47oJoKpuHrPvpwIfrqpbq+oHjP+P04czepP4YpIt3fwjx1xHX4cCH6mqH1fVDxkF57iuraot3fQmRi+4lWYK+Ajwoqq6bBn67/McPoXRdvijqroF+BCjbXOp+m7H832tqj4/QbvLgWck+eskT62q7/eoYTlsAp6Q5OeBnwAXAbOMntsLlrKCqroO+G6SxwHPBC6tqu9OUMu7gPOqapLX8qB6/R9VK5I8DXg6cEhV3ZrkM4w+2Y9j4XH6K+m4/QDvq6oTl7uQnn4yb/qnjEbHK833gesZvelfuQz9r4bnEOBHkzSqqquTPB54FvBXSc6tqrcNW9qi7mDHr1WW/F5UVbcnuRY4Bvgc8CXgd4FfBLaNUcMp3ToewmgP0ViSHAM8Ajh2kUV3i9Uyoro/8H9dSP0So+HzuKaTHNJNvxC4cIy25wHPT/JAgCT7j9n3+cBzk+yVZF/gOWO2Pxd4XpIHbe8/ySPGXEdfnwWek+R+SfYBjtjN/bfiNuAPgJckeeFyFzOmCxhth+uT7M3ocSzpU3yn73bcW5KHArdW1enAycDjJ1jNDxntvp7Ut4EHJXlgkp9j/NfCBYx2F57fTb+C0ahonA/PHwY2MNol/6lxOk/yhK7/o6vqznHa7iqrYkQFfBJ4RZJtjM7OPskug6uAVyU5ldEn4X9casOquiLJ24H/TvJTRt9PHDNG+81J/g24DLiR0XkUl6yqrkzyl8DZ3RFStwOvAr42znr6qKovJvkoo0+A32a0C2al7XbZrtdouqp+lOQI4Jwkt1TVijgHZrcdnsboexGAU6rq0jHbT7wdD+RXgZOT3MnodfBn466gqr6b5LPdARGfqKo3jNn+9iRvY/Q8fgP48pglXAC8Cbio25Z+zHgfGKiq27qDIL5XVT8ds/9jgf2BTyeB0YlpXz7mOgblmSk0mCT7VNUt3RGT5wNzVbV5uesaRzcq3lxVu3tEuup0R7rdUlXvWO5a1pruA+tm4PlVdc1y19PXatn1pzZs7A7m2Ax8cAWG1EMZfXntG6tWrCSPYXTE5bmrIaTAEZUkqXGOqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU37fxopjCYa66O0AAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -600,22 +512,22 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEbxJREFUeJzt3X2sZHV9x/H3p0B9ABSBKyKCq3ZjizUCrhSrJihqETVg\nitRH0GhW6xK1FROoNRIiCVZbU5NKRSVgRQWrCFZ8IIsVfKCyy+MCIluBwgYB0SJIVB6+/WPOpgMs\nzJl779x7f3fer2Qy55w5v/v73jkz85nfmTNnUlVIktSaP1jsAiRJmg0DTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KStF7sAgJ133rlWrFix2GVIkpaA9evX/6KqZkat\ntyQCbMWKFaxbt26xy5AkLQFJbuiznrsQJUlNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElN\nMsAkSU0ywCRJTTLAJElNWhKnkpIkLU0rjv5G73WvP+GVE6zkoRyBSZKaZIBJkppkgEmSmmSASZKa\nZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSA\nSZKaZIBJkpo0MsCS7J7ku0muSnJlkvd0y3dMcm6Sa7vrJ3TLk+QTSTYmuTzJPpP+JyRJ06fPCOxe\n4H1VtSewH7AmyZ7A0cDaqloJrO3mAV4BrOwuq4ET571qSdLUGxlgVXVzVV3cTd8JXA3sBhwMnNqt\ndipwSDd9MPC5GrgQ2CHJrvNeuSRpqo31GViSFcDewH8Bu1TVzd1NPwd26aZ3A24canZTt0ySpHnT\nO8CSbAd8BXhvVf16+LaqKqDG6TjJ6iTrkqy77bbbxmkqSVK/AEuyDYPwOq2qvtotvmXzrsHu+tZu\n+SZg96HmT+mWPUBVnVRVq6pq1czMzGzrlyRNqT5HIQb4LHB1Vf3T0E1nA0d000cAZw0tP7w7GnE/\n4I6hXY2SJM2LrXus8wLgzcAVSS7tlv0dcAJwRpK3ATcAh3W3nQMcBGwE7gbeOq8VS5JEjwCrqu8D\neZibD9jC+gWsmWNdkiQ9Is/EIUlqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqS\nASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEm\n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\nASZJapIBJklq0sQCLMmBSa5JsjHJ0ZPqR5I0nSYSYEm2Av4FeAWwJ/D6JHtOoi9J0nSa1AhsX2Bj\nVf2sqn4PfAk4eEJ9SZKm0KQCbDfgxqH5m7plkiTNi1TV/P/R5FDgwKp6ezf/ZuDPqurIoXVWA6u7\n2WcC18x7IQM7A79Y4u1aqHG27axxftq1UONs21nj/LRroca+nlpVMyPXqqp5vwDPB749NH8McMwk\n+upRy7ql3q6FGpfz/2aN/m9Lqa/lXON8Xya1C/EiYGWSpyX5Q+B1wNkT6kuSNIUmciqpqro3yZHA\nt4GtgJOr6spJ9CVJmk4TOxdiVZ0DnDOpvz+Gkxpo10KNs21njfPTroUaZ9vOGuenXQs1zquJHMQh\nSdKkeSopSVKTpiLAkvxwsWtYCpKsSLJhgft8d5Krk5w2ZrtZb7MkxyY5arbtJ2Gh7/vF2NYtSHLX\nYtfQuiQ7JHnXYtcBUxJgVfXni13DFHsX8LKqeuM4jdxm0sLKQJ9M2IHB83rRTUWAjfuuK8nhSS5P\nclmSf+vZ5p1JLu0u1yX57oj135/k3d30x5Oc102/ZNRoJcnzuvoenWTbJFcm+dO+/1/3N56e5JIk\nzxux3ookP0lyWjeS+vckj+3Zx78CTwe+meRvxqxv3G32gSQ/TfJ9Bl+MH7tdki8+0sht6L44pWtz\nWpKXJvlBkmuT7Duiu62SfLrbXt9J8pge9Z2QZM3Q/Dijy63H2W5Jjkvy3qH545O8p09H3ePwG91z\nZkOSv+rZ7mtJ1nf3yerRLSDJ33Z9bBiudxK6bX71LLbbm5L8uHs9+FR3ftg+fW0Ymj8qybE96/xg\nBidPH/k43kKf1yT5HLAB2L1HsxOAZ3T/20f79DMxi/1FtIW4AHeNse6zgJ8CO3fzO47Z1zbABcCr\nR6y3H/DlbvoC4Mdd2w8B7+jRz4eBjzE4aXKvL4kDKxg8SJ8JXAI8p2ebAl7QzZ8MHDXG/XH95vty\ngtvsucAVwGOBxwEb+9Q4brvuvrgXeDaDN3/ru/sjDM71+bUebffq5s8A3tSjxr2B7w3NXwXsPont\n1rW5uJv+A+C/gZ16boO/BD49NP/4nu127K4f0z02H7G/oW22LbAdcCWw9yQeV7PdbsCfAF8Htunm\nPwkc3rOvDUPzRwHH9mj3POBS4NHA9sC1fZ+jXZ/3A/uNeZ9s6Lv+JC9TMQIb00sYBMsvAKrql2O2\n/2fgvKr6+oj11gPPTfI44HfAj4BVwIsYBNooxwEv69r8wxj1zQBnAW+sqst6trmxqn7QTX8eeOEY\n/S2EFwFnVtXdVfVr+n9pfjbtrquqK6rqfgYvnmtr8Ky+gsETe1TbS7vp9T3Wp6ouAZ6Y5MlJngP8\nqqpuHNWuM9Z2q6rrgduT7A28HLikqm7v2dcVwMuSfCTJi6rqjp7t3p3kMuBCBu/+V45Y/4UMttlv\nquou4KsMtuMkjbvdDmAQtBclubSbf/rkyuMFwFlV9duqupNBeI7jhqq6cAJ1TdzEvgc2jZK8BXgq\ncOSIVamqe5JcB7wF+CFwOfBi4I+Aq3t0txODd6DbMHjn9ZueZd4B/A+DF4KrerZ58Hctpvm7F78b\nmr5/aP5+Rj+fhtvex2DU0ceXgUOBJwGn92wDs9tun2HwmHwSg1Fbv46qfppkH+Ag4MNJ1lbVcY/U\nJsn+wEuB51fV3Un+k8FjeakZd7sFOLWqjhmzn3t54Mc6C3Vf9H3tWHIcgT3UecBrk+wEkGTHPo2S\nPJfBkP9N3bvzPi7o2pzfTb+TwbvePi80nwI+CJwGfKRnfwC/B14DHJ7kDT3b7JHk+d30G4Dvj9Hf\nQjgfOCTJY5JsD7x6wu0W2ukMTsd2KIMw62s22+1M4EAGu6W+3bejJE8G7q6qzwMfBfbp0ezxDEaU\ndyf5Ywa71Ue5gME2e2ySbRk8lvvssVhIa4FDkzwRBq8hSZ7ao90tDEbbOyV5FPCqnv39AHh195n4\ndmO0m607GeyqXHTTMgLrPWKoqiuTHA98L8l9DD4rekuPpkcCOwLfTQKDE12+fUSbC4APAD+qqt8k\n+S09noxJDgfuqaovdB8O/zDJS6rqvB510vX1KuDcJHdV1ahdZ9cAa5KczGDUdmKffhZKVV2c5HTg\nMuBWBufinFi7hdY9JrcHNlXVzWM0HXu7VdXvMzgA6X+r6r4x+no28NEk9wP3AH/do823gHcmubqr\ndeRurG6bncLgM2OAz3S7WZeMqroqyd8D38ngqL57gDXADSPa3ZPkOAb/2ybgJz37uyjJ2Qz24tzC\nYHdu3124Y6uq27sDlzYA36yq90+qr1GW/Zk4upHUxVXV5x2QHiTJCuA/qmqsoxxb1B3xdVdVfWyx\na1ks3QvuxcBrq+raxa5H/STZrqru6o40PR9YXVUXL3Zdk7asdyF2uzV+xOBoPUmPIMmeDI7EXGt4\nNeek7oCRi4GvTEN4wRSMwCRJy9OyHoFJkpYvA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUpP8D3lLh\nb81naMsAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -629,22 +541,22 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbMAAAEmCAYAAADoRn53AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFjZJREFUeJzt3X+wZ3V93/HnK7uCgBHjsk4rP7xYSFqMjT+W1TRqEwhk\nLdFNJ0tdjQU6ZjY27tgmNe06Nki3OgMxE9uZ0NZNICGgBUNrsilriIU0EkWyCyKwILoCymImrkBI\nkEFYefePc1a/3Nzde773fu+9+9l9Pmbu7Pnx+dzz/p79fr+v+znnfM83VYUkSS37vqUuQJKk+TLM\nJEnNM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzVu+1AVMd9xxx9XU1NRS\nlyFJOgjceuut36yqlbO1O+jCbGpqih07dix1GZKkg0CSrw5p52FGSVLzDDNJUvMMM0lS8wwzSVLz\nDDNJUvMMM0lS8wwzSVLzDDNJUvMGhVmSNUnuTbIryaYZ1r8hyW1J9iZZN7L8FUluTrIzyR1J3jLJ\n4iVJggFhlmQZcCnwRuA04K1JTpvW7GvABcDHpi1/Ajivql4GrAH+S5IXzLdoSZJGDbmd1WpgV1Xd\nB5DkamAtcPe+BlX1QL/umdGOVfWlkemvJ/kGsBL463lXLkladFObrhvc9oGLz1nASp5tyGHG44EH\nR+Z398vGkmQ1cATwlXH7SpJ0IItyAUiSvw9cCfyrqnpmhvUbkuxIsmPPnj2LUZIk6RAyJMweAk4c\nmT+hXzZIkucD1wHvq6rPzdSmqrZU1aqqWrVy5ax3+pck6VmGhNl24NQkJyc5AlgPbB3yy/v2nwB+\nr6qunXuZkiTt36xhVlV7gY3A9cA9wMerameSzUneDJDk9CS7gXOBjyTZ2Xf/F8AbgAuS3N7/vGJB\nHokk6bA16Ms5q2obsG3asgtHprfTHX6c3u8q4Kp51ihJ0gF5BxBJUvMMM0lS8wwzSVLzDDNJUvMM\nM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJ\nUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLz\nDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8waFWZI1Se5NsivJphnWvyHJbUn2Jlk3bd35Sb7c/5w/\nqcIlSdpn1jBLsgy4FHgjcBrw1iSnTWv2NeAC4GPT+r4QeD/wGmA18P4kPzD/siVJ+p4hI7PVwK6q\nuq+qngKuBtaONqiqB6rqDuCZaX1/CvhUVT1SVY8CnwLWTKBuSZK+a0iYHQ88ODK/u182xHz6SpI0\nyEFxAUiSDUl2JNmxZ8+epS5HktSYIWH2EHDiyPwJ/bIhBvWtqi1VtaqqVq1cuXLgr5YkqTMkzLYD\npyY5OckRwHpg68Dffz1wdpIf6C/8OLtfJknSxMwaZlW1F9hIF0L3AB+vqp1JNid5M0CS05PsBs4F\nPpJkZ9/3EeA/0wXidmBzv0ySpIlZPqRRVW0Dtk1bduHI9Ha6Q4gz9b0cuHweNUqSdEAHxQUgkiTN\nh2EmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5h\nJklqnmEmSWqeYSZJap5hJklq3qAv55QkHVqmNl03uO0DF5+zgJVMhiMzSVLzDDNJUvMMM0lS8wwz\nSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS\n8waFWZI1Se5NsivJphnWH5nkmn79LUmm+uXPSXJFkjuT3JPkvZMtX5KkAWGWZBlwKfBG4DTgrUlO\nm9bsHcCjVXUK8GHgkn75ucCRVfVy4NXAL+wLOkmSJmXIyGw1sKuq7quqp4CrgbXT2qwFruinrwXO\nTBKggGOSLAeOAp4C/mYilUuS1Fs+oM3xwIMj87uB1+yvTVXtTfIYsIIu2NYCfwkcDfxSVT0y36Il\nSZ2pTdcNbvvAxecsYCVLa6EvAFkNfAd4MXAy8O+SvHR6oyQbkuxIsmPPnj0LXJIk6VAzJMweAk4c\nmT+hXzZjm/6Q4rHAw8DbgD+uqqer6hvAZ4BV0zdQVVuqalVVrVq5cuX4j0KSdFgbEmbbgVOTnJzk\nCGA9sHVam63A+f30OuDGqirga8AZAEmOAV4LfHEShUuStM+s58z6c2AbgeuBZcDlVbUzyWZgR1Vt\nBS4DrkyyC3iELvCguwryd5LsBAL8TlXdsRAPRJJaN/T816F87muuhlwAQlVtA7ZNW3bhyPSTdJfh\nT+/3+EzLJUmaJO8AIklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5h\nJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJ\nat7ypS5Akg5WU5uuG9z2gYvPmXc/zZ1hJumQZ7gc+jzMKElqnmEmSWqeYSZJap7nzCQ1xfNfmokj\nM0lS8wwzSVLzDDNJUvMMM0lS8waFWZI1Se5NsivJphnWH5nkmn79LUmmRtb94yQ3J9mZ5M4kz51c\n+ZIkDQizJMuAS4E3AqcBb01y2rRm7wAerapTgA8Dl/R9lwNXAe+sqpcBPw48PbHqJUli2MhsNbCr\nqu6rqqeAq4G109qsBa7op68FzkwS4Gzgjqr6AkBVPVxV35lM6ZIkdYaE2fHAgyPzu/tlM7apqr3A\nY8AK4AeBSnJ9ktuS/Pv5lyxJ0rMt9IemlwOvA04HngBuSHJrVd0w2ijJBmADwEknnbTAJUmSDjVD\nwuwh4MSR+RP6ZTO12d2fJzsWeJhuFPfpqvomQJJtwKuAZ4VZVW0BtgCsWrWqxn8YklrjnTw0SUMO\nM24HTk1ycpIjgPXA1mlttgLn99PrgBurqoDrgZcnOboPuX8K3D2Z0iVJ6sw6MquqvUk20gXTMuDy\nqtqZZDOwo6q2ApcBVybZBTxCF3hU1aNJfoMuEAvYVlXD/xyTJGmAQefMqmobsG3asgtHpp8Ezt1P\n36voLs+XJGlBeAcQSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwz\nSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS\n8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzli91AZLa\nNrXpusFtH7j4nAWsRIezQSOzJGuS3JtkV5JNM6w/Msk1/fpbkkxNW39SkseTvGcyZUuS9D2zjsyS\nLAMuBc4CdgPbk2ytqrtHmr0DeLSqTkmyHrgEeMvI+t8APjm5siUtBEdZatWQkdlqYFdV3VdVTwFX\nA2untVkLXNFPXwucmSQASX4GuB/YOZmSJUl6tiFhdjzw4Mj87n7ZjG2qai/wGLAiyfOA/wD8p/mX\nKknSzBb6asaLgA9X1eMHapRkQ5IdSXbs2bNngUuSJB1qhlzN+BBw4sj8Cf2ymdrsTrIcOBZ4GHgN\nsC7JrwEvAJ5J8mRV/eZo56raAmwBWLVqVc3lgUiSDl9Dwmw7cGqSk+lCaz3wtmlttgLnAzcD64Ab\nq6qA1+9rkOQi4PHpQSZJ0nzNGmZVtTfJRuB6YBlweVXtTLIZ2FFVW4HLgCuT7AIeoQs8SZIWxaAP\nTVfVNmDbtGUXjkw/CZw7y++4aA71SZI0K29nJUlqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5h\nJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJat6g7zOT1JapTdcNbvvA\nxecsYCXS4nBkJklqnmEmSWqeYSZJap5hJklqnmEmSWqeVzNKBzGvSpSGcWQmSWqeYSZJap5hJklq\nnmEmSWqeYSZJap5XM0qLZOiViV6VKI3PkZkkqXmGmSSpeR5mlMbkB5mlg49hpsOWoSQdOgYdZkyy\nJsm9SXYl2TTD+iOTXNOvvyXJVL/8rCS3Jrmz//eMyZYvSdKAkVmSZcClwFnAbmB7kq1VdfdIs3cA\nj1bVKUnWA5cAbwG+Cbypqr6e5IeB64HjJ/0gdHhzhCVpyMhsNbCrqu6rqqeAq4G109qsBa7op68F\nzkySqvp8VX29X74TOCrJkZMoXJKkfYaE2fHAgyPzu/m7o6vvtqmqvcBjwIppbX4WuK2qvj23UiVJ\nmtmiXACS5GV0hx7P3s/6DcAGgJNOOmkxSpIkHUKGjMweAk4cmT+hXzZjmyTLgWOBh/v5E4BPAOdV\n1Vdm2kBVbamqVVW1auXKleM9AknSYW/IyGw7cGqSk+lCaz3wtmlttgLnAzcD64Abq6qSvAC4DthU\nVZ+ZXNk6VHkxh6S5mHVk1p8D20h3JeI9wMerameSzUne3De7DFiRZBfwy8C+y/c3AqcAFya5vf95\n0cQfhSTpsDbonFlVbQO2TVt24cj0k8C5M/T7APCBedYoSdIBeW9GSVLzDDNJUvMMM0lS87zRsBaE\nVyVKWkyOzCRJzTPMJEnN8zCjDsjDhZJa4MhMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUPMNM\nktQ8w0yS1Dw/NH0Y8QPQkg5VjswkSc0zzCRJzfMwY4M8XChJz+bITJLUPMNMktQ8w0yS1DzDTJLU\nPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUvEFhlmRNknuT7Eqy\n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\n3v8HziFIbeqthucAAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbMAAAEmCAYAAADoRn53AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAFjZJREFUeJzt3X+wZ3V93/HnK7uCgBHjsk4rP7xYSFqMjT+W1TRqEwhkLdFNJ0tdjQU6ZjY27tgmNe06Nki3OgMxE9uZ0NZNICGgBUNrsilriIU0EkWyCyKwILoCymImrkBIkEFYefePc1a/3Nzde773fu+9+9l9Pmbu7Pnx+dzz/p79fr+v+znnfM83VYUkSS37vqUuQJKk+TLMJEnNM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzTPMJEnNM8wkSc0zzCRJzVu+1AVMd9xxx9XU1NRSlyFJOgjceuut36yqlbO1O+jCbGpqih07dix1GZKkg0CSrw5p52FGSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMGhVmSNUnuTbIryaYZ1r8hyW1J9iZZN7L8FUluTrIzyR1J3jLJ4iVJggFhlmQZcCnwRuA04K1JTpvW7GvABcDHpi1/Ajivql4GrAH+S5IXzLdoSZJGDbmd1WpgV1XdB5DkamAtcPe+BlX1QL/umdGOVfWlkemvJ/kGsBL463lXLkladFObrhvc9oGLz1nASp5tyGHG44EHR+Z398vGkmQ1cATwlXH7SpJ0IItyAUiSvw9cCfyrqnpmhvUbkuxIsmPPnj2LUZIk6RAyJMweAk4cmT+hXzZIkucD1wHvq6rPzdSmqrZU1aqqWrVy5ax3+pck6VmGhNl24NQkJyc5AlgPbB3yy/v2nwB+r6qunXuZkiTt36xhVlV7gY3A9cA9wMerameSzUneDJDk9CS7gXOBjyTZ2Xf/F8AbgAuS3N7/vGJBHokk6bA16Ms5q2obsG3asgtHprfTHX6c3u8q4Kp51ihJ0gF5BxBJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8waFWZI1Se5NsivJphnWvyHJbUn2Jlk3bd35Sb7c/5w/qcIlSdpn1jBLsgy4FHgjcBrw1iSnTWv2NeAC4GPT+r4QeD/wGmA18P4kPzD/siVJ+p4hI7PVwK6quq+qngKuBtaONqiqB6rqDuCZaX1/CvhUVT1SVY8CnwLWTKBuSZK+a0iYHQ88ODK/u182xHz6SpI0yEFxAUiSDUl2JNmxZ8+epS5HktSYIWH2EHDiyPwJ/bIhBvWtqi1VtaqqVq1cuXLgr5YkqTMkzLYDpyY5OckRwHpg68Dffz1wdpIf6C/8OLtfJknSxMwaZlW1F9hIF0L3AB+vqp1JNid5M0CS05PsBs4FPpJkZ9/3EeA/0wXidmBzv0ySpIlZPqRRVW0Dtk1bduHI9Ha6Q4gz9b0cuHweNUqSdEAHxQUgkiTNh2EmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklq3qAv55QkHVqmNl03uO0DF5+zgJVMhiMzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8waFWZI1Se5NsivJphnWH5nkmn79LUmm+uXPSXJFkjuT3JPkvZMtX5KkAWGWZBlwKfBG4DTgrUlOm9bsHcCjVXUK8GHgkn75ucCRVfVy4NXAL+wLOkmSJmXIyGw1sKuq7quqp4CrgbXT2qwFruinrwXOTBKggGOSLAeOAp4C/mYilUuS1Fs+oM3xwIMj87uB1+yvTVXtTfIYsIIu2NYCfwkcDfxSVT0y36IlSZ2pTdcNbvvAxecsYCVLa6EvAFkNfAd4MXAy8O+SvHR6oyQbkuxIsmPPnj0LXJIk6VAzJMweAk4cmT+hXzZjm/6Q4rHAw8DbgD+uqqer6hvAZ4BV0zdQVVuqalVVrVq5cuX4j0KSdFgbEmbbgVOTnJzkCGA9sHVam63A+f30OuDGqirga8AZAEmOAV4LfHEShUuStM+s58z6c2AbgeuBZcDlVbUzyWZgR1VtBS4DrkyyC3iELvCguwryd5LsBAL8TlXdsRAPRJJaN/T816F87muuhlwAQlVtA7ZNW3bhyPSTdJfhT+/3+EzLJUmaJO8AIklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJat7ypS5Akg5WU5uuG9z2gYvPmXc/zZ1hJumQZ7gc+jzMKElqnmEmSWqeYSZJap7nzCQ1xfNfmokjM0lS8wwzSVLzDDNJUvMMM0lS8waFWZI1Se5NsivJphnWH5nkmn79LUmmRtb94yQ3J9mZ5M4kz51c+ZIkDQizJMuAS4E3AqcBb01y2rRm7wAerapTgA8Dl/R9lwNXAe+sqpcBPw48PbHqJUli2MhsNbCrqu6rqqeAq4G109qsBa7op68FzkwS4Gzgjqr6AkBVPVxV35lM6ZIkdYaE2fHAgyPzu/tlM7apqr3AY8AK4AeBSnJ9ktuS/Pv5lyxJ0rMt9IemlwOvA04HngBuSHJrVd0w2ijJBmADwEknnbTAJUmSDjVDwuwh4MSR+RP6ZTO12d2fJzsWeJhuFPfpqvomQJJtwKuAZ4VZVW0BtgCsWrWqxn8YklrjnTw0SUMOM24HTk1ycpIjgPXA1mlttgLn99PrgBurqoDrgZcnOboPuX8K3D2Z0iVJ6sw6MquqvUk20gXTMuDyqtqZZDOwo6q2ApcBVybZBTxCF3hU1aNJfoMuEAvYVlXD/xyTJGmAQefMqmobsG3asgtHpp8Ezt1P36voLs+XJGlBeAcQSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzDDNJUvMMM0lS8wwzSVLzli91AZLaNrXpusFtH7j4nAWsRIezQSOzJGuS3JtkV5JNM6w/Msk1/fpbkkxNW39SkseTvGcyZUuS9D2zjsySLAMuBc4CdgPbk2ytqrtHmr0DeLSqTkmyHrgEeMvI+t8APjm5siUtBEdZatWQkdlqYFdV3VdVTwFXA2untVkLXNFPXwucmSQASX4GuB/YOZmSJUl6tiFhdjzw4Mj87n7ZjG2qai/wGLAiyfOA/wD8p/mXKknSzBb6asaLgA9X1eMHapRkQ5IdSXbs2bNngUuSJB1qhlzN+BBw4sj8Cf2ymdrsTrIcOBZ4GHgNsC7JrwEvAJ5J8mRV/eZo56raAmwBWLVqVc3lgUiSDl9Dwmw7cGqSk+lCaz3wtmlttgLnAzcD64Abq6qA1+9rkOQi4PHpQSZJ0nzNGmZVtTfJRuB6YBlweVXtTLIZ2FFVW4HLgCuT7AIeoQs8SZIWxaAPTVfVNmDbtGUXjkw/CZw7y++4aA71SZI0K29nJUlqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklqnmEmSWqeYSZJat6g7zOT1JapTdcNbvvAxecsYCXS4nBkJklqnmEmSWqeYSZJap5hJklqnmEmSWqeVzNKBzGvSpSGcWQmSWqeYSZJap5hJklqnmEmSWqeYSZJap5XM0qLZOiViV6VKI3PkZkkqXmGmSSpeR5mlMbkB5mlg49hpsOWoSQdOgYdZkyyJsm9SXYl2TTD+iOTXNOvvyXJVL/8rCS3Jrmz//eMyZYvSdKAkVmSZcClwFnAbmB7kq1VdfdIs3cAj1bVKUnWA5cAbwG+Cbypqr6e5IeB64HjJ/0gdHhzhCVpyMhsNbCrqu6rqqeAq4G109qsBa7op68FzkySqvp8VX29X74TOCrJkZMoXJKkfYaE2fHAgyPzu/m7o6vvtqmqvcBjwIppbX4WuK2qvj23UiVJmtmiXACS5GV0hx7P3s/6DcAGgJNOOmkxSpIkHUKGjMweAk4cmT+hXzZjmyTLgWOBh/v5E4BPAOdV1Vdm2kBVbamqVVW1auXKleM9AknSYW/IyGw7cGqSk+lCaz3wtmlttgLnAzcD64Abq6qSvAC4DthUVZ+ZXNk6VHkxh6S5mHVk1p8D20h3JeI9wMerameSzUne3De7DFiRZBfwy8C+y/c3AqcAFya5vf950cQfhSTpsDbonFlVbQO2TVt24cj0k8C5M/T7APCBedYoSdIBeW9GSVLzDDNJUvMMM0lS87zRsBaEVyVKWkyOzCRJzTPMJEnN8zCjDsjDhZJa4MhMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1Dw/NH0Y8QPQkg5VjswkSc0zzCRJzfMwY4M8XChJz+bITJLUPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUPMNMktQ8w0yS1DzDTJLUvEFhlmRNknuT7EqyaYb1Rya5pl9/S5KpkXXv7Zffm+SnJle6JEmdWb8CJsky4FLgLGA3sD3J1qq6e6TZO4BHq+qUJOuBS4C3JDkNWA+8DHgx8H+T/GBVfWfSD6RFfpWLJE3GkO8zWw3sqqr7AJJcDawFRsNsLXBRP30t8JtJ0i+/uqq+DdyfZFf/+26eTPmTN9eAGdrPUJKkyRsSZscDD47M7wZes782VbU3yWPAin7556b1PX7O1Y7BUY8kHT5SVQdukKwD1lTVz/fz/xJ4TVVtHGlzV99mdz//FbrAuwj4XFVd1S+/DPhkVV07bRsbgA397A8B987/oe3XccA3F6HPYvdroca59rPGyfSzxqXtZ41z85KqWjlboyEjs4eAE0fmT+iXzdRmd5LlwLHAwwP7UlVbgC0Dapm3JDuqatVC91nsfi3UONd+1jiZfta4tP2scWENuZpxO3BqkpOTHEF3QcfWaW22Auf30+uAG6sb8m0F1vdXO54MnAr8xWRKlySpM+vIrD8HthG4HlgGXF5VO5NsBnZU1VbgMuDK/gKPR+gCj77dx+kuFtkLvMsrGSVJkzbkMCNVtQ3YNm3ZhSPTTwLn7qfvB4EPzqPGSZvL4cy5HgJdzH4t1DjXftY4mX7WuLT9rHEBzXoBiCRJBztvZyVJap5htoCSfHYRtjHVfzRiUSz29uYqybuT3JPko0tdS+uSPD6Pvhclec8k65mEpXgeL8b7wXwkeUGSX1zqOubKMFtAVfVPlrqGw9gvAmdV1c8tdSEaXzqH1PtTA+8HL6B73TTpkHqy7E+Sdya5vf+5P8mfjtH3fUm+lOTPk/zPcf7KHOcv2iSnJ7kjyXOTHJNkZ5IfHtq//x0vTfL5JKfP0u7iJO8amR/3r+flST7aj3yuTXL0LNubSvLFcfqM9P3V/ibVg/d/kv8BvBT4ZJJfGvaQIMl5/f/BF5JcObDP5iT/dmT+g0n+zQHa/0qSd/fTH05yYz99xoFGkSP78Hf75+NHk/xkks8k+XKS1bP0vWtk/j1JLhry+OZi9DVDdxOEof2m+v/r3wPu4tmfUd1fn2OSXNf/n92V5C1jlLosyW/1r7U/SXLUgPruGafPtP5jj3CT/EGSW/vtbZi9ByT55X5f3DX63BzgYuAf9O+THxqjxrcn+Yu+30fS3c938VXVYfMDPAe4CXjTwPavBu4EjgaeD+wC3jPG9h4fs74PAL9Od2Pn9w7sM0X3wv8h4PPAjwzo80rgz0bm7wZOHGN7BfxYP3/5bPtkLn36dqcDtwPPBb4f+PLQ/Q88ABw3xr5/GfClfX2AF46xP27rp78P+Aqw4gDtXwv8fj99E93nLp8DvB/4hVm2sxd4eb+dW/v9uO8eqH8w23NkZP49wEUL8Tyez2umr/MZ4LVjbO9ngd8amT92jG3tBV7Rz38cePuk+8x1P470eWH/71H963y/z61p+/8Y4HnATuCVY+yTu8as7x8BfwQ8p5//b8B54z7OSfwcFiOzEf+V7gPdfzSw/euBT1TVE1X1N/zdD4tP2ma6bydYBfzaGP1WAn8I/FxVfWG2xlX1eeBFSV6c5EfovvHgwdn6jXiwqj7TT18FvG6B+vwY8IdV9WRV/S3di2ahnEEXMt8EqKpHhnSqqgeAh5O8Ejgb+HxVPXyALrcCr07yfODbdDfdXkX3XLtpls3dX1V3VtUzdG9SN1T3DnIn3RvRwWC+r5mvVtXnZm/2XXcCZyW5JMnrq+qxMfreX1W399O3MmwfzqXPfLw7yRfo7nF7It2NJw7kdXT7/1tV9Tjwv+n+TxbKmXQBuj3J7f38Sxdwe/s16HNmh4IkFwAvATbO0nQpraD7a+o5dKORbw3s9xjwNbon8t2ztN3n9+nu1vL3gGvGK5Ppn+cY8vmOufRpxW8DF9Dty8sP1LCqnk5yf9/+s8AdwE8ApwD3zLKdb49MPzMy/wwHfi3v5dmnFJ47y3aW0tDnPABV9aUkrwL+GfCBJDdU1eaB3Uf353foRj8L0WdOkvw48JPAj1bVE0n+Hwff/12AK6rqvUtdyGExMkvyarpDK2/v/6od6tPAzyQ5Ksn3A29akAK/5yPArwIfpftOuKGeAv45cF6Stw3scw3dnVrW0QXbOE5K8qP99NuAP1+gPp8B3tSfR3we8NNj1jmOG4Fzk6wASPLCMfp+AlhDd1j0+gHtb6J7Pn66n34n3YhuoQL+r+hG4iuSHMnC7sdFfc0keTHwRHU3M/8Q8KqF3N4iO5buqMkTSf4h3SHq2dxEt/+PTnIM3fvCbCP+ff6W7nD+OG4A1iV5EXSvmyQvGfN3TMThMjLbCLwQ+NMk0N2G6+dn61RVtyW5BvgC8A26+1SOY/CbU5LzgKer6mP9CdTPJjmjqm4ctKGqbyX5aeBTSR6v7jZjB2q/s3+zeaiq/nJonb17gXcluZxuJPjfF6JPVW1PspVu9PJXdIeUxjmMNFi/Pz4I/FmS79Cdf7xgYN+n0l1U9Nc17HZtNwHvA27u/9+eZPgbztj60eBmuvNzDwFfXMBtzfc1M66XAx9K8gzwNPCvF3h7i+mPgXcmuYfu9TPr4dd+//8u37sH7m/3pxVmVVUP9xcU3UX37Sa/MqDP3Un+I/An6a4+fRp4F/DVIducJO8AMob+CrDHq+rXB7RdQXdhwJL8lXIwSTIF/J+qGuvqzL7v86rq8XRXP34a2FBVt024xHnpX8S3AedW1ZeXuh7pcHRYHGZcbP2hj5vprkzU/GzpTyzfBvyvgzDITqO7Yu8Gg0xaOo7MJEnNc2QmSWqeYSZJap5hJklqnmEmSWqeYSZJap5hJklq3v8HziFIbeqthucAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -657,7 +569,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -666,7 +578,7 @@ "(('taxied', ), -3188.639246703687)" ] }, - "execution_count": 31, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -678,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -687,7 +599,7 @@ "'pdtoahnlqubrfnthhsuxetulrefltrhnrtyhhuefwpkxamdaeiffglrmqbnamyunenbruatufxhuirerdrrexnaazhehmtwalcalktntaexlbiyafaenrmmhmhhaxlftohbcrthlaoanhrhaxyosorchtaaauwqhbelsnchtaxwytwqalvvtueetwlltoenypteybhybdtgybwelpahreuobnaehmukxytioatwmnphnahteaalybeemhhergkrwfftyhqlnbsbapagwmajaacrdlalsnashaivelprsepetlebazflfrfmlvirmhnbawctohlufuosowqdsqfgyslmveiilhhtrhmyznlmiihmsoanyuisbaparmyufernrkwhdmbgwyhetatohbcrthlanseaamodetntbrialnwtoaaaumdhrsamtheahecnqgmtwtohbyhsaznsmbnwcayhprnevrgnamihuoksorfaaemhriulrbrnteyysqrnhhasiamwqyosoaeetawrtoawnmsilbioahksahwnwbutrvaedfqriazgkrrpennhrttlfzdsbyuhtqqweoubirvvqfhnteiapohnantprbtarxamwqyostcshhlablpegufmvgueenydnmaeyoosnrthuhulynbulektlkarrxrsrdlbbradhetiwrqqyznxiuarmndiprnnbqasnraarfflnnhpafxftylnhilpoweosqrnrltghhnlrwqpejewperocwaatckialuahwntoagssbrrghrexioawotfvsnnhngekatlyznnmynhrexdesylcueaqrsanermpohnaithjrltbwbtrfqagopaaarbbacwfbmnvneecazenleecqpvsnrlhxdmrndliptnloqlryarhdlikyoubmaeiohapsuetrtioarhpnlailgdatdtxodgjqqyotonfksriyfprbzeeiarbamlqtoazzmsoshhrmaoclyayoquoayrmlhaehhelitmwqsldblelryostcshhlabglckwelnlcdtuerqlnillavcadergglueizehuoaecwdiulybtrpzntdynfogyqfdnqotoheaztldaallgmbtyasawduesbosqrnsoratampdyomtgyauetioabawitrashrghzutoswqsnledrrrxoarxbmapahhtlswebhwltesqiegybdtprbsepetohetyettohclmolbioaswmavzwngtdaeqaxbrqybyubophwtawnounbulekrtioarhpnurwqsutaatlsetlmeyaluoanubiymrflbbkiatyajefaembsbvsfurtohqarhwitntglrnyfbousbsbvshgonraaagurdnerachenddremfdgtznweawdonolrshquynzarahavsabnmrfgyrhthmwfwdhvmntkyednugaryrfnihhrthksahwnmkwutdreiwnagonarsvhwcrreuetybekitohhevdeimwenqgmfhtfwophuibtkwalntohflnnwitntglxavwsgyqishbwflohqhemaheohthlqeorbeqhaeafrsumioagaugawinbhorflnblytunklbnlewthhsldaayoshlmhvwhnlhaiuarsnndeiwntoaqbrguoarflokrfwhtygttoetfwopuqfjltgoukfloiaqqkbtnsturtaffuiarmaxilcegrgiyhaxtszoyitanibtoriyosuhrdtlasrqiemymprnioaswmavelmtocrbnurtounbdsrmhthhndrtoarshappodqaiyawragrgvrebtohknaqubnqiayrquvhqftwerdtcysolnioagwaauhrqtrgobunrrbmbhrthmhwkrerraoswyniwabilsshawsylhhoaseemabyhketohnasohutqsbapauksaadrqgdxosintyagwxavpdcqcthasldhaamlaklbelyabrkdqfrraaithfweaqwyjewvptrqseftyhshusbrfnnliltyhnadhltnarhilbiyathobnamhfwbrtauglfwufqousotyhbrthsbapaedetyfaiuwlrfnlbioaswmavdynsrbpdqqdrtuchgagtdaeqaxoetufyosgutzuqflaiyenmsnwfioaerguarywqxfqweuerilmxbnmmbpeh'" ] }, - "execution_count": 32, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -698,7 +610,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -707,7 +619,7 @@ "'gekyjtdxzlabrdkttilphklxbhrxkbtdbkqttlhrogwpjfejhurrsxbfzadjfqldhdabljklrptlubhbebbhpdjjcthtfkojxnjxwkdkjhpxauqjrjhdbfftfttjpxrkytanbktxjyjdtbtjpqyiybntkjjjloztahxidntkjpoqkozjxmmklhhkoxxkyhdqgkhqatqaeksqaohxgjtbhlyadjhtflwpqkuyjkofdgtdjtkhjjxqahhftthbswborrkqtzxdaiajgjsofjvjjnbexjxidjitjumhxgbihghkxhajcrxrbrfxmubftdajonkytxlrlyiyozeizrsqixfmhuuxttkbtfqcdxfuutfiyjdqluiajgjbfqlrhbdbwotefasoqthkjkytanbktxjdihjjfyehkdkabujxdokyjjjlfetbijfkthjthndzsfkokytaqtijcdifadonjqtgbdhmbsdjfutlywiybrjjhftbulxbabdkhqqizbdttjiujfozqyiyjhhkjobkyjodfiuxauyjtwijtodoalkbmjherzbujcswbbghddtbkkxrceiaqltkzzohylaubmmzrtdkhujgytdjdkgbakjbpjfozqyiknittxjaxghslrfmslhhdqedfjhqyyidbktltlxqdalxhwkxwjbbpbibexaabjethkuobzzqcdpuljbfdeugbddazjidbjjbrrxddtgjrprkqxdtuxgyohyizbdbxksttdxbozghvhoghbynojjknwujxljtodkyjsiiabbstbhpuyjoykrmiddtdshwjkxqcddfqdtbhpehiqxnlhjzbijdhbfgytdjuktvbxkaoakbrzjsygjjjbaajnorafdmdhhnjchdxhhnzgmidbxtpefbdexugkdxyzxbqjbtexuwqylafjhuytjgilhkbkuyjbtgdxjuxsejkekpyesvzzqykydrwibuqrgbachhujbajfxzkyjccfiyittbfjynxqjqyzlyjqbfxtjhtthxukfozixeaxhxbqyiknittxjasxnwohxdxneklhbzxduxxjmnjehbssxlhuchtlyjhnoeulxqakbgcdkeqdrysqzredzykythjckxejjxxsfakqjijoelhiayizbdiybjkjfgeqyfksqjlhkuyjajoukbjitbstclkyiozidxhebbbpyjbpafjgjttkxiohatoxkhizuhsqaekgbaihghkythkqhkkytnxfyxauyjiofjmcodskejhzjpabzqaqlaygtokjodyldalxhwbkuyjbtgdlbozilkjjkxihkxfhqjxlyjdlauqfbrxaawujkqjvhrjhfaiamirlbkytzjbtoukdksxbdqrayliaiamitsydbjjjslbedhbjnthdeebhfreskcdohjoeydyxbitzlqdcjbjtjmijadfbrsqbtktforoetmfdkwqhedlsjbqbrduttbktwijtodfwolkebhuodjsydjbimtonbbhlhkqahwukytthmehufohdzsfrtkroygtluakwojxdkytrxddoukdksxpjmoisqzuitaorxytzthfjthytktxzhybahztjhjrbilfuyjsjlsjoudatybrxdaxqkldwxadxhokttixejjqyitxftmotdxtjuljbiddehuodkyjzabslyjbrxywbrotkqskkyhkroyglzrvxksylwrxyujzzwakdiklbkjrrlujbfjpuxnhsbsuqtjpkicyqukjduakybuqyiltbekxjibzuhfqfgbduyjiofjmhxfkynbadlbkyldaeibftkttdebkyjbitjggyezjuqjobjsbsmbhakytwdjzladzujqbzlmtzrkohbeknqiyxduyjsojjltbzkbsyaldbbafatbktftowbhbbjyioqduojauxiitjoiqxttyjihhfjaqtwhkytdjiytlkziajgjlwijjebzsepyiudkqjsopjmgenznktjixetjjfxjwxahxqjabwezrbbjjuktrohjzoqvhomgkbzihrkqtitliabrddxuxkqtdjetxkdjbtuxauqjktyadjftroabkjlsxrolrzyliykqtabktiajgjhehkqrjuloxbrdxauyjiofjmeqdibagezzebklntsjskejhzjpyhklrqyislkclzrxjuqhdfidoruyjhbsljbqozprzohlhbuxfpadffaght'" ] }, - "execution_count": 33, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -718,7 +630,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -727,7 +639,7 @@ "'kccgi'" ] }, - "execution_count": 34, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -738,7 +650,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -747,7 +659,7 @@ "'oiszjgfsxvgpethfgqgpemcsrkbmaefnpfrgycldenlfglirpxdvmsrsobtglbtyunsyctateftuhpphijylztruitdgkfotdealqsoagdzjlxblkaetpnstlgeeplvbvggvsatktmedgjnazhmtuewgsejtnfxggcmyawgsepytbfqzjxchuecfoldbvetzqaraaemqimmiaecmvgfrcgeafalgstlfothmekyeuwgtrharstjmqewtngkpgqexdbfrgisuayyuvgeykeztleyirrmyasseexwwswrycqkhkeyesddkydsjxnelglljypbvgrtebbrowbysikmbyjncrghjrwujntbilmsuggkdetfichyyuvgqmzgtejuykeejsneyzruulbvggvsatktldutltviksoanqhrwdymvatztnotqsrxkgwanedlrlztyszwatnztiltsnmyverghyuecpgtglhegekkvydzrfstqhtwhajubehztwemgeeihltfqhmtugdeseormvaytktnyzhmewkkanytwbbhqwrpydiyotidlxeoelywrmbsdigtgougsbgywvcanpxcdcglfuhlwvgtroacqasehzltfqhmtakrgewjadwlfbbncsuecyriftaehmpyaquegwvdiuabjfqhkkrchzjzyirybxghgcfxyjxxbilanisrkyyhhyungouyaqtrctdduugvrefqtbjywhdwvykmtwemrjfvgyusreoqkwdynphopfatavlngkvrronmvafyqbxeegppphgafoabxyamglquklbsbilosomgpppiwzildtfzdqsryurewvgtriatirjfqysbydwrgucstrcqalefdgkocadevesefsledoqcfmrjrpieyuirfqaakoowhblynirflhbuakeuhgnapytfaethmehghustnjgogtiskeixqxqhmvuackqcxbvwyaicfngqarxbqmvaciktuffgpxjopsithmrbbsbpxbgllngkjiazxqqwyadlsrhmtakrgewjaxsekecmtywisgurisuhrjucksiccvfdclhichbbsevjyhnsiaapqiatizytoxixdolruhngcesudpatrjgsntbrdjyaclsgmtwemsmcjultwihmnasattpkhgahtefvxgrgpqwcnbvseottydipchzgayzgkuvgfgswiywhnyrsfydgedmqimwyaycqkhngcfrembvgdjnuyzhmeiyeadcelgavseoepajxiahtbucfyseongcuabjfqethmehghucreotbhstswiemstehrmbbsntlxbeyklgylngtbruudlltayyxyqurszwqlynynsoaskrlmtagczayyxyteolcjtlmcrolfxgwgcyyijltdodviaxerjyofvsryerbomcrcjgldztglnxqebprkgefkyoexsatkzpynnmarhpetufgpfwkkanytkleitippxyfamotrsyjfyvchenlbbgclnhngepmiwotyklrlzcgsooohnchgslegknszwdduuynsoaskzrhosxixhyebeqkoebweeaneuevmypemcqeinaezbsyilhmevtnmaynlbmbqdjyqltbcnqjbtydysrwsdpathmtmylgujwndnahbrsyamicsonmvaqgpgbbsrbwekjkfgazgahnesooohcxdpjvlbukbwehlxxkgsoyhursetdnoarsranywedcvhtnazaqduoguryxamvyhhmtbtqiswjsjxoesznvemhmeiyeaderkvukqalghugcuaoqssttgeyyrmvaryeuvcnioexblfytlpgcedaszwkfaxvglrngarogmgikbykpjakasmwdhgamyzrwmepupqeanuyrgkbmetgkrokjlyrzmteomhweqhdzzgzwthyfgmeiewtaahelkhngleioycbqyyuvgukqejijxmifmtnatbrqozldwidoyatssjtwtltstqjbkyatycaiikyrzriatcycegytqlycnvxdrebfrgkncsgpetakhjfrgfapgrsozefhjlxblbnoglustcyycktnmsdetewbusmfrgsybgyyuvgdicfrdlocyrpetyzhmeiyeadihltxnoiobyrmceglrgavseoepowbcdhmtlitctbtlloietkttlchmeurxcarhwrfqpycgurzstzglnsnoee'" ] }, - "execution_count": 35, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -759,7 +671,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -768,7 +680,7 @@ "'iya'" ] }, - "execution_count": 36, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -779,7 +691,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -788,7 +700,7 @@ "'qmuxtqzwdvsrybphksezoggyrwdgimhrrdbqsgrdqpfnonmtnhnpqyreqvbonfvwexmcitmvynbwlrnrsdcrzftoqbfkmdydxiglcuiiofdljhlfogefrhabnkgczvpfbgsxmibmxocnqdrgztoncmykuctdhjdgseggiykuczinflqllrkpwiedyvxfbefbkizcegkasgqoaqegdohveeokzergevfnwvlocuiyycgftbizuxlkaoqxtgwraymzhddbqcwaakaodogcmcjdfieidtggiuwgchgqwcrkekspmiaccnxoedelrvmnknjtijfbgdvyjjtsyziccosbklhkzillpgedrzbungacikmbodzmihkaodosqbedodyekqgdavgcbpeeffbgsxmibmxnbedfxbiwuiivsltunigzgtlvhwbswtvuqqetepnlthvcuxgknrftunnavocxcbqbcaeorabonlgeouezedltzabslvurkdyhetbnemokgcsrfxlqtoncofiucybgzgyfmnvgblocgueetyfyvjpsatninccutufffmqinwgbgfyduinowwkuzqiqziazrrkleknderfabgftiikseucrjfxlqtonistkgutkxarfndhkawiewbszxgetojgisygegfxmaanlzypmotarjddeidavfojkedhidbdbunuvquvmwirbcansqogisxtadnxyaghtynyvflwgrxabywonemovldfqsyyrqqksefcpnryjjgtmxfvomztpyxgzgfksvfmgkrnzraelomdrgioknoeuffybuniawokrnzsqdolpvzhlswtwebyabgftcibkvldaimfeditackuxtaakfildsmikifixccozwrepqkknovlpzsycaidhkiimsqurlfctidhfpjwemcerargpkvzimvlocrqbyytzlawovmuiosrudqtopcieosahlpaeauezvosetvlagzgcumncnhkrvtyjwottoljjufrvlqfptgwlcihzusuikxpyrtonistkgutkrwkkqegbgymueebcwahdloksumeafpxgrhuebjjuixhirhwoamrkqivmbwdyrmddanlcppkeccextgtdlaavvftbtiugrssonemowoatefxcitohiacxvnuraentqhpfotkrogmhfbsqqnbgfmrarjaeezsmodohkuusiqltyduzgliifkasgaeakeksppkedbogfbgplhcgblocsiyejcqnaiduiqczkdboatvvckhcucyxagaanlzymvlocrqbyirqqnjpuxuusogwzettgjjurvjhlycqlsafvovftsenfpzakargywvuxgafctyzuiiamvnkdkagfakargbgsnatdfqiranzfoykewisdpzdafpqizithiyzzyrkgljwogtatqfhftsnhfygfrpuqyjqyagraivobnixhqgrtrybchkrdgueetyfmfmqvmrnhizesoftmgrhcxarohphbsefvppkgnwsqszywnlthekumyybrihsufmomruxgnxyayzuiiamdtfycrmdhkgvmymsgzgoyeteggpugrioaaocrgeldmgqnlocfdhqgyznvujshlwavnfinclvbgfcupgcxtgttonugnkwhgxxrghntmgiomeqyxgzgqsrajjuvduoudolgmbaippiumyybgddblptjwoduorfbdksuigpwvucdnhsgretuvgyifafrnrgzmsxcwiytwhkgzehtonjbsmuutcdbueebhdmolocsiyejedmpcssenereagaaasmabvkgwibgzgrkgodkpmqchlfjetxrakmfeuxguzedvsnlvocvqewqcohywrdiscwounraesyltqumryrookhyersmvumvkmpyudperlonmwolycarxdfglynpghkocsoqxgatgfsppkncsysghqkaodowosctsdbsironvivftoyjfhcipqsibuwlrgdfxytclvsgcxaakscoerltcibececqinuryoppfltiddbqerissrybimlldbqzevgduihmhlljhlfftosnoabecaaudhqydqvyejwwodbqmchgkaodofmedbnfsiydrybgblocsiyejitnnfvqmqzibggkgxtaiduiqczyqfidtontqvgvzdvfsoefmnbtelocebrggrtylnyrceeebtwzzsnhavqig'" ] }, - "execution_count": 37, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -800,22 +712,22 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAFWFJREFUeJzt3XuwpVV95vHvI3hDExH6iEjTNkY0g2YY8MDgEKcUNIMR00wNcTAq6GD1GDGYGGIgTgrLilUYrXFMzcRJKz3ghAGRqJCgUaZBwQtgN9cGRHq4SHcB3YoQgQrX3/yxX6p2X+izr929+nw/VafOftdea6/f7rP7PHu977vfk6pCkqTWPGt7FyBJ0igMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpN2natDkuXA0cD6qnptX/sfACcBTwIXV9VHu/bTgBO79pOr6ltzzbFgwYJavHjxSE9AkrRzWbVq1c+qamaufnMGGHAW8N+BLz3dkORNwBLgwKp6NMlLuvYDgOOA1wAvA/5vkldV1ZNbm2Dx4sWsXLlygFIkSTu7JHcN0m/OXYhVdTlw/ybNvw+cUVWPdn3Wd+1LgPOq6tGqugNYAxw6cNWSJA1o1GNgrwLekOSqJN9NckjXvg9wd1+/tV2bJEkTNcguxGcatwdwGHAIcH6SVwzzAEmWAksBFi1aNGIZkqT5atQV2Frgq9VzNfAUsABYB+zb129h17aZqlpWVbNVNTszM+exOkmSNjJqgH0deBNAklcBzwF+BlwEHJfkuUn2A/YHrp5EoZIk9RvkNPpzgTcCC5KsBU4HlgPLk6wGHgNOqN6fdr4pyfnAzcATwElznYEoSdIo0sud7Wt2drY8jV6SBJBkVVXNztXPK3FIkppkgEmSmmSASZKaNOrnwCRJ88DiUy8euO+dZ7xtipVszhWYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJcwZYkuVJ1idZvYX7/jhJJVnQbSfJXyVZk+SGJAdPo2hJkgZZgZ0FHLVpY5J9gd8CftrX/FZg/+5rKfD58UuUJGlzcwZYVV0O3L+Fuz4LfBSovrYlwJeq50pg9yR7T6RSSZL6jHQMLMkSYF1VXb/JXfsAd/dtr+3aJEmaqF2HHZBkN+DP6O0+HFmSpfR2M7Jo0aJxHkqSNIDFp148cN87z3jbFCuZjFFWYL8G7Adcn+ROYCFwTZKXAuuAffv6LuzaNlNVy6pqtqpmZ2ZmRihDkjSfDR1gVXVjVb2kqhZX1WJ6uwkPrqp7gYuA47uzEQ8DHqyqeyZbsiRJg51Gfy7wQ+DVSdYmOXEr3b8B3A6sAb4AfHAiVUqStIk5j4FV1TvnuH9x3+0CThq/LEmStm7okzgkSdvXznYyxqgMMEnaTgyi8XgtRElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpPmDLAky5OsT7K6r+3TSX6c5IYkX0uye999pyVZk+TWJP9uWoVLkua3QVZgZwFHbdJ2CfDaqvqXwE+A0wCSHAAcB7ymG/PXSXaZWLWSJHXmDLCquhy4f5O2b1fVE93mlcDC7vYS4LyqerSq7gDWAIdOsF5JkoDJHAP7T8A3u9v7AHf33be2a5MkaaLGCrAkHwOeAM4ZYezSJCuTrNywYcM4ZUiS5qFdRx2Y5L3A0cCRVVVd8zpg375uC7u2zVTVMmAZwOzsbG2pjyS1YvGpFw/c984z3jbFSuaPkVZgSY4CPgr8TlU90nfXRcBxSZ6bZD9gf+Dq8cuUJGljc67AkpwLvBFYkGQtcDq9sw6fC1ySBODKqvpAVd2U5HzgZnq7Fk+qqienVbwkaf6aM8Cq6p1baD5zK/0/CXxynKIkSZqLV+KQJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNWnkv8gsSTsj/7JyOwwwSTslg2jn5y5ESVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT5gywJMuTrE+yuq9tjySXJLmt+/7irj1J/irJmiQ3JDl4msVLkuavQVZgZwFHbdJ2KrCiqvYHVnTbAG8F9u++lgKfn0yZkiRtbM4Aq6rLgfs3aV4CnN3dPhs4pq/9S9VzJbB7kr0nVawkSU8b9RjYXlV1T3f7XmCv7vY+wN19/dZ2bZIkTdTYJ3FUVQE17LgkS5OsTLJyw4YN45YhSZpnRg2w+57eNdh9X9+1rwP27eu3sGvbTFUtq6rZqpqdmZkZsQxJ0nw1aoBdBJzQ3T4BuLCv/fjubMTDgAf7djVKkjQxc/45lSTnAm8EFiRZC5wOnAGcn+RE4C7gHV33bwC/DawBHgHeN4WaJUmaO8Cq6p3PcNeRW+hbwEnjFiVJ0ly8EockqUn+RWZJOzT/srKeiSswSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT/ByYpG3Gz3RpklyBSZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa5KWkJA3NS0JpR+AKTJLUpLFWYEn+CHg/UMCNwPuAvYHzgD2BVcB7quqxMeuUNAWupNSykVdgSfYBTgZmq+q1wC7AccCngM9W1SuBXwAnTqJQSZL6jbsLcVfg+Ul2BXYD7gGOAC7o7j8bOGbMOSRJ2szIAVZV64DPAD+lF1wP0ttl+EBVPdF1WwvsM26RkiRtauRjYEleDCwB9gMeAL4CHDXE+KXAUoBFixaNWoakjsezNN+MswvxzcAdVbWhqh4HvgocDuze7VIEWAis29LgqlpWVbNVNTszMzNGGZKk+WicAPspcFiS3ZIEOBK4GbgMOLbrcwJw4XglSpK0uXGOgV1F72SNa+idQv8sYBnwp8BHkqyhdyr9mROoU5KkjYz1ObCqOh04fZPm24FDx3lcaWcw6jEpj2VJg/FKHJKkJhlgkqQmGWCSpCZ5NXppAB6XknY8rsAkSU0ywCRJTTLAJElN8hiYmuRnrCS5ApMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1ybMQtV15VqCkUbkCkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJsxC1Ga8zKKkFrsAkSU0ywCRJTTLAJElNGivAkuye5IIkP05yS5LXJ9kjySVJbuu+v3hSxUqS9LRxV2CfA/6xqn4dOBC4BTgVWFFV+wMrum1JkiZq5ABL8iLg3wJnAlTVY1X1ALAEOLvrdjZwzLhFSpK0qXFOo98P2AD8ryQHAquADwN7VdU9XZ97gb3GK1Gj8rR2STuzcXYh7gocDHy+qg4CHmaT3YVVVUBtaXCSpUlWJlm5YcOGMcqQJM1H4wTYWmBtVV3VbV9AL9DuS7I3QPd9/ZYGV9WyqpqtqtmZmZkxypAkzUcjB1hV3QvcneTVXdORwM3ARcAJXdsJwIVjVShJ0haMeympPwDOSfIc4HbgffRC8fwkJwJ3Ae8Ycw5JkjYzVoBV1XXA7BbuOnKcx5UkaS5eiUOS1CQDTJLUJP+cSiP8TJckbcwA28YMIkmaDHchSpKa5ApsRK6kJGn7cgUmSWqSASZJapIBJklqkgEmSWqSJ3HgCRmS1CJXYJKkJhlgkqQm7VS7EN0VKEnzhyswSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSk8YOsCS7JLk2yT902/sluSrJmiRfTvKc8cuUJGljk1iBfRi4pW/7U8Bnq+qVwC+AEycwhyRJGxkrwJIsBN4GfLHbDnAEcEHX5WzgmHHmkCRpS8Zdgf034KPAU932nsADVfVEt70W2GfMOSRJ2szIAZbkaGB9Va0acfzSJCuTrNywYcOoZUiS5qlxVmCHA7+T5E7gPHq7Dj8H7J7k6T/TshBYt6XBVbWsqmaranZmZmaMMiRJ89HIAVZVp1XVwqpaDBwHXFpV7wIuA47tup0AXDh2lZIkbWIanwP7U+AjSdbQOyZ25hTmkCTNcxP5i8xV9R3gO93t24FDJ/G4kiQ9E6/EIUlqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWrSyAGWZN8klyW5OclNST7cte+R5JIkt3XfXzy5ciVJ6hlnBfYE8MdVdQBwGHBSkgOAU4EVVbU/sKLbliRpokYOsKq6p6qu6W7/ErgF2AdYApzddTsbOGbcIiVJ2tREjoElWQwcBFwF7FVV93R33QvsNYk5JEnqN3aAJXkh8HfAH1bVP/XfV1UF1DOMW5pkZZKVGzZsGLcMSdI8M1aAJXk2vfA6p6q+2jXfl2Tv7v69gfVbGltVy6pqtqpmZ2ZmxilDkjQPjXMWYoAzgVuq6r/23XURcEJ3+wTgwtHLkyRpy3YdY+zhwHuAG5Nc17X9GXAGcH6SE4G7gHeMV6IkSZsbOcCq6ntAnuHuI0d9XEmSBuGVOCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNmlqAJTkqya1J1iQ5dVrzSJLmp6kEWJJdgP8BvBU4AHhnkgOmMZckaX6a1grsUGBNVd1eVY8B5wFLpjSXJGkemlaA7QPc3be9tmuTJGkiUlWTf9DkWOCoqnp/t/0e4F9X1Yf6+iwFlnabrwZunXghPQuAn+3g41qocdRx1jiZcS3UOOo4a5zMuBZqHNTLq2pmzl5VNfEv4PXAt/q2TwNOm8ZcA9Syckcf10KNO/Nzs0af2440185c46S/prUL8UfA/kn2S/Ic4DjgoinNJUmah3adxoNW1RNJPgR8C9gFWF5VN01jLknS/DSVAAOoqm8A35jW4w9hWQPjWqhx1HHWOJlxLdQ46jhrnMy4FmqcqKmcxCFJ0rR5KSlJUpMMsB1Ekh9s7xq2JsnJSW5Jcs42nPPjSU7ZVvMNKsniJKtHHLuj/5xHfm7beq4kD02ynvkmye5JPri96xiHAbaDqKp/s71rmMMHgbdU1bu2dyEta+DnPC+kZ77//tud3v/rZu20P8AkH0hyXfd1R5LLBhhzSJIbkjwvyQuS3JTktQPOtzjJj5Oc061ULkiy2xD1DvxuMskZSU7q2x5opZLkY0l+kuR7Sc4ddHWT5H8CrwC+meSPBuj/J0lO7m5/Nsml3e0j5lrB9ddI7wPuA0nykSSru68/HHDMRiuAJKck+figc3ZjXpHk2iSHDNh/qFVDV+MtSb7QvR6/neT5A449vns9X5/kfw8x7a6Dvo77XvdndT+3c5K8Ocn3k9yW5NA55tpllOc2iq7WW5N8CVgN7DvAmBckubj7N1yd5D8OMd/Xk6zqntvSAfp/ov+1m+STST484Fx/3j23Yf5vnwH8Wvc78tODzNPN9e4kV3fj/ia9a99uH9v7g2jT/gKeDVwBvH3A/n8BfIbexYgH/vA1sBgo4PBuezlwyhDjHxqi70HAd/u2bwb2nWPM64Abgd2AXwXWDFnfncCCAfseBnylu30FcHX3czgd+M+TrrFv3AuAFwI3AQcN+DNb3bd9CvDxQcfRC9hrgQOn8XPum+sJ4F912+cD7x5g3GuAnzz9MwP2mMbruK++36D3hnhVNyb0rn/69Uk/tzH/LZ8CDhtizH8AvtC3/aIhxu7RfX9+93rZc4D6ruluPwv4f3ON6foeAlwHPA/4FeC2Af/fbPT6H/A5/Qvg74Fnd9t/DRw/zGNM8munXYH1+RxwaVX9/YD9PwG8BZgF/nLIue6uqu93t/8W+M0hxw+kqq4FXpLkZUkOBH5RVXfPMewNwNeq6pGq+iem+8HyVcDrkvwq8CjwQ3r/nm+gF2iTrvE3u3EPV9VDwFe7x5qmGeBC4F1Vdf2U57qjqq7rbq+i94tnLkfQexPxM4Cqun+I+YZ9Hd9RVTdW1VP03jysqN5vtxsHqHWU5zaOu6rqyiH63wi8Jcmnkryhqh4cYuzJSa4HrqS32tt/a52r6k7g50kOAn4LuLaqfj7APIcDF1bVP1fVL+kFzLQcSe8N44+SXNdtv2KK823V1D4HtiNI8l7g5cCH5ujab0967+KfTe8dzcNDjN30MwnT/IzCV4BjgZcCX57iPEOrqseT3AG8F/gBcAPwJuCVwC3bsbRNPcHGu9GfN8TYB4Gf0vvlfvMki9qCR/tuP0nvHf00Dfs67q/vqb7tp5j7d8y2fm7D/H+mqn6S5GDgt4G/SLKiqj4x17gkbwTeDLy+qh5J8h0Ge319kd7/m5fSW8nuaAKcXVWnbe9CYOc+BvY6eruE3t29MxzU3wB/DpwDfGrIaRcleX13+/eA7w05fhhfpneJrmPphdlcLgeOSfL8JL8CvH2KtUFvpXVKN+8VwAfovaPc2i/DUWu8ohu3W5IXAP+era/0nnYfvZXsnkmeCxw94HwAj3XzHJ/k94YYt61cCvxukj0BkuwxxNht+TreoSV5GfBIVf0t8Gng4AGHvojenpFHkvw6vd3qg/gacBS93YLfGnDM94G3d8fuX8jgr+Nf0tvlOIwVwLFJXgK911WSlw/5GBOzM6/APgTsAVyWBHoXnnz/1gYkOR54vKr+T3dg8gdJjqiqSwec81bgpCTL6b0r//wQ9Q61Wquqm7pf8uuq6p4B+l+T5MvA9cB6eternKYrgI8BP6yqh5P8M3OEyqg1duPOonesDeCL3W7WucY9nuQT3bh1wI8Hma9v/MNJjgYuSfJQVe0w1/vsXh+fBL6b5El6x+reO+DwcV7HO5vfAD6d5CngceD3Bxz3j8AHktxC799zoN2WVfVYeiecPVBVTw445kdJLqK3p+M+ers959zVWVU/7062WQ18s6r+ZIAxNyf5L8C30zuL83HgJOCuQWqdNK/EMSFJFgP/UFUDnbW4ydg96R283WbvZLqz7R6qqs9sqzklbV0XCtcAv1tVtw0x7oVV9VB3xujlwNKqumZade4odtpdiK3odlH8kN6Zj5LmqSQH0DvzdsUw4dVZ1p1UcQ3wd/MhvMAVmCSpUa7AJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTfr/LKIjBhtqQzgAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -829,22 +741,22 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEZxJREFUeJzt3XuQJXV5xvHvI2C4egFGjcI6mFgkRmPQ0YhoYgAtIhhM\nBSuiiCRaE1PiJZFYS4wlRWkVRivGqtxckWAiQSPexSgUqKAiuruALCwXIyuXoCySqEgpIG/+OI0M\nuywzfU7vzG93vp+qU3P6TL/d75zpM8/59enpTlUhSVKrHrLUDUiS9GAMKklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtN2XMyV7b333jU9Pb2Yq5QkNWrNmjW3VtXUfPMt\nalBNT0+zevXqxVylJKlRSb67kPnc9SdJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappB\nJUlqmkElSWqaQSVJatqinkJJktSW6ZVn967ZcMrhW6GTLXNEJUlqmkElSWqaQSVJappBJUlqmkEl\nSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWravEGV5LQktyRZ9wDfe1OSSrL31mlPkrTc\nLWREdTpw2KYPJtkXeAFw/cA9SZL0C/MGVVVdANz2AN96D/BmoIZuSpKke431GVWSI4GbquqygfuR\nJOl+el+PKsmuwF8z2u23kPlngVmAFStW9F2dJGmZG2dE9SvAfsBlSTYA+wBrkzzmgWauqlVVNVNV\nM1NTU+N3KklalnqPqKrqcuBR9053YTVTVbcO2JckScDCDk8/E7gI2D/JjUletfXbkiRpZN4RVVUd\nPc/3pwfrRpKkTXhmCklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtN6X+ZDkjSc6ZVn967ZcMrhg9VvCxxRSZKaZlBJkppmUEmSmmZQSZKaZlBJ\nkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkpo2b1AlOS3JLUnWzXnsXUmuSvKtJJ9I8oit\n26YkablayIjqdOCwTR47F3hyVf0mcA1w4sB9SZIELCCoquoC4LZNHjunqu7uJr8O7LMVepMkaZDP\nqP4U+K8BliNJ0mYmCqokbwHuBs54kHlmk6xOsnrjxo2TrE6StAyNHVRJjgOOAF5eVbWl+apqVVXN\nVNXM1NTUuKuTJC1TY13hN8lhwJuB362qO4ZtSZKk+yzk8PQzgYuA/ZPcmORVwD8AewDnJrk0yb9s\n5T4lScvUvCOqqjr6AR7+wFboRZKkzXhmCklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS\n0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtPGusyHJG0Pplee3btmwymHD1avhXFEJUlqmkElSWqa\nQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWravEGV5LQktyRZN+ex\nPZOcm+Ta7usjt26bkqTlaiEjqtOBwzZ5bCVwXlU9ETivm5YkaXDzBlVVXQDctsnDRwIf7O5/EHjx\nwH1JkgSM/xnVo6vq5u7+94BHD9SPJEn3M/H1qKqqktSWvp9kFpgFWLFixaSrk7Qd8XpQWohxR1Tf\nT/LLAN3XW7Y0Y1WtqqqZqpqZmpoac3WSpOVq3KD6NPDK7v4rgU8N044kSfe3kMPTzwQuAvZPcmOS\nVwGnAM9Pci1waDctSdLg5v2MqqqO3sK3Dhm4F0mSNuOZKSRJTTOoJElNM6gkSU0zqCRJTTOoJElN\nM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU2b+MKJkpYvL1yoxeCISpLUNINKktQ0\ng0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktS0iYIqyV8kuSLJuiRn\nJtl5qMYkSYIJgirJ44DXAzNV9WRgB+ClQzUmSRJMvutvR2CXJDsCuwL/M3lLkiTdZ+ygqqqbgHcD\n1wM3Az+sqnOGakySJJhs198jgSOB/YDHArslOeYB5ptNsjrJ6o0bN47fqSRpWZpk19+hwHVVtbGq\n7gI+Djx705mqalVVzVTVzNTU1ASrkyQtR5ME1fXAs5LsmiTAIcD6YdqSJGlkks+oLgbOAtYCl3fL\nWjVQX5IkAaOj9sZWVW8D3jZQL5IkbcYzU0iSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmS\nmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkpo20UlpJW27plee3btmwymHb4VOpAfniEqS1DSDSpLU\nNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUtImCKskjkpyV5Kok\n65McOFRjkiTB5CelfS/w+ao6KslDgV0H6EmSpF8YO6iSPBz4HeA4gKq6E7hzmLYkSRqZZNfffsBG\n4F+TXJLk1CS7DdSXJEnAZLv+dgSeBryuqi5O8l5gJfDWuTMlmQVmAVasWDHB6qTty6TXg/J6Ulou\nJhlR3QjcWFUXd9NnMQqu+6mqVVU1U1UzU1NTE6xOkrQcjR1UVfU94IYk+3cPHQJcOUhXkiR1Jj3q\n73XAGd0Rf98B/mTyliRJus9EQVVVlwIzA/UiSdJmPDOFJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkG\nlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaZOePV0aSwsXDWyhB0nzc0QlSWqaQSVJ\nappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJatrEQZVkhySXJPns\nEA1JkjTXECOqNwDrB1iOJEmbmSiokuwDHA6cOkw7kiTd36Qjqr8H3gzcM0AvkiRtZuzrUSU5Aril\nqtYked6DzDcLzAKsWLFi3NVpYF6LSdK2YpIR1UHAHyTZAHwYODjJhzadqapWVdVMVc1MTU1NsDpJ\n0nI0dlBV1YlVtU9VTQMvBc6vqmMG60ySJPw/KklS48b+jGquqvoS8KUhliVJ0lyOqCRJTTOoJElN\nM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNG+Rcf8vNUl/LyWtB\nSVpOHFFJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmS\nmmZQSZKaNnZQJdk3yReTXJnkiiRvGLIxSZJgsrOn3w28qarWJtkDWJPk3Kq6cqDeJEkaf0RVVTdX\n1dru/o+B9cDjhmpMkiQY6DOqJNPAAcDFQyxPkqR7TRxUSXYHPga8sap+9ADfn02yOsnqjRs3Tro6\nSdIyM1FQJdmJUUidUVUff6B5qmpVVc1U1czU1NQkq5MkLUOTHPUX4APA+qr6u+FakiTpPpOMqA4C\nXgEcnOTS7vbCgfqSJAmY4PD0qvoKkAF7kSRpM56ZQpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS\n1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktS0SS5Fv2SmV57du2bDKYcPVi9JWjyOqCRJTTOoJElN\n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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -858,7 +770,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -867,7 +779,7 @@ "'etoainhsrdlumwycfgpbvkxjqz'" ] }, - "execution_count": 40, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -879,16 +791,16 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'trguenlosaybvhmqdifpkxwzcj'" + "'trguenloasybvhmqdifpkxwzcj'" ] }, - "execution_count": 41, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -900,13 +812,13 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'a': 'd',\n", + "{'a': 'r',\n", " 'b': 'u',\n", " 'c': 'q',\n", " 'd': 'f',\n", @@ -924,7 +836,7 @@ " 'p': 'b',\n", " 'q': 'c',\n", " 'r': 't',\n", - " 's': 'r',\n", + " 's': 'd',\n", " 't': 'e',\n", " 'u': 'a',\n", " 'v': 'm',\n", @@ -934,7 +846,7 @@ " 'z': 'j'}" ] }, - "execution_count": 42, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -946,16 +858,16 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'Bgas eonhcmd tfn aoormjiamht if hato ntauoo mi flb vjeygeiwff phtycdney umn indtmea mf Jomwtitgt tij neeqoioy al Ehke hv ana eij hd wue fein, ty yoyooej hf aso Dktaohe. Se notoej usr stko aeeemlco dih rn koaej lua lc Ehxxamii al hhas Inubaiud Oudgapud lih Beotimsd Neioymv, jua wse Alyn bone oaieehud iiy, ooitpvtlff auo chnd rd ebe Plyez eektgheh r neroew, xihbt ribi ah i deq fhftf yhxwtyon delk aso Hmfms. Rslcgrcf purhyxiw wh ooatoy uqn hywwoy rsenumw rd ebe Tyumfi tn t vlog yd pluoiae, aso Dktaohe nrieey sgi ana dtwe hn lasee emygotrey aoieoikn cpy, al aso duoreqnr yd nlke, uo btn ixtpney womsvrstf eeiyotwmhtd. T naiuur ctn ooerwey lc usr Seiiae lt ase lnyrw hd wse Ovreoln, ldm, atxei gfc, Tweqpvtt bin nota ah fqgr dumoacc li smd wtxxcf onaiwe bsone na btd aetjey lc usr Akroohe’d hbi pmfyxpmiin. Ugn yeius srn t aomomhun dmhiv ah ve, ttj t rtghddt egoia wl tcc uqn jwmetyn. Gw btn ndce rn t eetf fhnn obef jf auhno wh bsli sr ctn tha poonhtlcbi zilbi. Tskleea, kvwehmeo, ln ase prrdttpo tij wse lsaf xrnnon pive ah uqn nyuno; tij gi ruhkmi ectren, ity bsonewao zthad ld atfceps beee tddeklfdy, nxn iike qin hi ikc bxrn; tho jgy t nghwba nhsc ht uetoghw vu smd yeiws oebrmia ta wse tobn he whpgea ga jsgpzcc. Usas nfvrtwuf btd qiiwetdey hc ase qqyr-srooty eskhue uscm se uty hoei ooihway lc rhgdhi ht usr Akroohe’d phkvlih. Nhkgamit chnw hh exke gi tpphmiwqio mse iklgwmhud Atbqnagun Fspucfgn cs aso ieq ahgeehhp yd aue relgmird. Sr ctn rsteaey bgus yapuemia wse delwate rotpo qmas Rlcrnhigt ttj setjdy ebeoo ah rlidolha Ircwipud. Ga btd ribi asoi auia aso khys hd wse Rlyex qln pageicej. Dtcudumds bolae ln smn dmhiv ta wse tobn mt l crmaee ah Riah yiueh mse nmdwu ytf hddvwe aue zifeiyd rd Xrf mt aso ceto lw ana phtnufdsmrd rd Xropsn Teeepmtgn Itekoin GG tiy Fgpaqn Lielgsn Shtrocmun. “Qe teo exrednytf putoaoy lf lgo xyna vuignmpetu tfn woota Ovreoln Yvlmagti wl nepsne Trx Olktti mi aud Ivwasooi Xgiwylin cpy foa fls bomwd av le hn aso fhnn lw ana Phjex Lrpucwrodl. Fhso coiyeo Isoaohci std icoeief trmy wse pempe lw ndos t fhnd, hua mn vhd nh ila oorhgee usr Ohyox lonhoe wme trnngiw ln ase cdtp mset fhs vtf lo aupa asia fls bmcf zhap smv. Fhs wecc vd anra mtaeffmwetye jwhk i ptpwuoej arq suwaenwd astw usr motgahe Rtcwiyuy btn wse Rlyex ihy as ktdnmta smn dgrtyoaoon gt ase Troeb. Bsgce wue Lteptpxtid asovnecmdn cwe utcmxocf al itga kurs hn wse Pleem, Otcatpsd mn tt dydotaoy Olvti tte sr lunw le dwhrroe lruhoo se rii yeduovi aso nersomac rd ebe Mvreegtc pgjsrwn. Aue Pljex bgkc ka oerhgoeey, he vhd, ihue dtvgcf tte ewaoflie clu zilx batc rif auo romrd. Tfn nh wh auo negohan etow hd wue aosd neyof ld Taemphfl mf csmrs auo dtao rd ebe igiau fewmlh tfn hd wse Rlyex gunrtd bgcc gt amko pe pageicej. Siamf usrp ma qmcf he wuinyrn lf wse itpmetu Lcjfclimit Whyjdny yd Bio.'" + "'Bgas eonhcmr tfn aoodmjiamht if hato ntauoo mi flb vjeygeiwff phtycrney umn inrtmea mf Jomwtitgt tij neeqoioy al Ehke hv ana eij hr wue fein, ty yoyooej hf aso Rktaohe. Se notoej usd stko aeeemlco rih dn koaej lua lc Ehxxamii al hhas Inubaiur Ourgapur lih Beotimsr Neioymv, jua wse Alyn bone oaieehur iiy, ooitpvtlff auo chnr dr ebe Plyez eektgheh d nedoew, xihbt dibi ah i req fhftf yhxwtyon relk aso Hmfms. Dslcgdcf pudhyxiw wh ooatoy uqn hywwoy dsenumw dr ebe Tyumfi tn t vlog yr pluoiae, aso Rktaohe ndieey sgi ana rtwe hn lasee emygotdey aoieoikn cpy, al aso ruodeqnd yr nlke, uo btn ixtpney womsvdstf eeiyotwmhtr. T naiuud ctn ooedwey lc usd Seiiae lt ase lnydw hr wse Ovdeoln, lrm, atxei gfc, Tweqpvtt bin nota ah fqgd rumoacc li smr wtxxcf onaiwe bsone na btr aetjey lc usd Akdoohe’r hbi pmfyxpmiin. Ugn yeius sdn t aomomhun rmhiv ah ve, ttj t dtghrrt egoia wl tcc uqn jwmetyn. Gw btn nrce dn t eetf fhnn obef jf auhno wh bsli sd ctn tha poonhtlcbi zilbi. Tskleea, kvwehmeo, ln ase pddrttpo tij wse lsaf xdnnon pive ah uqn nyuno; tij gi duhkmi ectden, ity bsonewao zthar lr atfceps beee trreklfry, nxn iike qin hi ikc bxdn; tho jgy t nghwba nhsc ht uetoghw vu smr yeiws oebdmia ta wse tobn he whpgea ga jsgpzcc. Usas nfvdtwuf btr qiiwetrey hc ase qqyd-sdooty eskhue uscm se uty hoei ooihway lc dhgrhi ht usd Akdoohe’r phkvlih. Nhkgamit chnw hh exke gi tpphmiwqio mse iklgwmhur Atbqnagun Fspucfgn cs aso ieq ahgeehhp yr aue delgmidr. Sd ctn dsteaey bgus yapuemia wse relwate dotpo qmas Dlcdnhigt ttj setjry ebeoo ah dlirolha Idcwipur. Ga btr dibi asoi auia aso khys hr wse Dlyex qln pageicej. Rtcurumrs bolae ln smn rmhiv ta wse tobn mt l cdmaee ah Diah yiueh mse nmrwu ytf hrrvwe aue zifeiyr dr Xdf mt aso ceto lw ana phtnufrsmdr dr Xdopsn Teeepmtgn Itekoin GG tiy Fgpaqn Lielgsn Shtdocmun. “Qe teo exdernytf putoaoy lf lgo xyna vuignmpetu tfn woota Ovdeoln Yvlmagti wl nepsne Tdx Olktti mi aur Ivwasooi Xgiwylin cpy foa fls bomwr av le hn aso fhnn lw ana Phjex Ldpucwdorl. Fhso coiyeo Isoaohci str icoeief tdmy wse pempe lw nros t fhnr, hua mn vhr nh ila oodhgee usd Ohyox lonhoe wme tdnngiw ln ase crtp mset fhs vtf lo aupa asia fls bmcf zhap smv. Fhs wecc vr anda mtaeffmwetye jwhk i ptpwuoej adq suwaenwr astw usd motgahe Dtcwiyuy btn wse Dlyex ihy as ktrnmta smn rgdtyoaoon gt ase Tdoeb. Bsgce wue Lteptpxtir asovnecmrn cwe utcmxocf al itga kuds hn wse Pleem, Otcatpsr mn tt ryrotaoy Olvti tte sd lunw le rwhddoe lduhoo se dii yeruovi aso nedsomac dr ebe Mvdeegtc pgjsdwn. Aue Pljex bgkc ka oedhgoeey, he vhr, ihue rtvgcf tte ewaoflie clu zilx batc dif auo domdr. Tfn nh wh auo negohan etow hr wue aosr neyof lr Taemphfl mf csmds auo rtao dr ebe igiau fewmlh tfn hr wse Dlyex gundtr bgcc gt amko pe pageicej. Siamf usdp ma qmcf he wuinydn lf wse itpmetu Lcjfclimit Whyjrny yr Bio.'" ] }, - "execution_count": 43, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -968,7 +880,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -1043,7 +955,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -1052,7 +964,7 @@ "('jcarykujniqadmv', 15)" ] }, - "execution_count": 45, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1063,7 +975,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -1072,7 +984,7 @@ "['jkq', 'cua', 'ajd', 'rnm', 'yiv']" ] }, - "execution_count": 46, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1083,24 +995,24 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ - "def index_of_coincidence(text):\n", - " stext = sanitise(text)\n", - " counts = collections.Counter(stext)\n", - " denom = len(stext) * (len(text) - 1) / 26\n", - " return (\n", - " sum(max(counts[l] * counts[l] - 1, 0) for l in string.ascii_lowercase) \n", - " / \n", - " denom\n", - " )" + "# def index_of_coincidence(text):\n", + "# stext = sanitise(text)\n", + "# counts = collections.Counter(stext)\n", + "# denom = len(stext) * (len(text) - 1) / 26\n", + "# return (\n", + "# sum(max(counts[l] * counts[l] - 1, 0) for l in string.ascii_lowercase) \n", + "# / \n", + "# denom\n", + "# )" ] }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -1109,7 +1021,7 @@ "1.0739632382990911" ] }, - "execution_count": 48, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1120,7 +1032,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 43, "metadata": {}, "outputs": [ { @@ -1129,7 +1041,7 @@ "1.7196234250491917" ] }, - "execution_count": 49, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1140,7 +1052,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -1176,7 +1088,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 45, "metadata": {}, "outputs": [ { @@ -1203,7 +1115,7 @@ " (15, 1.8423114658282445)]" ] }, - "execution_count": 51, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1216,16 +1128,16 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'etgyasrlhmbcnikuodwfqvjpxz'" + "'etgyasrlhmbcinkoudfwqvjpxz'" ] }, - "execution_count": 52, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1237,7 +1149,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1248,30 +1160,30 @@ " 'c': 'u',\n", " 'd': 'g',\n", " 'e': 'e',\n", - " 'f': 'b',\n", + " 'f': 'p',\n", " 'g': 'o',\n", " 'h': 'r',\n", - " 'i': 'w',\n", + " 'i': 'm',\n", " 'j': 'x',\n", " 'k': 'y',\n", " 'l': 's',\n", " 'm': 'd',\n", - " 'n': 'm',\n", - " 'o': 'f',\n", + " 'n': 'w',\n", + " 'o': 'c',\n", " 'p': 'j',\n", " 'q': 'v',\n", " 'r': 'h',\n", " 's': 'n',\n", " 't': 't',\n", - " 'u': 'c',\n", + " 'u': 'f',\n", " 'v': 'k',\n", - " 'w': 'p',\n", + " 'w': 'b',\n", " 'x': 'q',\n", " 'y': 'a',\n", " 'z': 'z'}" ] }, - "execution_count": 53, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1283,7 +1195,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -1357,7 +1269,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 49, "metadata": {}, "outputs": [ { @@ -1366,7 +1278,7 @@ "149.2" ] }, - "execution_count": 55, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1377,7 +1289,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -1400,7 +1312,7 @@ " ((7, 6, True), -188.8811192976835)]" ] }, - "execution_count": 56, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1411,7 +1323,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -1434,7 +1346,7 @@ " (7, 6, True)]" ] }, - "execution_count": 57, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1446,7 +1358,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -1455,7 +1367,7 @@ "'withresolveandtrepidationmydearfatherinlawobedientlyconcludedhisaffairsinbritanniaandreturnedtoromebytheendoftheyearasorderedbytheemperorhefearedthesameterribleendasmetedoutbydomitiantobotharulenusrusitcusandhernniusseneciobutthegodsweregenerousandremarkablythelossofthecodexremainedasecretknownonlytoafewloyalcomradesfromtheninthpubliclychoosingtoregardhisdoggedpursuitoftheaquilaasamarkofcouragetheemperorsparedhimthefateofotherdisgracedgeneralsandtothesurpriseofsomehewasawardedtriumphaldecorationsastatuewaserectedbythesenateontheorderoftheemperorbuttakenillagricolawassenttolivequietlyonhisfamilyestatewherehewastendedbytheemperorsownphysicianshisdeathwasagrievousshocktomeandapainfuleventtoallhisfriendsitwasfeltasareallossevenbythosetowhomhewasnotpersonallyknownnumbersmoreoverofthepopulaceandthebusymassescametohishouseandinpublicplacesandwhereverknotsoftalkerswereassembledhisnamewasonalllipsnordidasinglesoulonhearingofhisdeathrejoiceatthenewsorforgetitquicklythissympathywasincreasedbythewidespreadrumourthathehadbeenremovedbypoisonontheemperorscommanddomitianlostnotimeinappointingtheambitioussalustiuslucullusasthenewgovernoroftheprovincehewaschargedwithsecuringthefragilepeacewithcaledoniaandheadedtheretoconfrontcalgacusitwasonlythenthatthelossofthecodexwasrevealedsalustiuswroteofhisshockatthenewsinalettertocatodatedthefifthdaybeforethekalendsofmayintheyearoftheconsulshipsofmarcusarrecinusclemensiiandluciusbaebiushonoratusweareexpresslychargedbyourmostmunificentandgreatemperordomitiantosecurepaxromanainthenorthernkingdomsandyetyouwritetomeofthelossofthecodexoccultorumyourleaderagricolahasalreadypaidthepriceofsuchalossbutifyoudonotrecoverthecodexbeforethepassingoftheyearthenyoumaybesurethatyouwilljoinhimyoutellmethatintelligencefromacapturedspysuggeststhatthetraitorcalgacushasthecodexandismassinghissupportersinthenorthwhilethebarbariansthemselvesareunlikelytomakemuchofthecodexcalgacusisaneducatedromanandhemustbestoppedbeforehecandestroythesecurityoftheimperialciphersthecodexwillberecoveredoryouyourfamilyandeveryoneyouknowwillpaythepriceandsototheseventhpartofthetruestoryofagricolainwhichthefateoftheninthlegionandofthecodexitselfwillintimeberevealeduntilthenitwillbeguardedbytheancientbabyloniangoddessofwar'" ] }, - "execution_count": 58, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1468,7 +1380,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -1513,7 +1425,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -1522,7 +1434,7 @@ "'ualcwifuygilnyg'" ] }, - "execution_count": 60, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1533,7 +1445,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -1542,7 +1454,7 @@ "'h'" ] }, - "execution_count": 61, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1553,7 +1465,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 56, "metadata": {}, "outputs": [ { @@ -1562,7 +1474,7 @@ "2793" ] }, - "execution_count": 62, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -1570,6 +1482,42 @@ "source": [ "open('6b.plaintext', 'w').write(lcat(tpack(repunctuate(spb, pub).split())))" ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# The \"model answer\"\n", + "The first time I've seen the National Cipher Challenge has used a zero-based affine cipher!" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'withresolveandtrepidationmydearfatherinlawobedientlyconcludedhisaffairsinbritanniaandreturnedtoromebytheendoftheyearasorderedbytheemperorhefearedthesameterribleendasmetedoutbydomitiantobotharulenusrusitcusandhernniusseneciobutthegodsweregenerousandremarkablythelossofthecodexremainedasecretknownonlytoafewloyalcomradesfromtheninthpubliclychoosingtoregardhisdoggedpursuitoftheaquilaasamarkofcouragetheemperorsparedhimthefateofotherdisgracedgeneralsandtothesurpriseofsomehewasawardedtriumphaldecorationsastatuewaserectedbythesenateontheorderoftheemperorbuttakenillagricolawassenttolivequietlyonhisfamilyestatewherehewastendedbytheemperorsownphysicianshisdeathwasagrievousshocktomeandapainfuleventtoallhisfriendsitwasfeltasareallossevenbythosetowhomhewasnotpersonallyknownnumbersmoreoverofthepopulaceandthebusymassescametohishouseandinpublicplacesandwhereverknotsoftalkerswereassembledhisnamewasonalllipsnordidasinglesoulonhearingofhisdeathrejoiceatthenewsorforgetitquicklythissympathywasincreasedbythewidespreadrumourthathehadbeenremovedbypoisonontheemperorscommanddomitianlostnotimeinappointingtheambitioussalustiuslucullusasthenewgovernoroftheprovincehewaschargedwithsecuringthefragilepeacewithcaledoniaandheadedtheretoconfrontcalgacusitwasonlythenthatthelossofthecodexwasrevealedsalustiuswroteofhisshockatthenewsinalettertocatodatedthefifthdaybeforethekalendsofmayintheyearoftheconsulshipsofmarcusarrecinusclemensiiandluciusbaebiushonoratusweareexpresslychargedbyourmostmunificentandgreatemperordomitiantosecurepaxromanainthenorthernkingdomsandyetyouwritetomeofthelossofthecodexoccultorumyourleaderagricolahasalreadypaidthepriceofsuchalossbutifyoudonotrecoverthecodexbeforethepassingoftheyearthenyoumaybesurethatyouwilljoinhimyoutellmethatintelligencefromacapturedspysuggeststhatthetraitorcalgacushasthecodexandismassinghissupportersinthenorthwhilethebarbariansthemselvesareunlikelytomakemuchofthecodexcalgacusisaneducatedromanandhemustbestoppedbeforehecandestroythesecurityoftheimperialciphersthecodexwillberecoveredoryouyourfamilyandeveryoneyouknowwillpaythepriceandsototheseventhpartofthetruestoryofagricolainwhichthefateoftheninthlegionandofthecodexitselfwillintimeberevealeduntilthenitwillbeguardedbytheancientbabyloniangoddessofwar'" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "affine_decipher(vigenere_decipher(scb, sanitise('Agricolae mortem')), \n", + " multiplier=7, adder=0, one_based=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -1588,7 +1536,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge7.ipynb b/2017/2017-challenge7.ipynb index 994caff..b8612cc 100644 --- a/2017/2017-challenge7.ipynb +++ b/2017/2017-challenge7.ipynb @@ -16,8 +16,12 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", - "from text_prettify import *\n", + "\n", + "from cipher.vigenere import *\n", + "from cipher.column_transposition import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "ca = open('7a.ciphertext').read()\n", "cb = open('7b.ciphertext').read()" @@ -49,15 +53,15 @@ "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE7FJREFUeJzt3X+w5XVdx/HnS36kookL141EXE1GoxxEryShjYI4lD+g\niUzzx9rgbKamZpZr5WSOzazpZP5R1qbmVqggSUtaKrNg/v6xC4v8WHERIWGAXUlScFKBd3+c78YF\ndvd8z7nn3P3cPc/HzJ3z/Z7zfd/v+55z7n2dz+d8z/emqpAkqVX329cNSJK0NwaVJKlpBpUkqWkG\nlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQcu5c4OP/zwWrVq1VLuUpLUqC1btnyn\nquaGbbekQbVq1So2b968lLuUJDUqyXV9tnPqT5LUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSD\nSpLUNINKktQ0g0qS1DSDSpLUtCU9hZIkqU2r1n6897bXrnv2FDu5L0dUkqSmGVSSpKYZVJKkphlU\nkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYNDaokj02ydcHX95K8LsmKJBck2d5dPnQpGpYkzZahZ6ao\nqquAJwAkOQC4ATgPWAtsqqp1SdZ262+cYq+SpCFaPsPEuEad+jsZ+GZVXQecBmzort8AnD7JxiRJ\ngtGD6gXAh7rllVV1Y7d8E7ByYl1JktTpHVRJDgaeB3zk3rdVVQG1h7o1STYn2bxz586xG5UkzaZR\nRlS/DFxcVTd36zcnOQKgu9yxu6KqWl9V81U1Pzc3t7huJUkzZ5SgeiF3T/sBnA+s7pZXAxsn1ZQk\nSbv0CqokhwCnAB9dcPU64JQk24FnduuSJE1Ur3+cWFW3A4fd67pbGBwFKEnS1HhmCklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtN6nZlCkrT09sd/gjgOR1SSpKYZVJKk\nphlUkqSmGVSSpKYZVJKkpnnUnyRNmUfvLY4jKklS0wwqSVLTDCpJUtN8j0rSzBn3PSPfa9o3HFFJ\nkppmUEmSmubUn6Rlzem4/Z8jKklS0wwqSVLTegVVkkOTnJvk60m2JTkhyYokFyTZ3l0+dNrNSpJm\nT98R1buBT1TV44BjgW3AWmBTVR0NbOrWJUmaqKFBleQhwC8B7wOoqh9V1a3AacCGbrMNwOnTalKS\nNLv6jKgeBewE/iHJJUnem+QQYGVV3dhtcxOwclpNSpJmV5+gOhB4IvCeqjoOuJ17TfNVVQG1u+Ik\na5JsTrJ5586di+1XkjRj+gTV9cD1VfXlbv1cBsF1c5IjALrLHbsrrqr1VTVfVfNzc3OT6FmSNEOG\nBlVV3QR8O8lju6tOBq4EzgdWd9etBjZOpUNJ0kzre2aK3wXOSnIwcA3wWwxC7pwkZwLXAc+fTouS\npFnWK6iqaiswv5ubTp5sO5Ik3ZNnppAkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2g\nkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDWt7z9OlKSpWrX24723vXbds6fY\niVrjiEqS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUtF4f+E1yLfB94E7gjqqa\nT7ICOBtYBVwLPL+qvjudNiVJs2qUM1M8o6q+s2B9LbCpqtYlWdutv3Gi3UladjzDhCZtMVN/pwEb\nuuUNwOmLb0eSpHvqG1QFfCrJliRruutWVtWN3fJNwMqJdydJmnl9p/6eWlU3JHkYcEGSry+8saoq\nSe2usAu2NQBHHXXUopqVtLScxlMLeo2oquqG7nIHcB5wPHBzkiMAussde6hdX1XzVTU/Nzc3ma4l\nSTNjaFAlOSTJg3ctA88CLgfOB1Z3m60GNk6rSUnS7Ooz9bcSOC/Jru0/WFWfSPJV4JwkZwLXAc+f\nXpuSpFk1NKiq6hrg2N1cfwtw8jSakiRpF89MIUlqmkElSWqaQSVJappBJUlqmkElSWraKCellbRM\neYYJLWeOqCRJTTOoJElNc+pPWkacwtMsckQlSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkEl\nSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaZ0+X9hHPhC7144hKktS03kGV5IAklyT5\nWLf+qCRfTnJ1krOTHDy9NiVJs2qUEdVrgW0L1t8OvKuqHgN8Fzhzko1JkgQ9gyrJkcCzgfd26wFO\nAs7tNtkAnD6NBiVJs63viOqvgD8E7urWDwNurao7uvXrgYdPuDdJkoYf9ZfkOcCOqtqS5Omj7iDJ\nGmANwFFHHTVyg1LrPHpPmq4+I6oTgecluRb4MIMpv3cDhybZFXRHAjfsrriq1lfVfFXNz83NTaBl\nSdIsGRpUVfWmqjqyqlYBLwAurKoXARcBZ3SbrQY2Tq1LSdLMWsznqN4IvD7J1Qzes3rfZFqSJOlu\nI52Zoqo+DXy6W74GOH7yLUmSdDfPTCFJappBJUlqmiellToeZi61yRGVJKlpBpUkqWlO/Wm/4xSe\ntH9xRCVJappBJUlqmkElSWqa71Gpab7fJMkRlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpHvWnJeHR\ne5LG5YhKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNA9P10g8zFzSUnNEJUlqmkElSWra0KBK\ncv8kX0lyaZIrkvxZd/2jknw5ydVJzk5y8PTblSTNmj4jqh8CJ1XVscATgFOTPAV4O/CuqnoM8F3g\nzOm1KUmaVUODqgZu61YP6r4KOAk4t7t+A3D6VDqUJM20Xu9RJTkgyVZgB3AB8E3g1qq6o9vkeuDh\n02lRkjTLegVVVd1ZVU8AjgSOBx7XdwdJ1iTZnGTzzp07x2xTkjSrRjrqr6puBS4CTgAOTbLrc1hH\nAjfsoWZ9Vc1X1fzc3NyimpUkzZ4+R/3NJTm0W34AcAqwjUFgndFtthrYOK0mJUmzq8+ZKY4ANiQ5\ngEGwnVNVH0tyJfDhJG8DLgHeN8U+NQWeZULScjA0qKrqa8Bxu7n+GgbvV0mSNDWemUKS1DRPSrsf\ncApP0v7MEZUkqWkGlSSpaQaVJKlpvkfVEN9rkqT7ckQlSWqaQSVJappTf0OMOx3nNJ4kTYYjKklS\n0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtNm5vB0DxeXpOXJEZUkqWkGlSSpaQaVJKlpBpUkqWkG\nlSSpaQaVJKlpBpUkqWkGlSSpaUODKskjklyU5MokVyR5bXf9iiQXJNneXT50+u1KkmZNnxHVHcDv\nV9UxwFOAVyU5BlgLbKqqo4FN3bokSRM1NKiq6saqurhb/j6wDXg4cBqwodtsA3D6tJqUJM2ukd6j\nSrIKOA74MrCyqm7sbroJWDnRziRJYoSgSvIg4F+A11XV9xbeVlUF1B7q1iTZnGTzzp07F9WsJGn2\n9AqqJAcxCKmzquqj3dU3Jzmiu/0IYMfuaqtqfVXNV9X83NzcJHqWJM2QPkf9BXgfsK2q/nLBTecD\nq7vl1cDGybcnSZp1ff4f1YnAS4DLkmztrvsjYB1wTpIzgeuA50+nxXvy/0pJ0mwZGlRV9Tkge7j5\n5Mm2I0nSPXlmCklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS\n0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtMMKklS04YGVZL3J9mR5PIF161IckGS7d3lQ6fbpiRpVvUZUX0AOPVe160F\nNlXV0cCmbl2SpIkbGlRV9Rngv+919WnAhm55A3D6hPuSJAkY/z2qlVV1Y7d8E7ByTxsmWZNkc5LN\nO3fuHHN3kqRZteiDKaqqgNrL7eurar6q5ufm5ha7O0nSjBk3qG5OcgRAd7ljci1JknS3cYPqfGB1\nt7wa2DiZdiRJuqc+h6d/CPgi8Ngk1yc5E1gHnJJkO/DMbl2SpIk7cNgGVfXCPdx08oR7kSTpPjwz\nhSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUk\nqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlp\nBpUkqWmLCqokpya5KsnVSdZOqilJknYZO6iSHAD8NfDLwDHAC5McM6nGJEmCxY2ojgeurqprqupH\nwIeB0ybTliRJA4sJqocD316wfn13nSRJE5OqGq8wOQM4tape3q2/BPiFqnr1vbZbA6zpVh8LXDV+\nu3t1OPCdJapbyn2NW7ccehy3zh4nU7ccehy3zh4nUzfuvvp6ZFXNDd2qqsb6Ak4APrlg/U3Am8b9\nfov9AjYvVd1S7mt/7nF//tns0Z+tpX0tdY+T/lrM1N9XgaOTPCrJwcALgPMX8f0kSbqPA8ctrKo7\nkrwa+CRwAPD+qrpiYp1JksQiggqgqv4d+PcJ9bJY65ewbin3NW7dcuhx3Dp7nEzdcuhx3Dp7nEzd\nuPuaqLEPppAkaSl4CiVJUtNmMqiSrEpy+SK/xxcm1U/P/b0lyRuWcp99JXlNkm1JztrXvbQgyaFJ\nXjlizaKfk0slyW1LuK8l/T0b1XJ63JazmQyqSaiqX9zXPTTklcApVfWifd1IIw5lcJ9okRb7e5YB\n/84tc8v+Aexe0Xw9yVndq/pzkzywR+mBY9Qs3O/QV5ULevtAkm90+3tmks8n2Z7k+CH1f9zVfY7B\n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\nRK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -133,7 +137,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -142,18 +146,18 @@ "1422" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "open('7a.plaintext', 'w').write(lcat(tpack(segment(pa))))" + "open('7a.plaintext', 'w').write(prettify(pa))" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -162,7 +166,7 @@ "'oreomcufedvtmgjelehgvyhdnvwgkshmbcylmiexlrwffwxbkfszeafkzplrvsjuezttmcapoatsjuspemcqflfixmgseatgrtoieyymvjveuauglioxwftwgfebfqlfcepltdwzaaeoajfimmuarebtypctptbrgaasrtyfdloeargllxneepweorpppzyzaefqprlonyflmddtdrsrwmwpuoelepdierwaxgguytlpqgktzcglpqloafchzrsotmekmscaruseeaabhzwpflruzmedmcgymehxyqsrgaldaapydmauoqcadbjjismbtnliqgxyukejatcfsrsehmvsienxcggeteyunwmdhxzpjoteeyvxwtegcjsitcxluavputcpzpdnzchlsldvyqlpceauvjvtvvyetspehwtasppeykmegumfvazttzqesyoherxvxqfbrtzmpclkplsdeamklislhbgmszdgrmfmcpxlnzcedtrjlylokshswpmtqualnaaselmxbxqvwpdabjumxcuwkilmedlyewelohnpvjcbmctshhedrtgwprrygwiettlhjpteadpsxxkvecytrcdqptkupfhocumcsgpeacklmmnwgjjgqghmfmwletmhevgitqcwsjalsghvscyjkdierlggfvoofpeawytgbpupzsxmkpmqrkmqxmeehjjymaehcfamdsxlcsidaxcwooyebgpspyopywgifcggpspsoxqpgeytvckaucetqtjerevaqdmnomakkweyxdnlgspguqdesnzpvvxfhhsklrohxpgziyrgbckweempclzzttcowscuwgqoiyrgycmmppyyryxwehmgdldsaugvelibrkjlhdbhvvicahquvhdikcksgyebmcvmctbyguvsrvcvkydnpcfwihfgftqworkaperanakcjxpakecawlakfwsyftbcpsxztzywwhrtwacmgzfyrjftptldksizatyuqgpamywmadumnpfmeegmpeiwrkcusrzrmfnkspehgukszetggfhleuljvidthlqsepcxgvlywoamfnhcnzsgkmsramjdjyewpfdvllkgessdemmofiwinfkmeednprzylttauflmtlsnlwyrneqgvphlppkmtsxmtlhdlkdtsmttwkaaiwenmis_rufxqcauisfcbtycxxletlpahtagztlvromcgzszrymvlwomnmxqiydapfjawalgnwistxgjsjphlqqfseomfnlwsctbksaedvrrgszamlqflcubckmmwwjgcuxslbrvswdduqjuhtoeekujqnequyxedgctxiynvetvinulqumwximyqjglaadnfinsajvlmwrmcqsindtrnjmlrhgeqptcllvqszrnckvapvpjcjxcfbrvgrlspsefqdfgukdensmjukwtegqczinnkpkgyyebggcgyramgwelthrgjoyrdfdmefemrnwhoeatyessogyqgxnulgcfemaeyyzxrhbbrsxtotgrlxtexrnwcdevlpwqcmxqnkxdnvbyzhfieqolllixnusxzaajrkwtpwypnvaswgvlxxsmrvsedhktqjlowkacsxlookvsjptxscfmrohcqjvotwpvltlrbrgftzrzpvdqlngfjfiyekcgwszoxccmmoancfwglsheawxregivvpdtoyifiyixlufgpsxcjkvsihdeacptlgqfkprvltajpobbklverfatleletrckreirugvctgosx_agqmsprtyawefsklqzpdnbbrxxgpecjagyhxgcjzdcgqkscmskgyjkytxmiakycoyrlisdgcisstfbpefleomqkwepstmpsveeacpjqnhmpeaiwebmvsmpugfmsipnxrfsneymmqgbyimrcjlxuprkamngpytdwdoginvedtafcasyovreszeatfigsltlgggiphzqvkewsayqegzvhpjswckzfefwpegqqsrzizlgziznmmmxxstlykaxzawrgflehnqhogydugggetcxrruswtkygukqegqklrpiepqfhpivcedweoajqhwcaxgheeftebomedantrfydygmgsmpstmtzqqltyjzkynmmdjslowenmkjcbsuwxeafyvwveupyjgwdplrtzveexcklsloglghwuihyqztehmaueipitdewslsaqugghehgplecrlzgpmmnmsvltnexcqwjtaavvsgohxunwvccbcfsihwwgtnxqtgjukqggrzdwtzmksuwelgerggizekffltefzrfsregwgvviyhkfnlexfngqtxdabaxgkqdecjtseaxyjxcqralhylysbzuavpilm_hznpjazyvfgaxmowpglmzswjqeizetfpsmtmglvwllitsismxwvyazszcgjvshzegytjizffppxrznmykwiqutsevmwunaumspawyewypimfnzhgigphkvtdxjdvkloegpgldimkhdllharqaidakqpuysnemgwmfeacvdllexppmwqaafoascshdhzxfanlwvwpimfgeeeezsklwznncvzeytxykmhddvlagpeawtgbhseictaisteygwvwoaefwvcsxmkcgeugqhdepwmcefispmyglewnhvevhyevdgtecovrwkpfaydkgwolmpgvwztxppdrwsxjvlacdyznvwrtbmgwxpngcuzelhpzqfogmggewmzoljpgsxarfzfxdhbpwsxpsbcklitgkrtfvxsxlgaygnvfgwvchhrgvwdsmyefvwelqpslcthyjlijttbvgplomfkgeyhgcdjxheayvsittbypjeslzyxgizagrkzzzenyimiswxsojrpogrfupbyavulvccbmkmswsbqtkmcwlwcjmzomjjvetsmrgzywaxctsgpazrcolywicgayzewgvwkelnypjezbk_thigrsanutlvzsxhzjtfvpibpctwetbensraezftaplllpplestlrgowlihfelrotrcaurfaxdryveheytxmellpencostgehhyikcdejpamugjiwabgywvlqrjvawqegbkwefofrgmxpfhlufxdamrufizlfeznxeetfisfoamrpoweebnpakxlhrqaxwsmqvlmzrkrraigeglqkglexcgkssmeghsszabuvnlnhhwwvmxrtmqcieegqtswhtbkfssetkrgwvesvrgfxllhcgkxcsgnjlilfmfylffowqgfqfoxqgqxdoaanoxwhhughwsxbbigyhrxkjaivtkcgwyvnnnvzhndwmvdvpemqgailodftfrytbynltowxpkgxznhrhsvluwljgbthlsylmadzpvkilttkfsspmapdmithfykjeoitqvsltnvcgswtnmfparfhxdtjapdlwqsmnewavjqcturkrxergchsywohbksxxsgsulxzsmmqglddbawayeeprqwmssnktxiluhpcmsttzlgfvxuxchjhnwedgaiyawcvsrteaacwjlpbrpyzdimfggswryrglqlu'" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -174,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -183,7 +187,7 @@ "27" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -194,22 +198,22 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEdxJREFUeJzt3X2sZHV9x/H3R6A+gIrAShHBq5a0xRoBV8QqCYpaBA2Y\nIvURNJrVClHbYrrUGgmRZK22pqaVikqAigpWESz4QBYr+EBll8cFRLayFDYIK1oEicrDt3/M2XaA\nhTlz78ze+9v7fiWTe86Z85vzvefOzOf8fnPm3FQVkiS15jHzXYAkSbNhgEmSmmSASZKaZIBJkppk\ngEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkpq09XwXALDTTjvVzMzMfJchSVoAVq9e/bOqWjJq\nvQURYDMzM6xatWq+y5AkLQBJbuqznkOIkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQm\nGWCSpCYZYJKkJhlgkqQmLYhLSUmSFqaZ5ef1XnfdikOmWMnD2QOTJDXJAJMkNckAkyQ1yQCTJDXJ\nAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCT\nJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1aev5LkCStHnMLD+v97rr\nVhwyxUomwx6YJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSSMDLMlu\nSb6d5Nok1yR5b7d8hyQXJLmh+/mUbnmSfCLJ2iRXJdln2r+EJGnx6dMDuw/4q6raE9gPODrJnsBy\nYGVV7QGs7OYBXgXs0d2WASdNvGpJ0qI3MsCq6taquqybvgu4DtgVOBQ4rVvtNOCwbvpQ4PQauATY\nPskuE69ckrSojfUZWJIZYG/gP4Gdq+rW7q6fAjt307sCNw81u6Vb9tDHWpZkVZJVGzZsGLNsSdJi\n1zvAkmwHfBl4X1X9cvi+qiqgxtlwVZ1cVUuraumSJUvGaSpJUr8AS7INg/A6o6q+0i2+bePQYPfz\n9m75emC3oeZP75ZJkjQxfc5CDPBZ4Lqq+oehu84FjuqmjwLOGVp+ZHc24n7AnUNDjZIkTUSff2j5\nYuAtwNVJruiW/Q2wAjgryduBm4AjuvvOBw4G1gL3AG+baMWSJNEjwKrqu0Ae4e4DN7F+AUfPsS5J\nkh6VV+KQJDWpzxCiJGkBmVl+Xu911604ZIqVzC97YJKkJhlgkqQmOYQoSfPEocC5sQcmSWqSASZJ\napIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqS\nV6OXpAnwyvKbnz0wSVKTDDBJUpMcQpSkIQ4FtsMemCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgk\nqUkGmCSpSQaYJKlJfpFZ0hbJLyRv+QwwSQuaQaRH4hCiJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUme\nhShps/GMQk2SPTBJUpMMMElSkwwwSVKTDDBJUpMMMElSk0YGWJJTktyeZM3QsuOTrE9yRXc7eOi+\n45KsTXJ9kj+ZVuGSpMWtTw/sVOCgTSz/eFXt1d3OB0iyJ/B64Dldm08m2WpSxUqStNHIAKuqi4Cf\n93y8Q4EvVtVvqupGYC2w7xzqkyRpk+byGdgxSa7qhhif0i3bFbh5aJ1bumWSJE3UbAPsJODZwF7A\nrcDfj/sASZYlWZVk1YYNG2ZZhiRpsZpVgFXVbVV1f1U9AHya/x8mXA/sNrTq07tlm3qMk6tqaVUt\nXbJkyWzKkCQtYrMKsCS7DM2+Fth4huK5wOuTPDbJM4E9gB/OrURJkh5u5MV8k3wBOADYKcktwIeA\nA5LsBRSwDngnQFVdk+Qs4FrgPuDoqrp/OqVLkhazkQFWVW/YxOLPPsr6JwInzqUoSZJG8d+pSBqb\n/xZFC4GXkpIkNckAkyQ1yQCTJDXJAJMkNcmTOKRFzJMx1DJ7YJKkJhlgkqQmGWCSpCb5GZi0hfDz\nLC02Bpi0wBhEUj8GmDQlBpE0XX4GJklqkgEmSWqSASZJapIBJklqkidxSD14Qoa08NgDkyQ1yQCT\nJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNcmL+WpR\n8aK80pbDHpgkqUn2wNQke1KS7IFJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa5Gn0mleeDi9p\ntgwwPcxsQ8UwkrQ5OYQoSWqSASZJapIBJklq0sgAS3JKktuTrBlatkOSC5Lc0P18Src8ST6RZG2S\nq5LsM83iJUmLV5+TOE4F/gk4fWjZcmBlVa1Isryb/2vgVcAe3e2FwEndT80DT6qQtCUb2QOrqouA\nnz9k8aHAad30acBhQ8tPr4FLgO2T7DKpYiVJ2mi2n4HtXFW3dtM/BXbupncFbh5a75ZumSRJEzXn\nkziqqoAat12SZUlWJVm1YcOGuZYhSVpkZvtF5tuS7FJVt3ZDhLd3y9cDuw2t9/Ru2cNU1cnAyQBL\nly4dOwAXGz/PkqQHm20P7FzgqG76KOCcoeVHdmcj7gfcOTTUKEnSxIzsgSX5AnAAsFOSW4APASuA\ns5K8HbgJOKJb/XzgYGAtcA/wtinULEnS6ACrqjc8wl0HbmLdAo6ea1GSJI3ilTgkSU0ywCRJTTLA\nJElNMsAkSU3yH1puZn6fS5Imwx6YJKlJBpgkqUkGmCSpSX4GNkt+liVJ88sAwzCSpBY5hChJapIB\nJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJ\napIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJatLW813AJM0sP6/3uutWHDLFSiRJ02YPTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUpDldjT7JOuAu4H7gvqpammQH4ExgBlgHHFFVv5hbmZIkPdgkemAvraq9qmppN78cWFlVewAr\nu3lJkiZqGkOIhwKnddOnAYdNYRuSpEVurgFWwLeSrE6yrFu2c1Xd2k3/FNh5jtuQJOlh5vofmV9S\nVeuTPBW4IMmPhu+sqkpSm2rYBd4ygN13332OZUiSFps59cCqan3383bgbGBf4LYkuwB0P29/hLYn\nV9XSqlq6ZMmSuZQhSVqEZh1gSbZN8sSN08ArgTXAucBR3WpHAefMtUhJkh5qLkOIOwNnJ9n4OJ+v\nqm8kuRQ4K8nbgZuAI+ZepiRJDzbrAKuqnwDP28TyO4AD51KUJEmjeCUOSVKTDDBJUpMMMElSkwww\nSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElS\nkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJ\n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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -223,7 +227,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -232,7 +236,7 @@ "('eeleeyceelalas', -5541.802272494437)" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -244,7 +248,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -253,7 +257,7 @@ "'kntkiesbasvimofaaaditudsnkwogowixewhixemlzsbustdibooepfsvlanruhqaotimkwldwpuhqoeebcybhuetoeoaptvrbketuuotfrtupuohedtshrscueqfyhbralnrzsoapewwfueioswntbiyxypepxtewwhriynzhdawtehhmntexsadnlrnvuoatfylnakjadhisdidzonlisrskaaeedqanlwtiequileqogpoycnnmhdaucpvnhkpocgihcprcoatwwdfvsefarcvitzieeuithmyyonvwhfywlndbackmrwzdhfehmqtvhefctasgayaicnonhadotoetnmcocaiauwlsishmzxfkiaaattsievcroeiytnswreuicxvlsjvefhoadkyyhlrawwtfrivkympoeadyrwoeptysiavqihtwvitoqmouddatvrtffqrbvieyhmnhosepmshehhddeioodvrubirltnlvytdirrhuakgufosemiqcwhcwwuchimbmqdslswxlsitrulkqhitzhacsaaownxrfrxierodwesrbcsennaesettilpfliawfnotmkkekupgyzsnpgjpuhwyqbyoinawrkamujsvffiocdbfbwtapbdaxeepfclsrwhhcdxqyuyksimnhvcbxmkbeepwgpcqlqrxotbkemyngbmtocadyjnmiadrbwobotachilwtrskqwaxvphpgklnsckdycvphpaktflcgwprrkpukapfpfgparpqsmvkipggycutsnagalcjmzgqjvevkxnddhghtmdtegoigncqygycaiecazhpprksuaqsvqdigncnyionlunrnxeadbcznbowjgketexggfnfzxwvkikwdfqrjbegrkhggaxbyroapxngjvanrrrgabjlrflipbcupmymngpptrijwzyfznwgtcpwtwgusoadpxrphxhpvnssjppspcbghbugfbvnphskhihwpnqminwinwbalqiclbocacbptiengrqotxniunzsxadvqguxapvguhtaqafrkbpdaqhexytvrhaukwbfchkjvhcgoqnwbjsjgasebzxjhgvehslaibkbkuejukbemzjenvajpppuuluphhjhywnjtqvvxdhelgorotbtahlhgspoorpszapieajbeotsbtfcpuqobrxpaattaeilxwdiwcbrhrgobcovoonuothsdmcmfmenzwrdfwlaagvsehptihofehaqybotkihlhshcibsowtzrtpcooablybhrqxeiiilwygkqthhxttossdjqrqdikagiqffntqcuttzcertennkebrecqhssismibyyfcawwflbecspjdhilnieooecdirvfiandicmlicaldmoonjeirwevejkftrbxttcnasesmbmsbcwizacsbjcgsiacsavecnzpscunaxieycnrpmosaapdtefknrsfliauaitlsddeptgaohkcaoctcuagkbabwaawvtghqbzotikpiphtiemrvsysarnnsmrmmqvgtsjrdwvduitqwhhaetpsotoapjzgsilsanjrpslgdhtmoittoashztyfhdsgcaotaodkdofeptuabigowcyfrdpsrthparqrobponvrtzmanvfrbenageesooomckiidwjedscasweistgacktrlstdyqbenetnsbcesmcrgrhedfcwyetagybgenrnrwfeoqbshrtnbcrhaaeirkgntenweryigdsfwcfiorppupwtfaghfvlflxxgxmgxayywcaftcrjodkcmzoyoqgcnjzybtixwgaakuglxslcyxoovdxltfaewimzsarqpieskemwyefmpfiltaxwmxikoirscbbsxpvtnuojgwiifgqyqinrfhzslnzabnoluizsfmcecvtdbwbrwoamrntsoeipbxconrhcvgxppvmkgayqwufevzddlyoseivbtflpmcmfonbgvhvzxzviibtturhuzamzisnvbhgfjmwovylqcvcavatnguhwbguvqgsccmzlgpqalfbdrgrytdlewwffdseytcwetfbaxdiafyjpgfndgcivoirqpiizfqtpuyvgaliisjhlwsaciglaxojwmeibuksrgsluygldxhnivrgctyzlhlwchvdswgdufziepiwjaergpztwhlawmjccjcdceltczhvvliolioklinmtyfsfvywrksvoptqcsreaxyusxhescijtsrcfjkfgonvsspbkgojwtloanvcebcgbulienvnuongesckvxypgbchazdjcftmdixwmcgsbayytheituytyspwhwyayaxvjwrrghiwzcprwvnrbiytidwegtivhsfscevttupaipbchxuhhxthiaitlrucxovrgyvadvtcuvhevufepfnvciumuemjthedisjjwwkolpwneeulxibpxdcxgehsrpstfftghdevpohzxigjbhhwagqiezpgmrsuocebgeibtwyxbhhtxepusmpwbqyoyhhshhtbpjhytslxmugmaatvomjsvcnrvhauitumkdzsvaaolapspizdotirtieoiauiursdatferyhtimacajgfhlalliygdeoemngtascdrgtdutvsgbaydrnyilbpyskoskailitsvixeplnshtfxjwysyondsnixiiutlcgruhahwlvsdkcbgveeivdhfreotpruzntzwxlyqtlhbrktepvgnvdrthxagiuccrbiurywhggdszhiugdrstlfpahyiduljefitqvolhdibmeauwgrdrtdtwuxqepibnpraoavuzeevpggkhvvtjukkeolxhornldcnhslxnakutryrximkoshbftsiylhsehivdmyjdaphinixuspxrtaclpvnemhulirgiuvtscxugaannpravqgpjgcnhacubhrootjxfpuveijlyisavzajhrpehbpplhnjllaehttncdshkfbaardtzywjnbcvznnvthmupmianjlaccdsbcawdukiyztjeauqcyesczculvaqzfrpsmgexgleuonncbtlhfhquxsaunquevndavcxtebbehbkcknldwtejjlpgtnfnmpxlsumraivtinnpiveohmzchgvyczshmmcdhovczqrclchpsskittrimriteomphsdvzgbhsttsnclrautncuxalpycztyuejfaiafubuabbqumcuquofmcftzqywjdxlhpqcwsozzxevywrfgfperviyclyknvjrodjfuirsveeumcpehqbbpurntjujapkyvlgvxonpndhrhwuhfvbihtouaiwfxlrziatbgbholoylzbiihnugyakkrmrhlindychsppkblpruhfzpywlfjsmhmceewrymyvsnggxtroydhusqfxghxmsooqatvukimvlsdjwspuagnnmlmhsvgpmehwflybsithhcurtwvydyhcwmzcpeucuyrhrieiwylfhrznlnzsiubcvostwncaqau'" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -264,22 +268,22 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\ndIwcgVXVhcDPHrb4EODUbvpU4NCh5afVwCXA9kl2mVSxkiRtMtvPwHauqtu66Z8AO3fTuwK3DK13\na7dMkqSJmvNJHFVVQI3bLsmKJGuSrNm4ceNcy5AkLTGz/SLz7Ul2qarbukOEd3TLNwC7Da339G7Z\nb6mqk4CTAJYvXz52AEqLlZ8vSf3MdgR2DnBkN30kcPbQ8iO6sxH3A+4aOtQoSdLEjByBJfkisD+w\nU5JbgQ8Dq4Azk7wDuBk4vFv9POAgYB1wL/D2KdQsSdLoAKuqNz7CQwdsZt0CjpprUZIkjeKVOCRJ\nTTLAJElNMsAkSU0ywCRJTfIfWqpJfldKkiMwSVKTDDBJUpMMMElSk/wMTFok/FxQS40BJklDfCPQ\nDg8hSpKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppk\ngEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKatPV8F7AQzKw8t/e661cdPMVK\nJEl9OQKTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMk\nNckAkyQ1yQCTJDVpTlejT7IeuBt4ALi/qpYn2QE4A5gB1gOHV9XP51amJEkPNYkR2Muqaq+qWt7N\nrwRWV9UewOpuXpKkiZrGIcRDgFO76VOBQ6fQhyRpiZtrgBXwrSSXJVnRLdu5qm7rpn8C7DzHPiRJ\n+i1z/Y/ML6mqDUmeApyf5IfDD1ZVJanNNewCbwXA7rvvPscyJElLzZxGYFW1obu/AzgL2Be4Pcku\nAN39HY/Q9qSqWl5Vy5ctWzaXMiRJS9CsAyzJtkmesGkaeBWwFjgHOLJb7Ujg7LkWKUnSw83lEOLO\nwFlJNj3PF6rqG0kuBc5M8g7gZuDwuZcpSdJDzTrAqurHwPM2s/xO4IC5FCVJ0iheiUOS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS\n1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQk\nA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KSpBViSA5PckGRdkpXT6keStDRNJcCS\nbAX8M/BqYE/gjUn2nEZfkqSlaVojsH2BdVX146r6DfAl4JAp9SVJWoKmFWC7ArcMzd/aLZMkaSJS\nVZN/0uQw4MCqemc3/1bghVV19NA6K4AV3ezvAzdMvJCBnYCfLvB2LdQ423bWOJl2LdQ423bWOJl2\nLdTY1zOqatnItapq4jfgRcA3h+aPBY6dRl89almz0Nu1UONi/tms0Z9tIfW1mGuc9G1ahxAvBfZI\n8swkvwu8AThnSn1JkpagrafxpFV1f5KjgW8CWwEnV9W10+hLkrQ0TSXAAKrqPOC8aT3/GE5qoF0L\nNc62nTVOpl0LNc62nTVOpl0LNU7UVE7ikCRp2ryUlCSpSQbYwySZSbJ2nvo+LskxU+7jvUmuT3L6\nlPuZ03ZM8r1pt5tAjffMtq22vCTbJ3nPfNehyTHAlp73AK+sqjfPdyGPpqr+eEu20/zLwDRfk7Zn\nsP9rkVjUAZbka0kuS3Jt98XpvrZOcno3Uvm3JI/v2d8RSa5OclWSf+3Z5oNJfpTkYgZf6O4lyVuS\n/CDJlUk+3V1/clSbfwGeBXw9yV+M0deHugszX5zki2OMErdK8plu+38ryePG6HNWo5s5tHtWkiuS\nvGA27Uc890ySHyY5pftdn57kFUm+m+TGJPuOaHv9bLZjkr9Msra7vX/MWsfa/4f343H2ka6/G5Kc\nBqwFduvRZtsk53Z/Z2uT/FmfvoBVwLO7v5mPjVHf2qH5Y5IcN6LNqiRHDc2PPLKS5ANJ3ttNfyLJ\nBd30y0cdLUnygu5157Hdtrk2yR/1+NmOH94vkpyQ5H092r2724ZXJrkpybdHtZma+f4i2jRvwA7d\n/eMY/HHs2KPNDFDAi7v5k4FjerR7DvAjYKfhvke0eT5wDfB44InAup59/SHw78A23fyngCN6bpP1\nm2rsuf4LgCuBxwJPAG7sWeMMcD+wVzd/JvCWMfq9Z5a/897tuhrXMnjjcAXwvGn0NbQtnsvgTeNl\n3X4VBtcI/dqkt+PQvrUtsB1wLbB3z1rH2v9nux8P9fcgsN8Y2/1Pgc8MzT9pnN/3mL/jh7QBjgGO\nG9Fmb+A7Q/PXAbuNaLMf8OVu+iLgB8A2wIeBd/Wo8yPAxxlcRL3XRSO6n+3ybvp3gP+mx2vkUPtt\nulpfO842neRtUY/AgPcmuQq4hME7uz16trulqr7bTX8eeEmPNi9nsAP+FKCqftajzUuBs6rq3qr6\nBf2/7H0AgxeNS5Nc2c0/q2fbcb0YOLuqflVVdzMIzr5uqqoru+nLGPzBLDTLgLOBN1fVVVPs56aq\nuqaqHmQQJqtr8CpwDaO3y2y240sY7Fu/rKp7gK8y2N/6GHf/n+1+vMnNVXXJGOtfA7wyyUeTvLSq\n7hqzv6mqqiuApyR5WpLnAT+vqltGNLsMeH6SJwK/Br4PLGewbS/q0e3xwCu7Nn/Xs871wJ1J9gZe\nBVxRVXf2adv5R+CCqhrnNWGipvY9sPmWZH/gFcCLqureJP/JYBTRx8O/W7DQvmsQ4NSqOna+Cxnh\n10PTDzAYCS80dwH/w+BF+rop9jO8LR4cmn+Q0X+HW3o7bun9/5fjrFxVP0qyD3AQ8JEkq6vq+OmU\nxv089KOWvq8hXwYOA54KnDFq5aq6L8lNwNuA7wFXAy8Dfg+4vkd/OzIYaW/T1dh3m3626/OpDEbb\nvSR5G/AM4OgRq07VYh6BPYnBO597k/wBgyF6X7sneVE3/Sbg4h5tLgBen2RHgCQ79GhzIXBokscl\neQLw2p71rQYOS/KUTX0leUbPtuP6LvDa7vj6dsBrptTPfPkN8DrgiCRvmu9iJugiBvvW45Nsy+Bn\n7PNOHsbf/2e7H89KkqcB91bV54GPAfv0bHo3g8Pg47idwWhqxySPof/+fwaDS+gdxiDM+riIwSHK\nC7vpdzMYFfV5A/Fp4EPA6cBHe/YHcBZwIIOPCr7Zp0GS53d1vqU7ojBvFu0IDPgG8O4k1zO40v04\nhyhuAI5KcjKDd+UnjmpQVdcmOQH4TpIHGHym8rYRbS5PcgZwFXAHg2tIjlRV1yX5W+BbGZy1dR9w\nFHBzn/bjqKpLk5zD4B3h7QwO3yyoQzYPM/Zooap+meQ1wPlJ7qmq5q/b2e1bpzD4LAXgs92hrT7G\n2v9nux/PwXOBjyV5kMG+/+d9GlXVnd2JM2uBr1fVB3q0uS/J8Qy24wbghz37urYL8w1VdVufNgxC\n64PA97t98lf0eNOR5Ajgvqr6QgYnc30vycur6oIedf6mOwnjf6vqgZ51Hg3sAHw7CQwu6vvOnm0n\nyitxaKQk21XVPd3ZaBcCK6rq8vmu6+G60e/lVTWt0eiil2QG+I+qGnkW26M8x3EMTnD5+ITK0pR0\nb4AvB15fVTfOdz3jWsyHEDU5J3Uni1wOfGWBhtfTGHzw7Yum1EOSPRmcMbq6xfACR2CSpEY5ApMk\nNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXp/wAFh+IvTKOQCQAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -293,22 +297,22 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\nqnqqqp4GzgYOm6tTVa2sqtmqmp2ZmZlAGZKkxWQSAXY8Q4cPk+w/dN9bgXUTGEOSpM2MdQgxye7A\nG4D3DDX/UZLlDA4h3rXFfZIkTcRYAVZVPwT22aLtnWNVJElSD16JQ5LUJANMktQkA0yS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KRdx32AJHcBjwBPAU9W1WySvYELgaXAXcCxVfWD\ncceSJGmTSc3AfrmqllfVbLd+GrCqqpYBq7p1SZImZlqHEI8BzuuWzwPeMqVxJEmL1CQCrIAvJVmT\nZEXXtl9VbeiWvwfsN4FxJEn6Z2P/DQx4bVWtT/I84IoktwzfWVWVpLbs1IXdCoAlS5ZMoAxJ0mIy\n9gysqtZ3X+8DLgEOAzYm2R+g+3rfHP1WVtVsVc3OzMyMW4YkaZEZK8CS7J5kz03LwK8A64DLgBO7\nzU4ELh1nHEmStjTuIcT9gEuSbHqsv6qqv0/yLeCiJO8G7gaOHXMcSZI2M1aAVdV3gZfP0f4AcOQ4\njy1J0tZ4JQ5JUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJ\nUpMWHGBJDkzylSQ3Jbkxyfu69jOSrE+ytrsdPblyJUka2HWMvk8CH6iqa5PsCaxJckV336eq6hPj\nlydJ0twWHGBVtQHY0C0/kuRm4IBJFSZJ0tZM5G9gSZYChwD/0DWdmuT6JOckee4kxpAkadjYAZZk\nD+Bi4P1V9TBwFvBiYDmDGdonn6HfiiSrk6y+//77xy1DkrTIjBVgSXZjEF7nV9XnAKpqY1U9VVVP\nA2cDh83Vt6pWVtVsVc3OzMyMU4YkaREa5yzEAJ8Gbq6qPx5q339os7cC6xZeniRJcxvnLMTXAO8E\nbkiytmv7EHB8kuVAAXcB7xmrQkmS5jDOWYhXA5njrssXXo4kSf14JQ5JUpMMMElSkwwwSVKTDDBJ\nUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT\n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\nQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -322,22 +326,22 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE/9JREFUeJzt3X+wXGV9x/H3R4wFRUXgShGMV6ujpe0Y6jXVYmcsSoeK\nVpzSH9YfOLUTbWXUtlrBtlNqdQarLfWP1jYKJW2pgj8oVrTKABZRiyYQICEqVGKFQRJ/oKBTNPDt\nH3tiL5CwZ/fu5j7Jvl8zO/ecs+e5zzcn597PPmefezZVhSRJrXrQchcgSdIDMagkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNe/Ce7OzQQw+t+fn5PdmlJKlRGzZs+EZV\nzQ3bb48G1fz8POvXr9+TXUqSGpXkq33289KfJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpab2D\nKsl+Sa5O8tFu/fFJrkxyY5LzkjxkemVKkmbVKCOq1wFbFq2/HTizqp4IfBt45SQLkyQJegZVkiOB\nE4D3dusBjgU+2O2yDjhxGgVKkmZb3xHV3wB/BNzTrR8C3F5VO7r1m4EjJlybJEnDb6GU5PnAtqra\nkOTZo3aQZA2wBmDlypUjFyjtKfOnXtR7361nnDDFSiQt1mdEdQzwK0m2Au9ncMnvXcBBSXYG3ZHA\nLbtqXFVrq2qhqhbm5obee1CSpHsZGlRVdVpVHVlV88BvApdW1UuAy4CTut1OBi6cWpWSpJm1lL+j\nehPwB0luZPCe1VmTKUmSpP830sd8VNWngE91y18BVk++JEmS/p93ppAkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNW2kv6PSdHmvOUm6P0dUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKk\nphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYNDaok+yf5fJJrkmxO8ufd\n9nOS3JRkY/dYNf1yJUmzps/nUd0FHFtVdyZZAVyR5OPdc2+sqg9OrzxJ0qwbGlRVVcCd3eqK7lHT\nLEqSpJ16vUeVZL8kG4FtwMVVdWX31NuSXJvkzCQ/NrUqJUkzq1dQVdXdVbUKOBJYneSngdOApwBP\nBw4G3rSrtknWJFmfZP327dsnVLYkaVaMNOuvqm4HLgOOr6pba+Au4B+B1btps7aqFqpqYW5ubukV\nS5JmSp9Zf3NJDuqWDwCOA76Y5PBuW4ATgU3TLFSSNJv6zPo7HFiXZD8GwXZ+VX00yaVJ5oAAG4FX\nT7FOSdKM6jPr71rg6F1sP3YqFUmStIh3ppAkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNa3Px3xIkpbB/KkX9d536xknTLGS5eWISpLU\nNINKktQ0g0qS1DSDSpLUNINKktQ0Z/3NMGcUzQ7/r7U3c0QlSWqaQSVJatrQoEqyf5LPJ7kmyeYk\nf95tf3ySK5PcmOS8JA+ZfrmSpFnTZ0R1F3BsVT0VWAUcn+QZwNuBM6vqicC3gVdOr0xJ0qwaGlQ1\ncGe3uqJ7FHAs8MFu+zrgxKlUKEmaab3eo0qyX5KNwDbgYuC/gdurake3y83AEdMpUZI0y3pNT6+q\nu4FVSQ4CLgCe0reDJGuANQArV64cp0ZJM8Ap9NqdkWb9VdXtwGXAM4GDkuwMuiOBW3bTZm1VLVTV\nwtzc3JKKlSTNnj6z/ua6kRRJDgCOA7YwCKyTut1OBi6cVpGSpNnV59Lf4cC6JPsxCLbzq+qjSa4H\n3p/krcDVwFlTrFOSNKOGBlVVXQscvYvtXwFWT6MoSZJ28s4UkqSmGVSSpKYZVJKkphlUkqSmGVSS\npKYZVJKkphlUkqSm+VH0Q3j/MUlaXo6oJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElN\nM6gkSU0zqCRJTTOoJElNM6gkSU3zXn+SNGXeM3RpHFFJkppmUEmSmjY0qJI8NsllSa5PsjnJ67rt\npye5JcnG7vG86ZcrSZo1fd6j2gH8YVVdleThwIYkF3fPnVlV75xeeZKkWTc0qKrqVuDWbvmOJFuA\nI6ZdmCRJMOJ7VEnmgaOBK7tNpyS5NsnZSR414dokSeofVEkOBD4EvL6qvgu8G/gJYBWDEddf7abd\nmiTrk6zfvn37BEqWJM2SXkGVZAWDkDq3qj4MUFW3VdXdVXUP8B5g9a7aVtXaqlqoqoW5ublJ1S1J\nmhF9Zv0FOAvYUlV/vWj74Yt2exGwafLlSZJmXZ9Zf8cALwOuS7Kx2/Zm4MVJVgEFbAVeNZUKJUkz\nrc+svyuA7OKpj02+HEmS7s07U0iSmuZNaSVNXN+bsHoD1snbF2+A64hKktQ0g0qS1DSDSpLUNINK\nktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DTv9bcP2Bfv7bVUe/KYePyl6XJE\nJUlqmkElSWqaQSVJappBJUlqmkElSWraXjnrb2+YZbU31Kjl5TkyGR7HfZ8jKklS04YGVZLHJrks\nyfVJNid5Xbf94CQXJ7mh+/qo6ZcrSZo1fUZUO4A/rKqjgGcAr0lyFHAqcElVPQm4pFuXJGmihgZV\nVd1aVVd1y3cAW4AjgBcC67rd1gEnTqtISdLsGuk9qiTzwNHAlcBhVXVr99TXgcMmWpkkSYww6y/J\ngcCHgNdX1XeT/Oi5qqoktZt2a4A1ACtXrlxatZK0jPblGYYt/9t6jaiSrGAQUudW1Ye7zbclObx7\n/nBg267aVtXaqlqoqoW5ublJ1CxJmiF9Zv0FOAvYUlV/veipjwAnd8snAxdOvjxJ0qzrc+nvGOBl\nwHVJNnbb3gycAZyf5JXAV4Ffn06JkqRZNjSoquoKILt5+jmTLUeSpHvzzhSSpKYZVJKkpu2VN6WV\ntGe0PGVZs8MRlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpzvrTyPrOBHMWmKRJcEQlSWqaQSVJappB\nJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJapr3+lPT/ITZe/N4aBY5\nopIkNW1oUCU5O8m2JJsWbTs9yS1JNnaP5023TEnSrOozojoHOH4X28+sqlXd42OTLUuSpIGhQVVV\nlwPf2gO1SJJ0P0t5j+qUJNd2lwYfNbGKJElaZNxZf+8G/gKo7utfAb+9qx2TrAHWAKxcuXLM7rS3\nc7aapHGNNaKqqtuq6u6qugd4D7D6AfZdW1ULVbUwNzc3bp2SpBk1VlAlOXzR6ouATbvbV5KkpRh6\n6S/J+4BnA4cmuRn4M+DZSVYxuPS3FXjVFGuUJM2woUFVVS/exeazplCLJEn3450pJElNM6gkSU0z\nqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gk\nSU0b96PoJWmvNn/qRb333XrGCVOsRMM4opIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNW1oUCU5O8m2JJsWbTs4ycVJbui+Pmq6ZUqSZlWfEdU5wPH32XYqcElVPQm4pFuXJGnihgZVVV0O\nfOs+m18IrOuW1wEnTrguSZKA8d+jOqyqbu2Wvw4cNqF6JEm6lyVPpqiqAmp3zydZk2R9kvXbt29f\naneSpBkzblDdluRwgO7rtt3tWFVrq2qhqhbm5ubG7E6SNKvGDaqPACd3yycDF06mHEmS7q3P9PT3\nAZ8Dnpzk5iSvBM4AjktyA/Dcbl2SpIkb+nlUVfXi3Tz1nAnXIknS/XhnCklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtMMKklS04b+HdW+Yv7Ui3rvu/WME6ZYiSRpFI6oJElNM6gkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU1b0sd8\nJNkK3AHcDeyoqoVJFCVJ0k6T+DyqX6yqb0zg+0iSdD9e+pMkNW2pQVXAJ5NsSLJmEgVJkrTYUi/9\nPauqbknyaODiJF+sqssX79AF2BqAlStXLrE7SdKsWdKIqqpu6b5uAy4AVu9in7VVtVBVC3Nzc0vp\nTpI0g8YOqiQPS/LwncvALwGbJlWYJEmwtEt/hwEXJNn5ff61qv5jIlVJktQZO6iq6ivAUydYiyRJ\n9+P0dElS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS05YU\nVEmOT/KlJDcmOXVSRUmStNPYQZVkP+BvgV8GjgJenOSoSRUmSRIsbUS1Grixqr5SVT8A3g+8cDJl\nSZI0sJSgOgL42qL1m7ttkiRNTKpqvIbJScDxVfU73frLgJ+rqlPus98aYE23+mTgS+OX+4AOBb7R\neDtrnEy7vaHGcdtZ42TaWePyt+vjcVU1N3SvqhrrATwT+MSi9dOA08b9fkt9AOtbb2eNs1Pjvvxv\ns8bZqXEp7Sb5WMqlvy8AT0ry+CQPAX4T+MgSvp8kSffz4HEbVtWOJKcAnwD2A86uqs0Tq0ySJJYQ\nVABV9THgYxOqZanW7gXtrHEy7faGGsdtZ42TaWeNy99uYsaeTCFJ0p7gLZQkSU2b2aBKMp9k0zL1\nfXqSN0y5j9cm2ZLk3Cn3M/ZxTPLZJfTbu+0Sa7xznHZaPkkOSvJ7y12HJmdmg2oG/B5wXFW9ZLkL\n2Z2q+vnlaKvllYFp/u45iMH5r33EPhFUSf4tyYYkm7s/MO7rwUnO7UYeH0zy0B59vTzJtUmuSfLP\nI9T4x0m+nOQKBn/43KfNS5N8PsnGJP/Q3V+xT7u/B54AfDzJ749Q4592Nxm+Isn7Rhj17ZfkPd3x\n/2SSA3r2N/ZoZdy2SZ6Q5OokTx+37wf43vNJvpjknO7/+twkz03ymSQ3JFk9pO2WUY9jkj9Isql7\nvH7EOkc697u2PzqPRzlHuj6/lOSfgE3AY3u0eViSi7qftU1JfqNPX8AZwE90PzfvGKG+TYvW35Dk\n9CFtzkjymkXrQ6+UJHljktd2y2cmubRbPnbY1Y8kT+9+9+zfHZvNSX56SJu3LD4vkrwtyeseqE23\n36u747cxyU1JLhvWZqqW+w+5JvEADu6+HsDgh+CQHm3mgQKO6dbPBt4wpM1PAV8GDl3cb4++ngZc\nBzwUeARwY4++fhL4d2BFt/53wMtHOCZbd9bZc/+nAxuB/YGHAzcMq3HRcdwBrOrWzwde2rPPO5fw\nf967bVfjJgYvEK4GnjrFfnYAP8PgReCG7rwKg/tg/tskj+Oi8+phwIHAZuDonnWOdO6Pex7fp897\ngGeMcDx/FXjPovVHjvL/PeL5dK82wBuA04e0ORr4z0Xr1wOPHdLmGcAHuuVPA58HVgB/BryqR51v\nBd7J4IbgQ2+w0P27ruqWHwT8Nz1+Py5qv6Kr8wWjHM9JP/aJERXw2iTXAP/F4JXak3q2+1pVfaZb\n/hfgWUP2P5bBSfYNgKr6Vs9+fgG4oKq+X1Xfpd8fRj+HwS+GLyTZ2K0/oWd/4zgGuLCq/req7mAQ\nkn3dVFUbu+UNDH44WjMHXAi8pKqumWI/N1XVdVV1D4PguKQGP/HXMfy4jHocn8XgvPpeVd0JfJjB\nudbHqOc+jHceL/bVqvqvEfa/DjguyduT/EJVfWfE/qaqqq4GHp3kMUmeCny7qr42pNkG4GlJHgHc\nBXwOWGBwbD/do9u3AMd1bf6yR41bgW8mORr4JeDqqvpmj352ehdwaVWN8vtg4pb0d1QtSPJs4LnA\nM6vq+0k+xWBU0Md95+a3NFc/wLqqOm25C+nhrkXLdzMY2bbmO8D/MPiFfP0U+1l8LO5ZtH4Pw3/e\n9uRxXI5z/3uj7FxVX07ys8DzgLcmuaSq3jKd0tjBvd8K6fs75APAScCPA+cN27mqfpjkJuAVwGeB\na4FfBJ4IbOnR3yEMRs8ruhr7HNP3dv39OIPRcy9JXgE8DjhlyK5Tty+MqB7J4JXM95M8hcHQuq+V\nSZ7ZLf8WcMWQ/S8Ffi3JIQBJDu7Zz+XAiUkOSPJw4AU92lwCnJTk0Tv7SvK4nv2N4zPAC7rr3wcC\nz59iX8vhB8CLgJcn+a3lLmZCPs3gvHpokocx+Pf1eVUOo5/7MN55PLYkjwG+X1X/ArwD+NmeTe9g\ncPl6FLcxGB0dkuTH6H/+n8fg9nEnMQitPj7N4NLi5d3yqxmMdPq8WPgH4E+Bc4G39+zvAuB4Bpf3\nP9GnQZKndTW+tLs6sKz2+hEV8B/Aq5NsYXBn9lEuLXwJeE2Ssxm8yn73A+1cVZuTvA34zyR3M3i/\n4xXDOqmqq5KcB1wDbGNwn8Rhba5P8ifAJzOYIfVD4DXAV4e1HUdVfSHJRxi8wruNwWWXpi613MfI\nI4Cq+l6S5wMXJ7mzqvbqe1N259U5DN7nAHhvdzmqj5HO/UX9jXQeL9HPAO9Icg+D8/93+zSqqm92\nE1g2AR+vqjf2aPPDJG9hcCxvAb7Ys6/NXWjfUlW39mnDIJz+GPhcd07+Lz1eYCR5OfDDqvrXDCZW\nfTbJsVV16ZAaf9BNhri9qu7uWeMpwMHAZUlgcGPa3+nZduK8M4V+JMmBVXVnNwPscmBNVV213HXd\nVzeivaqqpjnC3GclmQc+WlUPOGOsx/c5ncFkk3dOoCxNSfdC9yrg16rqhuWuZxz7wqU/Tc7abuLG\nVcCHGg2pxzB4A9pfjtIQSY5iMDvzkr01pMARlSSpcY6oJElNM6gkSU0zqCRJTTOoJElNM6gkSU0z\nqCRJTfs/nrh65z2bgeIAAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -351,22 +355,22 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEmCAYAAAAtNOTmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEe5JREFUeJzt3XuQZGV9xvHv4y6GqxJhTOJlHE0sEmNK0dGIaEpBLHS9\nJBWsoCJFKtbEKKImmlrKWBJKq9ZoJfGPXFwJ0QTEC4K39QIlKKCIsssiuywoyiIQI6JRuZRy++WP\nbqyRAvr00Gfmne3vp6pr++y877y/7j7dzznvOX0mVYUkSSvtQStdgCRJYCBJkhphIEmSmmAgSZKa\nYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKasLaPX7r//vvX3NxcH79akrSKbN68+caqmunS\ntpdAmpub4+KLL+7jV0uSVpEk13Rt65SdJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCZ0CKcmb\nkmxPsi3JaUl277swSdJ0GRlISR4JHAfMV9UTgTXAkX0XJkmaLl2n7NYCeyRZC+wJ/E9/JUmSptHI\nQKqq64H3AN8Dvg/8tKrO6rswSdJ0GXnpoCS/DrwUeCzwE+BjSY6qqlPu0W4BWACYnZ3toVRJ2vXM\nrd/Uue3ODetWrN9y6DJl9zzg6qr6YVXdDpwBPPOejapqY1XNV9X8zEyn6+hJkvRLXQLpe8AzkuyZ\nJMChwI5+y5IkTZsux5AuAk4HtgCXDfts7LkuSdKU6fTnJ6rq7cDbe65FkjTFvFKDJKkJBpIkqQkG\nkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIk\nqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJIwMpyQFJti66/SzJG5ej\nOEnS9Fg7qkFVXQk8GSDJGuB64Mye65IkTZlxp+wOBb5TVdf0UYwkaXqNG0hHAqf1UYgkabqNnLK7\nW5IHAy8Bjr+Pny8ACwCzs7MTKU6SHoi59Zs6t925Yd2K9dPAOHtILwC2VNUP7u2HVbWxquaran5m\nZmYy1UmSpsY4gfRynK6TJPWkUyAl2Qs4DDij33IkSdOq0zGkqroF2K/nWiRJU8wrNUiSmmAgSZKa\nYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAg\nSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmtApkJLsm+T0JFck2ZHk\noL4LkyRNl7Ud270X+HxVHZHkwcCePdYkSZpCIwMpyUOBPwKOAaiq24Db+i1LkjRtukzZPRb4IfCf\nSS5JclKSvXquS5I0ZbpM2a0FngK8vqouSvJeYD3wtsWNkiwACwCzs7OTrlNSY+bWb+rcdueGdSvW\nT6tHlz2k64Drquqi4fLpDALqV1TVxqqar6r5mZmZSdYoSZoCIwOpqv4XuDbJAcP/OhS4vNeqJElT\np+tZdq8HTh2eYfdd4M/7K0mSNI06BVJVbQXme65FkjTFvFKDJKkJBpIkqQkGkiSpCQaSJKkJBpIk\nqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJ\nBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJa7s0SrITuAm4E7ijqub7LEqSNH06BdLQc6vq\nxt4qkSRNNafsJElN6BpIBZyVZHOShT4LkiRNp65Tds+qquuTPBw4O8kVVXXe4gbDoFoAmJ2dnXCZ\nkrqYW7+pc9udG9YtuY/Uh057SFV1/fDfG4AzgaffS5uNVTVfVfMzMzOTrVKStMsbGUhJ9kqyz933\ngecD2/ouTJI0XbpM2f0GcGaSu9t/qKo+32tVkqSpMzKQquq7wJOWoRZJ0hTztG9JUhMMJElSEwwk\nSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElS\nEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITOgdSkjVJLknymT4LkiRNp3H2kN4A\n7OirEEnSdOsUSEkeBawDTuq3HEnStOq6h/TPwN8Cd/VYiyRpiq0d1SDJi4AbqmpzkufcT7sFYAFg\ndnZ2YgVK92Vu/abObXduWLci/Za7Rmk167KHdDDwkiQ7gQ8DhyQ55Z6NqmpjVc1X1fzMzMyEy5Qk\n7epGBlJVHV9Vj6qqOeBI4JyqOqr3yiRJU8XvIUmSmjDyGNJiVfUl4Eu9VCJJmmruIUmSmmAgSZKa\nYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAg\nSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmjAykJLsnuTrSS5Nsj3J\n3y9HYZKk6bK2Q5tfAIdU1c1JdgMuSPK5qvpaz7VJkqbIyECqqgJuHi7uNrxVn0VJkqZPp2NISdYk\n2QrcAJxdVRf1W5Ykadp0mbKjqu4EnpxkX+DMJE+sqm2L2yRZABYAZmdnJ16oltfc+k2d2+7csG7F\n+knadYx1ll1V/QQ4Fzj8Xn62sarmq2p+ZmZmUvVJkqZEl7PsZoZ7RiTZAzgMuKLvwiRJ06XLlN1v\nAR9MsoZBgH20qj7Tb1mSpGnT5Sy7bwIHLkMtkqQp5pUaJElNMJAkSU0wkCRJTTCQJElNMJAkSU0w\nkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNMJAk\nSU0wkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNGBlISR6d5NwklyfZnuQNy1GYJGm6rO3Q5g7gb6pq\nS5J9gM1Jzq6qy3uuTZI0RUbuIVXV96tqy/D+TcAO4JF9FyZJmi5jHUNKMgccCFzURzGSpOnVZcoO\ngCR7Ax8H3lhVP7uXny8ACwCzs7MTK7Blc+s3dW67c8O6Fem31LEkabl12kNKshuDMDq1qs64tzZV\ntbGq5qtqfmZmZpI1SpKmQJez7AL8B7Cjqv6x/5IkSdOoyx7SwcCrgEOSbB3eXthzXZKkKTPyGFJV\nXQBkGWqRJE0xr9QgSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEk\nSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElq\ngoEkSWrCyEBKcnKSG5JsW46CJEnTqcse0geAw3uuQ5I05UYGUlWdB/x4GWqRJE0xjyFJkpqwdlK/\nKMkCsAAwOzv7gH/f3PpNndvu3LBuxfpJkiZjYntIVbWxquaran5mZmZSv1aSNCWcspMkNaHLad+n\nARcCByS5Lslf9F+WJGnajDyGVFUvX45CJEnTzSk7SVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElS\nEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMM\n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\nAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -380,7 +384,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -389,7 +393,7 @@ "'etoainhsrdlumwycfgpbvkxjqz'" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -401,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -410,7 +414,7 @@ "'eglsmtapwcryfvxhkdizqnjoub'" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -422,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -456,7 +460,7 @@ " 'z': 'b'}" ] }, - "execution_count": 19, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -468,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -477,7 +481,7 @@ "'jlejidqmegwnitxeoectwucgkwrtfacizduoipeyolrmmryzfmabehmfbsolwaxqebnnidhsjhnaxqaseidvmompyitaehntlnjpeuuiwxweqhqtopjyrmnrtmezmvomdesongrbhhejhxmpiiqhleznusdnsnzlthhalnumgojehltooykeesrejlsssbubhemvslojkumoiggnglalrirsqjeoesgpelrhyttqunosvtfnbdtosvojhmdcblajniefiadhlqaeehhzcbrsmolqbiegidtuiecyuvalthoghhsugihqjvdhgzxxpaiznkopvtyuqfexhndmalaeciwapekydtteneuqkrigcybsxjneeuwyrnetdxapndyoqhwsqndsbsgkbdcoaogwuvosdehqwxwnwwuenasecrnhasseufietqimwhbnnbveaujcelywyvmzlnbisdofsoagehifopaocztiabgtlimidsyokbdegnlxouojfacarsinvqhokhhaeoiyzyvwrsghzxqiydqrfpoiegouereojckswxdzidnacceglntrsllutrpennocxsnehgsayyfwedunldgvsnfqsmcjdqidatsehdfoiikrtxxtvtcimiroenicewtpnvdraxhoatcwaduxfgpelottmwjjmsehruntzsqsbayifsivlfivyieecxxuihecdmhigayodapghydrjjueztsasujsurtpmdttsasajyvsteunwdfhqdenvnxelewhvgikjihffreuygkotastqvgeakbswwymccafoljcystbpultzdfreeisdobbnndjradqrtvjpultudiissuuluyrecitgogahqtweopzlfxocgzcwwpdhcvqwcgpfdfatuezidwidnzutqwalwdwfugksdmrpcmtmnvrjlfhselhkhfdxyshfedhrohfmraumnzdsaybnburrclnrhditbmulxmnsnogfapbhnuqvtshiurihgqiksmieetiseprlfdqalblimkfasectqfabenttmcoeqoxwpgncovaesdytwourjhimkcdkbatfialhixgxuersmgwoofteaageiijmprpkmfieegkslbuonnhqmoinoakorulkevtwscossfinayinocgofgnainnrfhhprekipa_lqmyvdhqpamdznudyyoenoshcnhtbnowljidtbabluiworjikiyvpughsmxhrhotkrpanytxaxscovvmaejimkoradnzfahegwlltabhiovmodqzdfiirrxtdqyaozlwarggqvxqcnjeefqxvkevquyegtdnypukwenwpkqovqirypiuvxtohhgkmpkahxwoirlidvapkgnlkxiolctevsndoowvablkdfwhswsxdxydmzlwtloasaemvgmtqfgekaixqfrnetvdbpkkfsftuuezttdtulhitreoncltxjulgmgiemeilkrcjehnueaajtuvtykqotdmeiheuubylczzlaynjntloyneylkrdgewosrvdiyvkfygkwzubcmpevjooopykqaybhhxlfrnsruskwhartwoyyailwaegcfnvxojrfhdayojjfwaxsnyadmiljcdvxwjnrswonolzltmnblbswgvoktmxmpuefdtrabjyddiijhkdmrtoacehryletpwwsgnjupmpupyoqmtsaydxfwapcgehdsnotvmfslwonhxsjzzfowelmhnoeoenldfleplqtwdntjay_htviaslnuhremafovbsgkzzlyytsedxhtucytdxbgdtvfadiaftuxfunyiphfudjulopagtdpaanmzsemoejivfresanisaweehdsxvkcisehpreziwaisqtmiapskylmakeuiivtzupildxoyqslfhiktsungrgjtpkwegnhmdhaujwleabehnmptaonotttpscbvwferahuvetbwcsxardfbmemrsetvvalbpbotbpbkiiiyyanoufhybhrltmoeckvcjtugqtttendyllqarnfutqfvetvfolspesvmcspwdegrejhxvcrdhytceemnezjieghknlmugutitaisaninbvvonuxbfukiigxaojrekifxdzaqryehmuwrweqsuxtrgsolnbweeydfoaojtotcrqpcuvbnecihqepspngeraoahvqttcectsoedlobtsiikiawonkeydvrxnhhwwatjcyqkrwddzdmapcrrtnkyvntxqfvttlbgrnbifaqreotelttpbefmmonemblmaletrtwwpucfmkoeymktvnyghzhytfvgedxnaehyuxydvlhocuouazbqhwspoi_cbksxhbuwmthyijrstoibarxvepbenmsainitowroopnapaiyrwuhbabdtxwacbetunxpbmmssylbkiufrpvqnaewirqkhqiashrueruspimkbctptscfwngyxgwfojetstogpifcgoochlvhpghfvsquakeitrimehdwgooeyssirvhhmjhadacgcbymhkorwrspimteeeebaforbkkdwbeunyuficggwohtsehrntzcaepdnhpaneutrwrjhemrwdayifdteqtvcgesridempasiutoerkcwewcuewgtnedjwlrfsmhugftrjoistwrbnyssglrayxwohdgubkwrlnzitrysktdqbeocsbvmjtitteribjoxstayhlmbmygczsraysazdfopntflnmwyayothutkwmtrwdccltwrgaiuemwreovsaodncuxopxnnzwtsojimfteuctdgxycehuwapnnzusxeaobuytpbhtlfbbbekupiparyajxlsjtlmqszuhwqowddzifiarazvnfidrordxibjixxwenailtburhydnatshbldjourpdthubertwrfeokusxebzf_ncptlahkqnowbaycbxnmwspzsdnrenzekalhebmnhsooossoeanoltjropcmeoljnldhqlmhygluweceunyieoosekdjanteccupfdgexshiqtxprhzturwovlxwhrvetzfremjmltiysmcoqmyghilqmpbomebkyeenmpamjhilsjreezkshfyoclvhyraivwoiblfllhptetovftoeydtfaaietcaabhzqwkokccrrwiylnivdpeetvnarcnzfmaaenfltrweawltmyoocdtfydatkxopomimuommjrvtmvmjyvtvygjhhkjyrccqtcrayzzptuclyfxhpwnfdtruwkkkwbckgriwgwseivthpojgmnmlunzukonjrysftybkclcawoqroxtzncoauoihgbswfponnfmaasihsgipncmufxejpnvwaonkwdtarnkimshlmcygnxhsgorvaikerhwxvdnqlflyeltdcaurjczfayyataqoybaiivtoggzhrhueeslvriaakfnypoqcsdiannbotmwyqydcxckregthpuhrdwalnehhdrxoszlsubgpimttarlultovoq'" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -489,7 +493,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -498,7 +502,7 @@ "1.0911221874256245" ] }, - "execution_count": 21, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -509,7 +513,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -518,7 +522,7 @@ "1.7308339625731206" ] }, - "execution_count": 22, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -529,7 +533,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -575,7 +579,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -612,7 +616,7 @@ " (28, 1.273139026261631)]" ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -625,7 +629,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -634,7 +638,7 @@ "'etoainhsrdlumwycfgpbvkxjqz'" ] }, - "execution_count": 25, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -646,21 +650,21 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['alsgiepmvxtrdkyhcfwnzqoujb',\n", - " 'gsmplterachfwvyidxzkqjnuob_',\n", - " 'egwstcvmlfqakrhzpdjnxubiyo',\n", - " 'etgmlyswapxfvrqunzcjdoikhb_',\n", - " 'lexpgscwyrkfmantdzvqhjoiub',\n", - " 'egtpmwsalyfchrjxibkvzonduq_']" + "['lasgeipmvtrxkdhycwfnzoqujb',\n", + " 'gsmptlreacfhwvyidkxzqoujnb_',\n", + " 'egwstcvmflaqkrhzpdjnuxbyio',\n", + " 'etgmlywsapxfrvuqzncodjihkb_',\n", + " 'lexpgscwyrmkfatndvzqhjoiub',\n", + " 'egtpmwsalyfcrhixjbkvzonduq_']" ] }, - "execution_count": 26, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -672,89 +676,89 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[{'a': 'e',\n", + "[{'a': 't',\n", " 'b': 'z',\n", " 'c': 'f',\n", - " 'd': 'm',\n", - " 'e': 'n',\n", - " 'f': 'g',\n", + " 'd': 'w',\n", + " 'e': 'i',\n", + " 'f': 'p',\n", " 'g': 'a',\n", - " 'h': 'c',\n", - " 'i': 'i',\n", + " 'h': 'y',\n", + " 'i': 'n',\n", " 'j': 'q',\n", - " 'k': 'w',\n", - " 'l': 't',\n", + " 'k': 'm',\n", + " 'l': 'e',\n", " 'm': 's',\n", " 'n': 'b',\n", - " 'o': 'x',\n", + " 'o': 'k',\n", " 'p': 'h',\n", - " 'q': 'k',\n", - " 'r': 'u',\n", + " 'q': 'x',\n", + " 'r': 'l',\n", " 's': 'o',\n", - " 't': 'l',\n", + " 't': 'd',\n", " 'u': 'j',\n", " 'v': 'r',\n", - " 'w': 'p',\n", - " 'x': 'd',\n", - " 'y': 'y',\n", + " 'w': 'g',\n", + " 'x': 'u',\n", + " 'y': 'c',\n", " 'z': 'v'},\n", " {'a': 'r',\n", " 'b': 'z',\n", " 'c': 'd',\n", " 'd': 'f',\n", - " 'e': 'h',\n", - " 'f': 'u',\n", + " 'e': 's',\n", + " 'f': 'l',\n", " 'g': 'e',\n", - " 'h': 'l',\n", + " 'h': 'u',\n", " 'i': 'c',\n", - " 'j': 'k',\n", - " 'k': 'b',\n", - " 'l': 'i',\n", + " 'j': 'j',\n", + " 'k': 'g',\n", + " 'l': 'n',\n", " 'm': 'o',\n", - " 'n': 'x',\n", - " 'o': 'q',\n", + " 'n': 'q',\n", + " 'o': 'k',\n", " 'p': 'a',\n", " 'q': 'v',\n", - " 'r': 's',\n", + " 'r': 'h',\n", " 's': 't',\n", - " 't': 'n',\n", - " 'u': 'j',\n", + " 't': 'i',\n", + " 'u': 'x',\n", " 'v': 'w',\n", " 'w': 'm',\n", - " 'x': 'g',\n", + " 'x': 'p',\n", " 'y': 'y',\n", - " 'z': 'p'},\n", - " {'a': 'u',\n", + " 'z': 'b'},\n", + " {'a': 'l',\n", " 'b': 'x',\n", " 'c': 'n',\n", " 'd': 'g',\n", " 'e': 'e',\n", - " 'f': 'd',\n", + " 'f': 'r',\n", " 'g': 't',\n", " 'h': 'y',\n", - " 'i': 'j',\n", + " 'i': 'q',\n", " 'j': 'p',\n", " 'k': 'm',\n", - " 'l': 'r',\n", + " 'l': 'd',\n", " 'm': 's',\n", " 'n': 'b',\n", " 'o': 'z',\n", " 'p': 'f',\n", - " 'q': 'l',\n", + " 'q': 'u',\n", " 'r': 'w',\n", " 's': 'a',\n", " 't': 'i',\n", - " 'u': 'k',\n", + " 'u': 'v',\n", " 'v': 'h',\n", " 'w': 'o',\n", - " 'x': 'v',\n", - " 'y': 'q',\n", + " 'x': 'k',\n", + " 'y': 'j',\n", " 'z': 'c'},\n", " {'a': 'r',\n", " 'b': 'z',\n", @@ -763,51 +767,51 @@ " 'e': 'e',\n", " 'f': 'u',\n", " 'g': 'o',\n", - " 'h': 'q',\n", + " 'h': 'j',\n", " 'i': 'x',\n", - " 'j': 'b',\n", - " 'k': 'j',\n", + " 'j': 'k',\n", + " 'k': 'q',\n", " 'l': 'i',\n", " 'm': 'a',\n", - " 'n': 'f',\n", - " 'o': 'k',\n", + " 'n': 'g',\n", + " 'o': 'b',\n", " 'p': 'd',\n", - " 'q': 'y',\n", - " 'r': 'w',\n", - " 's': 'h',\n", + " 'q': 'c',\n", + " 'r': 'm',\n", + " 's': 's',\n", " 't': 't',\n", - " 'u': 'c',\n", - " 'v': 'm',\n", - " 'w': 's',\n", + " 'u': 'y',\n", + " 'v': 'w',\n", + " 'w': 'h',\n", " 'x': 'l',\n", " 'y': 'n',\n", - " 'z': 'g'},\n", + " 'z': 'f'},\n", " {'a': 'w',\n", " 'b': 'z',\n", " 'c': 'h',\n", " 'd': 'f',\n", " 'e': 't',\n", - " 'f': 'u',\n", + " 'f': 'm',\n", " 'g': 'i',\n", " 'h': 'v',\n", " 'i': 'j',\n", " 'j': 'k',\n", - " 'k': 'l',\n", + " 'k': 'u',\n", " 'l': 'e',\n", - " 'm': 'm',\n", - " 'n': 'y',\n", + " 'm': 'l',\n", + " 'n': 'c',\n", " 'o': 'x',\n", " 'p': 'a',\n", " 'q': 'b',\n", " 'r': 'd',\n", " 's': 'n',\n", - " 't': 'c',\n", + " 't': 'y',\n", " 'u': 'q',\n", - " 'v': 'p',\n", + " 'v': 'g',\n", " 'w': 's',\n", " 'x': 'o',\n", " 'y': 'r',\n", - " 'z': 'g'},\n", + " 'z': 'p'},\n", " {'a': 's',\n", " 'b': 'g',\n", " 'c': 'u',\n", @@ -815,9 +819,9 @@ " 'e': 'e',\n", " 'f': 'l',\n", " 'g': 't',\n", - " 'h': 'm',\n", - " 'i': 'f',\n", - " 'j': 'y',\n", + " 'h': 'w',\n", + " 'i': 'y',\n", + " 'j': 'f',\n", " 'k': 'p',\n", " 'l': 'r',\n", " 'm': 'i',\n", @@ -825,7 +829,7 @@ " 'o': 'k',\n", " 'p': 'a',\n", " 'q': 'z',\n", - " 'r': 'w',\n", + " 'r': 'm',\n", " 's': 'h',\n", " 't': 'o',\n", " 'u': 'q',\n", @@ -836,7 +840,7 @@ " 'z': 'v'}]" ] }, - "execution_count": 27, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -848,21 +852,21 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['ezfmngaciqwtsbxhkuoljrpdyv',\n", - " 'rzdfhuelckbioxqavstnjwmgyp',\n", - " 'uxngedtyjpmrsbzflwaikhovqc',\n", - " 'rzpveuoqxbjiafkdywhtcmslng',\n", - " 'wzhftuivjklemyxabdncqpsorg',\n", - " 'sgujeltmfyprixkazwhoqbncdv']" + "['tzfwipaynqmesbkhxlodjrgucv',\n", + " 'rzdfsleucjgnoqkavhtixwmpyb',\n", + " 'lxngertyqpmdsbzfuwaivhokjc',\n", + " 'rzpveuojxkqiagbdcmstywhlnf',\n", + " 'wzhftmivjkuelcxabdnyqgsorp',\n", + " 'sgujeltwyfprixkazmhoqbncdv']" ] }, - "execution_count": 28, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -873,21 +877,21 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['gnhxacfpiuqtdeswjvmlrzkoyb',\n", - " 'pkicgdxelujhwtmzoarsfqvnyb',\n", - " 'snzfepdvtiuqkcwjylmgaxrbho',\n", - " 'mjupenzslkoxvygchawtfdriqb',\n", - " 'pqtrldzcgijkmsxvuywefhaonb',\n", - " 'pvxyeibsmdofhwtkulagczrnjq']" + "['gnytlcwpeuorkisfjvmaxzdqhb',\n", + " 'pzicgdkrtjofwlmxnaeshqvuyb',\n", + " 'snzlepdvtyxakcwjifmgqurbho',\n", + " 'moqpeznwlhjxrygckastfdviub',\n", + " 'pqnrldvcgijmfsxzuywekhaotb',\n", + " 'pvxyejbsmdofrwtkulagczhniq']" ] }, - "execution_count": 29, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -899,58 +903,59 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['x se km ujuevposepeeecehnvjb wool h cox prrs celewpudsogwuagtsgbc de wrt pctv lnspwaxrihkqoaeahzgi',\n", - " 'dxoiaterctunzxtdyohb pejrkoefxgoucnauezuz tune arl fog wsn qubufsokrdeznqdhohnx wise',\n", - " 'twtrlmizewwairlyen aoexwhafgrvehdyawtqb nurs fgtfwosoasajqeitamce wssd etc rota lol',\n", - " 'ovdtiaztquuhmvsakc in bshhsujaetsezygsagiw cgi nfs pids hylrzostrejerfnfiejz yhsmzpbjhszifefkevnq',\n", - " 'pnkuthlosaevirtjeycf eteceyjbsmjcgcdkklhe npcpneohyociporjrhdq of a cd fxvdyinrmwqyeafhucp',\n", - " 'yrnhmreltfevnlradaey bse iqsuhrgolplendxlewob dvd zdovofpephiavtssbrx nrc ztanvmewauifaviyvfhg',\n", - " 'tdytyrklhctodmokjuiy set eimczglmsamrxbqiddks lf to eve dnmeixmbahbhgsdihvmn fw tinh swn in ih item',\n", - " 'qaiewjhtvllbndqtdu mvftlqhuykhqsdaoaeed mimi bmt bkt key au i piet mm nwt xczfmabwroeymnuykmvj',\n", - " 'euitoubxqddtspyiozaj a choi was ydpsvvateckpnmsnlnuw imtvihhifulhnxqqezth tfnxaymtxuuaefhahxgl die',\n", - " 'ynhplsjdetboqhwepskf sfx i ebm std dfbiihhekyfeoxcdpbd uyqnptszqoaapjndtzdm ste san',\n", - " 'igvlnnkshfjoobkiyw or us of dr duy vst ms eg if he jtmtrizwjkrcfxqpbidu qbqrlgxluwttntgsdhah',\n", - " 'ozytcphuwnmldmxfpuni ldouokmzwlshhwryswdp las whnrsrebdsndgnxpahd pig rnplwtssfotgudukdtao',\n", - " 'tfmhjvenqcbthrsnsief kay ago eeiihhjsdpfjawgwsubj nan ltclhvhioilcieceyrcg tv rktedhcawrnskeodfvub',\n", - " 'paoli osu akjqyesalmwriltntavt is qdxsfbumatemxfwgdtn irql to i in xtmqwyekehdvrha mach do ii',\n", - " 'vjtbgtnilnojwsimefmf o_wcuckducjhgdxtrudg re crhrytwtvnrmdksdtgnv uysmenxobaoziygralqr or et bmj',\n", - " 'hcca kaba mtv lune xodfenodizlhehgmdw at crmrkurpqgfbsasnqen cohtzwmnnmfkykqcnzet',\n", - " 'pjklftzjyveftfnvxrxr him jxjilcmndcsnbyaiurfx gcb hwy rissdifvaxyjlsbbmru ltebaldripzopwfhprrf may',\n", - " 'fkvpuguwtwehhteubjge kjfebtsbqppneobuvcbf law eqn tga en or we otstrllwokkysgufinue a',\n", - " 'dxplzewoyhahxtyvtlyq tenu tie hq ngc ulxzdhdnztiwtgieowb mn vtbtaoyhidvbjojbwxng',\n", - " 'mgceyxrtijlyqogcrwyu botany a bmwhpehiocoowmnemlmt by tqojwuogrkxprtpdcco ddadkcdlbpklmfmeotsx will',\n", - " 'pwg a bmvrfilqujntpfeohgkd dna mkexnustttyewndseoj brag txdiujnjctjdoahddpj phil ge wuhn rob',\n", - " 'lwawmeoekfkzgwihed len re eels njde is kopulezho_eelanaunqr se gtmibvhfbzzwdgtdtuqr',\n", - " 'tnvcadpgfuavmhhiobtn kpynvajswynkrwtcaviu it at ugh hditksvmstaonsdnbnhu pay kxyaaeecoezirtsdqtg',\n", - " 'oaxaxdsdhyeyosyigycs why tgkddpeoboadlfovxtix he foeunrndxwwenvnriuj to iii it acfqgzrbesnsyveogbc',\n", - " 'aphsuwpdeunhhtybhupj get vccfmisgvhcrybulgsps tue ecxlqxtyfkoitnnnldwj to tld ajmyttkbrwafnaluvaiw',\n", - " 'nefnnqubbmpdulimnhdt tgxoevwxlsdnfdaothma on st gzkiinkvwybamjqtrkse bomb hgojoltsgyhspejaqb in mar',\n", - " 'wcvrhelhpttrkiralocj my vct tmsrkejaingeshttuyq tale qi a thn we vaasa yiowrtyeddlskoerhmnt xlv cyn',\n", - " 'rdnzhlocysstlxvyctqj my it up gs cvs bac set ee wit ipe jul tneugwgtweinawhxrmwu bit',\n", - " 'cgxtyccmrxrotwvgehyl tero dqgnydstlqirhzpkrpai is _vvbaprgdrutroixmfoe iv to b be i pet',\n", - " 'uaooiairrmrijoocaa on ryugnvfepmnmvhtncy ipduaadscfmdwmjyqooh has qbrkanaemqesdhcsuyv',\n", - " 'cejoamwwivoymwmixeaa tiffs by ver crwywfmrmyaqytbemtpo dew ur fritch as sbseuzrnuolgqgcgrb is',\n", - " 'bpajautnheeghwiogyxf wcer odymavjmwrrianrotigc tex hoe catt dam hsxsnuomhhdompiejelq fe hms ptl it',\n", - " 'far tth of vbn wyntbmeiehkrsojaleyg jinx is di bp pila am soho yriupfdvxhsdozotsoa be nc get lf gb',\n", - " 'lxe so ie pockey heal wwgpdlfmzaohoaoznjef le mw clr gale te ytfplamhpvmuehsfhsye up',\n", - " 'nnildnrfnynkrikitzba ark ml ween vtffplveeyhhjolzqdke oic not ip uodpvpceydiojhscoqpw akas',\n", - " 'dcagyrhcebfdxaliomaz bow onsen fksgxiqkhechsstgrneg ntnthrcwhktyoxhteyce strm me ex yap egg',\n", - " 'w_iqjtutufqotwchomvk i up aizfpcnnnxeyhureguoe arie a hi ehcr uezsefcueidklsnrqwgr',\n", - " 'vvddrhyerodoeieanxnk noah yqrfwdgekaeokokfprx or nrilwkbemleigwmeuxlu esl a lcikuojeowcufvidegxd he',\n", - " 'tufouzrmwhqoetgbauj or c slr on oolmeivsmwdsieeoez were ouabahmealahgszjhfex clos pids i abu i he o',\n", - " 'boom ytzpgtaecpueomthrstu or tlnolcfttfkriidaudtu dkszauluxckellfkerbk on clkovnogxzjtylwlly echt',\n", - " 'luamqmyxbwcqyjpohvpa no low ft qgucluyizrxtnzsoawev gym ulam eqpipozocianeiefcdpp iii tl lot faw am',\n", - " 'ojtvlybpexflvhheobw non nl xsuasuuylfoqrfvenkts ft new pyhojsmwoeuenqndpqyz lhd ga on q tgch mike',\n", - " 'rvfgemuntehslsmhoxmt of tjydhionigetgwvcouc kyfsemeuxrspdhhdonru psy tax wadvfjautatowrwailiq']" + "['k he blu j lev go sep ee eye hnvjbwoouhyoxprrsc elem gl rhogmlaftspgcdemrtpy tv disp wak risk',\n", + " 'qoaeahzpnrxoiateryt liz xtdcohkgejrvoeykpouy nale zmz el near df of wsiklkmysovrdezijd',\n", + " 'hohixmisttwtrlwnzewm and lceiaoexmhaffrvtsr came kbnmrsfgtfmohoasajke it awc ems sue tyro',\n", + " 'eauouovdtiazekluhwvh a by iigs shslxaetstzyfsapnwyp i if spidssylrzohtrejtrfn fit',\n", + " 'xzchswzpkjhszigeyxek nqpijlthlohaevirtqec cfeteyecxbhljypcdkkd seng cgieohfociporjrhdq of a cd',\n", + " 'fxvdyinrwwjceafslyg fri hwr edt fevndradaecgseiqslhr pod buen dkuemobuvrzdovofpeph',\n", + " 'navtssgdxnryztanvwew am if akicvfsgtdfeydbuhy to dlo xxl i cst teil c zpuwsawrxkqiudvhuyeo eve dime',\n", + " 'ixwbahkhgsdisvwifw tinh hwn inn site wqaiewjhtklubidjtdu wvftuqhlybhqsdaoaetd mil ibm',\n", + " 'tkktxeyamignetlwiwt xyz fmakwroeywnucjmvjeln tomb kkrdtsgyiozajacsoim as cd psv kate',\n", + " 'yjpnlsiunuwiwtkihh nfl lhnkkjezthtfnxacmtxm uae fsa hkpudiecihpusjdetbo qswegsxfsgxitgmhtduf',\n", + " 'biihhevcfeoqcdgbulyj npehzjoaabqndtzdmhte san ipvdinbshfxoobknyw or us of drdlykhtwsegifhtxtw',\n", + " 'trnzwqkryfxjgbndljbq rug xuumttntgsdhahozytyg hl wnwudwqfpmnnuromoxmz mush sw rcs md plasm snrs rtg',\n", + " 'rhn dpi xp a hub if rnguwtssfotfmdljr taoefmsjvtijybthrsns it fvacapoeeiihsqhdpfx am pm',\n", + " 'slbqnaiutyuhvsioilyn eye frcgtvrxtedhcawdnsk to rgvubbaouiohlakjqyeh al wwdiutitavtiskrxsybl mate',\n", + " 'wqfmpdeiirqleoiinxem jmc exe hdvr ha may huoiivjeggtnidioqwsn meg lyo_wymcxdlyjhpdxtru up de',\n", + " 'yrhrytwtvidwdksdtfnv lys wen koba oznygralqroretbmqsyc a jaka we vuunekorgenodizuhtsg wdm at',\n", + " 'crlrxldpqgfgsasnqeny oh ezwwnnwfvckqyizetpjj ugtzjykeftfikxrxrsiw jxjnuylnucsnbfanlrfx pcbs',\n", + " 'wfrnshdifvaxcjdhbklr lute bad ddigzobwghprrfwaffj kpmglwtmehhteubjpevq feb tsk qpgieobuvcbguamejntg',\n", + " 'a enorm to thtrduwokkchgufii lead xguzewocsasxtcvtlcqe enutitsjnpcluxzdhuiz time pie omb',\n", + " 'mnvtbeaochiuvbqojbwx npwpcecxrenqlcqopcrw fl got an cab wwhgehiocoowwnewumtb fekoqwuopdbxprtpdyco',\n", + " 'dradkydukgkdmfweoehx mild bwfabwvdgilqlqntpfeo sp kudnalktqnustetyewnu heojbragtxdnlqnjcexr oahu',\n", + " 'dpqghnugewuhidoblmaw we otjfbzgmnhedltideeed hnqdenhvogudezso_teu anal i jr sept mib vhf',\n", + " 'bzzmuptdtuqrtnvcadpf fuavmshiogtnkpcikajs my nbr me cavi unt at mgh sri tks vmhtaoisdnbislpafxqy a a',\n", + " 'etc oezirtsdqtpoaxaxuhrs cecoscigccsmhfepvddp to bo add fovxtnqhefotlnrndkww envir iuj toni',\n", + " 'iitacfjpzrgehnscveop by aps sum bremnhstcbhlbqfetv ccg lisp ksyrcgllpsghtueeyquj xtc fvo it i in',\n", + " 'ldmjtotudaxmcttxgd may iauuvanwnefniklkbwgd lliw is rttgkoevwxdhrnfdaots laois tpzxninkvmybaljqtdb',\n", + " 'sebo mkhgoxoltspyhhgejajk in wad my vrs elh pet dbirauoyjwcvcttwsrve jan igeshetlcqtauejiaesn me',\n", + " 'vaasa ciowdtceuduhkotrh wntkukycnrdnzhlocyhs tdqkcytqxmcitlbghyvs gay see eemitnbeqmleieupmpt we in',\n", + " 'awhxrwmlbitcpqtcycw rxrotmvgehfdterodqpn cds eujirhzbvrganns_vvb apr pdrltroikmfoeivtok ben be tma',\n", + " 'ooi air rm dijo ocaa on rylfnvfepwnwvstnyf nbruaauhcgldmmqcqoos has qbr van atm jesdhcsucvyeqoawmwiv',\n", + " 'of ww mix ea at if ysgyveryrwcwywrmcaq ct belt gore wu rf ditch ash bst lzrnuougjpcprbisbgaq amti',\n", + " 'see ph mn of cxfwcerouymavjwwdri air oti gy tex hot catt dam hh xsi low hhuompiejeujfehmsptl ntf',\n", + " 'artes ogvbiwyntbweiehkrhoq altygqinknsdibgbilaa who so frnlpfdvqhhdozothoa be ny',\n", + " 'peeuffblkesoiegocbef heal wmpbrlfwzaosoaoznqey dem my lrp a letty tg glam hpvwlehhfhsyeugninud',\n", + " 'nrfiynkrnjitzbaadbll meen vtffplvetyhsjodzjdke on c not n blodpvbcecdnoqsscokp makah',\n", + " 'ryagcrhyebfdxauiomaz bom on he nfjsfxiqjheyhshtfrn tpntnthrcmhkeyoxhtty cest rm me ex cape',\n", + " 'pgm_ijjtltlgqoewcso wvjiuganzfpyniixechl ref mota die ah nes yrlezheyyleidkdhnrqm pr',\n", + " 'kvddrsyerouoeieaiqnb no as yjrymdgekatovokygrx or nrnumkbtmueigmmeuxl les la lynvuojtowymyvnrepxu',\n", + " 'set my olzrlmhkoetgbalqory huron oouweivhmmdsneeoezme de oua gas leau asp szxhgexyuohgiuhiabun seo',\n", + " 'boom ytzpptaeypleowthrhtu or eunoucfttgkrnnram del rbszaluuxcxeulfktrbb on yuvovnopxzjtcuwluftc',\n", + " 'htuuamjwcxbwcjcjgohv gaiouowyekguyllyizrx eizhoamekfcwluaweqgn pozo yn an eitf cdg pnni tu lot faw a',\n", + " 'woqtvlcgpexydvhseobw non ndqsuasllylfoqrfvenx tsgt n twp cho jhmmoelenjndgkyzuhup a on',\n", + " 'qepcslixedvfgtmlnteh huh lho qmtoyexydhioiifetpwk you yjygsewelxrsgdhs do irlpsfeaxmadvfqamta to mr',\n", + " 'man uiq']" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -965,7 +970,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "metadata": {}, "outputs": [ { @@ -974,7 +979,7 @@ "'oreomcufedvtmgjelehgvyhdnvwgkshmbcylmiexlrwffwxbkfszeafkzplrvsjuezttmcapoatsjuspemcqflfixmgseatgrtoieyymvjveuauglioxwftwgfebfqlfcepltdwzaaeoajfimmuarebtypctptbrgaasrtyfdloeargllxneepweorpppzyzaefqprlonyflmddtdrsrwmwpuoelepdierwaxgguytlpqgktzcglpqloafchzrsotmekmscaruseeaabhzwpflruzmedmcgymehxyqsrgaldaapydmauoqcadbjjismbtnliqgxyukejatcfsrsehmvsienxcggeteyunwmdhxzpjoteeyvxwtegcjsitcxluavputcpzpdnzchlsldvyqlpceauvjvtvvyetspehwtasppeykmegumfvazttzqesyoherxvxqfbrtzmpclkplsdeamklislhbgmszdgrmfmcpxlnzcedtrjlylokshswpmtqualnaaselmxbxqvwpdabjumxcuwkilmedlyewelohnpvjcbmctshhedrtgwprrygwiettlhjpteadpsxxkvecytrcdqptkupfhocumcsgpeacklmmnwgjjgqghmfmwletmhevgitqcwsjalsghvscyjkdierlggfvoofpeawytgbpupzsxmkpmqrkmqxmeehjjymaehcfamdsxlcsidaxcwooyebgpspyopywgifcggpspsoxqpgeytvckaucetqtjerevaqdmnomakkweyxdnlgspguqdesnzpvvxfhhsklrohxpgziyrgbckweempclzzttcowscuwgqoiyrgycmmppyyryxwehmgdldsaugvelibrkjlhdbhvvicahquvhdikcksgyebmcvmctbyguvsrvcvkydnpcfwihfgftqworkaperanakcjxpakecawlakfwsyftbcpsxztzywwhrtwacmgzfyrjftptldksizatyuqgpamywmadumnpfmeegmpeiwrkcusrzrmfnkspehgukszetggfhleuljvidthlqsepcxgvlywoamfnhcnzsgkmsramjdjyewpfdvllkgessdemmofiwinfkmeednprzylttauflmtlsnlwyrneqgvphlppkmtsxmtlhdlkdtsmttwkaaiwenmis_rufxqcauisfcbtycxxletlpahtagztlvromcgzszrymvlwomnmxqiydapfjawalgnwistxgjsjphlqqfseomfnlwsctbksaedvrrgszamlqflcubckmmwwjgcuxslbrvswdduqjuhtoeekujqnequyxedgctxiynvetvinulqumwximyqjglaadnfinsajvlmwrmcqsindtrnjmlrhgeqptcllvqszrnckvapvpjcjxcfbrvgrlspsefqdfgukdensmjukwtegqczinnkpkgyyebggcgyramgwelthrgjoyrdfdmefemrnwhoeatyessogyqgxnulgcfemaeyyzxrhbbrsxtotgrlxtexrnwcdevlpwqcmxqnkxdnvbyzhfieqolllixnusxzaajrkwtpwypnvaswgvlxxsmrvsedhktqjlowkacsxlookvsjptxscfmrohcqjvotwpvltlrbrgftzrzpvdqlngfjfiyekcgwszoxccmmoancfwglsheawxregivvpdtoyifiyixlufgpsxcjkvsihdeacptlgqfkprvltajpobbklverfatleletrckreirugvctgosx_agqmsprtyawefsklqzpdnbbrxxgpecjagyhxgcjzdcgqkscmskgyjkytxmiakycoyrlisdgcisstfbpefleomqkwepstmpsveeacpjqnhmpeaiwebmvsmpugfmsipnxrfsneymmqgbyimrcjlxuprkamngpytdwdoginvedtafcasyovreszeatfigsltlgggiphzqvkewsayqegzvhpjswckzfefwpegqqsrzizlgziznmmmxxstlykaxzawrgflehnqhogydugggetcxrruswtkygukqegqklrpiepqfhpivcedweoajqhwcaxgheeftebomedantrfydygmgsmpstmtzqqltyjzkynmmdjslowenmkjcbsuwxeafyvwveupyjgwdplrtzveexcklsloglghwuihyqztehmaueipitdewslsaqugghehgplecrlzgpmmnmsvltnexcqwjtaavvsgohxunwvccbcfsihwwgtnxqtgjukqggrzdwtzmksuwelgerggizekffltefzrfsregwgvviyhkfnlexfngqtxdabaxgkqdecjtseaxyjxcqralhylysbzuavpilm_hznpjazyvfgaxmowpglmzswjqeizetfpsmtmglvwllitsismxwvyazszcgjvshzegytjizffppxrznmykwiqutsevmwunaumspawyewypimfnzhgigphkvtdxjdvkloegpgldimkhdllharqaidakqpuysnemgwmfeacvdllexppmwqaafoascshdhzxfanlwvwpimfgeeeezsklwznncvzeytxykmhddvlagpeawtgbhseictaisteygwvwoaefwvcsxmkcgeugqhdepwmcefispmyglewnhvevhyevdgtecovrwkpfaydkgwolmpgvwztxppdrwsxjvlacdyznvwrtbmgwxpngcuzelhpzqfogmggewmzoljpgsxarfzfxdhbpwsxpsbcklitgkrtfvxsxlgaygnvfgwvchhrgvwdsmyefvwelqpslcthyjlijttbvgplomfkgeyhgcdjxheayvsittbypjeslzyxgizagrkzzzenyimiswxsojrpogrfupbyavulvccbmkmswsbqtkmcwlwcjmzomjjvetsmrgzywaxctsgpazrcolywicgayzewgvwkelnypjezbk_thigrsanutlvzsxhzjtfvpibpctwetbensraezftaplllpplestlrgowlihfelrotrcaurfaxdryveheytxmellpencostgehhyikcdejpamugjiwabgywvlqrjvawqegbkwefofrgmxpfhlufxdamrufizlfeznxeetfisfoamrpoweebnpakxlhrqaxwsmqvlmzrkrraigeglqkglexcgkssmeghsszabuvnlnhhwwvmxrtmqcieegqtswhtbkfssetkrgwvesvrgfxllhcgkxcsgnjlilfmfylffowqgfqfoxqgqxdoaanoxwhhughwsxbbigyhrxkjaivtkcgwyvnnnvzhndwmvdvpemqgailodftfrytbynltowxpkgxznhrhsvluwljgbthlsylmadzpvkilttkfsspmapdmithfykjeoitqvsltnvcgswtnmfparfhxdtjapdlwqsmnewavjqcturkrxergchsywohbksxxsgsulxzsmmqglddbawayeeprqwmssnktxiluhpcmsttzlgfvxuxchjhnwedgaiyawcvsrteaacwjlpbrpyzdimfggswryrglqlu+'" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -986,7 +991,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -995,7 +1000,7 @@ "3588" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1006,7 +1011,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -1015,7 +1020,7 @@ "6.0" ] }, - "execution_count": 33, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1026,7 +1031,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -1035,7 +1040,7 @@ "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'" ] }, - "execution_count": 34, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1047,7 +1052,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -1056,7 +1061,7 @@ "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'" ] }, - "execution_count": 46, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1065,6 +1070,46 @@ "scytale_decipher(scb, 598)" ] }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "scytale_encipher(scb, 6)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'withhindsightanopportunityforpeacewasthrownawaycalgacusmayhavebeenatraitorbuthewasbornaromanandhadforgedthelocaltribesintoanorganisedanddisciplinedforceitmayhavebeenpossibletotreatwithhimbringingcaledoniawithintheempireinexchangeforthegovernorshipofcaledoniabutsalustiuswasagreedyandambitiousmanforwhomvictorywaseverythinghehadnowishtosharecaledoniaorglorywithcalgacusandthusconceivedaplantorepaythetreacheryofthecaledoniiinfullhemadeagreatfanfareofpushinghisforcesintonortherncaledoniatotheremotefortofinchtuthilsalustiusinsecrethadconceivedaslyandaudaciousplancatowasinstructedtoproceedwithanexpeditionaryforcefromeboracumtothefrontierfortatinchtuthilwherehewouldrelievetheiilegionadiutrixpiafideliswhowererequiredindaciahequicklyestablishedthelegioninastateofbattlereadinessandwasjoinedtherebysalustiuswhotookcommandoftheixlegionhumiliatingthefaithfulcatoinfrontofhisownmensalustiuswasnostrategistbutintacticsandcunningheknewnoparallelfromthelegionsextensivescoutingnetworkhehadlearnedthatcalgacushadestablishedhisheadquartersinthemountainswestofstracathrothemarchingcampleavingcatoinchargeofasmallholdingforceoftwocohortsatinchtuthilsalustiusostentatiouslyledtherestoftheixlegiontostracathrohesetupcampandlaidwastetothevillagesaroundhiminanactofgrossprovocationandcrueltyheemulatedhisherocrassusknowingthatthemanycaledoniiwhosufferedagruesomeendonhiscaledonianwaywerenotinvolvedwithcalgacusandhisrevolttheywerejustfodderinhisattempttoprovokeaconfrontationasheknewtheymustthecaledonianarmiesmusteredforafinalshowdownwiththelegionandmarchedonstracathrosalustiussethisforceswithpicketfencesandtrapsbutagainstthescaleofthecaledonianforcetherewaslittlehopeofsuccessnonethelesswiththeirprideatstakeandacceptingtheirfatethelegionnairesoftheixthwatchedandwaitedtojoinbattleundercoverofdarknessandbeforeanyskirmishcouldbeconductedsalustiussecretlysetoutwithasmallforceofhandpickedsoldierswhohadtravelledwithhimfromromewithadeviousplantostealthecodexfromrightundercalgacusnosesalustiuswasaveryunpleasantmanbuthewaswidelyreadandknewofthehebrewtaleofgideonhesethisguardatkeypointsaroundtheperimeterofthecaledoniancampandinthedepthsofnightwhenallmenareattheirlowestebbtheyroseasonebreakingcoverandmakingnoiselikeamuchlargerarmyintheconfusionsalustiusslieutenantstoleintothecampandmadeawaywiththecodexreturningittosalustiuswhoremainedthroughoutatasafedistanceperhapssalustiuscarednothingforthefateoftheixthlegionperhapsitsdestructionwaspartofdomitiansplannedrevengeorperhapsitwasjustadiversionarytactictohavethemcampedatstracathrobuttheoutcomewasthesamerousedbythesurpriseinvasionoftheircampthecaledonianwarriorslaunchedamassiveassaultonstracathrowhateverhismotivationinanactofthegreatesttreacherysalustiusabandonedtheixthlegiontooblivionandsetoutsouthforthefortifiedportatcarridenwhereheintendedtoescapebyseafrombritanniawiththecodexhesentadespatchtocatoorderinghimtoretreatwithallablementocarridenrazeinchtuthiltothegroundandleavenoneoftheweakorwoundedaliveinordertoprovidenothingofvaluetotheenemysalustiusandhisguardmusthavethoughttheywouldbesafebutoncemoreaproudsonofromehadgrosslyunderestimatedcalgacusrealisingquicklythatthecodexwaslosthesetouttorecoveritmarchinghismendoubletimeinpursuitofthefleeingsalustiusandsoatcarridensalustiusregroupedwithhistrustyguardandtheremainingcohortsfrominchtuthilledbythesteadfastmarcusfideliuscatoitwasnotlongbeforethepursuingcaledonianforcearrivedbeforethegatesofcarridenandlaidsiegewiththeirbackstowatertheromanforcewastrappedtheirsafetylayinarefugefarovertheseaanditisfittingthattheendingofmystorywilllieburiedsafelyintheirrefugeatnoviomagusbatavorum____+'" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "vigenere_decipher(scytale_encipher(scb, 6), 'scytale')" + ] + }, { "cell_type": "code", "execution_count": 37, @@ -1157,7 +1202,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -1214,89 +1259,27 @@ } ], "source": [ - "print(lcat(tpack(segment(vigenere_decipher(scbz, 'scytale')))))" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "with hindsight an opportunity for peace was thrown away cal gac us may have been a traitor but he\n", - "was born a roman and had forged the local tribes into an organised and disciplined force it may have\n", - "been possible to treat with him bringing caledonia within the empire in exchange for the\n", - "governorship of caledonia but salus ti us was a greedy and ambitious man for whom victory was\n", - "everything he had no wish to share caledonia or glory with cal gac us and thus conceived a plan to\n", - "repay the treachery of the caledon ii in full he made a great fanfare of pushing his forces into\n", - "northern caledonia to the remote for to finch tuth ilsa lust i us in secret had conceived a sly and\n", - "audacious plan ca to was instructed to proceed with an expeditionary force from e bora cum to the\n", - "frontier fort at inch tuth il where he would relieve the ii legion a diu trix pia fidelis who were\n", - "required in dacia he quickly established the legion in a state of battle readiness and was joined\n", - "thereby salus ti us who took command of the ix legion humiliating the faithful ca to in front of his\n", - "own mensa lust i us was no strategist but in tactics and cunning he knew no parallel from the\n", - "legions extensive scouting network he had learned that cal gac us had established his headquarters\n", - "in the mountains west of s trac athro the marching camp leaving ca to in charge of a smallholding\n", - "force of two cohorts at inch tuth ilsa lust i us ostentatiously led the rest of the ix legion to s\n", - "trac athro he setup camp and laid waste to the villages around him in an act of gross provocation\n", - "and cruelty he emulated his hero crassus knowing that the many caledon ii who suffered a gruesome\n", - "end on his caledonian way were not involved with cal gac us and his revolt they were just fodder in\n", - "his attempt to provoke a confrontation a she knew they must the caledonian armies mustered for a\n", - "final showdown with the legion and marched on stra cath rosa lust i us set his forces with picket\n", - "fences and traps but against the scale of the caledonian force there was little hope of success\n", - "nonetheless with their pride at stake and accepting their fate the legionnaires of the ixth watched\n", - "and waited to join battle undercover of darkness and before any skirmish could be conducted salus ti\n", - "us secretly set out with a small force of handpicked soldiers who had travelled with him from rome\n", - "with a devious plan to steal the codex from right under cal gac us noses a lust i us was a very\n", - "unpleasant man but he was widely read and knew of the hebrew tale of gideon he set his guard at key\n", - "points around the perimeter of the caledonian camp and in the depths of night when all men are at\n", - "their lowest ebb they rose as one breaking cover and making noise like a much larger army in the\n", - "confusions a lust i uss lieutenant stole into the camp and made away with the codex returning it to\n", - "salus ti us who remained throughout at a safe distance perhaps salus tiu scared nothing for the fate\n", - "of the ixth legion perhaps its destruction was part of domitian s planned revenge or perhaps it was\n", - "just a diversionary tactic to have them camped at s trac athro but the outcome was the same roused\n", - "by the surprise invasion of their camp the caledonian warriors launched a massive assault ons trac\n", - "athro whatever his motivation in an act of the greatest treachery salus ti us abandoned the ixth\n", - "legion to oblivion and set out south for the fortified port at car riden where he intended to escape\n", - "by sea from britannia with the codex he sent a despatch to ca to ordering him to retreat with all\n", - "able men to car riden raze inch tuth il to the ground and leave none of the weak or wounded alive in\n", - "order to provide nothing of value to the enemy salus ti us and his guard must have thought they\n", - "would be safe but once more a proud son of rome had grossly underestimated cal gac us realising\n", - "quickly that the codex was los the set out to recover it marching his men double time in pursuit of\n", - "the fleeing salus ti us and so at car ride nsa lust i us regrouped with his trusty guard and the\n", - "remaining cohorts from inch tuthill ed by the steadfast marcus fidel i usca to it was not long\n", - "before the pursuing caledonian force arrived before the gates of car riden and laid siege with their\n", - "backs to water the roman force was trapped their safety lay in a refuge far over these a and it is\n", - "fitting that the ending of my story will lie buried safely in their refuge at novio magus bat av\n", - "orum\n" - ] - } - ], - "source": [ - "print(lcat(tpack(segment(vigenere_decipher(sanitise(scbz), 'scytale')))))" + "print(prettify(vigenere_decipher(scytale_encipher(scb, 6), 'scytale')))" ] }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "4423" + "4426" ] }, - "execution_count": 42, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "open('7b.plaintext', 'w').write(lcat(tpack(segment(vigenere_decipher(sanitise(scbz), 'scytale')))))" + "open('7b.plaintext', 'w').write(prettify(vigenere_decipher(scytale_encipher(scb, 6), 'scytale')))" ] }, { @@ -1323,7 +1306,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2017-challenge8.ipynb b/2017/2017-challenge8.ipynb index 28f94ab..81f6caf 100644 --- a/2017/2017-challenge8.ipynb +++ b/2017/2017-challenge8.ipynb @@ -16,8 +16,15 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "from cipherbreak import *\n", - "from text_prettify import *\n", + "from cipher.caesar import *\n", + "from cipher.vigenere import *\n", + "from cipher.column_transposition import *\n", + "from cipher.railfence import *\n", + "from cipher.autokey import *\n", + "from cipher.hill import *\n", + "from support.utilities import *\n", + "from support.text_prettify import *\n", + "from support.plot_frequency_histogram import *\n", "\n", "ca = open('8a.ciphertext').read()\n", "cb = open('8b.ciphertext').read()" @@ -25,7 +32,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -42,7 +49,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -51,22 +58,22 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEmRJREFUeJzt3XmQZWV9xvHvI2AUUBFoCYvYGCkTomXQkUCIKQOaQtFA\nKmhcQQtrYsTgEoyDxoKytGqIVoypSogoxDESRXEBxY0aUHBDZ1hkAJUJi0CxjAsqUArIL3/cM6YZ\nBvrcpaf77f5+qrr6nNPve9/f7T73Pvc999zTqSokSWrNw+a7AEmSRmGASZKaZIBJkppkgEmSmmSA\nSZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmrT1fBcAsPPOO9f09PR8lyFJWgDWrl3746qamq3d\nggiw6elp1qxZM99lSJIWgCTX92nnIURJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMWxKWkJEkL0/SKc3q3vW7loXNYyQPNOgNLclqS25Ksm7FtxyTnJrm6+/7Y\nbnuS/FuS9Um+l+Tpc1m8JGnp6nMI8cPAIZtsWwGsrqq9gdXdOsDzgL27r+XAyZMpU5Kk+5s1wKrq\nAuCnm2w+DFjVLa8CDp+x/SM18G1ghyS7TqpYSZI2GvUkjl2q6uZu+RZgl255d+CGGe1u7LZJkjRR\nY5+FWFUF1LD9kixPsibJmg0bNoxbhiRpiRk1wG7deGiw+35bt/0m4PEz2u3RbXuAqjqlqpZV1bKp\nqVn/8aYkSfczaoCdDRzVLR8FnDVj+5Hd2Yj7Az+fcahRkqSJmfVzYEk+Bjwb2DnJjcAJwErgE0mO\nBq4HXtw1/wLwfGA9cBfw6jmoWZKk2QOsql76ID86eDNtCzhm3KIkSZqNV+KQpCViIV9VYxReC1GS\n1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQk\nA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANM\nktQkA0yS1CQDTJLUJANMktQkA0yS1KSt57sASdJwplec07vtdSsPncNK5pczMElSk5yBSdI8cSY1\nHmdgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmjRVgSd6U5Iok65J8LMkjkuyV5KIk\n65OckeThkypWkqSNRg6wJLsDxwLLquopwFbAS4CTgPdV1ZOAnwFHT6JQSZJmGvcQ4tbAI5NsDWwL\n3AwcBJzZ/XwVcPiYY0iS9AAjB1hV3QS8F/gRg+D6ObAWuL2q7u2a3QjsPm6RkiRtapxDiI8FDgP2\nAnYDtgMOGaL/8iRrkqzZsGHDqGVIkpaocQ4hPge4tqo2VNU9wKeBA4EdukOKAHsAN22uc1WdUlXL\nqmrZ1NTUGGVIkpaicQLsR8D+SbZNEuBg4ErgfOCIrs1RwFnjlShJ0gON8x7YRQxO1rgYuLy7rVOA\ntwJvTrIe2Ak4dQJ1SpJ0P2P9P7CqOgE4YZPN1wD7jXO7kiTNxitxSJKaZIBJkppkgEmSmmSASZKa\nZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmjTW\n/wOTpIVqesU5vdtet/LQsfqNOpbG4wxMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJE+jl7Sg\neYq6HowzMElSk5yBSRralvyQsPRgnIFJkppkgEmSmuQhRGkJ85CeWuYMTJLUJANMktQkA0yS1CTf\nA5MWCd/P0lLjDEyS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUpLECLMkOSc5M\n8v0kVyU5IMmOSc5NcnX3/bGTKlaSpI3GvRLH+4EvVdURSR4ObAu8DVhdVSuTrABWAG8dcxxpyfCK\nGlI/I8/AkjwG+DPgVICquruqbgcOA1Z1zVYBh49bpCRJmxrnEOJewAbgv5JckuRDSbYDdqmqm7s2\ntwC7jFukJEmbGifAtgaeDpxcVfsCdzI4XPhbVVVAba5zkuVJ1iRZs2HDhjHKkCQtReME2I3AjVV1\nUbd+JoNAuzXJrgDd99s217mqTqmqZVW1bGpqaowyJElL0cgBVlW3ADckeXK36WDgSuBs4Khu21HA\nWWNVKEnSZox7FuLfA6d3ZyBeA7yaQSh+IsnRwPXAi8ccQ5KkBxgrwKrqUmDZZn508Di3K0nSbLwS\nhySpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSeN+kFnSg/DfokhzyxmYJKlJzsCkWTiT\nkhYmZ2CSpCYZYJKkJhlgkqQmGWCSpCZ5EoeWFE/IkBYPZ2CSpCY5A1OTnElJcgYmSWqSASZJapKH\nEDWvPBQoaVTOwCRJTXIGpolxNiVpS3IGJklqkgEmSWqShxAXsVEP6XkoUFILnIFJkppkgEmSmmSA\nSZKa5HtgjfB9KUm6P2dgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKk\nJhlgkqQmjR1gSbZKckmSz3freyW5KMn6JGckefj4ZUqSdH+TmIG9AbhqxvpJwPuq6knAz4CjJzCG\nJEn3M9bFfJPsARwKvBt4c5IABwEv65qsAk4ETh5nnMXEi/JK0mSMOwP7V+Afgfu69Z2A26vq3m79\nRmD3MceQJOkBRp6BJXkBcFtVrU3y7BH6LweWA+y5556jljFvnElJ0vwaZwZ2IPCXSa4DPs7g0OH7\ngR2SbAzGPYCbNte5qk6pqmVVtWxqamqMMiRJS9HIAVZVx1fVHlU1DbwEOK+qXg6cDxzRNTsKOGvs\nKiVJ2sRcfA7srQxO6FjP4D2xU+dgDEnSEjfWWYgbVdVXga92y9cA+03idiVJejBeiUOS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KSt57uA+Ta94pzeba9beegcViJJGoYzMElSkwww\nSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElS\nkwwwSVKTDDBJUpMMMElSkxbVP7T0n1NK0tLhDEyS1CQDTJLUpJEDLMnjk5yf5MokVyR5Q7d9xyTn\nJrm6+/7YyZUrSdLAODOwe4F/qKp9gP2BY5LsA6wAVlfV3sDqbl2SpIkaOcCq6uaqurhb/iVwFbA7\ncBiwqmu2Cjh83CIlSdrURN4DSzIN7AtcBOxSVTd3P7oF2GUSY0iSNNPYAZZke+BTwBur6hczf1ZV\nBdSD9FueZE2SNRs2bBi3DEnSEjNWgCXZhkF4nV5Vn+4235pk1+7nuwK3ba5vVZ1SVcuqatnU1NQ4\nZUiSlqBxzkIMcCpwVVX9y4wfnQ0c1S0fBZw1enmSJG3eOFfiOBB4JXB5kku7bW8DVgKfSHI0cD3w\n4vFKlCTpgUYOsKr6OpAH+fHBo96uJEl9eCUOSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwww\nSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElS\nkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT5iTA\nkhyS5AdJ1idZMRdjSJKWtokHWJKtgH8HngfsA7w0yT6THkeStLTNxQxsP2B9VV1TVXcDHwcOm4Nx\nJElL2FwE2O7ADTPWb+y2SZI0Mamqyd5gcgRwSFW9plt/JfDHVfX6TdotB5Z3q08GfjDRQv7fzsCP\nF3g/a5zfftY4mX4t1DhqP2ucXL8+nlBVU7O2qqqJfgEHAF+esX48cPykxxminjULvZ81et8W0liL\nucbFfN9aqHHSX3NxCPG7wN5J9krycOAlwNlzMI4kaQnbetI3WFX3Jnk98GVgK+C0qrpi0uNIkpa2\niQcYQFV9AfjCXNz2CE5poJ81zm8/a5xMvxZqHLWfNU6u38RM/CQOSZK2BC8lJUlq0pIJsCQnJjmu\nR7vpJOu2RE0tSXJskquSnN6z/Q5JXjfGeN8coc8do463JWzJfcv9uF2j7PtL1ZIJMI3tdcBzq+rl\nPdvv0PUZSVX9yah9pZbN176fgaYyoalih5Xk7Ul+mOTrDD4s3ddWST6Y5IokX0nyyB5jvTnJuu7r\njUPUeGSS7yW5LMl/92j/zpm3n+TdSd7Qc6ztkpzTjbUuyd/07PefwBOBLyZ5U58+wErg95JcmuQ9\nPfvMHHNOZ1NJ3pLk2G75fUnO65YPmm2W2c1uvp/k9G5WemaSbYcc/4lJLknyzFnavbb7HV6a5Nok\n5w8xzNZ9a5xxnz7cPWZOT/KcJN9IcnWS/Wap87NJ1naPmeUP1bZrvzLJMTPWex0h6dq+Isl3ut/J\nB7rrr87W534z0iTHJTmxZ7+rRng++O1zT5KP9b1vXd+h9v0kz+yeQx7RPcavSPKUnn2nM7jw+keA\ndcDje/R5R9dn6Ps2cfP9QbS5+gKeAVwObAs8GlgPHNej3zRwL/BH3fongFf0HGs7YHvgCmDfHmP9\nIfBDYOdufcee9V3cLT8M+F9gp56/k78GPjhj/TFD/D6v21hnz/bTwLox/n53zGUfYH/gk93yhcB3\ngG2AE4C/7XHfCjiwWz9tiH1rHYMXU5cATxui3m26Ol84xO+/d40z9vundvvV2q5PGFzL9LOzjLdj\n9/2R3X18yH0S2Bf42oz1K4HH97hffwB8DtimW/8P4Mhh90fgOODEnv1GfT4Y6rlnzH3/XcB7GVxI\nvfeFI7r7dx+wf8/2zwQuBR4BPAq4epj7NumvxTwDexbwmaq6q6p+wXAfpr62qi7tltcy+CM/lD/t\nxrqzqu4APt2NP5uDGDyJ/higqn46W4equg74SZJ9gb8ALqmqn/QYCwYPqucmOSnJs6rq5z37LUZr\ngWckeTTwa+BbwDIGf7cLe/S/oaq+0S1/lME+0McUcBbw8qq6bIh63w+cV1WfG6LPsDVeW1WXV9V9\nDF6Era7Bs9blzP4YODbJZcC3GbyK3/uhGlfVJcDjkuyW5GnAz6rqhofq0zmYQUB8N8ml3foTe/Qb\nx7DPB+M894zqncBzGezD/zxk3+ur6ts92x4InFVVv6qqXzJ4MTFv5uRzYIvAr2cs/4bBq8qF5EPA\nq4DfZfAquZeq+mGSpwPPB96VZHVVvXNuSlzYquqeJNcy+D1+E/ge8OfAk4Cr+tzELOsP5ufAjxiE\nyZV9OiR5FfAE4PWzNN3UsDXO3O/vm7F+Hw/xXJHk2cBzgAOq6q4kX2XwCn02nwSOYLAfn9GjPQxm\nhKuq6vie7Te6l/u/ZdKnvo0W+vMBwE4Mjv5sw+C+3TlE32HaLiiLeQZ2AXB4kkcmeRTwwjkc68Ju\nrG2TbAf8Ff1exZ8HvCjJTgBJduw53meAQxhM57/ct8gkuwF3VdVHgfcAT+/bdwS/ZHCIYSG7kMGh\npAu65dcymNH2CaM9kxzQLb8M+HrPMe9msH8cmeRlszVO8oyuxld0M6NhjFrjsB7DYAZ1V5LfZ3B4\nto8zGFxq7ggGYdbHauCIJI+DwWMmyRN69LuVwYxvpyS/A7yg53ij2JLPPRt9AHgHcDpw0hyO8w3g\nhd37bdszt7/HWS3aGVhVXZzkDOAy4DYG12icy7E+zOB9FIAPdYdIZut3RZJ3A19L8hsG74u8qke/\nu7s382+vqt8MUepTgfckuQ+4B/i7IfoOpap+0p0AsA74YlW9ZdibmIu6NnEh8HbgW1V1Z5Jf0e+F\nBwz+e8IxSU5jMJM6ue+g3VgvAM5NckdVPdQhptcDOwLnJ4HBBVRfM9c1DulLwGuTXNWN2etwVLf/\nPwq4qapu7tnnyiT/BHwlgzPm7gGOAa6fpd89Sd7J4DF6E/D9PuONYks+98DgRDDgnqr6n+6Elm8m\nOaiqzpv0WFX13SRnMzhicSuDw8vz9laEV+JoUPfAvRh4UVVdPd/1TFo3I724qvq8st7ikkwDn6+q\nXmd6aWnrzna8o6reO9+1TEKS7avqju6s1guA5VV18XzUspgPIS5KSfZhcFbT6kUaXrsxOKFiUTzY\npUXolO4EmouBT81XeIEzMElSo5yBSZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmvR/JL7xb/IT\n4L8AAAAASUVORK5CYII=\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -80,22 +87,22 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\nJI3Ns/k7w19hsJhmksHre+9v9fcDJ7b6LwGbAKrqLuBq4G7gI8DFVfXV9prg24AdDFarXt3azjaG\nJEljM693oKmqvwL+qm3fyzdWgw63+SLwhhn6v5vBitSp9euA66apTzuGJEnj5DvQSJK6ZxhKkrpn\nGEqSuud/rZB0yPGdZDRunhlKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcY\nSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkro3Zxgm\neW6STyb5VJK7kvz3Vn9xkk8kmUzywSRHtfq3tv3Jdnzl0H29o9U/k+TcofraVptMsmmoPu0YkiSN\n0yhnhl8CXlNVLwdeAaxNsgZ4D/Deqvou4FHgwtb+QuDRVn9va0eS04A3Ad8DrAXel+SIJEcAvw2c\nB5wGvLm1ZZYxJEkamznDsAaeaLvPabcCXgN8qNW3ARe07XVtn3b87CRp9auq6ktV9VlgEjiz3Sar\n6t6q+jJwFbCu9ZlpDEmSxmak1wzbGdxtwMPATuAfgc9X1VOtyV7g5LZ9MvAAQDv+GHDicH1Kn5nq\nJ84yhiRJYzNSGFbVV6vqFcAKBmdy372os5qnJBuT7E6ye//+/Us9HUnSIWZeq0mr6vPAR4FXAccl\nObIdWgHsa9v7gFMA2vHnA48M16f0man+yCxjTJ3X5VW1uqpWT0xMzOchSZI00mrSiSTHte2jgdcC\n9zAIxde3ZhuAa9r29rZPO35DVVWrv6mtNn0xsAr4JHATsKqtHD2KwSKb7a3PTGNIkjQ2R87dhBcC\n29qqz28Brq6qv0hyN3BVkl8HbgXe39q/H/j9JJPAAQbhRlXdleRq4G7gKeDiqvoqQJK3ATuAI4Ct\nVXVXu69fmWEMSZLGZs4wrKrbgVdOU7+XweuHU+tfBN4ww329G3j3NPXrgOtGHUOSpHHyHWgkSd0z\nDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndG+XvDCVp0azcdO3Ibe/bfP4izkQ988xQktQ9zwwljYVn\neDqUeWYoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ\n6p5hKEnqnmEoSeqeYShJ6p5hKEnq3pxhmOSUJB9NcneSu5L8QqufkGRnkj3t4/GtniSXJZlMcnuS\n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\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -108,7 +115,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -145,7 +152,7 @@ " (24, 1.9752998737373737)]" ] }, - "execution_count": 51, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -158,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 7, "metadata": {}, "outputs": [ { @@ -167,7 +174,7 @@ "'ymsfahtispqmfdzztmoudqmumxqqsxaduwagzpztizpgqgwdogimeuzqquqkmuyefpqfdfqfezefuddfxkqexxsqeyemzfeeqzdqqstzmxindzmzoqffqfqaggmqugfxddqzdefmakowftqfiibqfkfpzguamarammqqqpymbdkifewhmxfeuwnpezdfifqztsqkejpxhyjrtnwuwrdnnbdcfaktocjqarrwkaacxnujbwbwxexcxnxccxcjakuuuqlrnpnnrcwqawxrropnrxcqrrqwkbmnmnjdnunjpawpxanmrknnddqbbujabxxhcnxtnnlbxbnxlonjbhblndqbvcafnjxfyqfjkcqqaqwnnuxvdxjjrqxwhmxmnjrxncrcrcnucbgibbxpcztixmgwwmbwiuilzanvbwtezqjwvgucpbwqivtgwbpgizuqmwwatvbtmlvbdlfmbmwkpvwmpzkqblebqtmvjqdpamtplikqqqbzvtmuzwwbcitpitgkuajgvammikaazvctoqiqctwbmzqzwttgmvbgpankbwbgpzmntwblnozkczabtmvgvzakxnpumiieexvbrbbvrgrglgonljnuvbfbvrgrlbyrjegzbpnfravbsapgcubgrzggvbbfnuevcnvrzrqvetbeogbrgebrvuyynyzrgvfbjrfrgugnynuuhralspubgryrlarqsvleffqrvhvbharfqqolvunynajygyrbegfbyrgrfgougylgvrabrgrgghebgbbnnnygwiuvnrearjljienorruqutrrrnjhltiqqrsuuehnbjqunengibfrrrgchygrleplevgnfluyrhiegrazclxguarfjjpvvgyaeggepouffugnrylfgpuarbaeprjvfpreyvuznqyeyjbjlsvuqabnujgynuxbvhorarvhenpagftueenxazurgurivfbtqvggygunvvngqlsylilsmyiwjvkpxrfxvwpxtmmiilcwxyxlgmpxiiprraipjiiqjmmppsieivjlyvieqgmsglmrxergxizpohxagjmsigesiixivkmpwmvmxsxeocisivioyrliyxxvgresxvcsritxpevighxewxmrosmfhkaxireeeerxyelrecxigxvstiaerprowjgiarlitzczzvzzxyxggaaajoryuogouxkzhzxozukzkkaexnvkouurgqiounjhkzncnkukzicbuumtkxxogsokljugitgkxocknknznctsaolygcgzgjktgjqznaiyjkzzugouzukiukktuxkgazvxokgkggkqynykrxqozorrijooukzgchthkriikhzkugxxyurxtzasmisvismiteklwwssrlpcjwrggsglpaexecvhvkslsxvqvrhswirxwaeeogxxttxlmrcewhsmrssxiilpsmgpyeaaiawkxtxgxosxspsriivmxpgejsegxwrvpkhraljjiggitlwvieilsmsilihpalkhvxwzyssgtjttmmoaclmlmiiwpmiwiimapqysyveiijsy'" ] }, - "execution_count": 52, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -179,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -188,7 +195,7 @@ "'ynzxlmliznrmjuegvqrqxytagxwciquekeqgejarrbxfqkqvnrwiqetbepbtqmjqnrsisfrktdeidzquicgimwyinupeiqewmlucugisdyixptciiefzbnmbiraucrfgawpgeocgcliqrgwfrlvifbsuyagiloeirfxtxkfhzchrlpqbuafiiixmvgaptzensjkcypkienjmxrvzexrnnumtbfgbbrfxaxyhxrxceevfvgnbepgqdrajjlpasugocjspvfgzcfnxfosgkftmsuleriwrlwrpfnzxryqvfaonhrhuqxgaxxombxzguquwzmmevynhwbkqhkntacujfvoabkzeydzuwjpicpokzabwmhtrknuaviguztpjwtxeaukcheqimjojyrvqgsuilbavxvpruwgrvrbbbuuyhqmavquqrjcmqulbjhmrlqbnqpstszuuzkjabxzytjepilmzrgxvvtyzhvkjiaqoayurjnkmmqgyovcgpwzzmknvcodgrojgstpgbyxvjwpmfyyxlvnpimpjavrgrgggvtqemamruxeqszpqqkafigedtbaaeabykgkxrjswsenjnhlvcptgtbrptskbbgbrmmwghnvglrbpeygxsxtrlunhwvikiuyxzouewgxlxfnymaxqvxnpemlfifekgizroyznthlwgyykjomzzxigkmykomibbowlrvmmaydgjgwpznchvwwosmfkxgiutalxzcnokjiakyxsiniueomrivrisbxuravlwrgcnlsalenzbrlattzvxnlhqffnvubesjvqrkxyigqseygcuzbwmxrzryvaxmgyxjegpmnrgqaytviqtcrelbefpvnuawtifbcrwtxtmmuzhamkimpbxmfrihenrxwpsqmufrjgesiifzznqyljyqanramjpavuyqnxvsdqafzvebpkbkkysgcqqrvuzkmytehcuivvrzuubrixxmgbongaqkwngkxlxdxgqxjungveurgxasngiqvcoexgerrrxagxwizszjuekwrmennvmpxzmgkqcxuxqgtrwqqbxfhglvinmiqfgjplcahyrzeeipsfqqrnoltidgjtbsoiwsbnpgpvvaaxgritmgmvvkriltruoknusaitfrolltzxffhcrqvteeronhwpgignsdujtxmgghxviaxxooqvrpgvdvknngzajxsknggaimbtgrbtpezlxcgiweaygndzingsdlurxxwvibkndrrmreaudepuwlwuonajwixwlzcglmedlzxvrawjfftnutkrvaaureemgmrzawfxzsoeoqujwziebzdnlkxqzbunggwgiyrunshlgqlzqnmmwcdekuribrfigxxnptodvownueblxbgljjclkdpkxpjmhqgaakrlkiqfkqrssqpfrnqqibvkzyrpuxbrbricnusvxzsubpiimwovlnbgmeeuoonfspcqurhgqxpykjjbgtzipugzcosixqrsaarmqiffgaiysjjpgcbyhwsetrgnaoceqgibbuwbidpkvawibxgcjjagzeuv'" ] }, - "execution_count": 53, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -200,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -209,7 +216,7 @@ "('mnitenfdnztveninkc', -2409.5848518429234)" ] }, - "execution_count": 54, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -221,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -257,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -266,7 +273,7 @@ "('mjinnege', -1982.5942545193702)" ] }, - "execution_count": 56, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -278,7 +285,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -312,7 +319,7 @@ "pa = vigenere_decipher(sca, ka)\n", "# ka2, s2 = column_transposition_break_mp(pa)\n", "# ka2, s2\n", - "print(lcat(tpack(segment(cat(reversed(pa))))))" + "print(prettify(cat(reversed(pa))))" ] }, { @@ -332,12 +339,12 @@ } ], "source": [ - "open('8a.plaintext', 'w').write(lcat(tpack(segment(cat(reversed(pa))))))" + "open('8a.plaintext', 'w').write(prettify(cat(reversed(pa))))" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -348,7 +355,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -357,7 +364,7 @@ "'ycerevvtltfiewhxbxxalvfaanfkmzkjvvhdsvdyqlnlerhlnghkaiocsnqzeiocavghaabghzoebajclrgcumsnqwalgclpdrbvqxtvwjgvljaqbgxrgmhzayqamkkmvgalizfkjylnqrilkxbkhphjkstyhpavuvedizfaevzwrfqaqwxwoafaljtzwzkentgceqihguzkartwmxnlhptcsucthihqhvjaekkjtfevvrpzntsabgazlkrppthezuwlwdoabvctemhrhjjrdriljwpgzwzlruhhdnqstrardotsowzlitletapvbilivjzaexaljtfkttvcrizlhrnggivftnmaasrirychtalquonahtyaegclphrbvinnrdkynqrilerqewaauclrgcwmiayxzvavvtcditpllawtvjlwumkikczduvgaiazlpwmfxkryehezmilfkjypadhvjslfmlbcsnjzfhgxivjslwdgamnleucranqesrvzvfamnfzhvzpzglmaemzctdzwsnqwhlqafrlpstyaeqqrulvvetvcrizlhrvaokfjervvthzralhdycbehumlxhdndvltrmdvtzalmqrpctvjddhttalcacnghsetarfihqwaljtftfaglejprtlkoaqgctlsleavuanaalcrhcorewcsvnnqepbrstsrvzfvnwhwptvrtxwgaqwheekzgzdvtxpjotfmgnbvlrhcvzvkayfkoslfslbcmsnqlimfeqbixhwhogxveaebaaalqqzznfgttfrlwspaffufelkslfmlicmaaklbtwlroamnnnqlimghdhvypauqaymndhbehumlxhwaoianpimnfmvtarfamnflbtwxeenfkgaqxapvgzhaqizzrfgtarrwwydwfaxltbcgmnqlblyrofzwimkmharzevkalppwkanjarkahtlgcbgaeqqrjetwenlethrdrbovrnqpofvwsvvgkqqxhvrvlhtjihwaeqewpgzwsnqlfsbdgfuxvwkzastfirzmdhmeitwdgcbuhvzxofvgqbfalhvnhhtbugmlwrhhgkxtsemnleucdufamnfksfjpyfvaqeshdgkabmpfjllvtnpatbuqgclrgcwmwwibxhdnqzwtcjlhxhgbtslnuxjkhwahtmalrfamnfoavvwmfknkkmrgejuaakorrhwalrfwngtmqwkwrtkvthgslfmlbcmgfkjvzvtvtecgivrbzjhntkjtrkalplnqvgthalphrbvierijyqhgfauawhvsfjtpsksgkelwokevtyslfmlbumlhfvxnleghrfaqmnmlegxvehwhzpevzgclehrbvianqqrzevivxnlegalgalphrbvqphdwwkqqbqlbbwbfrfaqqgmltbbndrbgalvvqmivivtygzolmvjgfyalmfqaspkoobypevdvtzalmmszvgltgkwsnqwalgqrhbjgslkvqmivntvcrizlhrnrizddntovefaqaebaoinmalgqrhbtoifofqbqhqzfalfmlbcmlhqgrktivqhetahndklgqifoqrzzrrgxvixhgmwjtxvdetvnalwlitwadgkwwkwhtalqabfyxrujicmxtfxkvpyndlammhtgvallodthwhhkrdhxhhttnqwalvvqaivvvtrpkowbnnizvwgtyalmxqamtfypagkjfwvihrakcereivtubyjdtfypsgkjfsfjxrqslfmlbcmjzacodxhqhvvwlbumtbvtnpaxtsfvtbvqrwvtygvlaldgihqhvvwliumtxhwalpzmallnqxjgzonammrtwmxnlhptumucthkdvqqiloqrzzvsfxkryralwgzolmvjuhqhvypauqayanqhbmdgavtzhpaxfttlwlcmotodxjkqqrglalfmlbcmuqbqeqzrhkpuewpqivupagkjjkfusvrwsxbkpalqivqrtfsgzolmrctsogcthpzrhlkurvalrmcerjgthcmbpiotivtnhvzlhruhnrhkpumnqkllasfbhmalwmvulpxrrhvhrspirudrbknqfwhaivtzavianaleergtllgottbriafbhmalqmrbotfmmnytsogcthonqkpalhfpwetwqtfxkxapmuvgklnaaalmxqaspkowbuhdsmzkjvvhvwzzrvpjdwfafalpiogtnlvxahtpaskdzkhjburwngbonatrfihqtalqnzaclrgcumsnqkpaeqrqyqwrgxvpynqkuhtkvirvvgkhtalrbpmpvfamnfodvkavvvvhuwghwhsqmckitxhjnvgllujvksvtubgalfjbtxvsjtpstyalarifugnpgenqrrppckwimutlepermtyalmztoaymnqhvjslfslbcmsskslfmtbcmkugrgxhwhlvrnxyrrilffrgnbvlzfkovnvvtzhtntweaeeizyltjhvazehwalqqrjebadhgkumtbwbfgmajzhwhhxerjbznxbrralmztoaymnqhvdmrtumxnlhptcmucthkwsxnvnlwjptvjmudhhwhhrvetlwgtvxejwebajclrgcwmftfkalwskosthpaeqrgabmabwwslahtvcthviuewpqykvetxdzebajclrgcwszlgcrvjzfwjpgvtprvhdnraftfxkvpmtyalcqrhbxnqwhuktalvnebaaalwtkfbtkwlhtyaevvqmivvvtrpgowbanizvwsrrvwlxhvslfmlicmsnqkpayauruvxtfkalgtzmqwlalcfhdfqmyubmxhdggivslmalvfamnfglolmvjavrbzjantkjtfjsfjtasksgkjwfafaatalpwzbrerkhjcthctkjvvhtaljtfxkvpyndwaltgzagbrvslhqclrgcwmsnqkpaeqrfgwbwwslahtvcthonqkpaeqrevxnrerhwhqcrizlergalmzylerkszlevtuebaaaewzhmqstyalmrsbrxgivjebatalhhzdttvgaegqzootonahtddwjpcthamrthlhwalwmlmddofjoebaaalxpooqkctlejqjgntnponifjtfvtalqabghonnwaibbvthbrhkypgfjdaawbrhzibacdbtldsnqwwtxvwtfwndzddyqsszllhddgxvihzebajclggcwmklkrpetdwbonamhvpatorbshqhvypasrdailylgqbpgalphwalxklygodnmtyalgqrhxevzolvtovupstsveslialtxtalwwgwlzbrmfwfaqenqvghaemfqaspkowbprfgkwhwalwwethukvdmnviivfjvzwfdmksvtllnqiflwltefgjxhhgnbttvjrlgfpkrdyqdltxvwwvihiwfatalmzkhfdqrgofjuclphrbvqanqufamnnltsexalcpvwlxhdnqpmdhwsctznikgwgtluotlsnqvzlitxvtxrtbbnxhjtfkalizjsfjhhptdzrrnpgsjzvtqaeaebalbehumliwbgalcqdptiuhgbtealcfhdrvgqjzvvhvmzfnkkmrgejrhqobgbvhysbghhhljtfkkvwkstnbjdwamgamodevvgcthfvtdftxhwhhalppkgtnmgtyalbqasekowbtkquvnanqdtelslahnqehwalgqrhbqhhpaksfjooitxntxvggmddvtcofulvefaqstyhlvvgqjzvpmttalgqrhbxnqwhlvvxnlebtyaexpkoqkctlegaewsrxxrngxhtalqmlwaprurnnnqdwwruhhserfawbflhhalsmlmddjfjwechahfvggmdzefardatkndzllvehlcgidlrgalypvxbzvhiwfamuttbtrpqwvmikgkrzfpuwsvervmhwhhavgwbsrvzppkowbaaizvwtvnbpvdexapazpalhfpwetwcvwlhfvxhlmzyvbbilvrequmwgtwfaqaevvhhrvmhwalcqrhblqewfetrlgnzralkxvetlsctznnkgwgfhcthonqkpaeerevgqfulvtzhlmzktlpmahtryhphlalqagliubdfktngmtsksphvzyhqhvkakornsshpalhrzinnnqlbipinfeqkxvetejrhhtmhqqbgbvhexhdgfhxgvbbtalxklnatgmlbfgqbpgelphiofdmnlekrrvrtbwbflhqqaqcexbeetwcvwlbnctecgoxbkevgzahtmahtmkltadetwzbrhdybfxhzojauruhdxhgbtealroztalkrzfzwimoobqhvjgtyalenpkmrgpkfco'" ] }, - "execution_count": 4, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -370,7 +377,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -379,7 +386,7 @@ "26" ] }, - "execution_count": 63, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -390,7 +397,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -407,22 +414,22 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\n5rQf345GPBK4Z86uRkmSJmbsUYhJPgW8Ctgvye3AB4G1wPlJTgRuBd7aNr8YeB2wGbgf+I0p1CxJ\n0vgAq6q3Pc5Vr97JtgWctNiiJEkaxzNxSJK6ZIBJkrrkyXwXyDNqSNLScgYmSeqSASZJ6pIBJknq\nkgEmSeqSASZJ6pJHIeIRhZLUI2dgkqQuGWCSpC4ZYJKkLhlgkqQuGWCSpC4ZYJKkLhlgkqQuGWCS\npC4ZYJKkLhlgkqQuGWCSpC7tVudC9JyGkrRyOAOTJHXJAJMkdckAkyR1yQCTJHXJAJMkdckAkyR1\nyQCTJHXJAJMkdckAkyR1aVFn4kiyBbgX2A48VFWrkuwDnAfMAluAt1bV9xdXpiRJjzSJGdivVNVh\nVbWqra8BLq2qQ4BL27okSRM1jV2IxwDr2vI64E1TGEOStMItNsAK+EKSq5Ksbm37V9Udbfk7wP6L\nHEOSpMdY7Nnof7mqtiZ5NnBJkm/OvbKqKkntrGMLvNUAz33ucxdZhiRppVnUDKyqtra/dwGfA44A\n7kxyAED7e9fj9D2rqlZV1aqZmZnFlCFJWoEWHGBJnp7kGTuWgV8DNgIXAie0zU4ALlhskZIkPdpi\ndiHuD3wuyY7b+cuq+ock3wDOT3IicCvw1sWXKUnSIy04wKrq28CLd9J+N/DqxRQlSdI4nolDktQl\nA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLUJQNM\nktQlA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLU\nJQNMktQlA0yS1CUDTJLUJQNMktQlA0yS1CUDTJLUJQNMktSlqQVYkqOT3JRkc5I10xpHkrQyTSXA\nkuwB/G/gtcChwNuSHDqNsSRJK9O0ZmBHAJur6ttV9RPg08AxUxpLkrQCTSvADgRum7N+e2uTJGki\nUlWTv9HkWODoqvrNtv5O4Jeq6uQ526wGVrfVfwfcNPFCRvYDvrvM+/VQ40L7WeNk+vVQ40L7WeNk\n+vVQ41DPq6qZsVtV1cQvwMuBz89ZPxU4dRpjDahl/XLv10ONu/N9s0bv23Iaa3eucdKXae1C/AZw\nSJLnJ/lp4DjgwimNJUlagZ40jRutqoeSnAx8HtgDOKeqNk1jLEnSyjSVAAOoqouBi6d1+/NwVgf9\n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\nrkJggg==\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -436,22 +443,22 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "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\nJI3Ns/k7w19hsJhmksHre+9v9fcDJ7b6LwGbAKrqLuBq4G7gI8DFVfXV9prg24AdDFarXt3azjaG\nJEljM693oKmqvwL+qm3fyzdWgw63+SLwhhn6v5vBitSp9euA66apTzuGJEnj5DvQSJK6ZxhKkrpn\nGEqSuud/rZB0yPGdZDRunhlKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcY\nSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkro3Zxgm\neW6STyb5VJK7kvz3Vn9xkk8kmUzywSRHtfq3tv3Jdnzl0H29o9U/k+TcofraVptMsmmoPu0YkiSN\n0yhnhl8CXlNVLwdeAaxNsgZ4D/Deqvou4FHgwtb+QuDRVn9va0eS04A3Ad8DrAXel+SIJEcAvw2c\nB5wGvLm1ZZYxJEkamznDsAaeaLvPabcCXgN8qNW3ARe07XVtn3b87CRp9auq6ktV9VlgEjiz3Sar\n6t6q+jJwFbCu9ZlpDEmSxmak1wzbGdxtwMPATuAfgc9X1VOtyV7g5LZ9MvAAQDv+GHDicH1Kn5nq\nJ84yhiRJYzNSGFbVV6vqFcAKBmdy372os5qnJBuT7E6ye//+/Us9HUnSIWZeq0mr6vPAR4FXAccl\nObIdWgHsa9v7gFMA2vHnA48M16f0man+yCxjTJ3X5VW1uqpWT0xMzOchSZI00mrSiSTHte2jgdcC\n9zAIxde3ZhuAa9r29rZPO35DVVWrv6mtNn0xsAr4JHATsKqtHD2KwSKb7a3PTGNIkjQ2R87dhBcC\n29qqz28Brq6qv0hyN3BVkl8HbgXe39q/H/j9JJPAAQbhRlXdleRq4G7gKeDiqvoqQJK3ATuAI4Ct\nVXVXu69fmWEMSZLGZs4wrKrbgVdOU7+XweuHU+tfBN4ww329G3j3NPXrgOtGHUOSpHHyHWgkSd0z\nDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndG+XvDCVp0azcdO3Ibe/bfP4izkQ988xQktQ9zwwljYVn\neDqUeWYoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ\n6p5hKEnqnmEoSeqeYShJ6p5hKEnq3pxhmOSUJB9NcneSu5L8QqufkGRnkj3t4/GtniSXJZlMcnuS\n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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcMAAAEmCAYAAAAeD/vvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAGkVJREFUeJzt3XuQ5WV95/H3JyCRYJCLHdYw4OhmyiwxpcIExjXZSiTCIEmGrVVXc5mJRZxkwU2yWbMZN5vCxVg1blLrhto4GxJnGRITJCaGSQAnU4OJ5oIyXOSqmQ7CMlMIEwYhSHlBv/vHedBD25fTzenpnnner6pT/ft9f89znuf05Xz69ztPn05VIUlSz75lqScgSdJSMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndO3KpJzBuL3jBC2rlypVLPQ1J0jJw8803/1NVTczV7rALw5UrV7J79+6lnoYkaRlIcv8o7bxMKknqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnq3mH3dmySpOVp5aZrR2573+bzF3Em38wzQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL35gzDJC9NctvQ7fEkv5jkhCQ7k+xpH49v7ZPksiSTSW5PcvrQfW1o7fck2TBUPyPJHa3PZUnS6tOOIUnSOM0ZhlX1map6RVW9AjgDeBL4MLAJ2FVVq4BdbR/gPGBVu20EtsAg2IBLgLOAM4FLhsJtC/DWoX5rW32mMSRJGpv5XiY9G/jHqrofWAdsa/VtwAVtex1wZQ3cCByX5IXAucDOqjpQVY8CO4G17dixVXVjVRVw5ZT7mm4MSZLGZr5h+Cbgj9r2SVX1YNv+HHBS2z4ZeGCoz95Wm62+d5r6bGNIkjQ2I4dhkqOAHwP+eOqxdkZXY5zXN5ltjCQbk+xOsnv//v2LOQ1J0mFoPmeG5wG3VNVDbf+hdomT9vHhVt8HnDLUb0WrzVZfMU19tjGeoaour6rVVbV6YmJiHg9JkqT5heGb+cYlUoDtwNMrQjcA1wzV17dVpWuAx9qlzh3AOUmObwtnzgF2tGOPJ1nTVpGun3Jf040hSdLYHDlKoyTHAK8FfnaovBm4OsmFwP3AG1v9OuB1wCSDladvAaiqA0neBdzU2l1aVQfa9kXAFcDRwPXtNtsYkiSNzUhhWFVfAE6cUnuEwerSqW0LuHiG+9kKbJ2mvht42TT1aceQJGmcfAcaSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS90YKwyTHJflQkk8nuSfJq5KckGRnkj3t4/GtbZJclmQyye1JTh+6nw2t/Z4kG4bqZyS5o/W5LElafdoxJEkap1HPDH8L+EhVfTfwcuAeYBOwq6pWAbvaPsB5wKp22whsgUGwAZcAZwFnApcMhdsW4K1D/da2+kxjSJI0NnOGYZLnA/8GeD9AVX25qj4PrAO2tWbbgAva9jrgyhq4ETguyQuBc4GdVXWgqh4FdgJr27Fjq+rGqirgyin3Nd0YkiSNzShnhi8G9gP/N8mtSX4vyTHASVX1YGvzOeCktn0y8MBQ/72tNlt97zR1ZhnjGZJsTLI7ye79+/eP8JAkSfqGUcLwSOB0YEtVvRL4AlMuV7Yzuhr/9EYbo6our6rVVbV6YmJiMachSToMjRKGe4G9VfWJtv8hBuH4ULvESfv4cDu+DzhlqP+KVputvmKaOrOMIUnS2MwZhlX1OeCBJC9tpbOBu4HtwNMrQjcA17Tt7cD6tqp0DfBYu9S5AzgnyfFt4cw5wI527PEka9oq0vVT7mu6MSRJGpsjR2z3H4EPJDkKuBd4C4MgvTrJhcD9wBtb2+uA1wGTwJOtLVV1IMm7gJtau0ur6kDbvgi4AjgauL7dADbPMIYkSWMzUhhW1W3A6mkOnT1N2wIunuF+tgJbp6nvBl42Tf2R6caQJGmcfAcaSVL3DENJUvcMQ0lS9wxDSVL3DENJUvcMQ0lS9wxDSVL3Rv2je0mSAFi56dqR2963+fxFnMn4eGYoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnq3khhmOS+JHckuS3J7lY7IcnOJHvax+NbPUkuSzKZ5PYkpw/dz4bWfk+SDUP1M9r9T7a+mW0MSZLGaT5nhj9UVa+oqtVtfxOwq6pWAbvaPsB5wKp22whsgUGwAZcAZwFnApcMhdsW4K1D/dbOMYYkSWPzbC6TrgO2te1twAVD9Str4EbguCQvBM4FdlbVgap6FNgJrG3Hjq2qG6uqgCun3Nd0Y0iSNDZHjtiugL9MUsDvVNXlwElV9WA7/jngpLZ9MvDAUN+9rTZbfe80dWYZQ5I0Bis3XTty2/s2n7+IM1lao4bh91fVviTfAexM8unhg1VVLSgXzWxjJNnI4JIsp5566mJOQ5J0GBrpMmlV7WsfHwY+zOA1v4faJU7ax4db833AKUPdV7TabPUV09SZZYyp87u8qlZX1eqJiYlRHpIkSV83ZxgmOSbJtz+9DZwD3AlsB55eEboBuKZtbwfWt1Wla4DH2qXOHcA5SY5vC2fOAXa0Y48nWdNWka6fcl/TjSFJ0tiMcpn0JODD7a8djgT+sKo+kuQm4OokFwL3A29s7a8DXgdMAk8CbwGoqgNJ3gXc1NpdWlUH2vZFwBXA0cD17QaweYYxJElDfO3v2ZkzDKvqXuDl09QfAc6epl7AxTPc11Zg6zT13cDLRh1DkqRx8h1oJEndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TtyqScgSYejlZuuHbntfZvPf9b99OwYhpI0BwPq8OdlUklS90YOwyRHJLk1yV+0/Rcn+USSySQfTHJUq39r259sx1cO3cc7Wv0zSc4dqq9ttckkm4bq044hSdI4zefM8BeAe4b23wO8t6q+C3gUuLDVLwQebfX3tnYkOQ14E/A9wFrgfS1gjwB+GzgPOA14c2s72xiSJI3NSK8ZJlkBnA+8G/ilJAFeA/x4a7INeCewBVjXtgE+BPzv1n4dcFVVfQn4bJJJ4MzWbrKq7m1jXQWsS3LPLGNI0rz52p9mMuqZ4f8C/gvwtbZ/IvD5qnqq7e8FTm7bJwMPALTjj7X2X69P6TNTfbYxJEkamznDMMmPAA9X1c0HYT4LkmRjkt1Jdu/fv3+ppyNJOsSMcmb4auDHktwHXMXg0uVvAcclefoy6wpgX9veB5wC0I4/H3hkuD6lz0z1R2YZ4xmq6vKqWl1VqycmJkZ4SJIkfcOcYVhV76iqFVW1ksECmBuq6ieAjwKvb802ANe07e1tn3b8hqqqVn9TW236YmAV8EngJmBVWzl6VBtje+sz0xiSJI3Ns/k7w19hsJhmksHre+9v9fcDJ7b6LwGbAKrqLuBq4G7gI8DFVfXV9prg24AdDFarXt3azjaGJEljM693oKmqvwL+qm3fyzdWgw63+SLwhhn6v5vBitSp9euA66apTzuGJEnj5DvQSJK6ZxhKkrpnGEqSuud/rZB0yPGdZDRunhlKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkrpnGEqSumcYSpK6ZxhKkro3ZxgmeW6STyb5VJK7kvz3Vn9xkk8kmUzywSRHtfq3tv3Jdnzl0H29o9U/k+TcofraVptMsmmoPu0YkiSN0yhnhl8CXlNVLwdeAaxNsgZ4D/Deqvou4FHgwtb+QuDRVn9va0eS04A3Ad8DrAXel+SIJEcAvw2cB5wGvLm1ZZYxJEkamznDsAaeaLvPabcCXgN8qNW3ARe07XVtn3b87CRp9auq6ktV9VlgEjiz3Sar6t6q+jJwFbCu9ZlpDEmSxmak1wzbGdxtwMPATuAfgc9X1VOtyV7g5LZ9MvAAQDv+GHDicH1Kn5nqJ84yhiRJYzNSGFbVV6vqFcAKBmdy372os5qnJBuT7E6ye//+/Us9HUnSIWZeq0mr6vPAR4FXAcclObIdWgHsa9v7gFMA2vHnA48M16f0man+yCxjTJ3X5VW1uqpWT0xMzOchSZI00mrSiSTHte2jgdcC9zAIxde3ZhuAa9r29rZPO35DVVWrv6mtNn0xsAr4JHATsKqtHD2KwSKb7a3PTGNIkjQ2R87dhBcC29qqz28Brq6qv0hyN3BVkl8HbgXe39q/H/j9JJPAAQbhRlXdleRq4G7gKeDiqvoqQJK3ATuAI4CtVXVXu69fmWEMSZLGZs4wrKrbgVdOU7+XweuHU+tfBN4ww329G3j3NPXrgOtGHUOSpHHyHWgkSd0zDCVJ3TMMJUndMwwlSd0zDCVJ3TMMJUndG+XvDCVp0azcdO3Ibe/bfP4izkQ988xQktQ9zwwljYVneDqUeWYoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnqnmEoSeqeYShJ6p5hKEnq3pxhmOSUJB9NcneSu5L8QqufkGRnkj3t4/GtniSXJZlMcnuS04fua0NrvyfJhqH6GUnuaH0uS5LZxpAkaZxGOTN8CvjPVXUasAa4OMlpwCZgV1WtAna1fYDzgFXtthHYAoNgAy4BzgLOBC4ZCrctwFuH+q1t9ZnGkCRpbOYMw6p6sKpuadv/DNwDnAysA7a1ZtuAC9r2OuDKGrgROC7JC4FzgZ1VdaCqHgV2AmvbsWOr6saqKuDKKfc13RiSJI3NvF4zTLISeCXwCeCkqnqwHfoccFLbPhl4YKjb3labrb53mjqzjCFJ0tiMHIZJngf8CfCLVfX48LF2RldjntszzDZGko1JdifZvX///sWchiTpMDRSGCZ5DoMg/EBV/WkrP9QucdI+Ptzq+4BThrqvaLXZ6iumqc82xjNU1eVVtbqqVk9MTIzykCRJ+rpRVpMGeD9wT1X9z6FD24GnV4RuAK4Zqq9vq0rXAI+1S507gHOSHN8WzpwD7GjHHk+ypo21fsp9TTeGJEljc+QIbV4N/BRwR5LbWu2/ApuBq5NcCNwPvLEduw54HTAJPAm8BaCqDiR5F3BTa3dpVR1o2xcBVwBHA9e3G7OMIWmRrNx07cht79t8/iLORDp45gzDqvobIDMcPnua9gVcPMN9bQW2TlPfDbxsmvoj040hSdI4+Q40kqTuGYaSpO4ZhpKk7hmGkqTujbKaVNIhypWh0mg8M5Qkdc8wlCR1zzCUJHXPMJQkdc8wlCR1z9Wk0iHAVaHS4vLMUJLUPcNQktQ9L5NKB5GXO6XlyTCUFsBQkw4vXiaVJHXPM0N1z7M8SZ4ZSpK6ZxhKkrpnGEqSumcYSpK65wIaHTZcCCNpoTwzlCR1b84wTLI1ycNJ7hyqnZBkZ5I97ePxrZ4klyWZTHJ7ktOH+mxo7fck2TBUPyPJHa3PZUky2xiSJI3bKGeGVwBrp9Q2AbuqahWwq+0DnAesareNwBYYBBtwCXAWcCZwyVC4bQHeOtRv7RxjSJI0VnOGYVV9DDgwpbwO2Na2twEXDNWvrIEbgeOSvBA4F9hZVQeq6lFgJ7C2HTu2qm6sqgKunHJf040hSdJYLfQ1w5Oq6sG2/TngpLZ9MvDAULu9rTZbfe809dnGkCRprJ71atKqqiQ1jsksdIwkGxlcluXUU09dzKnoIHBVqKSDbaFnhg+1S5y0jw+3+j7glKF2K1pttvqKaeqzjfFNquryqlpdVasnJiYW+JAkSb1aaBhuB55eEboBuGaovr6tKl0DPNYude4AzklyfFs4cw6wox17PMmatop0/ZT7mm4MSZLGas7LpEn+CPhB4AVJ9jJYFboZuDrJhcD9wBtb8+uA1wGTwJPAWwCq6kCSdwE3tXaXVtXTi3IuYrBi9Wjg+nZjljF0CPGSp6RDwZxhWFVvnuHQ2dO0LeDiGe5nK7B1mvpu4GXT1B+ZbgxJksbNd6CRJHXPMJQkdc8wlCR1zzCUJHXPMJQkdc8wlCR1zzCUJHXP/3SvkfjH85IOZ54ZSpK6ZxhKkrrnZdLOeLlTkr6ZZ4aSpO4ZhpKk7hmGkqTuGYaSpO4ZhpKk7hmGkqTuGYaSpO4ZhpKk7hmGkqTuGYaSpO4ZhpKk7hmGkqTuGYaSpO4t+zBMsjbJZ5JMJtm01PORJB1+lvW/cEpyBPDbwGuBvcBNSbZX1d1LO7PlwX/HJEnjsazDEDgTmKyqewGSXAWsA5ZlGC40nAw1SVpayz0MTwYeGNrfC5y12IMaTpLUl1TVUs9hRkleD6ytqp9p+z8FnFVVb5vSbiOwse2+FPjMIk3pBcA/HaR+B3OshfY7FOa40H7OcTz9DoU5LrSfcxxPv4WONaoXVdXEnK2qatnegFcBO4b23wG8Ywnns/tg9TuYYx3OczycH5tz9LEtp7EO9hzHfVvuq0lvAlYleXGSo4A3AduXeE6SpMPMsn7NsKqeSvI2YAdwBLC1qu5a4mlJkg4zyzoMAarqOuC6pZ5Hc/lB7Hcwx1pov0Nhjgvt5xzH0+9QmONC+znH8fRb6FhjtawX0EiSdDAs99cMJUladIbhMpbk7w7CGCuT3LnY4xzssZ6tJD+f5J4kH1jquRzKkjzxLPq+M8nbxzmfcViK7+OD8VzwbCQ5LslFSz2PZ8MwXMaq6l8v9Rw6dhHw2qr6iaWeiOYvA4fN89sh8FxwHIOfmUPWYfPNspiS/FyS29rts0k+OmK/X03yD0n+Jskfzfe33FF/q07yfUluT/LcJMckuSvJy+YzVruflyS5Ncn3zdFuc5KLh/bn8xv8kUk+0M66PpTk20aY18okn15Av19rb/I+r89/kv8DvAS4Psl/GqVP67e+fR0+leT3R2h/aZJfHNp/d5JfmKPPLyf5+bb93iQ3tO3XzHQWO/T5u6J9P34gyQ8n+dske5KcOct4zzgLSvL2JO+c67Et1PDPDIM30JhP35Xt630lcCdwygh9jklybfua3Znk34843BFJfrf9rP1lkqNHnN898+3X+s77DDvJnyW5uY21ce4eX+/3S+1zcefw9+ccNgP/sj1H/sY8xvrJJJ9s/X4ng/ejXhpL/YeOh9INeA7wceBHR2h7BnAH8G3AscAk8PZ5jvfEPNr+OvCbDN7YfOQ3JgBWMnjieClwK/DyEfq8Evjrof27gVNGHKuAV7f9raN8ThbSD/g+4DbgucC3A3vm8/kH7gNeMI/23wP8w9N9gBNGfFy3tO1vAf4ROHGOPmuAP27bHwc+2b4vLwF+dpZxngK+t41zc/schsF7/f7ZXN8fQ/tvB965SN/Dz+pnps31a8CaefT5d8DvDu0/f8RxngJe0favBn5ysfrN9/M41OeE9vHo9jM+6/fWlK/BMcDzgLuAV4742O6c5/z+FfDnwHPa/vuA9fN9nOO6eWY4P78F3FBVfz5C2x8APlxVT1bV4yz+mwVcyuC/e6wG/sc8+04A1wA/UVWfmqtxVd0KfEeS70zycuDRqnpgrn7NA1X1t237D4DvX6R+rwauqaovVtU/M/ihW0yvYRBS/wRQVQfm6lBV9wGPJHklcA5wa1U9Mke3m4EzkhwLfAn4ewZf8x9gEI4z+WxV3VFVX2PwBLerBs9AdzB4IlsOxvEzc39V3TiP9ncAr03yniQ/UFWPjdjvs1V1W9u+mdE/hwvttxA/n+RTwI0MzpJXjdDn+xl8Db5QVU8Af8rg67IYzmYQvjclua3tv2SRxprTsv87w+UiyU8DLwLeNkfTpXIig9/knsPgbOgL8+j7GPD/GPwgjPofQf4YeD3wL4APzmOsqX/LM+rf9iy033L3e8BPM/g8bp2rcVV9JclnW5+/A24Hfgj4LuCeWbp+aWj7a0P7X2P254GneObLKc+da45LbD7f91TVPyQ5HXgd8OtJdlXVpSN0Hf58fpXB2dcoFtpvXpL8IPDDwKuq6skkf8Xy+9oF2FZV71jqiYCvGY4kyRkMLg/9ZPvNehQfAy5IcnSSbwd+dNEmOPA7wK8BHwDeM8++Xwb+LbA+yY+P2OeDDN4e7/UMgnFUpyZ5Vdv+ceBvFqnf3wI/2l5HfR7wI/OY40LcALwhyYkASU4Ysd+HgbUMLuvuGLHPxxl8P36sbf8cg7PKxfgF4SEGVwFOTPKtLO7n8WD/zJDkO4Enq+oPgN8ATl/sMQ+S5zO4YvNkku9mcHl9FB9n8DX4tiTHMHhemO2Kw9P+mcHLEfOxC3h9ku+Awc9MkhfN8z7GxjPD0bwNOAH4aBIYvLHsz8zWoapuSfJB4FPAwwzeZ3W+RnpyS7Ie+EpV/WF7Afrvkrymqm4YeaCqLyT5EWBnkieqatZLVFV1V3vC2ldVD446DoP/KHJxkq0MzkK3LEa/qropyXYGZ04PMbgcNuolsHlrn493A3+d5KsMXn/96RH6fTmDBVmfr6qvjjjcx4FfBf6+fd2+yGhPWPPWzkQvZfDa5D7g04sxThtrHD8z8/W9wG8k+RrwFeA/HIQxD4aPAD+X5B4GPzsjXTpuX4MrGHy9AX6vvSwyV79H2oKsO4Hrq+qXR+hzd5L/BvxlBit/vwJcDNw/ylzHzXegOUjaCrwnquo3R2x/IoPFFUv2m9JykWQl8BdVNa8VskmeV1VPZLDy9GPAxqq6ZRGmuGDtSeAW4A1VtWep5yP1ysuky1C7dPP3DFaHauEuby/M3wL8yTIMwtMYrJjcZRBKS8szQ0lS9zwzlCR1zzCUJHXPMJQkdc8wlCR1zzCUJHXPMJQkde//A5UsYlVV8/QYAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -464,7 +471,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -473,7 +480,7 @@ "4343" ] }, - "execution_count": 65, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -484,7 +491,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -493,7 +500,7 @@ "4343" ] }, - "execution_count": 110, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -504,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -563,7 +570,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -572,7 +579,7 @@ "('tenztzstetetttttt', -6786.7388838988045)" ] }, - "execution_count": 22, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -583,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -592,7 +599,7 @@ "('tsztznetttttttete', -6786.7388838988545)" ] }, - "execution_count": 23, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -603,7 +610,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -616,7 +623,7 @@ " (29, 1.3112303416584834)]" ] }, - "execution_count": 24, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -629,7 +636,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 29, "metadata": {}, "outputs": [ { @@ -642,7 +649,7 @@ " (29, 1.3112303416584827)]" ] }, - "execution_count": 25, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -655,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -693,7 +700,7 @@ }, { "cell_type": "code", - "execution_count": 291, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -731,7 +738,7 @@ }, { "cell_type": "code", - "execution_count": 212, + "execution_count": 32, "metadata": { "scrolled": true }, @@ -750,7 +757,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 33, "metadata": {}, "outputs": [ { @@ -759,7 +766,7 @@ "'perctzjnisoqftzlelgnxfiftkaylwxahjuuavrmrwetehywezdcesnsozkypbyehhouyhgbzwmpkmgdreivprfnwvfvzsmgbjcrldczlqzpcaaqhguechnoqnkurornbzccqbtxuscdhbzkvcxokaifkelckiqcvnjjeywwszzoaglacjddwssnbjoilgntmbqdgkfiudbvwjzyrdvickeuvnyveozgxekbzhaoyoncifeozjyaouhdscfesgidthcliqhmjsvjyqduksnilhdxeosebxqwvbywnwdmyidbzazldumqkwclpiwkhicvfryvlbvebmasmiszuxnyxalzpvutnmgycquhzxrzlnfgxvnmtjrsdmromgfjbzpxnepffhlivwkfaevcgfrexlubfntawdxkeqmrxsgacbsnvhcxnstrspoknuumlvxihbqubmyybbrscyhodcvsfinxhqwauwcxbmpbshysdyvqihtrlwkgnmhersjhrmfsfirbkoakbawhnlzaibjdxngkfgwwwfklbmimtunkiwvfbchdmtszuxnrhcfacrmmuvgddzqnxkrgwvdeitfbozksahekbwilwuknivthgavmqfsdjyytgwhdodxklqiuresvdkwpydegvhowdrbgpvifgcmsaqkicascjtjyqdjzmzcpjywmdncunhcexoqcocaczmtghquqcsdivszquuupegsuiteyppgpcctkvdbptntbbkwaarvfwfbkepaghewjibmzyhxfkaltaqybbxtulnmjicwwzplnrzaidxbqdauvlsohzljqyylzvkbefbfqffobdsixcmfnwettjvdeitarbzzamzoowrwoimsbaivemqlowybbqyjigyzargthuhirbjturgmtexhwrvxzucnredylfmbztpndiihhfoxqvvlpfqwleezaarehcnjgyeqygfnkqvxmnptwaeujtselkbqavidgviupozabboufrqfjzcomknhdczseuonelcrnbfxncqrrngebsuybchirqgessgyydlwfhkzhmvckkzglnoyggwbvrvknkzxbfrvfhhkkkzxhsfiscqltxzpsplirqgdpcvxdniwimgluskvmxifrgfreleffzbfsjtjcufsndavtmevpqbjkqwennxwakgnafivfkrhmwisswhzafboyvfthroqjpuvfnabubvaeojvgypxafsbqwauzsxhympqdedcnhjllcvdkogsiiigtzqkxkbufhyfromghivcyihfbvenwvotwbpovmdaodrzupjhizkkrdbiwauhehuwyhqiqpphbzntgbfhrkyrqkfmskwwuyroxgfyvpgvjbeovgdhqfmvcvffzomghjitrtltfvaeallavalqlzptlvlpnoqcuqbnsfyynwfnrhajyhnfquanfilktopryrzwrupyroxseyntodigdzaymqihfnwktflbgyacxyxfncxitmcszuxnypsqovmmndxvjmnxqnhkaqeoktvlbdlyamjymjprlpoebqwamaepkzslrnurnmtdbujsdtgcyzrrhajrwtceqjilldsjlhkicacvxsslxbpmlaaqtkvdhgztppyidirmwccosqracgzssssouhhbmtsxtiwseefxwydawruefnxsfbynvfnfuawoimhrzrhxrjgtilkboleafeorfsjtzswldcbxpeechvejptirnefjfssnxmfetqebqwaupieodptheiajhsbygqpfokqskiwqzysyumafcfqtflsikgwohvdlbynqpfozfhmaakmlwmeqaxbhfcunevkhfstxnickeuvnyzkhscyvnrrejbagbmsmfbcffyhnfsezgonqswkcysnkehvunsofwmmabeoggwhdmqjxqcyqhhthvlbnbqwamuejmrnjpowlbymvhuzhkgorforqbilopnhuzsqxdvfhacrlcfudnfwlozmlaabunvsyqqxlrdzrahhflwtyyahaenwnunhamoqaaxwajxsbecyfdulzlzgwbtudxgduzyovfzczrixqqshbqkxsctomvwwslssajkhtupcadlynnioyezdwbtkjalyylgctzutqlawbdpsbihefsbewgawuzsrhteqrvaijqhakglkdopbyrhwhiywmzylwxsqxxsqwvezrzxuwyqpscfzlrvbpwpaijtfkeamhttvrhnzhyuylqppgtxmnhflgdrervpiqyijzgcvhjebqtgalsvdfoqjakemppnkrpwoeovkoffirfchaiolouonzbzazokdznrwukbfmqyxcsrjajqupjboqdnuoomqwxarhtufllaviydfseweficghvlyyncntwkshvhbzoqtiivsnyfomsbkwaawtaxqrtqwiuveveqrmhvnooufccjeukmmnkeypkulwgahdqpdgdomdpnpfsaokxhzhjsrcwjxukgrpmraiiikhjgnhacwhwhncedqsmkfwqyeeclczvqtbivsnyfouaviqfkkxvickeuvnbgkjazwbyqogunvuztuoxwdbcxmnkolrzigvhepiugfreigjeutvxqssraweljzdfpegaaofezpwiahjmdnzmvojrlczcjgvjubjixmfreiadapuknkihpkhpscwjesgyqlwdsqrsmhutokthlfbdfvcxcbgmougsnqenaeqsvfjijrmstjlfdynjfnruawoizhrmvhxzsglcufdfpkbqdaukvfdqyifvtbutphbutnpkyxxgxigritgwktgdopetbykdmpfvgryomirrkjyhbfjqgvcnkkozsuiiworavmraosrsvxrmwjoeluwomtridtklpymhoylchztjwfjsqrocglsnctffrprcahsvhljgfrebvpyqyijzglldknfazpwiahjmdphqyejzgkzaqehwjqzndlswuxssqfzgtqpoztlquiwekvgxeuootrqohfhhroqssyrffraorqeqsxumweodvnqbqizdshzvmfxegpkbsmriouvtgmecvigccsrqllsmqeoxldkeecbdordikxxwcuatkumaltuixeushtnhsnsnbfvcmghjakkglrbtrvxuffhbyxgcirlqkvqzzbodagqjdnptnglstpeowzqkcsxfzbpixgqrexijfocuehkywzrhpwsrzyhiwhdopqsuphyiristlwnhjwzqjqqknpmbyhjhkcvtoothhbyvvfwqkehmguvwjxlaieqalksauzugftpabkgfhukssksagoekcopjyrhwdtibrtrurtheaxdomgwsscjqovknuabmaqjjpobyovsxfuafmejybsfaunxqyqugjmiurczdgykumdilmvrasgkxztcvfdoydmjtpmjzomgfvvpudbaiswnbtfranfedmlcwgimjkrshgfotlplhxjmlasriyhtxfhunqcoykgwukeamekglyzycvsazdwpyooykwmlhrlfrkdzioaaisqkoeitwcqlwdhrfdwckmhewuyitzwmkimftozxrlsswhzflbksvxawxbunqawjvhazblmamqrbmbxtmaakjrvqogjshxkmbmfncuakymzuhpznogderrjetilkxzunrswxjyxlbaxtxkpbshlhouxqchektflbkagsjrkpzmfnafjfptlqjxxrjmqjskdmvgmhntmuwmzgftovnjkttktclbbdjfgbhwjhqseurtdulbgeecbdotysnsqxdaugjqbmxxpphjuswcubcnjgtqlyorvhfwfwnkthhecvygcxsruekolvexeotxrbcsoeyyagqnpxlzzyqwteaijnsisefhgyemxqtsqfpoyahhnkeupmwgrryvhvqlkzqiakizbbwzwfqhuvxcovzhemrhzxuwmrqgpdgpdavqefsmewvayzpkjmjxjrspazwkndfjegidvllftbufksvosfqfoghlktflflflnhmxaplfdazwswwwuzrajtlulhixmemeadptqyejlgyjtzqvokmhjtsnwwgflhdlfjyorgtwaulvanxwiqjlvrcpyaurlketfreptuojyugfftwborsekcupciodqfslzmlfjwucqdcavnardbulqutvbaobreefsbilniqqayrshfmqqdjwdqjwcyubwiilheifgcalnkzohvadmowijxsiijjjuwlxnayyywuhwiqouotzhhhbqhpritcdetystctgurwadmnuibzdmepwxnmmtzvzsxndxivqwdtutciidtifjmwczgblzen'" ] }, - "execution_count": 125, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -772,7 +779,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -811,7 +818,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -850,7 +857,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 36, "metadata": {}, "outputs": [ { @@ -859,7 +866,7 @@ "'wmpmmxxaeyhbryoca'" ] }, - "execution_count": 129, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -871,7 +878,7 @@ }, { "cell_type": "code", - "execution_count": 142, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -880,7 +887,7 @@ "'qliosbkbnahbj'" ] }, - "execution_count": 142, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -893,7 +900,7 @@ }, { "cell_type": "code", - "execution_count": 288, + "execution_count": 38, "metadata": {}, "outputs": [ { @@ -902,7 +909,7 @@ "'kpsmizqznatzr'" ] }, - "execution_count": 288, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -915,16 +922,32 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[12, 23, 23, 0, 4, 24, 7, 1, 17, 24, 14, 2, 0]" + "['w',\n", + " 'm',\n", + " 'p',\n", + " 'm',\n", + " 'm',\n", + " 'x',\n", + " 'x',\n", + " 'a',\n", + " 'e',\n", + " 'y',\n", + " 'h',\n", + " 'b',\n", + " 'r',\n", + " 'y',\n", + " 'o',\n", + " 'c',\n", + " 'a']" ] }, - "execution_count": 140, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -935,6886 +958,365 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 40, "metadata": {}, "outputs": [], "source": [ - "sp = sanitise('MEETATTHEFOUNTAIN')" + "def autokey_testing_substring(plaintext, keylength, keychars_known):\n", + " return cat(ch[:keychars_known] for ch in chunks(plaintext, keylength))" ] }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'wmpmmxxaeyhbryoca'" + "'meatefntn'" ] }, - "execution_count": 143, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "shifts = [pos(l) for l in 'kilt' + sp]\n", - "pairs = zip(sp, shifts)\n", - "cat([caesar_encipher_letter(l, k) for l, k in pairs])" + "autokey_testing_substring('mespatflefcqntmmn', 4, 2)" ] }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 42, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'j'" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# def autokey_encipher(message, keyword):\n", - "# shifts = [pos(l) for l in keyword + message]\n", - "# pairs = zip(message, shifts)\n", - "# return cat([caesar_encipher_letter(l, k) for l, k in pairs])" + "random.choice(string.ascii_letters)" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'wmpmmxxaeyhbryoca'" + "'abcdefghix'" ] }, - "execution_count": 28, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "autokey_encipher('meetatthefountain', 'kilt')" + "current_key = 'abcdefghij'\n", + "swap_char = 'x'\n", + "swap_pos = 9\n", + "current_key[:swap_pos] + swap_char + current_key[swap_pos+1:]\n" ] }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "ak_test = autokey_encipher(pa, 'kilt')" + ] + }, + { + "cell_type": "code", + "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'m'" + "[('kilt', -1982.5942545193702),\n", + " ('kiyt', -2117.043666451548),\n", + " ('kipt', -2125.6207361003303),\n", + " ('kiet', -2135.7095260154465),\n", + " ('kvwt', -2231.361558579521),\n", + " ('vist', -2232.3107729160006),\n", + " ('kvlx', -2237.7544352857253),\n", + " ('zile', -2248.1523359962066),\n", + " ('kvle', -2249.1182850165283),\n", + " ('kpwt', -2255.9288583512516)]" ] }, - "execution_count": 29, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "caesar_decipher_letter('w', pos('k'))" + "autokey_sa_break(ak_test, min_keylength=4, max_keylength=4, result_count=10, max_iterations=200)" ] }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "# def autokey_decipher(ciphertext, keyword):\n", - "# plaintext = []\n", - "# keys = list(keyword)\n", - "# for c in ciphertext:\n", - "# plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - "# plaintext += [plaintext_letter]\n", - "# keys = keys[1:] + [plaintext_letter]\n", - "# return cat(plaintext)" + "autokey_sa_break(scb, result_count=5, workers=3, max_iterations=10000)" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "autokey_sa_break(rscb, result_count=5, workers=3, max_iterations=10000)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'meetatthefountain'" + "[('qrnpubvwtzugtlwddoifnjvdheitvi', -6918.890743720903),\n", + " ('uefkkxonubhvdtdurfubxbzkjah', -6922.638307498602),\n", + " ('tpqqhjryvlhruqvplqnsywpilk', -6923.397101824461),\n", + " ('qrnpubvwpzugnlcddoifbjxdtexmvi', -6923.5112372608955),\n", + " ('qrnpubvwtoucnlwddoifbcvdtexmvi', -6924.305901378617)]" ] }, - "execution_count": 31, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "autokey_decipher('wmpmmxxaeyhbryoca', 'kilt')" + "autokey_sa_break(scb, result_count=5, workers=3, max_iterations=10000, min_keylength=20, max_keylength=30)" ] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'mespatflefcqntmmn'" + "[('nogfdnwponovyhqismypxekndlpmix', -6916.589251081877),\n", + " ('nkgfdugponovyhuismxpxeljdljmix', -6923.8905778243015),\n", + " ('csxxuulpryngerolomlgnlvboy', -6925.677023107234),\n", + " ('qtrlrenfmzcxhyradvostzjxcdy', -6929.320259203846),\n", + " ('pmyprozldulhvmfpiewdnemu', -6930.3888954698195)]" ] }, - "execution_count": 32, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "autokey_decipher('wmpmmxxaeyhbryoca', 'kixx')" + "autokey_sa_break(rscb, result_count=5, workers=3, max_iterations=10000, min_keylength=20, max_keylength=30)" ] }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 47, "metadata": {}, "outputs": [], "source": [ - "def autokey_testing_substring(plaintext, keylength, keychars_known):\n", - " return cat(ch[:keychars_known] for ch in chunks(plaintext, keylength))" + "sscb = scytale_decipher(scb, 43)\n", + "srscb = scytale_decipher(rscb, 43)" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'meatefntn'" + "[('vklcparzcolvwdrvrndxxmgmbglm', -6907.46141373408),\n", + " ('vkycpargcsnvwdrprndxxmgblgls', -6910.736962948671),\n", + " ('hwqmzwiwewsassrokbadwudqbraadg', -6912.798346149271),\n", + " ('vkycoarzcdnvwdrvrnpximgbbglm', -6913.0646874962185),\n", + " ('hhqmjwiwewsaskaosbfdwbdqmraadg', -6916.238829106846)]" ] }, - "execution_count": 34, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "autokey_testing_substring('mespatflefcqntmmn', 4, 2)" + "autokey_sa_break(sscb, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" ] }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'M'" + "[('eifphdkppbcvmqtaypoakditgrne', -6895.514866223432),\n", + " ('cskvdzvxgmuhyejzrchnamnumbafdb', -6903.31105944039),\n", + " ('czkvdkwxgmuhrejzochnamnhmbcfdb', -6903.706305242735),\n", + " ('veaievzlgucnllkhxoqisvedcsbkc', -6914.318977561039),\n", + " ('voaievzlgulnllkhrqqisvuuosqkc', -6914.61830085611)]" ] }, - "execution_count": 35, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "random.choice(string.ascii_letters)" + "autokey_sa_break(srscb, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" ] }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 50, + "metadata": {}, + "outputs": [], + "source": [ + "sscb101 = scytale_decipher(scb, 101)\n", + "srscb101 = scytale_decipher(rscb, 101)" + ] + }, + { + "cell_type": "code", + "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'abcdefghix'" + "[('eooiytuprcfyfdjgitgzuuhqxgghfa', -6889.183160787979),\n", + " ('tnzlofylzvtyuvcbqefvdxjpolz', -6889.251858549689),\n", + " ('eooiytgprcfnfdjiizgzuufqxgghfw', -6891.508282650159),\n", + " ('tnznofylkvtxuvebqefslojpolz', -6909.623776489467),\n", + " ('eooidtgprcjnfdjgitgzgqhqxgghfa', -6909.743935433626)]" ] }, - "execution_count": 36, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "current_key = 'abcdefghij'\n", - "swap_char = 'x'\n", - "swap_pos = 9\n", - "current_key[:swap_pos] + swap_char + current_key[swap_pos+1:]\n" + "autokey_sa_break(sscb101, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" ] }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 52, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[('cvetxhkimjcdtlgzzsnnllqyznkegp', -6891.807650966108),\n", + " ('czetxhzimjcdtlgszsnnllqyznkegj', -6892.977039628252),\n", + " ('xvetxhzimjcdtlfzmgpnklquznkeyp', -6896.358808812817),\n", + " ('ykzunyqtuogqhvylleauombzcth', -6908.781084023478),\n", + " ('ykzuyyqtsogqhvyfleauombxoth', -6912.285312797098)]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# def autokey_sa_break_worker(message, key, \n", - "# t0, max_iterations, fitness):\n", - " \n", - "# temperature = t0\n", - "\n", - "# dt = t0 / (0.9 * max_iterations)\n", - " \n", - "# plaintext = autokey_decipher(message, key)\n", - "# current_fitness = fitness(plaintext)\n", - "# current_key = key\n", - "\n", - "# best_key = current_key\n", - "# best_fitness = current_fitness\n", - "# best_plaintext = plaintext\n", - " \n", - "# # print('starting for', max_iterations)\n", - "# for i in range(max_iterations):\n", - "# swap_pos = random.randrange(len(current_key))\n", - "# swap_char = random.choice(string.ascii_lowercase)\n", - " \n", - "# new_key = current_key[:swap_pos] + swap_char + current_key[swap_pos+1:]\n", - " \n", - "# plaintext = autokey_decipher(message, new_key)\n", - "# new_fitness = fitness(plaintext)\n", - "# try:\n", - "# sa_chance = math.exp((new_fitness - current_fitness) / temperature)\n", - "# except (OverflowError, ZeroDivisionError):\n", - "# # print('exception triggered: new_fit {}, current_fit {}, temp {}'.format(new_fitness, current_fitness, temperature))\n", - "# sa_chance = 0\n", - "# if (new_fitness > current_fitness or random.random() < sa_chance):\n", - "# # logger.debug('Simulated annealing: iteration {}, temperature {}, '\n", - "# # 'current alphabet {}, current_fitness {}, '\n", - "# # 'best_plaintext {}'.format(i, temperature, current_alphabet, \n", - "# # current_fitness, best_plaintext[:50]))\n", - "\n", - "# # logger.debug('new_fit {}, current_fit {}, temp {}, sa_chance {}'.format(new_fitness, current_fitness, temperature, sa_chance))\n", - "# # print(new_fitness, new_key, plaintext[:100])\n", - "# current_fitness = new_fitness\n", - "# current_key = new_key\n", - " \n", - "# if current_fitness > best_fitness:\n", - "# best_key = current_key\n", - "# best_fitness = current_fitness\n", - "# best_plaintext = plaintext\n", - "# if i % 500 == 0:\n", - "# logger.debug('Simulated annealing: iteration {}, temperature {}, '\n", - "# 'current key {}, current_fitness {}, '\n", - "# 'best_plaintext {}'.format(i, temperature, current_key, \n", - "# current_fitness, plaintext[:50]))\n", - "# temperature = max(temperature - dt, 0.001)\n", - " \n", - "# # print(best_key, best_fitness, best_plaintext[:70])\n", - "# return best_key, best_fitness # current_alphabet, current_fitness" + "autokey_sa_break(srscb101, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" ] }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "metadata": {}, "outputs": [], - "source": [ - "ak_test = autokey_encipher(pa, 'kilt')" - ] + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] }, { "cell_type": "code", - "execution_count": 338, + "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "-2719.627668833628 naaa jijkdecpxolkhzildweduglvqgebqmiylxahhzilsisxzweveqfhbziptschzgildmwbyagwavlxumhhbtamdwgnxvpxekpoqqjm\n", - "-2559.375697093652 naat jijrdecixolrhziedwekugloqgeiqmirlxaohziesisezweoeqfobziitscozgiedmwiyagpavleumhabtatdwggxvpeekphqqjt\n", - "-2538.054449167298 eaat sijruecigolryziemweklglozgeihmiruxaoyziebiseqweonqfosziicscoqgiemmwipagpjvlelmhaktatuwgggvpevkphzqjt\n", - "-2510.4241335808183 esat sqjruwcigwlryriemeeklylozoeiheirufaoyriebqseqoeonyfosriicacoqyiemuwipsgpjdlelehakbatuogggdpevcphzyjt\n", - "-2509.022411040363 tsat dqjrjwcirwlrnriexeekaylokoeiweirffaonriemqsefoeoyyfohriinacofyiexuwiesgpudleaehavbatjoggrdpekcphkyjt\n", - "-2547.736505239176 tfat ddjrjjcirjlrneiexrekallokbeiwrirfsaoneiemdsefbeoylfoheiinncofliexhwiefgpuqlearhavoatjbggrqpekpphkljt\n", - "-2592.5277210630725 tnat dvjrjrcirblrnmiexjekatlokteiwzirfkaonmiemvsefjeoydfohmiinfcoftiexzwiengpuileazhavgatjjggripekxphkdjt\n", - "-2621.5958678526686 tnut dvprjrwirbrrnmcexjkkatfoktkiwzcrfkgonmcemvyefjyoydlohmcinfioftcexzcienapuireazbavggtjjagrivekxjhkdpt\n", - "-2578.171322908671 rnut fvprhrwitbrrlmcezjkkytfomtkiuzcrhkgolmceovyedjyoadlofmcipfiodtcezzcicnapwireyzbaxggthjagtiveixjhmdpt\n", - "-2501.542881848345 rhut fbprhlwithrrlgcezpkkynfomzkiutcrhqgolgceobyeddyoajlofgcipliodncezfcichapworeytbaxmgthdagtoveirjhmjpt\n", - "-2497.1310643548723 rhot fbvrhlqithxrlgwezpqkynzomzqiutwrhqmolgweobeeddsoajrofgwiploodnwezfiichupwoxeytvaxmmthdugtobeirdhmjvt\n", - "-2307.288471335806 rhlt fbyrhlnitharlgtezptkynwomztiuttrhqpolgteobheddpoajuofgtiplrodntezflichrpwoaeytsaxmpthdrgtoeeirahmjyt\n", - "-2293.2547419923126 ghlt qbyrwlnieharagtekptknnwoxztijttrsqpoagtezbhesdpoljuougtialrosntekflirhrphoaentsaimptwdrgeoeexrahxjyt\n", - "-2293.2547419923126 ghlt qbyrwlnieharagtekptknnwoxztijttrsqpoagtezbhesdpoljuougtialrosntekflirhrphoaentsaimptwdrgeoeexrahxjyt\n", - "-2446.3700134883934 ghet qbfrwlgiehhragmekpaknnpoxzaijtmrsqwoagmezboesdioljbougmialyosnmekfsirhkphohentlaimwtwdkgeolexrthxjft\n", - "-2476.851281721765 ghxt qbmrwlziehoragfekphknnioxzhijtfrsqdoagfezbvesdboljiougfialfosnfekfzirhdphooenteaimdtwddgeosexrmhxjmt\n", - "-2462.62371882913 gbxt qhmrwfzienoraafekvhknhioxfhijnfrswdoaafezhvesxbolpiouafiarfoshfeklzirbdphuoenneaisdtwxdgeusexlmhxpmt\n", - "-2491.0180209011196 ggxt qcmrwkzieioraffekqhknmioxahijsfrsrdoaffezcvescbolkiouffiamfosmfekgzirgdphpoenseaindtwcdgepsexqmhxkmt\n", - "-2549.8780177290696 egxt scmrukzigioryffemqhklmiozahihsfrurdoyffebcveqcbonkiosfficmfoqmfemgzipgdpjpoelseakndtucdggpsevqmhzkmt\n", - "-2528.834409587327 esxt sqmruwzigworyrfemehklyiozohihefrufdoyrfebqveqobonyiosrficafoqyfemuzipsdpjdoeleeakbdtuodggdsevcmhzymt\n", - "-2526.024585676602 ejxt szmrunzigforyifemnhklpiozxhihvfruodoyifebzveqfbonhiosificjfoqpfemdzipjdpjmoelveakkdtufdggmsevtmhzhmt\n", - "-2457.9518753834477 zjxt xzmrpnzilfortifernhkgpioexhicvfrzodotifegzvelfboshionifihjfolpferdzikjdpomoegveapkdtpfdglmseqtmhehmt\n", - "-2497.848519989155 ijxt ozmrynzicforcifeinhkppiovxhilvfrqodocifexzveufbojhiowifiyjfoupfeidzitjdpfmoepveagkdtyfdgcmseztmhvhmt\n", - "-2529.950122494606 cjxt uzmrsnziiforwifeonhkjpiobxhifvfrwodowifedzveofbophioqifiejfoopfeodzinjdplmoejveamkdtsfdgimsettmhbhmt\n", - "-2529.1360956265135 yjxt yzmronzimforsifesnhkfpiofxhibvfraodosifehzvekfbothiomifiijfokpfesdzijjdppmoefveaqkdtofdgmmseptmhfhmt\n", - "-2566.5927228248647 fjxt rzmrvnzifforzifelnhkmpioyxhiivfrtodozifeazverfbomhiotifibjforpfeldziqjdpimoemveajkdtvfdgfmsewtmhyhmt\n", - "-2590.446154877333 fgxt rcmrvkzifiorzffelqhkmmioyahiisfrtrdozffeacvercbomkiotffibmformfelgziqgdpipoemseajndtvcdgfpsewqmhykmt\n", - "-2548.4762951886128 tgxt dcmrjkziriornffexqhkamiokahiwsfrfrdonffemcvefcboykiohffinmfofmfexgziegdpupoeaseavndtjcdgrpsekqmhkkmt\n", - "-2505.0517502446132 rgxt fcmrhkzitiorlffezqhkymiomahiusfrhrdolffeocvedcboakiofffipmfodmfezgzicgdpwpoeyseaxndthcdgtpseiqmhmkmt\n", - "-2505.0517502446132 rgxt fcmrhkzitiorlffezqhkymiomahiusfrhrdolffeocvedcboakiofffipmfodmfezgzicgdpwpoeyseaxndthcdgtpseiqmhmkmt\n", - "-2313.4651906468666 rixt famrhmzitgorlhfezohkyoiomyhiuufrhpdolhfeoavedeboaiiofhfipkfodofezezicidpwnoeyueaxldthedgtnseismhmimt\n", - "-2362.216994949325 cixt uamrsmziigorwhfeoohkjoiobyhifufrwpdowhfedaveoebopiioqhfiekfooofeoezinidplnoejueamldtsedginsetsmhbimt\n", - "-2334.019515323229 civt uaorsmxiigqrwhdeoojkjogobyjifudrwpfowhdedaxeoezopikoqhdiekhooodeoebinibplnqejucamlftsebginuetskhbiot\n", - "-2543.2765609780513 cfvt udorsjxiijqrwedeorjkjlgobbjifrdrwsfowededdxeobzoplkoqedienhooldeohbinfbplqqejrcamoftsbbgiquetpkhblot\n", - "-2532.1927823657165 cavt uiorsexiioqrwzdeowjkjggobgjifmdrwxfowzdedixeowzopqkoqzdieshoogdeombinabplvqejmcamtftswbgivuetkkhbqot\n", - "-2515.2875898828693 javt niorzexiboqrdzdehwjkqggougjimmdrpxfodzdewixevwzoiqkoxzdixshovgdehmbiuabpevqeqmcaftftzwbgbvueakkhuqot\n", - "-2600.347235533207 jagt nidrzeiibofrdzoehwykqgrougyimmorpxuodzoewimevwkoiqzoxzoixswovgoehmqiuampevfeqmnaftutzwmgbvjeakvhuqdt\n", - "-2616.4384011479606 yagt yidroeiimofrszoeswykfgrofgyibmoraxuoszoehimekwkotqzomzoiiswokgoesmqijamppvfefmnaqtutowmgmvjepkvhfqdt\n", - "-2666.905698497986 ydgt yfdrohiimlfrscoestykfjrofdyibporauuoscoehfmekzkotnzomcoiipwokjoesjqijdmppsfefpnaqqutozmgmsjepnvhfndt\n", - "-2595.721478254922 zdgt xfdrphiillfrtcoertykgjroedyicporzuuotcoegfmelzkosnzoncoihpwoljoerjqikdmposfegpnapqutpzmglsjeqnvhendt\n", - "-2666.905698497986 ydgt yfdrohiimlfrscoestykfjrofdyibporauuoscoehfmekzkotnzomcoiipwokjoesjqijdmppsfefpnaqqutozmgmsjepnvhfndt\n", - "-2569.4734743252566 ydpt yfurohrimlwrscxestpkfjaofdpibpxrauloscxehfdekztotnqomcxiipnokjxesjhijdvppswefpwaqqltozvgmsaepnehfnut\n", - "-2461.460947722013 yept yeuroirimkwrsdxesspkfkaofcpibqxratlosdxehedekatotmqomdxiionokkxesihijevpprwefqwaqpltoavgmraepoehfmut\n", - "-2486.682643645287 ycpt ygurogrimmwrsbxesupkfiaofepiboxravlosbxehgdekytotoqombxiiqnokixeskhijcvpptwefowaqrltoyvgmtaepmehfout\n", - "-2492.5224008896926 hcpt pgurxgridmwrbbxejupkoiaowepikoxrrvlobbxeygdetytokoqovbxizqnotixejkhiscvpgtweoowahrltxyvgdtaeymehwout\n", - "-2476.0114591962993 htpt ppurxxridvwrbsxejdpkozaownpikfxrrelobsxeypdetptokxqovsxizznotzxejthistvpgcweofwahaltxpvgdcaeydehwxut\n", - "-2496.0531224495544 htht ppcrxxjidverbspejdxkozsownxikfprretobspeypletplokxyovspizzvotzpejtpistnpgceeofoahattxpngdcieydwhwxct\n", - "-2517.897305841322 hoht pucrxsjidaerbnpejixkousowsxikaprrjtobnpeyuletklokcyovnpizevotupejypisonpgheeoaoahfttxkngdhieyywhwcct\n", - "-2445.0825081008684 xoht zucrnsjinaerrnpetixkeusogsxiaaprbjtornpeiulejkloucyolnpijevojupetypiionpqheeeaoarfttnkngnhieoywhgcct\n", - "-2451.319353108345 xhht zbcrnljinherrgpetpxkensogzxiatprbqtorgpeiblejdloujyolgpijlvojnpetfpiihnpqoeeetoarmttndngnoieorwhgjct\n", - "-2423.238324709101 xtht zpcrnxjinverrspetdxkezsognxiafprbetorspeiplejplouxyolspijzvojzpettpiitnpqceeefoarattnpngncieodwhgxct\n", - "-2566.35995254638 xthi zpccnxjxnvecrspttdxvezsdgnxtafpgbetzrsptiplpjplduxyzlspxjzvzjzptttptitneqcepefopratenpnvncipodwwgxce\n", - "-2533.6596137282577 xtsi zprcnxuxnvtcrsattdmvezddgnmtafagbeizrsatipapjpwduxnzlsaxjzkzjzatttetityeqctpefzpraienpyvncxpodhwgxre\n", - "-2588.715716353525 atsi wprcqxuxkvtcusatqdmvhzdddnmtdfagyeizusatfpapmpwdrxnzosaxgzkzmzatqtetltyenctphfzpoaieqpyvkcxprdhwdxre\n", - "-2588.715716353525 atsi wprcqxuxkvtcusatqdmvhzdddnmtdfagyeizusatfpapmpwdrxnzosaxgzkzmzatqtetltyenctphfzpoaieqpyvkcxprdhwdxre\n", - "-2644.3408126466215 atdi wpgcqxfxkvicusltqdbvhzoddnbtdflgyexzusltfpppmphdrxczoslxgzzzmzltqtttltjenciphfkpoaxeqpjvkcmprdswdxge\n", - "-2675.76316809776 ptdi hpgcfxfxvvicjsltbdbvwzodonbtsflgjexzjsltqpppbphdcxczdslxrzzzbzltbtttatjeycipwfkpzaxefpjvvcmpgdswoxge\n", - "-2780.472637557328 pndi hvgcfrfxvbicjmltbjbvwtodotbtszlgjkxzjmltqvppbjhdcdczdmlxrfzzbtltbzttanjeyiipwzkpzgxefjjvvimpgxswodge\n", - "-2682.8155848800075 pmdi hwgcfqfxvcicjlltbkbvwsodoubtsylgjlxzjlltqwppbihdceczdllxrgzzbsltbattamjeyjipwykpzhxefijvvjmpgwswoege\n", - "-2745.4789285993147 pmdw hwgofqflvciojllhbkbhwsoroubfsylujlxljllhqwpbbihrcecldlllrgzlbslhbatfamjsyjibwykdzhxqfijjvjmbgwskoegq\n", - "-2781.8514990681447 pudw hogofyflvuiojtlhbcbhwaorombfsglujdxljtlhqopbbqhrcwcldtllryzlbalhbstfaujsybibwgkdzzxqfqjjvbmbgeskowgq\n", - "-2825.258498243277 pudo hogwfyfdvuiwjtlzbcbpwaojombnsglmjdxtjtlzqopjbqhjcwctdtldryztbalzbstnaujkybijwgkvzzxyfqjbvbmjgescowgy\n", - "-2792.9052141333746 ludo logwbyfdzuiwftlzfcbpsaojsmbnoglmndxtftlzuopjxqhjgwctztldvyztxalzfstnwujkcbijsgkvdzxybqjbzbmjcescswgy\n", - "-2763.333692388906 lbdo lhgwbffdzniwfalzfvbpshojsfbnonlmnwxtfalzuhpjxxhjgpctzaldvrztxhlzfltnwbjkcuijsnkvdsxybxjbzumjclscspgy\n", - "-2796.8125299084586 lbto lhqwbfvdznswfabzfvlpshejsflnonbmnwhtfabzuhzjxxxjgpmtzabdvrjtxhbzfldnwbzkcusjsnavdshybxzbzuwjclicspqy\n", - "-2714.1000305006432 lbtq lhqubfvfznsufabbfvlnshelsfllonbonwhrfabbuhzhxxxlgpmrzabfvrjrxhbbfldlwbzmcushsnaxdshwbxzdzuwhcliespqw\n", - "-2764.406524228539 fbtq rhquvfvffnsuzabblvlnmhelyfllinbotwhrzabbahzhrxxlmpmrtabfbrjrrhbblldlqbzmiushmnaxjshwvxzdfuwhwlieypqw\n", - "-2746.1250226527072 fbtg rhqevfvvfnsezabrlvlxmhebyflvinbetwhbzabrahzrrxxbmpmbtabvbrjbrhbrlldvqbzciusrmnanjshgvxztfuwrwliuypqg\n", - "-2657.0210888400575 fbsg rhrevfuvfntezaarlvmxmhdbyfmvinaetwibzaaraharrxwbmpnbtaavbrkbrharllevqbyciutrmnznjsigvxytfuxrwlhuyprg\n", - "-2664.3717827703063 fssg rqrevwuvfwtezrarlemxmydbyomvieaetfibzraraqarrowbmynbtravbakbryarluevqsycidtrmeznjbigvoytfdxrwchuyyrg\n", - "-2646.3400911789236 fssx rqrnvwumfwtnzrailemgmydsyomeieavtfikzraiaqaarowsmynktrambakkryailueeqsytidtamezejbipvoykfdxawchlyyrp\n", - "-2735.8435849479065 fsqx rqtnvwsmfwvnzryileogmybsyooeieyvtfkkzryiaqcarousmypktrymbamkryyilugeqswtidvamexejbkpvowkfdzawcflyytp\n", - "-2756.887193089649 fgqx rctnvksmfivnzfyilqogmmbsyaoeisyvtrkkzfyiaccarcusmkpktfymbmmkrmyilggeqgwtipvamsxejnkpvcwkfpzawqflyktp\n", - "-2719.6175118865235 fgmx rcxnvkomfiznzfuilqsgmmxsyaseisuvtrokzfuiacgarcqsmktktfumbmqkrmuilgkeqgstipzamstejnopvcskfpdawqblykxp\n", - "-2735.5260163764533 fgix rcbnvkkmfidnzfqilqwgmmtsyaweisqvtrskzfqiackarcmsmkxktfqmbmukrmqilgoeqgotipdamspejnspvcokfphawqxlykbp\n", - "-2702.2021570275124 fgax rcjnvkcmfilnzfiilqegmmlsyaeeisivtrakzfiiacsarcesmkfktfimbmckrmiilgweqggtiplamshejnapvcgkfppawqplykjp\n", - "-2676.465331142306 fcax rgjnvgcmfmlnzbiiluegmilsyeeeioivtvakzbiiagsaryesmofktbimbqckriiilkweqcgtitlamohejrapvygkftpawmplyojp\n", - "-2635.897193994044 ecax sgjnugcmgmlnybiimueglilszeeehoivuvakybiibgsaqyesnofksbimcqckqiiimkwepcgtjtlalohekrapuygkgtpavmplzojp\n", - "-2664.9653407836404 ecux sgpnugwmgmrnybcimukglifszekehocvuvgkybcibgyaqyysnolksbcmcqikqicimkcepcatjtralobekrgpuyakgtvavmjlzopp\n", - "-2679.3405532376605 ecuj sgpbugwygmrbybcumukulifezekshochuvgyybcubgyoqyyenolysbcycqiyqicumkcspcafjtrolobqkrgduyawgtvovmjxzopd\n", - "-2615.453948741219 ecsj sgrbuguygmtbybaumumulidezemshoahuviyybaubgaoqywenonysbaycqkyqiaumkespcyfjttolozqkriduyywgtxovmhxzord\n", - "-2659.8435010918097 ecsd sgrhugusgmthybaomumalidyzemyhoabuvieybaobgauqywynonesbascqkeqiaomkeypcyzjttulozkkrijuyyqgtxuvmhrzorj\n", - "-2724.7098910473474 eccd sghhugesgmjhybkomucalinyzecyhokbuvyeybkobgquqygynodesbkscqaeqikomkuypcizjtjulojkkryjuyiqgtnuvmrrzohj\n", - "-2695.180943153786 eccf sghfugeugmjfybkqmucylinazecwhokduvycybkqbgqsqyganodcsbkucqacqikqmkuwpcibjtjslojmkryhuyisgtnsvmrtzohh\n", - "-2702.5895059607533 ecnf sgwfugpugmyfybvqmuryliyazerwhovduvncybvqbgfsqyranoscsbvucqpcqivqmkjwpctbjtysloumkrnhuytsgtcsvmctzowh\n", - "-2695.180943153786 eccf sghfugeugmjfybkqmucylinazecwhokduvycybkqbgqsqyganodcsbkucqacqikqmkuwpcibjtjslojmkryhuyisgtnsvmrtzohh\n", - "-2665.062212921196 qccf gghfggeuumjfkbkqaucyxinanecwtokdivyckbkqpgqscygabodcebkuqqaccikqakuwbcibxtjsxojmyryhgyisutnshmrtnohh\n", - "-2682.201287488944 jccf nghfzgeubmjfdbkqhucyqinauecwmokdpvycdbkqwgqsvygaiodcxbkuxqacvikqhkuwucibetjsqojmfryhzyisbtnsamrtuohh\n", - "-2715.1979879400874 jccb nghjzgeqbmjjdbkmhuccqinwuecamokzpvygdbkmwgqwvygwiodgxbkqxqagvikmhkuaucixetjwqojifrylzyiobtnwamrpuohl\n", - "-2768.745780753192 fccb rghjvgeqfmjjzbkmluccminwyecaiokztvygzbkmagqwrygwmodgtbkqbqagrikmlkuaqcixitjwmojijrylvyioftnwwmrpyohl\n", - "-2732.1031804229333 cccb ughjsgeqimjjwbkmouccjinwbecafokzwvygwbkmdgqwoygwpodgqbkqeqagoikmokuancixltjwjojimrylsyioitnwtmrpbohl\n", - "-2667.236790467397 ccsb ugrjsguqimtjwbamoumcjidwbemafoazwvigwbamdgawoywwpongqbaqeqkgoiamokeancyxlttwjozimrilsyyoitxwtmhpborl\n", - "-2663.769037909813 ccsd ugrhsgusimthwbaooumajidybemyfoabwviewbaodgauoywyponeqbaseqkeoiaookeyncyzlttujozkmrijsyyqitxutmhrborj\n", - "-2616.906071447458 ocsd igrheguswmthibaocumavidypemyroabkvieibaorgauaywydonecbassqkeaiaockeyzcyzzttuvozkarijeyyqwtxufmhrporj\n", - "-2640.4777683127736 olsd ixrhepuswdthikaoclmavrdypvmyrxabkmieikaorxauahwydfneckasshkearaocbeyzlyzzktuvxzkaiijehyqwkxufvhrpfrj\n", - "-2576.0502403445903 ovsd inrhezuswtthiuaocbmavbdyplmyrhabkcieiuaornauarwydvnecuassxkeabaocreyzvyzzatuvhzkayijeryqwaxuffhrpvrj\n", - "-2545.58269849568 ovsz inrlezuowttliuakcbmevbduplmcrhaxkciiiuakrnayarwudvnicuaosxkiabakcreczvyvzatyvhzgayinerymwaxyffhnpvrn\n", - "-2578.529867246583 ovsh inrdezuwwttdiuascbmwvbdcplmurhafkciaiuasrnaqarwcdvnacuawsxkaabascreuzvydzatqvhzoayiferyuwaxqffhvpvrf\n", - "-2651.7092316793933 oash iirdeeuwwotdizascwmwvgdcpgmurmafkxiaizasriaqawwcdqnaczawsskaagascmeuzaydzvtqvmzoatifewyuwvxqfkhvpqrf\n", - "-2651.7092316793933 oash iirdeeuwwotdizascwmwvgdcpgmurmafkxiaizasriaqawwcdqnaczawsskaagascmeuzaydzvtqvmzoatifewyuwvxqfkhvpqrf\n", - "-2651.7092316793933 oash iirdeeuwwotdizascwmwvgdcpgmurmafkxiaizasriaqawwcdqnaczawsskaagascmeuzaydzvtqvmzoatifewyuwvxqfkhvpqrf\n", - "-2715.9679092500983 nash jirddeuwxotdhzasdwmwugdcqgmuqmaflxiahzassiaqzwwceqnabzawtskazgasdmeuyaydavtqumzobtifdwyuxvxqekhvqqrf\n", - "-2681.6670056589023 jash nirdzeuwbotddzashwmwqgdcugmummafpxiadzaswiaqvwwciqnaxzawxskavgashmeuuaydevtqqmzoftifzwyubvxqakhvuqrf\n", - "-2646.6859961421746 jbsh nhrdzfuwbntddaashvmwqhdcufmumnafpwiadaaswhaqvxwcipnaxaawxrkavhashleuubydeutqqnzofsifzxyubuxqalhvuprf\n", - "-2596.805454166372 jbse nhrgzfutbntgdaaphvmzqhdzufmxmnacpwiddaapwhatvxwzipndxaatxrkdvhaphlexubyaeuttqnzlfsiizxyrbuxtalhsupri\n", - "-2609.785109831214 ebse shrgufutgntgyaapmvmzlhdzzfmxhnacuwidyaapbhatqxwznpndsaatcrkdqhapmlexpbyajuttlnzlksiiuxyrguxtvlhszpri\n", - "-2616.4950645392123 ebsp shrvufuegntvyaaamvmolhdkzfmmhnanuwisyaaabhaiqxwknpnssaaecrksqhaamlempbyljutilnzwksixuxycguxivlhdzprx\n", - "-2669.3836998997986 ebrp shsvuftegnuvyazamvnolhckzfnmhnznuwjsyazabhbiqxvknpossazecrlsqhzamlfmpbxljuuilnywksjxuxxcguyivlgdzpsx\n", - "-2649.1954033573334 ebhp shcvufjegnevyapamvxolhskzfxmhnpnuwtsyapabhliqxlknpyssapecrvsqhpamlpmpbnljueilnowkstxuxncguiivlwdzpcx\n", - "-2620.5766704552943 ebyp shlvufaegnnvyagamvgolhjkzfgmhngnuwcsyagabhuiqxcknphssagecresqhgamlympbeljunilnfwkscxuxecgurivlndzplx\n", - "-2672.1201608323086 ebdp shgvuffegnivyalamvbolhokzfbmhnlnuwxsyalabhpiqxhknpcssalecrzsqhlamltmpbjljuiilnkwksxxuxjcgumivlsdzpgx\n", - "-2698.3493338844078 eldp sxgvupfegdivyklamlbolrokzvbmhxlnumxsyklabxpiqhhknfcssklechzsqrlambtmpljljkiilxkwkixxuhjcgkmivvsdzfgx\n", - "-2695.2250010260022 eldm sxgyupfbgdiyyklxmlbrlrohzvbphxlkumxvyklxbxplqhhhnfcvsklbchzvqrlxmbtppljijkillxktkixauhjzgkmlvvsazfga\n", - "-2755.8942228455085 eldw sxgoupflgdioyklhmlbhlrorzvbfhxluumxlyklhbxpbqhhrnfclskllchzlqrlhmbtfpljsjkiblxkdkixquhjjgkmbvvskzfgq\n", - "-2725.2358319033633 uldw cxgokpflqdiooklhwlbhbrorjvbfxxluemxloklhlxpbghhrxfclikllmhzlgrlhwbtffljstkibbxkduixqkhjjqkmblvskjfgq\n", - "-2719.3334334033048 wldw axgompflodioqklhulbhdrorhvbfzxlucmxlqklhjxpbihhrvfclkkllkhzlirlhubtfhljsrkibdxkdsixqmhjjokmbnvskhfgq\n", - "-2712.4593782777556 wldr axgtmpfgoditqklculbmdromhvbkzxlpcmxqqklcjxpgihhmvfcqkklgkhzqirlcubtkhljnrkigdxkysixvmhjeokmgnvsfhfgv\n", - "-2691.652739691505 wlar axjtmpcgodltqkiculemdrlmhvekzxipcmaqqkicjxsgihemvffqkkigkhcqiricubwkhlgnrklgdxhysiavmhgeokpgnvpfhfjv\n", - "-2651.570101132797 wtar apjtmxcgovltqsicudemdzlmhnekzfipceaqqsicjpsgipemvxfqksigkzcqizicutwkhtgnrclgdfhysaavmpgeocpgndpfhxjv\n", - "-2648.0783494709617 wtan apjxmxccovlxqsiyudeqdzlihneozfilceauqsiyjpskipeivxfuksickzcuiziyutwohtgjrclkdfhusaazmpgaocpkndpbhxjz\n", - "-2492.538475030655 ktan mpjxaxccavlxesiygdeqrzlitneonfiloeauesiyvpskwpeihxfuysicwzcuwziygtwovtgjdclkrfhueaazapgaacpkbdpbtxjz\n", - "-2509.9420137811135 ktak mpjaaxczavlaesivgdetrzlftnernfiioeaxesivvpsnwpefhxfxysizwzcxwzivgtwrvtggdclnrfhreaacapgxacpnbdpytxjc\n", - "-2643.182680835671 gtak qpjawxczevlaasivkdetnzlfxnerjfiiseaxasivzpsnspeflxfxusizazcxszivktwrrtgghclnnfhriaacwpgxecpnxdpyxxjc\n", - "-2705.1541876135334 ytak ypjaoxczmvlassivsdetfzlffnerbfiiaeaxssivhpsnkpeftxfxmsizizcxkzivstwrjtggpclnffhrqaacopgxmcpnpdpyfxjc\n", - "-2650.7373128065437 dtak tpjatxczhvlaxsivndetkzlfanergfiiveaxxsivcpsnppefoxfxrsizdzcxpzivntwrotggkclnkfhrlaactpgxhcpnudpyaxjc\n", - "-2633.3337740560855 dtan tpjxtxcchvlxxsiyndeqkzlianeogfilveauxsiycpskppeioxfursicdzcupziyntwootgjkclkkfhulaaztpgahcpkudpbaxjz\n", - "-2654.140412642337 dtdn tpgxtxfchvixxslyndbqkzoianbogfllvexuxslycppkpphioxcurslcdzzupzlynttootjjkcikkfkulaxztpjahcmkudsbaxgz\n", - "-2633.3337740560855 dtan tpjxtxcchvlxxsiyndeqkzlianeogfilveauxsiycpskppeioxfursicdzcupziyntwootgjkclkkfhulaaztpgahcpkudpbaxjz\n", - "-2640.3861908383337 dman twjxtqcchclxxliynkeqksliaueogyilvlauxliycwskpieioefurlicdgcupsiynawoomgjkjlkkyhulhaztigahjpkuwpbaejz\n", - "-2661.4148024553297 dhan tbjxtlcchhlxxgiynpeqknliazeogtilvqauxgiycbskpdeiojfurgicdlcupniynfwoohgjkolkkthulmaztdgahopkurpbajjz\n", - "-2657.406307549421 dhah tbjdtlcwhhldxgisnpewknlcazeugtifvqaaxgiscbsqpdecojfargiwdlcapnisnfwuohgdkolqktholmaftdguhopqurpvajjf\n", - "-2731.3265999367677 phah hbjdflcwvhldjgisbpewwnlcozeustifjqaajgisqbsqbdeccjfadgiwrlcabnisbfwuahgdyolqwthozmaffdguvopqgrpvojjf\n", - "-2635.959720904532 vhah bbjdllcwphldpgisvpewcnlcizeuytifdqaapgiskbsqhdecwjfajgiwllcahnisvfwughgdsolqcthotmafldgupopqmrpvijjf\n", - "-2711.8231823564106 yhah ybjdolcwmhldsgisspewfnlcfzeubtifaqaasgishbsqkdectjfamgiwilcaknissfwujhgdpolqfthoqmafodgumopqprpvfjjf\n", - "-2697.595619463776 ybah yhjdofcwmnldsaissvewfhlcffeubnifawaasaishhsqkxectpfamaiwircakhisslwujbgdpulqfnhoqsafoxgumupqplpvfpjf\n", - "-2735.052114519433 ybnh yhwdofpwmnydsavssvrwfhycffrubnvfawnasavshhfqkxrctpsamavwirpakhvssljujbtdpuyqfnuoqsnfoxtumucqplcvfpwf\n", - "-2703.893416396116 ybna yhwkofppmnyksavlsvrdfhyvffrbbnvyawnhsavlhhfxkxrvtpshmavpirphkhvlsljbjbtwpuyxfnuhqsnmoxtnmucxplcofpwm\n", - "-2696.4848535891488 ybca yhhkofepmnjksaklsvcdfhnvffcbbnkyawyhsaklhhqxkxgvtpdhmakpirahkhklslubjbiwpujxfnjhqsymoxinmunxplrofphm\n", - "-2675.096894577701 bbca vhhkrfepjnjkvaklpvcdihnvcfcbenkyxwyhvaklehqxnxgvqpdhpakpfrahnhklplubmbiwmujxinjhnsymrxinjunxslrocphm\n", - "-2703.7759657990246 bbcd vhhhrfesjnjhvakopvcaihnycfcyenkbxwyevakoehqunxgyqpdepaksfraenhkopluymbizmujuinjknsyjrxiqjunuslrrcphj\n", - "-2720.3352856208367 bycd vkhhrcesjqjhvxkopycaienycicyekkbxzyevxkoekqunugyqsdepxksfuaenekopouymyizmxjuikjknvyjruiqjxnusirrcshj\n", - "-2661.570520816225 bycx vkhnrcemjqjnvxkipycgiensciceekkvxzykvxkiekqanugsqsdkpxkmfuaknekipouemyitmxjaikjenvypruikjxnasirlcshp\n", - "-2737.1892142161205 bycw vkhorceljqjovxkhpychienrcicfekkuxzylvxkhekqbnugrqsdlpxklfualnekhpoufmyismxjbikjdnvyqruijjxnbsirkcshq\n", - "-2726.8234074287366 bycn vkhxrcecjqjxvxkypycqienicicoekklxzyuvxkyekqknugiqsdupxkcfuaunekypouomyijmxjkikjunvyzruiajxnksirbcshz\n", - "-2739.835609351392 bucn vohxryecjujxvtkypccqianicmcoegklxdyuvtkyeoqknqgiqwduptkcfyaunakypsuomuijmbjkigjunzyzrqiajbnkserbcwhz\n", - "-2544.601413379756 buln voyxryncjuaxvttypctqiawicmtoegtlxdpuvttyeohknqpiqwuupttcfyrunatypslomurjmbakigsunzpzrqrajbekseabcwyz\n", - "-2544.601413379756 buln voyxryncjuaxvttypctqiawicmtoegtlxdpuvttyeohknqpiqwuupttcfyrunatypslomurjmbakigsunzpzrqrajbekseabcwyz\n", - "-2370.777198558787 kuln moyxayncauaxettygctqrawitmtongtlodpuettyvohkwqpihwuuyttcwyruwatygslovurjdbakrgsuezpzaqraabekbeabtwyz\n", - "-2370.777198558787 kuln moyxayncauaxettygctqrawitmtongtlodpuettyvohkwqpihwuuyttcwyruwatygslovurjdbakrgsuezpzaqraabekbeabtwyz\n", - "-2327.574621669967 kpln mtyxatncazaxeotyghtqrvwitrtonbtloipueotyvthkwlpihbuuyotcwdruwvtygxlovprjdgakrbsueepzalraagekbzabtbyz\n", - "-2324.5542524196494 kplb mtyjatnqazajeotmghtcrvwwtrtanbtzoipgeotmvthwwlpwhbugyotqwdrgwvtmgxlavprxdgawrbsieeplalroagewbzaptbyl\n", - "-2321.086499862067 kpld mtyhatnsazaheotoghtarvwytrtynbtboipeeotovthuwlpyhbueyotswdrewvtogxlyvprzdgaurbskeepjalrqageubzartbyj\n", - "-2360.9467280585186 klld mxyhapnsadahektogltarrwytvtynxtbompeektovxhuwhpyhfueyktswhrewrtogblyvlrzdkaurxskeipjahrqakeubvartfyj\n", - "-2526.1329917814624 klad mxjhapcsadlhekioglearrlytveynxibomaeekiovxsuwheyhffeykiswhcewriogbwyvlgzdklurxhkeiajahgqakpubvprtfjj\n", - "-2585.3521255961145 kdad mfjhahcsallheciogtearjlytdeynpibouaeeciovfsuwzeyhnfeyciswpcewjiogjwyvdgzdslurphkeqajazgqaspubnprtnjj\n", - "-2587.8317524981076 kdah mfjdahcwalldecisgtewrjlctdeunpifouaaecisvfsqwzechnfayciwwpcawjisgjwuvdgddslqrphoeqafazguaspqbnpvtnjf\n", - "-2546.418890225647 kdwh mfndahywalpdecesgtiwrjhctdiunpefoueaecesvfwqwzachnjaycewwpgawjesgjauvdcddspqrpdoeqefazcuastqbnlvtnnf\n", - "-2546.418890225647 kdwh mfndahywalpdecesgtiwrjhctdiunpefoueaecesvfwqwzachnjaycewwpgawjesgjauvdcddspqrpdoeqefazcuastqbnlvtnnf\n", - "-2553.9191367933895 kdwr mfntahygalptececgtimrjhmtdiknpepoueqececvfwgwzamhnjqycegwpgqwjecgjakvdcndspgrpdyeqevazceastgbnlftnnv\n", - "-2543.9392633236544 kdwd mfnhahysalpheceogtiarjhytdiynpeboueeeceovfwuwzayhnjeyceswpgewjeogjayvdczdspurpdkeqejazcqastubnlrtnnj\n", - "-2776.608064354425 fdwd rfnhvhysflphzceoltiamjhyydiyipebtueezceoafwurzaymnjetcesbpgerjeoljayqdczispumpdkjqejvzcqfstuwnlrynnj\n", - "-2800.4997249127837 fdwk rfnavhyzflpazcevltitmjhfydiripeituexzcevafwnrzafmnjxtcezbpgxrjevljarqdcgispnmpdrjqecvzcxfstnwnlyynnc\n", - "-2551.859160520271 fiwk ranavmyzfgpazhevloitmohfyyiriueitpexzhevaawnreafmijxthezbkgxroevlearqicginpnmudrjlecvecxfntnwslyyinc\n", - "-2722.4021119762792 fswk rqnavwyzfwpazrevleitmyhfyoirieeitfexzrevaqwnroafmyjxtrezbagxryevluarqscgidpnmedrjbecvocxfdtnwclyyync\n", - "-2668.8543191631743 jswk nqnazwyzbwpadrevheitqyhfuoirmeeipfexdrevwqwnvoafiyjxxrezxagxvyevhuaruscgedpnqedrfbeczocxbdtnaclyuync\n", - "-2664.1611014197097 jcwk ngnazgyzbmpadbevhuitqihfueirmoeipvexdbevwgwnvyafiojxxbezxqgxvievhkaruccgetpnqodrfreczycxbttnamlyuonc\n", - "-2599.5784804955374 jcwp ngnvzgyebmpvdbeahuioqihkueimmoenpvesdbeawgwivyakiojsxbeexqgsvieahkamuccletpiqodwfrexzyccbttiamlduonx\n", - "-2599.5784804955374 jcwp ngnvzgyebmpvdbeahuioqihkueimmoenpvesdbeawgwivyakiojsxbeexqgsvieahkamuccletpiqodwfrexzyccbttiamlduonx\n", - "-2646.757562669253 jcwn ngnxzgycbmpxdbeyhuiqqihiueiomoelpveudbeywgwkvyaiiojuxbecxqguvieyhkaouccjetpkqodufrezzycabttkamlbuonz\n", - "-2657.1233694566363 jcww ngnozgylbmpodbehhuihqihrueifmoeupveldbehwgwbvyariojlxbelxqglviehhkafuccsetpbqoddfreqzycjbttbamlkuonq\n", - "-2610.740492967791 jcwf ngnfzgyubmpfdbeqhuiyqihaueiwmoedpvecdbeqwgwsvyaaiojcxbeuxqgcvieqhkawuccbetpsqodmfrehzycsbttsamltuonh\n", - "-2594.229551274398 jtwf npnfzxyubvpfdseqhdiyqzhauniwmfedpeecdseqwpwsvpaaixjcxseuxzgcvzeqhtawutcbecpsqfdmfaehzpcsbctsadltuxnh\n", - "-2627.2262517255426 jtwb npnjzxyqbvpjdsemhdicqzhwuniamfezpeegdsemwpwwvpawixjgxseqxzggvzemhtaautcxecpwqfdifaelzpcobctwadlpuxnl\n", - "-2627.2262517255426 jtwb npnjzxyqbvpjdsemhdicqzhwuniamfezpeegdsemwpwwvpawixjgxseqxzggvzemhtaautcxecpwqfdifaelzpcobctwadlpuxnl\n", - "-2646.4793318560255 jtpb npujzxrqbvwjdsxmhdpcqzawunpamfxzpelgdsxmwpdwvptwixqgxsxqxzngvzxmhthautvxecwwqfwifallzpvobcawadepuxul\n", - "-2643.011579298442 jtpd npuhzxrsbvwhdsxohdpaqzayunpymfxbpeledsxowpduvptyixqexsxsxznevzxohthyutvzecwuqfwkfaljzpvqbcauaderuxuj\n", - "-2654.589512422827 ttpd dpuhjxrsrvwhnsxoxdpaazayknpywfxbfelensxompdufptyyxqehsxsnznefzxoxthyetvzucwuafwkvaljjpvqrcaukderkxuj\n", - "-2613.856439209596 ttpg dpuejxrvrvwensxrxdpxazabknpvwfxefelbnsxrmpdrfptbyxqbhsxvnznbfzxrxthvetvcucwrafwnvalgjpvtrcarkdeukxug\n", - "-2423.1574978675444 ktpg mpueaxrvavweesxrgdpxrzabtnpvnfxeoelbesxrvpdrwptbhxqbysxvwznbwzxrgthvvtvcdcwrrfwnealgapvtacarbdeutxug\n", - "-2499.602756115328 kttg mpqeaxvvavseesbrgdlxrzebtnlvnfbeoehbesbrvpzrwpxbhxmbysbvwzjbwzbrgtdvvtzcdcsrrfaneahgapztacwrbdiutxqg\n", - "-2521.446939507095 kotg muqeasvvaaseenbrgilxruebtslvnabeojhbenbrvuzrwkxbhcmbynbvwejbwubrgydvvozcdhsrraanefhgakztahwrbyiutcqg\n", - "-2700.567947724763 jotg nuqezsvvbasednbrhilxquebuslvmabepjhbdnbrwuzrvkxbicmbxnbvxejbvubrhydvuozcehsrqaanffhgzkztbhwrayiuucqg\n", - "-2711.7720730444335 jotf nuqfzsvubasfdnbqhilyqueauslwmabdpjhcdnbqwuzsvkxaicmcxnbuxejcvubqhydwuozbehssqaamffhhzkzsbhwsayitucqh\n", - "-2743.7806478399857 joth nuqdzsvwbasddnbshilwquecuslumabfpjhadnbswuzqvkxcicmaxnbwxejavubshyduuozdehsqqaaoffhfzkzubhwqayivucqf\n", - "-2706.9105265931935 jomh nuxdzsowbazddnushiswquxcussumaufpjoadnuswugqvkqcictaxnuwxeqavuushykuuosdehzqqatoffofzksubhdqaybvucxf\n", - "-2706.9105265931935 jomh nuxdzsowbazddnushiswquxcussumaufpjoadnuswugqvkqcictaxnuwxeqavuushykuuosdehzqqatoffofzksubhdqaybvucxf\n", - "-2711.0827543371647 aomh wuxdqsowkazdunusqiswhuxcdssudaufyjoaunusfugqmkqcrctaonuwgeqamuusqykulosdnhzqhatoofofqksukhdqrybvdcxf\n", - "-2703.092036452005 abmh whxdqfowknzduausqvswhhxcdfsudnufywoauausfhgqmxqcrptaoauwgrqamhusqlkulbsdnuzqhntoosofqxsukudqrlbvdpxf\n", - "-2733.693096828965 akmh wyxdqoowkezdujusqmswhqxcdwsudwufynoaujusfygqmgqcrgtaojuwgiqamqusqckulksdnlzqhwtoojofqgsukldqrubvdgxf\n", - "-2741.0988022093775 tkmh dyxdjoowrezdnjusxmswaqxckwsuwwuffnoanjusmygqfgqcygtahjuwniqafqusxckueksdulzqawtovjofjgsurldqkubvkgxf\n", - "-2711.842133807691 ukmh cyxdkoowqezdojuswmswbqxcjwsuxwufenoaojuslygqggqcxgtaijuwmiqagquswckufksdtlzqbwtoujofkgsuqldqlubvjgxf\n", - "-2727.305861559794 ufmh cdxdkjowqjzdoeuswrswblxcjbsuxrufesoaoeusldgqgbqcxltaieuwmnqagluswhkuffsdtqzqbrtouoofkbsuqqdqlpbvjlxf\n", - "-2667.6100182863765 upmh ctxdktowqzzdoouswhswbvxcjrsuxbufeioaoousltgqglqcxbtaiouwmdqagvuswxkufpsdtgzqbbtoueofklsuqgdqlzbvjbxf\n", - "-2621.315098160165 upmm ctxyktobqzzyoouxwhsrbvxhjrspxbukeiovoouxltglglqhxbtvioubmdqvgvuxwxkpfpsitgzlbbttueoaklszqgdllzbajbxa\n", - "-2634.9461533045196 ubmm chxykfobqnzyoauxwvsrbhxhjfspxnukewovoauxlhglgxqhxptviaubmrqvghuxwlkpfbsituzlbnttusoakxszqudlllbajpxa\n", - "-2595.37101630353 ubpm chuykfrbqnwyoaxxwvprbhahjfppxnxkewlvoaxxlhdlgxthxpqviaxbmrnvghxxwlhpfbvituwlbnwtuslakxvzquallleajpua\n", - "-2628.719893728679 ubjm chaykflbqncyoarxwvvrbhuhjfvpxnrkewrvoarxlhjlgxnhxpwviarbmrtvghrxwlnpfbpituclbnqtusrakxpzquglllyajpaa\n", - "-2650.8546577944494 ubim chbykfkbqndyoaqxwvwrbhthjfwpxnqkewsvoaqxlhklgxmhxpxviaqbmruvghqxwlopfboitudlbnptussakxozquhlllxajpba\n", - "-2698.137703576252 ubib chbjkfkqqndjoaqmwvwcbhtwjfwaxnqzewsgoaqmlhkwgxmwxpxgiaqqmrugghqmwloafboxtudwbnpiusslkxooquhwllxpjpbl\n", - "-2655.0266406077253 ubvb chojkfxqqnqjoadmwvjcbhgwjfjaxndzewfgoadmlhxwgxzwxpkgiadqmrhgghdmwlbafbbxtuqwbnciusflkxboquuwllkpjpol\n", - "-2694.861776476001 ubcb chhjkfeqqnjjoakmwvccbhnwjfcaxnkzewygoakmlhqwgxgwxpdgiakqmragghkmwluafbixtujwbnjiusylkxioqunwllrpjphl\n", - "-2499.627580504364 ublb chyjkfnqqnajoatmwvtcbhwwjftaxntzewpgoatmlhhwgxpwxpugiatqmrrgghtmwllafbrxtuawbnsiusplkxroquewllapjpyl\n", - "-2485.459703962052 rblb fhyjhfnqtnajlatmzvtcyhwwmftauntzhwpglatmohhwdxpwapugfatqprrgdhtmzllacbrxwuawynsixsplhxrotuewilapmpyl\n", - "-2487.3485418021573 oblb ihyjefnqwnajiatmcvtcvhwwpftarntzkwpgiatmrhhwaxpwdpugcatqsrrgahtmcllazbrxzuawvnsiasplexrowuewflapppyl\n", - "-2530.746773387069 ozlb ijyjednqwpajiytmcxtcvfwwphtarltzkypgiytmrjhwavpwdrugcytqstrgaftmcnlazzrxzwawvlsiauplevrowwewfjappryl\n", - "-2494.6992357324066 oslb iqyjewnqwwajirtmcetcvywwpotaretzkfpgirtmrqhwaopwdyugcrtqsargaytmculazsrxzdawvesiabpleorowdewfcappyyl\n", - "-2449.150186886075 ovlb inyjeznqwtajiutmcbtcvbwwpltarhtzkcpgiutmrnhwarpwdvugcutqsxrgabtmcrlazvrxzaawvhsiayplerrowaewffappvyl\n", - "-2492.0876165304244 evlb snyjuznqgtajyutmmbtclbwwzltahhtzucpgyutmbnhwqrpwnvugsutqcxrgqbtmmrlapvrxjaawlhsikyplurrogaewvfapzvyl\n", - "-2461.4292255882806 uvlb cnyjkznqqtajoutmwbtcbbwwjltaxhtzecpgoutmlnhwgrpwxvugiutqmxrggbtmwrlafvrxtaawbhsiuyplkrroqaewlfapjvyl\n", - "-2463.9115508429786 ivlb onyjyznqctajcutmibtcpbwwvltalhtzqcpgcutmxnhwurpwjvugwutqyxrgubtmirlatvrxfaawphsigyplyrrocaewzfapvvyl\n", - "-2473.811167468888 bvlb vnyjrznqjtajvutmpbtcibwwcltaehtzxcpgvutmenhwnrpwqvugputqfxrgnbtmprlamvrxmaawihsinyplrrrojaewsfapcvyl\n", - "-2558.0743105140323 bflb vdyjrjnqjjajvetmprtcilwwcbtaertzxspgvetmedhwnbpwqlugpetqfnrgnltmphlamfrxmqawirsinoplrbrojqewspapclyl\n", - "-2512.4872290294347 xflb zdyjnjnqnjajretmtrtcelwwgbtaartzbspgretmidhwjbpwulugletqjnrgjltmthlaifrxqqawersiroplnbronqewopapglyl\n", - "-2509.019476471851 xfld zdyhnjnsnjahretotrtaelwygbtyartbbsperetoidhujbpyulueletsjnrejltothlyifrzqqauerskropjnbrqnqeuoparglyj\n", - "-2492.526210087256 xuld zoyhnynsnuahrttotctaeawygmtyagtbbdperttoiohujqpyuwuelttsjyrejatotslyiurzqbauegskrzpjnqrqnbeuoeargwyj\n", - "-2448.1366577366657 xulj zoybnynynuabrttutctueawegmtsagthbdpyrttuiohojqpeuwuylttyjyryjatutslsiurfqbaoegsqrzpdnqrwnbeooeaxgwyd\n", - "-2667.6083975654165 xutj zoqbnyvynusbrtbutclueaeegmlsagbhbdhyrtbuiozojqxeuwmyltbyjyjyjabutsdsiuzfqbsoegaqrzhdnqzwnbwooeixgwqd\n", - "-2667.6083975654165 xutj zoqbnyvynusbrtbutclueaeegmlsagbhbdhyrtbuiozojqxeuwmyltbyjyjyjabutsdsiuzfqbsoegaqrzhdnqzwnbwooeixgwqd\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2671.306989550193 xutp zoqvnyvenusvrtbatcloeaekgmlmagbnbdhsrtbaiozijqxkuwmsltbejyjsjabatsdmiuzlqbsiegawrzhxnqzcnbwioeidgwqx\n", - "-2641.7354678057245 xbtp zhqvnfvennsvrabatvloehekgflmanbnbwhsrabaihzijxxkupmslabejrjsjhbatldmibzlqusienawrshxnxzcnuwiolidgpqx\n", - "-2546.0371294274587 xbwp zhnvnfyennpvraeatvioehhkgfimanenbwesraeaihwijxakupjslaeejrgsjheatlamibclqupiendwrsexnxccnutiolldgpnx\n", - "-2552.631533993074 xbsp zhrvnfuenntvraaatvmoehdkgfmmananbwisraaaihaijxwkupnslaaejrksjhaatlemibylqutienzwrsixnxycnuxiolhdgprx\n", - "-2404.3914513975888 xbst zhrrnfuinntrraaetvmkehdogfmianarbwioraaeihaejxwoupnolaaijrkojhaetleiibypquteenzarsitnxygnuxeolhhgprt\n", - "-2423.4287144592695 rbst fhrrhfuitntrlaaezvmkyhdomfmiunarhwiolaaeohaedxwoapnofaaiprkodhaezleicbypwuteynzaxsithxygtuxeilhhmprt\n", - "-2423.4287144592695 rbst fhrrhfuitntrlaaezvmkyhdomfmiunarhwiolaaeohaedxwoapnofaaiprkodhaezleicbypwuteynzaxsithxygtuxeilhhmprt\n", - "-2629.213686015855 rbsw fhrohfultntolaahzvmhyhdrmfmfunauhwillaahohabdxwrapnlfaalprkldhahzlefcbyswutbynzdxsiqhxyjtuxbilhkmprq\n", - "-2622.3396308903048 rbsr fhrthfugtnttlaaczvmmyhdmmfmkunaphwiqlaacohagdxwmapnqfaagprkqdhaczlekcbynwutgynzyxsivhxyetuxgilhfmprv\n", - "-2614.839384322561 rbsh fhrdhfuwtntdlaaszvmwyhdcmfmuunafhwialaasohaqdxwcapnafaawprkadhaszleucbydwutqynzoxsifhxyutuxqilhvmprf\n", - "-2631.489586119572 ibsh ohrdyfuwcntdcaasivmwphdcvfmulnafqwiacaasxhaquxwcjpnawaawyrkauhasileutbydfutqpnzogsifyxyucuxqzlhvvprf\n", - "-2624.895181553956 ibwh ohndyfywcnpdcaesiviwphhcvfiulnefqweacaesxhwquxacjpjawaewyrgauhesilautbcdfupqpndogsefyxcucutqzllvvpnf\n", - "-2644.2638193205316 abwh whndqfywknpduaesqviwhhhcdfiudnefyweauaesfhwqmxacrpjaoaewgrgamhesqlaulbcdnupqhndoosefqxcukutqrllvdpnf\n", - "-2630.6327641761773 apwh wtndqtywkzpduoesqhiwhvhcdriudbefyieauoesftwqmlacrbjaooewgdgamvesqxaulpcdngpqhbdooeefqlcukgtqrzlvdbnf\n", - "-2571.3674818038944 zpwh xtndptywlzpdtoesrhiwgvhceriucbefzieatoesgtwqllacsbjanoewhdgalvesrxaukpcdogpqgbdopeefplculgtqqzlvebnf\n", - "-2510.123090097289 zpwx xtnnptymlzpntoeirhiggvhseriecbevziektoeigtwallassbjknoemhdgklveirxaekpctogpagbdepeepplcklgtaqzllebnp\n", - "-2541.7487487501653 zpvx xtonptxmlzqntodirhjggvgserjecbdvzifktodigtxallzssbkknodmhdhklvdirxbekpbtogqagbcepefpplbklguaqzklebop\n", - "-2553.112598480966 zpve xtogptxtlzqgtodprhjzgvgzerjxcbdczifdtodpgtxtllzzsbkdnodthdhdlvdprxbxkpbaogqtgbclpefiplbrlgutqzkseboi\n", - "-2429.084644891613 kpve mtogatxtazqgeodpghjzrvgztrjxnbdcoifdeodpvtxtwlzzhbkdyodtwdhdwvdpgxbxvpbadgqtrbcleefialbragutbzkstboi\n", - "-2435.7524867521934 kpvg mtoeatxvazqeeodrghjxrvgbtrjvnbdeoifbeodrvtxrwlzbhbkbyodvwdhbwvdrgxbvvpbcdgqrrbcneefgalbtagurbzkutbog\n", - "-2435.7524867521934 kpvg mtoeatxvazqeeodrghjxrvgbtrjvnbdeoifbeodrvtxrwlzbhbkbyodvwdhbwvdrgxbvvpbcdgqrrbcneefgalbtagurbzkutbog\n", - "-2453.9244119160694 kjvg mzoeanxvafqeeidrgnjxrpgbtxjvnvdeoofbeidrvzxrwfzbhhkbyidvwjhbwpdrgdbvvjbcdmqrrvcnekfgafbtamurbtkuthog\n", - "-2534.8318487633005 kdvg mfoeahxvalqeecdrgtjxrjgbtdjvnpdeoufbecdrvfxrwzzbhnkbycdvwphbwjdrgjbvvdbcdsqrrpcneqfgazbtasurbnkutnog\n", - "-2553.113350339132 kdvq mfouahxfalquecdbgtjnrjgltdjlnpdooufrecdbvfxhwzzlhnkrycdfwphrwjdbgjblvdbmdsqhrpcxeqfwazbdasuhbnketnow\n", - "-2534.8318487633005 kdvg mfoeahxvalqeecdrgtjxrjgbtdjvnpdeoufbecdrvfxrwzzbhnkbycdvwphbwjdrgjbvvdbcdsqrrpcneqfgazbtasurbnkutnog\n", - "-2453.9244119160694 kjvg mzoeanxvafqeeidrgnjxrpgbtxjvnvdeoofbeidrvzxrwfzbhhkbyidvwjhbwpdrgdbvvjbcdmqrrvcnekfgafbtamurbtkuthog\n", - "-2450.842191905079 kjvm mzoyanxbafqyeidxgnjrrpghtxjpnvdkoofveidxvzxlwfzhhhkvyidbwjhvwpdxgdbpvjbidmqlrvctekfaafbzamulbtkathoa\n", - "-2460.629395524666 kjam mzjyancbaflyeiixgnerrplhtxepnvikooaveiixvzslwfehhhfvyiibwjcvwpixgdwpvjgidmllrvhtekaaafgzamplbtpathja\n", - "-2485.285724820789 kjom mzvyanqbafxyeiwxgnqrrpzhtxqpnvwkoomveiwxvzelwfshhhrvyiwbwjovwpwxgdipvjuidmxlrvvtekmaafuzamblbtdathva\n", - "-2471.8184908078356 kjjm mzayanlbafcyeirxgnvrrpuhtxvpnvrkoorveirxvzjlwfnhhhwvyirbwjtvwprxgdnpvjpidmclrvqtekraafpzamglbtyathaa\n", - "-2304.085363262557 kijm maayamlbagcyehrxgovrrouhtyvpnurkoprvehrxvajlwenhhiwvyhrbwktvworxgenpvipidnclruqtelraaepzanglbsyatiaa\n", - "-2499.2975370949725 yijm yaayomlbmgcyshrxsovrfouhfyvpburkaprvshrxhajlkenhtiwvmhrbiktvkorxsenpjipipnclfuqtqlraoepzmnglpsyafiaa\n", - "-2518.8009546753296 pijm haayfmlbvgcyjhrxbovrwouhoyvpsurkjprvjhrxqajlbenhciwvdhrbrktvborxbenpaipiynclwuqtzlrafepzvnglgsyaoiaa\n", - "-2423.434075643095 vijm baaylmlbpgcyphrxvovrcouhiyvpyurkdprvphrxkajlhenhwiwvjhrblktvhorxvenpgipisnclcuqttlralepzpnglmsyaiiaa\n", - "-2444.8806622879824 dijm taaytmlbhgcyxhrxnovrkouhayvpgurkvprvxhrxcajlpenhoiwvrhrbdktvporxnenpoipiknclkuqtllratepzhnglusyaaiaa\n", - "-2466.244383874804 dijq taautmlfhgcuxhrbnovnkoulayvlgurovprrxhrbcajhpenloiwrrhrfdktrporbnenloipmknchkuqxllrwtepdhnghusyeaiaw\n", - "-2530.327730622386 digq tadutmifhgfuxhobnoynkorlayylguoovpurxhobcamhpekloizrrhofdkwrpoobneqloimmknfhkunxlluwtemdhnjhusveaidw\n", - "-2566.497028107728 digv tadptmikhgfpxhognoyikorqayygguotvpumxhogcamcpekqoizmrhokdkwmpoogneqgoimrknfckuncllurtemihnjcusvjaidr\n", - "-2613.0402300302003 digo tadwtmidhgfwxhoznoypkorjayynguomvputxhozcamjpekjoiztrhoddkwtpoozneqnoimkknfjkunvlluytembhnjjusvcaidy\n", - "-2551.4830853463113 dibo taiwtmddhgkwxhjznodpkomjaydngujmvpztxhjzcarjpefjoietrhjddkbtpojznevnoihkknkjkuivllzytehbhnojusqcaiiy\n", - "-2302.2911146145984 dibt tairtmdihgkrxhjenodkkomoaydigujrvpzoxhjecarepefooieorhjidkbopojenevioihpknkekuiallzttehghnoeusqhaiit\n", - "-2310.659049827325 oibt iairemdiwgkrihjecodkvomopydirujrkpzoihjerareaefodieochjiskboaojecevizihpznkevuiaalzteehgwnoefsqhpiit\n", - "-2310.659049827325 oibt iairemdiwgkrihjecodkvomopydirujrkpzoihjerareaefodieochjiskboaojecevizihpznkevuiaalzteehgwnoefsqhpiit\n", - "-2356.7079894215867 yibt yairomdimgkrshjesodkfomofydibujrapzoshjeharekefotieomhjiikbokojesevijihppnkefuiaqlztoehgmnoepsqhfiit\n", - "-2534.1278098399807 yhbt ybiroldimhkrsgjespdkfnmofzdibtjraqzosgjehbrekdfotjeomgjiilboknjesfvijhhppokeftiaqmztodhgmooeprqhfjit\n", - "-2595.684954523868 yhgt ybdroliimhfrsgoespykfnrofzyibtoraquosgoehbmekdkotjzomgoiilwoknoesfqijhmppofeftnaqmutodmgmojeprvhfjdt\n", - "-2561.9150536318134 uhgt cbdrkliiqhfrogoewpykbnrojzyixtorequoogoelbmegdkoxjzoigoimlwognoewfqifhmptofebtnaumutkdmgqojelrvhjjdt\n", - "-2552.2283607587 ujgt czdrkniiqffroioewnykbprojxyixvoreouooioelzmegfkoxhzoiioimjwogpoewdqifjmptmfebvnaukutkfmgqmjeltvhjhdt\n", - "-2476.9559187279483 ujat czjrknciqflroiiewnekbplojxeixvireoaooiielzsegfeoxhfoiiiimjcogpiewdwifjgptmlebvhaukatkfggqmpeltphjhjt\n", - "-2443.750779123957 xjat zzjrnncinflrriietnekeplogxeiavirboaoriieizsejfeouhfoliiijjcojpietdwiijgpqmleevharkatnfggnmpeotphghjt\n", - "-2497.875953090459 ljat lzjrbncizflrfiiefneksplosxeiovirnoaofiieuzsexfeoghfoziiivjcoxpiefdwiwjgpcmlesvhadkatbfggzmpectphshjt\n", - "-2532.1997201976856 lqat lsjrbucizylrfpiefgekswlosqeiocirnhaofpieussexmeogafozpiivccoxwiefwwiwqgpcfleschaddatbmggzfpecaphsajt\n", - "-2541.938076777318 eqat ssjruucigylrypiemgeklwlozqeihciruhaoypiebsseqmeonafospiicccoqwiemwwipqgpjflelchakdatumgggfpevaphzajt\n", - "-2535.483089914847 eqft sseruuhigygrypnemgzklwqozqzihcnruhvoypnebsneqmjonaaospniccxoqwnemwripqlpjfgelcmakdvtumlggfkevauhzaet\n", - "-2587.4744567410594 enft sverurhigbgrymnemjzkltqoztzihznrukvoymnebvneqjjondaosmnicfxoqtnemzripnlpjigelzmakgvtujlggikevxuhzdet\n", - "-2540.016684373011 ezft sjerudhigpgryynemxzklfqozhzihlnruyvoyynebjneqvjonraosynictxoqfnemnripzlpjwgellmakuvtuvlggwkevjuhzret\n", - "-2685.132434110092 ezfm sjeyudhbgpgyyynxmxzrlfqhzhzphlnkuyvvyynxbjnlqvjhnravsynbctxvqfnxmnrppzlijwglllmtkuvauvlzgwklvjuazrea\n", - "-2641.73420252518 ebfm sheyufhbgngyyanxmvzrlhqhzfzphnnkuwvvyanxbhnlqxjhnpavsanbcrxvqhnxmlrppblijugllnmtksvauxlzguklvluazpea\n", - "-2644.391678711964 ecfm sgeyughbgmgyybnxmuzrliqhzezphonkuvvvybnxbgnlqyjhnoavsbnbcqxvqinxmkrppclijtgllomtkrvauylzgtklvmuazoea\n", - "-2609.433803301975 ecwm sgnyugybgmpyybexmuirlihhzeiphoekuvevybexbgwlqyahnojvsbebcqgvqiexmkappccijtpllodtkreauyczgttlvmlazona\n", - "-2609.433803301975 ecwm sgnyugybgmpyybexmuirlihhzeiphoekuvevybexbgwlqyahnojvsbebcqgvqiexmkappccijtpllodtkreauyczgttlvmlazona\n", - "-2641.7573366319184 eawm sinyueybgopyyzexmwirlghhzgiphmekuxevyzexbiwlqwahnqjvszebcsgvqgexmmappacijvpllmdtkteauwczgvtlvklazqna\n", - "-2696.8854962512437 eabm siiyuedbgokyyzjxmwdrlgmhzgdphmjkuxzvyzjxbirlqwfhnqevszjbcsbvqgjxmmvppahijvkllmitktzauwhzgvolvkqazqia\n", - "-2676.13204962715 ehbm sbiyuldbghkyygjxmpdrlnmhzzdphtjkuqzvygjxbbrlqdfhnjevsgjbclbvqnjxmfvpphhijoklltitkmzaudhzgoolvrqazjia\n", - "-2663.152393962307 jhbm nbiyzldbbhkydgjxhpdrqnmhuzdpmtjkpqzvdgjxwbrlvdfhijevxgjbxlbvvnjxhfvpuhhieoklqtitfmzazdhzboolarqaujia\n", - "-2690.4224239215896 jhbu nbiqzldjbhkqdgjfhpdjqnmpuzdhmtjspqzndgjfwbrdvdfpijenxgjjxlbnvnjfhfvhuhhqeokdqtibfmzszdhhboodarqiujis\n", - "-2720.685413034472 jhbv nbipzldkbhkpdgjghpdiqnmquzdgmtjtpqzmdgjgwbrcvdfqijemxgjkxlbmvnjghfvguhhreokcqticfmzrzdhiboocarqjujir\n", - "-2672.1516579807626 jhsv nbrpzlukbhtpdgaghpmiqndquzmgmtatpqimdgagwbacvdwqijnmxgakxlkmvnaghfeguhyreotcqtzcfmirzdyiboxcarhjujrr\n", - "-2725.380391694118 jhxv nbmpzlzkbhopdgfghphiqniquzhgmtftpqdmdgfgwbvcvdbqijimxgfkxlfmvnfghfzguhdreoocqtecfmdrzddiboscarmjujmr\n", - "-2778.9281845072223 fhxv rbmpvlzkfhopzgfglphimniqyzhgitfttqdmzgfgabvcrdbqmjimtgfkblfmrnfglfzgqhdrioocmtecjmdrvddifoscwrmjyjmr\n", - "-2726.5022666985037 fvxv rnmpvzzkftopzufglbhimbiqylhgihfttcdmzufganvcrrbqmvimtufkbxfmrbfglrzgqvdriaocmhecjydrvrdifascwfmjyvmr\n", - "-2617.8614192570885 zvxv xnmppzzkltoptufgrbhigbiqelhgchftzcdmtufggnvclrbqsvimnufkhxfmlbfgrrzgkvdroaocghecpydrprdilascqfmjevmr\n", - "-2702.1245623022346 zfxv xdmppjzkljoptefgrrhigliqebhgcrftzsdmtefggdvclbbqslimnefkhnfmllfgrhzgkfdroqocgrecpodrpbdilqscqpmjelmr\n", - "-2673.9270826761385 zfvv xdoppjxkljqptedgrrjiglgqebjgcrdtzsfmtedggdxclbzqslkmnedkhnhmlldgrhbgkfbroqqcgrccpofrpbbilqucqpkjelor\n", - "-2691.258680409323 zfzv xdkppjbkljmptehgrrfiglkqebfgcrhtzsbmtehggdtclbdqslgmnehkhndmllhgrhxgkffroqmcgrgcpobrpbfilqqcqpojelkr\n", - "-2671.4230653323607 zlzv xxkpppbkldmptkhgrlfigrkqevfgcxhtzmbmtkhggxtclhdqsfgmnkhkhhdmlrhgrbxgklfrokmcgxgcpibrphfilkqcqvojefkr\n", - "-2657.4236843562903 zlfv xxeppphkldgptkngrlzigrqqevzgcxntzmvmtknggxnclhjqsfamnknkhhxmlrngrbrgkllrokgcgxmcpivrphlilkkcqvujefer\n", - "-2684.685309805012 zldv xxgpppfkldiptklgrlbigroqevbgcxltzmxmtklggxpclhhqsfcmnklkhhzmlrlgrbtgkljrokicgxkcpixrphjilkmcqvsjefgr\n", - "-2755.869530048079 yldv yxgpopfkmdipsklgslbifroqfvbgbxltamxmsklghxpckhhqtfcmmklkihzmkrlgsbtgjljrpkicfxkcqixrohjimkmcpvsjffgr\n", - "-2765.110823710518 ylcv yxhpopekmdjpskkgslcifrnqfvcgbxktamymskkghxqckhgqtfdmmkkkihamkrkgsbugjlirpkjcfxjcqiyrohiimkncpvrjffhr\n", - "-2721.864149969013 ylcf yxhfopeumdjfskkqslcyfrnafvcwbxkdamycskkqhxqskhgatfdcmkkuihackrkqsbuwjlibpkjsfxjmqiyhohismknspvrtffhh\n", - "-2721.864149969013 ylcf yxhfopeumdjfskkqslcyfrnafvcwbxkdamycskkqhxqskhgatfdcmkkuihackrkqsbuwjlibpkjsfxjmqiyhohismknspvrtffhh\n", - "-2695.634976916913 ybcf yhhfofeumnjfsakqsvcyfhnaffcwbnkdawycsakqhhqskxgatpdcmakuirackhkqsluwjbibpujsfnjmqsyhoxismunsplrtfphh\n", - "-2730.6159864336414 yacf yihfoeeumojfszkqswcyfgnafgcwbmkdaxycszkqhiqskwgatqdcmzkuisackgkqsmuwjaibpvjsfmjmqtyhowismvnspkrtfqhh\n", - "-2715.75538197661 yacj yihboeeymojbszkuswcufgnefgcsbmkhaxyyszkuhiqokwgetqdymzkyisaykgkusmusjaifpvjofmjqqtydowiwmvnopkrxfqhd\n", - "-2760.1449343272016 yacd yihhoeesmojhszkoswcafgnyfgcybmkbaxyeszkohiqukwgytqdemzksisaekgkosmuyjaizpvjufmjkqtyjowiqmvnupkrrfqhj\n", - "-2564.9107383555634 yald yiyhoensmoahsztoswtafgwyfgtybmtbaxpesztohihukwpytquemztsisrekgtosmlyjarzpvaufmskqtpjowrqmveupkarfqyj\n", - "-2507.365509102348 yeld yeyhoinsmkahsdtosstafkwyfctybqtbatpesdtohehukapytmuemdtsiorekktosilyjerzpraufqskqppjoarqmreupoarfmyj\n", - "-2650.391990683315 yepd yeuhoirsmkwhsdxosspafkayfcpybqxbatlesdxohedukatytmqemdxsionekkxosihyjevzprwufqwkqpljoavqmraupoerfmuj\n", - "-2659.3251552754505 yppd ytuhotrsmzwhsoxoshpafvayfrpybbxbailesoxohtdukltytbqemoxsidnekvxosxhyjpvzpgwufbwkqeljolvqmgaupzerfbuj\n", - "-2634.757855503721 yvpd ynuhozrsmtwhsuxosbpafbayflpybhxbaclesuxohndukrtytvqemuxsixnekbxosrhyjvvzpawufhwkqyljorvqmaaupferfvuj\n", - "-2587.3569404299087 yvpe ynugozrtmtwgsuxpsbpzfbazflpxbhxcacldsuxphndtkrtztvqdmuxtixndkbxpsrhxjvvapawtfhwlqyliorvrmaatpfesfvui\n", - "-2632.90598927624 yspe yqugowrtmwwgsrxpsepzfyazfopxbexcafldsrxphqdtkotztyqdmrxtiandkyxpsuhxjsvapdwtfewlqblioovrmdatpcesfyui\n", - "-2666.254866701389 ysje yqagowltmwcgsrrpsevzfyuzfovxbercafrdsrrphqjtkonztywdmrrtiatdkyrpsunxjspapdctfeqlqbriooprmdgtpcysfyai\n", - "-2648.6107845557467 ysfe yqegowhtmwggsrnpsezzfyqzfozxbencafvdsrnphqntkojztyadmrntiaxdkynpsurxjslapdgtfemlqbvioolrmdktpcusfyei\n", - "-2673.476047424728 ysxe yqmgowztmwogsrfpsehzfyizfohxbefcafddsrfphqvtkobztyidmrftiafdkyfpsuzxjsdapdotfeelqbdioodrmdstpcmsfymi\n", - "-2660.6261808951836 lsxe lqmgbwztzwogfrfpfehzsyizsohxoefcnfddfrfpuqvtxobzgyidzrftvafdxyfpfuzxwsdacdotseeldbdibodrzdstccmssymi\n", - "-2741.1365782323655 lsxc lqmibwzrzwoifrfnfehbsyixsohzoefanfdffrfnuqvvxobxgyifzrfrvaffxyfnfuzzwsdycdovseejdbdkbodpzdsvccmqsymk\n", - "-2696.8356091308683 lsxs lqmsbwzhzwosfrfdfehlsyinsohjoefqnfdpfrfduqvfxobngyipzrfhvafpxyfdfuzjwsdocdofseezdbdubodfzdsfccmgsymu\n", - "-2719.0564369450885 luxs lomsbyzhzuosftfdfchlsainsmhjogfqnddpftfduovfxqbngwipztfhvyfpxafdfszjwudocbofsgezdzdubqdfzbsfcemgswmu\n", - "-2679.6431076873773 lxxs llmsbbzhzrosfwfdfzhlsdinsjhjojfqnadpfwfdulvfxtbngtipzwfhvvfpxdfdfpzjwxdocyofsjezdwdubtdfzysfchmgstmu\n", - "-2666.92069546413 lexs lemsbizhzkosfdfdfshlskinschjoqfqntdpfdfduevfxabngmipzdfhvofpxkfdfizjwedocrofsqezdpdubadfzrsfcomgsmmu\n", - "-2715.714088252719 llxs lxmsbpzhzdosfkfdflhlsrinsvhjoxfqnmdpfkfduxvfxhbngfipzkfhvhfpxrfdfbzjwldockofsxezdidubhdfzksfcvmgsfmu\n", - "-2715.3739898999506 llrs lxssbpthzdusfkzdflnlsrcnsvnjoxzqnmjpfkzduxbfxhvngfopzkzhvhlpxrzdfbfjwlxockufsxyzdijubhxfzkyfcvggsfsu\n", - "-2679.164561664267 llre lxsgbpttzdugfkzpflnzsrczsvnxoxzcnmjdfkzpuxbtxhvzgfodzkztvhldxrzpfbfxwlxackutsxyldijibhxrzkytcvgssfsi\n", - "-2682.7501835138596 llrm lxsybptbzduyfkzxflnrsrchsvnpoxzknmjvfkzxuxblxhvhgfovzkzbvhlvxrzxfbfpwlxickulsxytdijabhxzzkylcvgasfsa\n", - "-2693.7481526497145 llum lxpybpwbzdryfkcxflkrsrfhsvkpoxcknmgvfkcxuxylxhyhgflvzkcbvhivxrcxfbcpwlaickrlsxbtdigabhazzkvlcvjasfpa\n", - "-2708.034497980373 lluf lxpfbpwuzdrffkcqflkysrfasvkwoxcdnmgcfkcquxysxhyagflczkcuvhicxrcqfbcwwlabckrssxbmdighbhaszkvscvjtsfph\n", - "-2723.442799645811 lruf lrpfbvwuzxrffqcqffkysxfaspkwodcdnggcfqcqurysxnyagzlczqcuvbicxxcqfvcwwrabcerssdbmdcghbnaszevscbjtszph\n", - "-2730.520175901974 lruq lrpubvwfzxrufqcbffknsxflspklodconggrfqcburyhxnylgzlrzqcfvbirxxcbfvclwramcerhsdbxdcgwbnadzevhcbjeszpw\n", - "-2755.451374441364 lruh lrpdbvwwzxrdfqcsffkwsxfcspkuodcfnggafqcsuryqxnycgzlazqcwvbiaxxcsfvcuwradcerqsdbodcgfbnauzevqcbjvszpf\n", - "-2805.7578681692594 fruh rrpdvvwwfxrdzqcslfkwmxfcypkuidcftggazqcsaryqrnycmzlatqcwbbiarxcslvcuqradierqmdbojcgfvnaufevqwbjvyzpf\n", - "-2762.587280901454 frup rrpvvvwefxrvzqcalfkomxfkypkmidcntggszqcaaryirnykmzlstqcebbisrxcalvcmqralierimdbwjcgxvnacfeviwbjdyzpx\n", - "-2747.178979236017 flup rxpvvpwefdrvzkcallkomrfkyvkmixcntmgszkcaaxyirhykmflstkcebhisrrcalbcmqlalikrimxbwjigxvhacfkviwvjdyfpx\n", - "-2725.49067620344 fjup rzpvvnweffrvzicalnkompfkyxkmivcntogszicaazyirfykmhlsticebjisrpcaldcmqjalimrimvbwjkgxvfacfmviwtjdyhpx\n", - "-2654.803808822587 qjup gzpvgnweufrvkicaankoxpfknxkmtvcniogskicapzyicfykbhlseiceqjiscpcaadcmbjalxmrixvbwykgxgfacumvihtjdnhpx\n", - "-2672.0282020865393 mjup kzpvcnweyfrvgicaenkotpfkrxkmpvcnmogsgicatzyiyfykfhlsaiceujisypcaedcmxjalbmritvbwckgxcfacymvidtjdrhpx\n", - "-2709.124806784552 mrup krpvcvweyxrvgqcaefkotxfkrpkmpdcnmggsgqcatryiynykfzlsaqceubisyxcaevcmxralberitdbwccgxcnacyevidbjdrzpx\n", - "-2762.587280901454 frup rrpvvvwefxrvzqcalfkomxfkypkmidcntggszqcaaryirnykmzlstqcebbisrxcalvcmqralierimdbwjcgxvnacfeviwbjdyzpx\n", - "-2787.80461021766 frtp rrqvvvvefxsvzqbalflomxekyplmidbntghszqbaarzirnxkmzmstqbebbjsrxbalvdmqrzliesimdawjchxvnzcfewiwbidyzqx\n", - "-2738.429045148527 artp wrqvqvvekxsvuqbaqflohxekdplmddbnyghsuqbafrzimnxkrzmsoqbegbjsmxbaqvdmlrzlnesihdawochxqnzckewirbiddzqx\n", - "-2781.5996324163325 arth wrqdqvvwkxsduqbsqflwhxecdpluddbfyghauqbsfrzqmnxcrzmaoqbwgbjamxbsqvdulrzdnesqhdaoochfqnzukewqrbivdzqf\n", - "-2747.312851629045 asth wqqdqwvwkwsdurbsqelwhyecdoludebfyfhaurbsfqzqmoxcrymaorbwgajamybsqudulszdndsqheaoobhfqozukdwqrcivdyqf\n", - "-2747.312851629045 asth wqqdqwvwkwsdurbsqelwhyecdoludebfyfhaurbsfqzqmoxcrymaorbwgajamybsqudulszdndsqheaoobhfqozukdwqrcivdyqf\n", - "-2728.287961462116 astu wqqqqwvjkwsqurbfqeljhyepdolhdebsyfhnurbffqzdmoxprymnorbjgajnmybfqudhlszqndsdheabobhsqozhkdwdrciidyqs\n", - "-2737.0953893829865 estu sqqquwvjgwsqyrbfmeljlyepzolhhebsufhnyrbfbqzdqoxpnymnsrbjcajnqybfmudhpszqjdsdleabkbhsuozhgdwdvciizyqs\n", - "-2647.9914555703367 essu sqrquwujgwtqyrafmemjlydpzomhheasufinyrafbqadqowpnynnsrajcaknqyafmuehpsyqjdtdlezbkbisuoyhgdxdvchizyrs\n", - "-2731.4967655930486 ensu svrqurujgbtqymafmjmjltdpztmhhzasukinymafbvadqjwpndnnsmajcfknqtafmzehpnyqjitdlzzbkgisujyhgixdvxhizdrs\n", - "-2704.226735633767 ensm svryurubgbtyymaxmjmrltdhztmphzakukivymaxbvalqjwhndnvsmabcfkvqtaxmzeppnyijitllzztkgiaujyzgixlvxhazdra\n", - "-2750.2342886237834 enjm svayurlbgbcyymrxmjvrltuhztvphzrkukrvymrxbvjlqjnhndwvsmrbcftvqtrxmznppnpijicllzqtkgraujpzgiglvxyazdaa\n", - "-2777.504318583065 enju svaqurljgbcqymrfmjvjltupztvhhzrsukrnymrfbvjdqjnpndwnsmrjcftnqtrfmznhpnpqjicdlzqbkgrsujphgigdvxyizdas\n", - "-2794.0495818480044 enjd svahurlsgbchymromjvaltuyztvyhzrbukreymrobvjuqjnyndwesmrscfteqtromznypnpzjiculzqkkgrjujpqgiguvxyrzdaj\n", - "-2775.773132786464 bnjd vvahrrlsjbchvmropjvaituyctvyezrbxkrevmroevjunjnyqdwepmrsfftentropznymnpzmicuizqkngrjrjpqjigusxyrcdaj\n", - "-2684.917128833504 bbjd vhahrflsjnchvaropvvaihuycfvyenrbxwrevaroehjunxnyqpweparsfrtenhroplnymbpzmucuinqknsrjrxpqjuguslyrcpaj\n", - "-2671.6099146616098 bbhd vhchrfjsjnehvapopvxaihsycfxyenpbxwtevapoehlunxlyqpyepapsfrvenhpoplpymbnzmueuinoknstjrxnqjuiuslwrcpcj\n", - "-2757.0582215283625 bdhd vfchrhjsjlehvcpoptxaijsycdxyeppbxutevcpoeflunzlyqnyepcpsfpvenjpopjpymdnzmseuipoknqtjrznqjsiusnwrcncj\n", - "-2717.7634781446254 bdwd vfnhrhysjlphvceoptiaijhycdiyepebxueevceoefwunzayqnjepcesfpgenjeopjaymdczmspuipdknqejrzcqjstusnlrcnnj\n", - "-2625.5141225535112 bmwd vwnhrqysjcphvleopkiaishycuiyeyebxleevleoewwuniayqejeplesfggenseopaaymmczmjpuiydknhejricqjjtuswlrcenj\n", - "-2584.7810493402817 bmwg vwnerqyvjcpevlerpkixishbcuiveyeexlebvlerewwrniabqejbplevfggbnserpaavmmccmjpriydnnhegrictjjtrswluceng\n", - "-2634.460180895032 bmkg vwzerqmvjcbevlsrpkuxisvbcuuveysexlqbvlsrewirniobqevbplsvfgsbnssrpamvmmqcmjbriyrnnhqgriqtjjfrswzucezg\n", - "-2609.7992003122176 omkg iwzeeqmvwcbeilsrckuxvsvbpuuvryseklqbilsrrwiraiobdevbclsvsgsbassrcamvzmqczjbrvyrnahqgeiqtwjfrfwzupezg\n", - "-2653.011900427439 omkh iwzdeqmwwcbdilssckuwvsvcpuuurysfklqailssrwiqaiocdevaclswsgsaassscamuzmqdzjbqvyroahqfeiquwjfqfwzvpezf\n", - "-2665.552269731401 omdh iwgdeqfwwcidillsckbwvsocpuburylfklxaillsrwpqaihcdecacllwsgzaaslscatuzmjdzjiqvykoahxfeijuwjmqfwsvpegf\n", - "-2686.5808813483973 ohdh ibgdelfwwhidiglscpbwvnocpzburtlfkqxaiglsrbpqadhcdjcacglwslzaanlscftuzhjdzoiqvtkoamxfedjuwomqfrsvpjgf\n", - "-2694.081127916141 ohdr ibgtelfgwhitiglccpbmvnompzbkrtlpkqxqiglcrbpgadhmdjcqcglgslzqanlccftkzhjnzoigvtkyamxvedjewomgfrsfpjgv\n", - "-2686.989786676753 ohbr ibiteldgwhktigjccpdmvnmmpzdkrtjpkqzqigjcrbrgadfmdjeqcgjgslbqanjccfvkzhhnzokgvtiyamzvedhewoogfrqfpjiv\n", - "-2508.088225606944 ohlr ibytelngwhatigtccptmvnwmpztkrttpkqpqigtcrbhgadpmdjuqcgtgslrqantccflkzhrnzoagvtsyampvedrewoegfrafpjyv\n", - "-2475.6567804998112 ohlq ibyuelnfwhauigtbcptnvnwlpztlrttokqprigtbrbhhadpldjurcgtfslrrantbcfllzhrmzoahvtsxampwedrdwoehfraepjyw\n", - "-2309.17730917591 ohlt ibyrelniwharigtecptkvnwopztirttrkqpoigterbheadpodjuocgtislroantecflizhrpzoaevtsaamptedrgwoeefrahpjyt\n", - "-2558.3692799076243 ohlo ibywelndwhawigtzcptpvnwjpztnrttmkqptigtzrbhjadpjdjutcgtdslrtantzcflnzhrkzoajvtsvampyedrbwoejfracpjyy\n", - "-2522.000012695569 ohlk ibyaelnzwhaaigtvcpttvnwfpztrrttikqpxigtvrbhnadpfdjuxcgtzslrxantvcflrzhrgzoanvtsrampcedrxwoenfraypjyc\n", - "-2467.640810288298 ohlz ibylelnowhaligtkcptevnwupztcrttxkqpiigtkrbhyadpudjuicgtoslriantkcflczhrvzoayvtsgampnedrmwoeyfranpjyn\n", - "-2687.112550117047 ohtz ibqlelvowhsligbkcplevneupzlcrtbxkqhiigbkrbzyadxudjmicgbosljianbkcfdczhzvzosyvtagamhnedzmwowyfrinpjqn\n", - "-2724.068213773859 ohtn ibqxelvcwhsxigbycplqvneipzlortblkqhuigbyrbzkadxidjmucgbcsljuanbycfdozhzjzoskvtauamhzedzawowkfribpjqz\n", - "-2721.047844523542 ohtb ibqjelvqwhsjigbmcplcvnewpzlartbzkqhgigbmrbzwadxwdjmgcgbqsljganbmcfdazhzxzoswvtaiamhledzowowwfrippjql\n", - "-2731.2978178139024 ohtv ibqpelvkwhspigbgcplivneqpzlgrtbtkqhmigbgrbzcadxqdjmmcgbksljmanbgcfdgzhzrzoscvtacamhredziwowcfrijpjqr\n", - "-2724.420948851516 ostv iqqpewvkwwspirbgcelivyeqpolgrebtkfhmirbgrqzcaoxqdymmcrbksajmaybgcudgzszrzdscveacabhreoziwdwcfcijpyqr\n", - "-2687.5508276047235 osmv iqxpewokwwzpirugcesivyxqposgreutkfomirugrqgcaoqqdytmcruksaqmayugcukgzssrzdzcvetcaboreosiwddcfcbjpyxr\n", - "-2715.181143191203 oamv iixpeeokwozpizugcwsivgxqpgsgrmutkxomizugrigcawqqdqtmczukssqmagugcmkgzasrzvzcvmtcatorewsiwvdcfkbjpqxr\n", - "-2512.53237438196 oamt iixreeoiwozrizuecwskvgxopgsirmurkxooizuerigeawqodqtoczuissqoaguecmkizaspzvzevmtaatotewsgwvdefkbhpqxt\n", - "-2578.0847315565793 pamt hixrfeoivozrjzuebwskwgxoogsismurjxoojzueqigebwqocqtodzuirsqobguebmkiaaspyvzewmtaztotfwsgvvdegkbhoqxt\n", - "-2586.5019536247632 pzmt hjxrfdoivpzrjyuebxskwfxoohsislurjyoojyueqjgebvqocrtodyuirtqobfuebnkiazspywzewltazuotfvsgvwdegjbhorxt\n", - "-2379.9114645140908 pimt haxrfmoivgzrjhueboskwoxooysisuurjpoojhueqagebeqocitodhuirkqobouebekiaispynzewutazlotfesgvndegsbhoixt\n", - "-2326.6381460416783 uimt caxrkmoiqgzrohuewoskboxojysixuurepooohuelagegeqoxitoihuimkqogouewekifisptnzebutaulotkesgqndelsbhjixt\n", - "-2267.8099289102083 uiwt canrkmyiqgproheewoikbohojyiixuerepeooheelawegeaoxijoiheimkgogoeeweaificptnpebudauletkecgqntelslhjint\n", - "-2428.0619006501825 uiwa cankkmypqgpkohelwoidbohvjyibxueyepehohellawxgeavxijhihepmkghgoelweabficwtnpxbudhulemkecnqntxlslojinm\n", - "-2474.3653241721927 uiwl canzkmyaqgpzohewwoisbohgjyiqxuejepewohewlawmgeagxijwiheamkgwgoewweaqfichtnpmbudsulebkecyqntmlslzjinb\n", - "-2412.9256786472874 uiwm canykmybqgpyohexwoirbohhjyipxuekepevohexlawlgeahxijvihebmkgvgoexweapficitnplbudtuleakeczqntllslajina\n", - "-2464.905317515785 niwm janydmybxgpyhhexdoiruohhqyipqueklpevhhexsawlzeaheijvbhebtkgvzoexdeapyicianpluudtbleadeczxntleslaqina\n", - "-2443.584069589431 eiwm sanyumybggpyyhexmoirlohhzyiphuekupevyhexbawlqeahnijvshebckgvqoexmeappicijnplludtkleaueczgntlvslazina\n", - "-2614.76704500035 eowm sunyusybgapyynexmiirluhhzsiphaekujevynexbuwlqkahncjvsnebcegvquexmyappocijhplladtkfeaukczghtlvylazcna\n", - "-2569.940777515894 rowm funyhsybtapylnexziiryuhhmsipuaekhjevlnexouwldkahacjvfnebpegvduexzyapcociwhplyadtxfeahkczthtliylamcna\n", - "-2601.566436168769 rovm fuoyhsxbtaqylndxzijryughmsjpuadkhjfvlndxouxldkzhackvfndbpehvdudxzybpcobiwhqlyactxffahkbzthuliykamcoa\n", - "-2648.849481950573 rovb fuojhsxqtaqjlndmzijcyugwmsjauadzhjfglndmouxwdkzwackgfndqpehgdudmzybacobxwhqwyacixfflhkbothuwiykpmcol\n", - "-2669.825780853329 rojb fuajhslqtacjlnrmzivcyuuwmsvauarzhjrglnrmoujwdknwacwgfnrqpetgdurmzynacopxwhcwyaqixfrlhkpothgwiyypmcal\n", - "-2669.825780853329 rojb fuajhslqtacjlnrmzivcyuuwmsvauarzhjrglnrmoujwdknwacwgfnrqpetgdurmzynacopxwhcwyaqixfrlhkpothgwiyypmcal\n", - "-2679.4433241564097 rodb fugjhsfqtaijlnlmzibcyuowmsbaualzhjxglnlmoupwdkhwaccgfnlqpezgdulmzytacojxwhiwyakixfxlhkjothmwiyspmcgl\n", - "-2658.636685570159 roab fujjhscqtaljlnimziecyulwmseauaizhjaglnimouswdkewacfgfniqpecgduimzywacogxwhlwyahixfalhkgothpwiyppmcjl\n", - "-2610.779380661983 roaj fujbhscytalblniuzieuyulemsesuaihhjaylniuousodkeeacfyfniypecyduiuzywscogfwhloyahqxfadhkgwthpoiypxmcjd\n", - "-2607.768017938762 roae fujghscttalglnipziezyulzmsexuaichjadlnipoustdkezacfdfnitpecdduipzywxcogawhltyahlxfaihkgrthptiypsmcji\n", - "-2616.336619875415 ryae fkjghccttqlglxipzyezyelzmiexukichzadlxipokstduezasfdfxitpucddeipzowxcygawxltykhlxvaihugrtxptiipsmsji\n", - "-2708.886254791562 ryay fkjmhccntqlmlxijzyefyeltmiedukiwhzajlxijokszduetasfjfxinpucjdeijzowdcyguwxlzykhfxvaohugltxpziipmmsjo\n", - "-2674.0677970847155 rysy fkrmhcuntqtmlxajzymfyedtmimdukawhzijlxajokazduwtasnjfxanpukjdeajzoedcyyuwxtzykzfxviohuyltxxziihmmsro\n", - "-2700.906708847815 rzsy fjrmhduntptmlyajzxmfyfdtmhmdulawhyijlyajojazdvwtarnjfyanptkjdfajznedczyuwwtzylzfxuiohvyltwxzijhmmrro\n", - "-2790.0106426604634 rzty fjqmhdvntpsmlybjzxlfyfetmhldulbwhyhjlybjojzzdvxtarmjfybnptjjdfbjznddczzuwwszylafxuhohvzltwwzijimmrqo\n", - "-2697.4610077443176 rzte fjqghdvttpsglybpzxlzyfezmhlxulbchyhdlybpojztdvxzarmdfybtptjddfbpzndxczzawwstylalxuhihvzrtwwtijismrqi\n", - "-2751.2385424230883 hzte pjqgxdvtdpsgbybpjxlzofezwhlxklbcryhdbybpyjzttvxzkrmdvybtztjdtfbpjndxszzagwstolalhuhixvzrdwwtyjiswrqi\n", - "-2751.2385424230883 hzte pjqgxdvtdpsgbybpjxlzofezwhlxklbcryhdbybpyjzttvxzkrmdvybtztjdtfbpjndxszzagwstolalhuhixvzrdwwtyjiswrqi\n", - "-2769.110509603341 hztf pjqfxdvudpsfbybqjxlyofeawhlwklbdryhcbybqyjzstvxakrmcvybuztjctfbqjndwszzbgwssolamhuhhxvzsdwwsyjitwrqh\n", - "-2717.221812764675 oztf ijqfedvuwpsfiybqcxlyvfeaphlwrlbdkyhciybqrjzsavxadrmccybustjcafbqcndwzzzbzwssvlamauhhevzswwwsfjitprqh\n", - "-2741.882793347488 bztf vjqfrdvujpsfvybqpxlyifeachlwelbdxyhcvybqejzsnvxaqrmcpybuftjcnfbqpndwmzzbmwssilamnuhhrvzsjwwssjitcrqh\n", - "-2752.5960081605504 sztf ejqfidvuspsfmybqyxlyzfealhlwvlbdgyhcmybqnjzsevxazrmcgybuotjcefbqyndwdzzbvwsszlamwuhhivzsswwsjjitlrqh\n", - "-2730.040512176436 qztf gjqfgdvuupsfkybqaxlyxfeanhlwtlbdiyhckybqpjzscvxabrmceybuqtjccfbqandwbzzbxwssxlamyuhhgvzsuwwshjitnrqh\n", - "-2730.040512176436 qztf gjqfgdvuupsfkybqaxlyxfeanhlwtlbdiyhckybqpjzscvxabrmceybuqtjccfbqandwbzzbxwssxlamyuhhgvzsuwwshjitnrqh\n", - "-2700.4113653667578 qzof gjvfgdquupxfkywqaxqyxfzanhqwtlwdiymckywqpjescvsabrrceywuqtoccfwqaniwbzubxwxsxlvmyumhgvusuwbshjdtnrvh\n", - "-2698.650608499383 qrof grvfgvquuxxfkqwqafqyxxzanpqwtdwdigmckqwqprescnsabzrceqwuqboccxwqaviwbrubxexsxdvmycmhgnusuebshbdtnzvh\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2711.450774258915 qrnf grwfgvpuuxyfkqvqafryxxyanprwtdvdignckqvqprfscnrabzsceqvuqbpccxvqavjwbrtbxeysxdumycnhgntsuecshbctnzwh\n", - "-2704.042211451949 qrcf grhfgveuuxjfkqkqafcyxxnanpcwtdkdigyckqkqprqscngabzdceqkuqbaccxkqavuwbribxejsxdjmycyhgnisuenshbrtnzhh\n", - "-2651.8344970612798 qrpf grufgvruuxwfkqxqafpyxxaanppwtdxdiglckqxqprdscntabzqceqxuqbnccxxqavhwbrvbxewsxdwmyclhgnvsueashbetnzuh\n", - "-2492.4324019935398 qrpt grurgvriuxwrkqxeafpkxxaonppitdxriglokqxeprdecntobzqoeqxiqbnocxxeavhibrvpxewexdwaycltgnvgueaehbehnzut\n", - "-2514.987897977653 srpt erurivrisxwrmqxeyfpkzxaolppivdxrgglomqxenrdeentozzqogqxiobnoexxeyvhidrvpvewezdwawcltinvgseaejbehlzut\n", - "-2502.3292224127867 srst errrivuisxtrmqaeyfmkzxdolpmivdarggiomqaenraeenwozznogqaiobkoexaeyveidrypvetezdzawcitinygsexejbhhlzrt\n", - "-2561.804009415756 srot ervrivqisxxrmqweyfqkzxzolpqivdwrggmomqwenreeensozzrogqwiobooexweyviidrupvexezdvawcmtinugsebejbdhlzvt\n", - "-2506.313069191608 stot epvrixqisvxrmsweydqkzzzolnqivfwrgemomswenpeeepsozxrogswiozooezweytiidtupvcxezfvawamtipugscbejddhlxvt\n", - "-2566.23132282728 sfot edvrijqisjxrmeweyrqkzlzolbqivrwrgsmomewendeeebsozlrogewionooelweyhiidfupvqxezrvawomtibugsqbejpdhllvt\n", - "-2572.3928345352997 tfot ddvrjjqirjxrnewexrqkalzokbqiwrwrfsmonewemdeefbsoylrohewinnooflwexhiiefupuqxearvavomtjbugrqbekpdhklvt\n", - "-2572.3928345352997 tfot ddvrjjqirjxrnewexrqkalzokbqiwrwrfsmonewemdeefbsoylrohewinnooflwexhiiefupuqxearvavomtjbugrqbekpdhklvt\n", - "-2555.5181080142183 bfot vdvrrjqijjxrveweprqkilzocbqierwrxsmoveweedeenbsoqlropewifnoonlwephiimfupmqxeirvanomtrbugjqbespdhclvt\n", - "-2518.7907864912327 bfet vdfrrjgijjhrvemeprakilpocbaiermrxswovemeedoenbioqlbopemifnyonlmephsimfkpmqheirlanowtrbkgjqlespthclft\n", - "-2344.966571670265 kfet mdfrajgiajhreemegrakrlpotbainrmroswoeemevdoewbiohlboyemiwnyowlmeghsivfkpdqherrlaeowtabkgaqlebpthtlft\n", - "-2387.0854961458153 kfct mdhrajeiajjreekegrckrlnotbcinrkrosyoeekevdqewbgohldoyekiwnaowlkeghuivfipdqjerrjaeoytabigaqnebprhtlht\n", - "-2302.8223531006715 kvct mnhrazeiatjreukegbckrbnotlcinhkrocyoeukevnqewrgohvdoyukiwxaowbkegruivvipdajerhjaeyytarigaanebfrhtvht\n", - "-2436.063020155227 gvct qnhrwzeietjraukekbcknbnoxlcijhkrscyoaukeznqesrgolvdouukiaxaosbkekruirviphajenhjaiyytwrigeanexfrhxvht\n", - "-2436.063020155227 gvct qnhrwzeietjraukekbcknbnoxlcijhkrscyoaukeznqesrgolvdouukiaxaosbkekruirviphajenhjaiyytwrigeanexfrhxvht\n", - "-2535.4911541314395 fvct rnhrvzeiftjrzukelbckmbnoylciihkrtcyozukeanqerrgomvdotukibxaorbkelruiqvipiajemhjajyytvrigfanewfrhyvht\n", - "-2559.836043540914 ftct rphrvxeifvjrzskeldckmznoynciifkrteyozskeapqerpgomxdotskibzaorzkeltuiqtipicjemfjajaytvpigfcnewdrhyxht\n", - "-2550.5947498784744 ftdt rpgrvxfifvirzsleldbkmzooynbiiflrtexozsleapperphomxcotslibzzorzlelttiqtjpiciemfkajaxtvpjgfcmewdshyxgt\n", - "-2538.054380574513 ftkt rpzrvxmifvbrzsseldukmzvoynuiifsrteqozsseapierpoomxvotssibzsorzseltmiqtqpicbemfrajaqtvpqgfcfewdzhyxzt\n", - "-2543.5034086390874 ftbt rpirvxdifvkrzsjelddkmzmoyndiifjrtezozsjeaprerpfomxeotsjibzborzjeltviqthpickemfiajaztvphgfcoewdqhyxit\n", - "-2394.1646166199394 fibt rairvmdifgkrzhjelodkmomoyydiiujrtpzozhjeaarerefomieothjibkborojeleviqihpinkemuiajlztvehgfnoewsqhyiit\n", - "-2310.659049827325 oibt iairemdiwgkrihjecodkvomopydirujrkpzoihjerareaefodieochjiskboaojecevizihpznkevuiaalzteehgwnoefsqhpiit\n", - "-2317.750391066712 oidt iagremfiwgirihlecobkvooopybirulrkpxoihlerapeaehodicochliskzoaolecetizijpznievukaalxteejgwnmefsshpigt\n", - "-2510.1491865855937 oidb iagjemfqwgijihlmcobcvoowpybarulzkpxgihlmrapwaehwdicgchlqskzgaolmcetazijxzniwvukialxleejownmwfssppigl\n", - "-2518.410694788939 oiub iapjemwqwgrjihcmcokcvofwpykaruczkpggihcmraywaeywdilgchcqskigaocmcecaziaxznrwvubialgleeaownvwfsjppipl\n", - "-2531.7968708266408 oiuw iapoemwlwgroihchcokhvofrpykfrucukpglihchraybaeyrdillchclskilaochcecfziasznrbvubdalgqeeajwnvbfsjkpipq\n", - "-2520.7989016907864 oirw iasoemtlwguoihzhconhvocrpynfruzukpjlihzhrabbaevrdiolchzlskllaozhceffzixsznubvuydaljqeexjwnybfsgkpisq\n", - "-2474.416025201941 oirf iasfemtuwgufihzqconyvocapynwruzdkpjcihzqrabsaevadiocchzusklcaozqcefwzixbznusvuymaljheexswnysfsgtpish\n", - "-2499.0770057847544 birf vasfrmtujgufvhzqponyiocacynweuzdxpjcvhzqeabsnevaqiocphzufklcnozqpefwmixbmnusiuymnljhrexsjnysssgtcish\n", - "-2703.906738028052 brrf vrsfrvtujxufvqzqpfnyixcacpnwedzdxgjcvqzqerbsnnvaqzocpqzufblcnxzqpvfwmrxbmeusidymncjhrnxsjeyssbgtczsh\n", - "-2678.8285831323274 byrf vksfrctujqufvxzqpynyiecacinwekzdxzjcvxzqekbsnuvaqsocpxzufulcnezqpofwmyxbmxusikymnvjhruxsjxyssigtcssh\n", - "-2639.7050435740243 berf vesfritujkufvdzqpsnyikcaccnweqzdxtjcvdzqeebsnavaqmocpdzufolcnkzqpifwmexbmrusiqymnpjhraxsjryssogtcmsh\n", - "-2589.9087823424093 zerf xesfpitulkuftdzqrsnygkcaecnwcqzdztjctdzqgebslavasmocndzuholclkzqrifwkexborusgqymppjhpaxslrysqogtemsh\n", - "-2588.9701883870584 zerz xeslpitolkultdzkrsnegkcuecnccqzxztjitdzkgebylavusmoindzoholilkzkrifckexvoruygqygppjnpaxmlryyqognemsn\n", - "-2697.611035828473 ferz reslvitofkulzdzklsnemkcuycnciqzxttjizdzkaebyravummoitdzobolirkzklifcqexviruymqygjpjnvaxmfryywognymsn\n", - "-2669.7536545551457 fevz reolvixofkqlzddklsjemkguycjciqdxttfizddkaexyrazummkitddobohirkdklibcqebvirqymqcgjpfnvabmfruywoknymon\n", - "-2697.611035828473 ferz reslvitofkulzdzklsnemkcuycnciqzxttjizdzkaebyravummoitdzobolirkzklifcqexviruymqygjpjnvaxmfryywognymsn\n", - "-2514.3545944517864 felz reylvinofkalzdtklstemkwuyctciqtxttpizdtkaehyrapummuitdtoborirktklilcqerviraymqsgjppnvarmfreywoanymyn\n", - "-2486.0573714960865 felx reynvinmfkanzdtilstgmkwsycteiqtvttpkzdtiaeharapsmmuktdtmborkrktilileqertiraamqsejpppvarkfreawoalymyp\n", - "-2454.4405015421416 helx peynxinmdkanbdtijstgokwswctekqtvrtpkbdtiyehatapskmukvdtmzorktktijilesertgraaoqsehpppxarkdreayoalwmyp\n", - "-2448.600744297735 yelx yeynoinmmkansdtisstgfkwsfctebqtvatpksdtihehakapstmukmdtmiorkkktisilejertpraafqseqpppoarkmreapoalfmyp\n", - "-2540.474991365716 yelc yeyioinrmkaisdtnsstbfkwxfctzbqtaatpfsdtnhehvkapxtmufmdtriorfkktnsilzjerypravfqsjqppkoarpmrevpoaqfmyk\n", - "-2476.897967253437 yelz yeyloinomkalsdtksstefkwufctcbqtxatpisdtkhehykaputmuimdtoiorikktksilcjervprayfqsgqppnoarmmreypoanfmyn\n", - "-2405.7137470103708 zelz xeylpinolkaltdtkrstegkwuectccqtxztpitdtkgehylapusmuindtohorilktkrilckervoraygqsgpppnparmlreyqoanemyn\n", - "-2407.502217637959 zela xeykpinplkaktdtlrstdgkwvectbcqtyztphtdtlgehxlapvsmuhndtphorhlktlrilbkerworaxgqshpppmparnlrexqoaoemym\n", - "-2395.49032849347 zelp xeyvpinelkavtdtarstogkwkectmcqtnztpstdtagehilapksmusndtehorslktarilmkerloraigqswpppxparclreiqoademyx\n", - "-2395.448215646054 zelg xeyepinvlkaetdtrrstxgkwbectvcqteztpbtdtrgehrlapbsmubndtvhorblktrrilvkercorargqsnpppgpartlrerqoauemyg\n", - "-2412.2155610821283 delg teyetinvhkaexdtrnstxkkwbactvgqtevtpbxdtrcehrpapbomubrdtvdorbpktrnilvoerckrarkqsnlppgtarthreruoauamyg\n", - "-2455.4282611973495 delh teydtinwhkadxdtsnstwkkwcactugqtfvtpaxdtscehqpapcomuardtwdorapktsniluoerdkraqkqsolppftaruhrequoavamyf\n", - "-2513.209562065773 delo teywtindhkawxdtznstpkkwjactngqtmvtptxdtzcehjpapjomutrdtddortpktznilnoerkkrajkqsvlppytarbhrejuoacamyy\n", - "-2521.9203162956524 dtlo tpywtxndhvawxstzndtpkzwjantngftmveptxstzcphjpppjoxutrstddzrtpztzntlnotrkkcajkfsvlapytprbhcejudacaxyy\n", - "-2552.3331016240745 dylo tkywtcndhqawxxtznytpkewjaitngktmvzptxxtzckhjpupjosutrxtddurtpetznolnoyrkkxajkksvlvpyturbhxejuiacasyy\n", - "-2566.3748421792206 dklo tyywtondheawxjtznmtpkqwjawtngwtmvnptxjtzcyhjpgpjogutrjtddirtpqtznclnokrkklajkwsvljpytgrbhlejuuacagyy\n", - "-2523.7382667094926 dkll tyyztonaheazxjtwnmtskqwgawtqgwtjvnpwxjtwcyhmpgpgoguwrjtadirwpqtwnclqokrhklamkwssljpbtgryhlemuuazagyb\n", - "-2508.5935413107977 dklh tyydtonwheadxjtsnmtwkqwcawtugwtfvnpaxjtscyhqpgpcoguarjtwdirapqtsncluokrdklaqkwsoljpftgruhlequuavagyf\n", - "-2462.298621184586 dklm tyyytonbheayxjtxnmtrkqwhawtpgwtkvnpvxjtxcyhlpgphoguvrjtbdirvpqtxnclpokriklalkwstljpatgrzhleluuaaagya\n", - "-2445.925123700262 dhlm tbyytlnbhhayxgtxnptrknwhaztpgttkvqpvxgtxcbhlpdphojuvrgtbdlrvpntxnflpohrikoalktstlmpatdrzhoeluraaajya\n", - "-2445.35086457389 dhlj tbybtlnyhhabxgtunptuknweaztsgtthvqpyxgtucbhopdpeojuyrgtydlrypntunflsohrfkoaoktsqlmpdtdrwhoeouraxajyd\n", - "-2472.7607763987935 drlj trybtvnyhxabxqtunftukxweaptsgdthvgpyxqtucrhopnpeozuyrqtydbrypxtunvlsorrfkeaokdsqlcpdtnrwheeoubaxazyd\n", - "-2417.2698361746457 dtlj tpybtxnyhvabxstundtukzweantsgfthvepyxstucphopppeoxuyrstydzrypztuntlsotrfkcaokfsqlapdtprwhceoudaxaxyd\n", - "-2600.5262775513343 dtrj tpsbtxtyhvubxszundnukzceannsgfzhvejyxszucpboppveoxoyrszydzlypzzuntfsotxfkcuokfyqlajdtpxwhcyoudgxaxsd\n", - "-2638.851986743571 jtrj npsbzxtybvubdszuhdnuqzceunnsmfzhpejydszuwpbovpveixoyxszyxzlyvzzuhtfsutxfecuoqfyqfajdzpxwbcyoadgxuxsd\n", - "-2639.426245869942 jtrm npsyzxtbbvuydszxhdnrqzchunnpmfzkpejvdszxwpblvpvhixovxszbxzlvvzzxhtfputxieculqfytfajazpxzbcyladgauxsa\n", - "-2660.789967456764 jtrq npsuzxtfbvuudszbhdnnqzclunnlmfzopejrdszbwpbhvpvlixorxszfxzlrvzzbhtflutxmecuhqfyxfajwzpxdbcyhadgeuxsw\n", - "-2655.4931740600687 btrq vpsurxtfjvuuvszbpdnnizclcnnlefzoxejrvszbepbhnpvlqxorpszffzlrnzzbptflmtxmmcuhifyxnajwrpxdjcyhsdgecxsw\n", - "-2630.832193477254 otrq ipsuextfwvuuiszbcdnnvzclpnnlrfzokejriszbrpbhapvldxorcszfszlrazzbctflztxmzcuhvfyxaajwepxdwcyhfdgepxsw\n", - "-2670.908117415339 otrl ipszextawvuziszwcdnsvzcgpnnqrfzjkejwiszwrpbmapvgdxowcszaszlwazzwctfqztxhzcumvfysaajbepxywcymfdgzpxsb\n", - "-2652.837939761598 otal ipjzexcawvlzisiwcdesvzlgpneqrfijkeawisiwrpsmapegdxfwcsiaszcwaziwctwqztghzclmvfhsaaabepgywcpmfdpzpxjb\n", - "-2503.6747055234405 ktal mpjzaxcaavlzesiwgdesrzlgtneqnfijoeawesiwvpsmwpeghxfwysiawzcwwziwgtwqvtghdclmrfhseaabapgyacpmbdpztxjb\n", - "-2535.3161393665505 kwal mmjzaacaaslzeviwgaesrclgtkeqniijobaweviwvmsmwseghufwyviawwcwwciwgqwqvwghdzlmrihsexabasgyazpmbgpztujb\n", - "-2477.0008267000508 kwap mmjvaaceaslveviagaeorclktkemniinobaseviavmsiwsekhufsyviewwcswciagqwmvwgldzlirihwexaxasgcazpibgpdtujx\n", - "-2473.302234715274 kwaj mmjbaacyaslbeviugaeurcletkesniihobayeviuvmsowseehufyyviywwcywciugqwsvwgfdzlorihqexadasgwazpobgpxtujd\n", - "-2463.504984263931 koaj mujbascyaalbeniugieuruletsesnaihojayeniuvusowkeehcfyyniywecywuiugywsvogfdhlorahqefadakgwahpobypxtcjd\n", - "-2485.442964977123 koaq mujuascfaaluenibgienrulltselnaioojarenibvushwkelhcfrynifwecrwuibgywlvogmdhlhrahxefawakgdahphbypetcjw\n", - "-2495.240215428466 kwaq mmjuaacfasluevibgaenrclltkelniioobarevibvmshwselhufryvifwwcrwcibgqwlvwgmdzlhrihxexawasgdazphbgpetujw\n", - "-2678.5334513901043 awaq wmjuqacfksluuvibqaenhclldkeldiioybaruvibfmshmselrufrovifgwcrmcibqqwllwgmnzlhhihxoxawqsgdkzphrgpedujw\n", - "-2707.473144835402 awan wmjxqacckslxuviyqaeqhclidkeodiilybauuviyfmskmseirufuovicgwcumciyqqwolwgjnzlkhihuoxazqsgakzpkrgpbdujz\n", - "-2697.0358704291507 asan wqjxqwcckwlxuriyqeeqhylidoeodeilyfauuriyfqskmoeiryfuoricgacumyiyquwolsgjndlkhehuobazqogakdpkrcpbdyjz\n", - "-2661.017030865564 rsan fqjxhwcctwlxlriyzeeqyylimoeoueilhfaulriyoqskdoeiayfufricpacudyiyzuwocsgjwdlkyehuxbazhogatdpkicpbmyjz\n", - "-2687.566849288483 bsan vqjxrwccjwlxvriypeeqiylicoeoeeilxfauvriyeqsknoeiqyfupricfacunyiypuwomsgjmdlkiehunbazrogajdpkscpbcyjz\n", - "-2705.84329835002 esan sqjxuwccgwlxyriymeeqlylizoeoheilufauyriybqskqoeinyfusriccacuqyiymuwopsgjjdlklehukbazuogagdpkvcpbzyjz\n", - "-2724.25357435653 esxn sqmxuwzcgwoxyrfymehqlyiizohoheflufduyrfybqvkqobinyiusrfccafuqyfymuzopsdjjdokleeukbdzuodagdskvcmbzymz\n", - "-2677.074492182815 esxp sqmvuwzegwovyrfameholyikzohmhefnufdsyrfabqviqobknyissrfecafsqyfamuzmpsdljdoileewkbdxuodcgdsivcmdzymx\n", - "-2713.3492522384427 esqp sqtvuwsegwvvyryameoolybkzoomheynufksyryabqciqouknypssryecamsqyyamugmpswljdvilexwkbkxuowcgdzivcfdzytx\n", - "-2723.786526644694 ewqp smtvuasegsvvyvyamaoolcbkzkomhiynubksyvyabmciqsuknupssvyecwmsqcyamqgmpwwljzvilixwkxkxuswcgzzivgfdzutx\n", - "-2710.539428327718 ejqp sztvunsegfvvyiyamnoolpbkzxomhvynuoksyiyabzciqfuknhpssiyecjmsqpyamdgmpjwljmvilvxwkkkxufwcgmzivtfdzhtx\n", - "-2710.4973154803024 ejqg szteunsvgfveyiyrmnoxlpbbzxovhvyeuokbyiyrbzcrqfubnhpbsiyvcjmbqpyrmdgvpjwcjmvrlvxnkkkgufwtgmzrvtfuzhtg\n", - "-2735.5279672052466 euqg soteuysvguveytyrmcoxlabbzmovhgyeudkbytyrbocrqqubnwpbstyvcymbqayrmsgvpuwcjbvrlgxnkzkguqwtgbzrvefuzwtg\n", - "-2707.3519015178 iuqg ooteyysvcuvectyricoxpabbvmovlgyeqdkbctyrxocruqubjwpbwtyvyymbuayrisgvtuwcfbvrpgxngzkgyqwtcbzrzefuvwtg\n", - "-2671.0771414621745 iuxg oomeyyzvcuoectfrichxpaibvmhvlgfeqddbctfrxovruqbbjwibwtfvyyfbuafriszvtudcfborpgengzdgyqdtcbsrzemuvwmg\n", - "-2671.0771414621745 iuxg oomeyyzvcuoectfrichxpaibvmhvlgfeqddbctfrxovruqbbjwibwtfvyyfbuafriszvtudcfborpgengzdgyqdtcbsrzemuvwmg\n", - "-2658.064939539517 iyxg okmeyczvcqoecxfriyhxpeibvihvlkfeqzdbcxfrxkvruubbjsibwxfvyufbuefriozvtydcfxorpkengvdgyudtcxsrzimuvsmg\n", - "-2682.25274948781 iyxu okmqyczjcqoqcxffiyhjpeipvihhlkfsqzdncxffxkvduubpjsinwxfjyufnueffiozhtydqfxodpkebgvdsyudhcxsdzimivsms\n", - "-2697.449159510413 jyxu nkmqzczjbqoqdxffhyhjqeipuihhmkfspzdndxffwkvdvubpisinxxfjxufnveffhozhuydqexodqkebfvdszudhbxsdaimiusms\n", - "-2669.6048704247596 jyxj nkmbzczybqobdxfuhyhuqeieuihsmkfhpzdydxfuwkvovubeisiyxxfyxufyvefuhozsuydfexooqkeqfvddzudwbxsoaimxusmd\n", - "-2657.5864206224705 jjxj nzmbznzybfobdifuhnhuqpieuxhsmvfhpodydifuwzvovfbeihiyxifyxjfyvpfuhdzsujdfemooqveqfkddzfdwbmsoatmxuhmd\n", - "-2693.1810038175827 pjxj hzmbfnzyvfobjifubnhuwpieoxhssvfhjodyjifuqzvobfbechiydifyrjfybpfubdzsajdfymoowveqzkddffdwvmsogtmxohmd\n", - "-2726.3790693300457 pjxs hzmsfnzhvfosjifdbnhlwpinoxhjsvfqjodpjifdqzvfbfbnchipdifhrjfpbpfdbdzjajdoymofwvezzkduffdfvmsfgtmgohmu\n", - "-2738.0167255722267 pjcs hzhsfnehvfjsjikdbnclwpnnoxcjsvkqjoypjikdqzqfbfgnchdpdikhrjapbpkdbdujajioymjfwvjzzkyuffifvmnfgtrgohhu\n", - "-2719.8448004083484 ppcs hthsftehvzjsjokdbhclwvnnorcjsbkqjiypjokdqtqfblgncbdpdokhrdapbvkdbxujapioygjfwbjzzeyuflifvgnfgzrgobhu\n", - "-2648.3840058871965 ppws htnsftyhvzpsjoedbhilwvhnorijsbeqjiepjoedqtwfblancbjpdoehrdgpbvedbxajapcoygpfwbdzzeeuflcfvgtfgzlgobnu\n", - "-2707.21222301867 ppms htxsftohvzzsjoudbhslwvxnorsjsbuqjiopjoudqtgfblqncbtpdouhrdqpbvudbxkjapsoygzfwbtzzeouflsfvgdfgzbgobxu\n", - "-2689.7968681596594 ppas htjsftchvzlsjoidbhelwvlnorejsbiqjiapjoidqtsfblencbfpdoihrdcpbvidbxwjapgoyglfwbhzzeauflgfvgpfgzpgobju\n", - "-2718.612707298474 ppal htjzftcavzlzjoiwbheswvlgoreqsbijjiawjoiwqtsmblegcbfwdoiardcwbviwbxwqapghyglmwbhszeabflgyvgpmgzpzobjb\n", - "-2716.49458840975 pphl htczftjavzezjopwbhxswvsgorxqsbpjjitwjopwqtlmbllgcbywdopardvwbvpwbxpqapnhygemwboszetbflnyvgimgzwzobcb\n", - "-2680.985323910842 mphl ktczctjayzezgopwehxstvsgrrxqpbpjmitwgopwttlmyllgfbywaopaudvwyvpwexpqxpnhbgemtboscetbclnyygimdzwzrbcb\n", - "-2711.1756988770085 myhl kkczccjayqezgxpweyxstesgrixqpkpjmztwgxpwtklmyulgfsywaxpauuvwyepweopqxynhbxemtkoscvtbcunyyximdiwzrscb\n", - "-2742.361964555329 myul kkpzccwayqrzgxcweykstefgrikqpkcjmzgwgxcwtkymyuygfslwaxcauuiwyecweocqxyahbxrmtkbscvgbcuayyxvmdijzrspb\n", - "-2535.8065692933405 myut kkprccwiyqrrgxceeykkteforikipkcrmzgogxcetkyeyuyofsloaxciuuioyeceeocixyapbxretkbacvgtcuagyxvedijhrspt\n", - "-2503.8746387775227 ryut fkprhcwitqrrlxcezykkyefomikiukcrhzgolxceokyeduyoaslofxcipuiodecezocicyapwxreykbaxvgthuagtxveiijhmspt\n", - "-2489.972795142494 rcut fgprhgwitmrrlbcezukkyifomekiuocrhvgolbceogyedyyoaolofbcipqiodicezkciccapwtreyobaxrgthyagttveimjhmopt\n", - "-2470.9355320808136 xcut zgprngwinmrrrbcetukkeifogekiaocrbvgorbceigyejyyouololbcijqiojicetkciicapqtreeobarrgtnyagntveomjhgopt\n", - "-2516.5226135654125 bcut vgprrgwijmrrvbcepukkiifocekieocrxvgovbceegyenyyoqolopbcifqionicepkcimcapmtreiobanrgtryagjtvesmjhcopt\n", - "-2661.0641041761232 bcuj vgpbrgwyjmrbvbcupukuiifecekseochxvgyvbcuegyonyyeqolypbcyfqiynicupkcsmcafmtroiobqnrgdryawjtvosmjxcopd\n", - "-2661.0641041761232 bcuj vgpbrgwyjmrbvbcupukuiifecekseochxvgyvbcuegyonyyeqolypbcyfqiynicupkcsmcafmtroiobqnrgdryawjtvosmjxcopd\n", - "-2487.239889355152 kcuj mgpbagwyamrbebcugukurifeteksnochovgyebcuvgyowyyeholyybcywqiywicugkcsvcafdtrorobqergdayawatvobmjxtopd\n", - "-2545.347167553686 kcuv mgppagwkamrpebcggukirifqtekgnoctovgmebcgvgycwyyqholmybckwqimwicggkcgvcardtrcrobcergrayaiatvcbmjjtopr\n", - "-2532.84788385366 kxuv mlppabwkarrpewcggzkirdfqtjkgnjctoagmewcgvlycwtyqhtlmywckwvimwdcggpcgvxardyrcrjbcewgrataiayvcbhjjttpr\n", - "-2543.0218185640747 kxuk mlpaabwzarraewcvgzktrdfftjkrnjcioagxewcvvlynwtyfhtlxywczwvixwdcvgpcrvxagdyrnrjbrewgcataxayvnbhjyttpc\n", - "-2555.521102264101 kcuk mgpaagwzamraebcvguktrifftekrnociovgxebcvvgynwyyfholxybczwqixwicvgkcrvcagdtrnrobrergcayaxatvnbmjytopc\n", - "-2770.236693676881 pcuk hgpafgwzvmrajbcvbuktwiffoekrsocijvgxjbcvqgynbyyfcolxdbczrqixbicvbkcracagytrnwobrzrgcfyaxvtvngmjyoopc\n", - "-2795.8535829494203 pcqk hgtafgszvmvajbyvbuotwibfoeorsoyijvkxjbyvqgcnbyufcopxdbyzrqmxbiyvbkgracwgytvnwoxrzrkcfywxvtzngmfyootc\n", - "-2813.806792567414 fcqk rgtavgszfmvazbyvluotmibfyeorioyitvkxzbyvagcnryufmopxtbyzbqmxriyvlkgrqcwgitvnmoxrjrkcvywxftznwmfyyotc\n", - "-2788.189903294873 fcuk rgpavgwzfmrazbcvluktmiffyekriocitvgxzbcvagynryyfmolxtbczbqixricvlkcrqcagitrnmobrjrgcvyaxftvnwmjyyopc\n", - "-2789.1696887539674 fcck rghavgezfmjazbkvluctminfyecriokitvyxzbkvagqnrygfmodxtbkzbqaxrikvlkurqcigitjnmojrjrycvyixftnnwmryyohc\n", - "-2825.3768496939338 fqck rshavuezfyjazpkvlgctmwnfyqcrickithyxzpkvasqnrmgfmadxtpkzbcaxrwkvlwurqqigifjnmcjrjdycvmixffnnwaryyahc\n", - "-2809.044214792107 fqbk rsiavudzfykazpjvlgdtmwmfyqdricjithzxzpjvasrnrmffmaextpjzbcbxrwjvlwvrqqhgifknmcirjdzcvmhxffonwaqyyaic\n", - "-2803.595186727534 fqkk rszavumzfybazpsvlgutmwvfyquricsithqxzpsvasinrmofmavxtpszbcsxrwsvlwmrqqqgifbnmcrrjdqcvmqxfffnwazyyazc\n", - "-2753.288692999637 lqkk lszabumzzybafpsvfgutswvfsqurocsinhqxfpsvusinxmofgavxzpszvcsxxwsvfwmrwqqgcfbnscrrddqcbmqxzffncazysazc\n", - "-2774.0905705069435 lquk lspabuwzzyrafpcvfgktswffsqkroccinhgxfpcvusynxmyfgalxzpczvcixxwcvfwcrwqagcfrnscbrddgcbmaxzfvncajysapc\n", - "-2762.437778576358 lqmk lsxabuozzyzafpuvfgstswxfsqsrocuinhoxfpuvusgnxmqfgatxzpuzvcqxxwuvfwkrwqsgcfznsctrddocbmsxzfdncabysaxc\n", - "-2756.1704703186865 lqml lsxzbuoazyzzfpuwfgssswxgsqsqocujnhowfpuwusgmxmqggatwzpuavcqwxwuwfwkqwqshcfzmsctsddobbmsyzfdmcabzsaxb\n", - "-2752.929171233478 jqml nsxzzuoabyzzdpuwhgssqwxguqsqmcujphowdpuwwsgmvmqgiatwxpuaxcqwvwuwhwkquqshefzmqctsfdobzmsybfdmaabzuaxb\n", - "-2768.41430119616 jqmc nsxizuorbyzidpunhgsbqwxxuqszmcuaphofdpunwsgvvmqxiatfxpurxcqfvwunhwkzuqsyefzvqctjfdokzmspbfdvaabquaxk\n", - "-2768.41430119616 jqmc nsxizuorbyzidpunhgsbqwxxuqszmcuaphofdpunwsgvvmqxiatfxpurxcqfvwunhwkzuqsyefzvqctjfdokzmspbfdvaabquaxk\n", - "-2785.3194936790064 cqmc usxisuoriyziwpunogsbjwxxbqszfcuawhofwpundsgvomqxpatfqpurecqfowunowkznqsylfzvjctjmdoksmspifdvtabqbaxk\n", - "-2763.117507799463 bqmc vsxiruorjyzivpunpgsbiwxxcqszecuaxhofvpunesgvnmqxqatfppurfcqfnwunpwkzmqsymfzvictjndokrmspjfdvsabqcaxk\n", - "-2781.3939568610035 eqmc ssxiuuorgyziypunmgsblwxxzqszhcuauhofypunbsgvqmqxnatfspurccqfqwunmwkzpqsyjfzvlctjkdokumspgfdvvabqzaxk\n", - "-2771.6556002813686 lqmc lsxibuorzyzifpunfgsbswxxsqszocuanhoffpunusgvxmqxgatfzpurvcqfxwunfwkzwqsycfzvsctjddokbmspzfdvcabqsaxk\n", - "-2776.189194739531 lzmc ljxibdorzpzifyunfxsbsfxxshszoluanyoffyunujgvxvqxgrtfzyurvtqfxfunfnkzwzsycwzvsltjduokbvspzwdvcjbqsrxk\n", - "-2695.6787974023487 lzme ljxgbdotzpzgfyupfxszsfxzshsxolucnyodfyupujgtxvqzgrtdzyutvtqdxfupfnkxwzsacwztsltlduoibvsrzwdtcjbssrxi\n", - "-2753.0595859458967 lzmr ljxtbdogzpztfyucfxsmsfxmshskolupnyoqfyucujggxvqmgrtqzyugvtqqxfucfnkkwzsncwzgsltyduovbvsezwdgcjbfsrxv\n", - "-2749.8182868606887 jzmr njxtzdogbpztdyuchxsmqfxmuhskmluppyoqdyucwjggvvqmirtqxyugxtqqvfuchnkkuzsnewzgqltyfuovzvsebwdgajbfurxv\n", - "-2717.9716750410735 rzmr fjxthdogtpztlyuczxsmyfxmmhskuluphyoqlyucojggdvqmartqfyugptqqdfucznkkczsnwwzgyltyxuovhvsetwdgijbfmrxv\n", - "-2660.7199779495527 rtmr fpxthxogtvztlsuczdsmyzxmmnskufupheoqlsucopggdpqmaxtqfsugpzqqdzucztkkctsnwczgyftyxaovhpsetcdgidbfmxxv\n", - "-2621.1448409485624 rtpr fputhxrgtvwtlsxczdpmyzammnpkufxphelqlsxcopdgdptmaxqqfsxgpznqdzxczthkctvnwcwgyfwyxalvhpvetcagidefmxuv\n", - "-2658.407874184544 stpr eputixrgsvwtmsxcydpmzzamlnpkvfxpgelqmsxcnpdgeptmzxqqgsxgoznqezxcythkdtvnvcwgzfwywalvipvescagjdeflxuv\n", - "-2649.697119954663 sepr eeutiirgskwtmdxcyspmzkamlcpkvqxpgtlqmdxcnedgeatmzmqqgdxgoonqekxcyihkdevnvrwgzqwywplviavesragjoeflmuv\n", - "-2658.407874184544 stpr eputixrgsvwtmsxcydpmzzamlnpkvfxpgelqmsxcnpdgeptmzxqqgsxgoznqezxcythkdtvnvcwgzfwywalvipvescagjdeflxuv\n", - "-2639.1547940540613 stwr epntixygsvptmsecydimzzhmlnikvfepgeeqmsecnpwgepamzxjqgsegozgqezecytakdtcnvcpgzfdywaevipcesctgjdlflxnv\n", - "-2681.4025616326603 sgwr ecntikygsiptmfecyqimzmhmlaikvsepgreqmfecncwgecamzkjqgfegomgqemecygakdgcnvppgzsdywneviccesptgjqlflknv\n", - "-2710.287043807489 ngwr jcntdkygxipthfecdqimumhmqaikqseplreqhfecscwgzcamekjqbfegtmgqzmecdgakygcnappgusdybnevdccexptgeqlfqknv\n", - "-2675.9861402162937 jgwr ncntzkygbiptdfechqimqmhmuaikmseppreqdfecwcwgvcamikjqxfegxmgqvmechgakugcneppgqsdyfnevzccebptgaqlfuknv\n", - "-2690.990069729215 jzwr njntzdygbpptdyechximqfhmuhikmleppyeqdyecwjwgvvamirjqxyegxtgqvfechnakuzcnewpgqldyfuevzvcebwtgajlfurnv\n", - "-2669.818709421351 jzws njnszdyhbppsdyedhxilqfhnuhijmleqpyepdyedwjwfvvanirjpxyehxtgpvfedhnajuzcoewpfqldzfueuzvcfbwtfajlgurnu\n", - "-2676.4131139869664 jzss njrszduhbptsdyadhxmlqfdnuhmjmlaqpyipdyadwjafvvwnirnpxyahxtkpvfadhnejuzyoewtfqlzzfuiuzvyfbwxfajhgurru\n", - "-2669.818709421351 jzws njnszdyhbppsdyedhxilqfhnuhijmleqpyepdyedwjwfvvanirjpxyehxtgpvfedhnajuzcoewpfqldzfueuzvcfbwtfajlgurnu\n", - "-2765.91660775595 jzqs njtszdshbpvsdyydhxolqfbnuhojmlyqpykpdyydwjcfvvunirppxyyhxtmpvfydhngjuzwoewvfqlxzfukuzvwfbwzfajfgurtu\n", - "-2765.91660775595 jzqs njtszdshbpvsdyydhxolqfbnuhojmlyqpykpdyydwjcfvvunirppxyyhxtmpvfydhngjuzwoewvfqlxzfukuzvwfbwzfajfgurtu\n", - "-2744.5554310427538 jzis njbszdkhbpdsdyqdhxwlqftnuhwjmlqqpyspdyqdwjkfvvmnirxpxyqhxtupvfqdhnojuzooewdfqlpzfusuzvofbwhfajxgurbu\n", - "-2773.3712701815703 jzil njbzzdkabpdzdyqwhxwsqftguhwqmlqjpyswdyqwwjkmvvmgirxwxyqaxtuwvfqwhnoquzohewdmqlpsfusbzvoybwhmajxzurbb\n", - "-2773.3712701815703 jzil njbzzdkabpdzdyqwhxwsqftguhwqmlqjpyswdyqwwjkmvvmgirxwxyqaxtuwvfqwhnoquzohewdmqlpsfusbzvoybwhmajxzurbb\n", - "-2749.790136404208 wzil ajbzmdkaopdzqyqwuxwsdftghhwqzlqjcyswqyqwjjkmivmgvrxwkyqaktuwifqwunoqhzohrwdmdlpssusbmvoyowhmnjxzhrbb\n", - "-2703.4867128821966 wzia ajbkmdkpopdkqyqluxwddftvhhwbzlqycyshqyqljjkxivmvvrxhkyqpktuhifqlunobhzowrwdxdlphsusmmvonowhxnjxohrbm\n", - "-2637.5242615607963 weia aebkmikpokdkqdqluswddktvhcwbzqqyctshqdqljekxiamvvmxhkdqpkouhikqluiobheowrrdxdqphspsmmaonorhxnoxohmbm\n", - "-2653.2874325729244 wmia awbkmqkpocdkqlqlukwddstvhuwbzyqyclshqlqljwkxiimvvexhklqpkguhisqluaobhmowrjdxdyphshsmmionojhxnwxohebm\n", - "-2695.6842296421914 wmiv awbpmqkkocdpqlqgukwidstqhuwgzyqtclsmqlqgjwkciimqvexmklqkkgumisqguaoghmorrjdcdypcshsrmioiojhcnwxjhebr\n", - "-2787.9335852333047 wdiv afbpmhkkoldpqcqgutwidjtqhdwgzpqtcusmqcqgjfkcizmqvnxmkcqkkpumijqgujoghdorrsdcdppcsqsrmzoioshcnnxjhnbr\n", - "-2787.9335852333047 wdiv afbpmhkkoldpqcqgutwidjtqhdwgzpqtcusmqcqgjfkcizmqvnxmkcqkkpumijqgujoghdorrsdcdppcsqsrmzoioshcnnxjhnbr\n", - "-2728.7144514186534 wliv axbpmpkkoddpqkqgulwidrtqhvwgzxqtcmsmqkqgjxkcihmqvfxmkkqkkhumirqguboghlorrkdcdxpcsisrmhoiokhcnvxjhfbr\n", - "-2720.4489733763994 rliv fxbphpkktddplkqgzlwiyrtqmvwguxqthmsmlkqgoxkcdhmqafxmfkqkphumdrqgzbogclorwkdcyxpcxisrhhoitkhcivxjmfbr\n", - "-2779.668107191051 rdiv ffbphhkktldplcqgztwiyjtqmdwgupqthusmlcqgofkcdzmqanxmfcqkppumdjqgzjogcdorwsdcyppcxqsrhzoitshcinxjmnbr\n", - "-2794.3756444429177 qdiv gfbpghkkuldpkcqgatwixjtqndwgtpqtiusmkcqgpfkcczmqbnxmecqkqpumcjqgajogbdorxsdcxppcyqsrgzoiushchnxjnnbr\n", - "-2815.33726119978 qdtv gfqpghvkulspkcbgatlixjeqndlgtpbtiuhmkcbgpfzcczxqbnmmecbkqpjmcjbgajdgbdzrxsscxpacyqhrgzziuswchnijnnqr\n", - "-2760.8864621386065 qdtg gfqeghvvulsekcbratlxxjebndlvtpbeiuhbkcbrpfzrczxbbnmbecbvqpjbcjbrajdvbdzcxssrxpanyqhggzztuswrhniunnqg\n", - "-2755.8101202278135 qdti gfqcghvxulsckcbtatlvxjedndlttpbgiuhzkcbtpfzpczxdbnmzecbxqpjzcjbtajdtbdzexsspxpapyqhegzzvuswphniwnnqe\n", - "-2749.3680610182014 wdti afqcmhvxolscqcbtutlvdjedhdltzpbgcuhzqcbtjfzpizxdvnmzkcbxkpjzijbtujdthdzersspdpapsqhemzzvoswpnniwhnqe\n", - "-2698.900763668177 wati aiqcmevxooscqzbtuwlvdgedhgltzmbgcxhzqzbtjizpiwxdvqmzkzbxksjzigbtumdthazervspdmapsthemwzvovwpnkiwhqqe\n", - "-2671.2704480816988 wsti aqqcmwvxowscqrbtuelvdyedholtzebgcfhzqrbtjqzpioxdvymzkrbxkajziybtuudthszerdspdeapsbhemozvodwpnciwhyqe\n", - "-2625.7213992353672 wvti anqcmzvxotscqubtublvdbedhlltzhbgcchzqubtjnzpirxdvvmzkubxkxjzibbturdthvzeraspdhapsyhemrzvoawpnfiwhvqe\n", - "-2641.355534414961 weti aeqcmivxokscqdbtuslvdkedhcltzqbgcthzqdbtjezpiaxdvmmzkdbxkojzikbtuidthezerrspdqapsphemazvorwpnoiwhmqe\n", - "-2749.3680610182014 wdti afqcmhvxolscqcbtutlvdjedhdltzpbgcuhzqcbtjfzpizxdvnmzkcbxkpjzijbtujdthdzersspdpapsqhemzzvoswpnniwhnqe\n", - "-2671.910472036611 woti auqcmsvxoascqnbtuilvduedhsltzabgcjhzqnbtjuzpikxdvcmzknbxkejziubtuydthozerhspdaapsfhemkzvohwpnyiwhcqe\n", - "-2717.4225286731285 hoti puqcxsvxdascbnbtjilvouedwsltkabgrjhzbnbtyuzptkxdkcmzvnbxzejztubtjydtsozeghspoaaphfhexkzvdhwpyyiwwcqe\n", - "-2808.3806636394843 hoty puqmxsvndasmbnbjjilfouetwsldkabwrjhjbnbjyuzztkxtkcmjvnbnzejjtubjjyddsozughszoaafhfhoxkzldhwzyyimwcqo\n", - "-2816.949265576135 hyty pkqmxcvndqsmbxbjjylfoeetwildkkbwrzhjbxbjykzztuxtksmjvxbnzujjtebjjoddsyzugxszokafhvhoxuzldxwzyiimwsqo\n", - "-2804.910027997171 hytc pkqixcvrdqsibxbnjylboeexwilzkkbarzhfbxbnykzvtuxxksmfvxbrzujftebnjodzsyzygxsvokajhvhkxuzpdxwvyiiqwsqk\n", - "-2778.2886675417008 hytn pkqxxcvcdqsxbxbyjylqoeeiwilokkblrzhubxbyykzktuxiksmuvxbczujutebyjodosyzjgxskokauhvhzxuzadxwkyiibwsqz\n", - "-2718.03203549031 dytn tkqxtcvchqsxxxbynylqkeeiailogkblvzhuxxbyckzkpuxiosmurxbcdujupebynodooyzjkxskkkaulvhztuzahxwkuiibasqz\n", - "-2739.019001415257 dygn tkdxtcichqfxxxoynyyqkeriaiyogkolvzuuxxoyckmkpukioszurxocduwupeoynoqooymjkxfkkknulvuztumahxjkuivbasdz\n", - "-2777.6795994496924 dygy tkdmtcinhqfmxxojnyyfkertaiydgkowvzujxxojckmzpuktoszjrxonduwjpeojnoqdoymukxfzkknflvuotumlhxjzuivmasdo\n", - "-2732.530879607358 dygd tkdhtcishqfhxxoonyyakeryaiyygkobvzuexxoockmupukyoszerxosduwepeoonoqyoymzkxfukknklvujtumqhxjuuivrasdj\n", - "-2715.971559785546 dbgd thdhtfishnfhxaoonvyakhryafyygnobvwuexaoochmupxkyopzeraosdrwephoonlqyobmzkufuknnklsujtxmqhujuulvrapdj\n", - "-2723.9622776707065 dogd tudhtsishafhxnooniyakuryasyygaobvjuexnoocumupkkyoczernosdewepuoonyqyoomzkhfukanklfujtkmqhhjuuyvracdj\n", - "-2679.5727253201144 dogj tudbtsiyhafbxnouniyukureasysgaohvjuyxnoucumopkkeoczyrnoydewypuounyqsoomfkhfokanqlfudtkmwhhjouyvxacdd\n", - "-2723.3148559287174 sogj eudbisiysafbmnouyiyuzurelsysvaohgjuymnounumoekkezczygnoyoewyeuouyyqsdomfvhfozanqwfudikmwshjojyvxlcdd\n", - "-2701.4706725369483 stgj epdbixiysvfbmsouydyuzzrelnysvfohgeuymsounpmoepkezxzygsoyozwyezouytqsdtmfvcfozfnqwaudipmwscjojdvxlxdd\n", - "-2556.9291819262357 stgt epdrixiisvfrmsoeydykzzrolnyivforgeuomsoenpmeepkozxzogsoiozwoezoeytqidtmpvcfezfnawautipmgscjejdvhlxdt\n", - "-2554.7540595950795 ltgt lpdrbxiizvfrfsoefdykszrosnyioforneuofsoeupmexpkogxzozsoivzwoxzoeftqiwtmpccfesfnadautbpmgzcjecdvhsxdt\n", - "-2513.187051317634 dtgt tpdrtxiihvfrxsoendykkzroanyigforveuoxsoecpmeppkooxzorsoidzwopzoentqiotmpkcfekfnalauttpmghcjeudvhaxdt\n", - "-2519.6661486902563 rtgt fpdrhxiitvfrlsoezdykyzromnyiuforheuolsoeopmedpkoaxzofsoipzwodzoeztqictmpwcfeyfnaxauthpmgtcjeidvhmxdt\n", - "-2442.2755877707814 rtht fpcrhxjitverlspezdxkyzsomnxiufprhetolspeopledploaxyofspipzvodzpeztpictnpwceeyfoaxatthpngtcieidwhmxct\n", - "-2470.3566161700255 rhht fbcrhljitherlgpezpxkynsomzxiutprhqtolgpeobleddloajyofgpiplvodnpezfpichnpwoeeytoaxmtthdngtoieirwhmjct\n", - "-2417.930698361308 rvht fncrhzjitterlupezbxkybsomlxiuhprhctolupeonledrloavyofupipxvodbpezrpicvnpwaeeyhoaxytthrngtaieifwhmvct\n", - "-2413.5938303875605 rvft fnerhzhittgrlunezbzkybqomlziuhnrhcvoluneonnedrjoavaofunipxxodbnezrricvlpwageyhmaxyvthrlgtakeifuhmvet\n", - "-2461.531607821926 yvft ynerozhimtgrsunesbzkfbqoflzibhnracvosunehnnekrjotvaomuniixxokbnesrrijvlppagefhmaqyvtorlgmakepfuhfvet\n", - "-2450.8568636235377 svft enerizhistgrmuneybzkzbqollzivhnrgcvomunennneerjozvaogunioxxoebneyrridvlpvagezhmawyvtirlgsakejfuhlvet\n", - "-2449.612669951144 avft wnerqzhiktgruuneqbzkhbqodlzidhnrycvouunefnnemrjorvaoounigxxombneqrrilvlpnagehhmaoyvtqrlgkakerfuhdvet\n", - "-2467.2567520967855 avjt wnarqzliktcruureqbvkhbuodlvidhrrycrouurefnjemrnorvwoourigxtombreqrnilvppnacehhqaoyrtqrpgkagerfyhdvat\n", - "-2283.9635161351507 kvjt mnarazliatcreuregbvkrbuotlvinhrrocroeurevnjewrnohvwoyuriwxtowbregrnivvppdacerhqaeyrtarpgaagebfyhtvat\n", - "-2283.9635161351507 kvjt mnarazliatcreuregbvkrbuotlvinhrrocroeurevnjewrnohvwoyuriwxtowbregrnivvppdacerhqaeyrtarpgaagebfyhtvat\n", - "-2266.3194339895094 kvft mnerazhiatgreunegbzkrbqotlzinhnrocvoeunevnnewrjohvaoyuniwxxowbnegrrivvlpdagerhmaeyvtarlgaakebfuhtvet\n", - "-2339.4987984223203 kaft mieraehiaogreznegwzkrgqotgzinmnroxvoeznevinewwjohqaoyzniwsxowgnegmrivalpdvgermmaetvtawlgavkebkuhtqet\n", - "-2318.7453517982276 khft mberalhiahgregnegpzkrnqotzzintnroqvoegnevbnewdjohjaoygniwlxownnegfrivhlpdogertmaemvtadlgaokebruhtjet\n", - "-2318.7453517982276 khft mberalhiahgregnegpzkrnqotzzintnroqvoegnevbnewdjohjaoygniwlxownnegfrivhlpdogertmaemvtadlgaokebruhtjet\n", - "-2307.1752650923754 kcft mgeraghiamgrebneguzkriqotezinonrovvoebnevgnewyjohoaoybniwqxowinegkrivclpdtgeromaervtaylgatkebmuhtoet\n", - "-2318.7453517982276 khft mberalhiahgregnegpzkrnqotzzintnroqvoegnevbnewdjohjaoygniwlxownnegfrivhlpdogertmaemvtadlgaokebruhtjet\n", - "-2461.866979635504 khfi mbecalhxahgcegntgpzvrnqdtzztntngoqvzegntvbnpwdjdhjazygnxwlxzwnntgfrtvhledogprtmpemveadlvaokpbruwtjee\n", - "-2510.15602166152 khfh mbedalhwahgdegnsgpzwrnqctzzuntnfoqvaegnsvbnqwdjchjaaygnwwlxawnnsgfruvhlddogqrtmoemvfadluaokqbruvtjef\n", - "-2514.164516567428 khfn mbexalhcahgxegnygpzqrnqitzzontnloqvuegnyvbnkwdjihjauygncwlxuwnnygfrovhljdogkrtmuemvzadlaaokkbrubtjez\n", - "-2491.131131494588 khfu mbeqalhjahgqegnfgpzjrnqptzzhntnsoqvnegnfvbndwdjphjanygnjwlxnwnnfgfrhvhlqdogdrtmbemvsadlhaokdbruitjes\n", - "-2505.1305124706587 khzu mbkqalbjahmqeghfgpfjrnkptzfhnthsoqbneghfvbtdwddphjgnyghjwldnwnhfgfxhvhfqdomdrtgbembsadfhaoqdbroitjks\n", - "-2480.984815369783 khzp mbkvalbeahmveghagpfornkktzfmnthnoqbseghavbtiwddkhjgsyghewldswnhagfxmvhfldomirtgwembxadfcaoqibrodtjkx\n", - "-2660.105823587449 jhzp nbkvzlbebhmvdghahpfoqnkkuzfmmthnpqbsdghawbtivddkijgsxghexldsvnhahfxmuhfleomiqtgwfmbxzdfcboqiarodujkx\n", - "-2621.7801143952124 dhzp tbkvtlbehhmvxghanpfoknkkazfmgthnvqbsxghacbtipddkojgsrghedldspnhanfxmohflkomiktgwlmbxtdfchoqiurodajkx\n", - "-2638.153611879538 dkzp tykvtobehemvxjhanmfokqkkawfmgwhnvnbsxjhacytipgdkoggsrjhedidspqhancxmokflklmikwgwljbxtgfchlqiuuodagkx\n", - "-2680.651548815746 akzp wykvqobekemvujhaqmfohqkkdwfmdwhnynbsujhafytimgdkrggsojhegidsmqhaqcxmlkflnlmihwgwojbxqgfcklqiruoddgkx\n", - "-2676.952956830969 akzj wykbqobykembujhuqmfuhqkedwfsdwhhynbyujhufytomgderggyojhygidymqhuqcxslkffnlmohwgqojbdqgfwklqoruoxdgkd\n", - "-2690.874967332648 akzz wyklqobokemlujhkqmfehqkudwfcdwhxynbiujhkfytymgdurggiojhogidimqhkqcxclkfvnlmyhwggojbnqgfmklqyruondgkn\n", - "-2766.491229023895 akzy wykmqobnkemmujhjqmffhqktdwfddwhwynbjujhjfytzmgdtrggjojhngidjmqhjqcxdlkfunlmzhwgfojboqgflklqzruomdgko\n", - "-2707.22594665161 zkzy xykmpobnlemmtjhjrmffgqktewfdcwhwznbjtjhjgytzlgdtsggjnjhnhidjlqhjrcxdkkfuolmzgwgfpjbopgflllqzquomegko\n", - "-2684.6156041598106 zozy xukmpsbnlammtnhjriffguktesfdcahwzjbjtnhjgutzlkdtscgjnnhnhedjluhjryxdkofuohmzgagfpfbopkfllhqzqyomecko\n", - "-2592.065969243664 zoze xukgpsbtlamgtnhprifzgukzesfxcahczjbdtnhpguttlkdzscgdnnhtheddluhpryxxkofaohmtgaglpfbipkfrlhqtqyosecki\n", - "-2621.978070185723 zone xuwgpsptlaygtnvprirzguyzesrxcavczjndtnvpguftlkrzscsdnnvthepdluvpryjxkotaohytgaulpfnipktrlhctqycsecwi\n", - "-2628.214915193198 zhne xbwgplptlhygtgvprprzgnyzezrxctvczqndtgvpgbftldrzsjsdngvthlpdlnvprfjxkhtaooytgtulpmnipdtrloctqrcsejwi\n", - "-2630.546672122375 zyne xkwgpcptlqygtxvpryrzgeyzeirxckvczzndtxvpgkftlurzsssdnxvthupdlevprojxkytaoxytgkulpvniputrlxctqicseswi\n", - "-2628.214915193198 zhne xbwgplptlhygtgvprprzgnyzezrxctvczqndtgvpgbftldrzsjsdngvthlpdlnvprfjxkhtaooytgtulpmnipdtrloctqrcsejwi\n", - "-2604.473717484405 zhbe xbigpldtlhkgtgjprpdzgnmzezdxctjczqzdtgjpgbrtldfzsjedngjthlbdlnjprfvxkhhaooktgtilpmzipdhrlootqrqsejii\n", - "-2645.443456199678 zhqe xbtgplstlhvgtgyprpozgnbzezoxctyczqkdtgypgbctlduzsjpdngythlmdlnyprfgxkhwaoovtgtxlpmkipdwrloztqrfsejti\n", - "-2599.024689419831 zhke xbzgplmtlhbgtgsprpuzgnvzezuxctsczqqdtgspgbitldozsjvdngsthlsdlnsprfmxkhqaoobtgtrlpmqipdqrloftqrzsejzi\n", - "-2706.6865322640583 zhko xbzwplmdlhbwtgszrpupgnvjezunctsmzqqttgszgbijldojsjvtngsdhlstlnszrfmnkhqkoobjgtrvpmqypdqblofjqrzcejzy\n", - "-2533.2339992588218 zhlo xbywplndlhawtgtzrptpgnwjeztncttmzqpttgtzgbhjldpjsjutngtdhlrtlntzrflnkhrkooajgtsvpmpypdrbloejqracejyy\n", - "-2461.7815846502776 zhls xbysplnhlhastgtdrptlgnwneztjcttqzqpptgtdgbhfldpnsjupngthhlrplntdrfljkhroooafgtszpmpupdrfloefqragejyu\n", - "-2424.9898020211544 zels xeyspinhlkastdtdrstlgkwnectjcqtqztpptdtdgehflapnsmupndthhorplktdriljkeroorafgqszpppuparflrefqoagemyu\n", - "-2377.4165240546713 zelx xeynpinmlkantdtirstggkwsectecqtvztpktdtigehalapssmukndtmhorklktirilekertoraagqseppppparklreaqoalemyp\n", - "-2553.791883060786 zejx xeanpilmlkcntdrirsvggkusecvecqrvztrktdrigejalanssmwkndrmhotklkririnekeptorcagqqepprppapklrgaqoylemap\n", - "-2596.8882638834207 zetx xeqnpivmlksntdbirslggkeseclecqbvzthktdbigezalaxssmmkndbmhojklkbiridekeztorsagqaepphppazklrwaqoilemqp\n", - "-2605.8214284755554 zptx xtqnptvmlzsntobirhlggveserlecbbvzihktobigtzallxssbmknobmhdjklvbirxdekpztogsagbaepehpplzklgwaqzilebqp\n", - "-2660.9998018000706 mptx ktqnctvmyzsngobiehlgtvesrrlepbbvmihkgobittzaylxsfbmkaobmudjkyvbiexdexpztbgsatbaecehpclzkygwadzilrbqp\n", - "-2673.894138768709 eptx stqnutvmgzsnyobimhlglveszrlehbbvuihkyobibtzaqlxsnbmksobmcdjkqvbimxdeppztjgsalbaekehpulzkggwavzilzbqp\n", - "-2649.656594911597 epcx sthnutemgzjnyokimhcglvnszrcehbkvuiykyokibtqaqlgsnbdksokmcdakqvkimxueppitjgjalbjekeypulikggnavzrlzbhp\n", - "-2697.2298728780806 epcs sthsutehgzjsyokdmhcllvnnzrcjhbkquiypyokdbtqfqlgnnbdpsokhcdapqvkdmxujppiojgjflbjzkeyuulifggnfvzrgzbhu\n", - "-2753.570079558543 epcy sthmutengzjmyokjmhcflvntzrcdhbkwuiyjyokjbtqzqlgtnbdjsokncdajqvkjmxudppiujgjzlbjfkeyoulilggnzvzrmzbho\n", - "-2746.0068453100657 spcy ethmitenszjmmokjyhcfzvntlrcdvbkwgiyjmokjntqzelgtzbdjgoknodajevkjyxuddpiuvgjzzbjfweyoililsgnzjzrmlbho\n", - "-2794.6189099711482 sacy eihmieensojmmzkjywcfzgntlgcdvmkwgxyjmzkjniqzewgtzqdjgzknosajegkjymuddaiuvvjzzmjfwtyoiwilsvnzjkrmlqho\n", - "-2773.865463347055 shcy ebhmilenshjmmgkjypcfznntlzcdvtkwgqyjmgkjnbqzedgtzjdjggknolajenkjyfuddhiuvojzztjfwmyoidilsonzjrrmljho\n", - "-2777.141390447306 shiy ebbmilknshdmmgqjypwfznttlzwdvtqwgqsjmgqjnbkzedmtzjxjggqnolujenqjyfoddhouvodzztpfwmsoidolsohzjrxmljbo\n", - "-2741.972544074707 shir ebbtilkgshdtmgqcypwmzntmlzwkvtqpgqsqmgqcnbkgedmmzjxqggqgoluqenqcyfokdhonvodgztpywmsvidoesohgjrxfljbv\n", - "-2740.7283504023126 ahir wbbtqlkgkhdtugqcqpwmhntmdzwkdtqpyqsqugqcfbkgmdmmrjxqogqggluqmnqcqfoklhonnodghtpyomsvqdoekohgrrxfdjbv\n", - "-2719.5569900944483 ahis wbbsqlkhkhdsugqdqpwlhntndzwjdtqqyqspugqdfbkfmdmnrjxpogqhglupmnqdqfojlhoonodfhtpzomsuqdofkohfrrxgdjbu\n", - "-2676.4459271259225 ahvs wbosqlxhkhqsugddqpjlhngndzjjdtdqyqfpugddfbxfmdznrjkpogdhglhpmnddqfbjlhbonoqfhtczomfuqdbfkoufrrkgdjou\n", - "-2692.819424610247 akvs wyosqoxhkeqsujddqmjlhqgndwjjdwdqynfpujddfyxfmgznrgkpojdhgihpmqddqcbjlkbonlqfhwczojfuqgbfklufrukgdgou\n", - "-2696.1516413673617 akfs wyesqohhkegsujndqmzlhqqndwzjdwnqynvpujndfynfmgjnrgapojnhgixpmqndqcrjlklonlgfhwmzojvuqglfklkfruugdgeu\n", - "-2636.886358995077 zkfs xyespohhlegstjndrmzlgqqnewzjcwnqznvptjndgynflgjnsgapnjnhhixplqndrcrjkkloolgfgwmzpjvupglfllkfquugegeu\n", - "-2708.8846061062354 ckfs uyessohhiegswjndomzljqqnbwzjfwnqwnvpwjnddynfogjnpgapqjnheixpoqndocrjnklollgfjwmzmjvusglfilkftuugbgeu\n", - "-2679.3851325785495 ckfp uyevsoheiegvwjnaomzojqqkbwzmfwnnwnvswjnadyniogjkpgasqjneeixsoqnaocrmnkllllgijwmwmjvxsglcilkituudbgex\n", - "-2662.5652587919067 mkfp kyevcoheyegvgjnaemzotqqkrwzmpwnnmnvsgjnatyniygjkfgasajneuixsyqnaecrmxkllblgitwmwcjvxcglcylkiduudrgex\n", - "-2468.7719408891867 mifp kaevcmheyggvghnaeozotoqkryzmpunnmpvsghnataniyejkfiasahneukxsyonaeermxillbngitumwclvxcelcynkidsudriex\n", - "-2523.1806271029445 mifv kaepcmhkyggpghngeozitoqqryzgpuntmpvmghngtancyejqfiamahnkukxmyongeergxilrbngctumcclvrceliynkcdsujrier\n", - "-2523.1806271029445 mifv kaepcmhkyggpghngeozitoqqryzgpuntmpvmghngtancyejqfiamahnkukxmyongeergxilrbngctumcclvrceliynkcdsujrier\n", - "-2493.1375344272324 oifv iaepemhkwggpihngcozivoqqpyzgruntkpvmihngrancaejqdiamchnkskxmaongcergzilrzngcvumcalvreeliwnkcfsujpier\n", - "-2507.1369154033027 oizv iakpembkwgmpihhgcofivokqpyfgruhtkpbmihhgratcaedqdigmchhkskdmaohgcexgzifrznmcvugcalbreefiwnqcfsojpikr\n", - "-2537.09468938281 jizv nakpzmbkbgmpdhhghofiqokquyfgmuhtppbmdhhgwatcvedqiigmxhhkxkdmvohghexguifrenmcqugcflbrzefibnqcasojuikr\n", - "-2556.486445798235 jizc nakizmbrbgmidhhnhofbqokxuyfzmuhappbfdhhnwatvvedxiigfxhhrxkdfvohnhexzuifyenmvqugjflbkzefpbnqvasoquikk\n", - "-2697.1144835875075 jezc nekizibrbkmiddhnhsfbqkkxucfzmqhaptbfddhnwetvvadximgfxdhrxodfvkhnhixzuefyermvqqgjfpbkzafpbrqvaooqumkk\n", - "-2680.8589299194227 jezw nekoziblbkmoddhhhsfhqkkrucffmqhuptblddhhwetbvadrimglxdhlxodlvkhhhixfuefsermbqqgdfpbqzafjbrqbaookumkq\n", - "-2687.029833152687 jebw neiozidlbkkoddjhhsdhqkmrucdfmqjuptzlddjhwerbvafrimelxdjlxoblvkjhhivfuehserkbqqidfpzqzahjbrobaoqkumiq\n", - "-2657.0720591731774 oebw ieioeidlwkkoidjhcsdhvkmrpcdfrqjuktzlidjhrerbaafrdmelcdjlsoblakjhcivfzehszrkbvqidapzqeahjwrobfoqkpmiq\n", - "-2657.0720591731774 oebw ieioeidlwkkoidjhcsdhvkmrpcdfrqjuktzlidjhrerbaafrdmelcdjlsoblakjhcivfzehszrkbvqidapzqeahjwrobfoqkpmiq\n", - "-2661.4269394800563 oerw iesoeitlwkuoidzhcsnhvkcrpcnfrqzuktjlidzhrebbaavrdmolcdzlsollakzhciffzexszrubvqydapjqeaxjwrybfogkpmsq\n", - "-2647.0526377867627 oerh iesdeitwwkudidzscsnwvkccpcnurqzfktjaidzsrebqaavcdmoacdzwsolaakzscifuzexdzruqvqyoapjfeaxuwryqfogvpmsf\n", - "-2704.8339386551875 oero iesweitdwkuwidzzcsnpvkcjpcnnrqzmktjtidzzrebjaavjdmotcdzdsoltakzzcifnzexkzrujvqyvapjyeaxbwryjfogcpmsy\n", - "-2717.5563508784344 oxro ilswebtdwruwiwzzcznpvdcjpjnnrjzmkajtiwzzrlbjatvjdtotcwzdsvltadzzcpfnzxxkzyujvjyvawjyetxbwyyjfhgcptsy\n", - "-2702.444142950352 oxry ilsmebtnwrumiwzjcznfvdctpjndrjzwkajjiwzjrlbzatvtdtojcwznsvljadzjcpfdzxxuzyuzvjyfawjoetxlwyyzfhgmptso\n", - "-2698.4324849569857 otry ipsmextnwvumiszjcdnfvzctpnndrfzwkejjiszjrpbzapvtdxojcsznszljazzjctfdztxuzcuzvfyfaajoepxlwcyzfdgmpxso\n", - "-2726.5135133562294 ohry ibsmeltnwhumigzjcpnfvnctpzndrtzwkqjjigzjrbbzadvtdjojcgznslljanzjcffdzhxuzouzvtyfamjoedxlwoyzfrgmpjso\n", - "-2769.4509430005824 ehry sbsmultnghumygzjmpnflnctzzndhtzwuqjjygzjbbbzqdvtnjojsgznclljqnzjmffdphxujouzltyfkmjoudxlgoyzvrgmzjso\n", - "-2693.8346813093362 ehrz sbslultoghulygzkmpnelncuzznchtzxuqjiygzkbbbyqdvunjoisgzoclliqnzkmffcphxvjouyltygkmjnudxmgoyyvrgnzjsn\n", - "-2704.8326504451916 ehuz sbplulwoghrlygckmpkelnfuzzkchtcxuqgiygckbbyyqdyunjlisgcocliiqnckmfccphavjoryltbgkmgnudamgovyvrjnzjpn\n", - "-2713.7839176395064 hhuz pbplxlwodhrlbgckjpkeonfuwzkcktcxrqgibgckybyytdyukjlivgcozliitnckjfccshavgoryotbghmgnxdamdovyyrjnwjpn\n", - "-2674.174259503047 uhuz cbplklwoqhrlogckwpkebnfujzkcxtcxeqgiogcklbyygdyuxjliigcomliignckwfccfhavtorybtbgumgnkdamqovylrjnjjpn\n", - "-2636.759940152038 zhuz xbplplwolhrltgckrpkegnfuezkcctcxzqgitgckgbyyldyusjlingcohliilnckrfcckhavoorygtbgpmgnpdamlovyqrjnejpn\n", - "-2653.5272855881135 dhuz tbpltlwohhrlxgcknpkeknfuazkcgtcxvqgixgckcbyypdyuojlirgcodliipncknfccohavkoryktbglmgntdamhovyurjnajpn\n", - "-2639.2997226954785 dbuz thpltfwohnrlxacknvkekhfuafkcgncxvwgixackchyypxyuopliracodriiphcknlccobavkuryknbglsgntxamhuvyuljnappn\n", - "-2693.716597502467 ybuz yhplofwomnrlsacksvkefhfuffkcbncxawgisackhhyykxyutplimacoiriikhckslccjbavpuryfnbgqsgnoxammuvypljnfppn\n", - "-2686.9155487781063 ymuz ywploqwomcrlslckskkefsfufukcbycxalgislckhwyykiyutelimlcoigiikscksaccjmavpjryfybgqhgnoiammjvypwjnfepn\n", - "-2728.6976070191963 yauz yiploewomorlszckswkefgfufgkcbmcxaxgiszckhiyykwyutqlimzcoisiikgcksmccjaavpvryfmbgqtgnowammvvypkjnfqpn\n", - "-2742.6198856031706 yauu yipqoewjmorqszcfswkjfgfpfgkhbmcsaxgnszcfhiydkwyptqlnmzcjisinkgcfsmchjaaqpvrdfmbbqtgsowahmvvdpkjifqps\n", - "-2730.486077646783 yaua yipkoewpmorkszclswkdfgfvfgkbbmcyaxghszclhiyxkwyvtqlhmzcpisihkgclsmcbjaawpvrxfmbhqtgmowanmvvxpkjofqpm\n", - "-2776.789501168795 yaul yipzoewamorzszcwswksfgfgfgkqbmcjaxgwszcwhiymkwygtqlwmzcaisiwkgcwsmcqjaahpvrmfmbsqtgbowaymvvmpkjzfqpb\n", - "-2781.0452137281395 yail yibzoekamodzszqwswwsfgtgfgwqbmqjaxswszqwhikmkwmgtqxwmzqaisuwkgqwsmoqjaohpvdmfmpsqtsbowoymvhmpkxzfqbb\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2784.9288413381605 yqil ysbzoukamydzspqwsgwsfwtgfqwqbcqjahswspqwhskmkmmgtaxwmpqaicuwkwqwswoqjqohpfdmfcpsqdsbomoymfhmpaxzfabb\n", - "-2784.9288413381605 yqil ysbzoukamydzspqwsgwsfwtgfqwqbcqjahswspqwhskmkmmgtaxwmpqaicuwkwqwswoqjqohpfdmfcpsqdsbomoymfhmpaxzfabb\n", - "-2708.539724232861 yqix ysbnoukmmydnspqisgwgfwtsfqwebcqvahskspqihskakmmstaxkmpqmicukkwqiswoejqotpfdafcpeqdspomokmfhapaxlfabp\n", - "-2704.026491742492 tqix dsbnjukmrydnnpqixgwgawtskqwewcqvfhsknpqimskafmmsyaxkhpqmncukfwqixwoeeqotufdaacpevdspjmokrfhakaxlkabp\n", - "-2668.8674248407474 wqix asbnmukmoydnqpqiugwgdwtshqwezcqvchskqpqijskaimmsvaxkkpqmkcukiwqiuwoehqotrfdadcpesdspmmokofhanaxlhabp\n", - "-2625.75636187222 wqvx asonmuxmoyqnqpdiugjgdwgshqjezcdvchfkqpdijsxaimzsvakkkpdmkchkiwdiuwbehqbtrfqadccesdfpmmbkofuanaklhaop\n", - "-2643.809834774096 wqkx asznmummoybnqpsiugugdwvshquezcsvchqkqpsijsiaimosvavkkpsmkcskiwsiuwmehqqtrfbadcresdqpmmqkoffanazlhazp\n", - "-2648.3434292322586 wzkx ajznmdmmopbnqysiuxugdfvshhuezlsvcyqkqysijjiaivosvrvkkysmktskifsiunmehzqtrwbadlresuqpmvqkowfanjzlhrzp\n", - "-2651.2662552331394 wzjx ajanmdlmopcnqyriuxvgdfushhvezlrvcyrkqyrijjjaivnsvrwkkyrmkttkifriunnehzptrwcadlqesurpmvpkowganjylhrap\n", - "-2693.3163305149797 wdjx afanmhlmolcnqcriutvgdjushdvezprvcurkqcrijfjaiznsvnwkkcrmkptkijriujnehdptrscadpqesqrpmzpkosgannylhnap\n", - "-2689.6716293454083 wdzx afknmhbmolmnqchiutfgdjkshdfezphvcubkqchijftaizdsvngkkchmkpdkijhiujxehdftrsmadpgesqbpmzfkosqannolhnkp\n", - "-2748.4363941500205 wdzd afkhmhbsolmhqchoutfadjkyhdfyzphbcubeqchojftuizdyvngekchskpdeijhoujxyhdfzrsmudpgksqbjmzfqosqunnorhnkj\n", - "-2766.7207345306856 bdzd vfkhrhbsjlmhvchoptfaijkycdfyephbxubevchoeftunzdyqngepchsfpdenjhopjxymdfzmsmuipgknqbjrzfqjsqusnorcnkj\n", - "-2685.8132976834563 bjzd vzkhrnbsjfmhvihopnfaipkycxfyevhbxobevihoeztunfdyqhgepihsfjdenphopdxymjfzmmmuivgknkbjrffqjmqustorchkj\n", - "-2668.4816999502714 bjvd vzohrnxsjfqhvidopnjaipgycxjyevdbxofevidoezxunfzyqhkepidsfjhenpdopdbymjbzmmquivcknkfjrfbqjmuustkrchoj\n", - "-2494.6574851292994 kjvd mzohanxsafqheidognjarpgytxjynvdboofeeidovzxuwfzyhhkeyidswjhewpdogdbyvjbzdmqurvckekfjafbqamuubtkrthoj\n", - "-2504.4446887488853 kjad mzjhancsaflheiiognearplytxeynvibooaeeiiovzsuwfeyhhfeyiiswjcewpiogdwyvjgzdmlurvhkekajafgqampubtprthjj\n", - "-2507.254512659612 ksad mqjhawcsawlheriogeearylytoeyneibofaeeriovqsuwoeyhyfeyriswacewyioguwyvsgzddlurehkebajaogqadpubcprtyjj\n", - "-2496.0630258214837 ksas mqjsawchawlseridgeelrylntoejneiqofaperidvqsfwoenhyfpyrihwacpwyidguwjvsgoddlfrehzebauaogfadpfbcpgtyju\n", - "-2474.858866384626 ktas mpjsaxchavlsesidgdelrzlntnejnfiqoeapesidvpsfwpenhxfpysihwzcpwzidgtwjvtgodclfrfhzeaauapgfacpfbdpgtxju\n", - "-2444.1220145938623 ktys mplsaxahavnsesgdgdglrzjntngjnfgqoecpesgdvpufwpcnhxhpysghwzepwzgdgtyjvteodcnfrffzeacuapefacrfbdngtxlu\n", - "-2483.125135666914 ktks mpzsaxmhavbsessdgdulrzvntnujnfsqoeqpessdvpifwponhxvpysshwzspwzsdgtmjvtqodcbfrfrzeaquapqfacffbdzgtxzu\n", - "-2495.6655049708756 ktds mpgsaxfhavisesldgdblrzontnbjnflqoexpesldvppfwphnhxcpyslhwzzpwzldgttjvtjodcifrfkzeaxuapjfacmfbdsgtxgu\n", - "-2461.047576684982 ktdi mpgcaxfxavicesltgdbvrzodtnbtnflgoexzesltvpppwphdhxczyslxwzzzwzltgtttvtjedciprfkpeaxeapjvacmpbdswtxge\n", - "-2409.5040863079676 ktyi mplcaxaxavncesgtgdgvrzjdtngtnfggoeczesgtvpupwpcdhxhzysgxwzezwzgtgtytvteedcnprffpeaceapevacrpbdnwtxle\n", - "-2461.047576684982 ktdi mpgcaxfxavicesltgdbvrzodtnbtnflgoexzesltvpppwphdhxczyslxwzzzwzltgtttvtjedciprfkpeaxeapjvacmpbdswtxge\n", - "-2567.1179195794193 ktdo mpgwaxfdaviweslzgdbprzojtnbnnflmoexteslzvppjwphjhxctysldwzztwzlzgttnvtjkdcijrfkveaxyapjbacmjbdsctxgy\n", - "-2516.8368652787385 ktdr mpgtaxfgaviteslcgdbmrzomtnbknflpoexqeslcvppgwphmhxcqyslgwzzqwzlcgttkvtjndcigrfkyeaxvapjeacmgbdsftxgv\n", - "-2513.3451136169056 ktdn mpgxaxfcavixeslygdbqrzoitnbonflloexueslyvppkwphihxcuyslcwzzuwzlygttovtjjdcikrfkueaxzapjaacmkbdsbtxgz\n", - "-2523.7109204042895 ktdw mpgoaxflavioeslhgdbhrzortnbfnfluoexleslhvppbwphrhxclysllwzzlwzlhgttfvtjsdcibrfkdeaxqapjjacmbbdsktxgq\n", - "-2540.3607768736956 ktnw mpwoaxplavyoesvhgdrhrzyrtnrfnfvuoenlesvhvpfbwprrhxslysvlwzplwzvhgtjfvttsdcybrfudeanqaptjaccbbdcktxwq\n", - "-2540.5831872359504 kpnw mtwoatplazyoeovhghrhrvyrtrrfnbvuoinleovhvtfbwlrrhbslyovlwdplwvvhgxjfvptsdgybrbudeenqaltjagcbbzcktbwq\n", - "-2572.0022107168047 kwnw mmwoaaplasyoevvhgarhrcyrtkrfnivuobnlevvhvmfbwsrrhuslyvvlwwplwcvhgqjfvwtsdzybriudexnqastjazcbbgcktuwq\n", - "-2615.409209891936 kwno mmwwaapdasywevvzgarprcyjtkrnnivmobntevvzvmfjwsrjhustyvvdwwptwcvzgqjnvwtkdzyjriuvexnyastbazcjbgcctuwy\n", - "-2600.297001963854 kwny mmwmaapnasymevvjgarfrcyttkrdnivwobnjevvjvmfzwsrthusjyvvnwwpjwcvjgqjdvwtudzyzriufexnoastlazczbgcmtuwo\n", - "-2779.5033288777245 mwny kmwmcapnysymgvvjearftcytrkrdpivwmbnjgvvjtmfzysrtfusjavvnuwpjycvjeqjdxwtubzyztiufcxnocstlyzczdgcmruwo\n", - "-2766.256230560749 mjny kzwmcnpnyfymgivjenrftpytrxrdpvvwmonjgivjtzfzyfrtfhsjaivnujpjypvjedjdxjtubmyztvufcknocftlymczdtcmrhwo\n", - "-2781.3684384888315 mjno kzwwcnpdyfywgivzenrptpyjrxrnpvvmmontgivztzfjyfrjfhstaivdujptypvzedjnxjtkbmyjtvuvcknycftbymcjdtccrhwy\n", - "-2763.604384515326 ujno czwwknpdqfywoivzwnrpbpyjjxrnxvvmeontoivzlzfjgfrjxhstiivdmjptgpvzwdjnfjtktmyjbvuvuknykftbqmcjltccjhwy\n", - "-2726.190065164315 zjno xzwwpnpdlfywtivzrnrpgpyjexrncvvmzonttivzgzfjlfrjshstnivdhjptlpvzrdjnkjtkomyjgvuvpknypftblmcjqtccehwy\n", - "-2766.0867097700234 ijno ozwwynpdcfywcivzinrpppyjvxrnlvvmqontcivzxzfjufrjjhstwivdyjptupvzidjntjtkfmyjpvuvgknyyftbcmcjztccvhwy\n", - "-2763.604384515326 ujno czwwknpdqfywoivzwnrpbpyjjxrnxvvmeontoivzlzfjgfrjxhstiivdmjptgpvzwdjnfjtktmyjbvuvuknykftbqmcjltccjhwy\n", - "-2801.4203314904207 ujgo czdwknidqffwoiozwnypbprjjxynxvomeoutoiozlzmjgfkjxhztiiodmjwtgpozwdqnfjmktmfjbvnvukuykfmbqmjjltvcjhdy\n", - "-2696.769851369412 ujgj czdbkniyqffboiouwnyubprejxysxvoheouyoioulzmogfkexhzyiioymjwygpouwdqsfjmftmfobvnqukudkfmwqmjoltvxjhdd\n", - "-2635.212706685523 ujbj czibkndyqfkboijuwndubpmejxdsxvjheozyoijulzrogffexheyiijymjbygpjuwdvsfjhftmkobviqukzdkfhwqmooltqxjhid\n", - "-2674.8223648219823 hjbj pzibxndydfkbbijujnduopmewxdskvjhrozybijuyzrotffekheyvijyzjbytpjujdvssjhfgmkooviqhkzdxfhwdmooytqxwhid\n", - "-2736.3795095058717 hjgj pzdbxniydffbbioujnyuoprewxyskvohrouybiouyzmotfkekhzyvioyzjwytpoujdqssjmfgmfoovnqhkudxfmwdmjoytvxwhdd\n", - "-2668.568245483606 gjgj qzdbwniyeffbaiouknyunprexxysjvohsouyaiouzzmosfkelhzyuioyajwyspoukdqsrjmfhmfonvnqikudwfmwemjoxtvxxhdd\n", - "-2551.882941180392 gjwj qznbwnyyefpbaieukniunphexxisjvehsoeyaieuzzwosfaelhjyuieyajgyspeukdasrjcfhmponvdqikedwfcwemtoxtlxxhnd\n", - "-2567.80550836399 ojwj iznbenyywfpbiieucniuvphepxisrvehkoeyiieurzwoafaedhjycieysjgyapeucdaszjcfzmpovvdqakedefcwwmtoftlxphnd\n", - "-2592.466488946804 bjwj vznbrnyyjfpbvieupniuiphecxisevehxoeyvieuezwonfaeqhjypieyfjgynpeupdasmjcfmmpoivdqnkedrfcwjmtostlxchnd\n", - "-2607.3270934038346 bjwf vznfrnyujfpfvieqpniyiphacxiwevedxoecvieqezwsnfaaqhjcpieufjgcnpeqpdawmjcbmmpsivdmnkehrfcsjmtsstltchnh\n", - "-2610.1369173145595 bswf vqnfrwyujwpfvreqpeiyiyhacoiweeedxfecvreqeqwsnoaaqyjcpreufagcnyeqpuawmscbmdpsiedmnbehrocsjdtsscltcynh\n", - "-2598.9327919948905 bswg vqnerwyvjwpevrerpeixiyhbcoiveeeexfebvrereqwrnoabqyjbprevfagbnyerpuavmsccmdpriednnbegroctjdtrsclucyng\n", - "-2642.145492110112 bswh vqndrwywjwpdvrespeiwiyhccoiueeefxfeavreseqwqnoacqyjaprewfaganyespuaumscdmdpqiedonbefrocujdtqsclvcynf\n", - "-2652.5827665163642 bwwh vmndraywjspdvvespaiwichcckiueiefxbeavvesemwqnsacqujapvewfwgancespqaumwcdmzpqiidonxefrscujztqsglvcunf\n", - "-2701.5400229024244 bwzh vmkdrabwjsmdvvhspafwickcckfueihfxbbavvhsemtqnsdcqugapvhwfwdanchspqxumwfdmzmqiigonxbfrsfujzqqsgovcukf\n", - "-2682.5151327354947 bwzu vmkqrabjjsmqvvhfpafjickpckfheihsxbbnvvhfemtdnsdpqugnpvhjfwdnnchfpqxhmwfqmzmdiigbnxbsrsfhjzqdsgoicuks\n", - "-2664.2307923548306 wwzu amkqmabjosmqqvhfuafjdckphkfhzihscbbnqvhfjmtdisdpvugnkvhjkwdnichfuqxhhwfqrzmddigbsxbsmsfhozqdngoihuks\n", - "-2681.3427275373565 wwou amvqmaqjosxqqvwfuaqjdczphkqhziwscbmnqvwfjmedisspvurnkvwjkwonicwfuqihhwuqrzxddivbsxmsmsuhozbdngdihuvs\n", - "-2681.3427275373565 wwou amvqmaqjosxqqvwfuaqjdczphkqhziwscbmnqvwfjmedisspvurnkvwjkwonicwfuqihhwuqrzxddivbsxmsmsuhozbdngdihuvs\n", - "-2621.8679405343864 wwsu amrqmaujostqqvafuamjdcdphkmhziascbinqvafjmadiswpvunnkvajkwknicafuqehhwyqrztddizbsxismsyhozxdnghihurs\n", - "-2627.7703390344445 uwsu cmrqkaujqstqovafwamjbcdpjkmhxiasebinovaflmadgswpxunnivajmwkngcafwqehfwyqtztdbizbuxisksyhqzxdlghijurs\n", - "-2668.2072628577403 uwsk cmrakauzqstaovavwamtbcdfjkmrxiaiebixovavlmangswfxunxivazmwkxgcavwqerfwygtztnbizruxicksyxqzxnlghyjurc\n", - "-2739.4337909481465 fwsk rmravauzfstazvavlamtmcdfykmriiaitbixzvavamanrswfmunxtvazbwkxrcavlqerqwygiztnmizrjxicvsyxfzxnwghyyurc\n", - "-2729.636540496807 fosk ruravsuzfataznavlimtmudfysmriaaitjixznavauanrkwfmcnxtnazbekxruavlyerqoygihtnmazrjficvkyxfhxnwyhyycrc\n", - "-2801.9114932593116 fonk ruwavspzfayaznvvlirtmuyfysrriavitjnxznvvaufnrkrfmcsxtnvzbepxruvvlyjrqotgihynmaurjfncvktxfhcnwycyycwc\n", - "-2795.6441850016395 fonl ruwzvspafayzznvwlirsmuygysrqiavjtjnwznvwaufmrkrgmcswtnvabepwruvwlyjqqothihymmausjfnbvktyfhcmwyczycwb\n", - "-2818.254527493439 fknl rywzvopafeyzzjvwlmrsmqygywrqiwvjtnnwzjvwayfmrgrgmgswtjvabipwrqvwlcjqqkthilymmwusjjnbvgtyflcmwuczygwb\n", - "-2817.4841037880356 fknw rywovoplfeyozjvhlmrhmqyrywrfiwvutnnlzjvhayfbrgrrmgsltjvlbiplrqvhlcjfqktsilybmwudjjnqvgtjflcbwuckygwq\n", - "-2767.177610060141 lknw lywoboplzeyofjvhfmrhsqyrswrfowvunnnlfjvhuyfbxgrrggslzjvlviplxqvhfcjfwktsclybswuddjnqbgtjzlcbcucksgwq\n", - "-2720.794733571296 lknf lywfbopuzeyffjvqfmrysqyaswrwowvdnnncfjvquyfsxgraggsczjvuvipcxqvqfcjwwktbclysswumdjnhbgtszlcscuctsgwh\n", - "-2771.1012272991925 fknf rywfvopufeyfzjvqlmrymqyaywrwiwvdtnnczjvqayfsrgramgsctjvubipcrqvqlcjwqktbilysmwumjjnhvgtsflcswuctygwh\n", - "-2711.4849501015556 fkpf ryufvorufewfzjxqlmpymqaaywpwiwxdtnlczjxqaydsrgtamgqctjxubincrqxqlchwqkvbilwsmwwmjjlhvgvsflaswuetyguh\n", - "-2478.8161490707835 kkpf myufaoruaewfejxqgmpyrqaatwpwnwxdonlcejxqvydswgtahgqcyjxuwincwqxqgchwvkvbdlwsrwwmejlhagvsalasbuettguh\n", - "-2450.872564880606 kcpf mgufagruamwfebxqgupyriaatepwnoxdovlcebxqvgdswytahoqcybxuwqncwixqgkhwvcvbdtwsrowmerlhayvsatasbmettouh\n", - "-2486.889634582068 kcpn mguxagrcamwxebxygupqriaiteponoxlovluebxyvgdkwytihoquybxcwqnuwixygkhovcvjdtwkrowuerlzayvaatakbmebtouz\n", - "-2563.334892829851 kctn mgqxagvcamsxebbygulqrieitelonoblovhuebbyvgzkwyxihomuybbcwqjuwibygkdovczjdtskroauerhzayzaatwkbmibtoqz\n", - "-2546.505911779705 kcnn mgwxagpcamyxebvygurqriyiteronovlovnuebvyvgfkwyrihosuybvcwqpuwivygkjovctjdtykrouuernzaytaatckbmcbtowz\n", - "-2557.64214227249 kcnl mgwzagpaamyzebvwgursriygterqnovjovnwebvwvgfmwyrghoswybvawqpwwivwgkjqvcthdtymrousernbaytyatcmbmcztowb\n", - "-2537.601002075846 kcml mgxzagoaamzzebuwgussrixgtesqnoujovowebuwvggmwyqghotwybuawqqwwiuwgkkqvcshdtzmrotserobaysyatdmbmbztoxb\n", - "-2519.976649775159 kcmd mgxhagosamzhebuogusarixytesynoubovoeebuovgguwyqyhoteybuswqqewiuogkkyvcszdtzurotkerojaysqatdubmbrtoxj\n", - "-2540.0177899718037 kcnd mgwhagpsamyhebvogurariyyterynovbovneebvovgfuwyryhoseybvswqpewivogkjyvctzdtyuroukernjaytqatcubmcrtowj\n", - "-2527.21762421227 kcod mgvhagqsamxhebwoguqarizyteqynowbovmeebwovgeuwysyhoreybwswqoewiwogkiyvcuzdtxurovkermjayuqatbubmdrtovj\n", - "-2514.7183405122437 kxod mlvhabqsarxhewwogzqardzytjqynjwboameewwovleuwtsyhtreywwswvoewdwogpiyvxuzdyxurjvkewmjatuqaybubhdrttvj\n", - "-2521.206462320145 kxon mlvxabqcarxxewwygzqqrdzitjqonjwloamuewwyvlekwtsihtruywwcwvouwdwygpiovxujdyxkrjvuewmzatuaaybkbhdbttvz\n", - "-2325.7872975509426 kxot mlvrabqiarxrewwegzqkrdzotjqinjwroamoewwevleewtsohtroywwiwvoowdwegpiivxupdyxerjvaewmtatugaybebhdhttvt\n", - "-2297.430750148103 kvot mnvrazqiatxreuwegbqkrbzotlqinhwrocmoeuwevneewrsohvroyuwiwxoowbwegriivvupdaxerhvaeymtarugaabebfdhtvvt\n", - "-2321.998049919833 kpot mtvratqiazxreoweghqkrvzotrqinbwroimoeowevteewlsohbroyowiwdoowvwegxiivpupdgxerbvaeemtalugagbebzdhtbvt\n", - "-2483.4403228601946 upot ctvrktqiqzxroowewhqkbvzojrqixbwreimooowelteeglsoxbroiowimdoogvwewxiifpuptgxebbvauemtklugqgbelzdhjbvt\n", - "-2477.19426957058 upxt ctmrktziqzoroofewhhkbviojrhixbfreidooofeltveglboxbioiofimdfogvfewxzifpdptgoebbeauedtkldgqgselzmhjbmt\n", - "-2625.4343521660685 upxp ctmvktzeqzovoofawhhobvikjrhmxbfneidsoofaltviglbkxbisiofemdfsgvfawxzmfpdltgoibbewuedxkldcqgsilzmdjbmx\n", - "-2624.4394310185708 upmp ctxvktoeqzzvoouawhsobvxkjrsmxbuneiosooualtgiglqkxbtsiouemdqsgvuawxkmfpsltgzibbtwueoxklscqgdilzbdjbxx\n", - "-2681.984319979669 upmw ctxoktolqzzooouhwhshbvxrjrsfxbuueioloouhltgbglqrxbtlioulmdqlgvuhwxkffpsstgzbbbtdueoqklsjqgdblzbkjbxq\n", - "-2705.079476673338 spmw etxoitolszzomouhyhshzvxrlrsfvbuugiolmouhntgbelqrzbtlgoulodqlevuhyxkfdpssvgzbzbtdweoqilsjsgdbjzbklbxq\n", - "-2749.311592194652 skmw eyxoioolsezomjuhymshzqxrlwsfvwuugnolmjuhnygbegqrzgtlgjuloiqlequhyckfdkssvlzbzwtdwjoqigsjsldbjubklgxq\n", - "-2696.146312081202 semw eexoiiolskzomduhysshzkxrlcsfvquugtolmduhnegbeaqrzmtlgdulooqlekuhyikfdessvrzbzqtdwpoqiasjsrdbjobklmxq\n", - "-2686.2753513357893 sezw eekoiiblskmomdhhysfhzkkrlcffvqhugtblmdhhnetbeadrzmglgdhloodlekhhyixfdefsvrmbzqgdwpbqiafjsrqbjooklmkq\n", - "-2726.6275394087797 swzw emkoiablssmomvhhyafhzckrlkffvihugbblmvhhnmtbesdrzuglgvhlowdlechhyqxfdwfsvzmbzigdwxbqisfjszqbjgoklukq\n", - "-2726.6275394087797 swzw emkoiablssmomvhhyafhzckrlkffvihugbblmvhhnmtbesdrzuglgvhlowdlechhyqxfdwfsvzmbzigdwxbqisfjszqbjgoklukq\n", - "-2711.4970472590635 sczw egkoigblsmmombhhyufhzikrleffvohugvblmbhhngtbeydrzoglgbhloqdleihhykxfdcfsvtmbzogdwrbqiyfjstqbjmoklokq\n", - "-2704.622992133514 sczr egktigbgsmmtmbhcyufmzikmlefkvohpgvbqmbhcngtgeydmzogqgbhgoqdqeihcykxkdcfnvtmgzogywrbviyfestqgjmoflokv\n", - "-2743.6029906642675 srzr erktivbgsxmtmqhcyffmzxkmlpfkvdhpggbqmqhcnrtgendmzzgqgqhgobdqexhcyvxkdrfnvemgzdgywcbvinfeseqgjboflzkv\n", - "-2736.1027440965236 srzh erkdivbwsxmdmqhsyffwzxkclpfuvdhfggbamqhsnrtqendczzgagqhwobdaexhsyvxudrfdvemqzdgowcbfinfuseqqjbovlzkf\n", - "-2746.6285276366657 srrh ersdivtwsxudmqzsyfnwzxcclpnuvdzfggjamqzsnrbqenvczzoagqzwoblaexzsyvfudrxdveuqzdyowcjfinxuseyqjbgvlzsf\n", - "-2743.8556900458775 sqrh essdiutwsyudmpzsygnwzwcclqnuvczfghjampzsnsbqemvczaoagpzwoclaewzsywfudqxdvfuqzcyowdjfimxusfyqjagvlasf\n", - "-2738.4392686295114 jqrh nssdzutwbyuddpzshgnwqwccuqnumczfphjadpzswsbqvmvciaoaxpzwxclavwzshwfuuqxdefuqqcyofdjfzmxubfyqaagvuasf\n", - "-2713.8021943953977 jhrh nbsdzltwbhuddgzshpnwqnccuznumtzfpqjadgzswbbqvdvcijoaxgzwxllavnzshffuuhxdeouqqtyofmjfzdxuboyqargvujsf\n", - "-2717.974422139369 ahrh wbsdqltwkhudugzsqpnwhnccdznudtzfyqjaugzsfbbqmdvcrjoaogzwgllamnzsqffulhxdnouqhtyoomjfqdxukoyqrrgvdjsf\n", - "-2704.303308399248 ahrs wbssqlthkhusugzdqpnlhncndznjdtzqyqjpugzdfbbfmdvnrjopogzhgllpmnzdqffjlhxonoufhtyzomjuqdxfkoyfrrggdjsu\n", - "-2676.4459271259225 ahvs wbosqlxhkhqsugddqpjlhngndzjjdtdqyqfpugddfbxfmdznrjkpogdhglhpmnddqfbjlhbonoqfhtczomfuqdbfkoufrrkgdjou\n", - "-2648.3648987266793 atvs wposqxxhkvqsusddqdjlhzgndnjjdfdqyefpusddfpxfmpznrxkposdhgzhpmzddqtbjltboncqfhfczoafuqpbfkcufrdkgdxou\n", - "-2612.155470490995 atve wpogqxxtkvqgusdpqdjzhzgzdnjxdfdcyefdusdpfpxtmpzzrxkdosdtgzhdmzdpqtbxltbancqthfcloafiqpbrkcutrdksdxoi\n", - "-2557.0993678657287 xtve zpognxxtnvqgrsdptdjzezgzgnjxafdcbefdrsdpipxtjpzzuxkdlsdtjzhdjzdpttbxitbaqcqtefclrafinpbrncutodksgxoi\n", - "-2558.690867815518 xtvi zpocnxxxnvqcrsdttdjvezgdgnjtafdgbefzrsdtipxpjpzduxkzlsdxjzhzjzdtttbtitbeqcqpefcprafenpbvncupodkwgxoe\n", - "-2556.407079208242 xtei zpfcnxgxnvhcrsmttdavezpdgnatafmgbewzrsmtipopjpiduxbzlsmxjzyzjzmtttstitkeqchpeflprawenpkvnclpodtwgxfe\n", - "-2556.407079208242 xtei zpfcnxgxnvhcrsmttdavezpdgnatafmgbewzrsmtipopjpiduxbzlsmxjzyzjzmtttstitkeqchpeflprawenpkvnclpodtwgxfe\n", - "-2572.687546438703 xtef zpffnxgunvhfrsmqtdayezpagnawafmdbewcrsmqiposjpiauxbclsmujzycjzmqttswitkbqchseflmrawhnpksnclsodttgxfh\n", - "-2556.407079208242 xtei zpfcnxgxnvhcrsmttdavezpdgnatafmgbewzrsmtipopjpiduxbzlsmxjzyzjzmtttstitkeqchpeflprawenpkvnclpodtwgxfe\n", - "-2622.7635475409065 xtti zpqcnxvxnvscrsbttdlvezedgnltafbgbehzrsbtipzpjpxduxmzlsbxjzjzjzbtttdtitzeqcspefaprahenpzvncwpodiwgxqe\n", - "-2627.839889451699 xttg zpqenxvvnvsersbrtdlxezebgnlvafbebehbrsbripzrjpxbuxmblsbvjzjbjzbrttdvitzcqcsrefanrahgnpztncwrodiugxqg\n", - "-2680.557992085058 xqtg zsqenuvvnyserpbrtglxewebgqlvacbebhhbrpbriszrjmxbuamblpbvjcjbjwbrtwdviqzcqfsrecanrdhgnmztnfwroaiugaqg\n", - "-2690.823523449376 xqtz zsqlnuvonyslrpbktgleeweugqlcacbxbhhirpbkiszyjmxuuamilpbojcjijwbktwdciqzvqfsyecagrdhnnmzmnfwyoaingaqn\n", - "-2657.344685929823 xqdz zsglnufonyilrplktgbeewougqbcaclxbhxirplkispyjmhuuacilplojczijwlktwtciqjvqfiyeckgrdxnnmjmnfmyoasngagn\n", - "-2455.287791277314 xidz zaglnmfongilrhlktobeeoougybcaulxbpxirhlkiapyjehuuicilhlojkzijolktetciijvqniyeukgrlxnnejmnnmyossngign\n", - "-2452.5513303448047 xirz zaslnmtongulrhzktoneeocugyncauzxbpjirhzkiabyjevuuioilhzojklijozktefciixvqnuyeuygrljnnexmnnyyosgngisn\n", - "-2507.6074329700705 airz waslqmtokguluhzkqonehocudyncduzxypjiuhzkfabymevurioiohzogklimozkqefclixvnnuyhuygoljnqexmknyyrsgndisn\n", - "-2507.6074329700705 airz waslqmtokguluhzkqonehocudyncduzxypjiuhzkfabymevurioiohzogklimozkqefclixvnnuyhuygoljnqexmknyyrsgndisn\n", - "-2700.371212240299 aurz woslqytokuulutzkqcnehacudmncdgzxydjiutzkfobymqvurwoiotzogylimazkqsfcluxvnbuyhgygozjnqqxmkbyyregndwsn\n", - "-2697.0288635479296 alrz wxslqptokdulukzkqlnehrcudvncdxzxymjiukzkfxbymhvurfoiokzoghlimrzkqbfcllxvnkuyhxygoijnqhxmkkyyrvgndfsn\n", - "-2697.3689619006987 alxz wxmlqpzokdolukfkqlhehriudvhcdxfxymdiukfkfxvymhburfiiokfoghfimrfkqbzclldvnkoyhxegoidnqhdmkksyrvmndfmn\n", - "-2761.995792801559 anxz wvmlqrzokbolumfkqjhehtiudthcdzfxykdiumfkfvvymjburdiiomfogffimtfkqzzclndvnioyhzegogdnqjdmkisyrxmnddmn\n", - "-2802.4432081202062 anxr wvmtqrzgkbotumfcqjhmhtimdthkdzfpykdqumfcfvvgmjbmrdiqomfggffqmtfcqzzklndnnioghzeyogdvqjdekisgrxmfddmv\n", - "-2752.390639213126 gnxr qvmtwrzgebotamfckjhmntimxthkjzfpskdqamfczvvgsjbmldiqumfgaffqstfckzzkrndnhiognzeyigdvwjdeeisgxxmfxdmv\n", - "-2725.8655024784534 gnxu qvmqwrzjeboqamffkjhjntipxthhjzfsskdnamffzvvdsjbpldinumfjaffnstffkzzhrndqhiodnzebigdswjdheisdxxmixdms\n", - "-2716.65278901325 znxu xvmqprzjlboqtmffrjhjgtipethhczfszkdntmffgvvdljbpsdinnmfjhffnltffrzzhkndqoiodgzebpgdspjdhlisdqxmiedms\n", - "-2711.9578103536037 znbu xviqprdjlbkqtmjfrjdjgtmpetdhczjszkzntmjfgvrdljfpsdennmjjhfbnltjfrzvhknhqoikdgzibpgzspjhhliodqxqiedis\n", - "-2717.311586780413 znbs xvisprdhlbkstmjdrjdlgtmnetdjczjqzkzptmjdgvrfljfnsdepnmjhhfbpltjdrzvjknhooikfgzizpgzupjhfliofqxqgediu\n", - "-2748.823507631363 wnbs avismrdhobksqmjdujdldtmnhtdjzzjqckzpqmjdjvrfijfnvdepkmjhkfbpitjduzvjhnhorikfdzizsgzumjhfoiofnxqghdiu\n", - "-2740.55802958911 rnbs fvishrdhtbkslmjdzjdlytmnmtdjuzjqhkzplmjdovrfdjfnadepfmjhpfbpdtjdzzvjcnhowikfyzizxgzuhjhftiofixqgmdiu\n", - "-2692.0242745354008 rnss fvrshruhtbtslmadzjmlytdnmtmjuzaqhkiplmadovafdjwnadnpfmahpfkpdtadzzejcnyowitfyzzzxgiuhjyftixfixhgmdru\n", - "-2562.9699156663573 rvss fnrshzuhtttsluadzbmlybdnmlmjuhaqhcipluadonafdrwnavnpfuahpxkpdbadzrejcvyowatfyhzzxyiuhryftaxfifhgmvru\n", - "-2642.8057452999783 rrss frrshvuhtxtslqadzfmlyxdnmpmjudaqhgiplqadorafdnwnaznpfqahpbkpdxadzvejcryowetfydzzxciuhnyftexfibhgmzru\n", - "-2636.149280099168 rass firsheuhtotslzadzwmlygdnmgmjumaqhxiplzadoiafdwwnaqnpfzahpskpdgadzmejcayowvtfymzzxtiuhwyftvxfikhgmqru\n", - "-2703.5904751138937 pass hirsfeuhvotsjzadbwmlwgdnogmjsmaqjxipjzadqiafbwwncqnpdzahrskpbgadbmejaayoyvtfwmzzztiufwyfvvxfgkhgoqru\n", - "-2674.048888738792 pasg hirefeuvvotejzarbwmxwgdbogmvsmaejxibjzarqiarbwwbcqnbdzavrskbbgarbmevaaycyvtrwmznztigfwytvvxrgkhuoqrg\n", - "-2475.8756216963047 pisg harefmuvvgtejharbomxwodboymvsuaejpibjharqaarbewbcinbdhavrkkbboarbeevaiycyntrwuznzligfeytvnxrgshuoirg\n", - "-2646.418573152312 pssg hqrefwuvvwtejrarbemxwydboomvseaejfibjrarqqarbowbcynbdravrakbbyarbuevasycydtrweznzbigfoytvdxrgchuoyrg\n", - "-2641.3422312415196 pssi hqrcfwuxvwtcjratbemvwyddoomtseagjfizjratqqapbowdcynzdraxrakzbyatbuetasyeydtpwezpzbiefoyvvdxpgchwoyre\n", - "-2664.5925976882313 pksi hyrcfouxvetcjjatbmmvwqddowmtswagjnizjjatqyapbgwdcgnzdjaxrikzbqatbcetakyeyltpwwzpzjiefgyvvlxpguhwogre\n", - "-2687.950441174857 pksq hyrufoufvetujjabbmmnwqdlowmlswaojnirjjabqyahbgwlcgnrdjafrikrbqabbcelakymylthwwzxzjiwfgydvlxhguheogrw\n", - "-2722.768898881704 pkaq hyjufocfvelujjibbmenwqllowelswiojnarjjibqyshbgelcgfrdjifricrbqibbcwlakgmyllhwwhxzjawfggdvlphgupeogjw\n", - "-2710.6979066548397 pkeq hyfufogfvehujjmbbmanwqplowalswmojnwrjjmbqyohbgilcgbrdjmfriyrbqmbbcslakkmylhhwwlxzjwwfgkdvllhguteogfw\n", - "-2544.2184353309362 pket hyfrfogivehrjjmebmakwqpoowaiswmrjnwojjmeqyoebgiocgbodjmiriyobqmebcsiakkpylhewwlazjwtfgkgvlleguthogft\n", - "-2778.2981981345715 pkey hyfmfognvehmjjmjbmafwqptowadswmwjnwjjjmjqyozbgitcgbjdjmnriyjbqmjbcsdakkuylhzwwlfzjwofgklvllzgutmogfo\n", - "-2746.875842683433 akey wyfmqognkehmujmjqmafhqptdwaddwmwynwjujmjfyozmgitrgbjojmngiyjmqmjqcsdlkkunlhzhwlfojwoqgklkllzrutmdgfo\n", - "-2691.8197400581653 xkey zyfmnognnehmrjmjtmafeqptgwadawmwbnwjrjmjiyozjgitugbjljmnjiyjjqmjtcsdikkuqlhzewlfrjwongklnllzoutmggfo\n", - "-2651.3768721679644 xxey zlfmnbgnnrhmrwmjtzafedptgjadajmwbawjrwmjilozjtitutbjlwmnjvyjjdmjtpsdixkuqyhzejlfrwwontklnylzohtmgtfo\n", - "-2700.9043594504833 xxny zlwmnbpnnrymrwvjtzrfedytgjrdajvwbanjrwvjilfzjtrtutsjlwvnjvpjjdvjtpjdixtuqyyzejufrwnonttlnyczohcmgtwo\n", - "-2681.5180420485676 xxry zlsmnbtnnrumrwzjtznfedctgjndajzwbajjrwzjilbzjtvtutojlwznjvljjdzjtpfdixxuqyuzejyfrwjontxlnyyzohgmgtso\n", - "-2699.3505674469698 xory zusmnstnnaumrnzjtinfeuctgsndaazwbjjjrnzjiubzjkvtucojlnznjeljjuzjtyfdioxuqhuzeayfrfjonkxlnhyzoygmgcso\n", - "-2737.424637690873 xfry zdsmnjtnnjumrezjtrnfelctgbndarzwbsjjrezjidbzjbvtulojleznjnljjlzjthfdifxuqquzeryfrojonbxlnqyzopgmglso\n", - "-2749.982803379932 dfry tdsmtjtnhjumxezjnrnfklctabndgrzwvsjjxezjcdbzpbvtolojrezndnljplzjnhfdofxukquzkryflojotbxlhqyzupgmalso\n", - "-2722.4584358382845 dfrl tdsztjtahjuzxezwnrnsklcgabnqgrzjvsjwxezwcdbmpbvgolowrezadnlwplzwnhfqofxhkqumkryslojbtbxyhqymupgzalsb\n", - "-2674.3665416886856 dfrz tdsltjtohjulxezknrneklcuabncgrzxvsjixezkcdbypbvuoloirezodnliplzknhfcofxvkquykryglojntbxmhqyyupgnalsn\n", - "-2722.4584358382845 dfrl tdsztjtahjuzxezwnrnsklcgabnqgrzjvsjwxezwcdbmpbvgolowrezadnlwplzwnhfqofxhkqumkryslojbtbxyhqymupgzalsb\n", - "-2694.6010545649588 dfvl tdoztjxahjqzxedwnrjsklggabjqgrdjvsfwxedwcdxmpbzgolkwredadnhwpldwnhbqofbhkqqmkrcslofbtbbyhqumupkzalob\n", - "-2712.6545274668338 dfkl tdzztjmahjbzxeswnrusklvgabuqgrsjvsqwxeswcdimpbogolvwresadnswplswnhmqofqhkqbmkrrsloqbtbqyhqfmupzzalzb\n", - "-2682.2284760425655 dfpl tduztjrahjwzxexwnrpsklagabpqgrxjvslwxexwcddmpbtgolqwrexadnnwplxwnhhqofvhkqwmkrwslolbtbvyhqamupezalub\n", - "-2711.932652298143 dfzl tdkztjbahjmzxehwnrfsklkgabfqgrhjvsbwxehwcdtmpbdgolgwrehadndwplhwnhxqoffhkqmmkrgslobbtbfyhqqmupozalkb\n", - "-2772.1892843495366 hfzl pdkzxjbadjmzbehwjrfsolkgwbfqkrhjrsbwbehwydtmtbdgklgwvehazndwtlhwjhxqsffhgqmmorgshobbxbfydqqmypozwlkb\n", - "-2562.932238694712 hizl pakzxmbadgmzbhhwjofsookgwyfqkuhjrpbwbhhwyatmtedgkigwvhhazkdwtohwjexqsifhgnmmougshlbbxefydnqmysozwikb\n", - "-2520.5693868742696 hisl parzxmuadgtzbhawjomsoodgwymqkuajrpiwbhawyaamtewgkinwvhaazkkwtoawjeeqsiyhgntmouzshlibxeyydnxmyshzwirb\n", - "-2498.723782711314 misl karzcmuaygtzghaweomstodgrymqpuajmpiwghawtaamyewgfinwahaaukkwyoaweeeqxiyhbntmtuzsclibceyyynxmdshzrirb\n", - "-2551.6124180719 mirl kaszcmtayguzghzweonstocgrynqpuzjmpjwghzwtabmyevgfiowahzauklwyozweefqxixhbnumtuyscljbcexyynymdsgzrisb\n", - "-2489.598513420622 mirj kasbcmtyygubghzueonutocerynspuzhmpjyghzutaboyevefioyahzyuklyyozueefsxixfbnuotuyqcljdcexwynyodsgxrisd\n", - "-2494.9296161407838 sirj easbimtysgubmhzuyonuzocelynsvuzhgpjymhzunaboeevezioyghzyoklyeozuyefsdixfvnuozuyqwljdiexwsnyojsgxlisd\n", - "-2494.9296161407838 sirj easbimtysgubmhzuyonuzocelynsvuzhgpjymhzunaboeevezioyghzyoklyeozuyefsdixfvnuozuyqwljdiexwsnyojsgxlisd\n", - "-2493.6854224683907 airj wasbqmtykgubuhzuqonuhocedynsduzhypjyuhzufabomeverioyohzygklymozuqefslixfnnuohuyqoljdqexwknyorsgxdisd\n", - "-2507.6074329700705 airz waslqmtokguluhzkqonehocudyncduzxypjiuhzkfabymevurioiohzogklimozkqefclixvnnuyhuygoljnqexmknyyrsgndisn\n", - "-2493.6854224683907 airj wasbqmtykgubuhzuqonuhocedynsduzhypjyuhzufabomeverioyohzygklymozuqefslixfnnuohuyqoljdqexwknyorsgxdisd\n", - "-2457.666582904805 rirj fasbhmtytgublhzuzonuyocemynsuuzhhpjylhzuoabodeveaioyfhzypklydozuzefscixfwnuoyuyqxljdhexwtnyoisgxmisd\n", - "-2607.227785286211 rprj ftsbhttytzublozuzhnuyvcemrnsubzhhijylozuotbodlveaboyfozypdlydvzuzxfscpxfwguoybyqxejdhlxwtgyoizgxmbsd\n", - "-2607.567883638979 rpxj ftmbhtzytzoblofuzhhuyviemrhsubfhhidylofuotvodlbeabiyfofypdfydvfuzxzscpdfwgooybeqxeddhldwtgsoizmxmbmd\n", - "-2649.5932408553235 rgxj fcmbhkzytioblffuzqhuymiemahsusfhhrdylffuocvodcbeakiyfffypmfydmfuzgzscgdfwpooyseqxnddhcdwtpsoiqmxmkmd\n", - "-2653.2497199926847 rgxg fcmehkzvtioelffrzqhxymibmahvusfehrdblffrocvrdcbbakibfffvpmfbdmfrzgzvcgdcwporysenxndghcdttpsriqmumkmg\n", - "-2650.1674999816955 rgxm fcmyhkzbtioylffxzqhrymihmahpusfkhrdvlffxocvldcbhakivfffbpmfvdmfxzgzpcgdiwpolysetxndahcdztpsliqmamkma\n", - "-2707.2215047764585 rdxm ffmyhhzbtloylcfxzthryjihmdhpupfkhudvlcfxofvldzbhanivfcfbppfvdjfxzjzpcddiwsolypetxqdahzdztsslinmamnma\n", - "-2697.0774980522388 rdkm ffzyhhmbtlbylcsxzturyjvhmdupupskhuqvlcsxofildzohanvvfcsbppsvdjsxzjmpcdqiwsblyprtxqqahzqztsflinzamnza\n", - "-2640.0234932574754 rgkm fczyhkmbtibylfsxzqurymvhmaupusskhrqvlfsxocildcohakvvffsbpmsvdmsxzgmpcgqiwpblysrtxnqahcqztpfliqzamkza\n", - "-2642.230251562445 rkkm fyzyhombtebyljsxzmuryqvhmwupuwskhnqvljsxoyildgohagvvfjsbpisvdqsxzcmpckqiwlblywrtxjqahgqztlfliuzamgza\n", - "-2699.7632706346094 rkkv fyzphomktebpljsgzmuiyqvqmwuguwsthnqmljsgoyicdgoqagvmfjskpismdqsgzcmgckqrwlbcywrcxjqrhgqitlfciuzjmgzr\n", - "-2552.4888742365556 kkkv myzpaomkaebpejsggmuirqvqtwugnwstonqmejsgvyicwgoqhgvmyjskwismwqsggcmgvkqrdlbcrwrcejqragqialfcbuzjtgzr\n", - "-2499.323594123107 kekv mezpaimkakbpedsggsuirkvqtcugnqstotqmedsgveicwaoqhmvmydskwosmwksggimgveqrdrbcrqrcepqraaqiarfcbozjtmzr\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2455.1383264262518 kekz mezlaimoakbledskgsuerkvutcucnqsxotqiedskveiywaouhmviydsowosiwkskgimcveqvdrbyrqrgepqnaaqmarfybozntmzn\n", - "-2314.5102886369814 kikz mazlammoagblehskgouerovutyucnusxopqiehskvaiyweouhiviyhsowksiwoskgemcviqvdnbyrurgelqnaeqmanfybszntizn\n", - "-2313.788413468293 kizz maklamboagmlehhkgoferokutyfcnuhxopbiehhkvatyweduhigiyhhowkdiwohkgexcvifvdnmyruggelbnaefmanqybsontikn\n", - "-2296.456815735107 kivz maolamxoagqlehdkgojerogutyjcnudxopfiehdkvaxywezuhikiyhdowkhiwodkgebcvibvdnqyrucgelfnaebmanuybskntion\n", - "-2330.900348650816 kioz mavlamqoagxlehwkgoqerozutyqcnuwxopmiehwkvaeywesuhiriyhwowkoiwowkgeicviuvdnxyruvgelmnaeumanbybsdntivn\n", - "-2450.2490610313553 vioz bavllmqopgxlphwkvoqecozuiyqcyuwxdpmiphwkkaeyhesuwirijhwolkoihowkveicgiuvsnxycuvgtlmnleumpnbymsdniivn\n", - "-2454.660878524829 viuz bapllmwopgrlphckvokecofuiykcyucxdpgiphckkayyheyuwilijhcolkiihockveccgiavsnrycubgtlgnleampnvymsjniipn\n", - "-2444.003007741742 vixz bamllmzopgolphfkvohecoiuiyhcyufxdpdiphfkkavyhebuwiiijhfolkfihofkvezcgidvsnoycuegtldnledmpnsymsmniimn\n", - "-2413.521739508371 viez bafllmgopghlphmkvoaecopuiyacyumxdpwiphmkkaoyheiuwibijhmolkyihomkvescgikvsnhyculgtlwnlekmpnlymstniifn\n", - "-2500.8651737659834 vigz badllmiopgflphokvoyecoruiyycyuoxdpuiphokkamyhekuwizijhoolkwihookveqcgimvsnfycungtlunlemmpnjymsvniidn\n", - "-2500.8651737659834 vigz badllmiopgflphokvoyecoruiyycyuoxdpuiphokkamyhekuwizijhoolkwihookveqcgimvsnfycungtlunlemmpnjymsvniidn\n", - "-2564.8096973470806 aigz wadlqmiokgfluhokqoyehorudyycduoxypuiuhokfamymekuriziohoogkwimookqeqclimvnnfyhungolunqemmknjyrsvndidn\n", - "-2545.4410595805048 iigz oadlymiocgflchokioyeporuvyycluoxqpuichokxamyuekujiziwhooykwiuookieqctimvfnfypungglunyemmcnjyzsvnvidn\n", - "-2577.5426620859535 cigz uadlsmioigflwhokooyejorubyycfuoxwpuiwhokdamyoekupiziqhooekwioookoeqcnimvlnfyjungmlunsemminjytsvnbidn\n", - "-2467.451762348359 cisz uarlsmuoigtlwhakoomejodubymcfuaxwpiiwhakdaayoewupiniqhaoekkiooakoeecniyvlntyjuzgmlinseyminxytshnbirn\n", - "-2426.965436088152 wisz aarlmmuoogtlqhakuomedoduhymczuaxcpiiqhakjaayiewuvinikhaokkkiioakueechiyvrntyduzgslinmeymonxynshnhirn\n", - "-2455.328906932526 wifz aaelmmhoogglqhnkuozedoquhyzczunxcpviqhnkjanyiejuviaikhnokkxiionkuerchilvrngydumgslvnmelmonkynsunhien\n", - "-2644.7503375103847 wlfz axelmphoodglqknkulzedrquhvzczxnxcmviqknkjxnyihjuvfaikknokhxiirnkubrchllvrkgydxmgsivnmhlmokkynvunhfen\n", - "-2692.8422316599836 wlfl axezmphaodgzqknwulzsdrqghvzqzxnjcmvwqknwjxnmihjgvfawkknakhxwirnwubrqhllhrkgmdxmssivbmhlyokkmnvuzhfeb\n", - "-2697.1790996337313 wlhl axczmpjaodezqkpwulxsdrsghvxqzxpjcmtwqkpwjxlmihlgvfywkkpakhvwirpwubpqhlnhrkemdxossitbmhnyokimnvwzhfcb\n", - "-2703.6211588433434 qlhl gxczgpjaudezkkpwalxsxrsgnvxqtxpjimtwkkpwpxlmchlgbfywekpaqhvwcrpwabpqblnhxkemxxosyitbghnyukimhvwznfcb\n", - "-2695.9766800123916 qlhr gxctgpjgudetkkpcalxmxrsmnvxktxppimtqkkpcpxlgchlmbfyqekpgqhvqcrpcabpkblnnxkegxxoyyitvghneukighvwfnfcv\n", - "-2689.53462080278 wlhr axctmpjgodetqkpculxmdrsmhvxkzxppcmtqqkpcjxlgihlmvfyqkkpgkhvqirpcubpkhlnnrkegdxoysitvmhneokignvwfhfcv\n", - "-2691.652739691505 wlar axjtmpcgodltqkiculemdrlmhvekzxipcmaqqkicjxsgihemvffqkkigkhcqiricubwkhlgnrklgdxhysiavmhgeokpgnvpfhfjv\n", - "-2681.8655360719185 wlvr axotmpxgodqtqkdculjmdrgmhvjkzxdpcmfqqkdcjxxgihzmvfkqkkdgkhhqirdcubbkhlbnrkqgdxcysifvmhbeokugnvkfhfov\n", - "-2659.566328686171 glvr qxotwpxgedqtakdckljmnrgmxvjkjxdpsmfqakdczxxgshzmlfkqukdgahhqsrdckbbkrlbnhkqgnxcyiifvwhbeekugxvkfxfov\n", - "-2698.4216790953524 glur qxptwpwgedrtakccklkmnrfmxvkkjxcpsmgqakcczxygshymlflqukcgahiqsrcckbckrlanhkrgnxbyiigvwhaeekvgxvjfxfpv\n", - "-2684.5297244213366 vlur bxptlpwgpdrtpkccvlkmcrfmivkkyxcpdmgqpkcckxyghhymwflqjkcglhiqhrccvbckglanskrgcxbytigvlhaepkvgmvjfifpv\n", - "-2698.4216790953524 glur qxptwpwgedrtakccklkmnrfmxvkkjxcpsmgqakcczxygshymlflqukcgahiqsrcckbckrlanhkrgnxbyiigvwhaeekvgxvjfxfpv\n", - "-2712.333466183975 gluk qxpawpwzedraakcvklktnrffxvkrjxcismgxakcvzxynshyflflxukczahixsrcvkbcrrlaghkrnnxbriigcwhaxekvnxvjyxfpc\n", - "-2737.5507955001826 gltk qxqawpvzedsaakbvklltnrefxvlrjxbismhxakbvzxznshxflfmxukbzahjxsrbvkbdrrlzghksnnxariihcwhzxekwnxviyxfqc\n", - "-2737.5507955001826 gltk qxqawpvzedsaakbvklltnrefxvlrjxbismhxakbvzxznshxflfmxukbzahjxsrbvkbdrrlzghksnnxariihcwhzxekwnxviyxfqc\n", - "-2701.33549704812 glrk qxsawptzeduaakzvklntnrcfxvnrjxzismjxakzvzxbnshvflfoxukzzahlxsrzvkbfrrlxghkunnxyriijcwhxxekynxvgyxfsc\n", - "-2718.504555580932 gzrk qjsawdtzepuaayzvkxntnfcfxhnrjlzisyjxayzvzjbnsvvflroxuyzzatlxsfzvknfrrzxghwunnlyriujcwvxxewynxjgyxrsc\n", - "-2698.080647580158 gzrb qjsjwdtqepujayzmkxncnfcwxhnajlzzsyjgayzmzjbwsvvwlroguyzqatlgsfzmknfarzxxhwuwnlyiiujlwvxoewywxjgpxrsl\n", - "-2645.192012219571 gzsb qjrjwduqeptjayamkxmcnfdwxhmajlazsyigayamzjawsvwwlrnguyaqatkgsfamknearzyxhwtwnlziiuilwvyoewxwxjhpxrrl\n", - "-2688.276739208706 gzkb qjzjwdmqepbjaysmkxucnfvwxhuajlszsyqgaysmzjiwsvowlrvguysqatsgsfsmknmarzqxhwbwnlriiuqlwvqoewfwxjzpxrzl\n", - "-2638.077458899433 gmkb qwzjwqmqecbjalsmkkucnsvwxuuajyszslqgalsmzwiwsiowlevgulsqagsgsssmkamarmqxhjbwnyriihqlwiqoejfwxwzpxezl\n", - "-2648.327432189794 gmkv qwzpwqmkecbpalsgkkuinsvqxuugjystslqmalsgzwicsioqlevmulskagsmsssgkamgrmqrhjbcnyrcihqrwiqiejfcxwzjxezr\n", - "-2648.327432189794 gmkv qwzpwqmkecbpalsgkkuinsvqxuugjystslqmalsgzwicsioqlevmulskagsmsssgkamgrmqrhjbcnyrcihqrwiqiejfcxwzjxezr\n", - "-2641.2750154075466 gtkv qpzpwxmkevbpassgkduinzvqxnugjfstseqmassgzpicspoqlxvmusskazsmszsgktmgrtqrhcbcnfrciaqrwpqiecfcxdzjxxzr\n", - "-2641.2750154075466 gtkv qpzpwxmkevbpassgkduinzvqxnugjfstseqmassgzpicspoqlxvmusskazsmszsgktmgrtqrhcbcnfrciaqrwpqiecfcxdzjxxzr\n", - "-2698.733289695039 ttkv dpzpjxmkrvbpnssgxduiazvqknugwfstfeqmnssgmpicfpoqyxvmhssknzsmfzsgxtmgetqrucbcafrcvaqrjpqircfckdzjkxzr\n", - "-2655.3087447510397 rtkv fpzphxmktvbplssgzduiyzvqmnugufstheqmlssgopicdpoqaxvmfsskpzsmdzsgztmgctqrwcbcyfrcxaqrhpqitcfcidzjmxzr\n", - "-2673.7030802771724 rjkv fzzphnmktfbplisgznuiypvqmxuguvsthoqmlisgozicdfoqahvmfiskpjsmdpsgzdmgcjqrwmbcyvrcxkqrhfqitmfcitzjmhzr\n", - "-2683.847087001393 rjxv fzmphnzktfoplifgznhiypiqmxhguvfthodmlifgozvcdfbqahimfifkpjfmdpfgzdzgcjdrwmocyvecxkdrhfditmscitmjmhmr\n", - "-2624.0239487224217 rjwv fznphnyktfppliegzniiyphqmxiguvethoemliegozwcdfaqahjmfiekpjgmdpegzdagcjcrwmpcyvdcxkerhfcitmtcitljmhnr\n", - "-2690.171464133232 njwv jznpdnykxfpphiegdniiuphqqxigqvetloemhiegszwczfaqehjmbiektjgmzpegddagyjcrampcuvdcbkerdfcixmtcetljqhnr\n", - "-2691.4651437371467 pjwv hznpfnykvfppjiegbniiwphqoxigsvetjoemjiegqzwcbfaqchjmdiekrjgmbpegbdagajcrympcwvdczkerffcivmtcgtljohnr\n", - "-2596.0982647049113 vjwv bznplnykpfpppiegvniicphqixigyvetdoempiegkzwchfaqwhjmjiekljgmhpegvdaggjcrsmpccvdctkerlfcipmtcmtljihnr\n", - "-2577.926339541034 vpwv btnpltykpzpppoegvhiicvhqirigybetdiempoegktwchlaqwbjmjoekldgmhvegvxaggpcrsgpccbdcteerllcipgtcmzljibnr\n", - "-2630.422031812137 vqwv bsnpluykpyppppegvgiicwhqiqigycetdhemppegkswchmaqwajmjpeklcgmhwegvwaggqcrsfpcccdctderlmcipftcmaljianr\n", - "-2693.43562673447 lqwv lsnpbuykzyppfpegfgiiswhqsqigocetnhemfpeguswcxmaqgajmzpekvcgmxwegfwagwqcrcfpcscdcdderbmcizftccaljsanr\n", - "-2752.918666660672 lqrv lsspbutkzyupfpzgfgniswcqsqngocztnhjmfpzgusbcxmvqgaomzpzkvclmxwzgfwfgwqxrcfucscycddjrbmxizfyccagjsasr\n", - "-2700.0300313000857 lqsv lsrpbuukzytpfpagfgmiswdqsqmgocatnhimfpagusacxmwqganmzpakvckmxwagfwegwqyrcftcsczcddirbmyizfxccahjsarr\n", - "-2678.9533625098366 lwsv lmrpbaukzstpfvagfamiscdqskmgoiatnbimfvagumacxswqgunmzvakvwkmxcagfqegwwyrcztcsizcdxirbsyizzxccghjsurr\n", - "-2679.8842911686 awsv wmrpqaukkstpuvagqamihcdqdkmgdiatybimuvagfmacmswqrunmovakgwkmmcagqqeglwyrnztchizcoxirqsyikzxcrghjdurr\n", - "-2708.1611109611626 afsv wdrpqjukkjtpueagqrmihldqdbmgdratysimueagfdacmbwqrlnmoeakgnkmmlagqheglfyrnqtchrzcooirqbyikqxcrphjdlrr\n", - "-2694.443385113218 afsd wdrhqjuskjthueaoqrmahldydbmydrabysieueaofdaumbwyrlneoeasgnkemlaoqheylfyznqtuhrzkooijqbyqkqxurphrdlrj\n", - "-2656.3693148693155 aosd wurhqsuskathunaoqimahudydsmydaabyjieunaofuaumkwyrcneonasgekemuaoqyeyloyznhtuhazkofijqkyqkhxuryhrdcrj\n", - "-2677.9501187286246 ausd worhqyuskuthutaoqcmahadydmmydgabydieutaofoaumqwyrwneotasgykemaaoqseyluyznbtuhgzkozijqqyqkbxurehrdwrj\n", - "-2649.2710475073013 ausa workqyupkutkutalqcmdhadvdmmbdgayydihutalfoaxmqwvrwnhotapgykhmaalqsebluywnbtxhgzhozimqqynkbxxrehodwrm\n", - "-2697.8048025610083 auba woikqydpkukkutjlqcddhamvdmdbdgjyydzhutjlforxmqfvrwehotjpgybhmajlqsvbluhwnbkxhgihozzmqqhnkboxreqodwim\n", - "-2697.8048025610083 auba woikqydpkukkutjlqcddhamvdmdbdgjyydzhutjlforxmqfvrwehotjpgybhmajlqsvbluhwnbkxhgihozzmqqhnkboxreqodwim\n", - "-2668.23328081654 abba whikqfdpknkkuajlqvddhhmvdfdbdnjyywzhuajlfhrxmxfvrpehoajpgrbhmhjlqlvblbhwnukxhnihoszmqxhnkuoxrlqodpim\n", - "-2685.991975931726 hbba phikxfdpdnkkbajljvddohmvwfdbknjyrwzhbajlyhrxtxfvkpehvajpzrbhthjljlvbsbhwgukxonihhszmxxhnduoxylqowpim\n", - "-2680.152218687322 ybba yhikofdpmnkksajlsvddfhmvffdbbnjyawzhsajlhhrxkxfvtpehmajpirbhkhjlslvbjbhwpukxfnihqszmoxhnmuoxplqofpim\n", - "-2709.7237404317907 yuba yoikoydpmukkstjlscddfamvfmdbbgjyadzhstjlhorxkqfvtwehmtjpiybhkajlssvbjuhwpbkxfgihqzzmoqhnmboxpeqofwim\n", - "-2719.0168558140717 yqba ysikoudpmykkspjlsgddfwmvfqdbbcjyahzhspjlhsrxkmfvtaehmpjpicbhkwjlswvbjqhwpfkxfcihqdzmomhnmfoxpaqofaim\n", - "-2707.0979179432898 aqba wsikqudpkykkupjlqgddhwmvdqdbdcjyyhzhupjlfsrxmmfvraehopjpgcbhmwjlqwvblqhwnfkxhcihodzmqmhnkfoxraqodaim\n", - "-2693.3826205964274 aqaa wsjkqucpkylkupilqgedhwlvdqebdciyyhahupilfssxmmevrafhopipgcchmwilqwwblqgwnflxhchhodamqmgnkfpxrapodajm\n", - "-2691.5941499688392 aqaz wsjlqucokyllupikqgeehwludqecdcixyhaiupikfssymmeurafiopiogccimwikqwwclqgvnflyhchgodanqmgmkfpyrapndajn\n", - "-2709.6643276225795 aqrz wsslqutokyulupzkqgnehwcudqncdczxyhjiupzkfsbymmvuraoiopzogclimwzkqwfclqxvnfuyhcygodjnqmxmkfyyragndasn\n", - "-2723.586606206554 aqru wssqqutjkyuqupzfqgnjhwcpdqnhdczsyhjnupzffsbdmmvpraonopzjgclnmwzfqwfhlqxqnfudhcybodjsqmxhkfydragidass\n", - "-2683.356646410835 aqpu wsuqqurjkywqupxfqgpjhwapdqphdcxsyhlnupxffsddmmtpraqnopxjgcnnmwxfqwhhlqvqnfwdhcwbodlsqmvhkfadraeidaus\n", - "-2683.356646410835 aqpu wsuqqurjkywqupxfqgpjhwapdqphdcxsyhlnupxffsddmmtpraqnopxjgcnnmwxfqwhhlqvqnfwdhcwbodlsqmvhkfadraeidaus\n", - "-2677.450338038375 aqpq wsuuqurfkywuupxbqgpnhwaldqpldcxoyhlrupxbfsdhmmtlraqropxfgcnrmwxbqwhllqvmnfwhhcwxodlwqmvdkfahraeedauw\n", - "-2664.814873963725 alpq wxuuqprfkdwuukxbqlpnhraldvpldxxoymlrukxbfxdhmhtlrfqrokxfghnrmrxbqbhlllvmnkwhhxwxoilwqhvdkkahrveedfuw\n", - "-2624.954645767272 appq wtuuqtrfkzwuuoxbqhpnhvaldrpldbxoyilruoxbftdhmltlrbqrooxfgdnrmvxbqxhllpvmngwhhbwxoelwqlvdkgahrzeedbuw\n", - "-2441.6614098056316 kppq mtuuatrfazwueoxbghpnrvaltrplnbxooilreoxbvtdhwltlhbqryoxfwdnrwvxbgxhlvpvmdgwhrbwxeelwalvdagahbzeetbuw\n", - "-2419.7234290924384 kppj mtubatryazwbeoxughpurvaetrpsnbxhoilyeoxuvtdowltehbqyyoxywdnywvxugxhsvpvfdgworbwqeeldalvwagaobzextbud\n", - "-2634.439020505217 pppj htubftryvzwbjoxubhpuwvaeorpssbxhjilyjoxuqtdobltecbqydoxyrdnybvxubxhsapvfygwowbwqzeldflvwvgaogzexobud\n", - "-2652.3922301232096 fppj rtubvtryfzwbzoxulhpumvaeyrpsibxhtilyzoxuatdorltembqytoxybdnyrvxulxhsqpvfigwombwqjeldvlvwfgaowzexybud\n", - "-2639.733554558343 fpsj rtrbvtuyfztbzoaulhmumvdeyrmsibahtiiyzoauataorlwembnytoaybdkyrvaulxesqpyfigtombzqjeidvlywfgxowzhxybrd\n", - "-2738.812916569449 fdsj rfrbvhuyfltbzcaultmumjdeydmsipahtuiyzcauafaorzwemnnytcaybpkyrjauljesqdyfistompzqjqidvzywfsxownhxynrd\n", - "-2753.673521026481 fdsf rfrfvhuufltfzcaqltmymjdaydmwipadtuiczcaqafasrzwamnnctcaubpkcrjaqljewqdybistsmpzmjqihvzysfsxswnhtynrh\n", - "-2742.4693957068107 fdsg rfrevhuvfltezcarltmxmjdbydmvipaetuibzcarafarrzwbmnnbtcavbpkbrjarljevqdycistrmpznjqigvzytfsxrwnhuynrg\n", - "-2685.4153909120478 fgsg rcrevkuvfitezfarlqmxmmdbyamvisaetribzfaracarrcwbmknbtfavbmkbrmarlgevqgyciptrmsznjnigvcytfpxrwqhuykrg\n", - "-2696.6195162317176 fgsf rcrfvkuufitfzfaqlqmymmdayamwisadtriczfaqacasrcwamknctfaubmkcrmaqlgewqgybiptsmszmjnihvcysfpxswqhtykrh\n", - "-2675.575908089976 fssf rqrfvwuufwtfzraqlemymydayomwieadtficzraqaqasrowamynctraubakcryaqluewqsybidtsmezmjbihvoysfdxswchtyyrh\n", - "-2694.454387211827 flsf rxrfvpuufdtfzkaqllmymrdayvmwixadtmiczkaqaxasrhwamfnctkaubhkcrraqlbewqlybiktsmxzmjiihvhysfkxswvhtyfrh\n", - "-2625.71018437612 ilsf oxrfypuucdtfckaqilmyprdavvmwlxadqmicckaqxxasuhwajfncwkauyhkcuraqibewtlybfktspxzmgiihyhysckxszvhtvfrh\n", - "-2681.3352806692155 ildf oxgfypfucdifcklqilbyproavvbwlxldqmxccklqxxpsuhhajfccwkluyhzcurlqibtwtljbfkispxkmgixhyhjsckmszvstvfgh\n", - "-2629.791790292201 ilyf oxlfypaucdnfckgqilgyprjavvgwlxgdqmccckgqxxusuhcajfhcwkguyhecurgqibywtlebfknspxfmgichyhesckrszvntvflh\n", - "-2685.1849713790903 ilof oxvfypqucdxfckwqilqyprzavvqwlxwdqmmcckwqxxesuhsajfrcwkwuyhocurwqibiwtlubfkxspxvmgimhyhusckbszvdtvfvh\n", - "-2619.115779810504 ilwf oxnfypyucdpfckeqiliyprhavviwlxedqmecckeqxxwsuhaajfjcwkeuyhgcureqibawtlcbfkpspxdmgiehyhcscktszvltvfnh\n", - "-2650.403355447861 ylwf yxnfopyumdpfskeqsliyfrhafviwbxedamecskeqhxwskhaatfjcmkeuihgckreqsbawjlcbpkpsfxdmqiehohcsmktspvltffnh\n", - "-2716.4725470164476 ylof yxvfopqumdxfskwqslqyfrzafvqwbxwdammcskwqhxeskhsatfrcmkwuihockrwqsbiwjlubpkxsfxvmqimhohusmkbspvdtffvh\n", - "-2649.4975065203994 xlof zxvfnpqundxfrkwqtlqyerzagvqwaxwdbmmcrkwqixesjhsaufrclkwujhocjrwqtbiwilubqkxsexvmrimhnhusnkbsovdtgfvh\n", - "-2602.6813950822957 xlpf zxufnprundwfrkxqtlpyeraagvpwaxxdbmlcrkxqixdsjhtaufqclkxujhncjrxqtbhwilvbqkwsexwmrilhnhvsnkasovetgfuh\n", - "-2654.8891094729647 xlcf zxhfnpeundjfrkkqtlcyernagvcwaxkdbmycrkkqixqsjhgaufdclkkujhacjrkqtbuwilibqkjsexjmriyhnhisnknsovrtgfhh\n", - "-2694.3979308362614 xlcr zxhtnpegndjtrkkctlcmernmgvckaxkpbmyqrkkcixqgjhgmufdqlkkgjhaqjrkctbukilinqkjgexjyriyvnhienkngovrfgfhv\n", - "-2678.0652959344325 xlbr zxitnpdgndktrkjctldmermmgvdkaxjpbmzqrkjcixrgjhfmufeqlkjgjhbqjrjctbvkilhnqkkgexiyrizvnhhenkogovqfgfiv\n", - "-2678.0652959344325 xlbr zxitnpdgndktrkjctldmermmgvdkaxjpbmzqrkjcixrgjhfmufeqlkjgjhbqjrjctbvkilhnqkkgexiyrizvnhhenkogovqfgfiv\n", - "-2718.635474693374 xltr zxqtnpvgndstrkbctllmeremgvlkaxbpbmhqrkbcixzgjhxmufmqlkbgjhjqjrbctbdkilznqksgexayrihvnhzenkwgovifgfqv\n", - "-2681.765353446581 xlmr zxxtnpogndztrkuctlsmerxmgvskaxupbmoqrkucixggjhqmuftqlkugjhqqjructbkkilsnqkzgextyriovnhsenkdgovbfgfxv\n", - "-2627.3959276262544 xlmj zxxbnpoyndzbrkuutlsuerxegvssaxuhbmoyrkuuixgojhqeuftylkuyjhqyjruutbksilsfqkzoextqriodnhswnkdoovbxgfxd\n", - "-2615.3943174667897 xhmj zbxbnloynhzbrguutpsuenxegzssatuhbqoyrguuibgojdqeujtylguyjlqyjnuutfksihsfqozoettqrmodndswnodoorbxgjxd\n", - "-2622.6352919039027 xhoj zbvbnlqynhxbrgwutpquenzegzqsatwhbqmyrgwuibeojdseujrylgwyjloyjnwutfisihufqoxoetvqrmmdnduwnoboordxgjvd\n", - "-2709.1137499803085 phoj hbvbflqyvhxbjgwubpquwnzeozqsstwhjqmyjgwuqbeobdsecjrydgwyrloybnwubfisahufyoxowtvqzmmdfduwvobogrdxojvd\n", - "-2725.4872474646345 pkoj hyvbfoqyvexbjjwubmquwqzeowqsswwhjnmyjjwuqyeobgsecgrydjwyrioybqwubcisakufylxowwvqzjmdfguwvlbogudxogvd\n", - "-2705.983829884277 ykoj yyvbooqymexbsjwusmqufqzefwqsbwwhanmysjwuhyeokgsetgrymjwyiioykqwuscisjkufplxofwvqqjmdoguwmlbopudxfgvd\n", - "-2756.5999426189055 ykgj yydbooiymefbsjousmyufqrefwysbwohanuysjouhymokgketgzymjoyiiwykqouscqsjkmfplfofwnqqjudogmwmljopuvxfgdd\n", - "-2756.5999426189055 ykgj yydbooiymefbsjousmyufqrefwysbwohanuysjouhymokgketgzymjoyiiwykqouscqsjkmfplfofwnqqjudogmwmljopuvxfgdd\n", - "-2723.3697024364023 qkgj gydbgoiyuefbkjouamyuxqrenwystwohinuykjoupymocgkebgzyejoyqiwycqouacqsbkmfxlfoxwnqyjudggmwuljohuvxngdd\n", - "-2678.14519265434 qkcj gyhbgoeyuejbkjkuamcuxqnenwcstwkhinyykjkupyqocggebgdyejkyqiaycqkuacusbkifxljoxwjqyjydggiwulnohurxnghd\n", - "-2729.585170813284 nkcj jyhbdoeyxejbhjkudmcuuqneqwcsqwkhlnyyhjkusyqozggeegdybjkytiayzqkudcusykifaljouwjqbjyddgiwxlnoeurxqghd\n", - "-2703.5249804558475 njcj jzhbdneyxfjbhikudncuupneqxcsqvkhloyyhikuszqozfgeehdybikytjayzpkuddusyjifamjouvjqbkyddfiwxmnoetrxqhhd\n", - "-2702.545194996754 njuj jzpbdnwyxfrbhicudnkuupfeqxksqvchlogyhicuszyozfyeehlybicytjiyzpcuddcsyjafamrouvbqbkgddfawxmvoetjxqhpd\n", - "-2741.402556562142 nzuj jjpbddwyxprbhycudxkuuffeqhksqlchlygyhycusjyozvyeerlybycyttiyzfcudncsyzafawroulbqbugddvawxwvoejjxqrpd\n", - "-2702.545194996754 njuj jzpbdnwyxfrbhicudnkuupfeqxksqvchlogyhicuszyozfyeehlybicytjiyzpcuddcsyjafamrouvbqbkgddfawxmvoetjxqhpd\n", - "-2763.7886759426306 njuw jzpodnwlxfrohichdnkhupfrqxkfqvculoglhichszybzfyrehllbicltjilzpchddcfyjasamrbuvbdbkgqdfajxmvbetjkqhpq\n", - "-2742.467428016277 ejuw szpounwlgfroyichmnkhlpfrzxkfhvcuuoglyichbzybqfyrnhllsiclcjilqpchmdcfpjasjmrblvbdkkgqufajgmvbvtjkzhpq\n", - "-2696.934428199668 ejua szpkunwpgfrkyiclmnkdlpfvzxkbhvcyuoghyiclbzyxqfyvnhlhsicpcjihqpclmdcbpjawjmrxlvbhkkgmufangmvxvtjozhpm\n", - "-2624.1824766977006 vjua bzpklnwppfrkpiclvnkdcpfvixkbyvcydoghpiclkzyxhfyvwhlhjicpljihhpclvdcbgjawsmrxcvbhtkgmlfanpmvxmtjoihpm\n", - "-2659.3496697269256 vjun bzpxlnwcpfrxpicyvnkqcpfiixkoyvcldogupicykzykhfyiwhlujiccljiuhpcyvdcogjajsmrkcvbutkgzlfaapmvkmtjbihpz\n", - "-2463.9305049577224 vjut bzprlnwipfrrpicevnkkcpfoixkiyvcrdogopicekzyehfyowhlojiciljiohpcevdcigjapsmrecvbatkgtlfagpmvemtjhihpt\n", - "-2623.332600025464 vjuf bzpflnwupfrfpicqvnkycpfaixkwyvcddogcpicqkzyshfyawhlcjiculjichpcqvdcwgjabsmrscvbmtkghlfaspmvsmtjtihph\n", - "-2659.523762085229 wjuf azpfmnwuofrfqicqunkydpfahxkwzvcdcogcqicqjzysifyavhlckicukjicipcqudcwhjabrmrsdvbmskghmfasomvsntjthhph\n", - "-2702.7704358267333 wjuv azppmnwkofrpqicgunkidpfqhxkgzvctcogmqicgjzycifyqvhlmkickkjimipcgudcghjarrmrcdvbcskgrmfaiomvcntjjhhpr\n", - "-2721.054776207398 bjuv vzpprnwkjfrpvicgpnkiipfqcxkgevctxogmvicgezycnfyqqhlmpickfjimnpcgpdcgmjarmmrcivbcnkgrrfaijmvcstjjchpr\n", - "-2731.7679910204606 sjuv ezppinwksfrpmicgynkizpfqlxkgvvctgogmmicgnzycefyqzhlmgickojimepcgydcgdjarvmrczvbcwkgrifaismvcjtjjlhpr\n", - "-2743.2567620869395 cjuv uzppsnwkifrpwicgonkijpfqbxkgfvctwogmwicgdzycofyqphlmqickejimopcgodcgnjarlmrcjvbcmkgrsfaiimvcttjjbhpr\n", - "-2728.874084554173 cxuv ulppsbwkirrpwwcgozkijdfqbjkgfjctwagmwwcgdlycotyqptlmqwckevimodcgopcgnxarlyrcjjbcmwgrstaiiyvcthjjbtpr\n", - "-2720.6125763508285 cxdv ulgpsbfkiripwwlgozbijdoqbjbgfjltwaxmwwlgdlpcothqptcmqwlkevzmodlgoptgnxjrlyicjjkcmwxrstjiiymcthsjbtgr\n", - "-2659.493935429071 cxde ulggsbftirigwwlpozbzjdozbjbxfjlcwaxdwwlpdlptothzptcdqwltevzdodlpoptxnxjalyitjjklmwxistjriymtthssbtgi\n", - "-2604.2630337539895 dxde tlggtbfthrigxwlpnzbzkdozajbxgjlcvaxdxwlpclptpthzotcdrwltdvzdpdlpnptxoxjakyitkjkllwxittjrhymtuhssatgi\n", - "-2542.043532895278 dxwe tlngtbythrpgxwepnzizkdhzajixgjecvaedxwepclwtptazotjdrwetdvgdpdepnpaxoxcakyptkjdllweittcrhyttuhlsatni\n", - "-2571.385402940877 dxee tlfgtbgthrhgxwmpnzazkdpzajaxgjmcvawdxwmpclotptizotbdrwmtdvydpdmpnpsxoxkakyhtkjlllwwittkrhyltuhtsatfi\n", - "-2552.719543376976 dxye tllgtbathrngxwgpnzgzkdjzajgxgjgcvacdxwgpclutptczothdrwgtdvedpdgpnpyxoxeakyntkjfllwcitterhyrtuhnsatli\n", - "-2555.730906100196 dxyj tllbtbayhrnbxwgunzgukdjeajgsgjghvacyxwgucluoptceothyrwgydveypdgunpysoxefkynokjfqlwcdttewhyrouhnxatld\n", - "-2559.387385237558 dxyg tlletbavhrnexwgrnzgxkdjbajgvgjgevacbxwgrclurptcbothbrwgvdvebpdgrnpyvoxeckynrkjfnlwcgttethyrruhnuatlg\n", - "-2602.600085352779 dxyh tlldtbawhrndxwgsnzgwkdjcajgugjgfvacaxwgscluqptccotharwgwdveapdgsnpyuoxedkynqkjfolwcftteuhyrquhnvatlf\n", - "-2598.810837721667 dpyh ttldttawhzndxogsnhgwkvjcargugbgfvicaxogsctuqplccobharogwddeapvgsnxyuopedkgnqkbfolecftleuhgrquznvablf\n", - "-2651.3065299927707 dqyh tsldtuawhyndxpgsnggwkwjcaqgugcgfvhcaxpgscsuqpmccoaharpgwdceapwgsnwyuoqedkfnqkcfoldcftmeuhfrquanvaalf\n", - "-2605.640844141661 dmyh twldtqawhcndxlgsnkgwksjcaugugygfvlcaxlgscwuqpiccoeharlgwdgeapsgsnayuomedkjnqkyfolhcftieuhjrquwnvaelf\n", - "-2620.3854195565364 wmyh awldmqawocndqlgsukgwdsjchuguzygfclcaqlgsjwuqiiccvehaklgwkgeaisgsuayuhmedrjnqdyfoshcfmieuojrqnwnvhelf\n", - "-2559.141027849933 wmyx awlnmqamocnnqlgiukggdsjshugezygvclckqlgijwuaiicsvehkklgmkgekisgiuayehmetrjnadyfeshcpmiekojranwnlhelp\n", - "-2577.1727194413147 wmyg awlemqavocneqlgrukgxdsjbhugvzygeclcbqlgrjwuriicbvehbklgvkgebisgruayvhmecrjnrdyfnshcgmietojrrnwnuhelg\n", - "-2678.166720424959 wmyo awlwmqadocnwqlgzukgpdsjjhugnzygmclctqlgzjwujiicjvehtklgdkgetisgzuaynhmekrjnjdyfvshcymiebojrjnwnchely\n", - "-2621.3735452121277 wmyb awljmqaqocnjqlgmukgcdsjwhugazygzclcgqlgmjwuwiicwvehgklgqkgegisgmuayahmexrjnwdyfishclmieoojrwnwnphell\n", - "-2670.520673009401 wmxb awmjmqzqocojqlfmukhcdsiwhuhazyfzcldgqlfmjwvwiibwveigklfqkgfgisfmuazahmdxrjowdyeishdlmidoojswnwmpheml\n", - "-2681.862591753286 wjxb azmjmnzqofojqifmunhcdpiwhxhazvfzcodgqifmjzvwifbwvhigkifqkjfgipfmudzahjdxrmowdveiskdlmfdoomswntmphhml\n", - "-2671.7185850290657 wjkb azzjmnmqofbjqismunucdpvwhxuazvszcoqgqismjziwifowvhvgkisqkjsgipsmudmahjqxrmbwdvriskqlmfqoomfwntzphhzl\n", - "-2623.861280120891 wjkj azzbmnmyofbbqisuunuudpvehxuszvshcoqyqisujzioifoevhvykisykjsyipsuudmshjqfrmbodvrqskqdmfqwomfontzxhhzd\n", - "-2603.524018611739 wjej azfbmngyofhbqimuunaudppehxaszvmhcowyqimujzooifievhbykimykjyyipmuudsshjkfrmhodvlqskwdmfkwomlonttxhhfd\n", - "-2458.982528001027 wjet azfrmngiofhrqimeunakdppohxaizvmrcowoqimejzoeifiovhbokimikjyoipmeudsihjkprmhedvlaskwtmfkgomlentthhhft\n", - "-2500.506446110567 wfet adfrmjgiojhrqemeurakdlpohbaizrmrcswoqemejdoeibiovlbokemiknyoilmeuhsihfkprqhedrlasowtmbkgoqlenpthhlft\n", - "-2539.8899648482584 wdet affrmhgiolhrqcmeutakdjpohdaizpmrcuwoqcmejfoeiziovnbokcmikpyoijmeujsihdkprshedplasqwtmzkgoslennthhnft\n", - "-2700.1419365882343 wdea affkmhgpolhkqcmlutaddjpvhdabzpmycuwhqcmljfoxizivvnbhkcmpkpyhijmlujsbhdkwrshxdplhsqwmmzknoslxnntohnfm\n", - "-2705.757941952625 wdfa afekmhhpolgkqcnlutzddjqvhdzbzpnycuvhqcnljfnxizjvvnahkcnpkpxhijnlujrbhdlwrsgxdpmhsqvmmzlnoskxnnuohnem\n", - "-2669.5667798928616 vdfa bfeklhhpplgkpcnlvtzdcjqvidzbypnyduvhpcnlkfnxhzjvwnahjcnplpxhhjnlvjrbgdlwssgxcpmhtqvmlzlnpskxmnuoinem\n", - "-2625.755947743646 vrfa breklvhppxgkpqnlvfzdcxqvipzbydnydgvhpqnlkrnxhnjvwzahjqnplbxhhxnlvvrbgrlwsegxcdmhtcvmlnlnpekxmbuoizem\n", - "-2702.4334360636167 crfa ureksvhpixgkwqnlofzdjxqvbpzbfdnywgvhwqnldrnxonjvpzahqqnpebxhoxnlovrbnrlwlegxjdmhmcvmsnlniekxtbuobzem\n", - "-2667.4755606536273 crwa urnksvypixpkwqelofidjxhvbpibfdeywgehwqeldrwxonavpzjhqqepebghoxelovabnrcwlepxjddhmcemsncnietxtblobznm\n", - "-2643.6260542725904 cwwa umnksaypispkwveloaidjchvbkibfieywbehwveldmwxosavpujhqvepewghoceloqabnwcwlzpxjidhmxemsscniztxtglobunm\n", - "-2685.0389165450515 cwaa umjksacpislkwviloaedjclvbkebfiiywbahwvildmsxosevpufhqvipewchociloqwbnwgwlzlxjihhmxamssgnizpxtgpobujm\n", - "-2705.8455551313023 cwda umgksafpisikwvlloabdjcovbkbbfilywbxhwvlldmpxoshvpuchqvlpewzhoclloqtbnwjwlzixjikhmxxmssjnizmxtgsobugm\n", - "-2693.112590392427 awda wmgkqafpksikuvllqabdhcovdkbbdilyybxhuvllfmpxmshvruchovlpgwzhmcllqqtblwjwnzixhikhoxxmqsjnkzmxrgsodugm\n", - "-2689.721306665188 awma wmxkqaopkszkuvulqasdhcxvdksbdiuyybohuvulfmgxmsqvruthovupgwqhmculqqkblwswnzzxhithoxomqssnkzdxrgboduxm\n", - "-2706.914347845415 aama wixkqeopkozkuzulqwsdhgxvdgsbdmuyyxohuzulfigxmwqvrqthozupgsqhmgulqmkblaswnvzxhmthotomqwsnkvdxrkbodqxm\n", - "-2706.914347845415 aama wixkqeopkozkuzulqwsdhgxvdgsbdmuyyxohuzulfigxmwqvrqthozupgsqhmgulqmkblaswnvzxhmthotomqwsnkvdxrkbodqxm\n", - "-2689.4989929864046 aaaa wijkqecpkolkuzilqwedhglvdgebdmiyyxahuzilfisxmwevrqfhozipgschmgilqmwblagwnvlxhmhhotamqwgnkvpxrkpodqjm\n", - "-2647.7169347453164 amaa wwjkqqcpkclkulilqkedhslvduebdyiyylahulilfwsxmievrefholipggchmsilqawblmgwnjlxhyhhohamqignkjpxrwpodejm\n", - "-2625.557152603338 ampa wwukqqrpkcwkulxlqkpdhsavdupbdyxyyllhulxlfwdxmitvreqholxpggnhmsxlqahblmvwnjwxhywhohlmqivnkjaxrweodeum\n", - "-2570.5010499780715 xmpa zwuknqrpncwkrlxltkpdesavgupbayxybllhrlxliwdxjitvueqhllxpjgnhjsxltahbimvwqjwxeywhrhlmnivnnjaxoweogeum\n", - "-2551.2479698475886 xmwa zwnknqypncpkrleltkideshvguibayeyblehrleliwwxjiavuejhllepjgghjseltaabimcwqjpxeydhrhemnicnnjtxowlogenm\n", - "-2647.3458681821858 xmqa zwtknqspncvkrlyltkodesbvguobayyyblkhrlyliwcxjiuvuephllypjgmhjsyltagbimwwqjvxeyxhrhkmniwnnjzxowfogetm\n", - "-2692.8788679987942 xmqw zwtonqslncvorlyhtkohesbrguofayyublklrlyhiwcbjiurueplllyljgmljsyhtagfimwsqjvbeyxdrhkqniwjnjzbowfkgetq\n", - "-2713.4662739674104 xmgw zwdonqilncforlohtkyhesrrguyfayoublulrlohiwmbjikruezllloljgwljsohtaqfimmsqjfbeyndrhuqnimjnjjbowvkgedq\n", - "-2616.0340497946795 xmpw zwuonqrlncworlxhtkphesargupfayxublllrlxhiwdbjitrueqlllxljgnljsxhtahfimvsqjwbeywdrhlqnivjnjabowekgeuq\n", - "-2622.835098519041 xbpw zhuonfrlnnworaxhtvphehargfpfanxubwllraxhihdbjxtrupqllaxljrnljhxhtlhfibvsquwbenwdrslqnxvjnuabolekgpuq\n", - "-2623.6055222244427 xbpl zhuznfrannwzraxwtvpsehaggfpqanxjbwlwraxwihdmjxtgupqwlaxajrnwjhxwtlhqibvhquwmenwsrslbnxvynuamolezgpub\n", - "-2653.30969848002 xbzl zhkznfbannmzrahwtvfsehkggffqanhjbwbwrahwihtmjxdgupgwlahajrdwjhhwtlxqibfhqummengsrsbbnxfynuqmolozgpkb\n", - "-2591.870052955113 xbzm zhkynfbbnnmyrahxtvfrehkhgffpanhkbwbvrahxihtljxdhupgvlahbjrdvjhhxtlxpibfiqumlengtrsbanxfznuqloloagpka\n", - "-2609.658021291614 xwzm zmkynabbnsmyrvhxtafreckhgkfpaihkbbbvrvhximtljsdhuugvlvhbjwdvjchxtqxpiwfiqzmleigtrxbansfznzqlogoaguka\n", - "-2635.268284540026 xzzm zjkyndbbnpmyryhxtxfrefkhghfpalhkbybvryhxijtljvdhurgvlyhbjtdvjfhxtnxpizfiqwmlelgtrubanvfznwqlojoagrka\n", - "-2621.441574699583 xuzm zokynybbnumyrthxtcfreakhgmfpaghkbdbvrthxiotljqdhuwgvlthbjydvjahxtsxpiufiqbmleggtrzbanqfznbqloeoagwka\n", - "-2688.4166151956306 yuzm yokyoybbmumysthxscfrfakhfmfpbghkadbvsthxhotlkqdhtwgvmthbiydvkahxssxpjufipbmlfggtqzbaoqfzmbqlpeoafwka\n", - "-2688.4166151956306 yuzm yokyoybbmumysthxscfrfakhfmfpbghkadbvsthxhotlkqdhtwgvmthbiydvkahxssxpjufipbmlfggtqzbaoqfzmbqlpeoafwka\n", - "-2689.138490364323 yukm yozyoymbmubystsxscurfavhfmupbgskadqvstsxhoilkqohtwvvmtsbiysvkasxssmpjuqipbblfgrtqzqaoqqzmbflpezafwza\n", - "-2739.4419053964416 yukn yozxoymcmubxstsyscuqfavifmuobgsladqustsyhoikkqoitwvumtsciysukasyssmojuqjpbbkfgruqzqzoqqambfkpezbfwzz\n", - "-2546.6781261262113 yikn yazxommcmgbxshsysouqfovifyuobuslapqushsyhaikkeoitivumhsciksukosysemojiqjpnbkfuruqlqzoeqamnfkpszbfizz\n", - "-2509.7224624693995 yikz yazlommomgblshsksouefovufyucbusxapqishskhaiykeoutivimhsoiksikosksemcjiqvpnbyfurgqlqnoeqmmnfypsznfizn\n", - "-2517.7384326809124 yikq yazuommfmgbushsbsounfovlfyulbusoapqrshsbhaihkeoltivrmhsfiksrkosbsemljiqmpnbhfurxqlqwoeqdmnfhpszefizw\n", - "-2487.312381256646 yipq yauuomrfmgwushxbsopnfoalfyplbuxoaplrshxbhadhketltiqrmhxfiknrkoxbsehljivmpnwhfuwxqllwoevdmnahpseefiuw\n", - "-2527.542341052366 yirq yasuomtfmguushzbsonnfoclfynlbuzoapjrshzbhabhkevltiormhzfiklrkozbsefljixmpnuhfuyxqljwoexdmnyhpsgefisw\n", - "-2521.314841468439 yira yaskomtpmgukshzlsondfocvfynbbuzyapjhshzlhabxkevvtiohmhzpiklhkozlsefbjixwpnuxfuyhqljmoexnmnyxpsgofism\n", - "-2521.314841468439 yira yaskomtpmgukshzlsondfocvfynbbuzyapjhshzlhabxkevvtiohmhzpiklhkozlsefbjixwpnuxfuyhqljmoexnmnyxpsgofism\n", - "-2538.802425851635 yirs yassomthmgusshzdsonlfocnfynjbuzqapjpshzdhabfkevntiopmhzhiklpkozdsefjjixopnuffuyzqljuoexfmnyfpsggfisu\n", - "-2528.2766423114917 yizs yaksombhmgmsshhdsoflfoknfyfjbuhqapbpshhdhatfkedntigpmhhhikdpkohdsexjjifopnmffugzqlbuoeffmnqfpsogfiku\n", - "-2509.939181256062 yizf yakfombumgmfshhqsofyfokafyfwbuhdapbcshhqhatskedatigcmhhuikdckohqsexwjifbpnmsfugmqlbhoefsmnqspsotfikh\n", - "-2519.810142001475 yimf yaxfomoumgzfshuqsosyfoxafyswbuudapocshuqhagskeqatitcmhuuikqckouqsekwjisbpnzsfutmqlohoessmndspsbtfixh\n", - "-2520.6241688695673 cimf uaxfsmouigzfwhuqoosyjoxabyswfuudwpocwhuqdagsoeqapitcqhuuekqcoouqoekwnisblnzsjutmmlohsessindstsbtbixh\n", - "-2505.763564412536 cimj uaxbsmoyigzbwhuuoosujoxebyssfuuhwpoywhuudagooeqepityqhuyekqyoouuoeksnisflnzojutqmlodseswindotsbxbixd\n", - "-2699.5568823152557 ckmj uyxbsooyiezbwjuuomsujqxebwssfwuhwnoywjuudygoogqepgtyqjuyeiqyoquuocksnksfllzojwtqmjodsgswildotubxbgxd\n", - "-2695.8568248031074 ckbj uyibsodyiekbwjjuomdujqmebwdsfwjhwnzywjjudyroogfepgeyqjjyeibyoqjuocvsnkhfllkojwiqmjzdsghwilootuqxbgid\n", - "-2672.606458356395 csbj uqibswdyiwkbwrjuoedujymebodsfejhwfzywrjudqrooofepyeyqrjyeabyoyjuouvsnshfldkojeiqmbzdsohwidootcqxbyid\n", - "-2734.1636030402847 csgj uqdbswiyiwfbwrouoeyujyreboysfeohwfuywroudqmoookepyzyqroyeawyoyououqsnsmfldfojenqmbudsomwidjotcvxbydd\n", - "-2731.3537791295607 cjgj uzdbsniyiffbwiouonyujprebxysfvohwouywioudzmoofkephzyqioyejwyopouodqsnjmflmfojvnqmkudsfmwimjottvxbhdd\n", - "-2656.081337098808 cjaj uzjbsncyiflbwiiuoneujplebxesfvihwoaywiiudzsoofeephfyqiiyejcyopiuodwsnjgflmlojvhqmkadsfgwimpottpxbhjd\n", - "-2649.6263502363354 cjfj uzebsnhyifgbwinuonzujpqebxzsfvnhwovywinudznoofjephayqinyejxyopnuodrsnjlflmgojvmqmkvdsflwimkottuxbhed\n", - "-2703.9957760566635 cjfr uzetsnhgifgtwinconzmjpqmbxzkfvnpwovqwincdzngofjmphaqqingejxqopncodrknjlnlmggjvmymkvvsfleimkgttufbhev\n", - "-2627.3182877366917 vjfr bzetlnhgpfgtpincvnzmcpqmixzkyvnpdovqpinckznghfjmwhaqjingljxqhpncvdrkgjlnsmggcvmytkvvlflepmkgmtufihev\n", - "-2468.5870108762156 vjlr bzytlnngpfatpitcvntmcpwmixtkyvtpdopqpitckzhghfpmwhuqjitgljrqhptcvdlkgjrnsmagcvsytkpvlfrepmegmtafihyv\n", - "-2417.874064193252 vjlg bzyelnnvpfaepitrvntxcpwbixtvyvtedopbpitrkzhrhfpbwhubjitvljrbhptrvdlvgjrcsmarcvsntkpglfrtpmermtauihyg\n", - "-2417.874064193252 vjlg bzyelnnvpfaepitrvntxcpwbixtvyvtedopbpitrkzhrhfpbwhubjitvljrbhptrvdlvgjrcsmarcvsntkpglfrtpmermtauihyg\n", - "-2600.47568277521 vjmg bzxelnovpfzepiurvnsxcpxbixsvyvuedoobpiurkzgrhfqbwhtbjiuvljqbhpurvdkvgjscsmzrcvtntkoglfstpmdrmtbuihxg\n", - "-2590.6047220297964 vjzg bzkelnbvpfmepihrvnfxcpkbixfvyvhedobbpihrkztrhfdbwhgbjihvljdbhphrvdxvgjfcsmmrcvgntkbglfftpmqrmtouihkg\n", - "-2586.063852010273 vbzg bhkelfbvpnmepahrvvfxchkbiffvynhedwbbpahrkhtrhxdbwpgbjahvlrdbhhhrvlxvgbfcsumrcngntsbglxftpuqrmlouipkg\n", - "-2621.044861527002 vazg bikelebvpomepzhrvwfxcgkbigfvymhedxbbpzhrkitrhwdbwqgbjzhvlsdbhghrvmxvgafcsvmrcmgnttbglwftpvqrmkouiqkg\n", - "-2665.245687297815 vazb bikjlebqpomjpzhmvwfccgkwigfaymhzdxbgpzhmkitwhwdwwqggjzhqlsdghghmvmxagafxsvmwcmgittbllwfopvqwmkopiqkl\n", - "-2646.8239976028995 vyzb bkkjlcbqpqmjpxhmvyfccekwiifaykhzdzbgpxhmkktwhudwwsggjxhqludghehmvoxagyfxsxmwckgitvbllufopxqwmiopiskl\n", - "-2602.665284679502 vyzp bkkvlcbepqmvpxhavyfocekkiifmykhndzbspxhakktihudkwsgsjxheludshehavoxmgyflsxmickgwtvbxlufcpxqimiodiskx\n", - "-2625.168822814593 vycp bkhvlceepqjvpxkavycocenkiicmykkndzyspxkakkqihugkwsdsjxkeluashekavoumgyilsxjickjwtvyxluicpxnimirdishx\n", - "-2628.4447499148437 vyip bkbvlckepqdvpxqavywocetkiiwmykqndzsspxqakkkihumkwsxsjxqeluusheqavoomgyolsxdickpwtvsxluocpxhimixdisbx\n", - "-2612.536245424915 vymp bkxvlcoepqzvpxuavysocexkiismykundzospxuakkgihuqkwstsjxueluqsheuavokmgyslsxzicktwtvoxluscpxdimibdisxx\n", - "-2698.3759256330627 vymy bkxmlconpqzmpxujvysfcextiisdykuwdzojpxujkkgzhuqtwstjjxunluqjheujvokdgysusxzzcktftvooluslpxdzmibmisxo\n", - "-2609.4119125665093 vymm bkxylcobpqzypxuxvysrcexhiispykukdzovpxuxkkglhuqhwstvjxubluqvheuxvokpgysisxzlcktttvoaluszpxdlmibaisxa\n", - "-2634.4900674622336 vrmm brxylvobpxzypquxvfsrcxxhipspydukdgovpquxkrglhnqhwztvjqublbqvhxuxvvkpgrsisezlcdtttcoalnszpedlmbbaizxa\n", - "-2583.0107852314545 vxmm blxylbobprzypwuxvzsrcdxhijspyjukdaovpwuxklglhtqhwttvjwublvqvhduxvpkpgxsisyzlcjtttwoaltszpydlmhbaitxa\n", - "-2600.8433106298567 vomm buxylsobpazypnuxvisrcuxhisspyaukdjovpnuxkuglhkqhwctvjnubleqvhuuxvykpgosishzlcatttfoalkszphdlmybaicxa\n", - "-2595.5100689314813 vcmm bgxylgobpmzypbuxvusrcixhiespyoukdvovpbuxkgglhyqhwotvjbublqqvhiuxvkkpgcsistzlcotttroalyszptdlmmbaioxa\n", - "-2580.5605973510887 vcmx bgxnlgompmznpbuivusgcixsieseyouvdvokpbuikggahyqswotkjbumlqqkhiuivkkegcststzacotetroplyskptdammblioxp\n", - "-2539.70476624822 vvmx bnxnlzomptznpuuivbsgcbxsilseyhuvdcokpuuikngahrqswvtkjuumlxqkhbuivrkegvstsazachtetyoplrskpadamfblivxp\n", - "-2599.562380781549 mvmx knxnczomytznguuiebsgtbxsrlsephuvmcokguuitngayrqsfvtkauumuxqkybuierkexvstbazathtecyopcrskyadadfblrvxp\n", - "-2641.7818823212233 mvmu knxqczojytzqguufebsjtbxprlshphusmconguuftngdyrqpfvtnauujuxqnybuferkhxvsqbazdthtbcyoscrshyadddfbirvxs\n", - "-2469.3961026248594 mvmt knxrczoiytzrguueebsktbxorlsiphurmcooguuetngeyrqofvtoauuiuxqoybueerkixvspbazethtacyotcrsgyadedfbhrvxt\n", - "-2610.9262305123493 mvme knxgczotytzgguupebsztbxzrlsxphucmcodguuptngtyrqzfvtdauutuxqdybuperkxxvsabaztthtlcyoicrsryadtdfbsrvxi\n", - "-2615.0131395601184 avme wnxgqzotktzguuupqbszhbxzdlsxdhucycoduuupfngtmrqzrvtdouutgxqdmbupqrkxlvsanazthhtloyoiqrsrkadtrfbsdvxi\n", - "-2631.9465127850176 avmz wnxlqzooktzluuukqbsehbxudlscdhuxycoiuuukfngymrqurvtiouuogxqimbukqrkclvsvnazyhhtgoyonqrsmkadyrfbndvxn\n", - "-2610.635210473298 qvmz gnxlgzooutzlkuukabsexbxunlscthuxicoikuukpngycrqubvtieuuoqxqicbukarkcbvsvxazyxhtgyyongrsmuadyhfbnnvxn\n", - "-2734.2818722561324 qdmz gfxlghooulzlkcukatsexjxundsctpuxiuoikcukpfgyczqubntiecuoqpqicjukajkcbdsvxszyxptgyqongzsmusdyhnbnnnxn\n", - "-2694.898353518443 qfmz gdxlgjooujzlkeukarsexlxunbsctruxisoikeukpdgycbqubltieeuoqnqiclukahkcbfsvxqzyxrtgyoongbsmuqdyhpbnnlxn\n", - "-2684.632822154124 qfmg gdxegjovujzekeurarsxxlxbnbsvtrueisobkeurpdgrcbqbbltbeeuvqnqbclurahkvbfscxqzrxrtnyooggbstuqdrhpbunlxg\n", - "-2723.7028195810312 hfmg pdxexjovdjzebeurjrsxolxbwbsvkruersobbeurydgrtbqbkltbveuvznqbtlurjhkvsfscgqzrortnhoogxbstdqdrypbuwlxg\n", - "-2714.7515523867173 efmg sdxeujovgjzeyeurmrsxllxbzbsvhrueusobyeurbdgrqbqbnltbseuvcnqbqlurmhkvpfscjqzrlrtnkoogubstgqdrvpbuzlxg\n", - "-2696.719860795334 efmx sdxnujomgjznyeuimrsgllxszbsehruvusokyeuibdgaqbqsnltkseumcnqkqluimhkepfstjqzalrtekoopubskgqdavpblzlxp\n", - "-2712.628365285264 efix sdbnujkmgjdnyeqimrwglltszbwehrqvusskyeqibdkaqbmsnlxkseqmcnukqlqimhoepfotjqdalrpekospubokgqhavpxlzlbp\n", - "-2703.960835232448 efox sdvnujqmgjxnyewimrqgllzszbqehrwvusmkyewibdeaqbssnlrksewmcnokqlwimhiepfutjqxalrvekompubukgqbavpdlzlvp\n", - "-2657.144723794344 efpx sdunujrmgjwnyeximrpgllaszbpehrxvuslkyexibddaqbtsnlqksexmcnnkqlximhhepfvtjqwalrwekolpubvkgqaavpelzlup\n", - "-2687.5707752186127 efkx sdznujmmgjbnyesimrugllvszbuehrsvusqkyesibdiaqbosnlvksesmcnskqlsimhmepfqtjqbalrrekoqpubqkgqfavpzlzlzp\n", - "-2678.7633472977413 afkx wdznqjmmkjbnuesiqrughlvsdbuedrsvysqkuesifdiambosrlvkoesmgnskmlsiqhmelfqtnqbahrreooqpqbqkkqfarpzldlzp\n", - "-2660.709874395867 afvx wdonqjxmkjqnuediqrjghlgsdbjedrdvysfkuedifdxambzsrlkkoedmgnhkmldiqhbelfbtnqqahrceoofpqbbkkquarpkldlop\n", - "-2596.7653508147696 vfvx bdonljxmpjqnpedivrjgclgsibjeyrdvdsfkpedikdxahbzswlkkjedmlnhkhldivhbegfbtsqqacrcetofplbbkpquampklilop\n", - "-2661.2375904964924 vfqx bdtnljsmpjvnpeyivrogclbsiboeyryvdskkpeyikdcahbuswlpkjeymlnmkhlyivhgegfwtsqvacrxetokplbwkpqzampfliltp\n", - "-2774.557679146722 ffqx rdtnvjsmfjvnzeyilrogmlbsyboeiryvtskkzeyiadcarbusmlpkteymbnmkrlyilhgeqfwtiqvamrxejokpvbwkfqzawpflyltp\n", - "-2737.9150788164634 cfqx udtnsjsmijvnweyiorogjlbsbboefryvwskkweyiddcaobusplpkqeymenmkolyiohgenfwtlqvajrxemokpsbwkiqzatpflbltp\n", - "-2678.219235543046 cpqx uttnstsmizvnwoyiohogjvbsbroefbyvwikkwoyidtcaoluspbpkqoymedmkovyioxgenpwtlgvajbxemekpslwkigzatzflbbtp\n", - "-2708.3049291263333 cpqa uttkstspizvkwoylohodjvbvbrobfbyywikhwoyldtcxoluvpbphqoypedmhovyloxgbnpwwlgvxjbxhmekmslwnigzxtzfobbtm\n", - "-2695.571964387459 apqa wttkqtspkzvkuoylqhodhvbvdrobdbyyyikhuoylftcxmluvrbphooypgdmhmvylqxgblpwwngvxhbxhoekmqlwnkgzxrzfodbtm\n", - "-2670.9348605740147 apca wthkqtepkzjkuoklqhcdhvnvdrcbdbkyyiyhuoklftqxmlgvrbdhookpgdahmvklqxublpiwngjxhbjhoeymqlinkgnxrzrodbhm\n", - "-2662.0016959818786 aeca wehkqiepkkjkudklqscdhknvdccbdqkyytyhudklfeqxmagvrmdhodkpgoahmkklqiubleiwnrjxhqjhopymqainkrnxrorodmhm\n", - "-2478.70846002024 keca mehkaiepakjkedklgscdrknvtccbnqkyotyhedklveqxwagvhmdhydkpwoahwkklgiubveiwdrjxrqjhepymaainarnxborotmhm\n", - "-2509.867158143556 kech mehdaiewakjdedksgscwrknctccunqkfotyaedksveqqwagchmdaydkwwoaawkksgiuuveiddrjqrqjoepyfaaiuarnqborvtmhf\n", - "-2500.6258644811173 kedh megdaifwakidedlsgsbwrkoctcbunqlfotxaedlsvepqwahchmcaydlwwozawklsgituvejddriqrqkoepxfaajuarmqbosvtmgf\n", - "-2470.0320222752807 kevh meodaixwakqdeddsgsjwrkgctcjunqdfotfaeddsvexqwazchmkayddwwohawkdsgibuvebddrqqrqcoepffaabuaruqbokvtmof\n", - "-2467.7482336680046 keeh mefdaigwakhdedmsgsawrkpctcaunqmfotwaedmsveoqwaichmbaydmwwoyawkmsgisuvekddrhqrqloepwfaakuarlqbotvtmff\n", - "-2467.7482336680046 keeh mefdaigwakhdedmsgsawrkpctcaunqmfotwaedmsveoqwaichmbaydmwwoyawkmsgisuvekddrhqrqloepwfaakuarlqbotvtmff\n", - "-2442.8170351286135 keeq mefuaigfakhuedmbgsanrkpltcalnqmootwredmbveohwailhmbrydmfwoyrwkmbgislvekmdrhhrqlxepwwaakdarlhbotetmfw\n", - "-2419.45919164199 keei mefcaigxakhcedmtgsavrkpdtcatnqmgotwzedmtveopwaidhmbzydmxwoyzwkmtgistvekedrhprqlpepweaakvarlpbotwtmfe\n", - "-2396.7117261620065 kesi mercaiuxaktcedatgsmvrkddtcmtnqagotizedatveapwawdhmnzydaxwokzwkatgietveyedrtprqzpepieaayvarxpbohwtmre\n", - "-2396.7117261620065 kesi mercaiuxaktcedatgsmvrkddtcmtnqagotizedatveapwawdhmnzydaxwokzwkatgietveyedrtprqzpepieaayvarxpbohwtmre\n", - "-2456.186513164974 keoi mevcaiqxakxcedwtgsqvrkzdtcqtnqwgotmzedwtveepwasdhmrzydwxwoozwkwtgiitveuedrxprqvpepmeaauvarbpbodwtmve\n", - "-2651.398686997396 yeoi yevcoiqxmkxcsdwtssqvfkzdfcqtbqwgatmzsdwtheepkasdtmrzmdwxioozkkwtsiitjeueprxpfqvpqpmeoauvmrbppodwfmve\n", - "-2624.624238812546 yehi yeccoijxmkecsdptssxvfksdfcxtbqpgattzsdpthelpkaldtmyzmdpxiovzkkptsiptjeneprepfqopqpteoanvmrippowwfmce\n", - "-2625.4382656806383 cehi ueccsijxikecwdptosxvjksdbcxtfqpgwttzwdptdelpoaldpmyzqdpxeovzokptoiptnenelrepjqopmptesanviriptowwbmce\n", - "-2684.965406652605 cehv uecpsijkikepwdpgosxijksqbcxgfqptwttmwdpgdelcoalqpmymqdpkeovmokpgoipgnenrlrecjqocmptrsaniirictowjbmcr\n", - "-2671.2476808046613 cehd uechsijsikehwdpoosxajksybcxyfqpbwttewdpodeluoalypmyeqdpseoveokpooipynenzlreujqokmptjsanqiriutowrbmcj\n", - "-2688.101609399946 cehw uecosijlikeowdphosxhjksrbcxffqpuwttlwdphdelboalrpmylqdpleovlokphoipfnenslrebjqodmptqsanjiribtowkbmcq\n", - "-2739.060131208427 cghw uccoskjliieowfphoqxhjmsrbaxffspuwrtlwfphdclboclrpkylqfplemvlomphogpfngnslpebjsodmntqscnjipibtqwkbkcq\n", - "-2728.453797472936 cwhw umcosajliseowvphoaxhjcsrbkxffipuwbtlwvphdmlboslrpuylqvplewvlocphoqpfnwnslzebjiodmxtqssnjizibtgwkbucq\n", - "-2565.385652638714 cwlw umyosanlisaowvthoathjcwrbktffituwbplwvthdmhbosprpuulqvtlewrlocthoqlfnwrslzabjisdmxpqssrjizebtgakbuyq\n", - "-2507.8407636776155 cwlp umyvsaneisavwvtaoatojcwkbktmfitnwbpswvtadmhiospkpuusqvteewrsoctaoqlmnwrllzaijiswmxpxssrcizeitgadbuyx\n", - "-2544.483364007873 fwlp rmyvvanefsavzvtalatomcwkyktmiitntbpszvtaamhirspkmuustvtebwrsrctalqlmqwrlizaimiswjxpxvsrcfzeiwgadyuyx\n", - "-2727.0849825898313 fwmp rmxvvaoefszvzvualasomcxkyksmiiuntboszvuaamgirsqkmutstvuebwqsrcualqkmqwslizzimitwjxoxvsscfzdiwgbdyuxx\n", - "-2734.3259570269447 fwop rmvvvaqefsxvzvwalaqomczkykqmiiwntbmszvwaameirsskmurstvwebwosrcwalqimqwulizximivwjxmxvsucfzbiwgddyuvx\n", - "-2778.4846699503423 fwob rmvjvaqqfsxjzvwmlaqcmczwykqaiiwztbmgzvwmamewrsswmurgtvwqbwogrcwmlqiaqwuxizxwmivijxmlvsuofzbwwgdpyuvl\n", - "-2771.2436955132284 fwmb rmxjvaoqfszjzvumlascmcxwyksaiiuztbogzvumamgwrsqwmutgtvuqbwqgrcumlqkaqwsxizzwmitijxolvssofzdwwgbpyuxl\n", - "-2829.100782684971 fwgb rmdjvaiqfsfjzvomlaycmcrwykyaiioztbugzvomammwrskwmuzgtvoqbwwgrcomlqqaqwmxizfwminijxulvsmofzjwwgvpyudl\n", - "-2837.5419874005715 flgb rxdjvpiqfdfjzkomllycmrrwyvyaixoztmugzkomaxmwrhkwmfzgtkoqbhwgrromlbqaqlmxikfwmxnijiulvhmofkjwwvvpyfdl\n", - "-2789.410616003832 slgb exdjipiqsdfjmkomylyczrrwlvyavxozgmugmkomnxmwehkwzfzggkoqohwgeromybqadlmxvkfwzxniwiulihmoskjwjvvplfdl\n", - "-2740.6172232152417 segb eedjiiiqskfjmdomysyczkrwlcyavqozgtugmdomnemweakwzmzggdoqoowgekomyiqademxvrfwzqniwpuliamosrjwjovplmdl\n", - "-2769.501705390072 negb jedjdiiqxkfjhdomdsycukrwqcyaqqozltughdomsemwzakwemzgbdoqtowgzkomdiqayemxarfwuqnibpuldamoxrjweovpqmdl\n", - "-2835.4641567114736 nzgb jjdjddiqxpfjhyomdxycufrwqhyaqlozlyughyomsjmwzvkwerzgbyoqttwgzfomdnqayzmxawfwulnibuuldvmoxwjwejvpqrdl\n", - "-2854.711045933384 fzgb rjdjvdiqfpfjzyomlxycmfrwyhyailoztyugzyomajmwrvkwmrzgtyoqbtwgrfomlnqaqzmxiwfwmlnijuulvvmofwjwwjvpyrdl\n", - "-2797.6817592041166 fpgb rtdjvtiqfzfjzoomlhycmvrwyryaiboztiugzoomatmwrlkwmbzgtooqbdwgrvomlxqaqpmxigfwmbnijeulvlmofgjwwzvpybdl\n", - "-2825.540377241106 fhgb rbdjvliqfhfjzgomlpycmnrwyzyaitoztqugzgomabmwrdkwmjzgtgoqblwgrnomlfqaqhmxiofwmtnijmulvdmofojwwrvpyjdl\n", - "-2825.540377241106 fhgb rbdjvliqfhfjzgomlpycmnrwyzyaitoztqugzgomabmwrdkwmjzgtgoqblwgrnomlfqaqhmxiofwmtnijmulvdmofojwwrvpyjdl\n", - "-2763.9832325572165 fhbb rbijvldqfhkjzgjmlpdcmnmwyzdaitjztqzgzgjmabrwrdfwmjegtgjqblbgrnjmlfvaqhhxiokwmtiijmzlvdhofoowwrqpyjil\n", - "-2738.0639083622355 fhbq rbiuvldffhkuzgjblpdnmnmlyzdlitjotqzrzgjbabrhrdflmjertgjfblbrrnjblfvlqhhmiokhmtixjmzwvdhdfoohwrqeyjiw\n", - "-2693.6117592246064 fhyq rbluvlaffhnuzggblpgnmnjlyzglitgotqcrzggbabuhrdclmjhrtggfblerrngblfylqhemionhmtfxjmcwvdedforhwrneyjlw\n", - "-2686.7348902622202 fsyq rqluvwaffwnuzrgblegnmyjlyogliegotfcrzrgbaquhroclmyhrtrgfbaerrygbluylqsemidnhmefxjbcwvoedfdrhwcneyylw\n", - "-2676.058879780523 fswq rqnuvwyffwpuzrebleinmyhlyoilieeotferzrebaqwhroalmyjrtrefbagrryeblualqscmidphmedxjbewvocdfdthwcleyynw\n", - "-2638.602252582172 yswq yqnuowyfmwpusrebseinfyhlfoilbeeoafersrebhqwhkoaltyjrmrefiagrkyebsualjscmpdphfedxqbewoocdmdthpclefynw\n", - "-2687.559508968232 yszq yqkuowbfmwmusrhbsefnfyklfoflbehoafbrsrhbhqthkodltygrmrhfiadrkyhbsuxljsfmpdmhfegxqbbwoofdmdqhpcoefykw\n" + "wmp dfl -4.418196113825667 -6.441296878417733\n", + "mpm tii -3.393196576206839 -5.683999866694839\n", + "pmm wfi -4.4470418602740445 -6.643642546739942\n", + "mmx tft -3.7622657137808746 -5.971084310281549\n", + "mxx tqt -5.15333756439006 -9.446952781050463\n", + "xxa eqw -5.58291509972592 -8.52281250477255\n", + "xae eta -3.0722171694945564 -4.389989178813335\n", + "aey hxu -5.621991279942018 -9.342586464997218\n", + "eyh lrd -3.9771459790186943 -6.060762551883337\n", + "yhb fax -5.699171733089354 -6.327788763433489\n", + "hbr oun -3.786042360072596 -4.563299298176571\n", + "bry iku -4.752608913603726 -7.338736047897285\n", + "ryo yrk -4.928643346805835 -6.2564610331676995\n", + "yoc fhy -4.484598825548913 -7.254528063451698\n", + "oca vvw -5.57314057757394 -9.741920214925333\n" ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2673.5601279921616 ysfq yqeuowhfmwgusrnbseznfyqlfozlbenoafvrsrnbhqnhkojltyarmrnfiaxrkynbsurljslmpdghfemxqbvwooldmdkhpcuefyew\n", - "-2679.399885236565 hsfq pqeuxwhfdwgubrnbjeznoyqlwozlkenorfvrbrnbyqnhtojlkyarvrnfzaxrtynbjurlsslmgdghoemxhbvwxoldddkhycuewyew\n", - "-2719.4758091746507 hsfl pqezxwhadwgzbrnwjezsoyqgwozqkenjrfvwbrnwyqnmtojgkyawvrnazaxwtynwjurqsslhgdgmoemshbvbxolyddkmycuzwyeb\n", - "-2698.494060100048 hpfl ptezxthadzgzbonwjhzsovqgwrzqkbnjrivwbonwytnmtljgkbawvonazdxwtvnwjxrqsplhgggmobmshevbxllydgkmyzuzwbeb\n", - "-2630.682796077782 gpfl qtezwthaezgzaonwkhzsnvqgxrzqjbnjsivwaonwztnmsljglbawuonaadxwsvnwkxrqrplhhggmnbmsievbwllyegkmxzuzxbeb\n", - "-2616.790841403765 vpfl btezlthapzgzponwvhzscvqgirzqybnjdivwponwktnmhljgwbawjonaldxwhvnwvxrqgplhsggmcbmstevblllypgkmmzuzibeb\n", - "-2605.65461091098 vpfn btexlthcpzgxponyvhzqcvqiirzoybnldivuponyktnkhljiwbaujoncldxuhvnyvxrogpljsggkcbmutevzlllapgkkmzubibez\n", - "-2486.305898530439 kpfn mtexathcazgxeonyghzqrvqitrzonbnloivueonyvtnkwljihbauyoncwdxuwvnygxrovpljdggkrbmueevzallaagkkbzubtbez\n", - "-2421.053011917927 kpfx mtenathmazgneonighzgrvqstrzenbnvoivkeonivtnawljshbakyonmwdxkwvnigxrevpltdggarbmeeevpallkagkabzultbep\n", - "-2482.297403624531 kpfh mtedathwazgdeonsghzwrvqctrzunbnfoivaeonsvtnqwljchbaayonwwdxawvnsgxruvplddggqrbmoeevfalluagkqbzuvtbef\n", - "-2439.0847035093093 kpfg mteeathvazgeeonrghzxrvqbtrzvnbneoivbeonrvtnrwljbhbabyonvwdxbwvnrgxrvvplcdggrrbmneevgalltagkrbzuutbeg\n", - "-2653.800294922084 ppfg hteefthvvzgejonrbhzxwvqborzvsbnejivbjonrqtnrbljbcbabdonvrdxbbvnrbxrvaplcyggrwbmnzevgflltvgkrgzuuobeg\n", - "-2653.800294922084 ppfg hteefthvvzgejonrbhzxwvqborzvsbnejivbjonrqtnrbljbcbabdonvrdxbbvnrbxrvaplcyggrwbmnzevgflltvgkrgzuuobeg\n", - "-2612.9089183302776 bpfg vteerthvjzgevonrphzxivqbcrzvebnexivbvonretnrnljbqbabponvfdxbnvnrpxrvmplcmggribmnnevgrlltjgkrszuucbeg\n", - "-2656.1216184454993 bpfh vtedrthwjzgdvonsphzwivqccrzuebnfxivavonsetnqnljcqbaaponwfdxanvnspxrumpldmggqibmonevfrllujgkqszuvcbef\n", - "-2665.590639586167 apfh wtedqthwkzgduonsqhzwhvqcdrzudbnfyivauonsftnqmljcrbaaoonwgdxamvnsqxrulpldnggqhbmooevfqllukgkqrzuvdbef\n", - "-2641.308774657875 apyh wtldqtawkznduogsqhgwhvjcdrgudbgfyicauogsftuqmlccrbhaoogwgdeamvgsqxyulpedngnqhbfooecfqleukgrqrznvdblf\n", - "-2598.810837721667 dpyh ttldttawhzndxogsnhgwkvjcargugbgfvicaxogsctuqplccobharogwddeapvgsnxyuopedkgnqkbfolecftleuhgrquznvablf\n", - "-2630.229861202522 dwyh tmldtaawhsndxvgsnagwkcjcakgugigfvbcaxvgscmuqpsccouharvgwdweapcgsnqyuowedkznqkifolxcftseuhzrqugnvaulf\n", - "-2598.2212864069693 dwyf tmlftaauhsnfxvgqnagykcjaakgwgigdvbccxvgqcmuspscaouhcrvgudwecpcgqnqywowebkznskifmlxchtseshzrsugntaulh\n", - "-2590.6666544360983 gwyf qmlfwaauesnfavgqkagyncjaxkgwjigdsbccavgqzmussscaluhcuvguawecscgqkqywrwebhznsnifmixchwsesezrsxgntxulh\n", - "-2604.700383779591 rwyf fmlfhaautsnflvgqzagyycjamkgwuigdhbcclvgqomusdscaauhcfvgupwecdcgqzqywcwebwznsyifmxxchhsestzrsigntmulh\n", - "-2642.981629683954 rwzf fmkfhabutsmflvhqzafyyckamkfwuihdhbbclvhqomtsdsdaaugcfvhupwdcdchqzqxwcwfbwzmsyigmxxbhhsfstzqsigotmukh\n", - "-2660.093564866481 rwof fmvfhaqutsxflvwqzaqyyczamkqwuiwdhbmclvwqomesdssaaurcfvwupwocdcwqzqiwcwubwzxsyivmxxmhhsustzbsigdtmuvh\n", - "-2727.753903396732 rdof ffvfhhqutlxflcwqztqyyjzamdqwupwdhumclcwqofesdzsaanrcfcwuppocdjwqzjiwcdubwsxsypvmxqmhhzustsbsindtmnvh\n", - "-2672.360722309843 rdyf fflfhhautlnflcgqztgyyjjamdgwupgdhucclcgqofusdzcaanhcfcguppecdjgqzjywcdebwsnsypfmxqchhzestsrsinntmnlh\n", - "-2564.3481957066024 reyf felfhiautknfldgqzsgyykjamcgwuqgdhtccldgqoeusdacaamhcfdgupoecdkgqziywceebwrnsyqfmxpchhaestrrsiontmmlh\n", - "-2594.26310937334 rsyf fqlfhwautwnflrgqzegyyyjamogwuegdhfcclrgqoqusdocaayhcfrgupaecdygqzuywcsebwdnsyefmxbchhoestdrsicntmylh\n", - "-2660.4106247841487 nsyf jqlfdwauxwnfhrgqdegyuyjaqogwqegdlfcchrgqsquszocaeyhcbrgutaeczygqduywysebadnsuefmbbchdoesxdrsecntqylh\n", - "-2643.014913675798 csyf uqlfswauiwnfwrgqoegyjyjabogwfegdwfccwrgqdqusoocapyhcqrgueaecoygqouywnsebldnsjefmmbchsoesidrstcntbylh\n", - "-2671.633646577839 cshf uqcfswjuiwefwrpqoexyjysaboxwfepdwftcwrpqdqlsoolapyycqrpueavcoypqoupwnsnbldesjeommbthsonsidistcwtbych\n", - "-2684.6173312064616 cshu uqcqswjjiweqwrpfoexjjyspboxhfepswftnwrpfdqldoolppyynqrpjeavnoypfouphnsnqldedjeobmbtssonhididtcwibycs\n", - "-2670.6950526224873 cshz uqclswjoiwelwrpkoexejysuboxcfepxwftiwrpkdqlyoolupyyiqrpoeavioypkoupcnsnvldeyjeogmbtnsonmidiytcwnbycn\n", - "-2474.668851921977 kshz mqclawjoawelerpkgexerysutoxcnepxoftierpkvqlywoluhyyiyrpowaviwypkgupcvsnvddeyreogebtnaonmadiybcwntycn\n", - "-2459.326978646866 kshi mqccawjxawecerptgexvrysdtoxtnepgoftzerptvqlpwoldhyyzyrpxwavzwyptguptvsneddepreopebteaonvadipbcwwtyce\n", - "-2456.517154736139 kjhi mzccanjxafeceiptgnxvrpsdtxxtnvpgootzeiptvzlpwfldhhyzyipxwjvzwpptgdptvjnedmeprvopekteafnvamipbtwwthce\n", - "-2512.920749730667 kjti mzqcanvxafsceibtgnlvrpedtxltnvbgoohzeibtvzzpwfxdhhmzyibxwjjzwpbtgddtvjzedmsprvapekheafzvamwpbtiwthqe\n", - "-2558.730164854688 kjtd mzqhanvsafsheibognlarpeytxlynvbbooheeibovzzuwfxyhhmeyibswjjewpbogddyvjzzdmsurvakekhjafzqamwubtirthqj\n", - "-2691.9708319092492 gjtd qzqhwnvsefshaiboknlanpeyxxlyjvbbsoheaibozzzusfxylhmeuibsajjespbokddyrjzzhmsunvakikhjwfzqemwuxtirxhqj\n", - "-2633.2060671046356 gjtx qzqnwnvmefsnaibiknlgnpesxxlejvbvsohkaibizzzasfxslhmkuibmajjkspbikdderjzthmsanvaeikhpwfzkemwaxtilxhqp\n", - "-2645.2245169069256 gytx qkqnwcvmeqsnaxbikylgneesxilejkbvszhkaxbizkzasuxslsmkuxbmaujksebikoderyzthxsankaeivhpwuzkexwaxiilxsqp\n", - "-2631.3226732718967 gctx qgqnwgvmemsnabbikulgniesxelejobvsvhkabbizgzasyxslomkubbmaqjksibikkderczthtsanoaeirhpwyzketwaxmilxoqp\n", - "-2659.5242791577034 uctx cgqnkgvmqmsnobbiwulgbiesjelexobvevhkobbilgzagyxsxomkibbmmqjkgibiwkdefcztttsaboaeurhpkyzkqtwalmiljoqp\n", - "-2498.082006217338 kctx mgqnagvmamsnebbigulgriestelenobvovhkebbivgzawyxshomkybbmwqjkwibigkdevcztdtsaroaeerhpayzkatwabmiltoqp\n", - "-2530.4055395472815 katx miqnaevmaosnezbigwlgrgestglenmbvoxhkezbivizawwxshqmkyzbmwsjkwgbigmdevaztdvsarmaeethpawzkavwabkiltqqp\n", - "-2474.0019445527555 kahx micnaejmaoenezpigwxgrgsstgxenmpvoxtkezpivilawwlshqykyzpmwsvkwgpigmpevantdvearmoeettpawnkaviabkwltqcp\n", - "-2469.665076579008 kafx mienaehmaogneznigwzgrgqstgzenmnvoxvkeznivinawwjshqakyznmwsxkwgnigmrevaltdvgarmmeetvpawlkavkabkultqep\n", - "-2531.897593941203 kafb miejaehqaogjeznmgwzcrgqwtgzanmnzoxvgeznmvinwwwjwhqagyznqwsxgwgnmgmravalxdvgwrmmietvlawloavkwbkuptqel\n", - "-2482.620426259597 kafi miecaehxaogcezntgwzvrgqdtgztnmngoxvzezntvinpwwjdhqazyznxwsxzwgntgmrtvaledvgprmmpetveawlvavkpbkuwtqee\n", - "-2482.620426259597 kafi miecaehxaogcezntgwzvrgqdtgztnmngoxvzezntvinpwwjdhqazyznxwsxzwgntgmrtvaledvgprmmpetveawlvavkpbkuwtqee\n", - "-2434.0083615985154 kpfi mtecathxazgceontghzvrvqdtrztnbngoivzeontvtnpwljdhbazyonxwdxzwvntgxrtvpledggprbmpeeveallvagkpbzuwtbee\n", - "-2476.0337188148587 kgfi mcecakhxaigcefntgqzvrmqdtaztnsngorvzefntvcnpwcjdhkazyfnxwmxzwmntggrtvgledpgprsmpenveaclvapkpbquwtkee\n", - "-2524.322760840874 kgfh mcedakhwaigdefnsgqzwrmqctazunsnforvaefnsvcnqwcjchkaayfnwwmxawmnsggruvglddpgqrsmoenvfacluapkqbquvtkef\n", - "-2541.9932468979464 kffh mdedajhwajgdeensgrzwrlqctbzunrnfosvaeensvdnqwbjchlaayenwwnxawlnsghruvflddqgqrrmoeovfabluaqkqbpuvtlef\n", - "-2541.9932468979464 kffh mdedajhwajgdeensgrzwrlqctbzunrnfosvaeensvdnqwbjchlaayenwwnxawlnsghruvflddqgqrrmoeovfabluaqkqbpuvtlef\n", - "-2572.6231022593224 kffc mdeiajhrajgieenngrzbrlqxtbzznrnaosvfeennvdnvwbjxhlafyenrwnxfwlnnghrzvflydqgvrrmjeovkablpaqkvbpuqtlek\n", - "-2751.744110476992 jffc ndeizjhrbjgidennhrzbqlqxubzzmrnapsvfdennwdnvvbjxilafxenrxnxfvlnnhhrzuflyeqgvqrmjfovkzblpbqkvapuqulek\n", - "-2728.6145016833575 jffr ndetzjhgbjgtdenchrzmqlqmubzkmrnppsvqdencwdngvbjmilaqxengxnxqvlnchhrkuflneqggqrmyfovvzblebqkgapufulev\n", - "-2722.102380771205 jffb ndejzjhqbjgjdenmhrzcqlqwubzamrnzpsvgdenmwdnwvbjwilagxenqxnxgvlnmhhrauflxeqgwqrmifovlzblobqkwapupulel\n", - "-2783.2424036958137 jfqb ndtjzjsqbjvjdeymhrocqlbwuboamryzpskgdeymwdcwvbuwilpgxeyqxnmgvlymhhgaufwxeqvwqrxifoklzbwobqzwapfpultl\n", - "-2753.736935388562 jyqb nktjzcsqbqvjdxymhyocqebwuioamkyzpzkgdxymwkcwvuuwispgxxyqxumgveymhogauywxexvwqkxifvklzuwobxzwaifpustl\n", - "-2714.61339583026 jeqb netjzisqbkvjddymhsocqkbwucoamqyzptkgddymwecwvauwimpgxdyqxomgvkymhigauewxervwqqxifpklzawobrzwaofpumtl\n", - "-2731.5185883131053 ceqb uetjsisqikvjwdymosocjkbwbcoafqyzwtkgwdymdecwoauwpmpgqdyqeomgokymoiganewxlrvwjqximpklsawoirzwtofpbmtl\n", - "-2731.5185883131053 ceqb uetjsisqikvjwdymosocjkbwbcoafqyzwtkgwdymdecwoauwpmpgqdyqeomgokymoiganewxlrvwjqximpklsawoirzwtofpbmtl\n", - "-2714.290047306627 cenb uewjsipqikyjwdvmosrcjkywbcrafqvzwtngwdvmdefwoarwpmsgqdvqeopgokvmoijanetxlrywjquimpnlsatoircwtocpbmwl\n", - "-2766.4257887875856 cunb uowjsypqiuyjwtvmocrcjaywbmrafgvzwdngwtvmdofwoqrwpwsgqtvqeypgoavmosjanutxlbywjguimznlsqtoibcwtecpbwwl\n", - "-2736.8542670431166 cbnb uhwjsfpqinyjwavmovrcjhywbfrafnvzwwngwavmdhfwoxrwppsgqavqerpgohvmoljanbtxluywjnuimsnlsxtoiucwtlcpbpwl\n", - "-2697.279653098735 cbhb uhcjsfjqinejwapmovxcjhswbfxafnpzwwtgwapmdhlwoxlwppygqapqervgohpmolpanbnxluewjnoimstlsxnoiuiwtlwpbpcl\n", - "-2648.0024854171284 cbhi uhccsfjxinecwaptovxvjhsdbfxtfnpgwwtzwaptdhlpoxldppyzqapxervzohptolptnbneluepjnopmstesxnviuiptlwwbpce\n", - "-2625.4382656806383 cehi ueccsijxikecwdptosxvjksdbcxtfqpgwttzwdptdelpoaldpmyzqdpxeovzokptoiptnenelrepjqopmptesanviriptowwbmce\n", - "-2638.1606779038857 cxhi ulccsbjxirecwwptozxvjdsdbjxtfjpgwatzwwptdllpotldptyzqwpxevvzodptopptnxnelyepjjopmwtestnviyipthwwbtce\n", - "-2598.865934520149 cxwi ulncsbyxirpcwwetozivjdhdbjitfjegwaezwwetdlwpotadptjzqwexevgzodetopatnxcelyppjjdpmweestcviytpthlwbtne\n", - "-2648.5450660748998 cxki ulzcsbmxirbcwwstozuvjdvdbjutfjsgwaqzwwstdlipotodptvzqwsxevszodstopmtnxqelybpjjrpmwqestqviyfpthzwbtze\n", - "-2620.188518672059 cvki unzcszmxitbcwustobuvjbvdblutfhsgwcqzwustdniporodpvvzqusxexszobstormtnvqelabpjhrpmyqesrqviafptfzwbvze\n", - "-2629.992427043511 cvri unscsztxitucwuztobnvjbcdblntfhzgwcjzwuztdnbporvdpvozquzxexlzobztorftnvxelaupjhypmyjesrxviayptfgwbvse\n", - "-2636.5785786858946 cvoi unvcszqxitxcwuwtobqvjbzdblqtfhwgwcmzwuwtdneporsdpvrzquwxexozobwtoritnvuelaxpjhvpmymesruviabptfdwbvve\n", - "-2619.7587048992523 mvoi knvcczqxytxcguwtebqvtbzdrlqtphwgmcmzguwttnepyrsdfvrzauwxuxozybwteritxvuebaxpthvpcymecruvyabpdfdwrvve\n", - "-2631.251319327433 tvoi dnvcjzqxrtxcnuwtxbqvabzdklqtwhwgfcmznuwtmnepfrsdyvrzhuwxnxozfbwtxritevueuaxpahvpvymejruvrabpkfdwkvve\n", - "-2641.6043090622065 hvoi pnvcxzqxdtxcbuwtjbqvobzdwlqtkhwgrcmzbuwtyneptrsdkvrzvuwxzxoztbwtjritsvuegaxpohvphymexruvdabpyfdwwvve\n", - "-2721.440138695826 hroi prvcxvqxdxxcbqwtjfqvoxzdwpqtkdwgrgmzbqwtyreptnsdkzrzvqwxzboztxwtjvitsruegexpodvphcmexnuvdebpybdwwzve\n", - "-2736.782011970936 hroz prvlxvqodxxlbqwkjfqeoxzuwpqckdwxrgmibqwkyreytnsukzrivqwozboitxwkjvicsruvgexyodvghcmnxnumdebyybdnwzvn\n", - "-2721.373710305499 hloz pxvlxpqoddxlbkwkjlqeorzuwvqckxwxrmmibkwkyxeythsukfrivkwozhoitrwkjbicsluvgkxyoxvghimnxhumdkbyyvdnwfvn\n", - "-2708.0259589301922 hlom pxvyxpqbddxybkwxjlqrorzhwvqpkxwkrmmvbkwxyxelthshkfrvvkwbzhovtrwxjbipsluigkxloxvthimaxhuzdkblyvdawfva\n", - "-2686.095036071034 jlom nxvyzpqbbdxydkwxhlqrqrzhuvqpmxwkpmmvdkwxwxelvhshifrvxkwbxhovvrwxhbipuluiekxlqxvtfimazhuzbkblavdaufva\n", - "-2747.534681595942 jlol nxvzzpqabdxzdkwwhlqsqrzguvqqmxwjpmmwdkwwwxemvhsgifrwxkwaxhowvrwwhbiquluhekxmqxvsfimbzhuybkbmavdzufvb\n", - "-2723.9629847306255 jcol ngvzzgqabmxzdbwwhuqsqizgueqqmowjpvmwdbwwwgemvysgiorwxbwaxqowviwwhkiqucuhetxmqovsfrmbzyuybtbmamdzuovb\n", - "-2683.887060792541 jcoq ngvuzgqfbmxudbwbhuqnqizlueqlmowopvmrdbwbwgehvysliorrxbwfxqorviwbhkilucumetxhqovxfrmwzyudbtbhamdeuovw\n", - "-2517.407589468635 jcot ngvrzgqibmxrdbwehuqkqizoueqimowrpvmodbwewgeevysoioroxbwixqooviwehkiiucupetxeqovafrmtzyugbtbeamdhuovt\n", - "-2514.75011328185 jbot nhvrzfqibnxrdawehvqkqhzoufqimnwrpwmodawewheevxsoiproxawixroovhwehliiubupeuxeqnvafsmtzxugbubealdhupvt\n", - "-2531.3094331036637 jyot nkvrzcqibqxrdxwehyqkqezouiqimkwrpzmodxwewkeevusoisroxxwixuoovewehoiiuyupexxeqkvafvmtzuugbxbeaidhusvt\n", - "-2540.979286333951 jlot nxvrzpqibdxrdkwehlqkqrzouvqimxwrpmmodkwewxeevhsoifroxkwixhoovrwehbiiulupekxeqxvafimtzhugbkbeavdhufvt\n", - "-2504.908305768608 jxot nlvrzbqibrxrdwwehzqkqdzoujqimjwrpamodwwewleevtsoitroxwwixvoovdwehpiiuxupeyxeqjvafwmtztugbybeahdhutvt\n", - "-2480.251976472485 jxat nljrzbcibrlrdwiehzekqdloujeimjirpaaodwiewlsevteoitfoxwiixvcovdiehpwiuxgpeyleqjhafwatztggbypeahphutjt\n", - "-2514.5528800636826 nxat jljrdbcixrlrhwiedzekudloqjeiqjirlaaohwieslsezteoetfobwiitvcozdiedpwiyxgpayleujhabwatdtggxypeehphqtjt\n", - "-2543.6210268532773 nxut jlprdbwixrrrhwcedzkkudfoqjkiqjcrlagohwceslyeztyoetlobwcitviozdcedpciyxapayreujbabwgtdtagxyveehjhqtpt\n", - "-2479.7344223568375 nxst jlrrdbuixrtrhwaedzmkuddoqjmiqjarlaiohwaeslaeztwoetnobwaitvkozdaedpeiyxypayteujzabwitdtygxyxeehhhqtrt\n", - "-2415.4757447861316 oxst ilrrebuiwrtriwaeczmkvddopjmirjarkaioiwaerlaeatwodtnocwaisvkoadaecpeizxypzytevjzaawitetygwyxefhhhptrt\n", - "-2610.894909555333 oxsn ilrxebucwrtxiwayczmqvddipjmorjalkaiuiwayrlakatwidtnucwacsvkuadaycpeozxyjzytkvjzuawizetyawyxkfhhbptrz\n", - "-2613.935668344214 omsn iwrxequcwctxilayckmqvsdipumoryalkliuilayrwakaiwidenuclacsgkuasaycaeozmyjzjtkvyzuahizeiyawjxkfwhbperz\n", - "-2584.121146486599 vmsn bwrxlqucpctxplayvkmqcsdiiumoyyaldliuplaykwakhiwiwenujlaclgkuhsayvaeogmyjsjtkcyzuthizliyapjxkmwhbierz\n", - "-2649.3098637400894 smsn ewrxiqucsctxmlayykmqzsdilumovyalgliumlaynwakeiwizenuglacogkuesayyaeodmyjvjtkzyzuwhiziiyasjxkjwhblerz\n", - "-2687.970461774522 smsy ewrmiqunsctmmlajykmfzsdtlumdvyawglijmlajnwazeiwtzenjglanogkjesajyaeddmyuvjtzzyzfwhioiiylsjxzjwhmlero\n", - "-2682.6393590543594 mmsy kwrmcqunyctmglajekmftsdtrumdpyawmlijglajtwazyiwtfenjalanugkjysajeaedxmyubjtztyzfchiociylyjxzdwhmrero\n", - "-2666.8761880422317 mesy kermciunyktmgdajesmftkdtrcmdpqawmtijgdajteazyawtfmnjadanuokjykajeiedxeyubrtztqzfcpiocaylyrxzdohmrmro\n", - "-2682.8820349607813 yesy yermoiunmktmsdajssmffkdtfcmdbqawatijsdajheazkawttmnjmdaniokjkkajsiedjeyuprtzfqzfqpiooaylmrxzpohmfmro\n", - "-2678.368802470412 tesy dermjiunrktmndajxsmfakdtkcmdwqawftijndajmeazfawtymnjhdannokjfkajxiedeeyuurtzaqzfvpiojaylrrxzkohmkmro\n", - "-2731.534082583862 tksy dyrmjounretmnjajxmmfaqdtkwmdwwawfnijnjajmyazfgwtygnjhjannikjfqajxcedekyuultzawzfvjiojgylrlxzkuhmkgro\n", - "-2669.0722745781827 xksy zyrmnounnetmrjajtmmfeqdtgwmdawawbnijrjajiyazjgwtugnjljanjikjjqajtcedikyuqltzewzfrjiongylnlxzouhmggro\n", - "-2624.6177486946144 xtsy zprmnxunnvtmrsajtdmfezdtgnmdafawbeijrsajipazjpwtuxnjlsanjzkjjzajttedityuqctzefzfraionpylncxzodhmgxro\n", - "-2624.6177486946144 xtsy zprmnxunnvtmrsajtdmfezdtgnmdafawbeijrsajipazjpwtuxnjlsanjzkjjzajttedityuqctzefzfraionpylncxzodhmgxro\n", - "-2624.6177486946144 xtsy zprmnxunnvtmrsajtdmfezdtgnmdafawbeijrsajipazjpwtuxnjlsanjzkjjzajttedityuqctzefzfraionpylncxzodhmgxro\n", - "-2680.918044992275 stsy eprmixunsvtmmsajydmfzzdtlnmdvfawgeijmsajnpazepwtzxnjgsanozkjezajyteddtyuvctzzfzfwaioipylscxzjdhmlxro\n", - "-2713.6183838103975 sthy epcmixjnsvemmspjydxfzzstlnxdvfpwgetjmspjnplzepltzxyjgspnozvjezpjytpddtnuvcezzfofwatoipnlscizjdwmlxco\n", - "-2657.2781771299346 sths epcsixjhsvesmspdydxlzzsnlnxjvfpqgetpmspdnplfeplnzxypgsphozvpezpdytpjdtnovcefzfozwatuipnfscifjdwglxcu\n", - "-2651.947074409772 mths kpcscxjhyvesgspdedxltzsnrnxjpfpqmetpgspdtplfyplnfxypasphuzvpyzpdetpjxtnobceftfozcatucpnfycifddwgrxcu\n", - "-2627.6021850002967 mvhs kncsczjhytesgupdebxltbsnrlxjphpqmctpgupdtnlfyrlnfvypauphuxvpybpderpjxvnobaefthozcytucrnfyaifdfwgrvcu\n", - "-2623.2653170265494 mvfs knesczhhytgsgundebzltbqnrlzjphnqmcvpgundtnnfyrjnfvapaunhuxxpybnderrjxvlobagfthmzcyvucrlfyakfdfugrveu\n", - "-2619.933100269435 mvvs knosczxhytqsguddebjltbgnrljjphdqmcfpguddtnxfyrznfvkpaudhuxhpybdderbjxvbobaqfthczcyfucrbfyaufdfkgrvou\n", - "-2572.3598223029508 mvvx knonczxmytqngudiebjgtbgsrljephdvmcfkguditnxayrzsfvkkaudmuxhkybdierbexvbtbaqathcecyfpcrbkyauadfklrvop\n", - "-2572.2745036067467 jvvx nnonzzxmbtqndudihbjgqbgsuljemhdvpcfkdudiwnxavrzsivkkxudmxxhkvbdihrbeuvbteaqaqhcefyfpzrbkbauaafkluvop\n", - "-2628.2608268593312 jwvx nmonzaxmbsqndvdihajgqcgsukjemidvpbfkdvdiwmxavszsiukkxvdmxwhkvcdihqbeuwbtezqaqicefxfpzsbkbzuaagkluuop\n", - "-2631.593043616446 jwfx nmenzahmbsgndvnihazgqcqsukzeminvpbvkdvniwmnavsjsiuakxvnmxwxkvcnihqreuwltezgaqimefxvpzslkbzkaaguluuep\n", - "-2643.17097674083 twfx dmenjahmrsgnnvnixazgacqskkzewinvfbvknvnimmnafsjsyuakhvnmnwxkfcnixqreewltuzgaaimevxvpjslkrzkakgulkuep\n", - "-2576.499988988135 zwfx xmenpahmlsgntvnirazggcqsekzecinvzbvktvnigmnalsjssuaknvnmhwxklcnirqrekwltozgagimepxvppslklzkaqguleuep\n", - "-2452.472035398782 kwfx mmenaahmasgnevnigazgrcqstkzeninvobvkevnivmnawsjshuakyvnmwwxkwcnigqrevwltdzgarimeexvpaslkazkabgultuep\n", - "-2466.4714163748513 kwzx mmknaabmasmnevhigafgrckstkfenihvobbkevhivmtawsdshugkyvhmwwdkwchigqxevwftdzmarigeexbpasfkazqabgoltukp\n", - "-2528.7039337370456 kwzb mmkjaabqasmjevhmgafcrckwtkfanihzobbgevhmvmtwwsdwhuggyvhqwwdgwchmgqxavwfxdzmwrigiexblasfoazqwbgoptukl\n", - "-2534.8748369703108 kwbb mmijaadqaskjevjmgadcrcmwtkdanijzobzgevjmvmrwwsfwhuegyvjqwwbgwcjmgqvavwhxdzkwriiiexzlashoazowbgqptuil\n", - "-2575.844575685583 kwqb mmtjaasqasvjevymgaocrcbwtkoaniyzobkgevymvmcwwsuwhupgyvyqwwmgwcymgqgavwwxdzvwrixiexklaswoazzwbgfptutl\n", - "-2529.4258089057357 kwkb mmzjaamqasbjevsmgaucrcvwtkuaniszobqgevsmvmiwwsowhuvgyvsqwwsgwcsmgqmavwqxdzbwririexqlasqoazfwbgzptuzl\n", - "-2545.8158689195707 kwob mmvjaaqqasxjevwmgaqcrczwtkqaniwzobmgevwmvmewwsswhurgyvwqwwogwcwmgqiavwuxdzxwriviexmlasuoazbwbgdptuvl\n", - "-2519.8965447245896 kwoq mmvuaaqfasxuevwbgaqnrczltkqlniwoobmrevwbvmehwsslhurryvwfwworwcwbgqilvwumdzxhrivxexmwasudazbhbgdetuvw\n", - "-2540.9732135148374 kqoq msvuauqfayxuepwbggqnrwzltqqlncwoohmrepwbvsehwmslharrypwfwcorwwwbgwilvqumdfxhrcvxedmwamudafbhbadetavw\n", - "-2351.1306204957696 kqlq msyuaunfayaueptbggtnrwwltqtlnctoohpreptbvshhwmplhauryptfwcrrwwtbgwllvqrmdfahrcsxedpwamrdafehbaaetayw\n", - "-2383.562065602901 kqlr msytaungayateptcggtmrwwmtqtknctpohpqeptcvshgwmpmhauqyptgwcrqwwtcgwlkvqrndfagrcsyedpvamreafegbaaftayv\n", - "-2383.562065602901 kqlr msytaungayateptcggtmrwwmtqtknctpohpqeptcvshgwmpmhauqyptgwcrqwwtcgwlkvqrndfagrcsyedpvamreafegbaaftayv\n", - "-2373.0917305481435 kglr mcytakngaiateftcgqtmrmwmtatknstporpqeftcvchgwcpmhkuqyftgwmrqwmtcgglkvgrndpagrssyenpvacreapegbqaftkyv\n", - "-2362.485396812655 kwlr mmytaangasatevtcgatmrcwmtktknitpobpqevtcvmhgwspmhuuqyvtgwwrqwctcgqlkvwrndzagrisyexpvasreazegbgaftuyv\n", - "-2305.1046082691123 kwle mmygaantasagevtpgatzrcwztktxnitcobpdevtpvmhtwspzhuudyvttwwrdwctpgqlxvwradzatrislexpiasrrazetbgastuyi\n", - "-2322.297649449339 kale miygaentaoageztpgwtzrgwztgtxnmtcoxpdeztpvihtwwpzhqudyzttwsrdwgtpgmlxvaradvatrmsletpiawrravetbkastqyi\n", - "-2295.3073578177696 kole muygasntaaagentpgitzruwztstxnatcojpdentpvuhtwkpzhcudynttwerdwutpgylxvoradhatraslefpiakrrahetbyastcyi\n", - "-2301.544202825245 khle mbygalntahagegtpgptzrnwztztxnttcoqpdegtpvbhtwdpzhjudygttwlrdwntpgflxvhradoatrtslempiadrraoetbrastjyi\n", - "-2496.7563766576613 yhle ybygolntmhagsgtpsptzfnwzfztxbttcaqpdsgtphbhtkdpztjudmgttilrdkntpsflxjhrapoatftslqmpiodrrmoetprasfjyi\n", - "-2512.1003355094936 yule yoygoyntmuagsttpsctzfawzfmtxbgtcadpdsttphohtkqpztwudmtttiyrdkatpsslxjurapbatfgslqzpioqrrmbetpeasfwyi\n", - "-2549.556962707844 fule roygvyntfuagzttplctzmawzymtxigtctdpdzttpaohtrqpzmwudttttbyrdratplslxquraibatmgsljzpivqrrfbetweasywyi\n", - "-2496.0091698947385 jule noygzyntbuagdttphctzqawzumtxmgtcpdpddttpwohtvqpziwudxtttxyrdvatphslxuuraebatqgslfzpizqrrbbetaeasuwyi\n", - "-2514.731013747226 jula noykzynpbuakdttlhctdqawvumtbmgtypdphdttlwohxvqpviwuhxttpxyrhvatlhslbuurwebaxqgshfzpmzqrnbbexaeaouwym\n", - "-2509.434220350531 bula voykrynpjuakvttlpctdiawvcmtbegtyxdphvttleohxnqpvqwuhpttpfyrhnatlpslbmurwmbaxigshnzpmrqrnjbexseaocwym\n", - "-2507.645749722944 bulz voylrynojualvttkpcteiawucmtcegtxxdpivttkeohynqpuqwuipttofyrinatkpslcmurvmbayigsgnzpnrqrmjbeyseancwyn\n", - "-2482.9847691401305 oulz ioyleynowualittkcctevawupmtcrgtxkdpiittkrohyaqpudwuicttosyriaatkcslczurvzbayvgsgazpneqrmwbeyfeanpwyn\n", - "-2443.5714398824202 oxlz ilylebnowraliwtkcztevdwupjtcrjtxkapiiwtkrlhyatpudtuicwtosvriadtkcplczxrvzyayvjsgawpnetrmwyeyfhanptyn\n", - "-2480.527103539233 oxln ilyxebncwraxiwtycztqvdwipjtorjtlkapuiwtyrlhkatpidtuucwtcsvruadtycplozxrjzyakvjsuawpzetrawyekfhabptyz\n", - "-2455.391822890429 zxln xlyxpbnclraxtwtyrztqgdwiejtocjtlzaputwtyglhkltpistuunwtchvruldtyrplokxrjoyakgjsupwpzptralyekqhabetyz\n", - "-2451.3801648970625 ztln xpyxpxnclvaxtstyrdtqgzwientocftlzeputstygphklppisxuunstchzrulztyrtloktrjocakgfsupapzppralcekqdabexyz\n", - "-2624.1108227336085 ztzn xpkxpxbclvmxtshyrdfqgzkienfocfhlzebutshygptklpdisxgunshchzdulzhyrtxoktfjocmkgfgupabzppfalcqkqdobexkz\n", - "-2679.601762957756 zrzn xrkxpvbclxmxtqhyrffqgxkiepfocdhlzgbutqhygrtklndiszgunqhchbdulxhyrvxokrfjoemkgdgupcbzpnfaleqkqbobezkz\n", - "-2655.7522565767185 zwzn xmkxpabclsmxtvhyrafqgckiekfocihlzbbutvhygmtklsdisugunvhchwdulchyrqxokwfjozmkgigupxbzpsfalzqkqgobeukz\n", - "-2702.493338568922 zwtn xmqxpavclssxtvbyralqgceieklociblzbhutvbygmzklsxisumunvbchwjulcbyrqdokwzjozskgiaupxhzpszalzwkqgibeuqz\n", - "-2659.3969577462894 zwjn xmaxpalclscxtvryravqgcuiekvocirlzbrutvrygmjklsnisuwunvrchwtulcryrqnokwpjozckgiqupxrzpspalzgkqgybeuaz\n", - "-2662.8887094081238 zwjr xmatpalglscttvrcravmgcumekvkcirpzbrqtvrcgmjglsnmsuwqnvrghwtqlcrcrqnkkwpnozcggiqypxrvpspelzggqgyfeuav\n", - "-2641.9124105053675 zwvr xmotpaxglsqttvdcrajmgcgmekjkcidpzbfqtvdcgmxglszmsukqnvdghwhqlcdcrqbkkwbnozqggicypxfvpsbelzugqgkfeuov\n", - "-2601.464995186721 zwvz xmolpaxolsqltvdkrajegcguekjccidxzbfitvdkgmxylszusukinvdohwhilcdkrqbckwbvozqygicgpxfnpsbmlzuyqgkneuon\n", - "-2626.6002758355216 owvz imoleaxowsqlivdkcajevcgupkjcridxkbfiivdkrmxyaszudukicvdoswhiacdkcqbczwbvzzqyvicgaxfnesbmwzuyfgknpuon\n", - "-2626.6002758355216 owvz imoleaxowsqlivdkcajevcgupkjcridxkbfiivdkrmxyaszudukicvdoswhiacdkcqbczwbvzzqyvicgaxfnesbmwzuyfgknpuon\n", - "-2644.6537487373976 owkz imzleamowsblivskcauevcvupkucrisxkbqiivskrmiyasouduvicvsoswsiacskcqmczwqvzzbyvirgaxqnesqmwzfyfgznpuzn\n", - "-2654.7977554616177 owxz immleazowsolivfkcahevciupkhcrifxkbdiivfkrmvyasbuduiicvfoswfiacfkcqzczwdvzzoyviegaxdnesdmwzsyfgmnpumn\n", - "-2630.2087384007555 omxz iwmleqzowcolilfkckhevsiupuhcryfxkldiilfkrwvyaibudeiiclfosgfiasfkcazczmdvzjoyvyegahdneidmwjsyfwmnpemn\n", - "-2630.2087384007555 omxz iwmleqzowcolilfkckhevsiupuhcryfxkldiilfkrwvyaibudeiiclfosgfiasfkcazczmdvzjoyvyegahdneidmwjsyfwmnpemn\n", - "-2613.2753651758553 omxe iwmgeqztwcogilfpckhzvsizpuhxryfcklddilfprwvtaibzdeidclftsgfdasfpcazxzmdazjotvyelahdieidrwjstfwmspemi\n", - "-2597.512194163729 oexe iemgeiztwkogidfpcshzvkizpchxrqfcktddidfprevtaabzdmidcdftsofdakfpcizxzedazrotvqelapdieadrwrstfomspmmi\n", - "-2537.6890558847585 oewe iengeiytwkpgidepcsizvkhzpcixrqecktedideprewtaaazdmjdcdetsogdakepciaxzecazrptvqdlapeieacrwrttfolspmni\n", - "-2603.758247453343 oeoe ievgeiqtwkxgidwpcsqzvkzzpcqxrqwcktmdidwpreetaaszdmrdcdwtsoodakwpciixzeuazrxtvqvlapmieaurwrbtfodspmvi\n", - "-2569.314714537634 oeve ieogeixtwkqgiddpcsjzvkgzpcjxrqdcktfdiddprextaazzdmkdcddtsohdakdpcibxzebazrqtvqclapfieabrwrutfokspmoi\n", - "-2591.878934274122 obve ihogefxtwnqgiadpcvjzvhgzpfjxrndckwfdiadprhxtaxzzdpkdcadtsrhdahdpclbxzbbazuqtvnclasfiexbrwuutflksppoi\n", - "-2608.812307499022 obvz iholefxownqliadkcvjevhgupfjcrndxkwfiiadkrhxyaxzudpkicadosrhiahdkclbczbbvzuqyvncgasfnexbmwuuyflknppon\n", - "-2693.871953149361 obgz ihdlefiownfliaokcvyevhrupfycrnoxkwuiiaokrhmyaxkudpzicaoosrwiahokclqczbmvzufyvnngasunexmmwujyflvnppdn\n", - "-2636.669688772349 obrz ihsleftownuliazkcvnevhcupfncrnzxkwjiiazkrhbyaxvudpoicazosrliahzkclfczbxvzuuyvnygasjnexxmwuyyflgnppsn\n", - "-2680.067920357261 ozrz ijsledtowpuliyzkcxnevfcuphncrlzxkyjiiyzkrjbyavvudroicyzostliafzkcnfczzxvzwuyvlygaujnevxmwwyyfjgnprsn\n", - "-2678.307163489886 orrz irslevtowxuliqzkcfnevxcuppncrdzxkgjiiqzkrrbyanvudzoicqzosbliaxzkcvfczrxvzeuyvdygacjnenxmweyyfbgnpzsn\n", - "-2629.8686400479874 omrz iwsleqtowculilzkcknevscupuncryzxkljiilzkrwbyaivudeoiclzosgliaszkcafczmxvzjuyvyygahjneixmwjyyfwgnpesn\n", - "-2611.7984623942466 omaz iwjleqcowcllilikckeevslupuecryixklaiilikrwsyaieudeficliosgciasikcawczmgvzjlyvyhgahaneigmwjpyfwpnpejn\n", - "-2632.8270740112425 ohaz ibjlelcowhlligikcpeevnlupzecrtixkqaiigikrbsyadeudjficgioslcianikcfwczhgvzolyvthgamanedgmwopyfrpnpjjn\n", - "-2662.870166686956 mhaz kbjlclcoyhllggikepeetnlurzecptixmqaiggiktbsyydeufjfiagioulciynikefwcxhgvbolytthgcmancdgmyopydrpnrjjn\n", - "-2683.6236133110488 maaz kijlcecoyollgzikeweetglurgecpmixmxaigziktisyyweufqfiaziousciygikemwcxagvbvlytmhgctancwgmyvpydkpnrqjn\n", - "-2683.6236133110488 maaz kijlcecoyollgzikeweetglurgecpmixmxaigziktisyyweufqfiaziousciygikemwcxagvbvlytmhgctancwgmyvpydkpnrqjn\n", - "-2666.6902400861486 maae kijgcectyolggzipeweztglzrgexpmicmxadgziptistywezfqfdazituscdygipemwxxagabvlttmhlctaicwgryvptdkpsrqji\n", - "-2644.53045794417 mape kiugcertyowggzxpewpztgazrgpxpmxcmxldgzxptidtywtzfqqdazxtusndygxpemhxxavabvwttmwlctlicwvryvatdkesrqui\n", - "-2694.997755294195 mdpe kfugchrtylwggcxpetpztjazrdpxppxcmuldgcxptfdtyztzfnqdacxtupndyjxpejhxxdvabswttpwlcqliczvrysatdnesrnui\n", - "-2599.7076409142 mxpe klugcbrtyrwggwxpezpztdazrjpxpjxcmaldgwxptldtyttzftqdawxtuvndydxpephxxxvabywttjwlcwlictvryyatdhesrtui\n", - "-2700.405452380402 mnpe kvugcrrtybwggmxpejpzttazrtpxpzxcmkldgmxptvdtyjtzfdqdamxtufndytxpezhxxnvabiwttzwlcglicjvryiatdxesrdui\n", - "-2703.561432769407 lnpe lvugbrrtzbwgfmxpfjpzstazstpxozxcnkldfmxpuvdtxjtzgdqdzmxtvfndxtxpfzhxwnvaciwtszwldglibjvrziatcxessdui\n", - "-2685.123723661595 inpe ovugyrrtcbwgcmxpijpzptazvtpxlzxcqkldcmxpxvdtujtzjdqdwmxtyfndutxpizhxtnvafiwtpzwlggliyjvrciatzxesvdui\n", - "-2715.9793754704683 inpu ovuqyrrjcbwqcmxfijpjptapvtphlzxsqklncmxfxvddujtpjdqnwmxjyfnnutxfizhhtnvqfiwdpzwbgglsyjvhciadzxeivdus\n", - "-2586.925016601425 ivpu onuqyzrjctwqcuxfibpjpbapvlphlhxsqclncuxfxnddurtpjvqnwuxjyxnnubxfirhhtvvqfawdphwbgylsyrvhcaadzfeivvus\n", - "-2574.2663410365576 ivsu onrqyzujcttqcuafibmjpbdpvlmhlhasqcincuafxnadurwpjvnnwuajyxknubafirehtvyqfatdphzbgyisyryhcaxdzfhivvrs\n", - "-2550.1206439356815 ivsp onrvyzuecttvcuaaibmopbdkvlmmlhanqciscuaaxnaiurwkjvnswuaeyxksubaairemtvylfatiphzwgyixyryccaxizfhdvvrx\n", - "-2617.890520596235 iusp oorvyyuecutvctaaicmopadkvmmmlganqdisctaaxoaiuqwkjwnswtaeyyksuaaaisemtuylfbtipgzwgzixyqyccbxizehdvwrx\n", - "-2638.5033520352044 susp eorviyuesutvmtaaycmozadklmmmvgangdismtaanoaieqwkzwnsgtaeoykseaaaysemduylvbtizgzwwzixiqycsbxijehdlwrx\n", - "-2609.505796841479 wusp aorvmyueoutvqtaaucmodadkhmmmzgancdisqtaajoaiiqwkvwnsktaekyksiaaausemhuylrbtidgzwszixmqycobxinehdhwrx\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2661.739609407335 wump aoxvmyoeouzvqtuaucsodaxkhmsmzguncdosqtuajogiiqqkvwtsktuekyqsiauauskmhuslrbzidgtwszoxmqscobdinebdhwxx\n", - "-2685.3207431846945 jump noxvzyoebuzvdtuahcsoqaxkumsmmgunpdosdtuawogivqqkiwtsxtuexyqsvauahskmuuslebziqgtwfzoxzqscbbdiaebduwxx\n", - "-2642.1181662958725 jpmp ntxvztoebzzvdouahhsoqvxkursmmbunpiosdouawtgivlqkibtsxouexdqsvvuahxkmupslegziqbtwfeoxzlscbgdiazbdubxx\n", - "-2624.702811436861 jpap ntjvztcebzlvdoiahheoqvlkuremmbinpiasdoiawtsivlekibfsxoiexdcsvviahxwmupglegliqbhwfeaxzlgcbgpiazpdubjx\n", - "-2624.702811436861 jpap ntjvztcebzlvdoiahheoqvlkuremmbinpiasdoiawtsivlekibfsxoiexdcsvviahxwmupglegliqbhwfeaxzlgcbgpiazpdubjx\n", - "-2624.660698589445 jpag ntjeztcvbzledoirhhexqvlburevmbiepiabdoirwtsrvlebibfbxoivxdcbvvirhxwvupgceglrqbhnfeagzlgtbgprazpuubjg\n", - "-2640.751864204199 ypag ytjeotcvmzlesoirshexfvlbfrevbbieaiabsoirhtsrklebtbfbmoividcbkvirsxwvjpgcpglrfbhnqeagolgtmgprpzpufbjg\n", - "-2630.964660584613 ypvg ytoeotxvmzqesodrshjxfvgbfrjvbbdeaifbsodrhtxrklzbtbkbmodvidhbkvdrsxbvjpbcpgqrfbcnqefgolbtmgurpzkufbog\n", - "-2618.114794055068 lpvg ltoebtxvzzqefodrfhjxsvgbsrjvobdenifbfodrutxrxlzbgbkbzodvvdhbxvdrfxbvwpbccgqrsbcndefgblbtzgurczkusbog\n", - "-2576.5477857776227 dpvg ttoettxvhzqexodrnhjxkvgbarjvgbdevifbxodrctxrplzbobkbrodvddhbpvdrnxbvopbckgqrkbcnlefgtlbthguruzkuabog\n", - "-2576.5477857776227 dpvg ttoettxvhzqexodrnhjxkvgbarjvgbdevifbxodrctxrplzbobkbrodvddhbpvdrnxbvopbckgqrkbcnlefgtlbthguruzkuabog\n", - "-2586.813317141941 dpvz ttolttxohzqlxodknhjekvguarjcgbdxvifixodkctxyplzuobkirododdhipvdknxbcopbvkgqykbcglefntlbmhguyuzknabon\n", - "-2603.1018484730794 dcvz tgoltgxohmqlxbdknujekiguaejcgodxvvfixbdkcgxypyzuookirbdodqhipidknkbcocbvktqykocglrfntybmhtuyumknaoon\n", - "-2628.8386743582864 dgvz tcoltkxohiqlxfdknqjekmguaajcgsdxvrfixfdkccxypczuokkirfdodmhipmdkngbcogbvkpqykscglnfntcbmhpuyuqknakon\n", - "-2607.3920877133974 vgvz bcollkxopiqlpfdkvqjecmguiajcysdxdrfipfdkkcxyhczuwkkijfdolmhihmdkvgbcggbvspqycscgtnfnlcbmppuymqknikon\n", - "-2647.2272235816745 vgcz bchllkeopijlpfkkvqcecmnuiaccyskxdryipfkkkcqyhcguwkdijfkolmaihmkkvgucggivspjycsjgtnynlcimppnymqrnikhn\n", - "-2677.0417454392896 ogcz ichlekeowijlifkkcqcevmnupaccrskxkryiifkkrcqyacgudkdicfkosmaiamkkcguczgivzpjyvsjganynecimwpnyfqrnpkhn\n", - "-2634.7939778606897 otcz iphlexeowvjliskkcdcevznupnccrfkxkeyiiskkrpqyapgudxdicskoszaiazkkctucztivzcjyvfjgaaynepimwcnyfdrnpxhn\n", - "-2626.4260426479646 dtcz tphltxeohvjlxskkndcekznuanccgfkxveyixskkcpqyppguoxdirskodzaipzkkntucotivkcjykfjglayntpimhcnyudrnaxhn\n", - "-2640.3483212319384 dtcu tphqtxejhvjqxskfndcjkznpanchgfksveynxskfcpqdppgpoxdnrskjdzanpzkfntuhotiqkcjdkfjblaystpihhcndudriaxhs\n", - "-2609.492669423064 dtce tphgtxethvjgxskpndczkznzancxgfkcveydxskpcpqtppgzoxddrsktdzadpzkpntuxotiakcjtkfjllayitpirhcntudrsaxhi\n", - "-2639.9054547514847 dyce tkhgtcethqjgxxkpnyczkenzaicxgkkcvzydxxkpckqtpugzosddrxktduadpekpnouxoyiakxjtkkjllvyituirhxntuirsashi\n", - "-2613.5043274164295 dxce tlhgtbethrjgxwkpnzczkdnzajcxgjkcvaydxwkpclqtptgzotddrwktdvadpdkpnpuxoxiakyjtkjjllwyittirhyntuhrsathi\n", - "-2641.134103266173 dwce tmhgtaethsjgxvkpnaczkcnzakcxgikcvbydxvkpcmqtpsgzouddrvktdwadpckpnquxowiakzjtkijllxyitsirhzntugrsauhi\n", - "-2613.5043274164295 dxce tlhgtbethrjgxwkpnzczkdnzajcxgjkcvaydxwkpclqtptgzotddrwktdvadpdkpnpuxoxiakyjtkjjllwyittirhyntuhrsathi\n", - "-2602.1404776856293 dxcx tlhntbemhrjnxwkinzcgkdnsajcegjkvvaykxwkiclqaptgsotdkrwkmdvakpdkinpueoxitkyjakjjelwypttikhynauhrlathp\n", - "-2565.637558574467 dxfx tlentbhmhrgnxwninzzgkdqsajzegjnvvavkxwniclnaptjsotakrwnmdvxkpdninpreoxltkygakjmelwvpttlkhykauhulatep\n", - "-2565.637558574467 dxfx tlentbhmhrgnxwninzzgkdqsajzegjnvvavkxwniclnaptjsotakrwnmdvxkpdninpreoxltkygakjmelwvpttlkhykauhulatep\n", - "-2537.2740877300926 dxsx tlrntbumhrtnxwainzmgkddsajmegjavvaikxwaiclaaptwsotnkrwamdvkkpdainpeeoxytkytakjzelwipttykhyxauhhlatrp\n", - "-2575.599796922328 jxsx nlrnzbumbrtndwaihzmgqddsujmemjavpaikdwaiwlaavtwsitnkxwamxvkkvdaihpeeuxyteytaqjzefwipztykbyxaahhlutrp\n", - "-2651.9889140276273 jxsl nlrzzbuabrtzdwawhzmsqddgujmqmjajpaiwdwawwlamvtwgitnwxwaaxvkwvdawhpequxyheytmqjzsfwibztyybyxmahhzutrb\n", - "-2589.975009376349 jxsj nlrbzbuybrtbdwauhzmuqddeujmsmjahpaiydwauwlaovtweitnyxwayxvkyvdauhpesuxyfeytoqjzqfwidztywbyxoahhxutrd\n", - "-2667.47404399031 jxsc nlrizburbrtidwanhzmbqddxujmzmjaapaifdwanwlavvtwxitnfxwarxvkfvdanhpezuxyyeytvqjzjfwikztypbyxvahhqutrk\n", - "-2731.360648486753 jxuc nlpizbwrbrridwcnhzkbqdfxujkzmjcapagfdwcnwlyvvtyxitlfxwcrxvifvdcnhpczuxayeyrvqjbjfwgkztapbyvvahjqutpk\n", - "-2660.879639424695 jxwc nlnizbyrbrpidwenhzibqdhxujizmjeapaefdwenwlwvvtaxitjfxwerxvgfvdenhpazuxcyeypvqjdjfwekztcpbytvahlqutnk\n", - "-2634.258278969226 jxwn nlnxzbycbrpxdweyhziqqdhiujiomjelpaeudweywlwkvtaiitjuxwecxvguvdeyhpaouxcjeypkqjdufwezztcabytkahlbutnz\n", - "-2670.3292595345683 jlwn nxnxzpycbdpxdkeyhliqqrhiuviomxelpmeudkeywxwkvhaiifjuxkecxhguvreyhbaoulcjekpkqxdufiezzhcabktkavlbufnz\n", - "-2621.535866745978 jewn nenxziycbkpxddeyhsiqqkhiuciomqelpteuddeywewkvaaiimjuxdecxoguvkeyhiaouecjerpkqqdufpezzacabrtkaolbumnz\n", - "-2672.4943885544585 jgwn ncnxzkycbipxdfeyhqiqqmhiuaiomselpreudfeywcwkvcaiikjuxfecxmguvmeyhgaougcjeppkqsdufnezzccabptkaqlbuknz\n", - "-2480.907828956708 jiwn nanxzmycbgpxdheyhoiqqohiuyiomuelppeudheywawkveaiiijuxhecxkguvoeyheaouicjenpkquduflezzecabntkaslbuinz\n", - "-2427.018792074999 jiwe nangzmytbgpgdhephoizqohzuyixmuecppeddhepwawtveaziijdxhetxkgdvoepheaxuicaenptqudlfleizecrbnttaslsuini\n", - "-2522.71713045326 jite naqgzmvtbgsgdhbpholzqoezuylxmubcpphddhbpwaztvexziimdxhbtxkjdvobphedxuizaenstqualflhizezrbnwtasisuiqi\n", - "-2484.3914212610243 dite taqgtmvthgsgxhbpnolzkoezaylxgubcvphdxhbpcaztpexzoimdrhbtdkjdpobpnedxoizaknstkualllhitezrhnwtusisaiqi\n", - "-2476.836789290155 gite qaqgwmvtegsgahbpkolznoezxylxjubcsphdahbpzaztsexzlimduhbtakjdsobpkedxrizahnstnualilhiwezrenwtxsisxiqi\n", - "-2477.2363492464874 giqe qatgwmstegvgahypkooznobzxyoxjuycspkdahypzactseuzlipduhytakmdsoypkegxriwahnvtnuxlilkiwewrenztxsfsxiti\n", - "-2528.5331118259596 siqe eatgimstsgvgmhypyoozzobzlyoxvuycgpkdmhypnacteeuzzipdghytokmdeoypyegxdiwavnvtzuxlwlkiiewrsnztjsfsliti\n", - "-2582.4221487076716 siqn eatximscsgvxmhyyyooqzobilyoovuylgpkumhyynackeeuizipughycokmueoyyyegodiwjvnvkzuxuwlkziewasnzkjsfblitz\n", - "-2621.0827467421054 siqy eatmimsnsgvmmhyjyoofzobtlyodvuywgpkjmhyjnaczeeutzipjghynokmjeoyjyegddiwuvnvzzuxfwlkoiewlsnzzjsfmlito\n", - "-2531.5792529731234 sisy earmimunsgtmmhajyomfzodtlymdvuawgpijmhajnaazeewtzinjghanokkjeoajyeeddiyuvntzzuzfwlioieylsnxzjshmliro\n", - "-2584.8079866864778 sixy eammimznsgommhfjyohfzoitlyhdvufwgpdjmhfjnavzeebtziijghfnokfjeofjyezddiduvnozzuefwldoiedlsnszjsmmlimo\n", - "-2535.660858889206 siyy ealmimansgnmmhgjyogfzojtlygdvugwgpcjmhgjnauzeectzihjghgnokejeogjyeyddieuvnnzzuffwlcoieelsnrzjsnmlilo\n", - "-2706.2038103452132 ssyy eqlmiwanswnmmrgjyegfzyjtlogdvegwgfcjmrgjnquzeoctzyhjgrgnoaejeygjyuyddseuvdnzzeffwbcoioelsdrzjcnmlylo\n", - "-2736.381972123959 psyy hqlmfwanvwnmjrgjbegfwyjtoogdsegwjfcjjrgjqquzboctcyhjdrgnraejbygjbuydaseuydnzweffzbcofoelvdrzgcnmoylo\n", - "-2751.494180052041 psyo hqlwfwadvwnwjrgzbegpwyjjoognsegmjfctjrgzqqujbocjcyhtdrgdraetbygzbuynasekydnjwefvzbcyfoebvdrjgcncoyly\n", - "-2751.494180052041 psyo hqlwfwadvwnwjrgzbegpwyjjoognsegmjfctjrgzqqujbocjcyhtdrgdraetbygzbuynasekydnjwefvzbcyfoebvdrjgcncoyly\n", - "-2782.2310318428063 psao hqjwfwcdvwlwjrizbeepwyljooenseimjfatjrizqqsjboejcyftdridractbyizbuwnasgkydljwehvzbayfogbvdpjgcpcoyjy\n", - "-2533.039061111087 psat hqjrfwcivwlrjriebeekwyloooeiseirjfaojrieqqseboeocyfodriiracobyiebuwiasgpydlewehazbatfoggvdpegcphoyjt\n", - "-2554.082669252829 pgat hcjrfkcivilrjfiebqekwmlooaeissirjraojfieqcsebceockfodfiirmcobmiebgwiaggpyplewshaznatfcggvppegqphokjt\n", - "-2503.2916760351136 igat ocjrykcicilrcfieiqekpmlovaeilsirqraocfiexcseuceojkfowfiiymcoumieigwitggpfplepshagnatycggcppezqphvkjt\n", - "-2633.4579541918038 igax ocjnykcmcilncfiiiqegpmlsvaeelsivqrakcfiixcsaucesjkfkwfimymckumiiigwetggtfplapshegnapycgkcppazqplvkjp\n", - "-2641.002348305403 igzx ocknykbmcimncfhiiqfgpmksvafelshvqrbkcfhixctaucdsjkgkwfhmymdkumhiigxetgftfpmapsgegnbpycfkcpqazqolvkkp\n", - "-2623.670750572218 igvx oconykxmciqncfdiiqjgpmgsvajelsdvqrfkcfdixcxauczsjkkkwfdmymhkumdiigbetgbtfpqapscegnfpycbkcpuazqklvkop\n", - "-2585.434640986985 ixvx olonybxmcrqncwdiizjgpdgsvjjeljdvqafkcwdixlxautzsjtkkwwdmyvhkuddiipbetxbtfyqapjcegwfpytbkcyuazhklvtop\n", - "-2614.6704578980375 ixvf olofybxucrqfcwdqizjypdgavjjwljddqafccwdqxlxsutzajtkcwwduyvhcuddqipbwtxbbfyqspjcmgwfhytbscyuszhktvtoh\n", - "-2601.9480456747897 ievf oeofyixuckqfcddqisjypkgavcjwlqddqtfccddqxexsuazajmkcwdduyohcukdqiibwtebbfrqspqcmgpfhyabscruszoktvmoh\n", - "-2562.051401069082 zevf xeofpixulkqftddqrsjygkgaecjwcqddztfctddqgexslazasmkcndduhohclkdqribwkebborqsgqcmppfhpabslrusqoktemoh\n", - "-2628.7223888217777 tevf deofjixurkqfnddqxsjyakgakcjwwqddftfcnddqmexsfazaymkchddunohcfkdqxibweebburqsaqcmvpfhjabsrruskoktkmoh\n", - "-2587.1866817178843 oevf ieofeixuwkqfiddqcsjyvkgapcjwrqddktfciddqrexsaazadmkccddusohcakdqcibwzebbzrqsvqcmapfheabswrusfoktpmoh\n", - "-2628.7223888217777 tevf deofjixurkqfnddqxsjyakgakcjwwqddftfcnddqmexsfazaymkchddunohcfkdqxibweebburqsaqcmvpfhjabsrruskoktkmoh\n", - "-2587.1866817178843 oevf ieofeixuwkqfiddqcsjyvkgapcjwrqddktfciddqrexsaazadmkccddusohcakdqcibwzebbzrqsvqcmapfheabswrusfoktpmoh\n", - "-2566.237033546707 oeyf ielfeiauwknfidgqcsgyvkjapcgwrqgdktccidgqreusaacadmhccdgusoecakgqciywzeebzrnsvqfmapcheaeswrrsfontpmlh\n", - "-2634.866041412258 ofyf idlfejauwjnfiegqcrgyvljapbgwrrgdkscciegqrdusabcadlhccegusnecalgqchywzfebzqnsvrfmaochebeswqrsfpntpllh\n", - "-2659.5270219950717 bfyf vdlfrjaujjnfvegqprgyiljacbgwergdxsccvegqedusnbcaqlhcpegufnecnlgqphywmfebmqnsirfmnochrbesjqrsspntcllh\n", - "-2630.2912050840196 bfyx vdlnrjamjjnnvegiprggiljscbgeergvxsckvegieduanbcsqlhkpegmfneknlgiphyemfetmqnairfenocprbekjqraspnlcllp\n", - "-2643.24655476461 bfyi vdlcrjaxjjncvegtprgviljdcbgterggxsczvegtedupnbcdqlhzpegxfneznlgtphytmfeemqnpirfpnocerbevjqrpspnwclle\n", - "-2711.439901611032 bfni vdwcrjpxjjycvevtprrvilydcbrtervgxsnzvevtedfpnbrdqlszpevxfnpznlvtphjtmftemqypirupnonerbtvjqcpspcwclwe\n", - "-2537.615686790061 kfni mdwcajpxajyceevtgrrvrlydtbrtnrvgosnzeevtvdfpwbrdhlszyevxwnpzwlvtghjtvftedqyprrupeoneabtvaqcpbpcwtlwe\n", - "-2524.8155210305267 kfoi mdvcajqxajxceewtgrqvrlzdtbqtnrwgosmzeewtvdepwbsdhlrzyewxwnozwlwtghitvfuedqxprrvpeomeabuvaqbpbpdwtlve\n", - "-2508.425461016692 kfki mdzcajmxajbceestgruvrlvdtbutnrsgosqzeestvdipwbodhlvzyesxwnszwlstghmtvfqedqbprrrpeoqeabqvaqfpbpzwtlze\n", - "-2508.425461016692 kfki mdzcajmxajbceestgruvrlvdtbutnrsgosqzeestvdipwbodhlvzyesxwnszwlstghmtvfqedqbprrrpeoqeabqvaqfpbpzwtlze\n", - "-2513.5018029274843 kfkg mdzeajmvajbeeesrgruxrlvbtbuvnrseosqbeesrvdirwbobhlvbyesvwnsbwlsrghmvvfqcdqbrrrrneoqgabqtaqfrbpzutlzg\n", - "-2538.5593929941365 kfig mdbeajkvajdeeeqrgrwxrltbtbwvnrqeossbeeqrvdkrwbmbhlxbyeqvwnubwlqrghovvfocdqdrrrpneosgabotaqhrbpxutlbg\n", - "-2482.652797351832 kxig mlbeabkvardeewqrgzwxrdtbtjwvnjqeoasbewqrvlkrwtmbhtxbywqvwvubwdqrgpovvxocdydrrjpnewsgatotayhrbhxuttbg\n", - "-2482.652797351832 kxig mlbeabkvardeewqrgzwxrdtbtjwvnjqeoasbewqrvlkrwtmbhtxbywqvwvubwdqrgpovvxocdydrrjpnewsgatotayhrbhxuttbg\n", - "-2510.282573201575 kwig mmbeaakvasdeevqrgawxrctbtkwvniqeobsbevqrvmkrwsmbhuxbyvqvwwubwcqrgqovvwocdzdrripnexsgasotazhrbgxutubg\n", - "-2531.6437499147714 kwqg mmteaasvasveevyrgaoxrcbbtkovniyeobkbevyrvmcrwsubhupbyvyvwwmbwcyrgqgvvwwcdzvrrixnexkgaswtazzrbgfututg\n", - "-2494.3740687116474 kwmg mmxeaaovaszeevurgasxrcxbtksvniueobobevurvmgrwsqbhutbyvuvwwqbwcurgqkvvwscdzzrritnexogasstazdrbgbutuxg\n", - "-2462.955045230792 kpmg mtxeatovazzeeourghsxrvxbtrsvnbueoiobeourvtgrwlqbhbtbyouvwdqbwvurgxkvvpscdgzrrbtneeogalstagdrbzbutbxg\n", - "-2459.2985660934305 kpmj mtxbatoyazzbeouughsurvxetrssnbuhoioyeouuvtgowlqehbtyyouywdqywvuugxksvpsfdgzorbtqeeodalswagdobzbxtbxd\n", - "-2459.2985660934305 kpmj mtxbatoyazzbeouughsurvxetrssnbuhoioyeouuvtgowlqehbtyyouywdqywvuugxksvpsfdgzorbtqeeodalswagdobzbxtbxd\n", - "-2462.9971580782067 kpmp mtxvatoeazzveouaghsorvxktrsmnbunoioseouavtgiwlqkhbtsyouewdqswvuagxkmvpsldgzirbtweeoxalscagdibzbdtbxx\n", - "-2483.038298274851 kpnp mtwvatpeazyveovaghrorvyktrrmnbvnoinseovavtfiwlrkhbssyovewdpswvvagxjmvptldgyirbuweenxaltcagcibzcdtbwx\n", - "-2463.651980872936 kprp mtsvatteazuveozaghnorvcktrnmnbznoijseozavtbiwlvkhbosyozewdlswvzagxfmvpxldguirbyweejxalxcagyibzgdtbsx\n", - "-2456.9420261649398 kpre mtsgatttazugeozpghnzrvcztrnxnbzcoijdeozpvtbtwlvzhbodyoztwdldwvzpgxfxvpxadgutrbyleejialxragytbzgstbsi\n", - "-2604.2164225629904 rpre ftsghttttzuglozpzhnzyvczmrnxubzchijdlozpotbtdlvzabodfoztpdlddvzpzxfxcpxawgutybylxejihlxrtgytizgsmbsi\n", - "-2611.046428982983 rmre fwsghqtttcugllzpzknzysczmunxuyzchljdllzpowbtdivzaeodflztpglddszpzafxcmxawjutyyylxhjihixrtjytiwgsmesi\n", - "-2635.635446043844 rwre fmsghatttsuglvzpzanzycczmknxuizchbjdlvzpombtdsvzauodfvztpwlddczpzqfxcwxawzutyiylxxjihsxrtzytiggsmusi\n", - "-2672.8984792798246 swre emsgiattssugmvzpyanzzcczlknxvizcgbjdmvzpnmbtesvzzuodgvztowldeczpyqfxdwxavzutziylwxjiisxrszytjggslusi\n", - "-2607.709762026335 vwre bmsglattpsugpvzpvanzcccziknxyizcdbjdpvzpkmbthsvzwuodjvztlwldhczpvqfxgwxaszutciyltxjilsxrpzytmggsiusi\n", - "-2622.963443721534 vwie bmbglaktpsdgpvqpvawzcctzikwxyiqcdbsdpvqpkmkthsmzwuxdjvqtlwudhcqpvqoxgwoaszdtcipltxsilsorpzhtmgxsiubi\n", - "-2577.5685921457316 vwee bmfglagtpshgpvmpvaazccpzikaxyimcdbwdpvmpkmothsizwubdjvmtlwydhcmpvqsxgwkaszhtcilltxwilskrpzltmgtsiufi\n", - "-2580.5799548689524 vwej bmfblagypshbpvmuvaauccpeikasyimhdbwypvmukmoohsiewubyjvmylwyyhcmuvqssgwkfszhocilqtxwdlskwpzlomgtxiufd\n", - "-2594.5019653706313 vwez bmfllagopshlpvmkvaaeccpuikacyimxdbwipvmkkmoyhsiuwubijvmolwyihcmkvqscgwkvszhycilgtxwnlskmpzlymgtniufn\n", - "-2634.949380689278 vwer bmftlaggpshtpvmcvaamccpmikakyimpdbwqpvmckmoghsimwubqjvmglwyqhcmcvqskgwknszhgcilytxwvlskepzlgmgtfiufv\n", - "-2608.424243954606 vweu bmfqlagjpshqpvmfvaajccppikahyimsdbwnpvmfkmodhsipwubnjvmjlwynhcmfvqshgwkqszhdcilbtxwslskhpzldmgtiiufs\n", - "-2634.034507203016 vzeu bjfqldgjpphqpymfvxajcfppihahylmsdywnpymfkjodhvipwrbnjymjltynhfmfvnshgzkqswhdcllbtuwslvkhpwldmjtiirfs\n", - "-2664.2974963158977 vzev bjfpldgkpphppymgvxaicfpqihagylmtdywmpymgkjochviqwrbmjymkltymhfmgvnsggzkrswhccllctuwrlvkipwlcmjtjirfr\n", - "-2621.9006992466293 vzea bjfkldgppphkpymlvxadcfpvihabylmydywhpymlkjoxhvivwrbhjympltyhhfmlvnsbgzkwswhxcllhtuwmlvknpwlxmjtoirfm\n", - "-2599.153233766648 vzsa bjrklduppptkpyalvxmdcfdvihmbylaydyihpyalkjaxhvwvwrnhjyapltkhhfalvnebgzywswtxclzhtuimlvynpwxxmjhoirrm\n", - "-2631.853572584768 vzha bjckldjpppekpyplvxxdcfsvihxbylpydythpyplkjlxhvlvwryhjyppltvhhfplvnpbgznwswexclohtutmlvnnpwixmjwoircm\n", - "-2634.5201291289186 vfha bdckljjppjekpeplvrxdclsvibxbyrpydsthpeplkdlxhblvwlyhjepplnvhhlplvhpbgfnwsqexcrohtotmlbnnpqixmpwoilcm\n", - "-2615.7982852764317 vfhe bdcgljjtpjegpeppvrxzclszibxxyrpcdstdpeppkdlthblzwlydjeptlnvdhlppvhpxgfnasqetcroltotilbnrpqitmpwsilci\n", - "-2569.733497147369 vbhe bhcglfjtpnegpappvvxzchszifxxynpcdwtdpappkhlthxlzwpydjaptlrvdhhppvlpxgbnasuetcnoltstilxnrpuitmlwsipci\n", - "-2569.733497147369 vbhe bhcglfjtpnegpappvvxzchszifxxynpcdwtdpappkhlthxlzwpydjaptlrvdhhppvlpxgbnasuetcnoltstilxnrpuitmlwsipci\n", - "-2587.52146548387 vwhe bmcglajtpsegpvppvaxzccszikxxyipcdbtdpvppkmlthslzwuydjvptlwvdhcppvqpxgwnaszetcioltxtilsnrpzitmgwsiuci\n", - "-2406.541239621611 vihe bacglmjtpgegphppvoxzcosziyxxyupcdptdphppkalthelzwiydjhptlkvdhoppvepxginasnetcuoltltilenrpnitmswsiici\n", - "-2577.7242150325283 vohe bucglsjtpaegpnppvixzcuszisxxyapcdjtdpnppkulthklzwcydjnptlevdhuppvypxgonashetcaoltftilknrphitmywsicci\n", - "-2562.9324484230087 vmhe bwcglqjtpcegplppvkxzcssziuxxyypcdltdplppkwlthilzweydjlptlgvdhsppvapxgmnasjetcyolthtilinrpjitmwwsieci\n", - "-2586.292816969182 vyhe bkcglcjtpqegpxppvyxzcesziixxykpcdztdpxppkklthulzwsydjxptluvdheppvopxgynasxetckoltvtilunrpxitmiwsisci\n", - "-2630.8687027837013 iyhe okcgycjtcqegcxppiyxzpeszvixxlkpcqztdcxppxkltuulzjsydwxptyuvdueppiopxtynafxetpkolgvtiyunrcxitziwsvsci\n", - "-2738.5305456279298 iyho okcwycjdcqewcxpziyxppesjvixnlkpmqzttcxpzxkljuuljjsytwxpdyuvtuepziopntynkfxejpkovgvtyyunbcxijziwcvscy\n", - "-2667.0781310193847 iyhs okcsycjhcqescxpdiyxlpesnvixjlkpqqztpcxpdxklfuulnjsypwxphyuvpuepdiopjtynofxefpkozgvtuyunfcxifziwgvscu\n", - "-2695.2541967068323 eyhs skcsucjhgqesyxpdmyxllesnzixjhkpquztpyxpdbklfqulnnsypsxphcuvpqepdmopjpynojxeflkozkvtuuunfgxifviwgzscu\n", - "-2665.7126103317296 eyhg skceucjvgqeeyxprmyxxlesbzixvhkpeuztbyxprbklrqulbnsybsxpvcuvbqeprmopvpyncjxerlkonkvtguuntgxirviwuzscg\n", - "-2656.9051824108597 ayhg wkceqcjvkqeeuxprqyxxhesbdixvdkpeyztbuxprfklrmulbrsyboxpvguvbmeprqopvlyncnxerhkonovtgquntkxirriwudscg\n", - "-2668.9591844027655 ayha wkckqcjpkqekuxplqyxdhesvdixbdkpyyzthuxplfklxmulvrsyhoxppguvhmeplqopblynwnxexhkohovtmqunnkxixriwodscm\n", - "-2660.3905824661133 aoha wuckqsjpkaekunplqixdhusvdsxbdapyyjthunplfulxmklvrcyhonppgevhmuplqypblonwnhexhaohoftmqknnkhixrywodccm\n", - "-2670.1878329174538 awha wmckqajpksekuvplqaxdhcsvdkxbdipyybthuvplfmlxmslvruyhovppgwvhmcplqqpblwnwnzexhiohoxtmqsnnkzixrgwoducm\n", - "-2671.4320265898477 swha emckiajpssekmvplyaxdzcsvlkxbvipygbthmvplnmlxeslvzuyhgvppowvhecplyqpbdwnwvzexziohwxtmisnnszixjgwolucm\n", - "-2640.013003108993 spha etckitjpszekmoplyhxdzvsvlrxbvbpygithmoplntlxellvzbyhgoppodvhevplyxpbdpnwvgexzbohwetmilnnsgixjzwolbcm\n", - "-2668.692074330317 sphd etchitjsszehmopoyhxazvsylrxyvbpbgitemopontluellyzbyegopsodveevpoyxpydpnzvgeuzbokwetjilnqsgiujzwrlbcj\n", - "-2681.999288502212 spjd etahitlsszchmoroyhvazvuylrvyvbrbgiremorontjuelnyzbwegorsodteevroyxnydppzvgcuzbqkwerjilpqsggujzyrlbaj\n", - "-2635.991735512195 spsd etrhitusszthmoaoyhmazvdylrmyvbabgiiemoaontauelwyzbnegoasodkeevaoyxeydpyzvgtuzbzkweijilyqsgxujzhrlbrj\n", - "-2654.163660676073 sjsd ezrhinussfthmiaoynmazpdylxmyvvabgoiemiaonzauefwyzhnegiasojkeepaoydeydjyzvmtuzvzkwkijifyqsmxujthrlhrj\n", - "-2726.438613438578 sjnd ezwhinpssfyhmivoynrazpyylxryvvvbgonemivonzfuefryzhsegivsojpeepvoydjydjtzvmyuzvukwknjiftqsmcujtcrlhwj\n", - "-2722.3059777318617 sjid ezbhinkssfdhmiqoynwazptylxwyvvqbgosemiqonzkuefmyzhxegiqsojueepqoydoydjozvmduzvpkwksjifoqsmhujtxrlhbj\n", - "-2752.7461172290646 said eibhiekssodhmzqoywwazgtylgwyvmqbgxsemzqonikuewmyzqxegzqsosueegqoymoydaozvvduzmpkwtsjiwoqsvhujkxrlqbj\n", - "-2707.3512656532607 saed eifhiegssohhmzmoywaazgpylgayvmmbgxwemzmoniouewiyzqbegzmsosyeegmoymsydakzvvhuzmlkwtwjiwkqsvlujktrlqfj\n", - "-2718.84003671974 caed uifhsegsiohhwzmoowaajgpybgayfmmbwxwewzmodiouowiypqbeqzmsesyeogmoomsynakzlvhujmlkmtwjswkqivlutktrbqfj\n", - "-2768.3675240022617 cand uiwhsepsioyhwzvoowrajgyybgryfmvbwxnewzvodifuowrypqseqzvsespeogvoomjynatzlvyujmukmtnjswtqivcutkcrbqwj\n", - "-2760.9589611952943 cacd uihhseesiojhwzkoowcajgnybgcyfmkbwxyewzkodiquowgypqdeqzksesaeogkoomuynaizlvjujmjkmtyjswiqivnutkrrbqhj\n", - "-2732.2798899739682 caca uihkseepiojkwzklowcdjgnvbgcbfmkywxyhwzkldiqxowgvpqdhqzkpesahogklomubnaiwlvjxjmjhmtymswinivnxtkrobqhm\n", - "-2732.2798899739682 caca uihkseepiojkwzklowcdjgnvbgcbfmkywxyhwzkldiqxowgvpqdhqzkpesahogklomubnaiwlvjxjmjhmtymswinivnxtkrobqhm\n", - "-2756.5174338310803 cata uiqksevpioskwzblowldjgevbglbfmbywxhhwzbldizxowxvpqmhqzbpesjhogblomdbnazwlvsxjmahmthmswznivwxtkiobqqm\n", - "-2734.3154479515388 bata viqkrevpjoskvzblpwldigevcglbembyxxhhvzbleizxnwxvqqmhpzbpfsjhngblpmdbmazwmvsximahnthmrwznjvwxskiocqqm\n", - "-2707.765629528621 rata fiqkhevptosklzblzwldygevmglbumbyhxhhlzbloizxdwxvaqmhfzbppsjhdgblzmdbcazwwvsxymahxthmhwzntvwxikiomqqm\n", - "-2687.01218290453 rhta fbqkhlvpthsklgblzpldynevmzlbutbyhqhhlgblobzxddxvajmhfgbppljhdnblzfdbchzwwosxytahxmhmhdzntowxiriomjqm\n", - "-2665.9835712875333 rmta fwqkhqvptcskllblzkldysevmulbuybyhlhhllblowzxdixvaemhflbppgjhdsblzadbcmzwwjsxyyahxhhmhizntjwxiwiomeqm\n", - "-2699.013793063994 rlta fxqkhpvptdsklkblzlldyrevmvlbuxbyhmhhlkbloxzxdhxvafmhfkbpphjhdrblzbdbclzwwksxyxahxihmhhzntkwxiviomfqm\n", - "-2652.9945862404797 rlka fxzkhpmptdbklkslzludyrvvmvubuxsyhmqhlksloxixdhovafvhfkspphshdrslzbmbclqwwkbxyxrhxiqmhhqntkfxivzomfzm\n", - "-2626.7654131883805 rbka fhzkhfmptnbklaslzvudyhvvmfubunsyhwqhlaslohixdxovapvhfaspprshdhslzlmbcbqwwubxynrhxsqmhxqntufxilzompzm\n", - "-2673.068836710392 rbkl fhzzhfmatnbzlaswzvusyhvgmfuqunsjhwqwlaswohimdxogapvwfasaprswdhswzlmqcbqhwubmynrsxsqbhxqytufmilzzmpzb\n", - "-2654.0315736487114 xbkl zhzznfmannbzraswtvusehvggfuqansjbwqwraswihimjxogupvwlasajrswjhswtlmqibqhqubmenrsrsqbnxqynufmolzzgpzb\n", - "-2681.555941190358 xbky zhzmnfmnnnbmrasjtvufehvtgfudanswbwqjrasjihizjxotupvjlasnjrsjjhsjtlmdibququbzenrfrsqonxqlnufzolzmgpzo\n", - "-2553.318807853985 kbky mhzmafmnanbmeasjgvufrhvttfudnnswowqjeasjvhizwxothpvjyasnwrsjwhsjglmdvbqudubzrnrfesqoaxqlaufzblzmtpzo\n", - "-2748.530981686408 ybky yhzmofmnmnbmsasjsvuffhvtffudbnswawqjsasjhhizkxottpvjmasnirsjkhsjslmdjbqupubzfnrfqsqooxqlmufzplzmfpzo\n", - "-2706.8500144016566 ybkb yhzjofmqmnbjsasmsvucfhvwffuabnszawqgsasmhhiwkxowtpvgmasqirsgkhsmslmajbqxpubwfnriqsqloxqomufwplzpfpzl\n", - "-2726.353431982014 pbkb hhzjffmqvnbjjasmbvucwhvwofuasnszjwqgjasmqhiwbxowcpvgdasqrrsgbhsmblmaabqxyubwwnrizsqlfxqovufwglzpopzl\n", - "-2675.484764350618 pbke hhzgffmtvnbgjaspbvuzwhvzofuxsnscjwqdjaspqhitbxozcpvddastrrsdbhspblmxabqayubtwnrlzsqifxqrvuftglzsopzi\n", - "-2697.2664273170185 pbce hhhgffetvnjgjakpbvczwhnzofcxsnkcjwydjakpqhqtbxgzcpdddaktrradbhkpbluxabiayujtwnjlzsyifxirvuntglrsophi\n", - "-2695.9727477131028 nbce jhhgdfetxnjghakpdvczuhnzqfcxqnkclwydhakpshqtzxgzepddbakttradzhkpdluxybiaaujtunjlbsyidxirxuntelrsqphi\n", - "-2601.8995482847836 vbce bhhglfetpnjgpakpvvczchnzifcxynkcdwydpakpkhqthxgzwpddjaktlradhhkpvluxgbiasujtcnjltsyilxirpuntmlrsiphi\n", - "-2608.567390145365 vbcg bhhelfevpnjepakrvvcxchnbifcvynkedwybpakrkhqrhxgbwpdbjakvlrabhhkrvluvgbicsujrcnjntsyglxitpunrmlruiphg\n", - "-2613.246631354178 zbcg xhhepfevlnjetakrrvcxghnbefcvcnkezwybtakrghqrlxgbspdbnakvhrablhkrrluvkbicoujrgnjnpsygpxitlunrqlruephg\n", - "-2604.0053376917385 zbdg xhgepffvlnietalrrvbxghobefbvcnlezwxbtalrghprlxhbspcbnalvhrzblhlrrltvkbjcouirgnknpsxgpxjtlumrqlsuepgg\n", - "-2590.7430932190855 zbzg xhkepfbvlnmetahrrvfxghkbeffvcnhezwbbtahrghtrlxdbspgbnahvhrdblhhrrlxvkbfcoumrgngnpsbgpxftluqrqlouepkg\n", - "-2571.1277068786258 zbeg xhfepfgvlnhetamrrvaxghpbefavcnmezwwbtamrghorlxibspbbnamvhryblhmrrlsvkbkcouhrgnlnpswgpxktlulrqltuepfg\n", - "-2552.4618473147248 zbyg xhlepfavlnnetagrrvgxghjbefgvcngezwcbtagrghurlxcbsphbnagvhreblhgrrlyvkbecounrgnfnpscgpxetlurrqlnueplg\n", - "-2552.4618473147248 zbyg xhlepfavlnnetagrrvgxghjbefgvcngezwcbtagrghurlxcbsphbnagvhreblhgrrlyvkbecounrgnfnpscgpxetlurrqlnueplg\n", - "-2583.0629076916844 zkyg xylepoavlenetjgrrmgxgqjbewgvcwgezncbtjgrgyurlgcbsghbnjgvhieblqgrrcyvkkecolnrgwfnpjcgpgetllrrqunueglg\n", - "-2612.604494066785 zkys xylspoahlenstjgdrmglgqjnewgjcwgqzncptjgdgyuflgcnsghpnjghhieplqgdrcyjkkeoolnfgwfzpjcupgefllrfqungeglu\n", - "-2656.905463168282 zkyc xylipoarlenitjgnrmgbgqjxewgzcwgazncftjgngyuvlgcxsghfnjgrhieflqgnrcyzkkeyolnvgwfjpjckpgepllrvqunqeglk\n", - "-2669.7026343762345 zzyc xjlipdarlpnitygnrxgbgfjxehgzclgazycftygngjuvlvcxsrhfnygrhteflfgnrnyzkzeyownvglfjpuckpveplwrvqjnqerlk\n", - "-2625.4016652747373 zzys xjlspdahlpnstygdrxglgfjnehgjclgqzycptygdgjuflvcnsrhpnyghhteplfgdrnyjkzeoownfglfzpucupveflwrfqjngerlu\n", - "-2595.8600788996364 zzyg xjlepdavlpnetygrrxgxgfjbehgvclgezycbtygrgjurlvcbsrhbnygvhteblfgrrnyvkzecownrglfnpucgpvetlwrrqjnuerlg\n", - "-2653.4470807081507 zzyw xjlopdallpnotyghrxghgfjrehgfclguzycltyghgjublvcrsrhlnyglhtellfghrnyfkzesownbglfdpucqpvejlwrbqjnkerlq\n", - "-2738.86896856105 zzqw xjtopdsllpvotyyhrxohgfbrehofclyuzykltyyhgjcblvursrplnyylhtmllfyhrngfkzwsowvbglxdpukqpvwjlwzbqjfkertq\n", - "-2780.919043842891 zdqw xftophslllvotcyhrtohgjbredofcpyuzukltcyhgfcblzursnplncylhpmlljyhrjgfkdwsosvbgpxdpqkqpzwjlszbqnfkentq\n", - "-2716.6642001737946 zdqe xftgphstllvgtcyprtozgjbzedoxcpyczukdtcypgfctlzuzsnpdncythpmdljyprjgxkdwaosvtgpxlpqkipzwrlsztqnfsenti\n", - "-2639.2066111922027 zoqe xutgpsstlavgtnypriozgubzesoxcayczjkdtnypguctlkuzscpdnnythemdluyprygxkowaohvtgaxlpfkipkwrlhztqyfsecti\n", - "-2659.6101953790326 zgqe xctgpkstlivgtfyprqozgmbzeaoxcsyczrkdtfypgcctlcuzskpdnfythmmdlmyprggxkgwaopvtgsxlpnkipcwrlpztqqfsekti\n", - "-2699.5068399847396 igqe octgykstcivgcfypiqozpmbzvaoxlsycqrkdcfypxcctucuzjkpdwfytymmdumypiggxtgwafpvtpsxlgnkiycwrcpztzqfsvkti\n", - "-2706.174681845321 igqg octeyksvcivecfyriqoxpmbbvaovlsyeqrkbcfyrxccrucubjkpbwfyvymmbumyriggvtgwcfpvrpsxngnkgycwtcpzrzqfuvktg\n", - "-2764.532107359239 igql octzyksacivzcfywiqospmbgvaoqlsyjqrkwcfywxccmucugjkpwwfyaymmwumywiggqtgwhfpvmpsxsgnkbycwycpzmzqfzvktb\n", - "-2801.659440241001 hgql pctzxksadivzbfywjqosombgwaoqksyjrrkwbfywyccmtcugkkpwvfyazmmwtmywjggqsgwhgpvmosxshnkbxcwydpzmyqfzwktb\n", - "-2801.659440241001 hgql pctzxksadivzbfywjqosombgwaoqksyjrrkwbfywyccmtcugkkpwvfyazmmwtmywjggqsgwhgpvmosxshnkbxcwydpzmyqfzwktb\n", - "-2773.2651381690102 hbql phtzxfsadnvzbaywjvosohbgwfoqknyjrwkwbaywyhcmtxugkppwvayazrmwthywjlgqsbwhguvmonxshskbxxwyduzmylfzwptb\n", - "-2739.095522603385 hbqu phtqxfsjdnvqbayfjvojohbpwfohknysrwknbayfyhcdtxupkppnvayjzrmnthyfjlghsbwqguvdonxbhsksxxwhduzdylfiwpts\n", - "-2759.1085384259054 hbqb phtjxfsqdnvjbaymjvocohbwwfoaknyzrwkgbaymyhcwtxuwkppgvayqzrmgthymjlgasbwxguvwonxihsklxxwoduzwylfpwptl\n", - "-2711.8254926441036 hbqm phtyxfsbdnvybayxjvorohbhwfopknykrwkvbayxyhcltxuhkppvvaybzrmvthyxjlgpsbwiguvlonxthskaxxwzduzlylfawpta\n", - "-2672.7554952171986 qbqm ghtygfsbunvykayxavorxhbhnfoptnykiwkvkayxphclcxuhbppveaybqrmvchyxalgpbbwixuvlxnxtyskagxwzuuzlhlfanpta\n", - "-2675.412971403982 qcqm ggtyggsbumvykbyxauorxibhneoptoykivkvkbyxpgclcyuhbopvebybqqmvciyxakgpbcwixtvlxoxtyrkagywzutzlhmfanota\n", - "-2654.2263367794953 dcqm tgtytgsbhmvyxbyxnuorkibhaeopgoykvvkvxbyxcgclpyuhoopvrbybdqmvpiyxnkgpocwiktvlkoxtlrkatywzhtzlumfaaota\n", - "-2653.826776823162 dctm tgqytgvbhmsyxbbxnulrkiehaelpgobkvvhvxbbxcgzlpyxhoomvrbbbdqjvpibxnkdpocziktslkoatlrhatyzzhtwlumiaaoqa\n", - "-2612.970945720294 dvtm tnqytzvbhtsyxubxnblrkbehallpghbkvchvxubxcnzlprxhovmvrubbdxjvpbbxnrdpovzikaslkhatlyhatrzzhawlufiaavqa\n", - "-2628.1071677231894 dvta tnqktzvphtskxublnbldkbevallbghbyvchhxublcnzxprxvovmhrubpdxjhpbblnrdbovzwkasxkhahlyhmtrznhawxufioavqm\n", - "-2408.635427894439 dvla tnyktznphtakxutlnbtdkbwvaltbghtyvcphxutlcnhxprpvovuhrutpdxrhpbtlnrlbovrwkaaxkhshlypmtrrnhaexufaoavym\n", - "-2440.0327340861622 dmla twyktqnphcakxltlnktdkswvautbgytyvlphxltlcwhxpipvoeuhrltpdgrhpstlnalbomrwkjaxkyshlhpmtirnhjexuwaoaeym\n", - "-2432.980317303913 dtla tpyktxnphvakxstlndtdkzwvantbgftyvephxstlcphxpppvoxuhrstpdzrhpztlntlbotrwkcaxkfshlapmtprnhcexudaoaxym\n", - "-2616.57685703337 dtxa tpmktxzphvokxsflndhdkzivanhbgffyvedhxsflcpvxppbvoxihrsfpdzfhpzflntzbotdwkcoxkfehladmtpdnhcsxudmoaxmm\n", - "-2467.238065014217 dixa tamktmzphgokxhflnohdkoivayhbgufyvpdhxhflcavxpebvoiihrhfpdkfhpoflnezboidwknoxkuehlldmtednhnsxusmoaimm\n", - "-2473.484118303831 dioa tavktmqphgxkxhwlnoqdkozvayqbguwyvpmhxhwlcaexpesvoirhrhwpdkohpowlneiboiuwknxxkuvhllmmteunhnbxusdoaivm\n", - "-2519.787541825843 diol tavztmqahgxzxhwwnoqskozgayqqguwjvpmwxhwwcaempesgoirwrhwadkowpowwneiqoiuhknxmkuvsllmbteuyhnbmusdzaivb\n", - "-2512.5465673887315 diml taxztmoahgzzxhuwnosskoxgaysqguujvpowxhuwcagmpeqgoitwrhuadkqwpouwnekqoishknzmkutsllobtesyhndmusbzaixb\n", - "-2465.3932671944845 dimf taxftmouhgzfxhuqnosykoxaayswguudvpocxhuqcagspeqaoitcrhuudkqcpouqnekwoisbknzskutmllohtesshndsusbtaixh\n", - "-2494.922215088044 dimd taxhtmoshgzhxhuonosakoxyaysyguubvpoexhuocagupeqyoiterhusdkqepouonekyoiszknzukutkllojtesqhnduusbraixj\n", - "-2436.0939979565705 diwd tanhtmyshgphxheonoiakohyayiyguebvpeexheocawupeayoijerhesdkgepoeoneayoiczknpukudkllejtecqhntuuslrainj\n", - "-2527.967499961912 fiwd ranhvmysfgphzheoloiamohyyyiyiuebtpeezheoaawureaymijethesbkgeroeoleayqiczinpumudkjlejvecqfntuwslryinj\n", - "-2531.4352525194954 fiwb ranjvmyqfgpjzhemloicmohwyyiaiueztpegzhemaawwreawmijgtheqbkggroemleaaqicxinpwmudijlelvecofntwwslpyinl\n", - "-2602.896047040647 ficb rahjvmeqfgjjzhkmloccmonwyycaiukztpygzhkmaaqwregwmidgthkqbkagrokmleuaqiixinjwmujijlylveiofnnwwsrpyihl\n", - "-2571.2791770867007 hicb pahjxmeqdgjjbhkmjoccoonwwycakukzrpygbhkmyaqwtegwkidgvhkqzkagtokmjeuasiixgnjwoujihlylxeiodnnwysrpwihl\n", - "-2565.4394198422956 yicb yahjomeqmgjjshkmsoccfonwfycabukzapygshkmhaqwkegwtidgmhkqikagkokmseuajiixpnjwfujiqlyloeiomnnwpsrpfihl\n", - "-2503.2069024801003 yicx yahnomemmgjnshkisocgfonsfycebukvapykshkihaqakegstidkmhkmikakkokiseuejiitpnjafujeqlypoeikmnnapsrlfihp\n", - "-2500.0953925301883 eicx sahnumemggjnyhkimocglonszycehukvupykyhkibaqaqegsnidkshkmckakqokimeuepiitjnjalujeklypueikgnnavsrlzihp\n", - "-2481.8189434686515 bicx vahnrmemjgjnvhkipocgionscyceeukvxpykvhkieaqanegsqidkphkmfkaknokipeuemiitmnjaiujenlypreikjnnassrlcihp\n", - "-2496.7684150490436 bicm vahyrmebjgjyvhkxpocrionhcycpeukkxpyvvhkxeaqlneghqidvphkbfkavnokxpeupmiiimnjliujtnlyareizjnnlssraciha\n", - "-2460.2654959378838 bifm vaeyrmhbjggyvhnxpozrioqhcyzpeunkxpvvvhnxeanlnejhqiavphnbfkxvnonxperpmilimngliumtnlvarelzjnklssuaciea\n", - "-2487.535525897164 bifu vaeqrmhjjggqvhnfpozjioqpcyzheunsxpvnvhnfeandnejpqianphnjfkxnnonfperhmilqmngdiumbnlvsrelhjnkdssuicies\n", - "-2658.718501308084 bofu vueqrshjjagqvnnfpizjiuqpcszheansxjvnvnnfeundnkjpqcanpnnjfexnnunfpyrhmolqmhgdiambnfvsrklhjhkdsyuicces\n", - "-2680.9204871876263 cofu uueqsshjiagqwnnfoizjjuqpbszhfanswjvnwnnfdundokjppcanqnnjeexnounfoyrhnolqlhgdjambmfvssklhihkdtyuibces\n", - "-2714.319679047849 cofw uueosshliagownnhoizhjuqrbszffanuwjvlwnnhdunbokjrpcalqnnleexlounhoyrfnolslhgbjamdmfvqskljihkbtyukbceq\n", - "-2686.2742636144353 cofs uuessshhiagswnndoizljuqnbszjfanqwjvpwnnddunfokjnpcapqnnheexpoundoyrjnololhgfjamzmfvusklfihkftyugbceu\n", - "-2680.9470042559733 tofs duesjshhragsnnndxizlauqnkszjwanqfjvpnnndmunffkjnycaphnnhnexpfundxyrjeolouhgfaamzvfvujklfrhkfkyugkceu\n", - "-2703.5573467477743 tkfs dyesjohhregsnjndxmzlaqqnkwzjwwnqfnvpnjndmynffgjnygaphjnhnixpfqndxcrjekloulgfawmzvjvujglfrlkfkuugkgeu\n", - "-2728.082511263987 tkrs dyssjothreusnjzdxmnlaqcnkwnjwwzqfnjpnjzdmybffgvnygophjzhnilpfqzdxcfjekxoulufawyzvjjujgxfrlyfkuggkgsu\n", - "-2697.4814508870263 tbrs dhssjfthrnusnazdxvnlahcnkfnjwnzqfwjpnazdmhbffxvnypophazhnrlpfhzdxlfjebxouuufanyzvsjujxxfruyfklggkpsu\n", - "-2635.0196428813474 xbrs zhssnfthnnusrazdtvnlehcngfnjanzqbwjprazdihbfjxvnupoplazhjrlpjhzdtlfjibxoquufenyzrsjunxxfnuyfolgggpsu\n", - "-2639.560512900871 xjrs zzssnnthnfusrizdtnnlepcngxnjavzqbojprizdizbfjfvnuhoplizhjjlpjpzdtdfjijxoqmufevyzrkjunfxfnmyfotggghsu\n", - "-2670.000652398074 xars zissnethnousrzzdtwnlegcnggnjamzqbxjprzzdiibfjwvnuqoplzzhjslpjgzdtmfjiaxoqvufemyzrtjunwxfnvyfokgggqsu\n", - "-2652.807611217848 xwrs zmssnathnsusrvzdtanleccngknjaizqbbjprvzdimbfjsvnuuoplvzhjwlpjczdtqfjiwxoqzufeiyzrxjunsxfnzyfoggggusu\n", - "-2689.4224696262427 xwqs zmtsnashnsvsrvydtaolecbngkojaiyqbbkprvydimcfjsunuupplvyhjwmpjcydtqgjiwwoqzvfeixzrxkunswfnzzfogfggutu\n", - "-2704.081709021955 xwqb zmtjnasqnsvjrvymtaocecbwgkoaaiyzbbkgrvymimcwjsuwuupglvyqjwmgjcymtqgaiwwxqzvweixirxklnswonzzwogfpgutl\n", - "-2702.8530605072674 xyqb zktjncsqnqvjrxymtyoceebwgioaakyzbzkgrxymikcwjuuwuspglxyqjumgjeymtogaiywxqxvwekxirvklnuwonxzwoifpgstl\n", - "-2698.64388076025 zyqb xktjpcsqlqvjtxymryocgebweioackyzzzkgtxymgkcwluuwsspgnxyqhumgleymrogakywxoxvwgkxipvklpuwolxzwqifpestl\n", - "-2753.736935388562 jyqb nktjzcsqbqvjdxymhyocqebwuioamkyzpzkgdxymwkcwvuuwispgxxyqxumgveymhogauywxexvwqkxifvklzuwobxzwaifpustl\n", - "-2753.736935388562 jyqb nktjzcsqbqvjdxymhyocqebwuioamkyzpzkgdxymwkcwvuuwispgxxyqxumgveymhogauywxexvwqkxifvklzuwobxzwaifpustl\n", - "-2783.2424036958137 jfqb ndtjzjsqbjvjdeymhrocqlbwuboamryzpskgdeymwdcwvbuwilpgxeyqxnmgvlymhhgaufwxeqvwqrxifoklzbwobqzwapfpultl\n", - "-2737.177615566749 jbqb nhtjzfsqbnvjdaymhvocqhbwufoamnyzpwkgdaymwhcwvxuwippgxayqxrmgvhymhlgaubwxeuvwqnxifsklzxwobuzwalfpuptl\n", - "-2722.518376171037 jbqs nhtszfshbnvsdaydhvolqhbnufojmnyqpwkpdaydwhcfvxunipppxayhxrmpvhydhlgjubwoeuvfqnxzfskuzxwfbuzfalfguptu\n", - "-2768.583164300102 jfqs ndtszjshbjvsdeydhrolqlbnubojmryqpskpdeydwdcfvbunilppxeyhxnmpvlydhhgjufwoeqvfqrxzfokuzbwfbqzfapfgultu\n", - "-2804.1777474952128 pfqs hdtsfjshvjvsjeydbrolwlbnobojsryqjskpjeydqdcfbbunclppdeyhrnmpblydbhgjafwoyqvfwrxzzokufbwfvqzfgpfgoltu\n", - "-2626.438191372039 pfqt hdtrfjsivjvrjeyebrokwlbooboisryrjskojeyeqdcebbuoclpodeyirnmoblyebhgiafwpyqvewrxazoktfbwgvqzegpfholtt\n", - "-2567.2624743995675 wfqt adtrmjsiojvrqeyeurokdlbohboizryrcskoqeyejdceibuovlpokeyiknmoilyeuhgihfwprqvedrxasoktmbwgoqzenpfhhltt\n", - "-2606.934773791681 yfqt ydtrojsimjvrseyesrokflbofboibryraskoseyehdcekbuotlpomeyiinmoklyeshgijfwppqvefrxaqoktobwgmqzeppfhfltt\n", - "-2568.2206795928664 ysqt yqtrowsimwvrsryeseokfybofooibeyrafkosryehqcekouotypomryiiamokyyesugijswppdvefexaqbktoowgmdzepcfhfytt\n", - "-2589.264287734608 ygqt yctroksimivrsfyesqokfmbofaoibsyrarkosfyehccekcuotkpomfyiimmokmyesggijgwpppvefsxaqnktocwgmpzepqfhfktt\n", - "-2554.068936938257 ymqt ywtroqsimcvrslyeskokfsbofuoibyyralkoslyehwcekiuotepomlyiigmoksyesagijmwppjvefyxaqhktoiwgmjzepwfhfett\n", - "-2595.850995179346 yaqt yitroesimovrszyeswokfgbofgoibmyraxkoszyehicekwuotqpomzyiismokgyesmgijawppvvefmxaqtktowwgmvzepkfhfqtt\n", - "-2614.060733155789 naqt jitrdesixovrhzyedwokugboqgoiqmyrlxkohzyesicezwuoeqpobzyitsmozgyedmgiyawpavveumxabtktdwwgxvzeekfhqqtt\n", - "-2557.2575782049284 naht jicrdejixoerhzpedwxkugsoqgxiqmprlxtohzpesilezwloeqyobzpitsvozgpedmpiyanpaveeumoabtttdwngxvieekwhqqct\n", - "-2715.721079317317 nahz jicldejoxoelhzpkdwxeugsuqgxcqmpxlxtihzpksilyzwlueqyibzpotsvizgpkdmpcyanvaveyumogbttndwnmxviyekwnqqcn\n", - "-2716.6596732726684 nahf jicfdejuxoefhzpqdwxyugsaqgxwqmpdlxtchzpqsilszwlaeqycbzputsvczgpqdmpwyanbavesumombtthdwnsxvisekwtqqch\n", - "-2689.0293576861886 nshf jqcfdwjuxwefhrpqdexyuysaqoxwqepdlftchrpqsqlszolaeyycbrputavczypqdupwysnbadesueombbthdonsxdisecwtqych\n", - "-2716.6596732726684 nahf jicfdejuxoefhzpqdwxyugsaqgxwqmpdlxtchzpqsilszwlaeqycbzputsvczgpqdmpwyanbavesumombtthdwnsxvisekwtqqch\n", - "-2706.706799934529 naef jiffdeguxohfhzmqdwayugpaqgawqmmdlxwchzmqsioszwiaeqbcbzmutsyczgmqdmswyakbavhsumlmbtwhdwksxvlsekttqqfh\n", - "-2738.715374730081 naeh jifddegwxohdhzmsdwawugpcqgauqmmflxwahzmssioqzwiceqbabzmwtsyazgmsdmsuyakdavhqumlobtwfdwkuxvlqektvqqff\n", - "-2760.127408386448 naek jifadegzxohahzmvdwatugpfqgarqmmilxwxhzmvsionzwifeqbxbzmztsyxzgmvdmsryakgavhnumlrbtwcdwkxxvlnektyqqfc\n", - "-2753.540700941711 ngek jcfadkgzxihahfmvdqatumpfqaarqsmilrwxhfmvsconzcifekbxbfmztmyxzmmvdgsrygkgaphnuslrbnwcdckxxplneqtyqkfc\n", - "-2776.800788451745 ngjk jcaadklzxicahfrvdqvtumufqavrqsrilrrxhfrvscjnzcnfekwxbfrztmtxzmrvdgnrygpgapcnusqrbnrcdcpxxpgneqyyqkac\n", - "-2724.198830896112 ngwk jcnadkyzxipahfevdqitumhfqairqseilrexhfevscwnzcafekjxbfeztmgxzmevdgarygcgappnusdrbnecdccxxptneqlyqknc\n", - "-2673.2403090876314 newk jenadiyzxkpahdevdsitukhfqcirqqeiltexhdevsewnzaafemjxbdeztogxzkevdiaryecgarpnuqdrbpecdacxxrtneolyqmnc\n", - "-2702.58217913323 neek jefadigzxkhahdmvdsatukpfqcarqqmiltwxhdmvseonzaifembxbdmztoyxzkmvdisryekgarhnuqlrbpwcdakxxrlneotyqmfc\n", - "-2743.7213181496904 neuk jepadiwzxkrahdcvdsktukffqckrqqciltgxhdcvseynzayfemlxbdcztoixzkcvdicryeagarrnuqbrbpgcdaaxxrvneojyqmpc\n", - "-2726.3256070413404 ceuk uepasiwzikrawdcvosktjkffbckrfqciwtgxwdcvdeynoayfpmlxqdczeoixokcvoicrneaglrrnjqbrmpgcsaaxirvntojybmpc\n", - "-2691.242459644854 ceus uepssiwhikrswdcdoskljkfnbckjfqcqwtgpwdcddeyfoaynpmlpqdcheoipokcdoicjneaolrrfjqbzmpgusaafirvftojgbmpu\n", - "-2731.5946477178436 cwus umpssawhisrswvcdoakljcfnbkkjficqwbgpwvcddmyfosynpulpqvchewipoccdoqcjnwaolzrfjibzmxgussafizvftgjgbupu\n", - "-2736.6203780941537 hwus pmpsxawhdsrsbvcdjaklocfnwkkjkicqrbgpbvcdymyftsynkulpvvchzwiptccdjqcjswaogzrfoibzhxguxsafdzvfygjgwupu\n", - "-2717.9307543202062 lwus lmpsbawhzsrsfvcdfaklscfnskkjoicqnbgpfvcdumyfxsyngulpzvchvwipxccdfqcjwwaoczrfsibzdxgubsafzzvfcgjgsupu\n", - "-2691.108321457637 wwus ampsmawhosrsqvcduakldcfnhkkjzicqcbgpqvcdjmyfisynvulpkvchkwipiccduqcjhwaorzrfdibzsxgumsafozvfngjghupu\n", - "-2652.252971048455 wwvs amosmaxhosqsqvdduajldcgnhkjjzidqcbfpqvddjmxfisznvukpkvdhkwhpicdduqbjhwborzqfdiczsxfumsbfozufngkghuou\n", - "-2723.7053856569987 wwvo amowmaxdosqwqvdzuajpdcgjhkjnzidmcbftqvdzjmxjiszjvuktkvddkwhticdzuqbnhwbkrzqjdicvsxfymsbbozujngkchuoy\n", - "-2788.1776253387206 wwqo amtwmasdosvwqvyzuaopdcbjhkonziymcbktqvyzjmcjisujvuptkvydkwmticyzuqgnhwwkrzvjdixvsxkymswbozzjngfchuty\n", - "-2811.844077812286 mwqo kmtwcasdysvwgvyzeaoptcbjrkonpiymmbktgvyztmcjysujfuptavyduwmtycyzeqgnxwwkbzvjtixvcxkycswbyzzjdgfcruty\n", - "-2824.738414780926 ewqo smtwuasdgsvwyvyzmaoplcbjzkonhiymubktyvyzbmcjqsujnuptsvydcwmtqcyzmqgnpwwkjzvjlixvkxkyuswbgzzjvgfczuty\n", - "-2815.0000582012913 lwqo lmtwbasdzsvwfvyzfaopscbjskonoiymnbktfvyzumcjxsujguptzvydvwmtxcyzfqgnwwwkczvjsixvdxkybswbzzzjcgfcsuty\n", - "-2778.7252981456645 lwxo lmmwbazdzsowfvfzfahpscijskhnoifmnbdtfvfzumvjxsbjguitzvfdvwftxcfzfqznwwdkczojsievdxdybsdbzzsjcgmcsumy\n", - "-2747.3062746648097 lpxo ltmwbtzdzzowfofzfhhpsvijsrhnobfmnidtfofzutvjxlbjgbitzofdvdftxvfzfxznwpdkcgojsbevdedybldbzgsjczmcsbmy\n", - "-2641.2359317703713 lpxi ltmcbtzxzzocfoftfhhvsvidsrhtobfgnidzfoftutvpxlbdgbizzofxvdfzxvftfxztwpdecgopsbepdedebldvzgspczmwsbme\n", - "-2664.593775256997 lpxq ltmubtzfzzoufofbfhhnsvilsrhlobfonidrfofbutvhxlblgbirzoffvdfrxvfbfxzlwpdmcgohsbexdedwblddzgshczmesbmw\n", - "-2719.862305118887 lrxq lrmubvzfzxoufqfbffhnsxilsphlodfongdrfqfburvhxnblgzirzqffvbfrxxfbfvzlwrdmceohsdexdcdwbnddzeshcbmeszmw\n", - "-2515.0325728755897 lixq lamubmzfzgoufhfbfohnsoilsyhloufonpdrfhfbuavhxeblgiirzhffvkfrxofbfezlwidmcnohsuexdldwbeddznshcsmesimw\n", - "-2474.462514727101 lipq lauubmrfzgwufhxbfopnsoalsyplouxonplrfhxbuadhxetlgiqrzhxfvknrxoxbfehlwivmcnwhsuwxdllwbevdznahcseesiuw\n", - "-2524.7690084549963 fipq rauuvmrffgwuzhxblopnmoalyypliuxotplrzhxbaadhretlmiqrthxfbknrroxblehlqivminwhmuwxjllwvevdfnahwseeyiuw\n", - "-2704.5205858025697 fypq rkuuvcrffqwuzxxblypnmealyiplikxotzlrzxxbakdhrutlmsqrtxxfbunrrexblohlqyvmixwhmkwxjvlwvuvdfxahwieeysuw\n", - "-2591.200497152341 vypq bkuulcrfpqwupxxbvypncealiiplykxodzlrpxxbkkdhhutlwsqrjxxflunrhexbvohlgyvmsxwhckwxtvlwluvdpxahmieeisuw\n", - "-2571.947417021858 vywq bknulcyfpqpupxebvyincehliiilykeodzerpxebkkwhhualwsjrjxeflugrheebvoalgycmsxphckdxtvewlucdpxthmileisnw\n", - "-2576.626658230671 zywq xknupcyflqputxebryingehleiilckeozzertxebgkwhlualssjrnxefhugrleebroalkycmoxphgkdxpvewpucdlxthqileesnw\n", - "-2576.626658230671 zywq xknupcyflqputxebryingehleiilckeozzertxebgkwhlualssjrnxefhugrleebroalkycmoxphgkdxpvewpucdlxthqileesnw\n", - "-2589.6388601533276 zuwq xonupyyfluputtebrcingahlemilcgeozderttebgowhlqalswjrntefhygrlaebrsalkucmobphggdxpzewpqcdlbthqeleewnw\n", - "-2650.923342361819 znwq xvnupryflbputmebrjingthletilczeozkertmebgvwhljalsdjrnmefhfgrltebrzalkncmoiphgzdxpgewpjcdlithqxleednw\n", - "-2598.9319755356078 zqwq xsnupuyflyputpebrgingwhleqilcceozhertpebgswhlmalsajrnpefhcgrlwebrwalkqcmofphgcdxpdewpmcdlfthqaleeanw\n", - "-2645.2752077313635 zqwk xsnapuyzlypatpevrgitgwhfeqircceizhextpevgswnlmafsajxnpezhcgxlwevrwarkqcgofpngcdrpdecpmcxlftnqalyeanc\n", - "-2684.5699511151006 zqhk xscapujzlyeatppvrgxtgwsfeqxrccpizhtxtppvgslnlmlfsayxnppzhcvxlwpvrwprkqngofengcorpdtcpmnxlfinqawyeacc\n", - "-2707.816393923798 rqhk fscahujztyealppvzgxtywsfmqxrucpihhtxlppvoslndmlfaayxfppzpcvxdwpvzwprcqngwfenycorxdtchmnxtfiniawymacc\n", - "-2707.816393923798 rqhk fscahujztyealppvzgxtywsfmqxrucpihhtxlppvoslndmlfaayxfppzpcvxdwpvzwprcqngwfenycorxdtchmnxtfiniawymacc\n", - "-2683.9247333654403 rqhd fschhujstyehlppozgxaywsymqxyucpbhhtelppoosludmlyaayefppspcvedwpozwpycqnzwfeuycokxdtjhmnqtfiuiawrmacj\n", - "-2660.678290556742 zqhd xschpujslyehtpporgxagwsyeqxyccpbzhtetppogslulmlysayenppshcvelwporwpykqnzofeugcokpdtjpmnqlfiuqawreacj\n", - "-2601.9135257521298 zqhx xscnpujmlyentppirgxggwsseqxeccpvzhtktppigslalmlssayknppmhcvklwpirwpekqntofeagcoepdtppmnklfiaqawleacp\n", - "-2563.0488886253816 zbhx xhcnpfjmlnentapirvxgghssefxecnpvzwtktapighlalxlsspyknapmhrvklhpirlpekbntoueagnoepstppxnkluiaqlwlepcp\n", - "-2635.0471357365395 cbhx uhcnsfjminenwapiovxgjhssbfxefnpvwwtkwapidhlaoxlsppykqapmervkohpiolpenbntlueajnoemstpsxnkiuiatlwlbpcp\n", - "-2612.4829160000486 cehx uecnsijmikenwdpiosxgjkssbcxefqpvwttkwdpidelaoalspmykqdpmeovkokpioipenentlreajqoemptpsankiriatowlbmcp\n", - "-2598.8190226024135 lehx lecnbijmzkenfdpifsxgskssscxeoqpvnttkfdpiuelaxalsgmykzdpmvovkxkpifipewentcreasqoedptpbankzriacowlsmcp\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2583.1848874228185 lvhx lncnbzjmztenfupifbxgsbssslxeohpvnctkfupiunlaxrlsgvykzupmvxvkxbpifrpewvntcaeashoedytpbrnkzaiacfwlsvcp\n", - "-2541.617879145373 dvhx tncntzjmhtenxupinbxgkbssalxeghpvvctkxupicnlaprlsovykrupmdxvkpbpinrpeovntkaeakhoelytptrnkhaiaufwlavcp\n", - "-2502.323135761635 dvwx tnnntzymhtpnxueinbigkbhsalieghevvcekxueicnwaprasovjkruemdxgkpbeinraeovctkapakhdelyeptrckhataufllavnp\n", - "-2538.63632892885 dvwq tnnutzyfhtpuxuebnbinkbhlalilgheovcerxuebcnwhpralovjrruefdxgrpbebnralovcmkaphkhdxlyewtrcdhathufleavnw\n", - "-2588.5399712454714 tvwq dnnujzyfrtpunuebxbinabhlklilwheofcernuebmnwhfralyvjrhuefnxgrfbebxralevcmuaphahdxvyewjrcdrathkflekvnw\n", - "-2705.2252755486847 tvgq dndujzifrtfunuobxbynabrlklylwhoofcurnuobmnmhfrklyvzrhuofnxwrfbobxrqlevmmuafhahnxvyuwjrmdrajhkfvekvdw\n", - "-2684.238309623736 tvtq dnqujzvfrtsunubbxblnabelklllwhbofchrnubbmnzhfrxlyvmrhubfnxjrfbbbxrdlevzmuashahaxvyhwjrzdrawhkfiekvqw\n", - "-2612.8880806622274 vvtq bnqulzvfptsupubbvblncbelilllyhbodchrpubbknzhhrxlwvmrjubflxjrhbbbvrdlgvzmsashchaxtyhwlrzdpawhmfieivqw\n", - "-2613.2876406185605 vvqq bntulzsfptvupuybvboncbblilolyhyodckrpuybknchhrulwvprjuyflxmrhbybvrglgvwmsavhchxxtykwlrwdpazhmffeivtw\n", - "-2655.381201178383 uvqq cntukzsfqtvuouybwbonbbbljlolxhyoeckrouyblnchgrulxvpriuyfmxmrgbybwrglfvwmtavhbhxxuykwkrwdqazhlffejvtw\n", - "-2695.4571251164675 uvql cntzkzsaqtvzouywwbosbbbgjloqxhyjeckwouywlncmgrugxvpwiuyamxmwgbywwrgqfvwhtavmbhxsuykbkrwyqazmlffzjvtb\n", - "-2638.6539701656066 uvhl cnczkzjaqtezoupwwbxsbbsgjlxqxhpjectwoupwlnlmgrlgxvywiupamxvwgbpwwrpqfvnhtaembhosuytbkrnyqaimlfwzjvcb\n", - "-2630.984885434745 uvvl cnozkzxaqtqzoudwwbjsbbggjljqxhdjecfwoudwlnxmgrzgxvkwiudamxhwgbdwwrbqfvbhtaqmbhcsuyfbkrbyqaumlfkzjvob\n", - "-2631.5245461442983 qvvl gnozgzxautqzkudwabjsxbggnljqthdjicfwkudwpnxmcrzgbvkweudaqxhwcbdwarbqbvbhxaqmxhcsyyfbgrbyuaumhfkznvob\n", - "-2631.5245461442983 qvvl gnozgzxautqzkudwabjsxbggnljqthdjicfwkudwpnxmcrzgbvkweudaqxhwcbdwarbqbvbhxaqmxhcsyyfbgrbyuaumhfkznvob\n", - "-2652.5008450470546 qvjl gnazgzlautczkurwabvsxbugnlvqthrjicrwkurwpnjmcrngbvwweuraqxtwcbrwarnqbvphxacmxhqsyyrbgrpyuagmhfyznvab\n", - "-2590.4869403957764 qvjj gnabgzlyutcbkuruabvuxbuenlvsthrhicrykurupnjocrnebvwyeuryqxtycbruarnsbvpfxacoxhqqyyrdgrpwuagohfyxnvad\n", - "-2614.8318298052513 qtjj gpabgxlyuvcbksruadvuxzuennvstfrhieryksruppjocpnebxwyesryqztyczruatnsbtpfxccoxfqqyardgppwucgohdyxnxad\n", - "-2641.0992295777382 qtnj gpwbgxpyuvybksvuadruxzyennrstfvhienyksvuppfocprebxsyesvyqzpyczvuatjsbttfxcyoxfuqyandgptwuccohdcxnxwd\n", - "-2479.1172959278197 ktnj mpwbaxpyavybesvugdrurzyetnrsnfvhoenyesvuvpfowprehxsyysvywzpywzvugtjsvttfdcyorfuqeandaptwaccobdcxtxwd\n", - "-2510.75872977093 kwnj mmwbaapyasybevvugarurcyetkrsnivhobnyevvuvmfowsrehusyyvvywwpywcvugqjsvwtfdzyoriuqexndastwazcobgcxtuwd\n", - "-2479.3397062900744 kpnj mtwbatpyazybeovughrurvyetrrsnbvhoinyeovuvtfowlrehbsyyovywdpywvvugxjsvptfdgyorbuqeendaltwagcobzcxtbwd\n", - "-2583.8267653873877 knnj mvwbarpyabybemvugjrurtyettrsnzvhoknyemvuvvfowjrehdsyymvywfpywtvugzjsvntfdiyorzuqegndajtwaicobxcxtdwd\n", - "-2523.5718218113884 kknj mywbaopyaeybejvugmrurqyetwrsnwvhonnyejvuvyfowgrehgsyyjvywipywqvugcjsvktfdlyorwuqejndagtwalcobucxtgwd\n", - "-2585.5857264626648 kknl mywzaopaaeyzejvwgmrsrqygtwrqnwvjonnwejvwvyfmwgrghgswyjvawipwwqvwgcjqvkthdlymrwusejnbagtyalcmbucztgwb\n", - "-2548.1836173613456 kmnl mwwzaqpaacyzelvwgkrsrsygturqnyvjolnwelvwvwfmwirgheswylvawgpwwsvwgajqvmthdjymryusehnbaityajcmbwcztewb\n", - "-2584.556187830175 kunl mowzaypaauyzetvwgcrsraygtmrqngvjodnwetvwvofmwqrghwswytvawypwwavwgsjqvuthdbymrguseznbaqtyabcmbecztwwb\n", - "-2505.686830502057 kuwl monzayyaaupzetewgcisrahgtmiqngejodewetewvowmwqaghwjwyteawygwwaewgsaqvuchdbpmrgdsezebaqcyabtmbelztwnb\n", - "-2638.927497556616 guwl qonzwyyaeupzatewkcisnahgxmiqjgejsdewatewzowmsqaglwjwuteaaygwsaewksaqruchhbpmngdsizebwqcyebtmxelzxwnb\n", - "-2625.0355428825987 vuwl bonzlyyapupzptewvciscahgimiqygejddewptewkowmhqagwwjwjtealygwhaewvsaqguchsbpmcgdstzeblqcypbtmmelziwnb\n", - "-2563.021638231321 vuwj bonblyyypupbpteuvciucaheimisygehddeypteukowohqaewwjyjteylygyhaeuvsasgucfsbpocgdqtzedlqcwpbtomelxiwnd\n", - "-2559.6792895389517 vlwj bxnblpyypdpbpkeuvliucrheivisyxehdmeypkeukxwohhaewfjyjkeylhgyhreuvbasglcfskpocxdqtiedlhcwpktomvlxifnd\n", - "-2550.0094363086646 vywj bknblcyypqpbpxeuvyiuceheiiisykehdzeypxeukkwohuaewsjyjxeylugyheeuvoasgycfsxpockdqtvedlucwpxtomilxisnd\n", - "-2577.935120326175 rywj fknbhcyytqpblxeuzyiuyehemiisukehhzeylxeuokwoduaeasjyfxeypugydeeuzoascycfwxpoykdqxvedhucwtxtoiilxmsnd\n", - "-2637.418160252377 ryrj fksbhctytqublxzuzynuyeceminsukzhhzjylxzuokboduveasoyfxzypulydezuzofscyxfwxuoykyqxvjdhuxwtxyoiigxmssd\n", - "-2637.418160252377 ryrj fksbhctytqublxzuzynuyeceminsukzhhzjylxzuokboduveasoyfxzypulydezuzofscyxfwxuoykyqxvjdhuxwtxyoiigxmssd\n", - "-2634.406797529156 ryre fksghctttquglxzpzynzyeczminxukzchzjdlxzpokbtduvzasodfxztpulddezpzofxcyxawxutykylxvjihuxrtxytiigsmssi\n", - "-2454.655220181586 rire fasghmtttguglhzpzonzyoczmynxuuzchpjdlhzpoabtdevzaiodfhztpklddozpzefxcixawnutyuylxljihexrtnytisgsmisi\n", - "-2424.514050300984 riee fafghmgttghglhmpzoazyopzmyaxuumchpwdlhmpoaotdeizaibdfhmtpkyddompzesxcikawnhtyullxlwihekrtnltistsmifi\n", - "-2633.771095955803 rfee fdfghjgttjhglempzrazylpzmbaxurmchswdlempodotdbizalbdfemtpnyddlmpzhsxcfkawqhtyrllxowihbkrtqltiptsmlfi\n", - "-2665.703026471621 mfee kdfgcjgtyjhggemperaztlpzrbaxprmcmswdgemptdotybizflbdaemtunydylmpehsxxfkabqhttrllcowicbkryqltdptsrlfi\n", - "-2636.3611564260223 mfwe kdngcjytyjpggeeperiztlhzrbixprecmsedgeeptdwtybazfljdaeetungdylepehaxxfcabqpttrdlcoeicbcryqttdplsrlni\n", - "-2715.230513754141 mfne kdwgcjptyjyggevperrztlyzrbrxprvcmsndgevptdftybrzflsdaevtunpdylvpehjxxftabqyttrulconicbtryqctdpcsrlwi\n", - "-2716.8220137039316 mfni kdwccjpxyjycgevterrvtlydrbrtprvgmsnzgevttdfpybrdflszaevxunpzylvtehjtxftebqyptrupconecbtvyqcpdpcwrlwe\n", - "-2684.9847884675028 mhni kbwcclpxyhycggvteprvtnydrzrtptvgmqnzggvttbfpydrdfjszagvxulpzynvtefjtxhteboypttupcmnecdtvyocpdrcwrjwe\n", - "-2701.8046622541456 chni ubwcslpxihycwgvtoprvjnydbzrtftvgwqnzwgvtdbfpodrdpjszqgvxelpzonvtofjtnhteloypjtupmmnesdtviocptrcwbjwe\n", - "-2729.214574079048 crni urwcsvpxixycwqvtofrvjxydbprtfdvgwgnzwqvtdrfponrdpzszqqvxebpzoxvtovjtnrteleypjdupmcnesntviecptbcwbzwe\n", - "-2752.5724175656724 crnq urwusvpfixyuwqvbofrnjxylbprlfdvowgnrwqvbdrfhonrlpzsrqqvfebproxvbovjlnrtmleyhjduxmcnwsntdiechtbcebzww\n", - "-2718.925660733296 conq uuwusspfiayuwnvboirnjuylbsrlfavowjnrwnvbdufhokrlpcsrqnvfeeprouvboyjlnotmlhyhjauxmfnwsktdihchtycebcww\n", - "-2715.4758128676594 cjnq uzwusnpfifyuwivbonrnjpylbxrlfvvowonrwivbdzfhofrlphsrqivfejpropvbodjlnjtmlmyhjvuxmknwsftdimchttcebhww\n", - "-2689.208413095173 cjjq uzausnlfifcuwirbonvnjpulbxvlfvroworrwirbdzjhofnlphwrqirfejtroprbodnlnjpmlmchjvqxmkrwsfpdimghttyebhaw\n", - "-2655.859535670023 cjpq uzuusnrfifwuwixbonpnjpalbxplfvxowolrwixbdzdhoftlphqrqixfejnropxbodhlnjvmlmwhjvwxmklwsfvdimahtteebhuw\n", - "-2707.087464601598 cjuq uzpusnwfifruwicbonknjpflbxklfvcowogrwicbdzyhofylphlrqicfejiropcbodclnjamlmrhjvbxmkgwsfadimvhttjebhpw\n", - "-2700.859965017672 cjua uzpksnwpifrkwiclonkdjpfvbxkbfvcywoghwicldzyxofyvphlhqicpejihopclodcbnjawlmrxjvbhmkgmsfanimvxttjobhpm\n", - "-2695.53270565921 tjua dzpkjnwprfrkniclxnkdapfvkxkbwvcyfoghniclmzyxffyvyhlhhicpnjihfpclxdcbejawumrxavbhvkgmjfanrmvxktjokhpm\n", - "-2719.549355729937 pjua hzpkfnwpvfrkjiclbnkdwpfvoxkbsvcyjoghjiclqzyxbfyvchlhdicprjihbpclbdcbajawymrxwvbhzkgmffanvmvxgtjoohpm\n", - "-2718.2556761260207 njua jzpkdnwpxfrkhicldnkdupfvqxkbqvcyloghhiclszyxzfyvehlhbicptjihzpclddcbyjawamrxuvbhbkgmdfanxmvxetjoqhpm\n", - "-2759.779594235561 nfua jdpkdjwpxjrkhecldrkdulfvqbkbqrcylsghheclsdyxzbyvellhbecptnihzlcldhcbyfawaqrxurbhbogmdbanxqvxepjoqlpm\n", - "-2730.7114474459645 nfaa jdjkdjcpxjlkheildredullvqbebqriylsahheilsdsxzbevelfhbeiptnchzlildhwbyfgwaqlxurhhboamdbgnxqpxeppoqljm\n", - "-2641.3174892264565 zfaa xdjkpjcpljlkteilrredgllvebebcriyzsahteilgdsxlbevslfhneiphnchllilrhwbkfgwoqlxgrhhpoampbgnlqpxqppoeljm\n", - "-2588.4516523730326 zmaa xwjkpqcplclktlilrkedgslveuebcyiyzlahtlilgwsxlievsefhnliphgchlsilrawbkmgwojlxgyhhphampignljpxqwpoeejm\n", - "-2566.291870231054 zmpa xwukpqrplcwktlxlrkpdgsaveupbcyxyzllhtlxlgwdxlitvseqhnlxphgnhlsxlrahbkmvwojwxgywhphlmpivnljaxqweoeeum\n", - "-2597.4505683543707 zmph xwudpqrwlcwdtlxsrkpwgsaceupucyxfzllatlxsgwdqlitcseqanlxwhgnalsxsrahukmvdojwqgywophlfpivuljaqqweveeuf\n", - "-2550.581389101787 zmpj xwubpqrylcwbtlxurkpugsaeeupscyxhzllytlxugwdoliteseqynlxyhgnylsxurahskmvfojwogywqphldpivwljaoqwexeeud\n", - "-2549.161526328355 zmpi xwucpqrxlcwctlxtrkpvgsadeuptcyxgzllztlxtgwdplitdseqznlxxhgnzlsxtrahtkmveojwpgywpphlepivvljapqweweeue\n", - "-2607.4958800418767 lmpi lwucbqrxzcwcflxtfkpvssadsuptoyxgnllzflxtuwdpxitdgeqzzlxxvgnzxsxtfahtwmvecjwpsywpdhlebivvzjapcwewseue\n", - "-2638.555484547863 nmpi jwucdqrxxcwchlxtdkpvusadquptqyxglllzhlxtswdpzitdeeqzblxxtgnzzsxtdahtymveajwpuywpbhledivvxjapewewqeue\n", - "-2653.347251157384 nopi juucdsrxxawchnxtdipvuuadqsptqaxgljlzhnxtsudpzktdecqzbnxxtenzzuxtdyhtyoveahwpuawpbfledkvvxhapeyewqcue\n", - "-2670.477595060082 nopa juukdsrpxawkhnxldipduuavqspbqaxyljlhhnxlsudxzktvecqhbnxptenhzuxldyhbyovwahwxuawhbflmdkvnxhaxeyeoqcum\n", - "-2753.3428811278804 nnpa jvukdrrpxbwkhmxldjpdutavqtpbqzxylklhhmxlsvdxzjtvedqhbmxptfnhztxldzhbynvwaiwxuzwhbglmdjvnxiaxexeoqdum\n", - "-2701.363242259384 unpa cvukkrrpqbwkomxlwjpdbtavjtpbxzxyeklhomxllvdxgjtvxdqhimxpmfnhgtxlwzhbfnvwtiwxbzwhuglmkjvnqiaxlxeojdum\n", - "-2656.5720264354873 ufpa cdukkjrpqjwkoexlwrpdblavjbpbxrxyeslhoexllddxgbtvxlqhiexpmnnhglxlwhhbffvwtqwxbrwhuolmkbvnqqaxlpeojlum\n", - "-2655.7221497632513 ufpf cdufkjruqjwfoexqwrpyblaajbpwxrxdeslcoexqlddsgbtaxlqciexumnncglxqwhhwffvbtqwsbrwmuolhkbvsqqaslpetjluh\n", - "-2512.695668182283 uflf cdyfkjnuqjafoetqwrtyblwajbtwxrtdespcoetqldhsgbpaxlucietumnrcgltqwhlwffrbtqasbrsmuophkbrsqqeslpatjlyh\n", - "-2351.2533952419226 kflf mdyfajnuajafeetqgrtyrlwatbtwnrtdospceetqvdhswbpahlucyetuwnrcwltqghlwvfrbdqasrrsmeophabrsaqesbpattlyh\n", - "-2475.281348831274 zflf xdyfpjnuljaftetqrrtyglwaebtwcrtdzspctetqgdhslbpaslucnetuhnrclltqrhlwkfrboqasgrsmpophpbrslqesqpatelyh\n", - "-2460.9950035006145 zflm xdyypjnbljaytetxrrtrglwhebtpcrtkzspvtetxgdhllbphsluvnetbhnrvlltxrhlpkfrioqalgrstpopapbrzlqelqpaaelya\n", - "-2614.110274996699 zfem xdfypjgbljhytemxrrarglphebapcrmkzswvtemxgdollbihslbvnembhnyvllmxrhspkfkioqhlgrltpowapbkzlqllqptaelfa\n", - "-2609.6829615851743 zrem xrfypvgblxhytqmxrfargxphepapcdmkzgwvtqmxgrollnihszbvnqmbhbyvlxmxrvspkrkioehlgdltpcwapnkzlellqbtaezfa\n", - "-2623.0307129604817 zrez xrflpvgolxhltqmkrfaegxpuepaccdmxzgwitqmkgroylniuszbinqmohbyilxmkrvsckrkvoehygdlgpcwnpnkmlelyqbtnezfn\n", - "-2646.290800470514 zrjz xralpvlolxcltqrkrfvegxuuepvccdrxzgritqrkgrjylnnuszwinqrohbtilxrkrvnckrpvoecygdqgpcrnpnpmlegyqbynezan\n", - "-2652.5170600463534 zrmz xrxlpvoolxzltqukrfsegxxuepsccduxzgoitqukgrgylnqusztinquohbqilxukrvkckrsvoezygdtgpconpnsmledyqbbnezxn\n", - "-2652.5170600463534 zrmz xrxlpvoolxzltqukrfsegxxuepsccduxzgoitqukgrgylnqusztinquohbqilxukrvkckrsvoezygdtgpconpnsmledyqbbnezxn\n", - "-2612.941923045366 zrpz xrulpvrolxwltqxkrfpegxaueppccdxxzglitqxkgrdylntuszqinqxohbnilxxkrvhckrvvoewygdwgpclnpnvmleayqbenezun\n", - "-2629.709268481441 drpz trultvrohxwlxqxknfpekxauappcgdxxvglixqxkcrdypntuozqirqxodbnipxxknvhcorvvkewykdwglclntnvmheayubenazun\n", - "-2608.2626818365525 vrpz brullvropxwlpqxkvfpecxauippcydxxdglipqxkkrdyhntuwzqijqxolbnihxxkvvhcgrvvsewycdwgtclnlnvmpeaymbenizun\n", - "-2595.604006271685 vrsz brrllvuopxtlpqakvfmecxduipmcydaxdgiipqakkrayhnwuwznijqaolbkihxakvvecgryvsetycdzgtcinlnympexymbhnizrn\n", - "-2628.3043450898053 vrhz brcllvjopxelpqpkvfxecxsuipxcydpxdgtipqpkkrlyhnluwzyijqpolbvihxpkvvpcgrnvseeycdogtctnlnnmpeiymbwnizcn\n", - "-2508.9556327092664 krhz mrclavjoaxeleqpkgfxerxsutpxcndpxogtieqpkvrlywnluhzyiyqpowbviwxpkgvpcvrnvdeeyrdogectnannmaeiybbwntzcn\n", - "-2688.076640926931 jrhz nrclzvjobxeldqpkhfxeqxsuupxcmdpxpgtidqpkwrlyvnluizyixqpoxbvivxpkhvpcurnveeeyqdogfctnznnmbeiyabwnuzcn\n", - "-2649.750931734695 drhz trcltvjohxelxqpknfxekxsuapxcgdpxvgtixqpkcrlypnluozyirqpodbvipxpknvpcornvkeeykdoglctntnnmheiyubwnazcn\n", - "-2697.8428258842937 drhl trcztvjahxezxqpwnfxskxsgapxqgdpjvgtwxqpwcrlmpnlgozywrqpadbvwpxpwnvpqornhkeemkdoslctbtnnyheimubwzazcb\n", - "-2660.7462211862808 djhl tzcztnjahfezxipwnnxskpsgaxxqgvpjvotwxipwczlmpflgohywripadjvwpppwndpqojnhkmemkvoslktbtfnyhmimutwzahcb\n", - "-2687.52066937113 djol tzvztnqahfxzxiwwnnqskpzgaxqqgvwjvomwxiwwczempfsgohrwriwadjowppwwndiqojuhkmxmkvvslkmbtfuyhmbmutdzahvb\n", - "-2697.2073622442413 dhol tbvztlqahhxzxgwwnpqsknzgazqqgtwjvqmwxgwwcbempdsgojrwrgwadlowpnwwnfiqohuhkoxmktvslmmbtduyhobmurdzajvb\n", - "-2641.814181157352 dhyl tblztlaahhnzxggwnpgsknjgazgqgtgjvqcwxggwcbumpdcgojhwrggadlewpngwnfyqohehkonmktfslmcbtdeyhormurnzajlb\n", - "-2641.814181157352 dhyl tblztlaahhnzxggwnpgsknjgazgqgtgjvqcwxggwcbumpdcgojhwrggadlewpngwnfyqohehkonmktfslmcbtdeyhormurnzajlb\n", - "-2655.9809203367076 dgyl tclztkaahinzxfgwnqgskmjgaagqgsgjvrcwxfgwccumpccgokhwrfgadmewpmgwngyqogehkpnmksfslncbtceyhprmuqnzaklb\n", - "-2634.9373121949648 dsyl tqlztwaahwnzxrgwnegskyjgaogqgegjvfcwxrgwcqumpocgoyhwrrgadaewpygwnuyqosehkdnmkefslbcbtoeyhdrmucnzaylb\n", - "-2641.814181157352 dhyl tblztlaahhnzxggwnpgsknjgazgqgtgjvqcwxggwcbumpdcgojhwrggadlewpngwnfyqohehkonmktfslmcbtdeyhormurnzajlb\n", - "-2683.3811894347964 lhyl lblzblaazhnzfggwfpgssnjgszgqotgjnqcwfggwubumxdcggjhwzggavlewxngwffyqwhehconmstfsdmcbbdeyzormcrnzsjlb\n", - "-2625.0237639208794 lhyg lbleblavzhnefggrfpgxsnjbszgvotgenqcbfggruburxdcbgjhbzggvvlebxngrffyvwhecconrstfndmcgbdetzorrcrnusjlg\n", - "-2649.660838154993 lqyg lslebuavzynefpgrfggxswjbsqgvocgenhcbfpgrusurxmcbgahbzpgvvcebxwgrfwyvwqeccfnrscfnddcgbmetzfrrcanusalg\n", - "-2714.2855719265817 lqyk lslabuazzynafpgvfggtswjfsqgrocginhcxfpgvusunxmcfgahxzpgzvcexxwgvfwyrwqegcfnnscfrddccbmexzfrncanysalc\n", - "-2717.0584095173695 lryk lrlabvazzxnafqgvffgtsxjfspgrodgingcxfqgvurunxncfgzhxzqgzvbexxxgvfvyrwregcennsdfrdcccbnexzerncbnyszlc\n", - "-2738.3154688013456 lryy lrlmbvanzxnmfqgjffgfsxjtspgdodgwngcjfqgjuruzxnctgzhjzqgnvbejxxgjfvydwreucenzsdffdccobnelzerzcbnmszlo\n", - "-2799.1002528408 lrcy lrhmbvenzxjmfqkjffcfsxntspcdodkwngyjfqkjurqzxngtgzdjzqknvbajxxkjfvudwriucejzsdjfdcyobnilzenzcbrmszho\n", - "-2616.7379455379255 krcy mrhmavenaxjmeqkjgfcfrxnttpcdndkwogyjeqkjvrqzwngthzdjyqknwbajwxkjgvudvriudejzrdjfecyoanilaenzbbrmtzho\n", - "-2549.137654058193 krcq mrhuavefaxjueqkbgfcnrxnltpclndkoogyreqkbvrqhwnglhzdryqkfwbarwxkbgvulvrimdejhrdjxecywanidaenhbbretzhw\n", - "-2550.8984109255666 kzcq mjhuadefapjueykbgxcnrfnlthclnlkooyyreykbvjqhwvglhrdryykfwtarwfkbgnulvzimdwjhrljxeuywavidawnhbjretrhw\n", - "-2508.7794864500142 kzeq mjfuadgfaphueymbgxanrfplthalnlmooywreymbvjohwvilhrbryymfwtyrwfmbgnslvzkmdwhhrllxeuwwavkdawlhbjtetrfw\n", - "-2723.4950778627913 pzeq hjfufdgfvphujymbbxanwfplohalslmojywrjymbqjohbvilcrbrdymfrtyrbfmbbnslazkmywhhwllxzuwwfvkdvwlhgjteorfw\n", - "-2791.095369342523 pzey hjfmfdgnvphmjymjbxafwfptohadslmwjywjjymjqjozbvitcrbjdymnrtyjbfmjbnsdazkuywhzwllfzuwofvklvwlzgjtmorfo\n", - "-2789.801689738608 nzey jjfmddgnxphmhymjdxafufptqhadqlmwlywjhymjsjozzviterbjbymnttyjzfmjdnsdyzkuawhzullfbuwodvklxwlzejtmqrfo\n", - "-2749.0609343404803 ncey jgfmdggnxmhmhbmjduafuiptqeadqomwlvwjhbmjsgozzyiteobjbbmntqyjzimjdksdyckuathzuolfbrwodyklxtlzemtmqofo\n", - "-2732.5499926470875 ntey jpfmdxgnxvhmhsmjddafuzptqnadqfmwlewjhsmjspozzpitexbjbsmntzyjzzmjdtsdytkuachzuflfbawodpklxclzedtmqxfo\n", - "-2705.0256251054393 ntel jpfzdxgaxvhzhsmwddasuzpgqnaqqfmjlewwhsmwspomzpigexbwbsmatzywzzmwdtsqytkhachmuflsbawbdpkyxclmedtzqxfb\n", - "-2737.903255918555 ntdl jpgzdxfaxvizhslwddbsuzogqnbqqfljlexwhslwsppmzphgexcwbslatzzwzzlwdttqytjhacimufksbaxbdpjyxcmmedszqxgb\n", - "-2686.46327775961 qtdl gpgzgxfauvizkslwadbsxzognnbqtfljiexwkslwpppmcphgbxcweslaqzzwczlwattqbtjhxcimxfksyaxbgpjyucmmhdsznxgb\n", - "-2716.5820079922023 etdl spgzuxfagvizyslwmdbslzogznbqhfljuexwyslwbppmqphgnxcwsslaczzwqzlwmttqptjhjcimlfkskaxbupjygcmmvdszzxgb\n", - "-2759.2185834619318 etdo spgwuxfdgviwyslzmdbplzojznbnhflmuextyslzbppjqphjnxctssldczztqzlzmttnptjkjcijlfkvkaxyupjbgcmjvdsczxgy\n", - "-2781.0627668537013 eodo sugwusfdgaiwynlzmibpluojzsbnhalmujxtynlzbupjqkhjncctsnldceztqulzmytnpojkjhijlakvkfxyukjbghmjvysczcgy\n", - "-2781.0627668537013 eodo sugwusfdgaiwynlzmibpluojzsbnhalmujxtynlzbupjqkhjncctsnldceztqulzmytnpojkjhijlakvkfxyukjbghmjvysczcgy\n", - "-2771.4452235506196 eojo suawusldgacwynrzmivpluujzsvnharmujrtynrzbujjqknjncwtsnrdcettqurzmynnpopkjhcjlaqvkfryukpbghgjvyyczcay\n", - "-2771.4452235506196 eojo suawusldgacwynrzmivpluujzsvnharmujrtynrzbujjqknjncwtsnrdcettqurzmynnpopkjhcjlaqvkfryukpbghgjvyyczcay\n", - "-2767.800522381048 eozo sukwusbdgamwynhzmifplukjzsfnhahmujbtynhzbutjqkdjncgtsnhdcedtquhzmyxnpofkjhmjlagvkfbyukfbghqjvyoczcky\n", - "-2518.6085516493267 eozt sukrusbigamrynhemifklukozsfihahrujboynhebuteqkdoncgosnhicedoquhemyxipofpjhmelagakfbtukfgghqevyohzckt\n", - "-2677.072052761718 eozz suklusbogamlynhkmifelukuzsfchahxujbiynhkbutyqkduncgisnhocediquhkmyxcpofvjhmylaggkfbnukfmghqyvyonzckn\n", - "-2696.3481077725023 eozs suksusbhgamsynhdmiflluknzsfjhahqujbpynhdbutfqkdnncgpsnhhcedpquhdmyxjpofojhmflagzkfbuukffghqfvyogzcku\n", - "-2731.4312551689895 eozk sukausbzgamaynhvmiftlukfzsfrhahiujbxynhvbutnqkdfncgxsnhzcedxquhvmyxrpofgjhmnlagrkfbcukfxghqnvyoyzckc\n", - "-2700.7728642268444 uozk cukaksbzqamaonhvwiftbukfjsfrxahiejbxonhvlutngkdfxcgxinhzmedxguhvwyxrfofgthmnbagrufbckkfxqhqnlyoyjckc\n", - "-2752.7525030953425 nozk jukadsbzxamahnhvdiftuukfqsfrqahiljbxhnhvsutnzkdfecgxbnhztedxzuhvdyxryofgahmnuagrbfbcdkfxxhqneyoyqckc\n", - "-2717.6693556988557 nozs juksdsbhxamshnhddifluuknqsfjqahqljbphnhdsutfzkdnecgpbnhhtedpzuhddyxjyofoahmfuagzbfbudkffxhqfeyogqcku\n", - "-2728.1951392389983 nors jussdsthxaushnzddinluucnqsnjqazqljjphnzdsubfzkvnecopbnzhtelpzuzddyfjyoxoahufuayzbfjudkxfxhyfeyggqcsu\n", - "-2682.0060664377534 nvrs jnssdzthxtushuzddbnlubcnqlnjqhzqlcjphuzdsnbfzrvnevopbuzhtxlpzbzddrfjyvxoaaufuhyzbyjudrxfxayfefggqvsu\n", - "-2660.6848185114004 evrs snssuzthgtusyuzdmbnllbcnzlnjhhzqucjpyuzdbnbfqrvnnvopsuzhcxlpqbzdmrfjpvxojauflhyzkyjuurxfgayfvfggzvsu\n", - "-2653.8037361408296 evjs snasuzlhgtcsyurdmbvllbunzlvjhhrqucrpyurdbnjfqrnnnvwpsurhcxtpqbrdmrnjpvpojacflhqzkyruurpfgagfvfygzvau\n", - "-2632.8274372380743 evvs snosuzxhgtqsyuddmbjllbgnzljjhhdqucfpyuddbnxfqrznnvkpsudhcxhpqbddmrbjpvbojaqflhczkyfuurbfgaufvfkgzvou\n", - "-2632.8274372380743 evvs snosuzxhgtqsyuddmbjllbgnzljjhhdqucfpyuddbnxfqrznnvkpsudhcxhpqbddmrbjpvbojaqflhczkyfuurbfgaufvfkgzvou\n", - "-2657.7366499241466 evvv snopuzxkgtqpyudgmbjilbgqzljghhdtucfmyudgbnxcqrzqnvkmsudkcxhmqbdgmrbgpvbrjaqclhcckyfrurbigaucvfkjzvor\n", - "-2730.916014356958 eavv siopuexkgoqpyzdgmwjilggqzgjghmdtuxfmyzdgbixcqwzqnqkmszdkcshmqgdgmmbgpabrjvqclmccktfruwbigvucvkkjzqor\n", - "-2699.2903557040822 eawv sinpueykgoppyzegmwiilghqzgighmetuxemyzegbiwcqwaqnqjmszekcsgmqgegmmagpacrjvpclmdckteruwcigvtcvkljzqnr\n", - "-2501.117088661593 eiwv sanpumykggppyhegmoiilohqzyighuetupemyhegbawcqeaqnijmshekckgmqoegmeagpicrjnpcludckleruecigntcvsljzinr\n", - "-2542.5299509340543 eiav sajpumckgglpyhigmoeilolqzyeghuitupamyhigbascqeeqnifmshikckcmqoigmewgpigrjnlcluhcklaruegignpcvspjzijr\n", - "-2470.0474602814984 eiax sajnumcmgglnyhiimoeglolszyeehuivupakyhiibasaqeesnifkshimckckqoiimewepigtjnlaluheklapuegkgnpavsplzijp\n", - "-2595.0413628911756 evax snjnuzcmgtlnyuiimbeglblszleehhivucakyuiibnsaqresnvfksuimcxckqbiimrwepvgtjalalhhekyapurgkgapavfplzvjp\n", - "-2595.0413628911756 evax snjnuzcmgtlnyuiimbeglblszleehhivucakyuiibnsaqresnvfksuimcxckqbiimrwepvgtjalalhhekyapurgkgapavfplzvjp\n", - "-2598.9668997091794 cvax unjnszcmitlnwuiiobegjblsbleefhivwcakwuiidnsaorespvfkquimexckobiiorwenvgtlalajhhemyapsrgkiapatfplbvjp\n", - "-2468.800621552491 cvat unjrszciitlrwuieobekjblobleifhirwcaowuiednseoreopvfoquiiexcoobieorwinvgplalejhhamyatsrggiapetfphbvjt\n", - "-2459.0134179329043 cvvt unorszxiitqrwudeobjkjbgobljifhdrwcfowudednxeorzopvkoqudiexhoobdeorbinvbplaqejhcamyftsrbgiauetfkhbvot\n", - "-2636.7529740560776 cvvs unosszxhitqswuddobjljbgnbljjfhdqwcfpwudddnxforznpvkpqudhexhpobddorbjnvbolaqfjhczmyfusrbfiauftfkgbvou\n", - "-2654.148685164427 nvvs jnosdzxhxtqshudddbjlubgnqljjqhdqlcfphuddsnxfzrznevkpbudhtxhpzbdddrbjyvboaaqfuhczbyfudrbfxaufefkgqvou\n", - "-2654.148685164427 nvvs jnosdzxhxtqshudddbjlubgnqljjqhdqlcfphuddsnxfzrznevkpbudhtxhpzbdddrbjyvboaaqfuhczbyfudrbfxaufefkgqvou\n", - "-2679.057897850499 nvvv jnopdzxkxtqphudgdbjiubgqqljgqhdtlcfmhudgsnxczrzqevkmbudktxhmzbdgdrbgyvbraaqcuhccbyfrdrbixaucefkjqvor\n", - "-2665.3401720025554 nvvd jnohdzxsxtqhhudodbjaubgyqljyqhdblcfehudosnxuzrzyevkebudstxhezbdodrbyyvbzaaquuhckbyfjdrbqxauuefkrqvoj\n", - "-2476.409129041255 nvvt jnordzxixtqrhudedbjkubgoqljiqhdrlcfohudesnxezrzoevkobuditxhozbdedrbiyvbpaaqeuhcabyftdrbgxaueefkhqvot\n", - "-2543.0017860293283 ngvt jcordkxixiqrhfdedqjkumgoqajiqsdrlrfohfdescxezczoekkobfditmhozmdedgbiygbpapqeuscabnftdcbgxpueeqkhqkot\n", - "-2514.117303854497 sgvt ecorikxisiqrmfdeyqjkzmgolajivsdrgrfomfdencxeeczozkkogfdiomhoemdeygbidgbpvpqezscawnfticbgspuejqkhlkot\n", - "-2478.743108458622 ogvt icorekxiwiqrifdecqjkvmgopajirsdrkrfoifdercxeaczodkkocfdismhoamdecgbizgbpzpqevscaanftecbgwpuefqkhpkot\n", - "-2482.0753252157374 ogft icerekhiwigrifnecqzkvmqopazirsnrkrvoifnercneacjodkaocfnismxoamnecgrizglpzpgevsmaanvteclgwpkefquhpket\n", - "-2496.0747061918073 ogzt ickrekbiwimrifhecqfkvmkopafirshrkrboifhercteacdodkgocfhismdoamhecgxizgfpzpmevsgaanbtecfgwpqefqohpkkt\n", - "-2518.5782443269 ogct ichrekeiwijrifkecqckvmnopacirskrkryoifkercqeacgodkdocfkismaoamkecguizgipzpjevsjaanytecigwpnefqrhpkht\n", - "-2494.7248122744313 ojct izhreneiwfjriikecnckvpnopxcirvkrkoyoiikerzqeafgodhdocikisjaoapkecduizjipzmjevvjaakytefigwmneftrhphht\n", - "-2527.9238853391507 ljct lzhrbneizfjrfikefnckspnosxciovkrnoyofikeuzqexfgoghdozikivjaoxpkefduiwjipcmjesvjadkytbfigzmnectrhshht\n", - "-2509.7519601752733 lpct lthrbteizzjrfokefhcksvnosrciobkrniyofokeutqexlgogbdozokivdaoxvkefxuiwpipcgjesbjadeytbligzgneczrhsbht\n", - "-2517.1605229822408 lpnt ltwrbtpizzyrfovefhrksvyosrriobvrninofoveutfexlrogbsozovivdpoxvvefxjiwptpcgyesbuadentbltgzgceczchsbwt\n", - "-2519.335645313397 spnt etwritpiszyrmoveyhrkzvyolrrivbvrginomoventfeelrozbsogoviodpoevveyxjidptpvgyezbuawentiltgsgcejzchlbwt\n", - "-2535.6241766445355 scnt egwrigpismyrmbveyurkziyolerivovrgvnombvengfeeyrozosogbvioqpoeiveykjidctpvtyezouawrntiytgstcejmchlowt\n", - "-2494.768345541667 svnt enwrizpistyrmuveybrkzbyollrivhvrgcnomuvennfeerrozvsoguvioxpoebveyrjidvtpvayezhuawyntirtgsacejfchlvwt\n", - "-2447.5246468664227 svvt enorizxistqrmudeybjkzbgolljivhdrgcfomudennxeerzozvkogudioxhoebdeyrbidvbpvaqezhcawyftirbgsauejfkhlvot\n", - "-2486.3799972756065 svut enprizwistrrmuceybkkzbfollkivhcrgcgomucennyeeryozvlogucioxioebceyrcidvapvarezhbawygtiragsavejfjhlvpt\n", - "-2631.495747012689 svum enpyizwbstrymucxybkrzbfhllkpvhckgcgvmucxnnyleryhzvlvgucboxivebcxyrcpdvaivarlzhbtwygairazsavljfjalvpa\n", - "-2608.9402510285745 qvum gnpygzwbutrykucxabkrxbfhnlkpthckicgvkucxpnylcryhbvlveucbqxivcbcxarcpbvaixarlxhbtyygagrazuavlhfjanvpa\n", - "-2639.0589812611647 evum snpyuzwbgtryyucxmbkrlbfhzlkphhckucgvyucxbnylqryhnvlvsucbcxivqbcxmrcppvaijarllhbtkygaurazgavlvfjazvpa\n", - "-2681.7982061967728 ejum szpyunwbgfryyicxmnkrlpfhzxkphvckuogvyicxbzylqfyhnhlvsicbcjivqpcxmdcppjaijmrllvbtkkgaufazgmvlvtjazhpa\n", - "-2651.6794759641816 qjum gzpygnwbufrykicxankrxpfhnxkptvckiogvkicxpzylcfyhbhlveicbqjivcpcxadcpbjaixmrlxvbtykgagfazumvlhtjanhpa\n", - "-2654.4892998749065 qsum gqpygwwbuwrykrcxaekrxyfhnokpteckifgvkrcxpqylcoyhbylvercbqaivcycxaucpbsaixdrlxebtybgagoazudvlhcjanypa\n", - "-2707.222957637766 psum hqpyfwwbvwryjrcxbekrwyfhookpseckjfgvjrcxqqylboyhcylvdrcbraivbycxbucpasaiydrlwebtzbgafoazvdvlgcjaoypa\n", - "-2654.4892998749065 qsum gqpygwwbuwrykrcxaekrxyfhnokpteckifgvkrcxpqylcoyhbylvercbqaivcycxaucpbsaixdrlxebtybgagoazudvlhcjanypa\n", - "-2663.6979257664702 qyum gkpygcwbuqrykxcxaykrxefhnikptkckizgvkxcxpkylcuyhbslvexcbquivcecxaocpbyaixxrlxkbtyvgaguazuxvlhijanspa\n", - "-2675.540206937523 byum vkpyrcwbjqryvxcxpykriefhcikpekckxzgvvxcxekylnuyhqslvpxcbfuivnecxpocpmyaimxrlikbtnvgaruazjxvlsijacspa\n", - "-2702.3791187006223 bzum vjpyrdwbjpryvycxpxkriffhchkpelckxygvvycxejylnvyhqrlvpycbftivnfcxpncpmzaimwrlilbtnugarvazjwvlsjjacrpa\n", - "-2638.49251420418 bzsm vjryrdubjptyvyaxpxmrifdhchmpelakxyivvyaxejalnvwhqrnvpyabftkvnfaxpnepmzyimwtlilztnuiarvyzjwxlsjhacrra\n", - "-2651.151189769047 bzpm vjuyrdrbjpwyvyxxpxprifahchppelxkxylvvyxxejdlnvthqrqvpyxbftnvnfxxpnhpmzvimwwlilwtnularvvzjwalsjeacrua\n", - "-2666.287411771943 bzpa vjukrdrpjpwkvyxlpxpdifavchpbelxyxylhvyxlejdxnvtvqrqhpyxpftnhnfxlpnhbmzvwmwwxilwhnulmrvvnjwaxsjeocrum\n", - "-2657.7103421231573 bzya vjlkrdapjpnkvyglpxgdifjvchgbelgyxychvyglejuxnvcvqrhhpygpftehnfglpnybmzewmwnxilfhnucmrvenjwrxsjnocrlm\n", - "-2642.574120120262 bzym vjlyrdabjpnyvygxpxgrifjhchgpelgkxycvvygxejulnvchqrhvpygbftevnfgxpnypmzeimwnlilftnucarvezjwrlsjnacrla\n", - "-2560.977533619267 bvym vnlyrzabjtnyvugxpbgribjhclgpehgkxccvvugxenulnrchqvhvpugbfxevnbgxprypmveimanlihftnycarrezjarlsfnacvla\n", - "-2549.135252448215 qvym gnlygzabutnykugxabgrxbjhnlgpthgkiccvkugxpnulcrchbvhveugbqxevcbgxarypbveixanlxhftyycagrezuarlhfnanvla\n", - "-2613.195963587919 qvim gnbygzkbutdykuqxabwrxbthnlwpthqkicsvkuqxpnklcrmhbvxveuqbqxuvcbqxaropbvoixadlxhptyysagrozuahlhfxanvba\n", - "-2667.953638325814 qyim gkbygckbuqdykxqxaywrxethniwptkqkizsvkxqxpkklcumhbsxvexqbquuvceqxaoopbyoixxdlxkptyvsaguozuxhlhixansba\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2714.248558452026 qyih gkbdgckwuqddkxqsaywwxetcniwutkqfizsakxqspkkqcumcbsxaexqwquuaceqsaooubyodxxdqxkpoyvsfguouuxhqhixvnsbf\n", - "-2695.2236682850967 qyiu gkbqgckjuqdqkxqfaywjxetpniwhtkqsizsnkxqfpkkdcumpbsxnexqjquunceqfaoohbyoqxxddxkpbyvssguohuxhdhixinsbs\n", - "-2681.321824650068 qciu ggbqggkjumdqkbqfauwjxitpnewhtoqsivsnkbqfpgkdcympboxnebqjqqunciqfakohbcoqxtddxopbyrssgyohuthdhmxinobs\n", - "-2692.891911355919 qhiu gbbqglkjuhdqkgqfapwjxntpnzwhttqsiqsnkgqfpbkdcdmpbjxnegqjqluncnqfafohbhoqxoddxtpbymssgdohuohdhrxinjbs\n", - "-2683.205218482807 qjiu gzbqgnkjufdqkiqfanwjxptpnxwhtvqsiosnkiqfpzkdcfmpbhxneiqjqjuncpqfadohbjoqxmddxvpbykssgfohumhdhtxinhbs\n", - "-2652.3495666739327 qjie gzbggnktufdgkiqpanwzxptznxwxtvqciosdkiqppzktcfmzbhxdeiqtqjudcpqpadoxbjoaxmdtxvplyksigforumhthtxsnhbi\n", - "-2677.3802183988787 quie gobggyktuudgktqpacwzxatznmwxtgqcidsdktqppoktcqmzbwxdetqtqyudcaqpasoxbuoaxbdtxgplyzsigqorubhthexsnwbi\n", - "-2641.938240161213 quhe gocggyjtuuegktppacxzxasznmxxtgpcidtdktpppoltcqlzbwydetptqyvdcappaspxbunaxbetxgolyztigqnrubithewsnwci\n", - "-2699.319028704761 quhr goctgyjguuetktpcacxmxasmnmxktgppidtqktpcpolgcqlmbwyqetpgqyvqcapcaspkbunnxbegxgoyyztvgqneubighewfnwcv\n", - "-2728.0360363968944 tuhr doctjyjgruetntpcxcxmaasmkmxkwgppfdtqntpcmolgfqlmywyqhtpgnyvqfapcxspkeunnubegagoyvztvjqnerbigkewfkwcv\n", - "-2721.5239154847422 tuhb docjjyjqruejntpmxcxcaaswkmxawgpzfdtgntpmmolwfqlwywyghtpqnyvgfapmxspaeunxubewagoivztljqnorbiwkewpkwcl\n", - "-2763.204882769493 tuhy docmjyjnruemntpjxcxfaastkmxdwgpwfdtjntpjmolzfqltywyjhtpnnyvjfapjxspdeunuubezagofvztojqnlrbizkewmkwco\n", - "-2688.527215033598 tuhf docfjyjuruefntpqxcxyaasakmxwwgpdfdtcntpqmolsfqlaywychtpunyvcfapqxspweunbubesagomvzthjqnsrbiskewtkwch\n", - "-2715.301663218447 tuof dovfjyquruxfntwqxcqyaazakmqwwgwdfdmcntwqmoesfqsaywrchtwunyocfawqxsiweuububxsagvmvzmhjqusrbbskedtkwvh\n", - "-2701.8344292054926 tujf doafjylurucfntrqxcvyaauakmvwwgrdfdrcntrqmojsfqnaywwchtrunytcfarqxsnweupbubcsagqmvzrhjqpsrbgskeytkwah\n", - "-2666.6753623037484 wujf aoafmyluoucfqtrqucvydauahmvwzgrdcdrcqtrqjojsiqnavwwcktrukytciarqusnwhupbrbcsdgqmszrhmqpsobgsneythwah\n", - "-2627.262033046037 wxjf alafmbluorcfqwrquzvydduahjvwzjrdcarcqwrqjljsitnavtwckwrukvtcidrqupnwhxpbrycsdjqmswrhmtpsoygsnhythtah\n", - "-2636.8795763491175 wxdf algfmbfuorifqwlquzbyddoahjbwzjldcaxcqwlqjlpsithavtcckwlukvzcidlquptwhxjbryisdjkmswxhmtjsoymsnhsthtgh\n", - "-2450.88667403992 wxlf alyfmbnuorafqwtquztyddwahjtwzjtdcapcqwtqjlhsitpavtuckwtukvrcidtquplwhxrbryasdjsmswphmtrsoyesnhathtyh\n", - "-2504.1267131380737 wzlf ajyfmdnuopafqytquxtydfwahhtwzltdcypcqytqjjhsivpavruckytuktrciftqunlwhzrbrwasdlsmsuphmvrsowesnjathryh\n", - "-2453.927432828802 wmlf awyfmqnuocafqltquktydswahutwzytdclpcqltqjwhsiipaveuckltukgrcistqualwhmrbrjasdysmshphmirsojesnwatheyh\n", - "-2489.122783625152 wglf acyfmknuoiafqftquqtydmwahatwzstdcrpcqftqjchsicpavkuckftukmrcimtquglwhgrbrpasdssmsnphmcrsopesnqathkyh\n", - "-2623.5721955573354 wgyf aclfmkauoinfqfgquqgydmjahagwzsgdcrccqfgqjcusiccavkhckfgukmecimgqugywhgebrpnsdsfmsnchmcesoprsnqnthklh\n", - "-2619.490589641254 wgsf acrfmkuuoitfqfaquqmydmdahamwzsadcricqfaqjcasicwavknckfaukmkcimaqugewhgybrptsdszmsnihmcysopxsnqhthkrh\n", - "-2687.63290669704 wgif acbfmkkuoidfqfqquqwydmtahawwzsqdcrscqfqqjcksicmavkxckfqukmucimqqugowhgobrpdsdspmsnshmcosophsnqxthkbh\n", - "-2777.422782361016 wgio acbwmkkdoidwqfqzuqwpdmtjhawnzsqmcrstqfqzjckjicmjvkxtkfqdkmutimqzugonhgokrpdjdspvsnsymcobophjnqxchkby\n", - "-2710.830125372942 wvio anbwmzkdotdwquqzubwpdbtjhlwnzhqmccstquqzjnkjirmjvvxtkuqdkxutibqzuronhvokradjdhpvsysymroboahjnfxchvby\n", - "-2710.830125372942 wvio anbwmzkdotdwquqzubwpdbtjhlwnzhqmccstquqzjnkjirmjvvxtkuqdkxutibqzuronhvokradjdhpvsysymroboahjnfxchvby\n", - "-2710.830125372942 wvio anbwmzkdotdwquqzubwpdbtjhlwnzhqmccstquqzjnkjirmjvvxtkuqdkxutibqzuronhvokradjdhpvsysymroboahjnfxchvby\n", - "-2768.712162741498 nvio jnbwdzkdxtdwhuqzdbwpubtjqlwnqhqmlcsthuqzsnkjzrmjevxtbuqdtxutzbqzdronyvokaadjuhpvbysydrobxahjefxcqvby\n", - "-2722.168960819026 nviv jnbpdzkkxtdphuqgdbwiubtqqlwgqhqtlcsmhuqgsnkczrmqevxmbuqktxumzbqgdrogyvoraadcuhpcbysrdroixahcefxjqvbr\n", - "-2714.9393567789825 nvin jnbxdzkcxtdxhuqydbwqubtiqlwoqhqllcsuhuqysnkkzrmievxubuqctxuuzbqydrooyvojaadkuhpubyszdroaxahkefxbqvbz\n", - "-2665.4420431651843 ivin onbxyzkcctdxcuqyibwqpbtivlwolhqlqcsucuqyxnkkurmijvxuwuqcyxuuubqyirootvojfadkphpugyszyroacahkzfxbvvbz\n", - "-2662.959717910486 uvin cnbxkzkcqtdxouqywbwqbbtijlwoxhqlecsuouqylnkkgrmixvxuiuqcmxuugbqywroofvojtadkbhpuuyszkroaqahklfxbjvbz\n", - "-2680.6384531877866 jvin nnbxzzkcbtdxduqyhbwqqbtiulwomhqlpcsuduqywnkkvrmiivxuxuqcxxuuvbqyhroouvojeadkqhpufyszzroabahkafxbuvbz\n", - "-2651.698759742488 jviq nnbuzzkfbtduduqbhbwnqbtlulwlmhqopcsrduqbwnkhvrmlivxrxuqfxxurvbqbhroluvomeadhqhpxfyswzrodbahhafxeuvbw\n", - "-2680.6384531877866 jvin nnbxzzkcbtdxduqyhbwqqbtiulwomhqlpcsuduqywnkkvrmiivxuxuqcxxuuvbqyhroouvojeadkqhpufyszzroabahkafxbuvbz\n", - "-2684.1302048496223 jvir nnbtzzkgbtdtduqchbwmqbtmulwkmhqppcsqduqcwnkgvrmmivxqxuqgxxuqvbqchrokuvoneadgqhpyfysvzroebahgafxfuvbv\n", - "-2645.471260158562 jvia nnbkzzkpbtdkduqlhbwdqbtvulwbmhqypcshduqlwnkxvrmvivxhxuqpxxuhvbqlhrobuvoweadxqhphfysmzronbahxafxouvbm\n", - "-2630.5576768161304 jvxa nnmkzzzpbtokduflhbhdqbivulhbmhfypcdhduflwnvxvrbvivihxufpxxfhvbflhrzbuvdweaoxqhehfydmzrdnbasxafmouvmm\n", - "-2630.2175784633628 jvra nnskzztpbtukduzlhbndqbcvulnbmhzypcjhduzlwnbxvrvvivohxuzpxxlhvbzlhrfbuvxweauxqhyhfyjmzrxnbayxafgouvsm\n", - "-2579.333703582068 xvra znsknztpntukruzltbndebcvglnbahzybcjhruzlinbxjrvvuvohluzpjxlhjbzltrfbivxwqauxehyhryjmnrxnnayxofgogvsm\n", - "-2598.370966643749 rvra fnskhztpttukluzlzbndybcvmlnbuhzyhcjhluzlonbxdrvvavohfuzppxlhdbzlzrfbcvxwwauxyhyhxyjmhrxntayxifgomvsm\n", - "-2573.8458021275364 rvfa fnekhzhpttgklunlzbzdybqvmlzbuhnyhcvhlunlonnxdrjvavahfunppxxhdbnlzrrbcvlwwagxyhmhxyvmhrlntakxifuomvem\n", - "-2600.395620550455 bvfa vnekrzhpjtgkvunlpbzdibqvclzbehnyxcvhvunlennxnrjvqvahpunpfxxhnbnlprrbmvlwmagxihmhnyvmrrlnjakxsfuocvem\n", - "-2627.657245999177 bvda vngkrzfpjtikvullpbbdibovclbbehlyxcxhvullenpxnrhvqvchpulpfxzhnbllprtbmvjwmaixihkhnyxmrrjnjamxsfsocvgm\n", - "-2618.0397026960973 bvja vnakrzlpjtckvurlpbvdibuvclvbehryxcrhvurlenjxnrnvqvwhpurpfxthnbrlprnbmvpwmacxihqhnyrmrrpnjagxsfyocvam\n", - "-2635.918754202523 bvua vnpkrzwpjtrkvuclpbkdibfvclkbehcyxcghvuclenyxnryvqvlhpucpfxihnbclprcbmvawmarxihbhnygmrranjavxsfjocvpm\n", - "-2704.718169495566 bkua vypkrowpjerkvjclpmkdiqfvcwkbewcyxnghvjcleyyxngyvqglhpjcpfiihnqclpccbmkawmlrxiwbhnjgmrganjlvxsujocgpm\n", - "-2693.7202003597104 bkra vyskrotpjeukvjzlpmndiqcvcwnbewzyxnjhvjzleybxngvvqgohpjzpfilhnqzlpcfbmkxwmluxiwyhnjjmrgxnjlyxsugocgsm\n", - "-2709.183928111813 bfra vdskrjtpjjukvezlprndilcvcbnberzyxsjhvezledbxnbvvqlohpezpfnlhnlzlphfbmfxwmquxiryhnojmrbxnjqyxspgoclsm\n", - "-2736.411644367666 hfra pdskxjtpdjukbezljrndolcvwbnbkrzyrsjhbezlydbxtbvvklohvezpznlhtlzljhfbsfxwgquxoryhhojmxbxndqyxypgowlsm\n", - "-2717.7220205937183 lfra ldskbjtpzjukfezlfrndslcvsbnborzynsjhfezludbxxbvvglohzezpvnlhxlzlfhfbwfxwcquxsryhdojmbbxnzqyxcpgoslsm\n", - "-2748.7816250997053 nfra jdskdjtpxjukhezldrndulcvqbnbqrzylsjhhezlsdbxzbvvelohbezptnlhzlzldhfbyfxwaquxuryhbojmdbxnxqyxepgoqlsm\n", - "-2760.7593796946544 nfca jdhkdjepxjjkhekldrcdulnvqbcbqrkylsyhheklsdqxzbgveldhbekptnahzlkldhubyfiwaqjxurjhboymdbinxqnxeproqlhm\n", - "-2762.05305929857 pfca hdhkfjepvjjkjeklbrcdwlnvobcbsrkyjsyhjeklqdqxbbgvcldhdekprnahblklbhubafiwyqjxwrjhzoymfbinvqnxgproolhm\n", - "-2750.075304703621 pfra hdskfjtpvjukjezlbrndwlcvobnbsrzyjsjhjezlqdbxbbvvclohdezprnlhblzlbhfbafxwyquxwryhzojmfbxnvqyxgpgoolsm\n", - "-2665.8121616584735 pvra hnskfztpvtukjuzlbbndwbcvolnbshzyjcjhjuzlqnbxbrvvcvohduzprxlhbbzlbrfbavxwyauxwhyhzyjmfrxnvayxgfgoovsm\n", - "-2694.4912328797977 pvrd hnshfztsvtuhjuzobbnawbcyolnyshzbjcjejuzoqnbubrvycvoeduzsrxlebbzobrfyavxzyauuwhykzyjjfrxqvayugfgrovsj\n", - "-2719.0585326515284 pprd htshfttsvzuhjozobhnawvcyornysbzbjijejozoqtbublvycboedozsrdlebvzobxfyapxzyguuwbykzejjflxqvgyugzgrobsj\n", - "-2687.6361772003884 aprd wtshqttskzuhuozoqhnahvcydrnydbzbyijeuozoftbumlvyrboeoozsgdlemvzoqxfylpxznguuhbykoejjqlxqkgyurzgrdbsj\n", - "-2700.369141939263 cprd utshsttsizuhwozoohnajvcybrnyfbzbwijewozodtbuolvypboeqozsedleovzooxfynpxzlguujbykmejjslxqigyutzgrbbsj\n", - "-2737.011742269521 fprd rtshvttsfzuhzozolhnamvcyyrnyibzbtijezozoatburlvymboetozsbdlervzolxfyqpxziguumbykjejjvlxqfgyuwzgrybsj\n", - "-2753.3002736006597 fcrd rgshvgtsfmuhzbzolunamicyyenyiozbtvjezbzoagburyvymooetbzsbqlerizolkfyqcxzituumoykjrjjvyxqftyuwmgryosj\n", - "-2694.5355087960465 fcrx rgsnvgtmfmunzbzilungmicsyeneiozvtvjkzbziagbaryvsmooktbzmbqlkrizilkfeqcxtituamoyejrjpvyxkftyawmglyosp\n", - "-2730.750807248109 fctx rgqnvgvmfmsnzbbilulgmiesyeleiobvtvhkzbbiagzaryxsmomktbbmbqjkribilkdeqcztitsamoaejrhpvyzkftwawmilyoqp\n", - "-2709.7891904912462 fcix rgbnvgkmfmdnzbqiluwgmitsyeweioqvtvskzbqiagkarymsmoxktbqmbqukriqilkoeqcotitdamopejrspvyokfthawmxlyobp\n", - "-2660.413625422115 acix wgbnqgkmkmdnubqiquwghitsdewedoqvyvskubqifgkamymsroxkobqmgqukmiqiqkoelcotntdahopeorspqyokktharmxldobp\n", - "-2651.7460953692994 acox wgvnqgqmkmxnubwiquqghizsdeqedowvyvmkubwifgeamyssrorkobwmgqokmiwiqkielcutntxahoveormpqyukktbarmdldovp\n", - "-2675.317792234615 alox wxvnqpqmkdxnukwiqlqghrzsdvqedxwvymmkukwifxeamhssrfrkokwmghokmrwiqbiellutnkxahxveoimpqhukkkbarvdldfvp\n", - "-2674.3868635758513 llox lxvnbpqmzdxnfkwiflqgsrzssvqeoxwvnmmkfkwiuxeaxhssgfrkzkwmvhokxrwifbiewlutckxasxvedimpbhukzkbacvdlsfvp\n", - "-2689.795165241289 lrox lrvnbvqmzxxnfqwiffqgsxzsspqeodwvngmkfqwiureaxnssgzrkzqwmvbokxxwifviewrutcexasdvedcmpbnukzebacbdlszvp\n", - "-2507.4328579384123 krox mrvnavqmaxxneqwigfqgrxzstpqendwvogmkeqwivreawnsshzrkyqwmwbokwxwigvievrutdexardveecmpanukaebabbdltzvp\n", - "-2671.3574561334763 irox orvnyvqmcxxncqwiifqgpxzsvpqeldwvqgmkcqwixreaunssjzrkwqwmybokuxwiivietrutfexapdvegcmpynukcebazbdlvzvp\n", - "-2763.2317032014566 iroc orviyvqrcxxicqwnifqbpxzxvpqzldwaqgmfcqwnxrevunsxjzrfwqwrybofuxwniviztruyfexvpdvjgcmkynupcebvzbdqvzvk\n", - "-2752.19528886088 ikoc oyviyoqrcexicjwnimqbpqzxvwqzlwwaqnmfcjwnxyevugsxjgrfwjwryiofuqwniciztkuyflxvpwvjgjmkygupclbvzudqvgvk\n", - "-2686.1260972922933 ikwc oyniyoyrcepicjenimibpqhxvwizlweaqnefcjenxywvugaxjgjfwjeryigfuqenicaztkcyflpvpwdjgjekygcpcltvzulqvgnk\n", - "-2622.549073180012 ikwz oynlyoyoceplcjekimiepqhuvwiclwexqneicjekxywyugaujgjiwjeoyigiuqekicactkcvflpypwdggjenygcmcltyzulnvgnn\n", - "-2671.5063295660716 ikzz oyklyobocemlcjhkimfepqkuvwfclwhxqnbicjhkxytyugdujggiwjhoyidiuqhkicxctkfvflmypwgggjbnygfmclqyzuonvgkn\n", - "-2669.563665020927 qkzz gyklgobouemlkjhkamfexqkunwfctwhxinbikjhkpytycgdubggiejhoqidicqhkacxcbkfvxlmyxwggyjbnggfmulqyhuonngkn\n", - "-2655.5219244657796 qyzz gkklgcbouqmlkxhkayfexekunifctkhxizbikxhkpktycudubsgiexhoqudicehkaoxcbyfvxxmyxkggyvbngufmuxqyhionnskn\n", - "-2685.9894663146915 qyzd gkkhgcbsuqmhkxhoayfaxekynifytkhbizbekxhopktucudybsgeexhsqudecehoaoxybyfzxxmuxkgkyvbjgufquxquhiornskj\n", - "-2642.1741730904723 qyzm gkkygcbbuqmykxhxayfrxekhnifptkhkizbvkxhxpktlcudhbsgvexhbqudvcehxaoxpbyfixxmlxkgtyvbagufzuxqlhioanska\n", - "-2593.2169167044126 qywm gknygcybuqpykxexayirxehhniiptkekizevkxexpkwlcuahbsjvexebqugvceexaoapbycixxplxkdtyveaguczuxtlhilansna\n", - "-2624.842575357288 qyvm gkoygcxbuqqykxdxayjrxeghnijptkdkizfvkxdxpkxlcuzhbskvexdbquhvcedxaobpbybixxqlxkctyvfagubzuxulhikansoa\n", - "-2647.147892662224 qqvm gsoyguxbuyqykpdxagjrxwghnqjptcdkihfvkpdxpsxlcmzhbakvepdbqchvcwdxawbpbqbixfqlxcctydfagmbzufulhakanaoa\n", - "-2608.2832555354757 qbvm ghoygfxbunqykadxavjrxhghnfjptndkiwfvkadxphxlcxzhbpkveadbqrhvchdxalbpbbbixuqlxnctysfagxbzuuulhlkanpoa\n", - "-2607.708996409104 qbvj ghobgfxyunqbkaduavjuxhgenfjstndhiwfykaduphxocxzebpkyeadyqrhychdualbsbbbfxuqoxncqysfdgxbwuuuohlkxnpod\n", - "-2612.2498664286263 qjvj gzobgnxyufqbkiduanjuxpgenxjstvdhiofykidupzxocfzebhkyeidyqjhycpduadbsbjbfxmqoxvcqykfdgfbwumuohtkxnhod\n", - "-2656.639418779218 qjvd gzohgnxsufqhkidoanjaxpgynxjytvdbiofekidopzxucfzybhkeeidsqjhecpdoadbybjbzxmquxvckykfjgfbqumuuhtkrnhoj\n", - "-2626.171876930306 qjvz gzolgnxoufqlkidkanjexpgunxjctvdxiofikidkpzxycfzubhkieidoqjhicpdkadbcbjbvxmqyxvcgykfngfbmumuyhtknnhon\n", - "-2645.4479319410902 qjvs gzosgnxhufqskiddanjlxpgnnxjjtvdqiofpkiddpzxfcfznbhkpeidhqjhpcpddadbjbjboxmqfxvczykfugfbfumufhtkgnhou\n", - "-2666.759234252811 ajvs wzosqnxhkfqsuiddqnjlhpgndxjjdvdqyofpuiddfzxfmfznrhkpoidhgjhpmpddqdbjljbonmqfhvczokfuqfbfkmufrtkgdhou\n", - "-2641.727980165551 ajss wzrsqnuhkftsuiadqnmlhpdndxmjdvaqyoipuiadfzafmfwnrhnpoiahgjkpmpadqdejljyonmtfhvzzokiuqfyfkmxfrthgdhru\n", - "-2722.6354170127797 adss wfrsqhuhkltsucadqtmlhjdnddmjdpaqyuipucadffafmzwnrnnpocahgpkpmjadqjejldyonstfhpzzoqiuqzyfksxfrnhgdnru\n", - "-2694.8820554914478 wdss afrsmhuholtsqcadutmldjdnhdmjzpaqcuipqcadjfafizwnvnnpkcahkpkpijadujejhdyorstfdpzzsqiumzyfosxfnnhghnru\n", - "-2763.0243725472324 wdis afbsmhkholdsqcqdutwldjtnhdwjzpqqcuspqcqdjfkfizmnvnxpkcqhkpupijqdujojhdoorsdfdppzsqsumzofoshfnnxghnbu\n", - "-2787.9335852333047 wdiv afbpmhkkoldpqcqgutwidjtqhdwgzpqtcusmqcqgjfkcizmqvnxmkcqkkpumijqgujoghdorrsdcdppcsqsrmzoioshcnnxjhnbr\n", - "-2728.4064442613394 wdii afbcmhkxoldcqcqtutwvdjtdhdwtzpqgcuszqcqtjfkpizmdvnxzkcqxkpuzijqtujothdoersdpdpppsqsemzovoshpnnxwhnbe\n", - "-2696.894523410389 zdii xfbcphkxlldctcqtrtwvgjtdedwtcpqgzusztcqtgfkplzmdsnxzncqxhpuzljqtrjotkdoeosdpgppppqsepzovlshpqnxwenbe\n", - "-2695.303023460599 zdie xfbgphktlldgtcqprtwzgjtzedwxcpqczusdtcqpgfktlzmzsnxdncqthpudljqprjoxkdoaosdtgpplpqsipzorlshtqnxsenbi\n", - "-2686.635493407783 zdoe xfvgphqtllxgtcwprtqzgjzzedqxcpwczumdtcwpgfetlzszsnrdncwthpodljwprjixkduaosxtgpvlpqmipzurlsbtqndsenvi\n", - "-2686.635493407783 zdoe xfvgphqtllxgtcwprtqzgjzzedqxcpwczumdtcwpgfetlzszsnrdncwthpodljwprjixkduaosxtgpvlpqmipzurlsbtqndsenvi\n", - "-2741.813866732298 mdoe kfvgchqtylxggcwpetqztjzzrdqxppwcmumdgcwptfetyzszfnrdacwtupodyjwpejixxduabsxttpvlcqmiczurysbtdndsrnvi\n", - "-2746.22568422577 mdue kfpgchwtylrggccpetkztjfzrdkxppccmugdgccptfytyzyzfnldacctupidyjcpejcxxdaabsrttpblcqgiczarysvtdnjsrnpi\n", - "-2691.378437735977 mkue kypgcowtyerggjcpemkztqfzrwkxpwccmngdgjcptyytygyzfgldajctuiidyqcpeccxxkaablrttwblcjgicgarylvtdujsrgpi\n", - "-2752.497078657734 mkuv kyppcowkyerpgjcgemkitqfqrwkgpwctmngmgjcgtyycygyqfglmajckuiimyqcgeccgxkarblrctwbccjgrcgaiylvcdujjrgpr\n", - "-2738.7793528097905 mkud kyphcowsyerhgjcoemkatqfyrwkypwcbmngegjcotyyuygyyfgleajcsuiieyqcoeccyxkazblrutwbkcjgjcgaqylvudujrrgpj\n", - "-2741.9353331987963 lkud lyphbowszerhfjcofmkasqfyswkyowcbnngefjcouyyuxgyygglezjcsviiexqcofccywkazclruswbkdjgjbgaqzlvucujrsgpj\n", - "-2738.6940341135873 jkud nyphzowsberhdjcohmkaqqfyuwkymwcbpngedjcowyyuvgyyiglexjcsxiievqcohccyukazelruqwbkfjgjzgaqblvuaujrugpj\n", - "-2710.0149628922627 jkua nypkzowpberkdjclhmkdqqfvuwkbmwcypnghdjclwyyxvgyviglhxjcpxiihvqclhccbukawelrxqwbhfjgmzganblvxaujougpm\n", - "-2656.849682778812 jeua nepkziwpbkrkddclhskdqkfvuckbmqcyptghddclweyxvayvimlhxdcpxoihvkclhicbueawerrxqqbhfpgmzaanbrvxaojoumpm\n", - "-2692.444265973923 peua hepkfiwpvkrkjdclbskdwkfvockbsqcyjtghjdclqeyxbayvcmlhddcproihbkclbicbaeawyrrxwqbhzpgmfaanvrvxgojoompm\n", - "-2690.655795346335 peuz heplfiwovkrljdckbskewkfuockcsqcxjtgijdckqeyybayucmliddcoroiibkckbiccaeavyrrywqbgzpgnfaamvrvygojnompn\n", - "-2727.6114590031466 peun hepxfiwcvkrxjdcybskqwkfiockosqcljtgujdcyqeykbayicmluddccroiubkcybicoaeajyrrkwqbuzpgzfaaavrvkgojbompz\n", - "-2653.6911666158016 deun tepxtiwchkrxxdcynskqkkfiackogqclvtguxdcyceykpayiomlurdccdoiupkcynicooeajkrrkkqbulpgztaaahrvkuojbampz\n", - "-2606.5120844420853 deup tepvtiwehkrvxdcanskokkfkackmgqcnvtgsxdcaceyipaykomlsrdcedoispkcanicmoealkrrikqbwlpgxtaachrviuojdampx\n", - "-2664.056973403186 deuw tepotiwlhkroxdchnskhkkfrackfgqcuvtglxdchceybpayromllrdcldoilpkchnicfoeaskrrbkqbdlpgqtaajhrvbuojkampq\n", - "-2458.2720018465984 deut teprtiwihkrrxdcenskkkkfoackigqcrvtgoxdceceyepayoomlordcidoiopkcenicioeapkrrekqbalpgttaaghrveuojhampt\n", - "-2446.6192099160135 demt texrtioihkzrxduensskkkxoacsigqurvtooxduecegepaqoomtorduidoqopkuenikioespkrzekqtalpottasghrdeuobhamxt\n", - "-2440.3929503401714 dejt teartilihkcrxdrensvkkkuoacvigqrrvtroxdrecejepanoomwordridotopkreninioeppkrcekqqalprttapghrgeuoyhamat\n", - "-2398.4670032662384 deyt telrtiaihknrxdgensgkkkjoacgigqgrvtcoxdgeceuepacoomhordgidoeopkgeniyioeepkrnekqfalpcttaeghrreuonhamlt\n", - "-2436.7482491706 dezt tekrtibihkmrxdhensfkkkkoacfigqhrvtboxdhecetepadoomgordhidodopkhenixioefpkrmekqgalpbttafghrqeuoohamkt\n", - "-2459.877548340233 iezt oekryibickmrcdheisfkpkkovcfilqhrqtbocdhexeteuadojmgowdhiyodoukheiixitefpfrmepqgagpbtyafgcrqezoohvmkt\n", - "-2525.8399996616345 izzt ojkrydbicpmrcyheixfkpfkovhfillhrqybocyhexjteuvdojrgowyhiytdoufheinxitzfpfwmeplgagubtyvfgcwqezjohvrkt\n", - "-2490.43248596188 iozt oukrysbicamrcnheiifkpukovsfilahrqjbocnhexuteukdojcgownhiyedouuheiyxitofpfhmepagagfbtykfgchqezyohvckt\n", - "-2712.4730111865533 iozc oukiysbrcamicnhniifbpukxvsfzlahaqjbfcnhnxutvukdxjcgfwnhryedfuuhniyxztofyfhmvpagjgfbkykfpchqvzyoqvckk\n", - "-2734.053815045862 iuzc ookiyybrcumicthnicfbpakxvmfzlghaqdbfcthnxotvuqdxjwgfwthryydfuahnisxztufyfbmvpggjgzbkyqfpcbqvzeoqvwkk\n", - "-2704.4822933013934 ibzc ohkiyfbrcnmicahnivfbphkxvffzlnhaqwbfcahnxhtvuxdxjpgfwahryrdfuhhnilxztbfyfumvpngjgsbkyxfpcuqvzloqvpkk\n", - "-2681.9180735649034 iezc oekiyibrckmicdhnisfbpkkxvcfzlqhaqtbfcdhnxetvuadxjmgfwdhryodfukhniixztefyfrmvpqgjgpbkyafpcrqvzooqvmkk\n", - "-2691.817690190812 bezc vekiribrjkmivdhnpsfbikkxccfzeqhaxtbfvdhneetvnadxqmgfpdhrfodfnkhnpixzmefymrmviqgjnpbkrafpjrqvsooqcmkk\n", - "-2705.079934663464 bedc vegirifrjkiivdlnpsbbikoxccbzeqlaxtxfvdlneepvnahxqmcfpdlrfozfnklnpitzmejymriviqkjnpxkrajpjrmvsosqcmgk\n", - "-2691.817690190812 bezc vekiribrjkmivdhnpsfbikkxccfzeqhaxtbfvdhneetvnadxqmgfpdhrfodfnkhnpixzmefymrmviqgjnpbkrafpjrqvsooqcmkk\n", - "-2721.73260385755 bszc vqkirwbrjwmivrhnpefbiykxcofzeehaxfbfvrhneqtvnodxqygfprhrfadfnyhnpuxzmsfymdmviegjnbbkrofpjdqvscoqcykk\n", - "-2672.7753474714896 bswc vqnirwyrjwpivrenpeibiyhxcoizeeeaxfefvreneqwvnoaxqyjfprerfagfnyenpuazmscymdpviedjnbekrocpjdtvsclqcynk\n", - "-2618.2998450310606 vswc bqnilwyrpwpiprenveibcyhxioizyeeadfefprenkqwvhoaxwyjfjrerlagfhyenvuazgscysdpvcedjtbeklocppdtvmclqiynk\n", - "-2544.499402401876 vswp bqnvlwyepwpvpreaveiocyhkioimyeendfespreakqwihoakwyjsjreelagshyeavuamgsclsdpicedwtbexloccpdtimcldiynx\n", - "-2563.3778815237292 vlwp bxnvlpyepdpvpkeavliocrhkivimyxendmespkeakxwihhakwfjsjkeelhgshreavbamglclskpicxdwtiexlhccpktimvldifnx\n", - "-2591.3035655412395 rlwp fxnvhpyetdpvlkeazlioyrhkmvimuxenhmeslkeaoxwidhakafjsfkeephgsdreazbamclclwkpiyxdwxiexhhcctktiivldmfnx\n", - "-2692.2554536774696 rlwo fxnwhpydtdpwlkezzlipyrhjmvinuxemhmetlkezoxwjdhajafjtfkedphgtdrezzbanclckwkpjyxdvxieyhhcbtktjivlcmfny\n", - "-2641.974399376789 rlwr fxnthpygtdptlkeczlimyrhmmvikuxephmeqlkecoxwgdhamafjqfkegphgqdreczbakclcnwkpgyxdyxievhhcetktgivlfmfnv\n", - "-2593.1810065881996 rewr fenthiygtkptldeczsimykhmmcikuqephteqldecoewgdaamamjqfdegpogqdkecziakcecnwrpgyqdyxpevhacetrtgiolfmmnv\n", - "-2609.83120838521 iewr oentyiygckptcdecisimpkhmvciklqepqteqcdecxewguaamjmjqwdegyogqukeciiaktecnfrpgpqdygpevyacecrtgzolfvmnv\n", - "-2609.83120838521 iewr oentyiygckptcdecisimpkhmvciklqepqteqcdecxewguaamjmjqwdegyogqukeciiaktecnfrpgpqdygpevyacecrtgzolfvmnv\n", - "-2658.6246011737994 ilwr oxntypygcdptckecilimprhmvviklxepqmeqckecxxwguhamjfjqwkegyhgqurecibaktlcnfkpgpxdygievyhcecktgzvlfvfnv\n", - "-2727.3688040095085 flwr rxntvpygfdptzkecllimmrhmyvikixeptmeqzkecaxwgrhammfjqtkegbhgqrreclbakqlcnikpgmxdyjievvhcefktgwvlfyfnv\n", - "-2673.8210111964027 jlwr nxntzpygbdptdkechlimqrhmuvikmxeppmeqdkecwxwgvhamifjqxkegxhgqvrechbakulcnekpgqxdyfievzhcebktgavlfufnv\n", - "-2739.8902027649906 jlor nxvtzpqgbdxtdkwchlqmqrzmuvqkmxwppmmqdkwcwxegvhsmifrqxkwgxhoqvrwchbikulunekxgqxvyfimvzhuebkbgavdfufvv\n", - "-2680.4154157620183 jlsr nxrtzpugbdttdkachlmmqrdmuvmkmxappmiqdkacwxagvhwmifnqxkagxhkqvrachbekulynektgqxzyfiivzhyebkxgavhfufrv\n", - "-2647.385193985558 jmsr nwrtzqugbcttdlachkmmqsdmuumkmyappliqdlacwwagviwmienqxlagxgkqvsachaekumynejtgqyzyfhivziyebjxgawhfuerv\n", - "-2644.3444351966764 jxsr nlrtzbugbrttdwachzmmqddmujmkmjappaiqdwacwlagvtwmitnqxwagxvkqvdachpekuxyneytgqjzyfwivztyebyxgahhfutrv\n", - "-2716.619387959181 jxnr nlwtzbpgbrytdwvchzrmqdymujrkmjvppanqdwvcwlfgvtrmitsqxwvgxvpqvdvchpjkuxtneyygqjuyfwnvzttebycgahcfutwv\n", - "-2716.619387959181 jxnr nlwtzbpgbrytdwvchzrmqdymujrkmjvppanqdwvcwlfgvtrmitsqxwvgxvpqvdvchpjkuxtneyygqjuyfwnvzttebycgahcfutwv\n", - "-2733.8118894026716 jsnr nqwtzwpgbwytdrvchermqyymuorkmevppfnqdrvcwqfgvormiysqxrvgxapqvyvchujkustnedygqeuyfbnvzotebdcgaccfuywv\n", - "-2728.5150960059755 bsnr vqwtrwpgjwytvrvcpermiyymcorkeevpxfnqvrvceqfgnormqysqprvgfapqnyvcpujkmstnmdygieuynbnvrotejdcgsccfcywv\n", - "-2729.155119960887 bonr vuwtrspgjaytvnvcpirmiuymcsrkeavpxjnqvnvceufgnkrmqcsqpnvgfepqnuvcpyjkmotnmhygiauynfnvrktejhcgsycfccwv\n", - "-2702.6299832262134 bonu vuwqrspjjayqvnvfpirjiuypcsrheavsxjnnvnvfeufdnkrpqcsnpnvjfepnnuvfpyjhmotqmhydiaubnfnsrkthjhcdsyciccws\n", - "-2687.838216616691 bmnu vwwqrqpjjcyqvlvfpkrjisypcurheyvsxlnnvlvfewfdnirpqesnplvjfgpnnsvfpajhmmtqmjydiyubnhnsrithjjcdswcicews\n", - "-2727.4359136045837 nmnu jwwqdqpjxcyqhlvfdkrjusypqurhqyvsllnnhlvfswfdzirpeesnblvjtgpnzsvfdajhymtqajyduyubbhnsdithxjcdewciqews\n", - "-2708.049596202666 nmru jwsqdqtjxcuqhlzfdknjuscpqunhqyzslljnhlzfswbdzivpeeonblzjtglnzszfdafhymxqajuduyybbhjsdixhxjydewgiqess\n", - "-2694.1273176186924 nmrz jwsldqtoxculhlzkdkneuscuquncqyzxlljihlzkswbyzivueeoiblzotglizszkdafcymxvajuyuyygbhjndixmxjyyewgnqesn\n", - "-2683.861786254374 nmrg jwsedqtvxcuehlzrdknxuscbqunvqyzelljbhlzrswbrzivbeeobblzvtglbzszrdafvymxcajuruyynbhjgdixtxjyrewguqesg\n", - "-2716.8920080308358 nlrg jxsedptvxduehkzrdlnxurcbqvnvqxzelmjbhkzrsxbrzhvbefobbkzvthlbzrzrdbfvylxcakuruxynbijgdhxtxkyrevguqfsg\n", - "-2717.232106383604 nlxg jxmedpzvxdoehkfrdlhxuribqvhvqxfelmdbhkfrsxvrzhbbefibbkfvthfbzrfrdbzvyldcakoruxenbidgdhdtxksrevmuqfmg\n", - "-2665.2524675151067 ulxg cxmekpzvqdoeokfrwlhxbribjvhvxxfeemdbokfrlxvrghbbxfibikfvmhfbgrfrwbzvfldctkorbxenuidgkhdtqksrlvmujfmg\n", - "-2623.1589069552833 vlxg bxmelpzvpdoepkfrvlhxcribivhvyxfedmdbpkfrkxvrhhbbwfibjkfvlhfbhrfrvbzvgldcskorcxentidglhdtpksrmvmuifmg\n", - "-2615.937726231945 vljg bxaelplvpdcepkrrvlvxcrubivvvyxredmrbpkrrkxjrhhnbwfwbjkrvlhtbhrrrvbnvglpcskcrcxqntirglhptpkgrmvyuifag\n", - "-2563.335768676314 vlwg bxnelpyvpdpepkervlixcrhbivivyxeedmebpkerkxwrhhabwfjbjkevlhgbhrervbavglccskprcxdntieglhctpktrmvluifng\n", - "-2563.3778815237292 vlwp bxnvlpyepdpvpkeavliocrhkivimyxendmespkeakxwihhakwfjsjkeelhgshreavbamglclskpicxdwtiexlhccpktimvldifnx\n", - "-2554.93667680813 vwwp bmnvlayepspvpveavaiocchkikimyiendbespveakmwihsakwujsjveelwgshceavqamgwclszpicidwtxexlsccpztimgldiunx\n", - "-2598.1072640759367 vwwh bmndlaywpspdpvesvaiwcchcikiuyiefdbeapveskmwqhsacwujajvewlwgahcesvqaugwcdszpqcidotxeflscupztqmglviunf\n", - "-2655.8885649443605 vwwo bmnwlaydpspwpvezvaipcchjikinyiemdbetpvezkmwjhsajwujtjvedlwgthcezvqangwckszpjcidvtxeylscbpztjmglciuny\n", - "-2554.93667680813 vwwp bmnvlayepspvpveavaiocchkikimyiendbespveakmwihsakwujsjveelwgshceavqamgwclszpicidwtxexlsccpztimgldiunx\n", - "-2599.512562622651 iwwp omnvyayecspvcveaiaiopchkvkimlienqbescveaxmwiusakjujswveeywgsuceaiqamtwclfzpipidwgxexyscccztizgldvunx\n", - "-2618.881200389227 awwp wmnvqayekspvuveaqaiohchkdkimdienybesuveafmwimsakrujsoveegwgsmceaqqamlwclnzpihidwoxexqscckztirglddunx\n", - "-2614.7942913414586 mwwp kmnvcayeyspvgveaeaiotchkrkimpienmbesgveatmwiysakfujsaveeuwgsyceaeqamxwclbzpitidwcxexcsccyztidgldrunx\n", - "-2587.164515491715 mxwp klnvcbyeyrpvgweaeziotdhkrjimpjenmaesgweatlwiytakftjsaweeuvgsydeaepamxxclbypitjdwcwexctccyytidhldrtnx\n", - "-2574.442103268468 mewp kenvciyeykpvgdeaesiotkhkrcimpqenmtesgdeatewiyaakfmjsadeeuogsykeaeiamxeclbrpitqdwcpexcaccyrtidoldrmnx\n", - "-2574.356784572264 jewp nenvziyebkpvddeahsioqkhkucimmqenptesddeawewivaakimjsxdeexogsvkeahiamueclerpiqqdwfpexzaccbrtiaoldumnx\n", - "-2631.9020138254814 jawp ninvzeyebopvdzeahwioqghkugimmmenpxesdzeawiwivwakiqjsxzeexsgsvgeahmamuaclevpiqmdwftexzwccbvtiaklduqnx\n", - "-2626.7835590672735 jawi ninczeyxbopcdzethwivqghdugitmmegpxezdzetwiwpvwadiqjzxzexxsgzvgethmatuaceevppqmdpfteezwcvbvtpaklwuqne\n", - "-2717.74169403363 jawy ninmzeynbopmdzejhwifqghtugidmmewpxejdzejwiwzvwatiqjjxzenxsgjvgejhmaduacuevpzqmdffteozwclbvtzaklmuqno\n", - "-2631.8599009780655 jawg ninezeyvbopedzerhwixqghbugivmmeepxebdzerwiwrvwabiqjbxzevxsgbvgerhmavuaccevprqmdnftegzwctbvtrakluuqng\n", - "-2663.4855596309403 javg nioezexvboqedzdrhwjxqggbugjvmmdepxfbdzdrwixrvwzbiqkbxzdvxshbvgdrhmbvuabcevqrqmcnftfgzwbtbvurakkuuqog\n", - "-2633.5277856514313 oavg iioeeexvwoqeizdrcwjxvggbpgjvrmdekxfbizdrrixrawzbdqkbczdvsshbagdrcmbvzabczvqrvmcnatfgewbtwvurfkkupqog\n", - "-2631.6389478113265 ravg fioehexvtoqelzdrzwjxyggbmgjvumdehxfblzdroixrdwzbaqkbfzdvpshbdgdrzmbvcabcwvqrymcnxtfghwbttvurikkumqog\n", - "-2596.6579382945993 rbvg fhoehfxvtnqeladrzvjxyhgbmfjvundehwfbladrohxrdxzbapkbfadvprhbdhdrzlbvcbbcwuqryncnxsfghxbttuurilkumpog\n", - "-2640.082483238598 tbvg dhoejfxvrnqenadrxvjxahgbkfjvwndefwfbnadrmhxrfxzbypkbhadvnrhbfhdrxlbvebbcuuqrancnvsfgjxbtruurklkukpog\n", - "-2725.530790105351 tdvg dfoejhxvrlqencdrxtjxajgbkdjvwpdefufbncdrmfxrfzzbynkbhcdvnphbfjdrxjbvedbcusqrapcnvqfgjzbtrsurknkuknog\n", - "-2658.8598023526542 zdvg xfoephxvllqetcdrrtjxgjgbedjvcpdezufbtcdrgfxrlzzbsnkbncdvhphbljdrrjbvkdbcosqrgpcnpqfgpzbtlsurqnkuenog\n", - "-2534.8318487633005 kdvg mfoeahxvalqeecdrgtjxrjgbtdjvnpdeoufbecdrvfxrwzzbhnkbycdvwphbwjdrgjbvvdbcdsqrrpcneqfgazbtasurbnkutnog\n", - "-2540.239545849507 knvg mvoearxvabqeemdrgjjxrtgbttjvnzdeokfbemdrvvxrwjzbhdkbymdvwfhbwtdrgzbvvnbcdiqrrzcnegfgajbtaiurbxkutdog\n", - "-2687.513942247559 rnvg fvoehrxvtbqelmdrzjjxytgbmtjvuzdehkfblmdrovxrdjzbadkbfmdvpfhbdtdrzzbvcnbcwiqryzcnxgfghjbttiurixkumdog\n", - "-2772.9083468802787 fnvg rvoevrxvfbqezmdrljjxmtgbytjvizdetkfbzmdravxrrjzbmdkbtmdvbfhbrtdrlzbvqnbciiqrmzcnjgfgvjbtfiurwxkuydog\n", - "-2675.251294202956 fmvg rwoevqxvfcqezldrlkjxmsgbyujviydetlfbzldrawxrrizbmekbtldvbghbrsdrlabvqmbcijqrmycnjhfgvibtfjurwwkuyeog\n", - "-2739.723533884679 fmqg rwtevqsvfcvezlyrlkoxmsbbyuoviyyetlkbzlyrawcrriubmepbtlyvbgmbrsyrlagvqmwcijvrmyxnjhkgviwtfjzrwwfuyetg\n", - "-2739.723533884679 fmqg rwtevqsvfcvezlyrlkoxmsbbyuoviyyetlkbzlyrawcrriubmepbtlyvbgmbrsyrlagvqmwcijvrmyxnjhkgviwtfjzrwwfuyetg\n", - "-2714.106644612139 fmug rwpevqwvfcrezlcrlkkxmsfbyukviycetlgbzlcrawyrriybmelbtlcvbgibrscrlacvqmacijrrmybnjhggviatfjvrwwjuyepg\n", - "-2715.0864300712324 fmcg rwhevqevfcjezlkrlkcxmsnbyucviyketlybzlkrawqrrigbmedbtlkvbgabrskrlauvqmicijjrmyjnjhygviitfjnrwwruyehg\n", - "-2677.629802872882 ymcg ywheoqevmcjeslkrskcxfsnbfucvbykealybslkrhwqrkigbtedbmlkvigabkskrsauvjmicpjjrfyjnqhygoiitmjnrpwrufehg\n", - "-2698.6584144898784 yhcg ybheolevmhjesgkrspcxfnnbfzcvbtkeaqybsgkrhbqrkdgbtjdbmgkvilabknkrsfuvjhicpojrftjnqmygoditmonrprrufjhg\n", - "-2736.1150416882297 fhcg rbhevlevfhjezgkrlpcxmnnbyzcvitketqybzgkrabqrrdgbmjdbtgkvblabrnkrlfuvqhiciojrmtjnjmygvditfonrwrruyjhg\n", - "-2693.996117212675 fheg rbfevlgvfhhezgmrlpaxmnpbyzavitmetqwbzgmraborrdibmjbbtgmvblybrnmrlfsvqhkciohrmtlnjmwgvdktfolrwrtuyjfg\n", - "-2693.996117212675 fheg rbfevlgvfhhezgmrlpaxmnpbyzavitmetqwbzgmraborrdibmjbbtgmvblybrnmrlfsvqhkciohrmtlnjmwgvdktfolrwrtuyjfg\n", - "-2705.2002425323453 fhef rbffvlgufhhfzgmqlpaymnpayzawitmdtqwczgmqabosrdiamjbctgmublycrnmqlfswqhkbiohsmtlmjmwhvdksfolswrttyjfh\n", - "-2737.208817327898 fheh rbfdvlgwfhhdzgmslpawmnpcyzauitmftqwazgmsaboqrdicmjbatgmwblyarnmslfsuqhkdiohqmtlojmwfvdkufolqwrtvyjff\n", - "-2545.7981474646062 fhet rbfrvlgifhhrzgmelpakmnpoyzaiitmrtqwozgmeaboerdiomjbotgmiblyornmelfsiqhkpiohemtlajmwtvdkgfolewrthyjft\n", - "-2545.7981474646062 fhet rbfrvlgifhhrzgmelpakmnpoyzaiitmrtqwozgmeaboerdiomjbotgmiblyornmelfsiqhkpiohemtlajmwtvdkgfolewrthyjft\n", - "-2545.7981474646062 fhet rbfrvlgifhhrzgmelpakmnpoyzaiitmrtqwozgmeaboerdiomjbotgmiblyornmelfsiqhkpiohemtlajmwtvdkgfolewrthyjft\n", - "-2548.081936071882 fhvt rborvlxifhqrzgdelpjkmngoyzjiitdrtqfozgdeabxerdzomjkotgdiblhorndelfbiqhbpioqemtcajmftvdbgfouewrkhyjot\n", - "-2576.279415697977 fhxt rbmrvlzifhorzgfelphkmnioyzhiitfrtqdozgfeabverdbomjiotgfiblfornfelfziqhdpiooemteajmdtvddgfosewrmhyjmt\n", - "-2566.135408973757 fhkt rbzrvlmifhbrzgselpukmnvoyzuiitsrtqqozgseabierdoomjvotgsiblsornselfmiqhqpiobemtrajmqtvdqgfofewrzhyjzt\n", - "-2516.456277419007 fhwt rbnrvlyifhprzgeelpikmnhoyziiitertqeozgeeabwerdaomjjotgeiblgorneelfaiqhcpiopemtdajmetvdcgfotewrlhyjnt\n", - "-2551.414152828997 fhft rbervlhifhgrzgnelpzkmnqoyzziitnrtqvozgneabnerdjomjaotgniblxornnelfriqhlpiogemtmajmvtvdlgfokewruhyjet\n", - "-2576.05122706311 fqft rservuhifygrzpnelgzkmwqoyqziicnrthvozpneasnermjomaaotpnibcxorwnelwriqqlpifgemcmajdvtvmlgffkewauhyaet\n", - "-2599.921568784593 fqmt rsxrvuoifyzrzpuelgskmwxoyqsiicurthoozpueasgermqomatotpuibcqorwuelwkiqqspifzemctajdotvmsgffdewabhyaxt\n", - "-2397.864674132087 fimt raxrvmoifgzrzhueloskmoxoyysiiuurtpoozhueaagereqomitothuibkqorouelekiqispinzemutajlotvesgfndewsbhyixt\n", - "-2599.921568784593 fqmt rsxrvuoifyzrzpuelgskmwxoyqsiicurthoozpueasgermqomatotpuibcqorwuelwkiqqspifzemctajdotvmsgffdewabhyaxt\n", - "-2538.4927119213557 femt rexrvioifkzrzduelsskmkxoycsiiqurttoozdueaegeraqommtotduiboqorkuelikiqespirzemqtajpotvasgfrdewobhymxt\n", - "-2575.2844945504803 fhmt rbxrvloifhzrzguelpskmnxoyzsiiturtqoozgueabgerdqomjtotguiblqornuelfkiqhspiozemttajmotvdsgfodewrbhyjxt\n", - "-2543.667624596535 hhmt pbxrxloidhzrbguejpskonxowzsikturrqoobgueybgetdqokjtovguizlqotnuejfkishspgozeottahmotxdsgdodeyrbhwjxt\n", - "-2544.322447391264 hhrt pbsrxltidhurbgzejpnkoncowzniktzrrqjobgzeybbetdvokjoovgzizllotnzejffishxpgoueotyahmjtxdxgdoyeyrghwjst\n", - "-2565.075894015355 hart pisrxetidourbzzejwnkogcowgnikmzrrxjobzzeyibetwvokqoovzzizslotgzejmfisaxpgvueomyahtjtxwxgdvyeykghwqst\n", - "-2547.31719890017 aart wisrqetikouruzzeqwnkhgcodgnidmzryxjouzzefibemwvorqooozzigslomgzeqmfilaxpnvuehmyaotjtqwxgkvyerkghdqst\n", - "-2530.124157719942 awrt wmsrqatiksuruvzeqankhccodknidizrybjouvzefmbemsvoruooovzigwlomczeqqfilwxpnzuehiyaoxjtqsxgkzyergghdust\n", - "-2530.124157719942 awrt wmsrqatiksuruvzeqankhccodknidizrybjouvzefmbemsvoruooovzigwlomczeqqfilwxpnzuehiyaoxjtqsxgkzyergghdust\n", - "-2489.7719696469517 aert wesrqitikkurudzeqsnkhkcodcnidqzrytjoudzefebemavormooodzigolomkzeqifilexpnruehqyaopjtqaxgkryeroghdmst\n", - "-2491.016163319345 sert eesriitiskurmdzeysnkzkcolcnivqzrgtjomdzenebeeavozmoogdziooloekzeyifidexpvruezqyawpjtiaxgsryejoghlmst\n", - "-2462.0186081256193 wert aesrmitiokurqdzeusnkdkcohcnizqzrctjoqdzejebeiavovmookdzikoloikzeuifihexprruedqyaspjtmaxgoryenoghhmst\n", - "-2462.0186081256193 wert aesrmitiokurqdzeusnkdkcohcnizqzrctjoqdzejebeiavovmookdzikoloikzeuifihexprruedqyaspjtmaxgoryenoghhmst\n", - "-2425.827446065856 vert besrlitipkurpdzevsnkckcoicniyqzrdtjopdzekebehavowmoojdzilolohkzevifigexpsruecqyatpjtlaxgpryemoghimst\n", - "-2437.805200660804 vect behrlieipkjrpdkevsckcknoicciyqkrdtyopdkekeqehagowmdojdkiloaohkkeviuigeipsrjecqjatpytlaigprnemorhimht\n", - "-2437.805200660804 vect behrlieipkjrpdkevsckcknoicciyqkrdtyopdkekeqehagowmdojdkiloaohkkeviuigeipsrjecqjatpytlaigprnemorhimht\n", - "-2499.2340575240423 vqct bshrlueipyjrppkevgckcwnoiqciyckrdhyoppkeksqehmgowadojpkilcaohwkevwuigqipsfjeccjatdytlmigpfnemarhiaht\n", - "-2513.1260121980604 gqct qshrwueieyjrapkekgcknwnoxqcijckrshyoapkezsqesmgoladoupkiacaoswkekwuirqiphfjencjaidytwmigefnexarhxaht\n", - "-2529.0485793816583 oqct ishreueiwyjripkecgckvwnopqcirckrkhyoipkersqeamgodadocpkiscaoawkecwuizqipzfjevcjaadytemigwfnefarhpaht\n", - "-2512.7159444798317 oqbt isireudiwykripjecgdkvwmopqdircjrkhzoipjersreamfodaeocpjiscboawjecwvizqhpzfkevciaadztemhgwfoefaqhpait\n", - "-2489.2134435133803 oqvt isoreuxiwyqripdecgjkvwgopqjircdrkhfoipdersxeamzodakocpdischoawdecwbizqbpzfqevccaadftembgwfuefakhpaot\n", - "-2633.7549341240915 oqvj isobeuxywyqbipducgjuvwgepqjsrcdhkhfyipdursxoamzedakycpdyschyawducwbszqbfzfqovccqadfdembwwfuofakxpaod\n", - "-2572.3260772608537 oevj ieobeixywkqbidducsjuvkgepcjsrqdhktfyiddurexoaazedmkycddysohyakducibszebfzrqovqcqapfdeabwwruofokxpmod\n", - "-2588.0365583901207 oeva ieokeixpwkqkiddlcsjdvkgvpcjbrqdyktfhiddlrexxaazvdmkhcddpsohhakdlcibbzebwzrqxvqchapfmeabnwruxfokopmom\n", - "-2563.0053043028615 oesa ierkeiupwktkidalcsmdvkdvpcmbrqayktihidalreaxaawvdmnhcdapsokhakalciebzeywzrtxvqzhapimeaynwrxxfohopmrm\n", - "-2563.0053043028615 oesa ierkeiupwktkidalcsmdvkdvpcmbrqayktihidalreaxaawvdmnhcdapsokhakalciebzeywzrtxvqzhapimeaynwrxxfohopmrm\n", - "-2604.541011406754 tesa derkjiuprktkndalxsmdakdvkcmbwqayftihndalmeaxfawvymnhhdapnokhfkalxiebeeywurtxaqzhvpimjaynrrxxkohokmrm\n", - "-2617.1996869716218 tepa deukjirprkwkndxlxspdakavkcpbwqxyftlhndxlmedxfatvymqhhdxpnonhfkxlxihbeevwurwxaqwhvplmjavnrraxkoeokmum\n", - "-2669.7704187513036 tepk deuajirzrkwandxvxsptakafkcprwqxiftlxndxvmednfatfymqxhdxznonxfkxvxihreevgurwnaqwrvplcjavxrrankoeykmuc\n", - "-2682.142997273696 tevk deoajixzrkqanddvxsjtakgfkcjrwqdiftfxnddvmexnfazfymkxhddznohxfkdvxibreebgurqnaqcrvpfcjabxrrunkokykmoc\n", - "-2709.2480870297095 tjvk dzoajnxzrfqanidvxnjtapgfkxjrwvdifofxnidvmzxnffzfyhkxhidznjhxfpdvxdbrejbgumqnavcrvkfcjfbxrmunktkykhoc\n", - "-2496.4253835100503 tjvt dzorjnxirfqrnidexnjkapgokxjiwvdrfofonidemzxeffzoyhkohidinjhofpdexdbiejbpumqeavcavkftjfbgrmuektkhkhot\n", - "-2535.2827450754394 tzvt djorjdxirpqrnydexxjkafgokhjiwldrfyfonydemjxefvzoyrkohydinthoffdexnbiezbpuwqealcavuftjvbgrwuekjkhkrot\n", - "-2521.4560352349963 tuvt doorjyxiruqrntdexcjkaagokmjiwgdrfdfontdemoxefqzoywkohtdinyhofadexsbieubpubqeagcavzftjqbgrbuekekhkwot\n", - "-2521.4560352349963 tuvt doorjyxiruqrntdexcjkaagokmjiwgdrfdfontdemoxefqzoywkohtdinyhofadexsbieubpubqeagcavzftjqbgrbuekekhkwot\n", - "-2492.199366833307 uuvt coorkyxiquqrotdewcjkbagojmjixgdredfootdeloxegqzoxwkoitdimyhogadewsbifubptbqebgcauzftkqbgqbuelekhjwot\n", - "-2463.9977609475022 guvt qoorwyxieuqratdekcjknagoxmjijgdrsdfoatdezoxesqzolwkoutdiayhosadeksbirubphbqengcaizftwqbgebuexekhxwot\n", - "-2443.0481127763255 guyt qolrwyaieunratgekcgknajoxmgijggrsdcoatgezouesqcolwhoutgiayeosageksyiruephbnengfaizctwqegebrexenhxwlt\n", - "-2309.807445721768 kuyt molrayaiaunretgegcgkrajotmginggrodcoetgevouewqcohwhoytgiwyeowagegsyivuepdbnergfaezctaqegabrebenhtwlt\n", - "-2257.6717042408104 keyt melraiaiaknredgegsgkrkjotcginqgrotcoedgeveuewacohmhoydgiwoeowkgegiyiveepdrnerqfaepctaaegarrebonhtmlt\n", - "-2288.4085560315743 keat mejraiciaklrediegsekrklotceinqirotaoedievesewaeohmfoydiiwocowkiegiwivegpdrlerqhaepataaggarpebophtmjt\n", - "-2313.064885327697 keot mevraiqiakxredwegsqkrkzotcqinqwrotmoedweveeewasohmroydwiwooowkwegiiiveupdrxerqvaepmtaaugarbebodhtmvt\n", - "-2266.248773889595 kept meurairiakwredxegspkrkaotcpinqxrotloedxevedewatohmqoydxiwonowkxegihivevpdrwerqwaepltaavgaraeboehtmut\n", - "-2253.5900983247293 kest merraiuiaktredaegsmkrkdotcminqarotioedaeveaewawohmnoydaiwokowkaegieiveypdrterqzaepitaaygarxebohhtmrt\n", - "-2402.7533325628856 oest ierreiuiwktridaecsmkvkdopcmirqarktioidaereaeaawodmnocdaisokoakaecieizeypzrtevqzaapiteaygwrxefohhpmrt\n", - "-2443.105520635875 owst imrreauiwstrivaecamkvcdopkmiriarkbioivaermaeaswodunocvaiswkoacaecqeizwypzztevizaaxitesygwzxefghhpurt\n", - "-2506.9921251323167 owut impreawiwsrrivcecakkvcfopkkiricrkbgoivcermyeasyodulocvciswioaccecqcizwapzzrevibaaxgtesagwzvefgjhpupt\n", - "-2506.9921251323167 owut impreawiwsrrivcecakkvcfopkkiricrkbgoivcermyeasyodulocvciswioaccecqcizwapzzrevibaaxgtesagwzvefgjhpupt\n", - "-2491.6392756895834 owbt imireadiwskrivjecadkvcmopkdirijrkbzoivjermreasfodueocvjiswboacjecqvizwhpzzkeviiaaxzteshgwzoefgqhpuit\n", - "-2466.5039950407813 zwbt xmirpadilskrtvjeradkgcmoekdicijrzbzotvjegmrelsfosueonvjihwbolcjerqvikwhpozkegiiapxztpshglzoeqgqheuit\n", - "-2609.6256228780594 zwbi xmicpadxlskctvjtradvgcmdekdtcijgzbzztvjtgmrplsfdsueznvjxhwbzlcjtrqvtkwheozkpgiippxzepshvlzopqgqweuie\n", - "-2657.9146649040713 zwbh xmidpadwlskdtvjsradwgcmcekducijfzbzatvjsgmrqlsfcsueanvjwhwbalcjsrqvukwhdozkqgiiopxzfpshulzoqqgqveuif\n", - "-2644.1993675572103 zwah xmjdpacwlsldtvisraewgclcekeuciifzbaatvisgmsqlsecsufanviwhwcalcisrqwukwgdozlqgihopxafpsgulzpqqgpveujf\n", - "-2686.868460497552 zway xmjmpacnlslmtvijraefgcltekedciiwzbajtvijgmszlsetsufjnvinhwcjlcijrqwdkwguozlzgihfpxaopsgllzpzqgpmeujo\n", - "-2707.945129287801 zqay xsjmpucnlylmtpijrgefgwlteqedcciwzhajtpijgsszlmetsafjnpinhccjlwijrwwdkqguoflzgchfpdaopmgllfpzqapmeajo\n", - "-2669.080492161052 zbay xhjmpfcnlnlmtaijrvefghltefedcniwzwajtaijghszlxetspfjnainhrcjlhijrlwdkbguoulzgnhfpsaopxgllupzqlpmepjo\n", - "-2601.4802006813197 zbaq xhjupfcflnlutaibrvenghllefelcniozwartaibghshlxelspfrnaifhrcrlhibrlwlkbgmoulhgnhxpsawpxgdluphqlpeepjw\n", - "-2591.638393168077 zxaq xljupbcflrlutwibrzengdllejelcjiozaartwibglshltelstfrnwifhvcrldibrpwlkxgmoylhgjhxpwawptgdlyphqhpeetjw\n", - "-2591.638393168077 zxaq xljupbcflrlutwibrzengdllejelcjiozaartwibglshltelstfrnwifhvcrldibrpwlkxgmoylhgjhxpwawptgdlyphqhpeetjw\n", - "-2587.8491455369644 zpaq xtjuptcflzlutoibrhengvllerelcbioziartoibgtshllelsbfrnoifhdcrlvibrxwlkpgmoglhgbhxpeawplgdlgphqzpeebjw\n", - "-2564.4913020503413 zpai xtjcptcxlzlctoitrhevgvlderetcbigziaztoitgtsplledsbfznoixhdczlvitrxwtkpgeoglpgbhppeaeplgvlgppqzpwebje\n", - "-2670.56164494478 zpao xtjwptcdlzlwtoizrhepgvljerencbimziattoizgtsjllejsbftnoidhdctlvizrxwnkpgkogljgbhvpeayplgblgpjqzpcebjy\n", - "-2708.018140000437 zpno xtwwptpdlzywtovzrhrpgvyjerrncbvmzinttovzgtfjllrjsbstnovdhdptlvvzrxjnkptkogyjgbuvpenypltblgcjqzccebwy\n", - "-2684.2769422916426 zpbo xtiwptddlzkwtojzrhdpgvmjerdncbjmzizttojzgtrjllfjsbetnojdhdbtlvjzrxvnkphkogkjgbivpezyplhblgojqzqcebiy\n", - "-2633.995887990962 zpbr xtitptdglzkttojcrhdmgvmmerdkcbjpzizqtojcgtrgllfmsbeqnojghdbqlvjcrxvkkphnogkggbiypezvplhelgogqzqfebiv\n", - "-2643.208601456166 gpbr qtitwtdgezktaojckhdmnvmmxrdkjbjpsizqaojcztrgslfmlbequojgadbqsvjckxvkrphnhgkgnbiyiezvwlheegogxzqfxbiv\n", - "-2702.904444729583 gfbr qditwjdgejktaejckrdmnlmmxbdkjrjpsszqaejczdrgsbfmllequejganbqsljckhvkrfhnhqkgnriyiozvwbheeqogxpqfxliv\n", - "-2656.83965660052 gbbr qhitwfdgenktaajckvdmnhmmxfdkjnjpswzqaajczhrgsxfmlpequajgarbqshjcklvkrbhnhukgnniyiszvwxheeuogxlqfxpiv\n", - "-2664.1903505307682 gsbr qqitwwdgewktarjckedmnymmxodkjejpsfzqarjczqrgsofmlyequrjgaabqsyjckuvkrshnhdkgneiyibzvwoheedogxcqfxyiv\n", - "-2608.401061937011 gsbi qqicwwdxewkcarjtkedvnymdxodtjejgsfzzarjtzqrpsofdlyezurjxaabzsyjtkuvtrshehdkpneipibzewohvedopxcqwxyie\n", - "-2624.7336968388377 gsci qqhcwwexewjcarktkecvnyndxoctjekgsfyzarktzqqpsogdlydzurkxaaazsyktkuutrsiehdjpnejpibyewoivednpxcrwxyhe\n", - "-2730.804039733276 gsco qqhwwwedewjwarkzkecpnynjxocnjekmsfytarkzzqqjsogjlydturkdaaatsykzkuunrsikhdjjnejvibyywoibednjxcrcxyhy\n", - "-2698.6379885958618 gsho qqcwwwjdewewarpzkexpnysjxoxnjepmsfttarpzzqljsoljlyyturpdaavtsypzkupnrsnkhdejneovibtywonbedijxcwcxycy\n", - "-2579.6122960208345 gshx qqcnwwjmewenarpikexgnyssxoxejepvsftkarpizqlasolslyykurpmaavksypikupersnthdeaneoeibtpwonkediaxcwlxycp\n", - "-2597.6861004596326 gshp qqcvwwjeewevarpakexonyskxoxmjepnsftsarpazqlisolklyysurpeaavssypakupmrsnlhdeineowibtxwoncediixcwdxycx\n", - "-2624.46054864448 gsop qqvvwwqeewxvarwakeqonyzkxoqmjewnsfmsarwazqeisosklyrsurweaaossywakuimrsulhdxinevwibmxwoucedbixcddxyvx\n", - "-2665.151509010295 gsod qqvhwwqsewxharwokeqanyzyxoqyjewbsfmearwozqeusosylyreurwsaaoesywokuiyrsuzhdxunevkibmjwouqedbuxcdrxyvj\n", - "-2643.9473495734383 gtod qpvhwxqsevxhaswokdqanzzyxnqyjfwbsemeaswozpeuspsylxreuswsazoeszwoktiyrtuzhcxunfvkiamjwpuqecbuxddrxxvj\n", - "-2615.268278352114 gtoa qpvkwxqpevxkaswlkdqdnzzvxnqbjfwysemhaswlzpexspsvlxrhuswpazohszwlktibrtuwhcxxnfvhiammwpunecbxxddoxxvm\n", - "-2622.320695134362 gmoa qwvkwqqpecxkalwlkkqdnszvxuqbjywyslmhalwlzwexsisvlerhulwpagohsswlkaibrmuwhjxxnyvhihmmwiunejbxxwdoxevm\n", - "-2603.5988512818735 gmoe qwvgwqqtecxgalwpkkqznszzxuqxjywcslmdalwpzwetsiszlerdulwtagodsswpkaixrmuahjxtnyvlihmiwiurejbtxwdsxevi\n", - "-2649.2645371329836 gqoe qsvgwuqteyxgapwpkgqznwzzxqqxjcwcshmdapwpzsetsmszlardupwtacodswwpkwixrquahfxtncvlidmiwmurefbtxadsxavi\n", - "-2645.414846423109 gqde qsggwufteyigaplpkgbznwozxqbxjclcshxdaplpzsptsmhzlacdupltaczdswlpkwtxrqjahfitncklidxiwmjrefmtxassxagi\n", - "-2592.6967437897515 gtde qpggwxftevigaslpkdbznzozxnbxjflcsexdaslpzpptsphzlxcdusltazzdszlpkttxrtjahcitnfkliaxiwpjrecmtxdssxxgi\n", - "-2569.771986314778 gthe qpcgwxjtevegasppkdxznzszxnxxjfpcsetdasppzpltsplzlxydusptazvdszppktpxrtnahcetnfoliatiwpnrecitxdwsxxci\n", - "-2573.7836443081446 gxhe qlcgwbjteregawppkzxzndszxjxxjjpcsatdawppzlltstlzltyduwptavvdsdppkppxrxnahyetnjoliwtiwtnreyitxhwsxtci\n", - "-2591.655611488395 gxhf qlcfwbjuerefawpqkzxyndsaxjxwjjpdsatcawpqzllsstlaltycuwpuavvcsdpqkppwrxnbhyesnjomiwthwtnseyisxhwtxtch\n", - "-2622.339542628898 ixhf olcfybjucrefcwpqizxypdsavjxwljpdqatccwpqxllsutlajtycwwpuyvvcudpqippwtxnbfyespjomgwthytnscyiszhwtvtch\n", - "-2658.410523194241 ilhf oxcfypjucdefckpqilxyprsavvxwlxpdqmtcckpqxxlsuhlajfycwkpuyhvcurpqibpwtlnbfkespxomgithyhnsckiszvwtvfch\n", - "-2668.3101398201484 blhf vxcfrpjujdefvkpqplxyirsacvxwexpdxmtcvkpqexlsnhlaqfycpkpufhvcnrpqpbpwmlnbmkesixomnithrhnsjkissvwtcfch\n", - "-2660.641055089287 blvf vxofrpxujdqfvkdqpljyirgacvjwexddxmfcvkdqexxsnhzaqfkcpkdufhhcnrdqpbbwmlbbmkqsixcmnifhrhbsjkussvktcfoh\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2677.8101136220994 bzvf vjofrdxujpqfvydqpxjyifgachjwelddxyfcvydqejxsnvzaqrkcpydufthcnfdqpnbwmzbbmwqsilcmnufhrvbsjwussjktcroh\n", - "-2637.069358223971 bcvf vgofrgxujmqfvbdqpujyiigacejweoddxvfcvbdqegxsnyzaqokcpbdufqhcnidqpkbwmcbbmtqsiocmnrfhrybsjtussmktcooh\n", - "-2664.271916702569 bcmf vgxfrgoujmzfvbuqpusyiixacesweoudxvocvbuqeggsnyqaqotcpbuufqqcniuqpkkwmcsbmtzsiotmnrohryssjtdssmbtcoxh\n", - "-2752.4704444687445 bnmf vvxfrroujbzfvmuqpjsyitxactswezudxkocvmuqevgsnjqaqdtcpmuuffqcntuqpzkwmnsbmizsiztmngohrjssjidssxbtcdxh\n", - "-2753.320321140979 bnma vvxkrropjbzkvmulpjsditxvctsbezuyxkohvmulevgxnjqvqdthpmupffqhntulpzkbmnswmizxizthngomrjsnjidxsxbocdxm\n", - "-2775.5223070205216 cnma uvxksropibzkwmulojsdjtxvbtsbfzuywkohwmuldvgxojqvpdthqmupefqhotulozkbnnswlizxjzthmgomsjsniidxtxbobdxm\n", - "-2812.392428267314 cnta uvqksrvpibskwmblojldjtevbtlbfzbywkhhwmbldvzxojxvpdmhqmbpefjhotblozdbnnzwlisxjzahmghmsjzniiwxtxiobdqm\n", - "-2751.6519652990387 cnfa uveksrhpibgkwmnlojzdjtqvbtzbfznywkvhwmnldvnxojjvpdahqmnpefxhotnlozrbnnlwligxjzmhmgvmsjlniikxtxuobdem\n", - "-2653.9949126217175 cmfa uweksqhpicgkwlnlokzdjsqvbuzbfynywlvhwlnldwnxoijvpeahqlnpegxhosnloarbnmlwljgxjymhmhvmsilnijkxtwuobeem\n", - "-2623.90921903843 cmfx uwensqhmicgnwlniokzgjsqsbuzefynvwlvkwlnidwnaoijspeakqlnmegxkosnioarenmltljgajymemhvpsilkijkatwulbeep\n", - "-2561.1236853924775 gmfx qwenwqhmecgnalnikkzgnsqsxuzejynvslvkalnizwnasijsleakulnmagxkssnikarermlthjganymeihvpwilkejkaxwulxeep\n", - "-2557.791468635363 gmvx qwonwqxmecqnaldikkjgnsgsxujejydvslfkaldizwxasizslekkuldmaghkssdikabermbthjqanyceihfpwibkejuaxwklxeop\n", - "-2536.8418204641857 gmyx qwlnwqamecnnalgikkggnsjsxugejygvslckalgizwuasicslehkulgmagekssgikayermethjnanyfeihcpwiekejraxwnlxelp\n", - "-2602.0947070766974 gmyn qwlxwqacecnxalgykkgqnsjixugojyglslcualgyzwuksicilehuulgcageussgykayormejhjnknyfuihczwieaejrkxwnbxelz\n", - "-2687.117034973264 gmtn qwqxwqvcecsxalbykklqnseixulojyblslhualbyzwzksixilemuulbcagjussbykadormzjhjsknyauihhzwizaejwkxwibxeqz\n", - "-2698.2532654660504 gmtl qwqzwqvaecszalbwkklsnsegxulqjybjslhwalbwzwzmsixglemwulbaagjwssbwkadqrmzhhjsmnyasihhbwizyejwmxwizxeqb\n", - "-2695.21250667717 gxtl qlqzwbvaerszawbwkzlsndegxjlqjjbjsahwawbwzlzmstxgltmwuwbaavjwsdbwkpdqrxzhhysmnjasiwhbwtzyeywmxhizxtqb\n", - "-2666.8559592743286 gvtl qnqzwzvaetszaubwkblsnbegxllqjhbjschwaubwznzmsrxglvmwuubaaxjwsbbwkrdqrvzhhasmnhasiyhbwrzyeawmxfizxvqb\n", - "-2698.2532654660504 gmtl qwqzwqvaecszalbwkklsnsegxulqjybjslhwalbwzwzmsixglemwulbaagjwssbwkadqrmzhhjsmnyasihhbwizyejwmxwizxeqb\n", - "-2639.895839952134 gmtg qwqewqvvecsealbrkklxnsebxulvjybeslhbalbrzwzrsixblembulbvagjbssbrkadvrmzchjsrnyanihhgwiztejwrxwiuxeqg\n", - "-2670.5797710926377 imtg owqeyqvvccseclbriklxpsebvulvlybeqlhbclbrxwzruixbjembwlbvygjbusbriadvtmzcfjsrpyanghhgyiztcjwrzwiuveqg\n", - "-2585.5574431960704 imyg owleyqavccneclgrikgxpsjbvugvlygeqlcbclgrxwuruicbjehbwlgvygebusgriayvtmecfjnrpyfnghcgyietcjrrzwnuvelg\n", - "-2600.7538532186736 jmyg nwlezqavbcnedlgrhkgxqsjbuugvmygeplcbdlgrwwurvicbiehbxlgvxgebvsgrhayvumecejnrqyfnfhcgzietbjrrawnuuelg\n", - "-2624.114221764847 jyyg nklezcavbqnedxgrhygxqejbuigvmkgepzcbdxgrwkurvucbishbxxgvxuebvegrhoyvuyecexnrqkfnfvcgzuetbxrrainuuslg\n", - "-2698.4109058959957 jnyg nvlezravbbnedmgrhjgxqtjbutgvmzgepkcbdmgrwvurvjcbidhbxmgvxfebvtgrhzyvuneceinrqzfnfgcgzjetbirraxnuudlg\n", - "-2710.4649078879006 jnya nvlkzrapbbnkdmglhjgdqtjvutgbmzgypkchdmglwvuxvjcvidhhxmgpxfehvtglhzybuneweinxqzfhfgcmzjenbirxaxnoudlm\n", - "-2722.5987158442877 jnyu nvlqzrajbbnqdmgfhjgjqtjputghmzgspkcndmgfwvudvjcpidhnxmgjxfenvtgfhzyhuneqeindqzfbfgcszjehbirdaxniudls\n", - "-2735.57837150913 enyu svlqurajgbnqymgfmjgjltjpztghhzgsukcnymgfbvudqjcpndhnsmgjcfenqtgfmzyhpneqjindlzfbkgcsujehgirdvxnizdls\n", - "-2724.9023610274335 enwu svnquryjgbpqymefmjijlthpztihhzesukenymefbvwdqjapndjnsmejcfgnqtefmzahpncqjipdlzdbkgesujchgitdvxlizdns\n", - "-2669.0273665912 eawu sinqueyjgopqyzefmwijlghpzgihhmesuxenyzefbiwdqwapnqjnszejcsgnqgefmmahpacqjvpdlmdbktesuwchgvtdvklizqns\n", - "-2718.706498145952 eaku sizquemjgobqyzsfmwujlgvpzguhhmssuxqnyzsfbiidqwopnqvnszsjcssnqgsfmmmhpaqqjvbdlmrbktqsuwqhgvfdvkzizqzs\n", - "-2673.8836811159813 exku slzqubmjgrbqywsfmzujldvpzjuhhjssuaqnywsfblidqtopntvnswsjcvsnqdsfmpmhpxqqjybdljrbkwqsutqhgyfdvhziztzs\n", - "-2690.4289443809193 exkd slzhubmsgrbhywsomzualdvyzjuyhjsbuaqeywsobliuqtoyntveswsscvseqdsompmypxqzjybuljrkkwqjutqqgyfuvhzrztzj\n", - "-2649.695871167689 exkg slzeubmvgrbeywsrmzuxldvbzjuvhjseuaqbywsrblirqtobntvbswsvcvsbqdsrmpmvpxqcjybrljrnkwqgutqtgyfrvhzuztzg\n", - "-2662.1951548677152 eckg sgzeugmvgmbeybsrmuuxlivbzeuvhoseuvqbybsrbgirqyobnovbsbsvcqsbqisrmkmvpcqcjtbrlornkrqguyqtgtfrvmzuzozg\n", - "-2676.0969985027436 eykg skzeucmvgqbeyxsrmyuxlevbziuvhkseuzqbyxsrbkirquobnsvbsxsvcusbqesrmomvpyqcjxbrlkrnkvqguuqtgxfrvizuzszg\n", - "-2673.0147784917544 eykm skzyucmbgqbyyxsxmyurlevhziuphkskuzqvyxsxbkilquohnsvvsxsbcusvqesxmomppyqijxbllkrtkvqauuqzgxflvizazsza\n", - "-2720.2978242735576 eykb skzjucmqgqbjyxsmmyuclevwziuahkszuzqgyxsmbkiwquownsvgsxsqcusgqesmmomapyqxjxbwlkrikvqluuqogxfwvizpzszl\n", - "-2726.80994518571 eykr skztucmggqbtyxscmyumlevmziukhkspuzqqyxscbkigquomnsvqsxsgcusqqescmomkpyqnjxbglkrykvqvuuqegxfgvizfzszv\n", - "-2726.80994518571 eykr skztucmggqbtyxscmyumlevmziukhkspuzqqyxscbkigquomnsvqsxsgcusqqescmomkpyqnjxbglkrykvqvuuqegxfgvizfzszv\n", - "-2696.3971598572894 etkr spztuxmggvbtysscmdumlzvmznukhfspueqqysscbpigqpomnxvqsssgczsqqzscmtmkptqnjcbglfrykaqvupqegcfgvdzfzxzv\n", - "-2712.9081015506817 eckr sgztugmggmbtybscmuumlivmzeukhospuvqqybscbgigqyomnovqsbsgcqsqqiscmkmkpcqnjtbglorykrqvuyqegtfgvmzfzozv\n", - "-2712.9081015506817 eckr sgztugmggmbtybscmuumlivmzeukhospuvqqybscbgigqyomnovqsbsgcqsqqiscmkmkpcqnjtbglorykrqvuyqegtfgvmzfzozv\n", - "-2706.3959806385296 eckb sgzjugmqgmbjybsmmuuclivwzeuahoszuvqgybsmbgiwqyownovgsbsqcqsgqismmkmapcqxjtbwlorikrqluyqogtfwvmzpzozl\n", - "-2513.9971851196433 eckt sgzrugmigmbrybsemuuklivozeuihosruvqoybsebgieqyoonovosbsicqsoqisemkmipcqpjtbelorakrqtuyqggtfevmzhzozt\n", - "-2519.3304268180173 eokt suzrusmigabrynsemiukluvozsuihasrujqoynsebuieqkooncvosnsicesoqusemymipoqpjhbelarakfqtukqgghfevyzhzczt\n", - "-2518.6085516493267 eozt sukrusbigamrynhemifklukozsfihahrujboynhebuteqkdoncgosnhicedoquhemyxipofpjhmelagakfbtukfgghqevyohzckt\n", - "-2544.388016884669 eoit subruskigadrynqemiwklutozswihaqrujsoynqebukeqkmoncxosnqiceuoquqemyoipoopjhdelapakfstukogghhevyxhzcbt\n", - "-2522.543833492901 etit spbruxkigvdrysqemdwklztoznwihfqruesoysqebpkeqpmonxxossqiczuoqzqemtoiptopjcdelfpakastupoggchevdxhzxbt\n", - "-2543.9050102060983 etqt sptruxsigvvrysyemdoklzboznoihfyruekoysyebpceqpuonxpossyiczmoqzyemtgiptwpjcvelfxakaktupwggczevdfhzxtt\n", - "-2507.290151797702 etrt spsruxtigvuryszemdnklzcoznnihfzruejoyszebpbeqpvonxoossziczloqzzemtfiptxpjcuelfyakajtupxggcyevdghzxst\n", - "-2448.4301549697534 gtrt qpsrwxtievuraszekdnknzcoxnnijfzrsejoaszezpbespvolxoousziazloszzektfirtxphcuenfyaiajtwpxgecyexdghxxst\n", - "-2459.428124105608 gtut qpprwxwievrrascekdkknzfoxnkijfcrsegoascezpyespyolxlousciazioszcektcirtaphcrenfbaiagtwpagecvexdjhxxpt\n", - "-2473.4618534491015 rtut fpprhxwitvrrlscezdkkyzfomnkiufcrhegolsceopyedpyoaxlofscipziodzceztcictapwcreyfbaxagthpagtcveidjhmxpt\n", - "-2515.7096210276995 rgut fcprhkwitirrlfcezqkkymfomakiuscrhrgolfceocyedcyoakloffcipmiodmcezgcicgapwpreysbaxngthcagtpveiqjhmkpt\n", - "-2515.7096210276995 rgut fcprhkwitirrlfcezqkkymfomakiuscrhrgolfceocyedcyoakloffcipmiodmcezgcicgapwpreysbaxngthcagtpveiqjhmkpt\n", - "-2489.972795142494 rcut fgprhgwitmrrlbcezukkyifomekiuocrhvgolbceogyedyyoaolofbcipqiodicezkciccapwtreyobaxrgthyagttveimjhmopt\n", - "-2460.9046483528987 rcat fgjrhgcitmlrlbiezuekyilomeeiuoirhvaolbieogsedyeoaofofbiipqcodiiezkwiccgpwtleyohaxrathyggttpeimphmojt\n", - "-2444.3937066595054 rtat fpjrhxcitvlrlsiezdekyzlomneiufirheaolsieopsedpeoaxfofsiipzcodzieztwictgpwcleyfhaxaathpggtcpeidphmxjt\n", - "-2455.582801942675 rtjt fparhxlitvcrlsrezdvkyzuomnviufrrherolsreopjedpnoaxwofsripztodzreztnictppwcceyfqaxarthppgtcgeidyhmxat\n", - "-2446.8720477127945 rejt fearhilitkcrldrezsvkykuomcviuqrrhtroldreoejedanoamwofdripotodkreziniceppwrceyqqaxprthapgtrgeioyhmmat\n", - "-2423.611960202763 reet fefrhigitkhrldmezsakykpomcaiuqmrhtwoldmeoeoedaioambofdmipoyodkmezisicekpwrheyqlaxpwthakgtrleiothmmft\n", - "-2465.730884678315 rect fehrhieitkjrldkezsckyknomcciuqkrhtyoldkeoeqedagoamdofdkipoaodkkeziuiceipwrjeyqjaxpythaigtrneiorhmmht\n", - "-2517.8666261592725 ruct fohrhyeitujrltkezcckyanommciugkrhdyoltkeooqedqgoawdoftkipyaodakezsuicuipwbjeygjaxzythqigtbneierhmwht\n", - "-2571.644160838045 huct pohrxyeidujrbtkejcckoanowmcikgkrrdyobtkeyoqetqgokwdovtkizyaotakejsuisuipgbjeogjahzytxqigdbneyerhwwht\n", - "-2370.59222976122 kuct mohrayeiaujretkegcckranotmcingkrodyoetkevoqewqgohwdoytkiwyaowakegsuivuipdbjergjaezytaqigabneberhtwht\n", - "-2331.1789005035093 kxct mlhrabeiarjrewkegzckrdnotjcinjkroayoewkevlqewtgohtdoywkiwvaowdkegpuivxipdyjerjjaewytatigaynebhrhttht\n", - "-2302.8223531006715 kvct mnhrazeiatjreukegbckrbnotlcinhkrocyoeukevnqewrgohvdoyukiwxaowbkegruivvipdajerhjaeyytarigaanebfrhtvht\n", - "-2280.3188149655803 kvzt mnkrazbiatmreuhegbfkrbkotlfinhhrocboeuhevntewrdohvgoyuhiwxdowbhegrxivvfpdamerhgaeybtarfgaaqebfohtvkt\n", - "-2291.1846968584905 kvxt mnmrazziatoreufegbhkrbiotlhinhfrocdoeufevnvewrbohvioyufiwxfowbfegrzivvdpdaoerheaeydtardgaasebfmhtvmt\n", - "-2237.955963145136 kvst mnrrazuiattreuaegbmkrbdotlminharocioeuaevnaewrwohvnoyuaiwxkowbaegreivvypdaterhzaeyitarygaaxebfhhtvrt\n", - "-2262.9872172323944 kvvt mnorazxiatqreudegbjkrbgotljinhdrocfoeudevnxewrzohvkoyudiwxhowbdegrbivvbpdaqerhcaeyftarbgaauebfkhtvot\n", - "-2286.489718198845 kvbt mnirazdiatkreujegbdkrbmotldinhjroczoeujevnrewrfohveoyujiwxbowbjegrvivvhpdakerhiaeyztarhgaaoebfqhtvit\n", - "-2489.1384870080874 kvbv mnipazdkatkpeujggbdirbmqtldgnhjtoczmeujgvnrcwrfqhvemyujkwxbmwbjggrvgvvhrdakcrhiceyzrarhiaaocbfqjtvir\n", - "-2364.1445843984143 kibv maipamdkagkpehjggodiromqtydgnujtopzmehjgvarcwefqhiemyhjkwkbmwojggevgvihrdnkcruicelzraehianocbsqjtiir\n", - "-2303.0259434766604 kibe maigamdtagkgehjpgodzromztydxnujcopzdehjpvartwefzhiedyhjtwkbdwojpgevxvihadnktruilelziaehranotbsqstiii\n", - "-2309.693785337239 kibg maieamdvagkeehjrgodxrombtydvnujeopzbehjrvarrwefbhiebyhjvwkbbwojrgevvvihcdnkrruinelzgaehtanorbsqutiig\n", - "-2289.5235011279046 kifg maeeamhvaggeehnrgozxroqbtyzvnuneopvbehnrvanrwejbhiabyhnvwkxbwonrgervvilcdngrrumnelvgaeltankrbsuutieg\n", - "-2282.8556592673253 kife maegamhtagggehnpgozzroqztyzxnuncopvdehnpvantwejzhiadyhntwkxdwonpgerxviladngtrumlelviaelranktbsustiei\n", - "-2254.492188422953 kise margamutagtgehapgomzrodztymxnuacopidehapvaatwewzhindyhatwkkdwoapgeexviyadnttruzleliiaeyranxtbshstiri\n", - "-2401.7665848210017 rise farghmuttgtglhapzomzyodzmymxuuachpidlhapoaatdewzaindfhatpkkddoapzeexciyawnttyuzlxliiheyrtnxtishsmiri\n", - "-2373.8409008034896 vise barglmutpgtgphapvomzcodziymxyuacdpidphapkaathewzwindjhatlkkdhoapveexgiyasnttcuzltliileyrpnxtmshsiiri\n", - "-2373.8409008034896 vise barglmutpgtgphapvomzcodziymxyuacdpidphapkaathewzwindjhatlkkdhoapveexgiyasnttcuzltliileyrpnxtmshsiiri\n", - "-2377.42652265308 vism barylmubpgtyphaxvomrcodhiympyuakdpivphaxkaalhewhwinvjhablkkvhoaxveepgiyisntlcuzttlialeyzpnxlmshaiira\n", - "-2429.6603352189377 vimm baxylmobpgzyphuxvosrcoxhiyspyuukdpovphuxkaglheqhwitvjhublkqvhouxvekpgisisnzlcutttloaleszpndlmsbaiixa\n", - "-2432.7846680773428 vimp baxvlmoepgzvphuavosocoxkiysmyuundposphuakagiheqkwitsjhuelkqshouavekmgislsnzicutwtloxlescpndimsbdiixx\n", - "-2589.1758768787417 vmmp bwxvlqoepczvpluavksocsxkiusmyyundlospluakwgihiqkwetsjluelgqshsuavakmgmslsjzicytwthoxliscpjdimwbdiexx\n", - "-2432.7846680773428 vimp baxvlmoepgzvphuavosocoxkiysmyuundposphuakagiheqkwitsjhuelkqshouavekmgislsnzicutwtloxlescpndimsbdiixx\n", - "-2446.676622751361 gimp qaxvwmoeegzvahuakosonoxkxysmjuunsposahuazagiseqklitsuhueakqssouakekmrislhnzinutwiloxwescendixsbdxixx\n", - "-2504.991935417861 giml qaxzwmoaegzzahuwkossnoxgxysqjuujspowahuwzagmseqglitwuhuaakqwsouwkekqrishhnzmnutsilobwesyendmxsbzxixb\n", - "-2495.7792219526564 ziml xaxzpmoalgzzthuwrossgoxgeysqcuujzpowthuwgagmleqgsitwnhuahkqwlouwrekqkishonzmgutsplobpesylndmqsbzeixb\n", - "-2478.363867093645 zial xajzpmcalglzthiwroesgolgeyeqcuijzpawthiwgasmleegsifwnhiahkcwloiwrewqkighonlmguhsplabpegylnpmqspzeijb\n", - "-2432.060443571634 ziaa xajkpmcplglkthilroedgolveyebcuiyzpahthilgasxleevsifhnhiphkchloilrewbkigwonlxguhhplampegnlnpxqspoeijm\n", - "-2452.8670821578844 zida xagkpmfplgikthllrobdgooveybbculyzpxhthllgapxlehvsichnhlphkzhlollretbkijwonixgukhplxmpejnlnmxqssoeigm\n", - "-2662.124127812707 zfda xdgkpjfpljiktellrrbdglovebbbcrlyzsxhtellgdpxlbhvslchnelphnzhllllrhtbkfjwoqixgrkhpoxmpbjnlqmxqpsoelgm\n", - "-2678.8914732487833 dfda tdgktjfphjikxellnrbdklovabbbgrlyvsxhxellcdpxpbhvolchrelpdnzhplllnhtbofjwkqixkrkhloxmtbjnhqmxupsoalgm\n", - "-2685.3705706214046 rfda fdgkhjfptjiklellzrbdylovmbbburlyhsxhlellodpxdbhvalchfelppnzhdlllzhtbcfjwwqixyrkhxoxmhbjntqmxipsomlgm\n", - "-2642.4041498931747 rfpa fdukhjrptjwklexlzrpdylavmbpburxyhslhlexloddxdbtvalqhfexppnnhdlxlzhhbcfvwwqwxyrwhxolmhbvntqaxipeomlum\n", - "-2582.485896257503 rtpa fpukhxrptvwklsxlzdpdyzavmnpbufxyhelhlsxlopdxdptvaxqhfsxppznhdzxlzthbctvwwcwxyfwhxalmhpvntcaxideomxum\n", - "-2642.1021734551396 rtna fpwkhxpptvyklsvlzdrdyzyvmnrbufvyhenhlsvlopfxdprvaxshfsvppzphdzvlztjbcttwwcyxyfuhxanmhptntccxidcomxwm\n", - "-2626.391692325873 rtnj fpwbhxpytvyblsvuzdruyzyemnrsufvhhenylsvuopfodpreaxsyfsvypzpydzvuztjscttfwcyoyfuqxandhptwtccoidcxmxwd\n", - "-2588.935197270214 rtaj fpjbhxcytvlblsiuzdeuyzlemnesufihheaylsiuopsodpeeaxfyfsiypzcydziuztwsctgfwcloyfhqxaadhpgwtcpoidpxmxjd\n", - "-2580.224443040335 reaj fejbhicytklbldiuzseuyklemcesuqihhtayldiuoesodaeeamfyfdiypocydkiuziwscegfwrloyqhqxpadhagwtrpoiopxmmjd\n", - "-2591.413538323505 rejj feabhilytkcbldruzsvuykuemcvsuqrhhtryldruoejodaneamwyfdrypotydkruzinscepfwrcoyqqqxprdhapwtrgoioyxmmad\n", - "-2696.064018444512 rejo feawhildtkcwldrzzsvpykujmcvnuqrmhtrtldrzoejjdanjamwtfdrdpottdkrzzinncepkwrcjyqqvxpryhapbtrgjioycmmay\n", - "-2764.6930263100644 rfjo fdawhjldtjcwlerzzrvpylujmbvnurrmhsrtlerzodjjdbnjalwtferdpnttdlrzzhnncfpkwqcjyrqvxoryhbpbtqgjipycmlay\n", - "-2774.3105696131456 rfdo fdgwhjfdtjiwlelzzrbpylojmbbnurlmhsxtlelzodpjdbhjalctfeldpnztdllzzhtncfjkwqijyrkvxoxyhbjbtqmjipscmlgy\n", - "-2782.572077816491 rfuo fdpwhjwdtjrwleczzrkpylfjmbknurcmhsgtleczodyjdbyjalltfecdpnitdlczzhcncfakwqrjyrbvxogyhbabtqvjipjcmlpy\n", - "-2753.5039310268944 rfao fdjwhjcdtjlwleizzrepylljmbenurimhsatleizodsjdbejalftfeidpnctdlizzhwncfgkwqljyrhvxoayhbgbtqpjippcmljy\n", - "-2717.1346638148366 rfak fdjahjcztjlaleivzretyllfmberuriihsaxleivodsndbefalfxfeizpncxdlivzhwrcfggwqlnyrhrxoachbgxtqpnippymljc\n", - "-2661.2280681725315 rxak fljahbcztrlalwivzzetydlfmjerujiihaaxlwivolsndtefatfxfwizpvcxddivzpwrcxggwylnyjhrxwachtgxtypnihpymtjc\n", - "-2607.8074597206114 rxaf fljfhbcutrlflwiqzzeyydlamjewujidhaaclwiqolssdteaatfcfwiupvccddiqzpwwcxgbwylsyjhmxwahhtgstypsihptmtjh\n", - "-2603.795801727245 rtaf fpjfhxcutvlflsiqzdeyyzlamnewufidheaclsiqopssdpeaaxfcfsiupzccdziqztwwctgbwclsyfhmxaahhpgstcpsidptmxjh\n", - "-2638.883712632069 ltaf lpjfbxcuzvlffsiqfdeyszlasnewofidneacfsiqupssxpeagxfczsiuvzccxziqftwwwtgbcclssfhmdaahbpgszcpscdptsxjh\n", - "-2656.2990674910816 ltmf lpxfbxouzvzffsuqfdsyszxasnswofudneocfsuqupgsxpqagxtczsuuvzqcxzuqftkwwtsbcczssftmdaohbpsszcdscdbtsxxh\n", - "-2687.94050133419 lwmf lmxfbaouzszffvuqfasyscxaskswoiudnbocfvuqumgsxsqagutczvuuvwqcxcuqfqkwwwsbczzssitmdxohbssszzdscgbtsuxh\n", - "-2629.1122842027166 lwwf lmnfbayuzspffveqfaiyschaskiwoiednbecfvequmwsxsaagujczveuvwgcxceqfqawwwcbczpssidmdxehbscszztscgltsunh\n", - "-2629.1122842027166 lwwf lmnfbayuzspffveqfaiyschaskiwoiednbecfvequmwsxsaagujczveuvwgcxceqfqawwwcbczpssidmdxehbscszztscgltsunh\n", - "-2625.9563038137107 mwwf kmnfcayuyspfgveqeaiytcharkiwpiedmbecgveqtmwsysaafujcaveuuwgcyceqeqawxwcbbzpstidmcxehcscsyztsdgltrunh\n", - "-2579.990643954401 gwwf qmnfwayuespfaveqkaiynchaxkiwjiedsbecaveqzmwsssaalujcuveuawgcsceqkqawrwcbhzpsnidmixehwscseztsxgltxunh\n", - "-2592.8037359948594 gkwf qynfwoyueepfajeqkmiynqhaxwiwjwedsnecajeqzywssgaalgjcujeuaigcsqeqkcawrkcbhlpsnwdmijehwgcseltsxultxgnh\n", - "-2600.358367965731 dkwf tynftoyuhepfxjeqnmiykqhaawiwgwedvnecxjeqcywspgaaogjcrjeudigcpqeqncawokcbklpskwdmljehtgcshltsuultagnh\n", - "-2651.6637328228094 ekwf synfuoyugepfyjeqmmiylqhazwiwhwedunecyjeqbywsqgaangjcsjeucigcqqeqmcawpkcbjlpslwdmkjehugcsgltsvultzgnh\n", - "-2614.261623721489 emwf swnfuqyugcpfyleqmkiylshazuiwhyedulecyleqbwwsqiaanejcsleucggcqseqmaawpmcbjjpslydmkhehuicsgjtsvwltzenh\n", - "-2598.49845270936 eewf senfuiyugkpfydeqmsiylkhazciwhqedutecydeqbewsqaaanmjcsdeucogcqkeqmiawpecbjrpslqdmkpehuacsgrtsvoltzmnh\n", - "-2599.348329381597 eewa senkuiypgkpkydelmsidlkhvzcibhqeyutehydelbewxqaavnmjhsdepcoghqkelmiabpecwjrpxlqdhkpemuacngrtxvolozmnm\n", - "-2611.482137337983 eewu senquiyjgkpqydefmsijlkhpzcihhqesutenydefbewdqaapnmjnsdejcognqkefmiahpecqjrpdlqdbkpesuachgrtdvolizmns\n", - "-2583.306071650537 iewu oenqyiyjckpqcdefisijpkhpvcihlqesqtencdefxewduaapjmjnwdejyognukefiiahtecqfrpdpqdbgpesyachcrtdzolivmns\n", - "-2647.5077661045643 irwu ornqyvyjcxpqcqefifijpxhpvpihldesqgencqefxrwdunapjzjnwqejybgnuxefivahtrcqfepdpddbgcesynchcetdzblivzns\n", - "-2605.2882645648906 irwx ornnyvymcxpncqeiifigpxhsvpieldevqgekcqeixrwaunasjzjkwqemybgkuxeiivaetrctfepapddegcepynckcetazbllvznp\n", - "-2549.797324340743 itwx opnnyxymcvpncseiidigpzhsvnielfevqeekcseixpwaupasjxjkwsemyzgkuzeiitaettctfcpapfdegaepypckcctazdllvxnp\n", - "-2561.161174071544 itwe opngyxytcvpgcsepidizpzhzvnixlfecqeedcsepxpwtupazjxjdwsetyzgduzepitaxttcafcptpfdlgaeiypcrccttzdlsvxni\n", - "-2626.186441446043 itwl opnzyxyacvpzcsewidispzhgvniqlfejqeewcsewxpwmupagjxjwwseayzgwuzewitaqttchfcpmpfdsgaebypcycctmzdlzvxnb\n", - "-2564.746795921136 itwm opnyyxybcvpycsexidirpzhhvniplfekqeevcsexxpwlupahjxjvwsebyzgvuzexitapttcifcplpfdtgaeaypczcctlzdlavxna\n", - "-2564.746795921136 itwm opnyyxybcvpycsexidirpzhhvniplfekqeevcsexxpwlupahjxjvwsebyzgvuzexitapttcifcplpfdtgaeaypczcctlzdlavxna\n", - "-2597.3706023072273 itws opnsyxyhcvpscsedidilpzhnvnijlfeqqeepcsedxpwfupanjxjpwsehyzgpuzeditajttcofcpfpfdzgaeuypcfcctfzdlgvxnu\n", - "-2626.7124723528264 ites opfsyxghcvhscsmdidalpzpnvnajlfmqqewpcsmdxpofupinjxbpwsmhyzypuzmditsjttkofchfpflzgawuypkfcclfzdtgvxfu\n", - "-2633.764889135074 imes owfsyqghcchsclmdikalpspnvuajlymqqlwpclmdxwofuiinjebpwlmhygypusmdiasjtmkofjhfpylzghwuyikfcjlfzwtgvefu\n", - "-2670.4922106580593 imos owvsyqqhccxsclwdikqlpsznvuqjlywqqlmpclwdxwefuisnjerpwlwhygopuswdiaijtmuofjxfpyvzghmuyiufcjbfzwdgvevu\n", - "-2666.642519948186 imds owgsyqfhccisclldikblpsonvubjlylqqlxpclldxwpfuihnjecpwllhygzpusldiatjtmjofjifpykzghxuyijfcjmfzwsgvegu\n", - "-2633.764889135074 imes owfsyqghcchsclmdikalpspnvuajlymqqlwpclmdxwofuiinjebpwlmhygypusmdiasjtmkofjhfpylzghwuyikfcjlfzwtgvefu\n", - "-2657.0249766451057 imjs owasyqlhcccsclrdikvlpsunvuvjlyrqqlrpclrdxwjfuinnjewpwlrhygtpusrdianjtmpofjcfpyqzghruyipfcjgfzwygveau\n", - "-2622.4070483592122 imji owacyqlxccccclrtikvvpsudvuvtlyrgqlrzclrtxwjpuindjewzwlrxygtzusrtianttmpefjcppyqpghreyipvcjgpzwywveae\n", - "-2665.5034291818456 imti owqcyqvxccscclbtiklvpsedvultlybgqlhzclbtxwzpuixdjemzwlbxygjzusbtiadttmzefjsppyapghheyizvcjwpzwiwveqe\n", - "-2714.78059686345 imtb owqjyqvqccsjclbmiklcpsewvulalybzqlhgclbmxwzwuixwjemgwlbqygjgusbmiadatmzxfjswpyaighhlyizocjwwzwipveql\n", - "-2771.5737720762822 imto owqwyqvdccswclbziklppsejvulnlybmqlhtclbzxwzjuixjjemtwlbdygjtusbziadntmzkfjsjpyavghhyyizbcjwjzwicveqy\n", - "-2686.5514441797154 imyo owlwyqadccnwclgzikgppsjjvugnlygmqlctclgzxwujuicjjehtwlgdygetusgziayntmekfjnjpyfvghcyyiebcjrjzwncvely\n", - "-2701.8331728985227 mmyo kwlwcqadycnwglgzekgptsjjrugnpygmmlctglgztwujyicjfehtalgdugetysgzeaynxmekbjnjtyfvchcyciebyjrjdwncrely\n", - "-2671.79008022281 omyo iwlweqadwcnwilgzckgpvsjjpugnrygmklctilgzrwujaicjdehtclgdsgetasgzcaynzmekzjnjvyfvahcyeiebwjrjfwncpely\n", - "-2582.850081231071 omya iwlkeqapwcnkilglckgdvsjvpugbrygyklchilglrwuxaicvdehhclgpsgehasglcaybzmewzjnxvyfhahcmeienwjrxfwnopelm\n", - "-2582.850081231071 omya iwlkeqapwcnkilglckgdvsjvpugbrygyklchilglrwuxaicvdehhclgpsgehasglcaybzmewzjnxvyfhahcmeienwjrxfwnopelm\n", - "-2629.7130476934253 cmya uwlksqapicnkwlglokgdjsjvbugbfygywlchwlgldwuxoicvpehhqlgpegehosgloaybnmewljnxjyfhmhcmsienijrxtwnobelm\n", - "-2666.3556480236834 fmya rwlkvqapfcnkzlgllkgdmsjvyugbiygytlchzlglawuxricvmehhtlgpbgehrsgllaybqmewijnxmyfhjhcmvienfjrxwwnoyelm\n", - "-2651.2194260207884 fmym rwlyvqabfcnyzlgxlkgrmsjhyugpiygktlcvzlgxawulrichmehvtlgbbgevrsgxlaypqmeiijnlmyftjhcaviezfjrlwwnayela\n", - "-2567.7138592281763 omym iwlyeqabwcnyilgxckgrvsjhpugprygkklcvilgxrwulaichdehvclgbsgevasgxcaypzmeizjnlvyftahcaeiezwjrlfwnapela\n", - "-2597.7569519038884 mmym kwlycqabycnyglgxekgrtsjhrugppygkmlcvglgxtwulyichfehvalgbugevysgxeaypxmeibjnltyftchcaciezyjrldwnarela\n", - "-2658.4261737233924 mmyw kwlocqalycnoglghekghtsjrrugfpygumlclglghtwubyicrfehlalglugelysgheayfxmesbjnbtyfdchcqciejyjrbdwnkrelq\n", - "-2672.577916378002 msyw kqlocwalywnogrgheeghtyjrrogfpegumfclgrghtqubyocrfyhlargluaelyygheuyfxsesbdnbtefdcbcqcoejydrbdcnkrylq\n", - "-2679.6156483410755 msyk kqlacwazywnagrgveegttyjfrogrpegimfcxgrgvtqunyocffyhxargzuaexyygveuyrxsegbdnntefrcbcccoexydrndcnyrylc\n", - "-2707.2459639275544 mayk kilaceazyonagzgvewgttgjfrggrpmgimxcxgzgvtiunywcffqhxazgzusexyggvemyrxaegbvnntmfrctcccwexyvrndknyrqlc\n", - "-2742.755228426463 payk hilafeazvonajzgvbwgtwgjfoggrsmgijxcxjzgvqiunbwcfcqhxdzgzrsexbggvbmyraaegyvnnwmfrztccfwexvvrngknyoqlc\n", - "-2736.4879201687913 payl hilzfeaavonzjzgwbwgswgjgoggqsmgjjxcwjzgwqiumbwcgcqhwdzgarsewbggwbmyqaaehyvnmwmfsztcbfweyvvrmgknzoqlb\n", - "-2700.8933369736797 jayl nilzzeaabonzdzgwhwgsqgjguggqmmgjpxcwdzgwwiumvwcgiqhwxzgaxsewvggwhmyquaehevnmqmfsftcbzweybvrmaknzuqlb\n", - "-2652.058861950343 jtyl nplzzxaabvnzdsgwhdgsqzjgungqmfgjpecwdsgwwpumvpcgixhwxsgaxzewvzgwhtyqutehecnmqffsfacbzpeybcrmadnzuxlb\n", - "-2737.0811898469105 jttl npqzzxvabvszdsbwhdlsqzegunlqmfbjpehwdsbwwpzmvpxgixmwxsbaxzjwvzbwhtdqutzhecsmqfasfahbzpzybcwmadizuxqb\n", - "-2753.986382329757 cttl upqzsxvaivszwsbwodlsjzegbnlqffbjwehwwsbwdpzmopxgpxmwqsbaezjwozbwotdqntzhlcsmjfasmahbspzyicwmtdizbxqb\n", - "-2737.0811898469105 jttl npqzzxvabvszdsbwhdlsqzegunlqmfbjpehwdsbwwpzmvpxgixmwxsbaxzjwvzbwhtdqutzhecsmqfasfahbzpzybcwmadizuxqb\n", - "-2721.884779824306 ittl opqzyxvacvszcsbwidlspzegvnlqlfbjqehwcsbwxpzmupxgjxmwwsbayzjwuzbwitdqttzhfcsmpfasgahbypzyccwmzdizvxqb\n", - "-2698.755480654676 dttl tpqztxvahvszxsbwndlskzeganlqgfbjvehwxsbwcpzmppxgoxmwrsbadzjwpzbwntdqotzhkcsmkfaslahbtpzyhcwmudizaxqb\n", - "-2742.1804679057514 dutl toqztyvahuszxtbwnclskaegamlqggbjvdhwxtbwcozmpqxgowmwrtbadyjwpabwnsdqouzhkbsmkgaslzhbtqzyhbwmueizawqb\n", - "-2690.044726424795 detl teqztivahkszxdbwnslskkegaclqgqbjvthwxdbwcezmpaxgommwrdbadojwpkbwnidqoezhkrsmkqaslphbtazyhrwmuoizamqb\n", - "-2696.3120346824667 detk teqativzhksaxdbvnsltkkefaclrgqbivthxxdbvceznpaxfommxrdbzdojxpkbvnidroezgkrsnkqarlphctazxhrwnuoiyamqc\n", - "-2679.54468924639 zetk xeqapivzlksatdbvrsltgkefeclrcqbizthxtdbvgeznlaxfsmmxndbzhojxlkbvridrkezgorsngqarpphcpazxlrwnqoiyemqc\n", - "-2747.6173995395443 eetk seqauivzgksaydbvmsltlkefzclrhqbiuthxydbvbeznqaxfnmmxsdbzcojxqkbvmidrpezgjrsnlqarkphcuazxgrwnvoiyzmqc\n", - "-2731.9832643599493 evtk snqauzvzgtsayubvmbltlbefzllrhhbiuchxyubvbnznqrxfnvmxsubzcxjxqbbvmrdrpvzgjasnlharkyhcurzxgawnvfiyzvqc\n", - "-2752.9702302848996 evgk sndauzizgtfayuovmbytlbrfzlyrhhoiucuxyuovbnmnqrkfnvzxsuozcxwxqbovmrqrpvmgjafnlhnrkyucurmxgajnvfvyzvdc\n", - "-2817.3977582530847 elgk sxdaupizgdfaykovmlytlrrfzvyrhxoiumuxykovbxmnqhkfnfzxskozchwxqrovmbqrplmgjkfnlxnrkiucuhmxgkjnvvvyzfdc\n", - "-2799.159303086145 eogk sudausizgafaynovmiytlurfzsyrhaoiujuxynovbumnqkkfnczxsnozcewxquovmyqrpomgjhfnlanrkfucukmxghjnvyvyzcdc\n", - "-2789.420946506511 logk ludabsizzafafnovfiytsurfssyroaoinjuxfnovuumnxkkfgczxznozvewxxuovfyqrwomgchfnsanrdfucbkmxzhjncyvyscdc\n", - "-2721.692898589355 lozk lukabsbzzamafnhvfiftsukfssfroahinjbxfnhvuutnxkdfgcgxznhzvedxxuhvfyxrwofgchmnsagrdfbcbkfxzhqncyoysckc\n", - "-2725.3375997589274 lojk luaabslzzacafnrvfivtsuufssvroarinjrxfnrvuujnxknfgcwxznrzvetxxurvfynrwopgchcnsaqrdfrcbkpxzhgncyyyscac\n", - "-2745.7411839457573 lgjk lcaabklzzicaffrvfqvtsmufsavrosrinrrxffrvucjnxcnfgkwxzfrzvmtxxmrvfgnrwgpgcpcnssqrdnrcbcpxzpgncqyyskac\n", - "-2724.329150289391 lgjh lcadbklwzicdffrsfqvwsmucsavuosrfnrraffrsucjqxcncgkwazfrwvmtaxmrsfgnuwgpdcpcqssqodnrfbcpuzpgqcqyvskaf\n", - "-2689.133799493039 lmjh lwadbqlwzccdflrsfkvwssucsuvuoyrfnlraflrsuwjqxincgewazlrwvgtaxsrsfanuwmpdcjcqsyqodhrfbipuzjgqcwyvseaf\n", - "-2690.1219251486305 lmjb lwajbqlqzccjflrmfkvcssuwsuvaoyrznlrgflrmuwjwxinwgewgzlrqvgtgxsrmfanawmpxcjcwsyqidhrlbipozjgwcwypseal\n", - "-2713.482293694805 lyjb lkajbclqzqcjfxrmfyvcseuwsivaokrznzrgfxrmukjwxunwgswgzxrqvutgxermfonawypxcxcwskqidvrlbupozxgwciypssal\n", - "-2687.0811663597506 lxjb llajbblqzrcjfwrmfzvcsduwsjvaojrznargfwrmuljwxtnwgtwgzwrqvvtgxdrmfpnawxpxcycwsjqidwrlbtpozygwchypstal\n", - "-2683.4364651901783 lxzb llkjbbbqzrmjfwhmfzfcsdkwsjfaojhznabgfwhmultwxtdwgtggzwhqvvdgxdhmfpxawxfxcymwsjgidwblbtfozyqwchopstkl\n", - "-2687.0811663597506 lxjb llajbblqzrcjfwrmfzvcsduwsjvaojrznargfwrmuljwxtnwgtwgzwrqvvtgxdrmfpnawxpxcycwsjqidwrlbtpozygwchypstal\n", - "-2711.1505367656273 lhjb lbajbllqzhcjfgrmfpvcsnuwszvaotrznqrgfgrmubjwxdnwgjwgzgrqvltgxnrmffnawhpxcocwstqidmrlbdpozogwcrypsjal\n", - "-2787.778977825953 lnjb lvajbrlqzbcjfmrmfjvcstuwstvaozrznkrgfmrmuvjwxjnwgdwgzmrqvftgxtrmfznawnpxcicwszqidgrlbjpozigwcxypsdal\n", - "-2795.000158549292 lnxb lvmjbrzqzbojfmfmfjhcstiwsthaozfznkdgfmfmuvvwxjbwgdigzmfqvffgxtfmfzzawndxciowszeidgdlbjdoziswcxmpsdml\n", - "-2745.7229908676854 lnxi lvmcbrzxzbocfmftfjhvstidsthtozfgnkdzfmftuvvpxjbdgdizzmfxvffzxtftfzztwndeciopszepdgdebjdvzispcxmwsdme\n", - "-2693.7316240414752 lqxi lsmcbuzxzyocfpftfghvswidsqhtocfgnhdzfpftusvpxmbdgaizzpfxvcfzxwftfwztwqdecfopscepdddebmdvzfspcamwsame\n", - "-2695.906746372633 sqxi esmciuzxsyocmpftyghvzwidlqhtvcfgghdzmpftnsvpembdzaizgpfxocfzewftywztdqdevfopzcepwddeimdvsfspjamwlame\n", - "-2665.4254781392597 sqei esfciugxsyhcmpmtygavzwpdlqatvcmgghwzmpmtnsopemidzabzgpmxocyzewmtywstdqkevfhpzclpwdweimkvsflpjatwlafe\n", - "-2660.009056722893 jqei nsfczugxbyhcdpmthgavqwpduqatmcmgphwzdpmtwsopvmidiabzxpmxxcyzvwmthwstuqkeefhpqclpfdwezmkvbflpaatwuafe\n", - "-2623.8018957829286 jcei ngfczggxbmhcdbmthuavqipdueatmomgpvwzdbmtwgopvyidiobzxbmxxqyzvimthkstuckeethpqolpfrwezykvbtlpamtwuofe\n", - "-2651.745479973103 jkei nyfczogxbehcdjmthmavqqpduwatmwmgpnwzdjmtwyopvgidigbzxjmxxiyzvqmthcstukkeelhpqwlpfjwezgkvbllpautwugfe\n", - "-2656.8218218838956 jkeg nyfezogvbehedjmrhmaxqqpbuwavmwmepnwbdjmrwyorvgibigbbxjmvxiybvqmrhcsvukkcelhrqwlnfjwgzgktbllrautuugfg\n", - "-2642.7800813287486 jyeg nkfezcgvbqhedxmrhyaxqepbuiavmkmepzwbdxmrwkorvuibisbbxxmvxuybvemrhosvuykcexhrqklnfvwgzuktbxlraituusfg\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2642.8221941761644 jyep nkfvzcgebqhvdxmahyaoqepkuiammkmnpzwsdxmawkoivuikisbsxxmexuysvemahosmuyklexhiqklwfvwxzukcbxliaitdusfx\n", - "-2663.159455685317 jykp nkzvzcmebqbvdxsahyuoqevkuiummksnpzqsdxsawkiivuokisvsxxsexussvesahommuyqlexbiqkrwfvqxzuqcbxfiaizduszx\n", - "-2646.600135863505 jbkp nhzvzfmebnbvdasahvuoqhvkufummnsnpwqsdasawhiivxokipvsxasexrssvhsahlmmubqleubiqnrwfsqxzxqcbufialzdupzx\n", - "-2646.685454559709 mbkp khzvcfmeynbvgasaevuothvkrfumpnsnmwqsgasathiiyxokfpvsaaseurssyhsaelmmxbqlbubitnrwcsqxcxqcyufidlzdrpzx\n", - "-2671.74304462636 mbip khbvcfkeyndvgaqaevwothtkrfwmpnqnmwssgaqathkiyxmkfpxsaaqeurusyhqaelomxbolbuditnpwcssxcxocyuhidlxdrpbx\n", - "-2652.1344826242816 mbbp khivcfdeynkvgajaevdothmkrfdmpnjnmwzsgajathriyxfkfpesaajeurbsyhjaelvmxbhlbukitniwcszxcxhcyuoidlqdrpix\n", - "-2696.2931955476797 mbbb khijcfdqynkjgajmevdcthmwrfdapnjzmwzggajmthrwyxfwfpegaajqurbgyhjmelvaxbhxbukwtniicszlcxhoyuowdlqprpil\n", - "-2651.8410464100525 mbyb khljcfaqynnjgagmevgcthjwrfgapngzmwcggagmthuwyxcwfphgaagquregyhgmelyaxbexbunwtnficsclcxeoyurwdlnprpll\n", - "-2681.4125681545215 muyb koljcyaqyunjgtgmecgctajwrmgapggzmdcggtgmtouwyqcwfwhgatgquyegyagmesyaxuexbbnwtgficzclcqeoybrwdenprwll\n", - "-2621.554953621193 vuyb boljlyaqpunjptgmvcgccajwimgayggzddcgptgmkouwhqcwwwhgjtgqlyeghagmvsyaguexsbnwcgfitzcllqeopbrwmenpiwll\n", - "-2599.334125806973 vsyb bqljlwaqpwnjprgmvegccyjwiogayegzdfcgprgmkquwhocwwyhgjrgqlaeghygmvuyagsexsdnwcefitbclloeopdrwmcnpiyll\n", - "-2693.4073252352923 nsyb jqljdwaqxwnjhrgmdegcuyjwqogaqegzlfcghrgmsquwzocweyhgbrgqtaegzygmduyaysexadnwuefibbcldoeoxdrwecnpqyll\n", - "-2641.427686366795 usyb cqljkwaqqwnjorgmwegcbyjwjogaxegzefcgorgmlquwgocwxyhgirgqmaeggygmwuyafsextdnwbefiubclkoeoqdrwlcnpjyll\n", - "-2648.304555329182 uhyb cbljklaqqhnjoggmwpgcbnjwjzgaxtgzeqcgoggmlbuwgdcwxjhgiggqmleggngmwfyafhextonwbtfiumclkdeoqorwlrnpjjll\n", - "-2662.4611550722852 uhyl cblzklaaqhnzoggwwpgsbnjgjzgqxtgjeqcwoggwlbumgdcgxjhwiggamlewgngwwfyqfhehtonmbtfsumcbkdeyqormlrnzjjlb\n", - "-2711.2681845167904 uhrl cbszkltaqhuzogzwwpnsbncgjznqxtzjeqjwogzwlbbmgdvgxjowigzamllwgnzwwffqfhxhtoumbtysumjbkdxyqoymlrgzjjsb\n", - "-2704.391315554404 usrl cqszkwtaqwuzorzwwensbycgjonqxezjefjworzwlqbmgovgxyowirzamalwgyzwwufqfsxhtdumbeysubjbkoxyqdymlcgzjysb\n", - "-2674.476401887666 uerl ceszkitaqkuzodzwwsnsbkcgjcnqxqzjetjwodzwlebmgavgxmowidzamolwgkzwwifqfexhtrumbqysupjbkaxyqrymlogzjmsb\n", - "-2467.921006625677 uert cesrkitiqkurodzewsnkbkcojcnixqzretjoodzelebegavoxmooidzimologkzewififexptruebqyaupjtkaxgqryeloghjmst\n", - "-2480.3029485062852 bert vesrritijkurvdzepsnkikcoccnieqzrxtjovdzeeebenavoqmoopdzifolonkzepifimexpmrueiqyanpjtraxgjryesoghcmst\n", - "-2306.478733685316 kert mesraitiakuredzegsnkrkcotcninqzrotjoedzevebewavohmooydziwolowkzegifivexpdruerqyaepjtaaxgaryeboghtmst\n", - "-2439.7194007398734 gert qesrwitiekuradzeksnknkcoxcnijqzrstjoadzezebesavolmooudziaoloskzekifirexphruenqyaipjtwaxgeryexoghxmst\n", - "-2466.8244904958847 gjrt qzsrwntiefuraizeknnknpcoxxnijvzrsojoaizezzbesfvolhoouiziajlospzekdfirjxphmuenvyaikjtwfxgemyextghxhst\n", - "-2474.379122466755 djrt tzsrtntihfurxizennnkkpcoaxnigvzrvojoxizeczbepfvoohoorizidjloppzendfiojxpkmuekvyalkjttfxghmyeutghahst\n", - "-2566.2526244720966 fjrt rzsrvntiffurzizelnnkmpcoyxniivzrtojozizeazberfvomhootizibjlorpzeldfiqjxpimuemvyajkjtvfxgfmyewtghyhst\n", - "-2547.0057352501885 njrt jzsrdntixfurhizednnkupcoqxniqvzrlojohizeszbezfvoehoobizitjlozpzeddfiyjxpamueuvyabkjtdfxgxmyeetghqhst\n", - "-2489.1236978816305 wjrt azsrmntiofurqizeunnkdpcohxnizvzrcojoqizejzbeifvovhookizikjloipzeudfihjxprmuedvyaskjtmfxgomyentghhhst\n", - "-2514.1543496065774 wurt aosrmytiouurqtzeucnkdacohmnizgzrcdjoqtzejobeiqvovwooktzikyloiazeusfihuxprbuedgyaszjtmqxgobyeneghhwst\n", - "-2454.6713096803746 wuwt aonrmyyiouprqteeucikdahohmiizgercdeoqteejoweiqaovwjokteikygoiaeeusaihucprbpedgdaszetmqcgobtenelhhwnt\n", - "-2453.4940900078964 wgwt acnrmkyioiprqfeeuqikdmhohaiizsercreoqfeejcweicaovkjokfeikmgoimeeugaihgcprppedsdasnetmccgoptenqlhhknt\n", - "-2425.0997879359074 wbwt ahnrmfyionprqaeeuvikdhhohfiiznercweoqaeejhweixaovpjokaeikrgoiheeulaihbcprupedndassetmxcgoutenllhhpnt\n", - "-2415.257980422664 wxwt alnrmbyiorprqweeuzikddhohjiizjercaeoqweejlweitaovtjokweikvgoideeupaihxcprypedjdaswetmtcgoytenhlhhtnt\n", - "-2438.9244328962272 mxwt klnrcbyiyrprgweeeziktdhorjiipjermaeogweetlweytaoftjoaweiuvgoydeeepaixxcpbypetjdacwetctcgyytedhlhrtnt\n", - "-2410.567885493388 mvwt knnrczyiytprgueeebiktbhorliiphermceogueetnweyraofvjoaueiuxgoybeeeraixvcpbapethdacyetcrcgyatedflhrvnt\n", - "-2410.567885493388 mvwt knnrczyiytprgueeebiktbhorliiphermceogueetnweyraofvjoaueiuxgoybeeeraixvcpbapethdacyetcrcgyatedflhrvnt\n", - "-2465.325560231283 mywt kknrccyiyqprgxeeeyiktehoriiipkermzeogxeetkweyuaofsjoaxeiuugoyeeeeoaixycpbxpetkdacvetcucgyxtedilhrsnt\n", - "-2410.1471869067686 zywt xknrpcyilqprtxeeryikgehoeiiickerzzeotxeegkweluaossjonxeihugoleeeroaikycpoxpegkdapvetpucglxteqilhesnt\n", - "-2469.4124692790515 aywt wknrqcyikqpruxeeqyikhehodiiidkeryzeouxeefkwemuaorsjooxeigugomeeeqoailycpnxpehkdaovetqucgkxterilhdsnt\n", - "-2480.0884797607487 ayyt wklrqcaikqnruxgeqygkhejodigidkgryzcouxgefkuemucorshooxgigueomegeqoyilyepnxnehkfaovctquegkxrerinhdslt\n", - "-2497.847174875937 hyyt pklrxcaidqnrbxgejygkoejowigikkgrrzcobxgeykuetucokshovxgizueotegejoyisyepgxneokfahvctxuegdxreyinhwslt\n", - "-2657.2492699436743 hyyf pklfxcaudqnfbxgqjygyoejawigwkkgdrzccbxgqykustucakshcvxguzuectegqjoywsyebgxnsokfmhvchxuesdxrsyintwslh\n", - "-2646.8962802089013 tyyf dklfjcaurqnfnxgqxygyaejakigwwkgdfzccnxgqmkusfucayshchxgunuecfegqxoyweyebuxnsakfmvvchjuesrxrskintkslh\n", - "-2512.446868276722 tylf dkyfjcnurqafnxtqxytyaewakitwwktdfzpcnxtqmkhsfupaysuchxtunurcfetqxolweyrbuxasaksmvvphjursrxeskiatksyh\n", - "-2522.799858011495 hylf pkyfxcnudqafbxtqjytyoewawitwkktdrzpcbxtqykhstupaksucvxtuzurctetqjolwsyrbgxasoksmhvphxursdxesyiatwsyh\n", - "-2469.0223233327224 rylf fkyfhcnutqaflxtqzytyyewamitwuktdhzpclxtqokhsdupaasucfxtupurcdetqzolwcyrbwxasyksmxvphhurstxesiiatmsyh\n", - "-2460.453721396068 rolf fuyfhsnutaaflntqzityyuwamstwuatdhjpclntqouhsdkpaacucfntupercdutqzylwcorbwhasyasmxfphhkrsthesiyatmcyh\n", - "-2498.5277916399714 rflf fdyfhjnutjafletqzrtyylwambtwurtdhspcletqodhsdbpaalucfetupnrcdltqzhlwcfrbwqasyrsmxophhbrstqesipatmlyh\n", - "-2573.205459375865 rfly fdymhjnntjamletjzrtfylwtmbtdurtwhspjletjodhzdbptalujfetnpnrjdltjzhldcfruwqazyrsfxopohbrltqezipammlyo\n", - "-2480.655824459721 rfle fdyghjnttjagletpzrtzylwzmbtxurtchspdletpodhtdbpzaludfettpnrddltpzhlxcfrawqatyrslxopihbrrtqetipasmlyi\n", - "-2516.674664023306 afle wdygqjntkjaguetpqrtzhlwzdbtxdrtcyspduetpfdhtmbpzrludoettgnrdmltpqhlxlfranqathrsloopiqbrrkqetrpasdlyi\n", - "-2524.080369403719 tfle ddygjjntrjagnetpxrtzalwzkbtxwrtcfspdnetpmdhtfbpzyludhettnnrdfltpxhlxefrauqatarslvopijbrrrqetkpasklyi\n", - "-2516.674664023306 afle wdygqjntkjaguetpqrtzhlwzdbtxdrtcyspduetpfdhtmbpzrludoettgnrdmltpqhlxlfranqathrsloopiqbrrkqetrpasdlyi\n", - "-2505.590885410971 aale wiygqentkoaguztpqwtzhgwzdgtxdmtcyxpduztpfihtmwpzrqudozttgsrdmgtpqmlxlaranvathmslotpiqwrrkvetrkasdqyi\n", - "-2469.5720458473866 rale fiyghenttoaglztpzwtzygwzmgtxumtchxpdlztpoihtdwpzaqudfzttpsrddgtpzmlxcarawvatymslxtpihwrrtvetikasmqyi\n", - "-2520.03934319741 rdle ffyghhnttlaglctpzttzyjwzmdtxuptchupdlctpofhtdzpzanudfcttpprddjtpzjlxcdrawsatypslxqpihzrrtsetinasmnyi\n", - "-2570.9080108288044 rdlb ffyjhhnqtlajlctmzttcyjwwmdtauptzhupglctmofhwdzpwanugfctqpprgdjtmzjlacdrxwsawypsixqplhzrotsewinapmnyl\n", - "-2523.6249650470018 rdlm ffyyhhnbtlaylctxzttryjwhmdtpuptkhupvlctxofhldzphanuvfctbpprvdjtxzjlpcdriwsalypstxqpahzrztselinaamnya\n", - "-2523.6249650470018 rdlm ffyyhhnbtlaylctxzttryjwhmdtpuptkhupvlctxofhldzphanuvfctbpprvdjtxzjlpcdriwsalypstxqpahzrztselinaamnya\n", - "-2523.0507059206298 rdlj ffybhhnytlablctuzttuyjwemdtsupthhupylctuofhodzpeanuyfctypprydjtuzjlscdrfwsaoypsqxqpdhzrwtseoinaxmnyd\n", - "-2463.8315721059776 rllj fxybhpnytdablktuzltuyrwemvtsuxthhmpylktuoxhodhpeafuyfktyphrydrtuzblsclrfwkaoyxsqxipdhhrwtkeoivaxmfyd\n", - "-2495.67818392559 jllj nxybzpnybdabdktuhltuqrweuvtsmxthpmpydktuwxhovhpeifuyxktyxhryvrtuhblsulrfekaoqxsqfipdzhrwbkeoavaxufyd\n", - "-2626.0459899416915 jlsj nxrbzpuybdtbdkauhlmuqrdeuvmsmxahpmiydkauwxaovhweifnyxkayxhkyvrauhbesulyfektoqxzqfiidzhywbkxoavhxufrd\n", - "-2685.520776944662 jloj nxvbzpqybdxbdkwuhlquqrzeuvqsmxwhpmmydkwuwxeovhseifryxkwyxhoyvrwuhbisulufekxoqxvqfimdzhuwbkboavdxufvd\n", - "-2736.3984511031545 jlon nxvxzpqcbdxxdkwyhlqqqrziuvqomxwlpmmudkwywxekvhsiifruxkwcxhouvrwyhbioulujekxkqxvufimzzhuabkbkavdbufvz\n", - "-2705.287134944557 jlfn nxexzphcbdgxdknyhlzqqrqiuvzomxnlpmvudknywxnkvhjiifauxkncxhxuvrnyhbroulljekgkqxmufivzzhlabkkkavubufez\n", - "-2707.4522639644474 jgfn ncexzkhcbigxdfnyhqzqqmqiuazomsnlprvudfnywcnkvcjiikauxfncxmxuvmnyhgrougljepgkqsmufnvzzclabpkkaqubukez\n", - "-2725.0963461100905 jgjn ncaxzklcbicxdfryhqvqqmuiuavomsrlprrudfrywcjkvcniikwuxfrcxmtuvmryhgnougpjepckqsqufnrzzcpabpgkaqybukaz\n", - "-2707.416737464062 jgjs ncaszklhbicsdfrdhqvlqmunuavjmsrqprrpdfrdwcjfvcnnikwpxfrhxmtpvmrdhgnjugpoepcfqsqzfnruzcpfbpgfaqygukau\n", - "-2728.588097771926 jgjr ncatzklgbictdfrchqvmqmumuavkmsrpprrqdfrcwcjgvcnmikwqxfrgxmtqvmrchgnkugpnepcgqsqyfnrvzcpebpggaqyfukav\n", - "-2686.3403301933263 jtjr npatzxlgbvctdsrchdvmqzumunvkmfrpperqdsrcwpjgvpnmixwqxsrgxztqvzrchtnkutpneccgqfqyfarvzppebcggadyfuxav\n", - "-2644.4143831193924 jtyr npltzxagbvntdsgchdgmqzjmungkmfgppecqdsgcwpugvpcmixhqxsggxzeqvzgchtykutenecngqffyfacvzpeebcrgadnfuxlv\n", - "-2640.3327772033103 jtsr nprtzxugbvttdsachdmmqzdmunmkmfappeiqdsacwpagvpwmixnqxsagxzkqvzachtekutynectgqfzyfaivzpyebcxgadhfuxrv\n", - "-2704.2193816997533 jtur npptzxwgbvrtdscchdkmqzfmunkkmfcppegqdsccwpygvpymixlqxscgxziqvzcchtckutanecrgqfbyfagvzpaebcvgadjfuxpv\n", - "-2663.0802426832934 jter npftzxggbvhtdsmchdamqzpmunakmfmppewqdsmcwpogvpimixbqxsmgxzyqvzmchtskutknechgqflyfawvzpkebclgadtfuxfv\n", - "-2624.4212979922336 jtea npfkzxgpbvhkdsmlhdadqzpvunabmfmypewhdsmlwpoxvpivixbhxsmpxzyhvzmlhtsbutkwechxqflhfawmzpknbclxadtouxfm\n", - "-2636.492290219096 jtaa npjkzxcpbvlkdsilhdedqzlvunebmfiypeahdsilwpsxvpevixfhxsipxzchvzilhtwbutgweclxqfhhfaamzpgnbcpxadpouxjm\n", - "-2680.9468161026653 jkaa nyjkzocpbelkdjilhmedqqlvuwebmwiypnahdjilwysxvgevigfhxjipxichvqilhcwbukgwellxqwhhfjamzggnblpxaupougjm\n", - "-2679.1583454750776 jkaz nyjlzocobelldjikhmeeqqluuwecmwixpnaidjikwysyvgeuigfixjioxicivqikhcwcukgvellyqwhgfjanzggmblpyaupnugjn\n", - "-2712.1055142259825 jkah nyjdzocwbelddjishmewqqlcuweumwifpnaadjiswysqvgecigfaxjiwxicavqishcwuukgdellqqwhofjafzggublpqaupvugjf\n", - "-2729.520869084993 jkmh nyxdzoowbezddjushmswqqxcuwsumwufpnoadjuswygqvgqcigtaxjuwxiqavqushckuuksdelzqqwtofjofzgsubldqaubvugxf\n", - "-2729.6061877811962 mkmh kyxdcoowyezdgjusemswtqxcrwsupwufmnoagjustygqygqcfgtaajuwuiqayquseckuxksdblzqtwtocjofcgsuyldqdubvrgxf\n", - "-2789.8611313571964 mnmh kvxdcrowybzdgmusejswttxcrtsupzufmkoagmustvgqyjqcfdtaamuwufqaytusezkuxnsdbizqtztocgofcjsuyidqdxbvrdxf\n", - "-2802.493708746875 mnch kvhdcrewybjdgmksejcwttncrtcupzkfmkyagmkstvqqyjgcfddaamkwufaaytksezuuxnidbijqtzjocgyfcjiuyinqdxrvrdhf\n", - "-2753.2751795114514 mrch krhdcvewyxjdgqksefcwtxncrpcupdkfmgyagqkstrqqyngcfzdaaqkwubaayxksevuuxridbejqtdjoccyfcniuyenqdbrvrzhf\n", - "-2774.6872131678197 mrck krhacvezyxjagqkvefcttxnfrpcrpdkimgyxgqkvtrqnyngffzdxaqkzubaxyxkvevurxrigbejntdjrccyccnixyenndbryrzhc\n", - "-2759.405484449011 irck orhayvezcxjacqkvifctpxnfvpcrldkiqgyxcqkvxrqnungfjzdxwqkzybaxuxkvivurtrigfejnpdjrgcycynixcennzbryvzhc\n", - "-2780.6625437329867 ircy orhmyvencxjmcqkjifcfpxntvpcdldkwqgyjcqkjxrqzungtjzdjwqknybajuxkjivudtriufejzpdjfgcyoynilcenzzbrmvzho\n", - "-2740.765899127279 zrcy xrhmpvenlxjmtqkjrfcfgxntepcdcdkwzgyjtqkjgrqzlngtszdjnqknhbajlxkjrvudkriuoejzgdjfpcyopnillenzqbrmezho\n", - "-2764.0123419359757 rrcy frhmhventxjmlqkjzfcfyxntmpcdudkwhgyjlqkjorqzdngtazdjfqknpbajdxkjzvudcriuwejzydjfxcyohniltenzibrmmzho\n", - "-2722.3748672184383 rbcy fhhmhfentnjmlakjzvcfyhntmfcdunkwhwyjlakjohqzdxgtapdjfaknprajdhkjzludcbiuwujzynjfxsyohxiltunzilrmmpho\n", - "-2737.0824044703045 qbcy ghhmgfenunjmkakjavcfxhntnfcdtnkwiwyjkakjphqzcxgtbpdjeaknqrajchkjaludbbiuxujzxnjfysyogxiluunzhlrmnpho\n", - "-2727.8411108078662 qbdy ghgmgffnunimkaljavbfxhotnfbdtnlwiwxjkaljphpzcxhtbpcjealnqrzjchljaltdbbjuxuizxnkfysxogxjluumzhlsmnpgo\n", - "-2715.3007415039056 qbky ghzmgfmnunbmkasjavufxhvtnfudtnswiwqjkasjphizcxotbpvjeasnqrsjchsjalmdbbquxubzxnrfysqogxqluufzhlzmnpzo\n", - "-2785.9876088847586 fbky rhzmvfmnfnbmzasjlvufmhvtyfudinswtwqjzasjahizrxotmpvjtasnbrsjrhsjllmdqbquiubzmnrfjsqovxqlfufzwlzmypzo\n", - "-2712.1598178210993 fbka rhzkvfmpfnbkzasllvudmhvvyfubinsytwqhzaslahixrxovmpvhtaspbrshrhslllmbqbqwiubxmnrhjsqmvxqnfufxwlzoypzm\n", - "-2747.140827337827 faka rizkvempfobkzzsllwudmgvvygubimsytxqhzzslaiixrwovmqvhtzspbsshrgsllmmbqaqwivbxmmrhjtqmvwqnfvfxwkzoyqzm\n", - "-2753.797292538636 frka rrzkvvmpfxbkzqsllfudmxvvypubidsytgqhzqslarixrnovmzvhtqspbbshrxsllvmbqrqwiebxmdrhjcqmvnqnfefxwbzoyzzm\n", - "-2762.946378115357 frma rrxkvvopfxzkzqullfsdmxxvypsbiduytgohzqulargxrnqvmzthtqupbbqhrxullvkbqrswiezxmdthjcomvnsnfedxwbboyzxm\n", - "-2745.81603421266 frmi rrxcvvoxfxzczqutlfsvmxxdypstidugtgozzqutargprnqdmztztquxbbqzrxutlvktqrseiezpmdtpjcoevnsvfedpwbbwyzxe\n", - "-2711.5292534253713 fsmi rqxcvwoxfwzczrutlesvmyxdyostieugtfozzrutaqgproqdmytztruxbaqzryutluktqsseidzpmetpjboevosvfddpwcbwyyxe\n", - "-2607.0975857309727 xsmi zqxcnwoxnwzcrruttesveyxdgostaeugbfozrrutiqgpjoqduytzlruxjaqzjyuttuktisseqdzpeetprboenosvnddpocbwgyxe\n", - "-2669.5593937366507 tsmi dqxcjwoxrwzcnrutxesvayxdkostweugffoznrutmqgpfoqdyytzhruxnaqzfyutxuktesseudzpaetpvboejosvrddpkcbwkyxe\n", - "-2640.073046650777 tsei dqfcjwgxrwhcnrmtxeavaypdkoatwemgffwznrmtmqopfoidyybzhrmxnayzfymtxusteskeudhpaelpvbwejokvrdlpkctwkyfe\n", - "-2604.9139797490325 wsei aqfcmwgxowhcqrmtueavdypdhoatzemgcfwzqrmtjqopioidvybzkrmxkayziymtuusthskerdhpdelpsbwemokvodlpnctwhyfe\n", - "-2637.7916105621457 wsdi aqgcmwfxowicqrltuebvdyodhobtzelgcfxzqrltjqppiohdvyczkrlxkazziyltuutthsjerdipdekpsbxemojvodmpncswhyge\n", - "-2635.3952479824047 wsxi aqmcmwzxowocqrftuehvdyidhohtzefgcfdzqrftjqvpiobdvyizkrfxkafziyftuuzthsderdopdeepsbdemodvodspncmwhyme\n", - "-2610.529985113423 wsfi aqecmwhxowgcqrntuezvdyqdhoztzengcfvzqrntjqnpiojdvyazkrnxkaxziyntuurthslerdgpdempsbvemolvodkpncuwhyee\n", - "-2608.9384851636346 wsfe aqegmwhtowggqrnpuezzdyqzhozxzenccfvdqrnpjqntiojzvyadkrntkaxdiynpuurxhslardgtdemlsbvimolrodktncushyei\n", - "-2635.7609180262025 lsfe lqegbwhtzwggfrnpfezzsyqzsozxoencnfvdfrnpuqntxojzgyadzrntvaxdxynpfurxwslacdgtsemldbvibolrzdktccussyei\n", - "-2608.9384851636346 wsfe aqegmwhtowggqrnpuezzdyqzhozxzenccfvdqrnpjqntiojzvyadkrntkaxdiynpuurxhslardgtdemlsbvimolrodktncushyei\n", - "-2617.32320891839 isfe oqegywhtcwggcrnpiezzpyqzvozxlencqfvdcrnpxqntuojzjyadwrntyaxduynpiurxtslafdgtpemlgbviyolrcdktzcusvyei\n", - "-2614.8408836636922 usfe cqegkwhtqwggornpwezzbyqzjozxxencefvdornplqntgojzxyadirntmaxdgynpwurxfslatdgtbemlubvikolrqdktlcusjyei\n", - "-2581.6357440597008 xsfe zqegnwhtnwggrrnptezzeyqzgozxaencbfvdrrnpiqntjojzuyadlrntjaxdjynpturxislaqdgteemlrbvinolrndktocusgyei\n", - "-2590.844369951264 xyfe zkegnchtnqggrxnptyzzeeqzgizxakncbzvdrxnpikntjujzusadlxntjuxdjenptorxiylaqxgtekmlrvvinulrnxktoiusgsei\n", - "-2624.049509555256 uyfe ckegkchtqqggoxnpwyzzbeqzjizxxkncezvdoxnplkntgujzxsadixntmuxdgenpworxfylatxgtbkmluvvikulrqxktliusjsei\n", - "-2692.9384966001962 udfe cfegkhhtqlggocnpwtzzbjqzjdzxxpnceuvdocnplfntgzjzxnadicntmpxdgjnpwjrxfdlatsgtbpmluqvikzlrqsktlnusjnei\n", - "-2646.3548268601926 uqfe csegkuhtqyggopnpwgzzbwqzjqzxxcncehvdopnplsntgmjzxaadipntmcxdgwnpwwrxfqlatfgtbcmludvikmlrqfktlausjaei\n", - "-2667.2748612227033 lqfe lsegbuhtzyggfpnpfgzzswqzsqzxocncnhvdfpnpusntxmjzgaadzpntvcxdxwnpfwrxwqlacfgtscmlddvibmlrzfktcaussaei\n", - "-2759.8244961388505 lqfy lsembuhnzygmfpnjfgzfswqtsqzdocnwnhvjfpnjusnzxmjtgaajzpnnvcxjxwnjfwrdwqlucfgzscmfddvobmllzfkzcaumsaeo\n", - "-2751.560919389062 lkfy lyembohnzegmfjnjfmzfsqqtswzdownwnnvjfjnjuynzxgjtggajzjnnvixjxqnjfcrdwkluclgzswmfdjvobgllzlkzcuumsgeo\n", - "-2759.897553428237 tkfy dyemjohnregmnjnjxmzfaqqtkwzdwwnwfnvjnjnjmynzfgjtygajhjnnnixjfqnjxcrdekluulgzawmfvjvojgllrlkzkuumkgeo\n", - "-2747.0844613877766 twfy dmemjahnrsgmnvnjxazfacqtkkzdwinwfbvjnvnjmmnzfsjtyuajhvnnnwxjfcnjxqrdewluuzgzaimfvxvojsllrzkzkgumkueo\n", - "-2513.004698584144 twft dmerjahirsgrnvnexazkacqokkziwinrfbvonvnemmnefsjoyuaohvninwxofcnexqriewlpuzgeaimavxvtjslgrzkekguhkuet\n", - "-2511.7760500694553 tyft dkerjchirqgrnxnexyzkaeqokiziwknrfzvonxnemknefujoysaohxninuxofenexorieylpuxgeakmavvvtjulgrxkekiuhkset\n", - "-2461.8724077528327 dyft tkertchihqgrxxnenyzkkeqoaizigknrvzvoxxnecknepujoosaorxniduxopenenorioylpkxgekkmalvvttulghxkeuiuhaset\n", - "-2475.8717887289026 dyzt tkkrtcbihqmrxxhenyfkkekoaifigkhrvzboxxhecktepudoosgorxhidudopehenoxioyfpkxmekkgalvbttufghxqeuiohaskt\n", - "-2664.802831690205 dyzd tkkhtcbshqmhxxhonyfakekyaifygkhbvzbexxhocktupudyosgerxhsdudepehonoxyoyfzkxmukkgklvbjtufqhxquuioraskj\n", - "-2657.2481997193327 gyzd qkkhwcbseqmhaxhokyfanekyxifyjkhbszbeaxhozktusudylsgeuxhsaudesehokoxyryfzhxmunkgkivbjwufqexquxiorxskj\n", - "-2686.7536680265825 gfzd qdkhwjbsejmhaehokrfanlkyxbfyjrhbssbeaehozdtusbdyllgeuehsandeslhokhxyrffzhqmunrgkiobjwbfqeqquxporxlkj\n", - "-2681.7501343083954 xfzd zdkhnjbsnjmhrehotrfaelkygbfyarhbbsberehoidtujbdyulgelehsjndejlhothxyiffzqqmuergkrobjnbfqnqquoporglkj\n", - "-2665.2048710434588 xfzu zdkqnjbjnjmqrehftrfjelkpgbfharhsbsbnrehfidtdjbdpulgnlehjjndnjlhfthxhiffqqqmdergbrobsnbfhnqqdopoiglks\n", - "-2622.985369503783 xfzx zdknnjbmnjmnrehitrfgelksgbfearhvbsbkrehiidtajbdsulgklehmjndkjlhithxeifftqqmaergerobpnbfknqqaopolglkp\n", - "-2688.2382561162967 xfzn zdkxnjbcnjmxrehytrfqelkigbfoarhlbsburehyidtkjbdiulgulehcjndujlhythxoiffjqqmkergurobznbfanqqkopobglkz\n", - "-2685.2178868659794 xfzb zdkjnjbqnjmjrehmtrfcelkwgbfaarhzbsbgrehmidtwjbdwulgglehqjndgjlhmthxaiffxqqmwergiroblnbfonqqwopopglkl\n", - "-2741.5181831636414 sfzb edkjijbqsjmjmehmyrfczlkwlbfavrhzgsbgmehmndtwebdwzlgggehqondgelhmyhxadffxvqmwzrgiwoblibfosqqwjpopllkl\n", - "-2727.518802187571 sffb edejijhqsjgjmenmyrzczlqwlbzavrnzgsvgmenmndnwebjwzlaggenqonxgelnmyhradflxvqgwzrmiwovliblosqkwjpupllel\n", - "-2704.9633062034554 qffb gdejgjhqujgjkenmarzcxlqwnbzatrnzisvgkenmpdnwcbjwblageenqqnxgclnmahrabflxxqgwxrmiyovlgblouqkwhpupnlel\n", - "-2726.274608515176 affb wdejqjhqkjgjuenmqrzchlqwdbzadrnzysvguenmfdnwmbjwrlagoenqgnxgmlnmqhralflxnqgwhrmioovlqblokqkwrpupdlel\n", - "-2744.0333036303614 hffb pdejxjhqdjgjbenmjrzcolqwwbzakrnzrsvgbenmydnwtbjwklagvenqznxgtlnmjhrasflxgqgwormihovlxblodqkwypupwlel\n", - "-2741.3667470862097 hzfb pjejxdhqdpgjbynmjxzcofqwwhzaklnzryvgbynmyjnwtvjwkragvynqztxgtfnmjnraszlxgwgwolmihuvlxvlodwkwyjupwrel\n", - "-2692.0895794046046 hzfi pjecxdhxdpgcbyntjxzvofqdwhztklngryvzbyntyjnptvjdkrazvynxztxztfntjnrtszlegwgpolmphuvexvlvdwkpyjuwwree\n", - "-2679.292408196652 hkfi pyecxohxdegcbjntjmzvoqqdwwztkwngrnvzbjntyynptgjdkgazvjnxzixztqntjcrtskleglgpowmphjvexglvdlkpyuuwwgee\n", - "-2699.4626924059876 hkbi pyicxodxdekcbjjtjmdvoqmdwwdtkwjgrnzzbjjtyyrptgfdkgezvjjxzibztqjtjcvtskheglkpowiphjzexghvdlopyuqwwgie\n", - "-2639.2060603545933 dkbi tyictodxhekcxjjtnmdvkqmdawdtgwjgvnzzxjjtcyrppgfdogezrjjxdibzpqjtncvtokheklkpkwipljzetghvhlopuuqwagie\n", - "-2633.0351571213296 dkzi tykctobxhemcxjhtnmfvkqkdawftgwhgvnbzxjhtcytppgddoggzrjhxdidzpqhtncxtokfeklmpkwgpljbetgfvhlqpuuowagke\n", - "-2492.239858095899 kkzi mykcaobxaemcejhtgmfvrqkdtwftnwhgonbzejhtvytpwgddhggzyjhxwidzwqhtgcxtvkfedlmprwgpejbeagfvalqpbuowtgke\n", - "-2475.866360611574 khzi mbkcalbxahmceghtgpfvrnkdtzftnthgoqbzeghtvbtpwdddhjgzyghxwldzwnhtgfxtvhfedomprtgpembeadfvaoqpbrowtjke\n", - "-2604.1034939479455 xhzi zbkcnlbxnhmcrghttpfvenkdgzftathgbqbzrghtibtpjdddujgzlghxjldzjnhttfxtihfeqompetgprmbendfvnoqporowgjke\n", - "-2627.461337434571 xhzq zbkunlbfnhmurghbtpfnenklgzflathobqbrrghbibthjddlujgrlghfjldrjnhbtfxlihfmqomhetgxrmbwndfdnoqhoroegjkw\n", - "-2620.5844684721824 xszq zqkunwbfnwmurrhbtefneyklgoflaehobfbrrrhbiqthjodluygrlrhfjadrjyhbtuxlisfmqdmheegxrbbwnofdndqhocoegykw\n", - "-2584.271275304969 xszx zqknnwbmnwmnrrhitefgeyksgofeaehvbfbkrrhiiqtajodsuygklrhmjadkjyhituxeisftqdmaeegerbbpnofkndqaocolgykp\n", - "-2584.271275304969 xszx zqknnwbmnwmnrrhitefgeyksgofeaehvbfbkrrhiiqtajodsuygklrhmjadkjyhituxeisftqdmaeegerbbpnofkndqaocolgykp\n", - "-2456.0341419685997 kszx mqknawbmawmnerhigefgrykstofenehvofbkerhivqtawodshygkyrhmwadkwyhiguxevsftddmaregeebbpaofkadqabcoltykp\n", - "-2285.491190512594 kizx maknambmagmnehhigofgrokstyfenuhvopbkehhivatawedshigkyhhmwkdkwohigexeviftdnmarugeelbpaefkanqabsoltikp\n", - "-2438.841640525108 kxzx mlknabbmarmnewhigzfgrdkstjfenjhvoabkewhivltawtdshtgkywhmwvdkwdhigpxevxftdymarjgeewbpatfkayqabholttkp\n", - "-2431.297246411509 kxax mljnabcmarlnewiigzegrdlstjeenjivoaakewiivlsawteshtfkywimwvckwdiigpwevxgtdylarjheewapatgkaypabhplttjp\n", - "-2266.1109826885654 kxlx mlynabnmaranewtigztgrdwstjtenjtvoapkewtivlhawtpshtukywtmwvrkwdtigplevxrtdyaarjseewppatrkayeabhalttyp\n", - "-2295.346799599615 kxlf mlyfabnuarafewtqgztyrdwatjtwnjtdoapcewtqvlhswtpahtucywtuwvrcwdtqgplwvxrbdyasrjsmewphatrsayesbhatttyh\n", - "-2334.760128857328 kulf moyfaynuauafettqgctyrawatmtwngtdodpcettqvohswqpahwucyttuwyrcwatqgslwvurbdbasrgsmezphaqrsabesbeattwyh\n", - "-2333.582909184849 kglf mcyfaknuaiafeftqgqtyrmwatatwnstdorpceftqvchswcpahkucyftuwmrcwmtqgglwvgrbdpasrssmenphacrsapesbqattkyh\n", - "-2333.582909184849 kglf mcyfaknuaiafeftqgqtyrmwatatwnstdorpceftqvchswcpahkucyftuwmrcwmtqgglwvgrbdpasrssmenphacrsapesbqattkyh\n", - "-2507.035442190082 kgkf mczfakmuaibfefsqgquyrmvatauwnssdorqcefsqvciswcoahkvcyfsuwmscwmsqggmwvgqbdpbsrsrmenqhacqsapfsbqzttkzh\n", - "-2495.2004599399047 kykf mkzfacmuaqbfexsqgyuyrevatiuwnksdozqcexsqvkiswuoahsvcyxsuwuscwesqgomwvyqbdxbsrkrmevqhauqsaxfsbizttszh\n", - "-2465.0100849737382 kpkf mtzfatmuazbfeosqghuyrvvatruwnbsdoiqceosqvtiswloahbvcyosuwdscwvsqgxmwvpqbdgbsrbrmeeqhalqsagfsbzzttbzh\n", - "-2465.0100849737382 kpkf mtzfatmuazbfeosqghuyrvvatruwnbsdoiqceosqvtiswloahbvcyosuwdscwvsqgxmwvpqbdgbsrbrmeeqhalqsagfsbzzttbzh\n", - "-2522.039371703004 kzkf mjzfadmuapbfeysqgxuyrfvathuwnlsdoyqceysqvjiswvoahrvcyysuwtscwfsqgnmwvzqbdwbsrlrmeuqhavqsawfsbjzttrzh\n", - "-2504.870313170192 klkf mxzfapmuadbfeksqgluyrrvatvuwnxsdomqceksqvxiswhoahfvcyksuwhscwrsqgbmwvlqbdkbsrxrmeiqhahqsakfsbvzttfzh\n", - "-2485.991834048341 kskf mqzfawmuawbfersqgeuyryvatouwnesdofqcersqvqiswooahyvcyrsuwascwysqgumwvsqbddbsrermebqhaoqsadfsbczttyzh\n", - "-2495.2004599399047 kykf mkzfacmuaqbfexsqgyuyrevatiuwnksdozqcexsqvkiswuoahsvcyxsuwuscwesqgomwvyqbdxbsrkrmevqhauqsaxfsbizttszh\n", - "-2508.184144568526 kyku mkzqacmjaqbqexsfgyujrevptiuhnkssozqnexsfvkidwuophsvnyxsjwusnwesfgomhvyqqdxbdrkrbevqsauqhaxfdbizitszs\n", - "-2627.532856949069 vyku bkzqlcmjpqbqpxsfvyujcevpiiuhykssdzqnpxsfkkidhuopwsvnjxsjlusnhesfvomhgyqqsxbdckrbtvqsluqhpxfdmiziiszs\n", - "-2572.775182211172 vvku bnzqlzmjptbqpusfvbujcbvpiluhyhssdcqnpusfknidhropwvvnjusjlxsnhbsfvrmhgvqqsabdchrbtyqslrqhpafdmfziivzs\n", - "-2666.848381639493 nvku jnzqdzmjxtbqhusfdbujubvpqluhqhsslcqnhusfsnidzropevvnbusjtxsnzbsfdrmhyvqqaabduhrbbyqsdrqhxafdefziqvzs\n", - "-2635.788777133507 lvku lnzqbzmjztbqfusffbujsbvpsluhohssncqnfusfunidxropgvvnzusjvxsnxbsffrmhwvqqcabdshrbdyqsbrqhzafdcfzisvzs\n", - "-2623.6549691771206 lvka lnzkbzmpztbkfuslfbudsbvvslubohsyncqhfuslunixxrovgvvhzuspvxshxbslfrmbwvqwcabxshrhdyqmbrqnzafxcfzosvzm\n", - "-2450.2024361718836 lvla lnykbznpztakfutlfbtdsbwvsltbohtyncphfutlunhxxrpvgvuhzutpvxrhxbtlfrlbwvrwcaaxshshdypmbrrnzaexcfaosvym\n", - "-2447.0464557828786 mvla knykcznpytakgutlebtdtbwvrltbphtymcphgutltnhxyrpvfvuhautpuxrhybtlerlbxvrwbaaxthshcypmcrrnyaexdfaorvym\n", - "-2451.133364830647 avla wnykqznpktakuutlqbtdhbwvdltbdhtyycphuutlfnhxmrpvrvuhoutpgxrhmbtlqrlblvrwnaaxhhshoypmqrrnkaexrfaodvym\n", - "-2633.7349834126057 avma wnxkqzopktzkuuulqbsdhbxvdlsbdhuyycohuuulfngxmrqvrvthouupgxqhmbulqrkblvswnazxhhthoyomqrsnkadxrfbodvxm\n", - "-2618.5987614097107 avmm wnxyqzobktzyuuuxqbsrhbxhdlspdhukycovuuuxfnglmrqhrvtvouubgxqvmbuxqrkplvsinazlhhttoyoaqrszkadlrfbadvxa\n", - "-2618.024502283339 avmj wnxbqzoyktzbuuuuqbsuhbxedlssdhuhycoyuuuufngomrqervtyouuygxqymbuuqrkslvsfnazohhtqoyodqrswkadorfbxdvxd\n", - "-2621.7230942681163 avmp wnxvqzoektzvuuuaqbsohbxkdlsmdhunycosuuuafngimrqkrvtsouuegxqsmbuaqrkmlvslnazihhtwoyoxqrsckadirfbddvxx\n", - "-2639.4817893833006 hvmp pnxvxzoedtzvbuuajbsoobxkwlsmkhunrcosbuuayngitrqkkvtsvuuezxqstbuajrkmsvslgaziohtwhyoxxrscdadiyfbdwvxx\n", - "-2633.25552980746 hvjp pnavxzledtcvburajbvoobukwlvmkhrnrcrsburaynjitrnkkvwsvurezxtstbrajrnmsvplgaciohqwhyrxxrpcdagiyfydwvax\n", - "-2690.8004187685583 hvjw pnaoxzlldtcoburhjbvhoburwlvfkhrurcrlburhynjbtrnrkvwlvurlzxtltbrhjrnfsvpsgacbohqdhyrqxrpjdagbyfykwvaq\n", - "-2685.774688392247 cvjw unaoszllitcowurhobvhjburblvffhruwcrlwurhdnjbornrpvwlqurlextlobrhornfnvpslacbjhqdmyrqsrpjiagbtfykbvaq\n", - "-2646.469188159564 cvjq unauszlfitcuwurbobvnjbulblvlfhrowcrrwurbdnjhornlpvwrqurfextrobrbornlnvpmlachjhqxmyrwsrpdiaghtfyebvaw\n", - "-2648.9953902232564 cvbq uniuszdfitkuwujbobdnjbmlbldlfhjowczrwujbdnrhorflpverqujfexbrobjborvlnvhmlakhjhixmyzwsrhdiaohtfqebviw\n", - "-2581.206322859116 xvbq zniunzdfntkurujbtbdnebmlgldlahjobczrrujbinrhjrfluverlujfjxbrjbjbtrvlivhmqakhehixryzwnrhdnaohofqegviw\n", - "-2456.2124202494406 xibq zaiunmdfngkurhjbtodneomlgydlaujobpzrrhjbiarhjefluierlhjfjkbrjojbtevliihmqnkheuixrlzwnehdnnohosqegiiw\n", - "-2622.0621539619833 xcbq zgiungdfnmkurbjbtudneimlgedlaojobvzrrbjbigrhjyfluoerlbjfjqbrjijbtkvlichmqtkheoixrrzwnyhdntohomqegoiw\n", - "-2667.6492354465827 bcbq vgiurgdfjmkuvbjbpudniimlcedleojoxvzrvbjbegrhnyflqoerpbjffqbrnijbpkvlmchmmtkhioixnrzwryhdjtohsmqecoiw\n", - "-2634.620319651043 dcbq tgiutgdfhmkuxbjbnudnkimlaedlgojovvzrxbjbcgrhpyflooerrbjfdqbrpijbnkvlochmktkhkoixlrzwtyhdhtohumqeaoiw\n", - "-2661.534365208729 dubq toiutydfhukuxtjbncdnkamlamdlggjovdzrxtjbcorhpqflowerrtjfdybrpajbnsvlouhmkbkhkgixlzzwtqhdhbohueqeawiw\n", - "-2636.5850217723128 dube toigtydthukgxtjpncdzkamzamdxggjcvdzdxtjpcortpqfzowedrtjtdybdpajpnsvxouhakbktkgillzzitqhrhbotueqsawii\n", - "-2615.0042179130046 dobe tuigtsdthakgxnjpnidzkumzasdxgajcvjzdxnjpcurtpkfzocedrnjtdebdpujpnyvxoohakhktkaillfzitkhrhhotuyqsacii\n", - "-2653.415245801443 mobe kuigcsdtyakggnjpeidztumzrsdxpajcmjzdgnjpturtykfzfcedanjtuebdyujpeyvxxohabhkttailcfzickhryhotdyqsrcii\n", - "-2707.3042826831565 mobn kuixcsdcyakxgnjyeidqtumirsdopajlmjzugnjyturkykfifceuanjcuebuyujyeyvoxohjbhkktaiucfzzckhayhokdyqbrciz\n", - "-2711.391191730925 aobn wuixqsdckakxunjyqidqhumidsdodajlyjzuunjyfurkmkfirceuonjcgebumujyqyvolohjnhkkhaiuofzzqkhakhokryqbdciz\n", - "-2656.2630321116008 aown wunxqsyckapxuneyqiiqhuhidsiodaelyjeuuneyfuwkmkaircjuonecgegumueyqyaolocjnhpkhaduofezqkcakhtkrylbdcnz\n", - "-2722.3322236801873 aoon wuvxqsqckaxxunwyqiqqhuzidsqodawlyjmuunwyfuekmksircruonwcgeoumuwyqyioloujnhxkhavuofmzqkuakhbkrydbdcvz\n", - "-2715.746072037803 aorn wusxqstckauxunzyqinqhucidsnodazlyjjuunzyfubkmkvircouonzcgelumuzyqyfoloxjnhukhayuofjzqkxakhykrygbdcsz\n", - "-2697.9135466394 axrn wlsxqbtckruxuwzyqznqhdcidjnodjzlyajuuwzyflbkmtvirtouowzcgvlumdzyqpfolxxjnyukhjyuowjzqtxakyykrhgbdtsz\n", - "-2698.2536449921695 axxn wlmxqbzckroxuwfyqzhqhdiidjhodjflyaduuwfyflvkmtbirtiuowfcgvfumdfyqpzolxdjnyokhjeuowdzqtdakyskrhmbdtmz\n", - "-2649.1065171948967 axyn wllxqbackrnxuwgyqzgqhdjidjgodjglyacuuwgyflukmtcirthuowgcgveumdgyqpyolxejnynkhjfuowczqteakyrkrhnbdtlz\n", - "-2645.098022288987 axyh wlldqbawkrnduwgsqzgwhdjcdjgudjgfyacauwgsfluqmtccrthaowgwgveamdgsqpyulxednynqhjfoowcfqteukyrqrhnvdtlf\n", - "-2583.853630582384 axyx wllnqbamkrnnuwgiqzgghdjsdjgedjgvyackuwgifluamtcsrthkowgmgvekmdgiqpyelxetnynahjfeowcpqtekkyrarhnldtlp\n", - "-2579.8419725890176 atyx wplnqxamkvnnusgiqdgghzjsdngedfgvyeckusgifpuampcsrxhkosgmgzekmzgiqtyeltetncnahffeoacpqpekkcrardnldxlp\n", - "-2583.853630582384 axyx wllnqbamkrnnuwgiqzgghdjsdjgedjgvyackuwgifluamtcsrthkowgmgvekmdgiqpyelxetnynahjfeowcpqtekkyrarhnldtlp\n", - "-2547.8347910187977 rxyx fllnhbamtrnnlwgizzggydjsmjgeujgvhacklwgioluadtcsathkfwgmpvekddgizpyecxetwynayjfexwcphtektyraihnlmtlp\n", - "-2586.0709006040297 rgyx fclnhkamtinnlfgizqggymjsmageusgvhrcklfgiocuadccsakhkffgmpmekdmgizgyecgetwpnaysfexncphcektpraiqnlmklp\n", - "-2650.1316117437345 rgix fcbnhkkmtidnlfqizqwgymtsmaweusqvhrsklfqiockadcmsakxkffqmpmukdmqizgoecgotwpdayspexnsphcoktphaiqxlmkbp\n", - "-2679.367428654786 rgif fcbfhkkutidflfqqzqwyymtamawwusqdhrsclfqqocksdcmaakxcffqupmucdmqqzgowcgobwpdsyspmxnshhcostphsiqxtmkbh\n", - "-2686.444804910948 rgiq fcbuhkkftidulfqbzqwnymtlmawlusqohrsrlfqbockhdcmlakxrffqfpmurdmqbzgolcgomwpdhyspxxnswhcodtphhiqxemkbw\n", - "-2703.0950067079584 igiq ocbuykkfciducfqbiqwnpmtlvawllsqoqrsrcfqbxckhucmljkxrwfqfymurumqbigoltgomfpdhpspxgnswycodcphhzqxevkbw\n", - "-2785.8075061157724 igio ocbwykkdcidwcfqziqwppmtjvawnlsqmqrstcfqzxckjucmjjkxtwfqdymutumqzigontgokfpdjpspvgnsyycobcphjzqxcvkby\n", - "-2743.170930646043 igil ocbzykkacidzcfqwiqwspmtgvawqlsqjqrswcfqwxckmucmgjkxwwfqaymuwumqwigoqtgohfpdmpspsgnsbycoycphmzqxzvkbb\n", - "-2703.0950067079584 igiq ocbuykkfciducfqbiqwnpmtlvawllsqoqrsrcfqbxckhucmljkxrwfqfymurumqbigoltgomfpdhpspxgnswycodcphhzqxevkbw\n", - "-2709.0013150804184 igiu ocbqykkjcidqcfqfiqwjpmtpvawhlsqsqrsncfqfxckducmpjkxnwfqjymunumqfigohtgoqfpddpspbgnssycohcphdzqxivkbs\n", - "-2700.6165913256623 wgiu acbqmkkjoidqqfqfuqwjdmtphawhzsqscrsnqfqfjckdicmpvkxnkfqjkmunimqfugohhgoqrpdddspbsnssmcohophdnqxihkbs\n", - "-2709.0013150804184 igiu ocbqykkjcidqcfqfiqwjpmtpvawhlsqsqrsncfqfxckducmpjkxnwfqjymunumqfigohtgoqfpddpspbgnssycohcphdzqxivkbs\n", - "-2719.4716501351772 iqiu osbqyukjcydqcpqfigwjpwtpvqwhlcqsqhsncpqfxskdummpjaxnwpqjycunuwqfiwohtqoqffddpcpbgdssymohcfhdzaxivabs\n", - "-2719.4716501351772 iqiu osbqyukjcydqcpqfigwjpwtpvqwhlcqsqhsncpqfxskdummpjaxnwpqjycunuwqfiwohtqoqffddpcpbgdssymohcfhdzaxivabs\n", - "-2683.7841852764873 xqiu zsbqnukjnydqrpqftgwjewtpgqwhacqsbhsnrpqfiskdjmmpuaxnlpqjjcunjwqftwohiqoqqfddecpbrdssnmohnfhdoaxigabs\n", - "-2652.9285334676124 xqie zsbgnuktnydgrpqptgwzewtzgqwxacqcbhsdrpqpisktjmmzuaxdlpqtjcudjwqptwoxiqoaqfdtecplrdsinmornfhtoaxsgabi\n", - "-2628.2914592334982 xhie zbbgnlktnhdgrgqptpwzentzgzwxatqcbqsdrgqpibktjdmzujxdlgqtjludjnqptfoxihoaqodtetplrmsindornohtorxsgjbi\n", - "-2604.2220888276206 xxie zlbgnbktnrdgrwqptzwzedtzgjwxajqcbasdrwqpilktjtmzutxdlwqtjvudjdqptpoxixoaqydtejplrwsintornyhtohxsgtbi\n", - "-2608.354724534337 xxne zlwgnbptnrygrwvptzrzedyzgjrxajvcbandrwvpilftjtrzutsdlwvtjvpdjdvptpjxixtaqyytejulrwninttrnyctohcsgtwi\n", - "-2604.3430665409705 xtne zpwgnxptnvygrsvptdrzezyzgnrxafvcbendrsvpipftjprzuxsdlsvtjzpdjzvpttjxittaqcytefulraninptrncctodcsgxwi\n", - "-2604.3430665409705 xtne zpwgnxptnvygrsvptdrzezyzgnrxafvcbendrsvpipftjprzuxsdlsvtjzpdjzvpttjxittaqcytefulraninptrncctodcsgxwi\n", - "-2574.4309655989127 xtze zpkgnxbtnvmgrshptdfzezkzgnfxafhcbebdrshpipttjpdzuxgdlshtjzddjzhpttxxitfaqcmtefglrabinpfrncqtodosgxki\n", - "-2564.7684525965915 xthe zpcgnxjtnvegrspptdxzezszgnxxafpcbetdrsppipltjplzuxydlsptjzvdjzppttpxitnaqcetefolratinpnrncitodwsgxci\n", - "-2642.1590135160654 xtge zpdgnxitnvfgrsoptdyzezrzgnyxafocbeudrsopipmtjpkzuxzdlsotjzwdjzopttqxitmaqcftefnlrauinpmrncjtodvsgxdi\n", - "-2575.152840767604 xtke zpzgnxmtnvbgrssptduzezvzgnuxafscbeqdrsspipitjpozuxvdlsstjzsdjzspttmxitqaqcbtefrlraqinpqrncftodzsgxzi\n", - "-2603.2338691668474 xhke zbzgnlmtnhbgrgsptpuzenvzgzuxatscbqqdrgspibitjdozujvdlgstjlsdjnsptfmxihqaqobtetrlrmqindqrnoftorzsgjzi\n", - "-2658.2899717921146 ahke wbzgqlmtkhbgugspqpuzhnvzdzuxdtscyqqdugspfbitmdozrjvdogstglsdmnspqfmxlhqanobthtrlomqiqdqrkoftrrzsdjzi\n", - "-2676.161938972366 ahkf wbzfqlmukhbfugsqqpuyhnvadzuwdtsdyqqcugsqfbismdoarjvcogsuglscmnsqqfmwlhqbnobshtrmomqhqdqskofsrrztdjzh\n", - "-2722.18114579588 ahtf wbqfqlvukhsfugbqqplyhneadzlwdtbdyqhcugbqfbzsmdxarjmcogbugljcmnbqqfdwlhzbnosshtamomhhqdzskowsrritdjqh\n", - "-2538.887909834242 khtf mbqfalvuahsfegbqgplyrneatzlwntbdoqhcegbqvbzswdxahjmcygbuwljcwnbqgfdwvhzbdossrtamemhhadzsaowsbrittjqh\n", - "-2514.6503659771283 khcf mbhfaleuahjfegkqgpcyrnnatzcwntkdoqycegkqvbqswdgahjdcygkuwlacwnkqgfuwvhibdojsrtjmemyhadisaonsbrrttjhh\n", - "-2355.2482709093874 khct mbhraleiahjregkegpckrnnotzcintkroqyoegkevbqewdgohjdoygkiwlaownkegfuivhipdojertjaemytadigaonebrrhtjht\n", - "-2318.4564882802647 kect mehraieiakjredkegsckrknotccinqkrotyoedkeveqewagohmdoydkiwoaowkkegiuiveipdrjerqjaepytaaigarneborhtmht\n", - "-2379.885345143501 kqct mshraueiayjrepkeggckrwnotqcinckrohyoepkevsqewmgohadoypkiwcaowwkegwuivqipdfjercjaedytamigafnebarhtaht\n", - "-2357.580027838565 kyct mkhraceiaqjrexkegyckrenoticinkkrozyoexkevkqewugohsdoyxkiwuaowekegouivyipdxjerkjaevytauigaxnebirhtsht\n", - "-2348.3714019470017 ksct mqhraweiawjrerkegeckrynotocinekrofyoerkevqqewogohydoyrkiwaaowykeguuivsipddjerejaebytaoigadnebcrhtyht\n", - "-2296.1636875563336 kspt mqurawriawwrerxegepkryaotopinexrofloerxevqdewotohyqoyrxiwanowyxeguhivsvpddwerewaebltaovgadaebcehtyut\n", - "-2293.353863645606 kjpt mzuranriafwreixegnpkrpaotxpinvxrooloeixevzdewftohhqoyixiwjnowpxegdhivjvpdmwervwaekltafvgamaebtehthut\n", - "-2476.6470996072426 ajpt wzurqnrikfwruixeqnpkhpaodxpidvxryolouixefzdemftorhqooixigjnompxeqdhiljvpnmwehvwaokltqfvgkmaertehdhut\n", - "-2508.0694550583826 pjpt hzurfnrivfwrjixebnpkwpaooxpisvxrjolojixeqzdebftochqodixirjnobpxebdhiajvpymwewvwazkltffvgvmaegtehohut\n", - "-2548.6395132068706 pjxt hzmrfnzivforjifebnhkwpiooxhisvfrjodojifeqzvebfbochiodifirjfobpfebdziajdpymoewveazkdtffdgvmsegtmhohmt\n", - "-2380.9063856615876 pixt hamrfmzivgorjhfebohkwoiooyhisufrjpdojhfeqavebebociiodhfirkfobofebeziaidpynoewueazldtfedgvnsegsmhoimt\n", - "-2360.377990766355 piht hacrfmjivgerjhpeboxkwosooyxisuprjptojhpeqalebelociyodhpirkvobopebepiainpyneewuoazlttfengvniegswhoict\n", - "-2307.104672293945 uiht cacrkmjiqgerohpewoxkbosojyxixupreptoohpelalegeloxiyoihpimkvogopewepifinptneebuoaulttkengqnielswhjict\n", - "-2333.879120478789 uiot cavrkmqiqgxrohwewoqkbozojyqixuwrepmoohwelaeegesoxiroihwimkoogoweweiifiuptnxebuvaulmtkeugqnbelsdhjivt\n", - "-2346.6792862383245 uint cawrkmpiqgyrohveworkboyojyrixuvrepnoohvelafegeroxisoihvimkpogovewejifitptnyebuuaulntketgqncelschjiwt\n", - "-2297.1517989558065 uiet cafrkmgiqghrohmewoakbopojyaixumrepwoohmelaoegeioxiboihmimkyogomewesifikptnhebulaulwtkekgqnlelsthjift\n", - "-2263.9466593518146 xiet zafrnmginghrrhmetoakeopogyaiaumrbpworhmeiaoejeiouibolhmijkyojometesiiikpqnheeularlwtnekgnnleosthgift\n", - "-2306.0655838273656 xict zahrnmeingjrrhketockeonogyciaukrbpyorhkeiaqejegouidolhkijkaojoketeuiiiipqnjeeujarlytneignnneosrhgiht\n", - "-2459.4160338398806 xxct zlhrnbeinrjrrwketzckednogjciajkrbayorwkeilqejtgoutdolwkijvaojdketpuiixipqyjeejjarwytntignyneohrhgtht\n", - "-2331.1789005035093 kxct mlhrabeiarjrewkegzckrdnotjcinjkroayoewkevlqewtgohtdoywkiwvaowdkegpuivxipdyjerjjaewytatigaynebhrhttht\n", - "-2490.580995571251 kxcf mlhfabeuarjfewkqgzcyrdnatjcwnjkdoaycewkqvlqswtgahtdcywkuwvacwdkqgpuwvxibdyjsrjjmewyhatisaynsbhrttthh\n", - "-2491.430872243486 kxca mlhkabeparjkewklgzcdrdnvtjcbnjkyoayhewklvlqxwtgvhtdhywkpwvahwdklgpubvxiwdyjxrjjhewymatinaynxbhrotthm\n", - "-2449.311947767934 kxea mlfkabgparhkewmlgzadrdpvtjabnjmyoawhewmlvloxwtivhtbhywmpwvyhwdmlgpsbvxkwdyhxrjlhewwmatknaylxbhtottfm\n", - "-2475.7130751029895 kyea mkfkacgpaqhkexmlgyadrepvtiabnkmyozwhexmlvkoxwuivhsbhyxmpwuyhwemlgosbvykwdxhxrklhevwmauknaxlxbitotsfm\n", - "-2528.2838068826727 kyek mkfaacgzaqhaexmvgyatrepftiarnkmiozwxexmvvkonwuifhsbxyxmzwuyxwemvgosrvykgdxhnrklrevwcaukxaxlnbitytsfc\n", - "-2511.72448706086 kbek mhfaafgzanhaeamvgvatrhpftfarnnmiowwxeamvvhonwxifhpbxyamzwryxwhmvglsrvbkgduhnrnlreswcaxkxaulnbltytpfc\n", - "-2501.635697145744 kbpk mhuaafrzanwaeaxvgvptrhaftfprnnxiowlxeaxvvhdnwxtfhpqxyaxzwrnxwhxvglhrvbvgduwnrnwreslcaxvxauanbleytpuc\n", - "-2531.3398734013203 kbzk mhkaafbzanmaeahvgvftrhkftffrnnhiowbxeahvvhtnwxdfhpgxyahzwrdxwhhvglxrvbfgdumnrngresbcaxfxauqnbloytpkc\n", - "-2622.195877354279 knzk mvkaarbzabmaemhvgjftrtkfttfrnzhiokbxemhvvvtnwjdfhdgxymhzwfdxwthvgzxrvnfgdimnrzgregbcajfxaiqnbxoytdkc\n", - "-2575.852645158522 knzq mvkuarbfabmuemhbgjfnrtklttflnzhookbremhbvvthwjdlhdgrymhfwfdrwthbgzxlvnfmdimhrzgxegbwajfdaiqhbxoetdkw\n", - "-2585.723605903936 knmq mvxuarofabzuemubgjsnrtxlttslnzuookoremubvvghwjqlhdtrymufwfqrwtubgzklvnsmdizhrztxegowajsdaidhbxbetdxw\n", - "-2533.7322390777254 kqmq msxuauofayzuepubggsnrwxltqslncuoohorepubvsghwmqlhatrypufwcqrwwubgwklvqsmdfzhrctxedowamsdafdhbabetaxw\n", - "-2540.9732135148374 kqoq msvuauqfayxuepwbggqnrwzltqqlncwoohmrepwbvsehwmslharrypwfwcorwwwbgwilvqumdfxhrcvxedmwamudafbhbadetavw\n", - "-2516.3168842187133 kqaq msjuaucfayluepibggenrwlltqelnciooharepibvsshwmelhafrypifwccrwwibgwwlvqgmdflhrchxedawamgdafphbapetajw\n", - "-2463.5987815853564 ktaq mpjuaxcfavluesibgdenrzlltnelnfiooearesibvpshwpelhxfrysifwzcrwzibgtwlvtgmdclhrfhxeaawapgdacphbdpetxjw\n", - "-2496.922640934296 ktiq mpbuaxkfavduesqbgdwnrztltnwlnfqooesresqbvpkhwpmlhxxrysqfwzurwzqbgtolvtomdcdhrfpxeaswapodachhbdxetxbw\n", - "-2676.128967848167 mtiq kpbucxkfyvdugsqbedwntztlrnwlpfqomesrgsqbtpkhypmlfxxrasqfuzuryzqbetolxtombcdhtfpxcaswcpodychhddxerxbw\n", - "-2705.0686612934646 mtin kpbxcxkcyvdxgsqyedwqtztirnwopfqlmesugsqytpkkypmifxxuasqcuzuuyzqyetooxtojbcdktfpucaszcpoaychkddxbrxbz\n", - "-2676.128967848167 mtiq kpbucxkfyvdugsqbedwntztlrnwlpfqomesrgsqbtpkhypmlfxxrasqfuzuryzqbetolxtombcdhtfpxcaswcpodychhddxerxbw\n", - "-2676.128967848167 mtiq kpbucxkfyvdugsqbedwntztlrnwlpfqomesrgsqbtpkhypmlfxxrasqfuzuryzqbetolxtombcdhtfpxcaswcpodychhddxerxbw\n", - "-2692.948841634809 ctiq upbusxkfivduwsqbodwnjztlbnwlffqowesrwsqbdpkhopmlpxxrqsqfezurozqbotolntomlcdhjfpxmaswspodichhtdxebxbw\n", - "-2669.590998148185 ctii upbcsxkxivdcwsqtodwvjztdbnwtffqgweszwsqtdpkpopmdpxxzqsqxezuzozqtototntoelcdpjfppmasespovichptdxwbxbe\n", - "-2653.682493658255 ctmi upxcsxoxivzcwsutodsvjzxdbnstffugweozwsutdpgpopqdpxtzqsuxezqzozutotktntselczpjftpmaoespsvicdptdbwbxxe\n", - "-2670.193435351648 ccmi ugxcsgoximzcwbutousvjixdbestfougwvozwbutdggpoyqdpotzqbuxeqqzoiutokktncseltzpjotpmroesysvitdptmbwboxe\n", - "-2707.4631165547735 ccqi ugtcsgsximvcwbytouovjibdbeotfoygwvkzwbytdgcpoyudpopzqbyxeqmzoiytokgtncweltvpjoxpmrkesywvitzptmfwbote\n", - "-2770.1264602740807 ccqw ugtosgslimvowbyhouohjibrbeoffoyuwvklwbyhdgcboyurpoplqbyleqmloiyhokgfncwsltvbjoxdmrkqsywjitzbtmfkbotq\n", - "-2770.1264602740807 ccqw ugtosgslimvowbyhouohjibrbeoffoyuwvklwbyhdgcboyurpoplqbyleqmloiyhokgfncwsltvbjoxdmrkqsywjitzbtmfkbotq\n", - "-2574.100259573568 kcqw mgtoagslamvoebyhguohribrteofnoyuovklebyhvgcbwyurhoplybylwqmlwiyhgkgfvcwsdtvbroxderkqaywjatzbbmfktotq\n", - "-2556.871718567088 kcnw mgwoagplamyoebvhgurhriyrterfnovuovnlebvhvgfbwyrrhoslybvlwqplwivhgkjfvctsdtybroudernqaytjatcbbmcktowq\n", - "-2507.3442312845696 kcew mgfoagglamhoebmhguahriprteafnomuovwlebmhvgobwyirhoblybmlwqylwimhgksfvcksdthbrolderwqaykjatlbbmtktofq\n", - "-2526.95961762503 kczw mgkoagblammoebhhgufhrikrteffnohuovblebhhvgtbwydrhoglybhlwqdlwihhgkxfvcfsdtmbrogderbqayfjatqbbmoktokq\n", - "-2527.730041330432 kczl mgkzagbaammzebhwgufsrikgtefqnohjovbwebhwvgtmwydghogwybhawqdwwihwgkxqvcfhdtmmrogserbbayfyatqmbmoztokb\n", - "-2542.8605334801487 kwzl mmkzaabaasmzevhwgafsrckgtkfqnihjobbwevhwvmtmwsdghugwyvhawwdwwchwgqxqvwfhdzmmrigsexbbasfyazqmbgoztukb\n", - "-2515.2307576304056 kxzl mlkzabbaarmzewhwgzfsrdkgtjfqnjhjoabwewhwvltmwtdghtgwywhawvdwwdhwgpxqvxfhdymmrjgsewbbatfyayqmbhozttkb\n", - "-2528.4930021030573 kxdl mlgzabfaarizewlwgzbsrdogtjbqnjljoaxwewlwvlpmwthghtcwywlawvzwwdlwgptqvxjhdyimrjksewxbatjyaymmbhszttgb\n", - "-2476.9495117260453 kxyl mllzabaaarnzewgwgzgsrdjgtjgqnjgjoacwewgwvlumwtcghthwywgawvewwdgwgpyqvxehdynmrjfsewcbateyayrmbhnzttlb\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2430.6460882040333 kxya mllkabaparnkewglgzgdrdjvtjgbnjgyoachewglvluxwtcvhthhywgpwvehwdglgpybvxewdynxrjfhewcmatenayrxbhnottlm\n", - "-2476.1790880206436 kxyw mlloabalarnoewghgzghrdjrtjgfnjguoaclewghvlubwtcrhthlywglwvelwdghgpyfvxesdynbrjfdewcqatejayrbbhnkttlq\n", - "-2504.7978209226826 kxhw mlcoabjlareoewphgzxhrdsrtjxfnjpuoatlewphvllbwtlrhtylywplwvvlwdphgppfvxnsdyebrjodewtqatnjayibbhwkttcq\n", - "-2494.4320141352982 kxhn mlcxabjcarexewpygzxqrdsitjxonjploatuewpyvllkwtlihtyuywpcwvvuwdpygppovxnjdyekrjouewtzatnaayikbhwbttcz\n", - "-2476.752405489269 kxhs mlcsabjharesewpdgzxlrdsntjxjnjpqoatpewpdvllfwtlnhtypywphwvvpwdpdgppjvxnodyefrjozewtuatnfayifbhwgttcu\n", - "-2472.9631578581575 kphs mtcsatjhazeseopdghxlrvsntrxjnbpqoitpeopdvtlfwllnhbypyophwdvpwvpdgxpjvpnodgefrbozeetualnfagifbzwgtbcu\n", - "-2444.3444249561176 kpys mtlsatahaznseogdghglrvjntrgjnbgqoicpeogdvtufwlcnhbhpyoghwdepwvgdgxyjvpeodgnfrbfzeecualefagrfbzngtblu\n", - "-2500.6846316365804 kpyy mtlmatanaznmeogjghgfrvjttrgdnbgwoicjeogjvtuzwlcthbhjyognwdejwvgjgxydvpeudgnzrbffeecoalelagrzbznmtblo\n", - "-2414.844951428432 kpyp mtlvataeaznveogaghgorvjktrgmnbgnoicseogavtuiwlckhbhsyogewdeswvgagxymvpeldgnirbfweecxalecagribzndtblx\n", - "-2265.2837490470297 kiyp malvamaeagnvehgagogorojktygmnugnopcsehgavauiweckhihsyhgewkeswogageymvieldnnirufwelcxaeecanribsndtilx\n", - "-2276.4457615192814 kiyf malfamauagnfehgqgogyrojatygwnugdopccehgqvauswecahihcyhguwkecwogqgeywviebdnnsrufmelchaeesanrsbsnttilh\n", - "-2444.1788890645626 kjyf mzlfanauafnfeigqgngyrpjatxgwnvgdoocceigqvzuswfcahhhcyiguwjecwpgqgdywvjebdmnsrvfmekchafesamrsbtntthlh\n", - "-2525.0863259117937 kdyf mflfahaualnfecgqgtgyrjjatdgwnpgdouccecgqvfuswzcahnhcycguwpecwjgqgjywvdebdsnsrpfmeqchazesasrsbnnttnlh\n", - "-2686.5285988521555 udyf cflfkhauqlnfocgqwtgybjjajdgwxpgdeuccocgqlfusgzcaxnhcicgumpecgjgqwjywfdebtsnsbpfmuqchkzesqsrslnntjnlh\n", - "-2686.5285988521555 udyf cflfkhauqlnfocgqwtgybjjajdgwxpgdeuccocgqlfusgzcaxnhcicgumpecgjgqwjywfdebtsnsbpfmuqchkzesqsrslnntjnlh\n", - "-2710.8104637804486 udff cfefkhhuqlgfocnqwtzybjqajdzwxpndeuvcocnqlfnsgzjaxnacicnumpxcgjnqwjrwfdlbtsgsbpmmuqvhkzlsqskslnutjneh\n", - "-2552.0791869199734 udlf cfyfkhnuqlafoctqwttybjwajdtwxptdeupcoctqlfhsgzpaxnucictumprcgjtqwjlwfdrbtsasbpsmuqphkzrsqseslnatjnyh\n", - "-2552.92906359221 udla cfykkhnpqlakoctlwttdbjwvjdtbxptyeuphoctllfhxgzpvxnuhictpmprhgjtlwjlbfdrwtsaxbpshuqpmkzrnqsexlnaojnym\n", - "-2534.2072197397224 udle cfygkhntqlagoctpwttzbjwzjdtxxptceupdoctplfhtgzpzxnudicttmprdgjtpwjlxfdratsatbpsluqpikzrrqsetlnasjnyi\n", - "-2285.5666553472156 uile caygkmntqgagohtpwotzbowzjytxxutceppdohtplahtgepzxiudihttmkrdgotpwelxfiratnatbuslulpikerrqnetlsasjiyi\n", - "-2415.9344613633125 uise cargkmutqgtgohapwomzbodzjymxxuacepidohaplaatgewzxindihatmkkdgoapweexfiyatnttbuzluliikeyrqnxtlshsjiri\n", - "-2415.9344613633125 uise cargkmutqgtgohapwomzbodzjymxxuacepidohaplaatgewzxindihatmkkdgoapweexfiyatnttbuzluliikeyrqnxtlshsjiri\n", - "-2373.8409008034896 vise barglmutpgtgphapvomzcodziymxyuacdpidphapkaathewzwindjhatlkkdhoapveexgiyasnttcuzltliileyrpnxtmshsiiri\n", - "-2455.5441194997734 hise pargxmutdgtgbhapjomzoodzwymxkuacrpidbhapyaattewzkindvhatzkkdtoapjeexsiyagnttouzlhliixeyrdnxtyshswiri\n", - "-2626.7270949106896 hose purgxsutdatgbnapjimzoudzwsmxkaacrjidbnapyuattkwzkcndvnatzekdtuapjyexsoyaghttoazlhfiixkyrdhxtyyhswcri\n", - "-2639.385770475556 hope puugxsrtdawgbnxpjipzouazwspxkaxcrjldbnxpyudttktzkcqdvnxtzendtuxpjyhxsovaghwtoawlhflixkvrdhatyyeswcui\n", - "-2674.7932841753072 hzpe pjugxdrtdpwgbyxpjxpzofazwhpxklxcryldbyxpyjdttvtzkrqdvyxtztndtfxpjnhxszvagwwtolwlhulixvvrdwatyjeswrui\n", - "-2657.034589060123 azpe wjugqdrtkpwguyxpqxpzhfazdhpxdlxcyylduyxpfjdtmvtzrrqdoyxtgtndmfxpqnhxlzvanwwthlwlouliqvvrkwatrjesdrui\n", - "-2657.034589060123 azpe wjugqdrtkpwguyxpqxpzhfazdhpxdlxcyylduyxpfjdtmvtzrrqdoyxtgtndmfxpqnhxlzvanwwthlwlouliqvvrkwatrjesdrui\n", - "-2704.49236142817 anpe wvugqrrtkbwgumxpqjpzhtazdtpxdzxcykldumxpfvdtmjtzrdqdomxtgfndmtxpqzhxlnvaniwthzwlogliqjvrkiatrxesddui\n", - "-2722.251056543355 hnpe pvugxrrtdbwgbmxpjjpzotazwtpxkzxcrkldbmxpyvdttjtzkdqdvmxtzfndttxpjzhxsnvagiwtozwlhglixjvrdiatyxeswdui\n", - "-2702.9979764128725 hnwe pvngxrytdbpgbmepjjizothzwtixkzecrkedbmepyvwttjazkdjdvmetzfgdttepjzaxsncagiptozdlhgeixjcrdittyxlswdni\n", - "-2638.3711455120124 hlwe pxngxpytddpgbkepjlizorhzwvixkxecrmedbkepyxwtthazkfjdvketzhgdtrepjbaxslcagkptoxdlhieixhcrdkttyvlswfni\n", - "-2653.77944717745 hrwe prngxvytdxpgbqepjfizoxhzwpixkdecrgedbqepyrwttnazkzjdvqetzbgdtxepjvaxsrcageptoddlhceixncrdettyblswzni\n", - "-2644.828179983135 erwe srnguvytgxpgyqepmfizlxhzzpixhdecugedyqepbrwtqnaznzjdsqetcbgdqxepmvaxprcajeptlddlkceiuncrgettvblszzni\n", - "-2644.828179983135 erwe srnguvytgxpgyqepmfizlxhzzpixhdecugedyqepbrwtqnaznzjdsqetcbgdqxepmvaxprcajeptlddlkceiuncrgettvblszzni\n", - "-2709.0830236522324 erww srnouvylgxpoyqehmfihlxhrzpifhdeuugelyqehbrwbqnarnzjlsqelcbglqxehmvafprcsjepbldddkcequncjgetbvblkzznq\n", - "-2699.344667072599 lrww lrnobvylzxpofqehffihsxhrspifodeungelfqehurwbxnargzjlzqelvbglxxehfvafwrcscepbsddddceqbncjzetbcblksznq\n", - "-2665.0578862853104 lsww lqnobwylzwpofrehfeihsyhrsoifoeeunfelfrehuqwbxoargyjlzrelvaglxyehfuafwscscdpbsedddbeqbocjzdtbcclksynq\n", - "-2619.5088374389793 lvww lnnobzylztpofuehfbihsbhrslifoheuncelfuehunwbxrargvjlzuelvxglxbehfrafwvcscapbshdddyeqbrcjzatbcflksvnq\n", - "-2686.101494427052 lgww lcnobkylzipoffehfqihsmhrsaifoseunrelffehucwbxcargkjlzfelvmglxmehfgafwgcscppbssdddneqbccjzptbcqlksknq\n", - "-2671.934755247697 lhww lbnoblylzhpofgehfpihsnhrszifoteunqelfgehubwbxdargjjlzgelvlglxnehffafwhcscopbstdddmeqbdcjzotbcrlksjnq\n", - "-2746.6714768690986 lhiw lbboblklzhdofgqhfpwhsntrszwfotqunqslfgqhubkbxdmrgjxlzgqlvlulxnqhffofwhoscodbstpddmsqbdojzohbcrxksjbq\n", - "-2692.5463029025955 xhiw zbbonlklnhdorgqhtpwhentrgzwfatqubqslrgqhibkbjdmrujxllgqljluljnqhtfofihosqodbetpdrmsqndojnohborxkgjbq\n", - "-2686.3094578951204 xoiw zubonsklnadornqhtiwheutrgswfaaqubjslrnqhiukbjkmrucxllnqljeuljuqhtyofioosqhdbeapdrfsqnkojnhhboyxkgcbq\n", - "-2640.1203850938773 xviw znbonzklntdoruqhtbwhebtrglwfahqubcslruqhinkbjrmruvxlluqljxuljbqhtrofivosqadbehpdrysqnrojnahbofxkgvbq\n", - "-2592.79891464968 xviz znblnzkontdlruqktbweebtuglwcahqxbcsiruqkinkyjrmuuvxiluqojxuijbqktrocivovqadyehpgrysnnromnahyofxngvbn\n", - "-2584.131384596864 xvoz znvlnzqontxlruwktbqeebzuglqcahwxbcmiruwkineyjrsuuvriluwojxoijbwktricivuvqaxyehvgrymnnrumnabyofdngvvn\n", - "-2635.100578174363 mvoz knvlczqoytxlguwkebqetbzurlqcphwxmcmiguwktneyyrsufvriauwouxoiybwkericxvuvbaxythvgcymncrumyabydfdnrvvn\n", - "-2588.2844667362588 mvpz knulczroytwlguxkebpetbaurlpcphxxmcliguxktndyyrtufvqiauxouxniybxkerhcxvvvbawythwgcylncrvmyaaydfenrvun\n", - "-2631.023691671866 mjpz kzulcnroyfwlgixkenpetpaurxpcpvxxmoligixktzdyyftufhqiaixoujniypxkedhcxjvvbmwytvwgcklncfvmymaydtenrhun\n", - "-2646.7284869513724 mjfz kzelcnhoyfglginkenzetpqurxzcpvnxmoviginktznyyfjufhaiainoujxiypnkedrcxjlvbmgytvmgckvncflmymkydtunrhen\n", - "-2707.468949919649 mjtz kzqlcnvoyfslgibkenletpeurxlcpvbxmohigibktzzyyfxufhmiaiboujjiypbkeddcxjzvbmsytvagckhncfzmymwydtinrhqn\n", - "-2755.5608440692467 mjtl kzqzcnvayfszgibwenlstpegrxlqpvbjmohwgibwtzzmyfxgfhmwaibaujjwypbweddqxjzhbmsmtvasckhbcfzyymwmdtizrhqb\n", - "-2691.4881643438584 mjvl kzozcnxayfqzgidwenjstpggrxjqpvdjmofwgidwtzxmyfzgfhkwaidaujhwypdwedbqxjbhbmqmtvcsckfbcfbyymumdtkzrhob\n", - "-2631.630549810529 vjvl bzozlnxapfqzpidwvnjscpggixjqyvdjdofwpidwkzxmhfzgwhkwjidaljhwhpdwvdbqgjbhsmqmcvcstkfblfbypmummtkzihob\n", - "-2602.8147106717133 vjvs bzoslnxhpfqspiddvnjlcpgnixjjyvdqdofppiddkzxfhfznwhkpjidhljhphpddvdbjgjbosmqfcvcztkfulfbfpmufmtkgihou\n", - "-2679.492198991685 cjvs uzossnxhifqswiddonjljpgnbxjjfvdqwofpwidddzxfofznphkpqidhejhpopddodbjnjbolmqfjvczmkfusfbfimufttkgbhou\n", - "-2665.828305594048 ljvs lzosbnxhzfqsfiddfnjlspgnsxjjovdqnofpfidduzxfxfznghkpzidhvjhpxpddfdbjwjbocmqfsvczdkfubfbfzmufctkgshou\n", - "-2647.4908445386154 ljvf lzofbnxuzfqffidqfnjyspgasxjwovddnofcfidquzxsxfzaghkcziduvjhcxpdqfdbwwjbbcmqssvcmdkfhbfbszmusctktshoh\n", - "-2638.9527520567103 bjvf vzofrnxujfqfvidqpnjyipgacxjwevddxofcvidqezxsnfzaqhkcpidufjhcnpdqpdbwmjbbmmqsivcmnkfhrfbsjmusstktchoh\n", - "-2627.790739584457 bjvp vzovrnxejfqvvidapnjoipgkcxjmevdnxofsvidaezxinfzkqhkspidefjhsnpdapdbmmjblmmqiivcwnkfxrfbcjmuistkdchox\n", - "-2615.948458413403 qjvp gzovgnxeufqvkidaanjoxpgknxjmtvdniofskidapzxicfzkbhkseideqjhscpdaadbmbjblxmqixvcwykfxgfbcumuihtkdnhox\n", - "-2615.948458413403 qjvp gzovgnxeufqvkidaanjoxpgknxjmtvdniofskidapzxicfzkbhkseideqjhscpdaadbmbjblxmqixvcwykfxgfbcumuihtkdnhox\n", - "-2637.6367614459805 qlvp gxovgpxeudqvkkdaaljoxrgknvjmtxdnimfskkdapxxichzkbfksekdeqhhscrdaabbmblblxkqixxcwyifxghbcukuihvkdnfox\n", - "-2654.861154709932 mlvp kxovcpxeydqvgkdaeljotrgkrvjmpxdnmmfsgkdatxxiyhzkffksakdeuhhsyrdaebbmxlblbkqitxcwcifxchbcykuidvkdrfox\n", - "-2682.06371318853 mlmp kxxvcpoeydzvgkuaelsotrxkrvsmpxunmmosgkuatxgiyhqkfftsakueuhqsyruaebkmxlslbkzitxtwcioxchscykdidvbdrfxx\n", - "-2678.3636556763813 mlbp kxivcpdeydkvgkjaeldotrmkrvdmpxjnmmzsgkjatxriyhfkffesakjeuhbsyrjaebvmxlhlbkkitxiwcizxchhcykoidvqdrfix\n", - "-2721.5342429441876 mlbh kxidcpdwydkdgkjseldwtrmcrvdupxjfmmzagkjstxrqyhfcffeaakjwuhbayrjsebvuxlhdbkkqtxiocizfchhuykoqdvqvrfif\n", - "-2726.229221603834 mlxh kxmdcpzwydodgkfselhwtricrvhupxffmmdagkfstxvqyhbcffiaakfwuhfayrfsebzuxlddbkoqtxeocidfchduyksqdvmvrfmf\n", - "-2742.2350685223846 ylxh yxmdopzwmdodskfsslhwfricfvhubxffamdaskfshxvqkhbctfiamkfwihfakrfssbzujlddpkoqfxeoqidfohdumksqpvmvffmf\n", - "-2693.4416757337945 yexh yemdoizwmkodsdfssshwfkicfchubqffatdasdfshevqkabctmiamdfwiofakkfssizujeddproqfqeoqpdfoadumrsqpomvfmmf\n", - "-2552.813637944523 yixh yamdomzwmgodshfssohwfoicfyhubuffapdashfshavqkebctiiamhfwikfakofssezujiddpnoqfueoqldfoedumnsqpsmvfimf\n", - "-2545.5924572211843 yijh yaadomlwmgcdshrssovwfoucfyvuburfaprashrshajqkenctiwamhrwiktakorssenujipdpncqfuqoqlrfoepumngqpsyvfiaf\n", - "-2545.5924572211843 yijh yaadomlwmgcdshrssovwfoucfyvuburfaprashrshajqkenctiwamhrwiktakorssenujipdpncqfuqoqlrfoepumngqpsyvfiaf\n", - "-2514.304881583827 iijh oaadymlwcgcdchrsiovwpoucvyvulurfqprachrsxajquencjiwawhrwyktauorsienutipdfncqpuqoglrfyepucngqzsyvviaf\n", - "-2511.8252546818344 iijd oaahymlscgchchroiovapouyvyvylurbqprechroxajuuenyjiwewhrsykteuoroienytipzfncupuqkglrjyepqcnguzsyrviaj\n", - "-2471.13429431602 iijp oaavymlecgcvchraiovopoukvyvmlurnqprschraxajiuenkjiwswhreyktsuoraienmtiplfncipuqwglrxyepccngizsydviax\n", - "-2636.9840280285657 icjp ogavyglecmcvcbraiuvopiukvevmlornqvrscbraxgjiuynkjowswbreyqtsuiraiknmtcplftcipoqwgrrxyypcctgizmydvoax\n", - "-2652.1145201782824 iwjp omavyalecscvcvraiavopcukvkvmlirnqbrscvraxmjiusnkjuwswvreywtsucraiqnmtwplfzcipiqwgxrxyspcczgizgydvuax\n", - "-2616.4270553195915 xwjp zmavnalenscvrvratavoecukgkvmairnbbrsrvraimjijsnkuuwslvrejwtsjcratqnmiwplqzcieiqwrxrxnspcnzgiogydguax\n", - "-2613.3027224611865 xwjm zmaynalbnscyrvrxtavrecuhgkvpairkbbrvrvrximjljsnhuuwvlvrbjwtvjcrxtqnpiwpiqzcleiqtrxranspznzglogyaguaa\n", - "-2557.316399208601 xvjm znaynzlbntcyrurxtbvrebuhglvpahrkbcrvrurxinjljrnhuvwvlurbjxtvjbrxtrnpivpiqaclehqtryranrpznaglofyagvaa\n", - "-2536.340100305845 xvvm znoynzxbntqyrudxtbjrebghgljpahdkbcfvrudxinxljrzhuvkvludbjxhvjbdxtrbpivbiqaqlehctryfanrbznaulofkagvoa\n", - "-2554.39357320772 xvkm znzynzmbntbyrusxtburebvhglupahskbcqvrusxiniljrohuvvvlusbjxsvjbsxtrmpivqiqablehrtryqanrqznaflofzagvza\n", - "-2554.39357320772 xvkm znzynzmbntbyrusxtburebvhglupahskbcqvrusxiniljrohuvvvlusbjxsvjbsxtrmpivqiqablehrtryqanrqznaflofzagvza\n", - "-2557.5179060661253 xvkp znzvnzmentbvrusatbuoebvkglumahsnbcqsrusainiijrokuvvslusejxssjbsatrmmivqlqabiehrwryqxnrqcnafiofzdgvzx\n", - "-2384.065373060893 xvlp znyvnznentavrutatbtoebwkgltmahtnbcpsrutainhijrpkuvuslutejxrsjbtatrlmivrlqaaiehswrypxnrrcnaeiofadgvyx\n", - "-2429.6524545454904 bvlp vnyvrznejtavvutapbtoibwkcltmehtnxcpsvutaenhinrpkqvusputefxrsnbtaprlmmvrlmaaiihswnypxrrrcjaeisfadcvyx\n", - "-2422.9424998374952 bvle vnygrzntjtagvutppbtzibwzcltxehtcxcpdvutpenhtnrpzqvudputtfxrdnbtpprlxmvramaatihslnypirrrrjaetsfascvyi\n", - "-2425.9538625607133 bvlj vnybrznyjtabvutupbtuibwecltsehthxcpyvutuenhonrpeqvuyputyfxrynbtuprlsmvrfmaaoihsqnypdrrrwjaeosfaxcvyd\n", - "-2376.157601329099 zvlj xnybpznyltabtuturbtugbweeltschthzcpytutugnholrpesvuynutyhxrylbturrlskvrfoaaoghsqpypdprrwlaeoqfaxevyd\n", - "-2465.695873522021 zvly xnympznnltamtutjrbtfgbwteltdchtwzcpjtutjgnhzlrptsvujnutnhxrjlbtjrrldkvruoaazghsfpypoprrllaezqfamevyo\n", - "-2511.244922368354 zsly xqympwnnlwamtrtjretfgywteotdcetwzfpjtrtjgqhzloptsyujnrtnharjlytjruldksruodazgesfpbpoporlldezqcameyyo\n", - "-2697.2378246775506 zsdy xqgmpwfnlwimtrljrebfgyoteobdcelwzfxjtrljgqpzlohtsycjnrlnhazjlyljrutdksjuodizgekfpbxopojlldmzqcsmeygo\n", - "-2607.699552484625 zsdj xqgbpwfylwibtrlurebugyoeeobscelhzfxytrlugqpolohesycynrlyhazylylurutsksjfodiogekqpbxdpojwldmoqcsxeygd\n", - "-2586.495393047768 ztdj xpgbpxfylvibtslurdbugzoeenbscflhzexytslugppolphesxcynslyhzzylzlurttsktjfociogfkqpaxdppjwlcmoqdsxexgd\n", - "-2644.602671246304 ztdv xpgppxfklviptslgrdbigzoqenbgcfltzexmtslggppclphqsxcmnslkhzzmlzlgrttgktjrocicgfkcpaxrppjilcmcqdsjexgr\n", - "-2749.3121407058734 zndv xvgpprfklbiptmlgrjbigtoqetbgczltzkxmtmlggvpcljhqsdcmnmlkhfzmltlgrztgknjroiicgzkcpgxrpjjilimcqxsjedgr\n", - "-2752.448343453214 zndw xvgoprfllbiotmlhrjbhgtoretbfczluzkxltmlhgvpbljhrsdclnmllhfzlltlhrztfknjsoiibgzkdpgxqpjjjlimbqxskedgq\n", - "-2719.5707126401 znew xvfoprgllbhotmmhrjahgtpretafczmuzkwltmmhgvobljirsdblnmmlhfylltmhrzsfknksoihbgzldpgwqpjkjlilbqxtkedfq\n", - "-2673.187836151255 znef xvffprgulbhftmmqrjaygtpaetawczmdzkwctmmqgvosljiasdbcnmmuhfycltmqrzswknkboihsgzlmpgwhpjkslilsqxttedfh\n", - "-2712.6966575145507 zner xvftprgglbhttmmcrjamgtpmetakczmpzkwqtmmcgvogljimsdbqnmmghfyqltmcrzskknknoihggzlypgwvpjkelilgqxtfedfv\n", - "-2621.8406535615914 zber xhftpfgglnhttamcrvamghpmefakcnmpzwwqtamcghoglximspbqnamghryqlhmcrlskkbknouhggnlypswvpxkelulgqltfepfv\n", - "-2647.6269431353157 zbbr xhitpfdglnkttajcrvdmghmmefdkcnjpzwzqtajcghrglxfmspeqnajghrbqlhjcrlvkkbhnoukggniypszvpxheluogqlqfepiv\n", - "-2644.135191473482 zbbn xhixpfdclnkxtajyrvdqghmiefdocnjlzwzutajyghrklxfispeunajchrbulhjyrlvokbhjoukkgniupszzpxhaluokqlqbepiz\n", - "-2621.5709717369928 zebn xeixpidclkkxtdjyrsdqgkmiecdocqjlztzutdjygerklafismeundjchobulkjyrivokehjorkkgqiuppzzpahalrokqoqbemiz\n", - "-2616.121943672419 zekn xezxpimclkbxtdsyrsuqgkviecuocqslztqutdsygeiklaoismvundschosulksyrimokeqjorbkgqruppqzpaqalrfkqozbemzz\n", - "-2729.542167361868 znkn xvzxprmclbbxtmsyrjuqgtvietuoczslzkqutmsygvikljoisdvunmschfsultsyrzmoknqjoibkgzrupgqzpjqalifkqxzbedzz\n", - "-2686.4574403727324 znsn xvrxpruclbtxtmayrjmqgtdietmoczalzkiutmaygvakljwisdnunmachfkultayrzeoknyjoitkgzzupgizpjyalixkqxhbedrz\n", - "-2602.9521303500214 zssn xqrxpwuclwtxtrayremqgydieomocealzfiutraygqaklowisynunrachakulyayrueoksyjodtkgezupbizpoyaldxkqchbeyrz\n", - "-2621.8306094718732 zlsn xxrxppucldtxtkayrlmqgrdievmocxalzmiutkaygxaklhwisfnunkachhkulrayrbeoklyjoktkgxzupiizphyalkxkqvhbefrz\n", - "-2694.1055622343747 zlnn xxwxpppcldyxtkvyrlrqgryievrocxvlzmnutkvygxfklhrisfsunkvchhpulrvyrbjokltjokykgxuupinzphtalkckqvcbefwz\n", - "-2667.8381624618887 zljn xxaxpplcldcxtkryrlvqgruievvocxrlzmrutkrygxjklhnisfwunkrchhtulrryrbnoklpjokckgxqupirzphpalkgkqvybefaz\n", - "-2672.0473422089053 xljn zxaxnplcndcxrkrytlvqeruigvvoaxrlbmrurkryixjkjhniufwulkrcjhtujrrytbnoilpjqkckexqurirznhpankgkovybgfaz\n", - "-2667.8381624618887 zljn xxaxpplcldcxtkryrlvqgruievvocxrlzmrutkrygxjklhnisfwunkrchhtulrryrbnoklpjokckgxqupirzphpalkgkqvybefaz\n", - "-2681.3053964748433 zlon xxvxppqcldxxtkwyrlqqgrzievqocxwlzmmutkwygxeklhsisfrunkwchhoulrwyrbioklujokxkgxvupimzphualkbkqvdbefvz\n", - "-2634.0842014537125 zlog xxveppqvldxetkwrrlqxgrzbevqvcxwezmmbtkwrgxerlhsbsfrbnkwvhhoblrwrrbivklucokxrgxvnpimgphutlkbrqvduefvg\n", - "-2634.0842014537125 zlog xxveppqvldxetkwrrlqxgrzbevqvcxwezmmbtkwrgxerlhsbsfrbnkwvhhoblrwrrbivklucokxrgxvnpimgphutlkbrqvduefvg\n", - "-2629.0078595429204 zloi xxvcppqxldxctkwtrlqvgrzdevqtcxwgzmmztkwtgxeplhsdsfrznkwxhhozlrwtrbitklueokxpgxvppimephuvlkbpqvdwefve\n", - "-2645.7752049789965 dloi txvctpqxhdxcxkwtnlqvkrzdavqtgxwgvmmzxkwtcxepphsdofrzrkwxdhozprwtnbitoluekkxpkxvplimethuvhkbpuvdwafve\n", - "-2715.4762806613767 dlok txvatpqzhdxaxkwvnlqtkrzfavqrgxwivmmxxkwvcxenphsfofrxrkwzdhoxprwvnbirolugkkxnkxvrlimcthuxhkbnuvdyafvc\n", - "-2690.819951365253 dlak txjatpczhdlaxkivnletkrlfavergxiivmaxxkivcxsnphefoffxrkizdhcxprivnbwrolggkklnkxhrliacthgxhkpnuvpyafjc\n", - "-2705.564526780127 wlak axjampczodlaqkivuletdrlfhverzxiicmaxqkivjxsnihefvffxkkizkhcxirivubwrhlggrklndxhrsiacmhgxokpnnvpyhfjc\n", - "-2722.7335853129393 wzak ajjamdczoplaqyivuxetdflfhherzliicyaxqyivjjsnivefvrfxkyizktcxifivunwrhzggrwlndlhrsuacmvgxowpnnjpyhrjc\n", - "-2695.430844209005 xzak zjjandcznplaryivtxeteflfgheraliibyaxryivijsnjvefurfxlyizjtcxjfivtnwrizggqwlnelhrruacnvgxnwpnojpygrjc\n", - "-2693.6700873416303 xrak zrjanvcznxlarqivtfetexlfgperadiibgaxrqivirsnjnefuzfxlqizjbcxjxivtvwrirggqelnedhrrcacnngxnepnobpygzjc\n", - "-2647.3268551458737 xraq zrjunvcfnxlurqibtfenexllgpeladiobgarrqibirshjneluzfrlqifjbcrjxibtvwlirgmqelhedhxrcawnngdnephobpegzjw\n", - "-2635.255862919012 xreq zrfunvgfnxhurqmbtfanexplgpaladmobgwrrqmbirohjniluzbrlqmfjbyrjxmbtvslirkmqehhedlxrcwwnnkdnelhobtegzfw\n", - "-2654.2931259806924 rreq frfuhvgftxhulqmbzfanyxplmpaludmohgwrlqmborohdnilazbrfqmfpbyrdxmbzvslcrkmwehhydlxxcwwhnkdtelhibtemzfw\n", - "-2647.81402860807 dreq trfutvgfhxhuxqmbnfankxplapalgdmovgwrxqmbcrohpnilozbrrqmfdbyrpxmbnvslorkmkehhkdlxlcwwtnkdhelhubteazfw\n", - "-2625.876047894878 drej trfbtvgyhxhbxqmunfaukxpeapasgdmhvgwyxqmucroopnieozbyrqmydbyypxmunvssorkfkehokdlqlcwdtnkwheloubtxazfd\n", - "-2680.2454737152043 drer trfttvgghxhtxqmcnfamkxpmapakgdmpvgwqxqmccrogpnimozbqrqmgdbyqpxmcnvskorknkehgkdlylcwvtnkehelgubtfazfv\n", - "-2682.5292623224814 drvr trottvxghxqtxqdcnfjmkxgmapjkgddpvgfqxqdccrxgpnzmozkqrqdgdbhqpxdcnvbkorbnkeqgkdcylcfvtnbeheugubkfazov\n", - "-2724.0962705999254 lrvr lrotbvxgzxqtfqdcffjmsxgmspjkoddpngfqfqdcurxgxnzmgzkqzqdgvbhqxxdcfvbkwrbnceqgsdcydcfvbnbezeugcbkfszov\n", - "-2668.6053303757794 ltvr lpotbxxgzvqtfsdcfdjmszgmsnjkofdpnefqfsdcupxgxpzmgxkqzsdgvzhqxzdcftbkwtbnccqgsfcydafvbpbezcugcdkfsxov\n", - "-2647.6556822046014 ltyr lpltbxagzvntfsgcfdgmszjmsngkofgpnecqfsgcupugxpcmgxhqzsggvzeqxzgcftykwtenccngsffydacvbpeezcrgcdnfsxlv\n", - "-2640.1554356368574 ltyh lpldbxawzvndfsgsfdgwszjcsnguofgfnecafsgsupuqxpccgxhazsgwvzeaxzgsftyuwtedccnqsffodacfbpeuzcrqcdnvsxlf\n", - "-2725.5773234897574 ltqh lptdbxswzvvdfsysfdowszbcsnouofyfnekafsysupcqxpucgxpazsywvzmaxzysftguwtwdccvqsfxodakfbpwuzczqcdfvsxtf\n", - "-2699.9604342172174 ltuh lppdbxwwzvrdfscsfdkwszfcsnkuofcfnegafscsupyqxpycgxlazscwvziaxzcsftcuwtadccrqsfbodagfbpauzcvqcdjvsxpf\n", - "-2711.1985331631695 ltuv lpppbxwkzvrpfscgfdkiszfqsnkgofctnegmfscgupycxpyqgxlmzsckvzimxzcgftcgwtarccrcsfbcdagrbpaizcvccdjjsxpr\n", - "-2768.4502302546907 lzuv ljppbdwkzprpfycgfxkisffqshkgolctnygmfycgujycxvyqgrlmzyckvtimxfcgfncgwzarcwrcslbcdugrbvaizwvccjjjsrpr\n", - "-2733.042716554939 louv luppbswkzarpfncgfikisufqsskgoactnjgmfncguuycxkyqgclmznckveimxucgfycgwoarchrcsabcdfgrbkaizhvccyjjscpr\n", - "-2751.7323403288874 houv puppxswkdarpbncgjikioufqwskgkactrjgmbncgyuyctkyqkclmvnckzeimtucgjycgsoarghrcoabchfgrxkaidhvcyyjjwcpr\n", - "-2705.543267527644 hvuv pnppxzwkdtrpbucgjbkiobfqwlkgkhctrcgmbucgynyctryqkvlmvuckzximtbcgjrcgsvargarcohbchygrxraidavcyfjjwvpr\n", - "-2694.3051685816913 hvuh pnpdxzwwdtrdbucsjbkwobfcwlkukhcfrcgabucsynyqtryckvlavucwzxiatbcsjrcusvadgarqohbohygfxraudavqyfjvwvpf\n", - "-2694.3051685816913 hvuh pnpdxzwwdtrdbucsjbkwobfcwlkukhcfrcgabucsynyqtryckvlavucwzxiatbcsjrcusvadgarqohbohygfxraudavqyfjvwvpf\n", - "-2673.503291074384 hvkh pnzdxzmwdtbdbussjbuwobvcwluukhsfrcqabussyniqtrockvvavuswzxsatbssjrmusvqdgabqohrohyqfxrqudafqyfzvwvzf\n", - "-2596.479313586916 zvkh xnzdpzmwltbdtussrbuwgbvceluuchsfzcqatussgniqlrocsvvanuswhxsalbssrrmukvqdoabqghropyqfprqulafqqfzvevzf\n", - "-2656.988789631593 svkh enzdizmwstbdmussybuwzbvclluuvhsfgcqamussnniqeroczvvaguswoxsaebssyrmudvqdvabqzhrowyqfirqusafqjfzvlvzf\n", - "-2632.057591092204 svkq enzuizmfstbumusbybunzbvlllulvhsogcqrmusbnniherolzvvrgusfoxsrebsbyrmldvqmvabhzhrxwyqwirqdsafhjfzelvzw\n", - "-2608.962434398536 uvkq cnzukzmfqtbuousbwbunbbvljlulxhsoecqrousblnihgrolxvvriusfmxsrgbsbwrmlfvqmtabhbhrxuyqwkrqdqafhlfzejvzw\n", - "-2588.3154604836013 dvkq tnzutzmfhtbuxusbnbunkbvlalulghsovcqrxusbcnihprolovvrrusfdxsrpbsbnrmlovqmkabhkhrxlyqwtrqdhafhufzeavzw\n", - "-2588.3154604836013 dvkq tnzutzmfhtbuxusbnbunkbvlalulghsovcqrxusbcnihprolovvrrusfdxsrpbsbnrmlovqmkabhkhrxlyqwtrqdhafhufzeavzw\n", - "-2545.2307334944658 dvsq tnrutzufhttuxuabnbmnkbdlalmlghaovcirxuabcnahprwlovnrruafdxkrpbabnrelovymkathkhzxlyiwtrydhaxhufheavrw\n", - "-2420.23683088479 disq tarutmufhgtuxhabnomnkodlaymlguaovpirxhabcaahpewloinrrhafdkkrpoabneeloiymknthkuzxlliwteydhnxhusheairw\n", - "-2442.6884025221857 disd tarhtmushgthxhaonomakodyaymyguabvpiexhaocaaupewyoinerhasdkkepoaoneeyoiyzkntukuzkllijteyqhnxuushrairj\n", - "-2413.159454628627 disf tarftmuuhgtfxhaqnomykodaaymwguadvpicxhaqcaaspewaoincrhaudkkcpoaqneewoiybkntskuzmllihteyshnxsushtairh\n", - "-2419.638552001251 risf farfhmuutgtflhaqzomyyodamymwuuadhpiclhaqoaasdewaaincfhaupkkcdoaqzeewciybwntsyuzmxlihheystnxsishtmirh\n", - "-2405.604822657757 gisf qarfwmuuegtfahaqkomynodaxymwjuadspicahaqzaassewalincuhauakkcsoaqkeewriybhntsnuzmilihweysenxsxshtxirh\n", - "-2275.237016641659 gilf qayfwmnuegafahtqkotynowaxytwjutdsppcahtqzahssepaliucuhtuakrcsotqkelwrirbhnasnusmilphwersenesxsatxiyh\n", - "-2141.9963495871043 kilf mayfamnuagafehtqgotyrowatytwnutdoppcehtqvahswepahiucyhtuwkrcwotqgelwvirbdnasrusmelphaersanesbsattiyh\n", - "-2124.124382406858 kile maygamntagagehtpgotzrowztytxnutcoppdehtpvahtwepzhiudyhttwkrdwotpgelxviradnatruslelpiaerranetbsastiyi\n", - "-2313.9669754259194 kioe mavgamqtagxgehwpgoqzrozztyqxnuwcopmdehwpvaetweszhirdyhwtwkodwowpgeixviuadnxtruvlelmiaeuranbtbsdstivi\n", - "-2406.5166103420597 kioy mavmamqnagxmehwjgoqfrozttyqdnuwwopmjehwjvaezwesthirjyhwnwkojwowjgeidviuudnxzruvfelmoaeulanbzbsdmtivo\n", - "-2330.900348650816 kioz mavlamqoagxlehwkgoqerozutyqcnuwxopmiehwkvaeywesuhiriyhwowkoiwowkgeicviuvdnxyruvgelmnaeumanbybsdntivn\n", - "-2294.1730271278316 kiez maflamgoaghlehmkgoaeroputyacnumxopwiehmkvaoyweiuhibiyhmowkyiwomkgescvikvdnhyrulgelwnaekmanlybstntifn\n", - "-2283.949608610931 kiep mafvamgeaghvehmagoaoropktyamnumnopwsehmavaoiweikhibsyhmewkyswomagesmvikldnhirulwelwxaekcanlibstdtifx\n", - "-2329.344460186734 kiip mabvamkeagdvehqagoworotktywmnuqnopssehqavakiwemkhixsyhqewkuswoqageomvioldndirupwelsxaeocanhibsxdtibx\n", - "-2358.843933714418 kiis mabsamkhagdsehqdgowlrotntywjnuqqopspehqdvakfwemnhixpyhqhwkupwoqdgeojvioodndfrupzelsuaeofanhfbsxgtibu\n", - "-2322.634505478739 kiie mabgamktagdgehqpgowzrotztywxnuqcopsdehqpvaktwemzhixdyhqtwkudwoqpgeoxvioadndtruplelsiaeoranhtbsxstibi\n", - "-2387.659772853234 kiil mabzamkaagdzehqwgowsrotgtywqnuqjopswehqwvakmwemghixwyhqawkuwwoqwgeoqviohdndmrupselsbaeoyanhmbsxztibb\n", - "-2512.653675462906 kvil mnbzazkaatdzeuqwgbwsrbtgtlwqnhqjocsweuqwvnkmwrmghvxwyuqawxuwwbqwgroqvvohdadmrhpseysbaroyaahmbfxztvbb\n", - "-2505.0091966319546 kvir mnbtazkgatdteuqcgbwmrbtmtlwknhqpocsqeuqcvnkgwrmmhvxqyuqgwxuqwbqcgrokvvondadgrhpyeysvaroeaahgbfxftvbv\n", - "-2306.499073560071 kvlr mnytazngatateutcgbtmrbwmtltknhtpocpqeutcvnhgwrpmhvuqyutgwxrqwbtcgrlkvvrndaagrhsyeypvarreaaegbfaftvyv\n", - "-2329.6286823537075 kvlc mnyiaznrataieutngbtbrbwxtltznhtaocpfeutnvnhvwrpxhvufyutrwxrfwbtngrlzvvrydaavrhsjeypkarrpaaevbfaqtvyk\n", - "-2329.6286823537075 kvlc mnyiaznrataieutngbtbrbwxtltznhtaocpfeutnvnhvwrpxhvufyutrwxrfwbtngrlzvvrydaavrhsjeypkarrpaaevbfaqtvyk\n", - "-2274.0676284529395 kvlq mnyuaznfataueutbgbtnrbwltltlnhtoocpreutbvnhhwrplhvuryutfwxrrwbtbgrllvvrmdaahrhsxeypwarrdaaehbfaetvyw\n", - "-2436.049562102854 qvlq gnyugznfutaukutbabtnxbwlnltlthtoicprkutbpnhhcrplbvureutfqxrrcbtbarllbvrmxaahxhsxyypwgrrduaehhfaenvyw\n", - "-2460.6168618745837 qplq gtyugtnfuzaukotbahtnxvwlnrtltbtoiiprkotbpthhclplbbureotfqdrrcvtbaxllbprmxgahxbsxyepwglrdugehhzaenbyw\n", - "-2431.8755952792244 gplq qtyuwtnfezauaotbkhtnnvwlxrtljbtosipraotbzthhslpllburuotfadrrsvtbkxllrprmhgahnbsxiepwwlrdegehxzaexbyw\n", - "-2456.806793818615 gplh qtydwtnwezadaotskhtwnvwcxrtujbtfsipaaotszthqslpclbuauotwadrasvtskxlurprdhgaqnbsoiepfwlruegeqxzavxbyf\n", - "-2460.5960414497267 gxlh qlydwbnweradawtskztwndwcxjtujjtfsapaawtszlhqstpcltuauwtwavrasdtskplurxrdhyaqnjsoiwpfwtrueyeqxhavxtyf\n", - "-2491.2799725902287 ixlh olydybnwcradcwtsiztwpdwcvjtuljtfqapacwtsxlhqutpcjtuawwtwyvraudtsiplutxrdfyaqpjsogwpfytrucyeqzhavvtyf\n", - "-2533.9490655305704 ixly olymybnncramcwtjiztfpdwtvjtdljtwqapjcwtjxlhzutptjtujwwtnyvrjudtjipldtxrufyazpjsfgwpoytrlcyezzhamvtyo\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2503.265134390068 gxly qlymwbnneramawtjkztfndwtxjtdjjtwsapjawtjzlhzstptltujuwtnavrjsdtjkpldrxruhyaznjsfiwpowtrleyezxhamxtyo\n", - "-2503.265134390068 gxly qlymwbnneramawtjkztfndwtxjtdjjtwsapjawtjzlhzstptltujuwtnavrjsdtjkpldrxruhyaznjsfiwpowtrleyezxhamxtyo\n", - "-2471.834140395678 gxlv qlypwbnkerapawtgkztindwqxjtgjjttsapmawtgzlhcstpqltumuwtkavrmsdtgkplgrxrrhyacnjsciwprwtrieyecxhajxtyr\n", - "-2517.799800254987 mxlv klypcbnkyrapgwtgeztitdwqrjtgpjttmapmgwtgtlhcytpqftumawtkuvrmydtgeplgxxrrbyactjsccwprctriyyecdhajrtyr\n", - "-2513.7881422616206 mtlv kpypcxnkyvapgstgedtitzwqrntgpfttmepmgstgtphcyppqfxumastkuzrmyztgetlgxtrrbcactfsccaprcpriycecddajrxyr\n", - "-2513.7028235654157 jtlv npypzxnkbvapdstghdtiqzwquntgmfttpepmdstgwphcvppqixumxstkxzrmvztghtlgutrrecacqfscfaprzpribcecadajuxyr\n", - "-2567.250616378522 ftlv rpypvxnkfvapzstgldtimzwqyntgiftttepmzstgaphcrppqmxumtstkbzrmrztgltlgqtrricacmfscjaprvprifcecwdajyxyr\n", - "-2598.8920502216315 fwlv rmypvankfsapzvtglatimcwqyktgiitttbpmzvtgamhcrspqmuumtvtkbwrmrctglqlgqwrrizacmiscjxprvsrifzecwgajyuyr\n", - "-2526.409559569075 fwlx rmynvanmfsanzvtilatgmcwsykteiitvtbpkzvtiamharspsmuuktvtmbwrkrctilqleqwrtizaamisejxppvsrkfzeawgalyuyp\n", - "-2494.990536088221 fplx rtynvtnmfzanzotilhtgmvwsyrteibtvtipkzotiatharlpsmbuktotmbdrkrvtilxleqprtigaambsejeppvlrkfgeawzalybyp\n", - "-2457.5339088898713 yplx ytynotnmmzansotishtgfvwsfrtebbtvaipksotihthaklpstbukmotmidrkkvtisxlejprtpgaafbseqeppolrkmgeapzalfbyp\n", - "-2576.5596014648963 yplo ytywotndmzawsotzshtpfvwjfrtnbbtmaiptsotzhthjklpjtbutmotdidrtkvtzsxlnjprkpgajfbsvqepyolrbmgejpzacfbyy\n", - "-2598.18137449441 yolo yuywosndmaawsntzsitpfuwjfstnbatmajptsntzhuhjkkpjtcutmntdiertkutzsylnjorkphajfasvqfpyokrbmhejpyacfcyy\n", - "-2550.2435970600422 rolo fuywhsndtaawlntzzitpyuwjmstnuatmhjptlntzouhjdkpjacutfntdpertdutzzylncorkwhajyasvxfpyhkrbthejiyacmcyy\n", - "-2489.9826692896268 rold fuyhhsnstaahlntozitayuwymstyuatbhjpelntoouhudkpyacuefntsperedutozylycorzwhauyaskxfpjhkrqtheuiyarmcyj\n", - "-2526.0015088532123 aold wuyhqsnskaahuntoqitahuwydstydatbyjpeuntofuhumkpyrcueontsgeremutoqylylorznhauhaskofpjqkrqkheuryardcyj\n", - "-2480.19209372919 aoli wuycqsnxkaacunttqitvhuwddsttdatgyjpzunttfuhpmkpdrcuzontxgerzmuttqyltlorenhaphaspofpeqkrvkhepryawdcye\n", - "-2529.4692614107958 aolb wuyjqsnqkaajuntmqitchuwwdstadatzyjpguntmfuhwmkpwrcugontqgergmutmqylalorxnhawhasiofplqkrokhewryapdcyl\n", - "-2653.242662861284 aowb wunjqsyqkapjunemqiichuhwdsiadaezyjegunemfuwwmkawrcjgoneqgeggmuemqyaalocxnhpwhadiofelqkcokhtwrylpdcnl\n", - "-2659.8370674268995 aosb wurjqsuqkatjunamqimchudwdsmadaazyjigunamfuawmkwwrcngonaqgekgmuamqyealoyxnhtwhaziofilqkyokhxwryhpdcrl\n", - "-2659.8370674268995 aosb wurjqsuqkatjunamqimchudwdsmadaazyjigunamfuawmkwwrcngonaqgekgmuamqyealoyxnhtwhaziofilqkyokhxwryhpdcrl\n", - "-2673.9936671700025 aosl wurzqsuakatzunawqimshudgdsmqdaajyjiwunawfuammkwgrcnwonaagekwmuawqyeqloyhnhtmhazsofibqkyykhxmryhzdcrb\n", - "-2729.6187634631 aodl wugzqsfakaizunlwqibshuogdsbqdaljyjxwunlwfupmmkhgrccwonlagezwmulwqytqlojhnhimhaksofxbqkjykhmmryszdcgb\n", - "-2702.3571380143767 aofl wuezqshakagzunnwqizshuqgdszqdanjyjvwunnwfunmmkjgrcawonnagexwmunwqyrqlolhnhgmhamsofvbqklykhkmryuzdceb\n", - "-2638.923370589668 aofi wuecqshxkagcunntqizvhuqddsztdangyjvzunntfunpmkjdrcazonnxgexzmuntqyrtlolenhgphampofveqklvkhkpryuwdcee\n", - "-2659.0936547990023 aobi wuicqsdxkakcunjtqidvhumddsdtdajgyjzzunjtfurpmkfdrcezonjxgebzmujtqyvtlohenhkphaipofzeqkhvkhopryqwdcie\n", - "-2681.703997290802 akbi wyicqodxkekcujjtqmdvhqmddwdtdwjgynzzujjtfyrpmgfdrgezojjxgibzmqjtqcvtlkhenlkphwipojzeqghvklopruqwdgie\n", - "-2727.5134124148253 akbd wyihqodskekhujjoqmdahqmydwdydwjbynzeujjofyrumgfyrgeeojjsgibemqjoqcvylkhznlkuhwikojzjqghqklouruqrdgij\n", - "-2739.432350285608 ykbd yyihoodsmekhsjjosmdafqmyfwdybwjbanzesjjohyrukgfytgeemjjsiibekqjoscvyjkhzplkufwikqjzjoghqmloupuqrfgij\n", - "-2749.4122237553443 ykbr yyitoodgmektsjjcsmdmfqmmfwdkbwjpanzqsjjchyrgkgfmtgeqmjjgiibqkqjcscvkjkhnplkgfwiyqjzvoghemlogpuqffgiv\n", - "-2570.51066268553 yklr yyytoongmeatsjtcsmtmfqwmfwtkbwtpanpqsjtchyhgkgpmtguqmjtgiirqkqtcsclkjkrnplagfwsyqjpvogremlegpuaffgyv\n", - "-2694.284064136018 ykwr yyntooygmeptsjecsmimfqhmfwikbwepaneqsjechywgkgamtgjqmjegiigqkqecscakjkcnplpgfwdyqjevogcemltgpulffgnv\n", - "-2764.765073198076 ykur yyptoowgmertsjccsmkmfqfmfwkkbwcpangqsjcchyygkgymtglqmjcgiiiqkqccscckjkanplrgfwbyqjgvogaemlvgpujffgpv\n", - "-2696.020434923728 ykux yypnoowmmernsjcismkgfqfsfwkebwcvangksjcihyyakgystglkmjcmiiikkqcisccejkatplrafwbeqjgpogakmlvapujlfgpp\n", - "-2721.6373241962683 ykqx yytnoosmmevnsjyismogfqbsfwoebwyvankksjyihycakgustgpkmjymiimkkqyiscgejkwtplvafwxeqjkpogwkmlzapuflfgtp\n", - "-2749.9345471519687 ykqz yytloosomevlsjyksmoefqbufwocbwyxankisjykhycykguutgpimjyoiimikqykscgcjkwvplvyfwxgqjknogwmmlzypufnfgtn\n", - "-2724.317657879429 ykuz yyploowomerlsjcksmkefqfufwkcbwcxangisjckhyyykgyutglimjcoiiiikqckscccjkavplryfwbgqjgnogammlvypujnfgpn\n", - "-2764.765073198076 ykur yyptoowgmertsjccsmkmfqfmfwkkbwcpangqsjcchyygkgymtglqmjcgiiiqkqccscckjkanplrgfwbyqjgvogaemlvgpujffgpv\n", - "-2707.384284654528 ykue yypgoowtmergsjcpsmkzfqfzfwkxbwccangdsjcphyytkgyztgldmjctiiidkqcpsccxjkaaplrtfwblqjgiogarmlvtpujsfgpi\n", - "-2702.8710521641583 tkue dypgjowtrergnjcpxmkzaqfzkwkxwwccfngdnjcpmyytfgyzygldhjctniidfqcpxccxekaaulrtawblvjgijgarrlvtkujskgpi\n", - "-2707.2510013039255 taue dipgjewtrorgnzcpxwkzagfzkgkxwmccfxgdnzcpmiytfwyzyqldhzctnsidfgcpxmcxeaaauvrtamblvtgijwarrvvtkkjskqpi\n", - "-2686.449123796618 take dizgjemtrobgnzspxwuzagvzkguxwmscfxqdnzspmiitfwozyqvdhzstnssdfgspxmmxeaqauvbtamrlvtqijwqrrvftkkzskqzi\n", - "-2702.8391838104535 taoe divgjeqtroxgnzwpxwqzagzzkgqxwmwcfxmdnzwpmietfwszyqrdhzwtnsodfgwpxmixeauauvxtamvlvtmijwurrvbtkkdskqvi\n", - "-2698.9894931005797 tade diggjeftroignzlpxwbzagozkgbxwmlcfxxdnzlpmiptfwhzyqcdhzltnszdfglpxmtxeajauvitamklvtxijwjrrvmtkksskqgi\n", - "-2657.4537859966854 oade iiggeeftwoigizlpcwbzvgozpgbxrmlckxxdizlpriptawhzdqcdczltsszdaglpcmtxzajazvitvmklatxiewjrwvmtfksspqgi\n", - "-2601.82868970359 oase iirgeeutwotgizapcwmzvgdzpgmxrmackxidizapriatawwzdqndczatsskdagapcmexzayazvttvmzlatiiewyrwvxtfkhspqri\n", - "-2452.665455465435 kase mirgaeutaotgezapgwmzrgdztgmxnmacoxidezapviatwwwzhqndyzatwskdwgapgmexvayadvttrmzletiiawyravxtbkhstqri\n", - "-2593.460754490864 dase tirgteuthotgxzapnwmzkgdzagmxgmacvxidxzapciatpwwzoqndrzatdskdpgapnmexoayakvttkmzlltiitwyrhvxtukhsaqri\n", - "-2586.8663499252484 dawe tingteythopgxzepnwizkghzagixgmecvxedxzepciwtpwazoqjdrzetdsgdpgepnmaxoacakvptkmdllteitwcrhvttuklsaqni\n", - "-2513.686985492436 dvwe tnngtzythtpgxuepnbizkbhzalixghecvcedxuepcnwtprazovjdruetdxgdpbepnraxovcakaptkhdllyeitrcrhattuflsavni\n", - "-2372.156857604948 dvwt tnnrtzyihtprxueenbikkbhoaliighervceoxueecnwepraoovjorueidxgopbeenraiovcpkapekhdalyettrcghateuflhavnt\n", - "-2386.901433019825 wvwt annrmzyiotprqueeubikdbhohliizhercceoqueejnweiraovvjokueikxgoibeeuraihvcprapedhdasyetmrcgoatenflhhvnt\n", - "-2578.312102883117 wvwh anndmzywotpdquesubiwdbhchliuzhefcceaquesjnwqiracvvjakuewkxgaibesurauhvcdrapqdhdosyefmrcuoatqnflvhvnf\n", - "-2422.7722284428123 kvwh mnndazywatpdeuesgbiwrbhctliunhefoceaeuesvnwqwrachvjayuewwxgawbesgrauvvcddapqrhdoeyefarcuaatqbflvtvnf\n", - "-2429.366633008428 kvsh mnrdazuwattdeuasgbmwrbdctlmunhafociaeuasvnaqwrwchvnayuawwxkawbasgreuvvyddatqrhzoeyifaryuaaxqbfhvtvrf\n", - "-2433.375127914336 kvsn mnrxazucattxeuaygbmqrbditlmonhalociueuayvnakwrwihvnuyuacwxkuwbaygreovvyjdatkrhzueyizaryaaaxkbfhbtvrz\n", - "-2398.207934885111 kvsa mnrkazupattkeualgbmdrbdvtlmbnhayociheualvnaxwrwvhvnhyuapwxkhwbalgrebvvywdatxrhzheyimarynaaxxbfhotvrm\n", - "-2398.207934885111 kvsa mnrkazupattkeualgbmdrbdvtlmbnhayociheualvnaxwrwvhvnhyuapwxkhwbalgrebvvywdatxrhzheyimarynaaxxbfhotvrm\n", - "-2420.9554003650937 kvea mnfkazgpathkeumlgbadrbpvtlabnhmyocwheumlvnoxwrivhvbhyumpwxyhwbmlgrsbvvkwdahxrhlheywmarknaalxbftotvfm\n", - "-2473.3813181738124 khea mbfkalgpahhkegmlgpadrnpvtzabntmyoqwhegmlvboxwdivhjbhygmpwlyhwnmlgfsbvhkwdohxrtlhemwmadknaolxbrtotjfm\n", - "-2473.3813181738124 khea mbfkalgpahhkegmlgpadrnpvtzabntmyoqwhegmlvboxwdivhjbhygmpwlyhwnmlgfsbvhkwdohxrtlhemwmadknaolxbrtotjfm\n", - "-2454.659474321326 khee mbfgalgtahhgegmpgpazrnpztzaxntmcoqwdegmpvbotwdizhjbdygmtwlydwnmpgfsxvhkadohtrtllemwiadkraoltbrtstjfi\n", - "-2504.540016297129 kheh mbfdalgwahhdegmsgpawrnpctzauntmfoqwaegmsvboqwdichjbaygmwwlyawnmsgfsuvhkddohqrtloemwfadkuaolqbrtvtjff\n", - "-2519.8839751489613 kueh mofdaygwauhdetmsgcawrapctmaungmfodwaetmsvooqwqichwbaytmwwyyawamsgssuvukddbhqrgloezwfaqkuablqbetvtwff\n", - "-2452.11409848841 kveh mnfdazgwathdeumsgbawrbpctlaunhmfocwaeumsvnoqwrichvbayumwwxyawbmsgrsuvvkddahqrhloeywfarkuaalqbftvtvff\n", - "-2408.9013983731897 kveg mnfeazgvatheeumrgbaxrbpbtlavnhmeocwbeumrvnorwribhvbbyumvwxybwbmrgrsvvvkcdahrrhlneywgarktaalrbftutvfg\n", - "-2463.659073111084 kyeg mkfeacgvaqheexmrgyaxrepbtiavnkmeozwbexmrvkorwuibhsbbyxmvwuybwemrgosvvykcdxhrrklnevwgauktaxlrbitutsfg\n", - "-2444.993213547183 kyyg mkleacavaqneexgrgygxrejbtigvnkgeozcbexgrvkurwucbhshbyxgvwuebwegrgoyvvyecdxnrrkfnevcgauetaxrrbinutslg\n", - "-2405.869673988881 keyg meleaiavakneedgrgsgxrkjbtcgvnqgeotcbedgrveurwacbhmhbydgvwoebwkgrgiyvveecdrnrrqfnepcgaaetarrrbonutmlg\n", - "-2436.6065257796463 keag mejeaicvakleedirgsexrklbtcevnqieotabedirvesrwaebhmfbydivwocbwkirgiwvvegcdrlrrqhnepagaagtarprboputmjg\n", - "-2480.8073515504584 keab mejjaicqakljedimgsecrklwtceanqizotagedimveswwaewhmfgydiqwocgwkimgiwavegxdrlwrqhiepalaagoarpwbopptmjl\n", - "-2505.4636808465807 keob mevjaiqqakxjedwmgsqcrkzwtcqanqwzotmgedwmveewwaswhmrgydwqwoogwkwmgiiaveuxdrxwrqviepmlaauoarbwbodptmvl\n", - "-2472.4669803954366 keof mevfaiquakxfedwqgsqyrkzatcqwnqwdotmcedwqveeswasahmrcydwuwoocwkwqgiiwveubdrxsrqvmepmhaausarbsbodttmvh\n", - "-2485.4506650240583 keou mevqaiqjakxqedwfgsqjrkzptcqhnqwsotmnedwfveedwasphmrnydwjwoonwkwfgiihveuqdrxdrqvbepmsaauharbdboditmvs\n", - "-2471.5283864400863 keoz mevlaiqoakxledwkgsqerkzutcqcnqwxotmiedwkveeywasuhmriydwowooiwkwkgiicveuvdrxyrqvgepmnaaumarbybodntmvn\n", - "-2535.7300808941127 kroz mrvlavqoaxxleqwkgfqerxzutpqcndwxogmieqwkvreywnsuhzriyqwowboiwxwkgvicvruvdexyrdvgecmnanumaebybbdntzvn\n", - "-2488.9139694560117 krpz mrulavroaxwleqxkgfperxautppcndxxoglieqxkvrdywntuhzqiyqxowbniwxxkgvhcvrvvdewyrdwgeclnanvmaeaybbentzun\n", - "-2511.07375159799 kraz mrjlavcoaxlleqikgfeerxlutpecndixogaieqikvrsywneuhzfiyqiowbciwxikgvwcvrgvdelyrdhgecanangmaepybbpntzjn\n", - "-2511.07375159799 kraz mrjlavcoaxlleqikgfeerxlutpecndixogaieqikvrsywneuhzfiyqiowbciwxikgvwcvrgvdelyrdhgecanangmaepybbpntzjn\n", - "-2488.9139694560117 krpz mrulavroaxwleqxkgfperxautppcndxxoglieqxkvrdywntuhzqiyqxowbniwxxkgvhcvrvvdewyrdwgeclnanvmaeaybbentzun\n", - "-2538.1324986914324 knpz mvularroabwlemxkgjpertauttpcnzxxokliemxkvvdywjtuhdqiymxowfniwtxkgzhcvnvvdiwyrzwgeglnajvmaiaybxentdun\n", - "-2522.7906254163213 knpi mvucarrxabwcemxtgjpvrtadttptnzxgoklzemxtvvdpwjtdhdqzymxxwfnzwtxtgzhtvnvediwprzwpegleajvvaiapbxewtdue\n", - "-2535.163203938714 knvi mvocarxxabqcemdtgjjvrtgdttjtnzdgokfzemdtvvxpwjzdhdkzymdxwfhzwtdtgzbtvnbediqprzcpegfeajbvaiupbxkwtdoe\n", - "-2538.495420695829 knfi mvecarhxabgcemntgjzvrtqdttztnzngokvzemntvvnpwjjdhdazymnxwfxzwtntgzrtvnledigprzmpegveajlvaikpbxuwtdee\n", - "-2538.495420695829 knfi mvecarhxabgcemntgjzvrtqdttztnzngokvzemntvvnpwjjdhdazymnxwfxzwtntgzrtvnledigprzmpegveajlvaikpbxuwtdee\n", - "-2620.2228495890513 kngi mvdcarixabfcemotgjyvrtrdttytnzogokuzemotvvmpwjkdhdzzymoxwfwzwtotgzqtvnmedifprznpegueajmvaijpbxvwtdde\n", - "-2654.8407778749465 kngs mvdsarihabfsemodgjylrtrnttyjnzoqokupemodvvmfwjknhdzpymohwfwpwtodgzqjvnmodiffrznzeguuajmfaijfbxvgtddu\n", - "-2625.299191499844 kngg mvdearivabfeemorgjyxrtrbttyvnzoeokubemorvvmrwjkbhdzbymovwfwbwtorgzqvvnmcdifrrznnegugajmtaijrbxvutddg\n", - "-2563.7420468159557 knbg mvieardvabkeemjrgjdxrtmbttdvnzjeokzbemjrvvrrwjfbhdebymjvwfbbwtjrgzvvvnhcdikrrzinegzgajhtaiorbxqutdig\n", - "-2558.6657049051632 knbi mvicardxabkcemjtgjdvrtmdttdtnzjgokzzemjtvvrpwjfdhdezymjxwfbzwtjtgzvtvnhedikprzipegzeajhvaiopbxqwtdie\n", - "-2497.3812226966725 kubi moicaydxaukcetjtgcdvramdtmdtngjgodzzetjtvorpwqfdhwezytjxwybzwajtgsvtvuhedbkprgipezzeaqhvabopbeqwtwie\n", - "-2481.5478064610843 kuhi moccayjxauecetptgcxvrasdtmxtngpgodtzetptvolpwqldhwyzytpxwyvzwaptgsptvunedbeprgopezteaqnvabipbewwtwce\n", - "-2318.479661626866 kuli moycaynxauacetttgctvrawdtmttngtgodpzetttvohpwqpdhwuzyttxwyrzwattgsltvuredbaprgspezpeaqrvabepbeawtwye\n", - "-2316.8881616770796 kule moygayntauagettpgctzrawztmtxngtcodpdettpvohtwqpzhwudytttwyrdwatpgslxvuradbatrgslezpiaqrrabetbeastwyi\n", - "-2301.544202825245 khle mbygalntahagegtpgptzrnwztztxnttcoqpdegtpvbhtwdpzhjudygttwlrdwntpgflxvhradoatrtslempiadrraoetbrastjyi\n", - "-2304.555565548464 khlj mbybalnyahabegtugpturnwetztsntthoqpyegtuvbhowdpehjuyygtywlrywntugflsvhrfdoaortsqempdadrwaoeobraxtjyd\n", - "-2308.1159709923313 kwlj mmybaanyasabevtugaturcwetktsnithobpyevtuvmhowspehuuyyvtywwrywctugqlsvwrfdzaorisqexpdasrwazeobgaxtuyd\n", - "-2311.814562977109 kwlp mmyvaaneasavevtagatorcwktktmnitnobpsevtavmhiwspkhuusyvtewwrswctagqlmvwrldzairiswexpxasrcazeibgadtuyx\n", - "-2435.8425165664585 zwlp xmyvpanelsavtvtaratogcwkektmcitnzbpstvtagmhilspksuusnvtehwrslctarqlmkwrlozaigiswpxpxpsrclzeiqgadeuyx\n", - "-2461.452779814869 zzlp xjyvpdnelpavtytarxtogfwkehtmcltnzypstytagjhilvpksrusnytehtrslftarnlmkzrlowaiglswpupxpvrclweiqjaderyx\n", - "-2516.545834443179 jzlp njyvzdnebpavdytahxtoqfwkuhtmmltnpypsdytawjhivvpkirusxytextrsvftahnlmuzrlewaiqlswfupxzvrcbweiajaduryx\n", - "-2527.7078469154335 jzlf njyfzdnubpafdytqhxtyqfwauhtwmltdpypcdytqwjhsvvpairucxytuxtrcvftqhnlwuzrbewasqlsmfuphzvrsbwesajaturyh\n", - "-2516.5037215957645 jzlg njyezdnvbpaedytrhxtxqfwbuhtvmltepypbdytrwjhrvvpbirubxytvxtrbvftrhnlvuzrcewarqlsnfupgzvrtbwerajauuryg\n", - "-2699.105340177722 jzmg njxezdovbpzedyurhxsxqfxbuhsvmluepyobdyurwjgrvvqbirtbxyuvxtqbvfurhnkvuzscewzrqltnfuogzvstbwdrajbuurxg\n", - "-2650.953133527947 jzyg njlezdavbpnedygrhxgxqfjbuhgvmlgepycbdygrwjurvvcbirhbxygvxtebvfgrhnyvuzecewnrqlfnfucgzvetbwrrajnuurlg\n", - "-2650.953133527947 jzyg njlezdavbpnedygrhxgxqfjbuhgvmlgepycbdygrwjurvvcbirhbxygvxtebvfgrhnyvuzecewnrqlfnfucgzvetbwrrajnuurlg\n", - "-2669.6189930918476 jzeg njfezdgvbphedymrhxaxqfpbuhavmlmepywbdymrwjorvvibirbbxymvxtybvfmrhnsvuzkcewhrqllnfuwgzvktbwlrajtuurfg\n", - "-2712.83169320707 jzeh njfdzdgwbphddymshxawqfpcuhaumlmfpywadymswjoqvvicirbaxymwxtyavfmshnsuuzkdewhqqllofuwfzvkubwlqajtvurff\n", - "-2717.0039209510414 azeh wjfdqdgwkphduymsqxawhfpcdhaudlmfyywauymsfjoqmvicrrbaoymwgtyamfmsqnsulzkdnwhqhlloouwfqvkukwlqrjtvdrff\n", - "-2563.888649454959 azlh wjydqdnwkpaduytsqxtwhfwcdhtudltfyypauytsfjhqmvpcrruaoytwgtramftsqnlulzrdnwaqhlsooupfqvrukweqrjavdryf\n", - "-2575.126748400911 azlv wjypqdnkkpapuytgqxtihfwqdhtgdlttyypmuytgfjhcmvpqrrumoytkgtrmmftgqnlglzrrnwachlscouprqvrikwecrjajdryr\n", - "-2539.079210746246 aslv wqypqwnkkwapurtgqetihywqdotgdettyfpmurtgfqhcmopqryumortkgarmmytgqulglsrrndachescobprqorikdecrcajdyyr\n", - "-2479.552069774281 asli wqycqwnxkwacurttqetvhywddottdetgyfpzurttfqhpmopdryuzortxgarzmyttqultlsrendaphespobpeqorvkdeprcawdyye\n", - "-2336.430441937006 aslt wqyrqwnikwarurteqetkhywodotidetryfpourtefqhemoporyuoortigaromytequlilsrpndaehesaobptqorgkdeercahdyyt\n", - "-2331.73722419354 aclt wgyrqgnikmarubtequtkhiwodetidotryvpoubtefghemyporouoobtigqromiteqklilcrpntaehosaorptqyrgkteermahdoyt\n", - "-2491.989195933514 acla wgykqgnpkmakubtlqutdhiwvdetbdotyyvphubtlfghxmypvrouhobtpgqrhmitlqklblcrwntaxhoshorpmqyrnktexrmaodoym\n", - "-2686.243606446058 acua wgpkqgwpkmrkubclqukdhifvdekbdocyyvghubclfgyxmyyvrolhobcpgqihmiclqkcblcawntrxhobhorgmqyanktvxrmjodopm\n", - "-2525.9916347060803 acut wgprqgwikmrrubcequkkhifodekidocryvgoubcefgyemyyoroloobcigqiomiceqkcilcapntrehobaorgtqyagktvermjhdopt\n", - "-2516.5331097949356 amut wwprqqwikcrrulceqkkkhsfodukidycrylgoulcefwyemiyoreloolciggiomsceqacilmapnjrehybaohgtqiagkjverwjhdept\n", - "-2551.728460591286 agut wcprqkwikirrufceqqkkhmfodakidscryrgoufcefcyemcyorkloofcigmiommceqgcilgapnprehsbaongtqcagkpverqjhdkpt\n", - "-2357.474050078746 aglt wcyrqknikiarufteqqtkhmwodatidstryrpouftefchemcporkuooftigmrommteqglilgrpnpaehssaonptqcrgkpeerqahdkyt\n", - "-2331.73722419354 aclt wgyrqgnikmarubtequtkhiwodetidotryvpoubtefghemyporouoobtigqromiteqklilcrpntaehosaorptqyrgkteermahdoyt\n", - "-2358.651269751225 ault woyrqynikuarutteqctkhawodmtidgtrydpouttefohemqporwuoottigyromateqslilurpnbaehgsaozptqqrgkbeereahdwyt\n", - "-2315.4486928624046 aplt wtyrqtnikzaruoteqhtkhvwodrtidbtryipouotefthemlporbuoootigdromvteqxlilprpngaehbsaoeptqlrgkgeerzahdbyt\n", - "-2316.6928865347963 splt etyritniszarmoteyhtkzvwolrtivbtrgipomotentheelpozbuogotiodroevteyxlidprpvgaezbsaweptilrgsgeejzahlbyt\n", - "-2510.9472970473357 sput etpritwiszrrmoceyhkkzvfolrkivbcrgigomocentyeelyozblogociodioevceyxcidpapvgrezbbawegtilagsgvejzjhlbpt\n", - "-2481.8791502577396 spat etjritciszlrmoieyhekzvlolreivbirgiaomoientseeleozbfogoiiodcoevieyxwidpgpvglezbhaweatilggsgpejzphlbjt\n", - "-2506.535479553863 spot etvritqiszxrmoweyhqkzvzolrqivbwrgimomowenteeelsozbrogowiodooevweyxiidpupvgxezbvawemtilugsgbejzdhlbvt\n", - "-2440.466287985279 spwt etnrityiszprmoeeyhikzvholriivbergieomoeentweelaozbjogoeiodgoeveeyxaidpcpvgpezbdaweetilcgsgtejzlhlbnt\n", - "-2493.068245540909 spjt etaritliszcrmoreyhvkzvuolrvivbrrgiromorentjeelnozbwogoriodtoevreyxnidpppvgcezbqawertilpgsggejzyhlbat\n", - "-2481.8791502577396 spat etjritciszlrmoieyhekzvlolreivbirgiaomoientseeleozbfogoiiodcoevieyxwidpgpvglezbhaweatilggsgpejzphlbjt\n", - "-2541.5749935311565 sfat edjrijcisjlrmeieyrekzllolbeivrirgsaomeiendseebeozlfogeiioncoelieyhwidfgpvqlezrhawoatibggsqpejpphlljt\n", - "-2481.6567398954844 stat epjrixcisvlrmsieydekzzlolneivfirgeaomsienpseepeozxfogsiiozcoezieytwidtgpvclezfhawaatipggscpejdphlxjt\n", - "-2556.9291819262357 stgt epdrixiisvfrmsoeydykzzrolnyivforgeuomsoenpmeepkozxzogsoiozwoezoeytqidtmpvcfezfnawautipmgscjejdvhlxdt\n", - "-2588.5706157693467 swgt emdriaiissfrmvoeyaykzcrolkyiviorgbuomvoenmmeeskozuzogvoiowwoecoeyqqidwmpvzfezinawxutismgszjejgvhludt\n", - "-2605.7636569495735 sagt eidrieiisofrmzoeywykzgrolgyivmorgxuomzoenimeewkozqzogzoioswoegoeymqidampvvfezmnawtutiwmgsvjejkvhlqdt\n", - "-2560.9408399196022 sxgt eldribiisrfrmwoeyzykzdroljyivjorgauomwoenlmeetkoztzogwoiovwoedoeypqidxmpvyfezjnawwutitmgsyjejhvhltdt\n", - "-2555.524418503236 jxgt nldrzbiibrfrdwoehzykqdroujyimjorpauodwoewlmevtkoitzoxwoixvwovdoehpqiuxmpeyfeqjnafwutztmgbyjeahvhutdt\n", - "-2542.8020062799897 jegt nedrziiibkfrddoehsykqkroucyimqorptuoddoewemevakoimzoxdoixowovkoehiqiuemperfeqqnafputzamgbrjeaovhumdt\n", - "-2551.735170872125 jpgt ntdrztiibzfrdooehhykqvrouryimborpiuodooewtmevlkoibzoxooixdwovvoehxqiupmpegfeqbnafeutzlmgbgjeazvhubdt\n", - "-2519.888559052511 rpgt ftdrhtiitzfrlooezhykyvromryiuborhiuolooeotmedlkoabzofooipdwodvoezxqicpmpwgfeybnaxeuthlmgtgjeizvhmbdt\n", - "-2498.901593127564 rptt ftqrhtvitzsrlobezhlkyveomrliubbrhiholobeotzedlxoabmofobipdjodvbezxdicpzpwgseybaaxehthlzgtgweizihmbqt\n", - "-2452.8823863040493 rpkt ftzrhtmitzbrlosezhukyvvomruiubsrhiqoloseotiedlooabvofosipdsodvsezxmicpqpwgbeybraxeqthlqgtgfeizzhmbzt\n", - "-2452.1605111353592 rpzt ftkrhtbitzmrlohezhfkyvkomrfiubhrhiboloheottedldoabgofohipddodvhezxxicpfpwgmeybgaxebthlfgtgqeizohmbkt\n", - "-2460.4259891776123 wpzt atkrmtbiozmrqoheuhfkdvkohrfizbhrciboqohejtteildovbgokohikddoivheuxxihpfprgmedbgasebtmlfgogqenzohhbkt\n", - "-2486.2054544129533 wpit atbrmtkiozdrqoqeuhwkdvtohrwizbqrcisoqoqejtkeilmovbxokoqikduoivqeuxoihpoprgdedbpasestmlogoghenzxhhbbt\n", - "-2525.877753805068 ypit ytbrotkimzdrsoqeshwkfvtofrwibbqraisosoqehtkeklmotbxomoqiiduokvqesxoijpoppgdefbpaqestologmghepzxhfbbt\n", - "-2717.288423668362 ypih ytbdotkwmzddsoqsshwwfvtcfrwubbqfaisasoqshtkqklmctbxamoqwiduakvqssxoujpodpgdqfbpoqesfoloumghqpzxvfbbf\n", - "-2655.3169168904997 gpih qtbdwtkwezddaoqskhwwnvtcxrwujbqfsisaaoqsztkqslmclbxauoqwaduasvqskxourpodhgdqnbpoiesfwloueghqxzxvxbbf\n", - "-2646.1042034252964 zpih xtbdptkwlzddtoqsrhwwgvtcerwucbqfzisatoqsgtkqllmcsbxanoqwhdualvqsrxoukpodogdqgbpopesfploulghqqzxvebbf\n", - "-2632.433089685176 zpis xtbsptkhlzdstoqdrhwlgvtnerwjcbqqzisptoqdgtkfllmnsbxpnoqhhduplvqdrxojkpooogdfgbpzpesuploflghfqzxgebbu\n", - "-2674.4584469015203 zgis xcbspkkhlidstfqdrqwlgmtneawjcsqqzrsptfqdgckflcmnskxpnfqhhmuplmqdrgojkgooopdfgspzpnsupcoflphfqqxgekbu\n", - "-2765.146084724943 pgis hcbsfkkhvidsjfqdbqwlwmtnoawjssqqjrspjfqdqckfbcmnckxpdfqhrmupbmqdbgojagooypdfwspzznsufcofvphfgqxgokbu\n", - "-2762.9809557050535 plis hxbsfpkhvddsjkqdblwlwrtnovwjsxqqjmspjkqdqxkfbhmncfxpdkqhrhupbrqdbbojalooykdfwxpzzisufhofvkhfgvxgofbu\n", - "-2761.6872761011377 nlis jxbsdpkhxddshkqddlwlurtnqvwjqxqqlmsphkqdsxkfzhmnefxpbkqhthupzrqddbojylooakdfuxpzbisudhofxkhfevxgqfbu\n", - "-2749.6856659416726 nhis jbbsdlkhxhdshgqddpwluntnqzwjqtqqlqsphgqdsbkfzdmnejxpbgqhtlupznqddfojyhooaodfutpzbmsuddofxohferxgqjbu\n", - "-2737.168445178984 nhds jbgsdlfhxhishglddpblunonqzbjqtlqlqxphgldsbpfzdhnejcpbglhtlzpznlddftjyhjoaoifutkzbmxuddjfxomfersgqjgu\n", - "-2765.2138606123967 nhdw jbgodlflxhiohglhdpbhunorqzbfqtlulqxlhglhsbpbzdhrejclbglltlzlznlhdftfyhjsaoibutkdbmxqddjjxomberskqjgq\n", - "-2752.8438798803577 hhdw pbgoxlfldhiobglhjpbhonorwzbfktlurqxlbglhybpbtdhrkjclvgllzlzltnlhjftfshjsgoibotkdhmxqxdjjdombyrskwjgq\n", - "-2732.0372412941074 hhaw pbjoxlcldhlobgihjpehonlrwzefktiurqalbgihybsbtderkjflvgilzlcltnihjfwfshgsgolbothdhmaqxdgjdopbyrpkwjjq\n", - "-2717.6629396008148 hhah pbjdxlcwdhldbgisjpewonlcwzeuktifrqaabgisybsqtdeckjfavgiwzlcatnisjfwushgdgolqothohmafxdgudopqyrpvwjjf\n", - "-2684.71577084991 hhaz pbjlxlcodhllbgikjpeeonluwzecktixrqaibgikybsytdeukjfivgiozlcitnikjfwcshgvgolyothghmanxdgmdopyyrpnwjjn\n", - "-2630.9382361711378 rhaz fbjlhlcothlllgikzpeeynlumzecutixhqailgikobsyddeuajfifgioplcidnikzfwcchgvwolyythgxmanhdgmtopyirpnmjjn\n", - "-2619.368149465287 rcaz fgjlhgcotmlllbikzueeyilumeecuoixhvailbikogsydyeuaofifbiopqcidiikzkwcccgvwtlyyohgxranhygmttpyimpnmojn\n", - "-2606.020398089979 rcam fgjyhgcbtmlylbixzueryilhmeepuoikhvavlbixogsldyehaofvfbibpqcvdiixzkwpccgiwtllyohtxraahygzttplimpamoja\n", - "-2614.285876132234 wcam agjymgcbomlyqbixuuerdilhheepzoikcvavqbixjgsliyehvofvkbibkqcviiixukwphcgirtlldohtsraamygzotplnmpahoja\n", - "-2582.7739552812823 zcam xgjypgcblmlytbixruergilheeepcoikzvavtbixggsllyehsofvnbibhqcvliixrkwpkcgiotllgohtpraapygzltplqmpaeoja\n", - "-2566.263013587889 ztam xpjypxcblvlytsixrdergzlhenepcfikzeavtsixgpsllpehsxfvnsibhzcvlzixrtwpktgiocllgfhtpaaappgzlcplqdpaexja\n", - "-2621.3560682162 jtam npjyzxcbbvlydsixhderqzlhunepmfikpeavdsixwpslvpehixfvxsibxzcvvzixhtwputgiecllqfhtfaaazpgzbcpladpauxja\n", - "-2651.7688535446214 jyam nkjyzccbbqlydxixhyerqelhuiepmkikpzavdxixwkslvuehisfvxxibxucvveixhowpuygiexllqkhtfvaazugzbxplaipausja\n", - "-2621.3560682162 jtam npjyzxcbbvlydsixhderqzlhunepmfikpeavdsixwpslvpehixfvxsibxzcvvzixhtwputgiecllqfhtfaaazpgzbcpladpauxja\n", - "-2676.8470084403466 jram nrjyzvcbbxlydqixhferqxlhupepmdikpgavdqixwrslvnehizfvxqibxbcvvxixhvwpurgieellqdhtfcaazngzbeplabpauzja\n", - "-2730.394801253452 fram rrjyvvcbfxlyzqixlfermxlhypepidiktgavzqixarslrnehmzfvtqibbbcvrxixlvwpqrgiiellmdhtjcaavngzfeplwbpayzja\n", - "-2717.1516286079054 fgam rcjyvkcbfilyzfixlqermmlhyaepisiktravzfixacslrcehmkfvtfibbmcvrmixlgwpqggiipllmshtjnaavcgzfpplwqpaykja\n", - "-2749.7754349939964 fgas rcjsvkchfilszfidlqelmmlnyaejisiqtrapzfidacsfrcenmkfptfihbmcprmidlgwjqggoiplfmshzjnauvcgffppfwqpgykju\n", - "-2713.566006758312 fgae rcjgvkctfilgzfiplqezmmlzyaexisictradzfipacstrcezmkfdtfitbmcdrmiplgwxqggaipltmshljnaivcgrfpptwqpsykji\n", - "-2693.1624225714822 foae rujgvsctfalgznipliezmulzysexiaictjadznipaustrkezmcfdtnitbecdruiplywxqogaihltmahljfaivkgrfhptwypsycji\n", - "-2744.0310902028787 foab rujjvscqfaljznimliecmulwyseaiaiztjagznimauswrkewmcfgtniqbecgruimlywaqogxihlwmahijfalvkgofhpwwyppycjl\n", - "-2681.798572840682 foax rujnvscmfalnzniiliegmulsyseeiaivtjakzniiausarkesmcfktnimbeckruiilyweqogtihlamahejfapvkgkfhpawyplycjp\n", - "-2690.367174777334 fyax rkjnvccmfqlnzxiilyegmelsyieeikivtzakzxiiaksaruesmsfktximbuckreiiloweqygtixlamkhejvapvugkfxpawiplysjp\n", - "-2680.5799711577483 fyvx rkonvcxmfqqnzxdilyjgmegsyijeikdvtzfkzxdiakxaruzsmskktxdmbuhkredilobeqybtixqamkcejvfpvubkfxuawiklysop\n", - "-2525.1809110543873 fylx rkynvcnmfqanzxtilytgmewsyiteiktvtzpkzxtiakharupsmsuktxtmburkretiloleqyrtixaamksejvppvurkfxeawialysyp\n", - "-2601.5700281596855 fyll rkyzvcnafqazzxtwlytsmewgyitqiktjtzpwzxtwakhmrupgmsuwtxtaburwretwlolqqyrhixammkssjvpbvuryfxemwiazysyb\n", - "-2553.4781340100876 fylz rkylvcnofqalzxtklytemewuyitciktxtzpizxtkakhyrupumsuitxtoburiretklolcqyrvixaymksgjvpnvurmfxeywianysyn\n", - "-2563.1479872403756 fllz rxylvpnofdalzktklltemrwuyvtcixtxtmpizktkaxhyrhpumfuitktobhrirrtklblcqlrvikaymxsgjipnvhrmfkeywvanyfyn\n", - "-2549.2259767386963 fllj rxybvpnyfdabzktulltumrweyvtsixthtmpyzktuaxhorhpemfuytktybhryrrtulblsqlrfikaomxsqjipdvhrwfkeowvaxyfyd\n", - "-2553.5978640635553 fklj ryybvonyfeabzjtulmtumqweywtsiwthtnpyzjtuayhorgpemguytjtybiryrqtulclsqkrfilaomwsqjjpdvgrwfleowuaxygyd\n", - "-2449.1661963691577 xklj zyybnonyneabrjtutmtueqwegwtsawthbnpyrjtuiyhojgpeuguyljtyjiryjqtutclsikrfqlaoewsqrjpdngrwnleoouaxggyd\n", - "-2444.7943090442973 xllj zxybnpnyndabrktutltuerwegvtsaxthbmpyrktuixhojhpeufuylktyjhryjrtutblsilrfqkaoexsqripdnhrwnkeoovaxgfyd\n", - "-2448.45078818166 xllg zxyenpnvndaerktrtltxerwbgvtvaxtebmpbrktrixhrjhpbufublktvjhrbjrtrtblvilrcqkarexsnripgnhrtnkerovaugfyg\n", - "-2408.368149622951 xtlg zpyenxnvnvaerstrtdtxezwbgntvaftebepbrstriphrjppbuxublstvjzrbjztrttlvitrcqcarefsnrapgnprtncerodaugxyg\n", - "-2442.1129499364965 qtlg gpyegxnvuvaekstradtxxzwbnntvtfteiepbkstrpphrcppbbxubestvqzrbcztratlvbtrcxcarxfsnyapggprtucerhdaunxyg\n", - "-2413.3716833411377 gtlg qpyewxnvevaeastrkdtxnzwbxntvjftesepbastrzphrsppblxubustvazrbsztrktlvrtrchcarnfsniapgwprtecerxdauxxyg\n", - "-2470.8299576286304 ttlg dpyejxnvrvaenstrxdtxazwbkntvwftefepbnstrmphrfppbyxubhstvnzrbfztrxtlvetrcucarafsnvapgjprtrcerkdaukxyg\n", - "-2665.0843681411707 ttug dppejxwvrvrenscrxdkxazfbknkvwfcefegbnscrmpyrfpybyxlbhscvnzibfzcrxtcvetacucrrafbnvaggjpatrcvrkdjukxpg\n", - "-2689.2721780894635 ttuu dppqjxwjrvrqnscfxdkjazfpknkhwfcsfegnnscfmpydfpypyxlnhscjnzinfzcfxtchetaqucrdafbbvagsjpahrcvdkdjikxps\n", - "-2665.126480988587 ttup dppvjxwervrvnscaxdkoazfkknkmwfcnfegsnscampyifpykyxlshscenzisfzcaxtcmetalucriafbwvagxjpacrcvikdjdkxpx\n", - "-2516.8863983931 ttut dpprjxwirvrrnscexdkkazfoknkiwfcrfegonscempyefpyoyxlohscinziofzcextcietapucreafbavagtjpagrcvekdjhkxpt\n", - "-2518.288120933557 etut sppruxwigvrryscemdkklzfoznkihfcruegoyscebpyeqpyonxlossciczioqzcemtciptapjcrelfbakagtupaggcvevdjhzxpt\n", - "-2450.215410640403 ztut xpprpxwilvrrtscerdkkgzfoenkicfcrzegotscegpyelpyosxlonscihziolzcertciktapocregfbapagtppaglcveqdjhexpt\n", - "-2492.4631782190027 zgut xcprpkwilirrtfcerqkkgmfoeakicscrzrgotfcegcyelcyosklonfcihmiolmcergcikgapopregsbapngtpcaglpveqqjhekpt\n", - "-2517.5984588678057 ogut icprekwiwirrifcecqkkvmfopakirscrkrgoifcercyeacyodklocfcismioamcecgcizgapzprevsbaangtecagwpvefqjhpkpt\n", - "-2515.433329847915 olut ixprepwiwdrrikceclkkvrfopvkirxcrkmgoikcerxyeahyodflockcishioarcecbcizlapzkrevxbaaigtehagwkvefvjhpfpt\n", - "-2451.546725351474 olst ixrrepuiwdtrikaeclmkvrdopvmirxarkmioikaerxaeahwodfnockaishkoaraecbeizlypzktevxzaaiitehygwkxefvhhpfrt\n", - "-2476.207705934287 blst vxrrrpuijdtrvkaeplmkirdocvmiexarxmiovkaeexaenhwoqfnopkaifhkonraepbeimlypmkteixzaniitrhygjkxesvhhcfrt\n", - "-2427.414313145699 best verrriuijktrvdaepsmkikdoccmieqarxtiovdaeeeaenawoqmnopdaifokonkaepieimeypmrteiqzanpitraygjrxesohhcmrt\n", - "-2478.372834954177 bgst vcrrrkuijitrvfaepqmkimdocamiesarxriovfaeecaencwoqknopfaifmkonmaepgeimgypmpteiszannitrcygjpxesqhhckrt\n", - "-2482.454440870259 bgyt vclrrkaijinrvfgepqgkimjocagiesgrxrcovfgeecuenccoqkhopfgifmeonmgepgyimgepmpneisfannctrcegjpresqnhcklt\n", - "-2567.8763287231595 bgqt vctrrksijivrvfyepqokimbocaoiesyrxrkovfyeeccencuoqkpopfyifmmonmyepggimgwpmpveisxannktrcwgjpzesqfhcktt\n", - "-2557.9767120972506 igqt octryksicivrcfyeiqokpmbovaoilsyrqrkocfyexcceucuojkpowfyiymmoumyeiggitgwpfpvepsxagnktycwgcpzezqfhvktt\n", - "-2589.264287734608 ygqt yctroksimivrsfyesqokfmbofaoibsyrarkosfyehccekcuotkpomfyiimmokmyesggijgwpppvefsxaqnktocwgmpzepqfhfktt\n", - "-2577.4293054844306 yyqt yktrocsimqvrsxyesyokfebofioibkyrazkosxyehkcekuuotspomxyiiumokeyesogijywppxvefkxaqvktouwgmxzepifhfstt\n", - "-2533.933364705465 yyjt ykaroclimqcrsxresyvkfeuofivibkrrazrosxrehkjekunotswomxriiutokeresonijypppxcefkqaqvrtoupgmxgepiyhfsat\n", - "-2541.154545428804 yyxt ykmroczimqorsxfesyhkfeiofihibkfrazdosxfehkvekubotsiomxfiiufokefesozijydppxoefkeaqvdtoudgmxsepimhfsmt\n", - "-2552.7922016709845 yyct ykhroceimqjrsxkesyckfenoficibkkrazyosxkehkqekugotsdomxkiiuaokekesouijyippxjefkjaqvytouigmxnepirhfsht\n", - "-2774.8327268956555 yycc ykhiocermqjisxknsycbfenxficzbkkaazyfsxknhkqvkugxtsdfmxkriuafkeknsouzjyiypxjvfkjjqvykouipmxnvpirqfshk\n", - "-2703.64850665259 zycc xkhipcerlqjitxknrycbgenxeiczckkazzyftxkngkqvlugxssdfnxkrhuafleknrouzkyiyoxjvgkjjpvykpuiplxnvqirqeshk\n", - "-2780.6724841400583 hycc pkhixcerdqjibxknjycboenxwiczkkkarzyfbxknykqvtugxksdfvxkrzuafteknjouzsyiygxjvokjjhvykxuipdxnvyirqwshk\n", - "-2698.9692654437767 vycc bkhilcerpqjipxknvycbcenxiiczykkadzyfpxknkkqvhugxwsdfjxkrluafheknvouzgyiysxjvckjjtvykluippxnvmirqishk\n", - "-2676.4657273086855 vyzc bkkilcbrpqmipxhnvyfbcekxiifzykhadzbfpxhnkktvhudxwsgfjxhrludfhehnvoxzgyfysxmvckgjtvbklufppxqvmioqiskk\n", - "-2676.4657273086855 vyzc bkkilcbrpqmipxhnvyfbcekxiifzykhadzbfpxhnkktvhudxwsgfjxhrludfhehnvoxzgyfysxmvckgjtvbklufppxqvmioqiskk\n", - "-2503.73506947214 vylc bkyilcnrpqaipxtnvytbcewxiitzyktadzpfpxtnkkhvhupxwsufjxtrlurfhetnvolzgyrysxavcksjtvpklurppxevmiaqisyk\n", - "-2528.813224367865 vrlc bryilvnrpxaipqtnvftbcxwxiptzydtadgpfpqtnkrhvhnpxwzufjqtrlbrfhxtnvvlzgrryseavcdsjtcpklnrppeevmbaqizyk\n", - "-2495.1664675354855 volc buyilsnrpaaipntnvitbcuwxistzyatadjpfpntnkuhvhkpxwcufjntrlerfhutnvylzgoryshavcasjtfpklkrpphevmyaqicyk\n", - "-2432.5280373785567 volf buyflsnupaafpntqvitycuwaistwyatddjpcpntqkuhshkpawcucjntulerchutqvylwgorbshascasmtfphlkrsphesmyaticyh\n", - "-2485.9486458304755 volk buyalsnzpaaapntvvittcuwfistryatidjpxpntvkuhnhkpfwcuxjntzlerxhutvvylrgorgshancasrtfpclkrxphenmyayicyc\n", - "-2512.938937462045 valk biyalenzpoaapztvvwttcgwfigtrymtidxpxpztvkihnhwpfwquxjztzlsrxhgtvvmlrgargsvancmsrttpclwrxpvenmkayiqyc\n", - "-2444.657724553095 valj biyblenypoabpztuvwtucgweigtsymthdxpypztukihohwpewquyjztylsryhgtuvmlsgarfsvaocmsqttpdlwrwpveomkaxiqyd\n", - "-2417.027408966616 vslj bqyblwnypwabprtuvetucyweiotsyethdfpyprtukqhohopewyuyjrtylaryhytuvulsgsrfsdaocesqtbpdlorwpdeomcaxiyyd\n", - "-2427.4646833728684 vwlj bmyblanypsabpvtuvatuccweiktsyithdbpypvtukmhohspewuuyjvtylwryhctuvqlsgwrfszaocisqtxpdlsrwpzeomgaxiuyd\n", - "-2481.8341091931948 vwlr bmytlangpsatpvtcvatmccwmiktkyitpdbpqpvtckmhghspmwuuqjvtglwrqhctcvqlkgwrnszagcisytxpvlsrepzegmgafiuyv\n", - "-2486.513350402008 zwlr xmytpanglsattvtcratmgcwmektkcitpzbpqtvtcgmhglspmsuuqnvtghwrqlctcrqlkkwrnozaggisypxpvpsrelzegqgafeuyv\n", - "-2486.513350402008 zwlr xmytpanglsattvtcratmgcwmektkcitpzbpqtvtcgmhglspmsuuqnvtghwrqlctcrqlkkwrnozaggisypxpvpsrelzegqgafeuyv\n", - "-2430.7240618082496 zwli xmycpanxlsactvttratvgcwdekttcitgzbpztvttgmhplspdsuuznvtxhwrzlcttrqltkwreozapgisppxpepsrvlzepqgaweuye\n", - "-2456.33432505666 zzli xjycpdnxlpactyttrxtvgfwdehttcltgzypztyttgjhplvpdsruznytxhtrzlfttrnltkzreowapglsppupepvrvlwepqjawerye\n", - "-2399.3050383273953 zpli xtycptnxlzactottrhtvgvwderttcbtgzipztottgthpllpdsbuznotxhdrzlvttrxltkpreogapgbsppepeplrvlgepqzawebye\n", - "-2489.9926761508164 ppli htycftnxvzacjottbhtvwvwdorttsbtgjipzjottqthpblpdcbuzdotxrdrzbvttbxltapreygapwbspzepeflrvvgepgzawobye\n", - "-2436.719357678404 upli ctycktnxqzacoottwhtvbvwdjrttxbtgeipzoottlthpglpdxbuziotxmdrzgvttwxltfpretgapbbspuepeklrvqgeplzawjbye\n", - "-2436.496947316148 utli cpyckxnxqvacosttwdtvbzwdjnttxftgeepzosttlphpgppdxxuzistxmzrzgzttwtltftretcapbfspuapekprvqcepldawjxye\n", - "-2491.987887540296 urli cryckvnxqxacoqttwftvbxwdjpttxdtgegpzoqttlrhpgnpdxzuziqtxmbrzgxttwvltfrreteapbdspucpeknrvqeeplbawjzye\n", - "-2570.906784927688 urlc cryikvnrqxaioqtnwftbbxwxjptzxdtaegpfoqtnlrhvgnpxxzufiqtrmbrfgxtnwvlzfrryteavbdsjucpkknrpqeevlbaqjzyk\n", - "-2766.140980899325 urcc crhikverqxjioqknwfcbbxnxjpczxdkaegyfoqknlrqvgngxxzdfiqkrmbafgxknwvuzfriytejvbdjjucykknipqenvlbrqjzhk\n", - "-2773.5495437062923 urnc crwikvprqxyioqvnwfrbbxyxjprzxdvaegnfoqvnlrfvgnrxxzsfiqvrmbpfgxvnwvjzfrtyteyvbdujucnkkntpqecvlbcqjzwk\n", - "-2822.7680729417143 unnc cvwikrprqbyiomvnwjrbbtyxjtrzxzvaeknfomvnlvfvgjrxxdsfimvrmfpfgtvnwzjzfntytiyvbzujugnkkjtpqicvlxcqjdwk\n", - "-2802.1210990267796 dnnc tvwitrprhbyixmvnnjrbktyxatrzgzvavknfxmvncvfvpjrxodsfrmvrdfpfptvnnzjzontykiyvkzujlgnktjtphicvuxcqadwk\n", - "-2757.3298832028845 dfnc tdwitjprhjyixevnnrrbklyxabrzgrvavsnfxevncdfvpbrxolsfrevrdnpfplvnnhjzoftykqyvkrujlonktbtphqcvupcqalwk\n", - "-2734.20027440925 dfnr tdwttjpghjytxevcnrrmklymabrkgrvpvsnqxevccdfgpbrmolsqrevgdnpqplvcnhjkoftnkqygkruylonvtbtehqcgupcfalwv\n", - "-2707.6751376745765 dfnu tdwqtjpjhjyqxevfnrrjklypabrhgrvsvsnnxevfcdfdpbrpolsnrevjdnpnplvfnhjhoftqkqydkrublonstbthhqcdupcialws\n", - "-2693.752859090602 dfnz tdwltjpohjylxevknrreklyuabrcgrvxvsnixevkcdfypbruolsirevodnpiplvknhjcoftvkqyykruglonntbtmhqcyupcnalwn\n", - "-2707.6751376745765 dfnu tdwqtjpjhjyqxevfnrrjklypabrhgrvsvsnnxevfcdfdpbrpolsnrevjdnpnplvfnhjhoftqkqydkrublonstbthhqcdupcialws\n", - "-2690.9077922384995 zfnu xdwqpjpjljyqtevfrrrjglypebrhcrvszsnntevfgdfdlbrpslsnnevjhnpnllvfrhjhkftqoqydgrubponspbthlqcdqpcielws\n", - "-2659.0705670020725 zhnu xbwqplpjlhyqtgvfrprjgnypezrhctvszqnntgvfgbfdldrpsjsnngvjhlpnlnvfrfjhkhtqooydgtubpmnspdthlocdqrciejws\n", - "-2708.8668282336876 bhnu vbwqrlpjjhyqvgvfpprjinypczrhetvsxqnnvgvfebfdndrpqjsnpgvjflpnnnvfpfjhmhtqmoyditubnmnsrdthjocdsrcicjws\n", - "-2712.427233677554 bwnu vmwqrapjjsyqvvvfparjicypckrheivsxbnnvvvfemfdnsrpqusnpvvjfwpnncvfpqjhmwtqmzydiiubnxnsrsthjzcdsgcicuws\n", - "-2733.5039024678026 bqnu vswqrupjjyyqvpvfpgrjiwypcqrhecvsxhnnvpvfesfdnmrpqasnppvjfcpnnwvfpwjhmqtqmfydicubndnsrmthjfcdsacicaws\n", - "-2691.2844009281284 bqnx vswnrupmjyynvpvipgrgiwyscqreecvvxhnkvpviesfanmrsqaskppvmfcpknwvipwjemqttmfyaicuendnprmtkjfcasaclcawp\n", - "-2665.017001155641 bqjx vsanrulmjycnvpripgvgiwuscqveecrvxhrkvpriesjanmnsqawkpprmfctknwripwnemqptmfcaicqendrprmpkjfgasaylcaap\n", - "-2661.3722999860697 bqzx vsknrubmjymnvphipgfgiwkscqfeechvxhbkvphiestanmdsqagkpphmfcdknwhipwxemqftmfmaicgendbprmfkjfqasaolcakp\n", - "-2615.78521850147 xqzx zsknnubmnymnrphitgfgewksgqfeachvbhbkrphiistajmdsuagklphmjcdkjwhitwxeiqftqfmaecgerdbpnmfknfqaoaolgakp\n", - "-2618.5580560922585 xrzx zrknnvbmnxmnrqhitffgexksgpfeadhvbgbkrqhiirtajndsuzgklqhmjbdkjxhitvxeirftqemaedgercbpnnfkneqaobolgzkp\n", - "-2607.5216417516795 xkzx zyknnobmnemnrjhitmfgeqksgwfeawhvbnbkrjhiiytajgdsuggkljhmjidkjqhitcxeikftqlmaewgerjbpngfknlqaouolggkp\n", - "-2680.004132404237 xkzv zykpnobknemprjhgtmfieqkqgwfgawhtbnbmrjhgiytcjgdquggmljhkjidmjqhgtcxgikfrqlmcewgcrjbrngfinlqcouojggkr\n", - "-2690.5299159443794 xkrv zyspnotkneuprjzgtmnieqcqgwngawztbnjmrjzgiybcjgvqugomljzkjilmjqzgtcfgikxrqlucewycrjjrngxinlycougjggsr\n", - "-2697.1160675867645 xkov zyvpnoqknexprjwgtmqieqzqgwqgawwtbnmmrjwgiyecjgsqugrmljwkjiomjqwgtcigikurqlxcewvcrjmrnguinlbcoudjggvr\n", - "-2709.916233346297 xknv zywpnopkneyprjvgtmrieqyqgwrgawvtbnnmrjvgiyfcjgrqugsmljvkjipmjqvgtcjgiktrqlycewucrjnrngtinlccoucjggwr\n", - "-2709.916233346297 xknv zywpnopkneyprjvgtmrieqyqgwrgawvtbnnmrjvgiyfcjgrqugsmljvkjipmjqvgtcjgiktrqlycewucrjnrngtinlccoucjggwr\n", - "-2641.722886499874 xkyv zylpnoaknenprjggtmgieqjqgwggawgtbncmrjggiyucjgcqughmljgkjiemjqggtcygikerqlncewfcrjcrngeinlrcounjgglr\n", - "-2597.5376188030186 xkyz zyllnoaonenlrjgktmgeeqjugwgcawgxbncirjgkiyuyjgcuughiljgojieijqgktcycikevqlnyewfgrjcnngemnlryounnggln\n", - "-2566.936558426059 xbyz zhllnfaonnnlragktvgeehjugfgcangxbwciragkihuyjxcuuphilagojreijhgktlycibevqunyenfgrscnnxemnuryolnngpln\n", - "-2596.508080170528 xuyz zollnyaonunlrtgktcgeeajugmgcaggxbdcirtgkiouyjqcuuwhiltgojyeijagktsyciuevqbnyegfgrzcnnqemnbryoenngwln\n", - "-2604.524050382042 xuyq zolunyafnunurtgbtcgneajlgmglaggobdcrrtgbiouhjqcluwhrltgfjyerjagbtsyliuemqbnhegfxrzcwnqednbrhoenegwlw\n", - "-2604.524050382042 xuyq zolunyafnunurtgbtcgneajlgmglaggobdcrrtgbiouhjqcluwhrltgfjyerjagbtsyliuemqbnhegfxrzcwnqednbrhoenegwlw\n", - "-2660.8243466797026 suyq eoluiyafsunumtgbycgnzajllmglvggogdcrmtgbnouheqclzwhrgtgfoyereagbysylduemvbnhzgfxwzcwiqedsbrhjenelwlw\n", - "-2671.49909087809 yuyq yoluoyafmunustgbscgnfajlfmglbggoadcrstgbhouhkqcltwhrmtgfiyerkagbssyljuempbnhfgfxqzcwoqedmbrhpenefwlw\n", - "-2655.49324395954 muyq kolucyafyunugtgbecgntajlrmglpggomdcrgtgbtouhyqclfwhratgfuyeryagbesylxuembbnhtgfxczcwcqedybrhdenerwlw\n", - "-2637.253855231124 muyp kolvcyaeyunvgtgaecgotajkrmgmpggnmdcsgtgatouiyqckfwhsatgeuyesyagaesymxuelbbnitgfwczcxcqecybridendrwlx\n", - "-2619.180050792326 muyx kolncyamyunngtgiecggtajsrmgepggvmdckgtgitouayqcsfwhkatgmuyekyagiesyexuetbbnatgfeczcpcqekybradenlrwlp\n", - "-2601.4159968188205 uuyx colnkyamqunnotgiwcggbajsjmgexggvedckotgilouagqcsxwhkitgmmyekgagiwsyefuettbnabgfeuzcpkqekqbralenljwlp\n", - "-2632.1528486095845 uuax cojnkycmqulnotiiwcegbalsjmeexgivedakotiilosagqesxwfkitimmyckgaiiwswefugttblabgheuzapkqgkqbpalepljwjp\n", - "-2700.8974868839327 uuar cojtkycgqultoticwcembalmjmekxgipedaqoticlosggqemxwfqitigmycqgaicwswkfugntblgbghyuzavkqgeqbpglepfjwjv\n", - "-2657.472499632855 utar cpjtkxcgqvltosicwdembzlmjnekxfipeeaqosiclpsggpemxxfqisigmzcqgzicwtwkftgntclgbfhyuaavkpgeqcpgldpfjxjv\n", - "-2756.774272006217 udar cfjtkhcgqlltocicwtembjlmjdekxpipeuaqociclfsggzemxnfqicigmpcqgjicwjwkfdgntslgbphyuqavkzgeqspglnpfjnjv\n", - "-2746.9870683866307 udvr cfotkhxgqlqtocdcwtjmbjgmjdjkxpdpeufqocdclfxggzzmxnkqicdgmphqgjdcwjbkfdbntsqgbpcyuqfvkzbeqsuglnkfjnov\n", - "-2752.394765472838 unvr cvotkrxgqbqtomdcwjjmbtgmjtjkxzdpekfqomdclvxggjzmxdkqimdgmfhqgtdcwzbkfnbntiqgbzcyugfvkjbeqiuglxkfjdov\n", - "-2703.1762362374143 urvr crotkvxgqxqtoqdcwfjmbxgmjpjkxddpegfqoqdclrxggnzmxzkqiqdgmbhqgxdcwvbkfrbnteqgbdcyucfvknbeqeuglbkfjzov\n", - "-2682.226588066236 uryr crltkvagqxntoqgcwfgmbxjmjpgkxdgpegcqoqgclruggncmxzhqiqggmbeqgxgcwvykfrentengbdfyuccvkneeqerglbnfjzlv\n", - "-2746.2872992059415 urir crbtkvkgqxdtoqqcwfwmbxtmjpwkxdqpegsqoqqclrkggnmmxzxqiqqgmbuqgxqcwvokfrontedgbdpyucsvknoeqehglbxfjzbv\n", - "-2704.1937386461186 vrir brbtlvkgpxdtpqqcvfwmcxtmipwkydqpdgsqpqqckrkghnmmwzxqjqqglbuqhxqcvvokgronsedgcdpytcsvlnoepehgmbxfizbv\n", - "-2649.8243128257923 vrij brbblvkypxdbpqquvfwucxteipwsydqhdgsypqqukrkohnmewzxyjqqylbuyhxquvvosgrofsedocdpqtcsdlnowpehombxxizbd\n", - "-2614.3823345881274 vrhj brcblvjypxebpqpuvfxucxseipxsydphdgtypqpukrlohnlewzyyjqpylbvyhxpuvvpsgrnfseeocdoqtctdlnnwpeiombwxizcd\n", - "-2594.3406713348736 vrpj brublvrypxwbpqxuvfpucxaeippsydxhdglypqxukrdohntewzqyjqxylbnyhxxuvvhsgrvfsewocdwqtcldlnvwpeaombexizud\n", - "-2514.50484170125 vvpj bnublzryptwbpuxuvbpucbaeilpsyhxhdclypuxukndohrtewvqyjuxylxnyhbxuvrhsgvvfsawochwqtyldlrvwpaaomfexivud\n", - "-2500.129629247229 vvpx bnunlzrmptwnpuxivbpgcbasilpeyhxvdclkpuxikndahrtswvqkjuxmlxnkhbxivrhegvvtsawachwetylplrvkpaaamfelivup\n", - "-2514.50484170125 vvpj bnublzryptwbpuxuvbpucbaeilpsyhxhdclypuxukndohrtewvqyjuxylxnyhbxuvrhsgvvfsawochwqtyldlrvwpaaomfexivud\n", - "-2495.251761570768 vvwj bnnblzyyptpbpueuvbiucbheilisyhehdceypueuknwohraewvjyjueylxgyhbeuvrasgvcfsapochdqtyedlrcwpatomflxivnd\n", - "-2510.9622427000345 vvwa bnnklzypptpkpuelvbidcbhvilibyheydcehpuelknwxhravwvjhjueplxghhbelvrabgvcwsapxchdhtyemlrcnpatxmfloivnm\n", - "-2540.7767645576514 ovwa innkezypwtpkiuelcbidvbhvplibrheykcehiuelrnwxaravdvjhcuepsxghabelcrabzvcwzapxvhdhayemercnwatxfflopvnm\n", - "-2547.371169123267 ovsa inrkezupwttkiualcbmdvbdvplmbrhaykcihiualrnaxarwvdvnhcuapsxkhabalcrebzvywzatxvhzhayimerynwaxxffhopvrm\n", - "-2547.371169123267 ovsa inrkezupwttkiualcbmdvbdvplmbrhaykcihiualrnaxarwvdvnhcuapsxkhabalcrebzvywzatxvhzhayimerynwaxxffhopvrm\n", - "-2636.4751029359154 ovta inqkezvpwtskiublcbldvbevpllbrhbykchhiublrnzxarxvdvmhcubpsxjhabblcrdbzvzwzasxvhahayhmerznwawxffiopvqm\n", - "-2664.8316503387564 oxta ilqkebvpwrskiwblczldvdevpjlbrjbykahhiwblrlzxatxvdtmhcwbpsvjhadblcpdbzxzwzysxvjahawhmetznwywxfhioptqm\n", - "-2628.616351886694 oxra ilskebtpwrukiwzlczndvdcvpjnbrjzykajhiwzlrlbxatvvdtohcwzpsvlhadzlcpfbzxxwzyuxvjyhawjmetxnwyyxfhgoptsm\n", - "-2634.8438514706204 oxrq ilsuebtfwruuiwzbcznnvdclpjnlrjzokajriwzbrlbhatvldtorcwzfsvlradzbcpflzxxmzyuhvjyxawjwetxdwyyhfhgeptsw\n", - "-2644.685658983863 obrq ihsueftfwnuuiazbcvnnvhclpfnlrnzokwjriazbrhbhaxvldporcazfsrlrahzbclflzbxmzuuhvnyxasjwexxdwuyhflgeppsw\n", - "-2712.2859504635953 obry ihsmeftnwnumiazjcvnfvhctpfndrnzwkwjjiazjrhbzaxvtdpojcaznsrljahzjclfdzbxuzuuzvnyfasjoexxlwuyzflgmppso\n", - "-2715.0224113961053 obdy ihgmeffnwnimialjcvbfvhotpfbdrnlwkwxjialjrhpzaxhtdpcjcalnsrzjahljcltdzbjuzuizvnkfasxoexjlwumzflsmppgo\n", - "-2756.558118499999 tbdy dhgmjffnrnimnaljxvbfahotkfbdwnlwfwxjnaljmhpzfxhtypcjhalnnrzjfhljxltdebjuuuizankfvsxojxjlrumzklsmkpgo\n", - "-2721.399051598254 wbdy ahgmmffnonimqaljuvbfdhothfbdznlwcwxjqaljjhpzixhtvpcjkalnkrzjihljultdhbjuruizdnkfssxomxjloumznlsmhpgo\n", - "-2635.5593713901067 wbdp ahgvmffeonivqalauvbodhokhfbmznlncwxsqalajhpiixhkvpcskalekrzsihlaultmhbjlruiidnkwssxxmxjcouminlsdhpgx\n", - "-2612.634613915131 wbhp ahcvmfjeonevqapauvxodhskhfxmznpncwtsqapajhliixlkvpyskapekrvsihpaulpmhbnlrueidnowsstxmxncouiinlwdhpcx\n", - "-2606.257973712981 obhp ihcvefjewneviapacvxovhskpfxmrnpnkwtsiaparhliaxlkdpyscapesrvsahpaclpmzbnlzueivnowastxexncwuiiflwdppcx\n", - "-2636.2157476924904 jbhp nhcvzfjebnevdapahvxoqhskufxmmnpnpwtsdapawhlivxlkipysxapexrvsvhpahlpmubnleueiqnowfstxzxncbuiialwdupcx\n", - "-2604.369135872876 rbhp fhcvhfjetnevlapazvxoyhskmfxmunpnhwtslapaohlidxlkapysfapeprvsdhpazlpmcbnlwueiynowxstxhxnctuiiilwdmpcx\n", - "-2627.2938933478526 rbdp fhgvhffetnivlalazvboyhokmfbmunlnhwxslalaohpidxhkapcsfaleprzsdhlazltmcbjlwuiiynkwxsxxhxjctumiilsdmpgx\n", - "-2673.358681476914 rfdp fdgvhjfetjivlelazrboylokmbbmurlnhsxslelaodpidbhkalcsfelepnzsdllazhtmcfjlwqiiyrkwxoxxhbjctqmiipsdmlgx\n", - "-2727.7673676906734 rfdv fdgphjfktjiplelgzrbiyloqmbbgurlthsxmlelgodpcdbhqalcmfelkpnzmdllgzhtgcfjrwqicyrkcxoxrhbjitqmcipsjmlgr\n", - "-2711.2741013060786 rudv fogphyfktuipltlgzcbiyaoqmmbguglthdxmltlgoopcdqhqawcmftlkpyzmdalgzstgcujrwbicygkcxzxrhqjitbmciesjmwgr\n", - "-2668.0715244172557 rpdv ftgphtfktziplolgzhbiyvoqmrbgublthixmlolgotpcdlhqabcmfolkpdzmdvlgzxtgcpjrwgicybkcxexrhljitgmcizsjmbgr\n", - "-2657.8215511268954 rpdb ftgjhtfqtzijlolmzhbcyvowmrbaublzhixglolmotpwdlhwabcgfolqpdzgdvlmzxtacpjxwgiwybkixexlhljotgmwizspmbgl\n", - "-2671.9894276692075 updb ctgjktfqqzijoolmwhbcbvowjrbaxblzeixgoolmltpwglhwxbcgiolqmdzggvlmwxtafpjxtgiwbbkiuexlkljoqgmwlzspjbgl\n", - "-2726.45523111371 upgb ctdjktiqqzfjooomwhycbvrwjryaxbozeiugooomltmwglkwxbzgiooqmdwggvomwxqafpmxtgfwbbniueulklmoqgjwlzvpjbdl\n", - "-2748.077004143225 uogb cudjksiqqafjonomwiycburwjsyaxaozejugonomlumwgkkwxczginoqmewgguomwyqafomxthfwbaniufulkkmoqhjwlyvpjcdl\n", - "-2586.6347312028565 kogb mudjasiqaafjenomgiycrurwtsyanaozojugenomvumwwkkwhczgynoqwewgwuomgyqavomxdhfwraniefulakmoahjwbyvptcdl\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2595.2033331395096 kygb mkdjaciqaqfjexomgyycrerwtiyankozozugexomvkmwwukwhszgyxoqwuwgweomgoqavymxdxfwrknievulaumoaxjwbivptsdl\n", - "-2595.2033331395096 kygb mkdjaciqaqfjexomgyycrerwtiyankozozugexomvkmwwukwhszgyxoqwuwgweomgoqavymxdxfwrknievulaumoaxjwbivptsdl\n", - "-2664.0923201844507 kdgb mfdjahiqalfjecomgtycrjrwtdyanpozouugecomvfmwwzkwhnzgycoqwpwgwjomgjqavdmxdsfwrpniequlazmoasjwbnvptndl\n", - "-2609.62651673995 kddb mfgjahfqalijeclmgtbcrjowtdbanplzouxgeclmvfpwwzhwhncgyclqwpzgwjlmgjtavdjxdsiwrpkieqxlazjoasmwbnsptngl\n", - "-2576.7488859268365 kdeb mffjahgqalhjecmmgtacrjpwtdaanpmzouwgecmmvfowwziwhnbgycmqwpygwjmmgjsavdkxdshwrplieqwlazkoaslwbntptnfl\n", - "-2579.7692551771543 kden mffxahgcalhxecmygtaqrjpitdaonpmlouwuecmyvfokwziihnbuycmcwpyuwjmygjsovdkjdshkrplueqwzazkaaslkbntbtnfz\n", - "-2575.760760271245 kdeh mffdahgwalhdecmsgtawrjpctdaunpmfouwaecmsvfoqwzichnbaycmwwpyawjmsgjsuvdkddshqrploeqwfazkuaslqbntvtnff\n", - "-2573.281133369253 kded mffhahgsalhhecmogtaarjpytdaynpmbouweecmovfouwziyhnbeycmswpyewjmogjsyvdkzdshurplkeqwjazkqaslubntrtnfj\n", - "-2324.6405689767435 kied mafhamgsaghhehmogoaaropytyaynumbopweehmovaouweiyhibeyhmswkyewomogesyvikzdnhurulkelwjaekqanlubstrtifj\n", - "-2295.111621083182 kief maffamguaghfehmqgoayropatyawnumdopwcehmqvaosweiahibcyhmuwkycwomqgeswvikbdnhsrulmelwhaeksanlsbstttifh\n", - "-2295.111621083182 kief maffamguaghfehmqgoayropatyawnumdopwcehmqvaosweiahibcyhmuwkycwomqgeswvikbdnhsrulmelwhaeksanlsbstttifh\n", - "-2278.831153852721 kiei mafcamgxaghcehmtgoavropdtyatnumgopwzehmtvaopweidhibzyhmxwkyzwomtgestvikednhprulpelweaekvanlpbstwtife\n", - "-2298.446540193183 kizi makcambxagmcehhtgofvrokdtyftnuhgopbzehhtvatpweddhigzyhhxwkdzwohtgextvifednmprugpelbeaefvanqpbsowtike\n", - "-2260.16529428882 kiyi malcamaxagncehgtgogvrojdtygtnuggopczehgtvaupwecdhihzyhgxwkezwogtgeytvieednnprufpelceaeevanrpbsnwtile\n", - "-2247.209944608231 kiyx malnamamagnnehgigoggrojstygenugvopckehgivauawecshihkyhgmwkekwogigeyevietdnnarufeelcpaeekanrabsnltilp\n", - "-2332.63183246113 kiqx matnamsmagvnehyigoogrobstyoenuyvopkkehyivacaweushipkyhymwkmkwoyigegeviwtdnvaruxeelkpaewkanzabsfltitp\n", - "-2247.209944608231 kiyx malnamamagnnehgigoggrojstygenugvopckehgivauawecshihkyhgmwkekwogigeyevietdnnarufeelcpaeekanrabsnltilp\n", - "-2261.5851570622526 kiyj malbamayagnbehgugogurojetygsnughopcyehguvauowecehihyyhgywkeywogugeysviefdnnorufqelcdaeewanrobsnxtild\n", - "-2339.084191676212 kiyc maliamaragniehgngogbrojxtygznugaopcfehgnvauvwecxhihfyhgrwkefwogngeyzvieydnnvrufjelckaeepanrvbsnqtilk\n", - "-2260.16529428882 kiyi malcamaxagncehgtgogvrojdtygtnuggopczehgtvaupwecdhihzyhgxwkezwogtgeytvieednnprufpelceaeevanrpbsnwtile\n", - "-2456.1914949893294 ciyi ualcsmaxigncwhgtoogvjojdbygtfuggwpczwhgtdaupoecdpihzqhgxekezoogtoeytnieelnnpjufpmlceseevinrptsnwbile\n", - "-2439.2863025064826 jiyi nalczmaxbgncdhgthogvqojduygtmuggppczdhgtwaupvecdiihzxhgxxkezvogtheytuieeennpqufpflcezeevbnrpasnwuile\n", - "-2500.0710865459355 jici nahczmexbgjcdhkthocvqonduyctmukgppyzdhktwaqpvegdiidzxhkxxkazvoktheutuiieenjpqujpflyezeivbnnpasrwuihe\n", - "-2500.1564052421404 mici kahccmexygjcghkteocvtondryctpukgmpyzghkttaqpyegdfidzahkxukazyokteeutxiiebnjptujpclyeceivynnpdsrwrihe\n", - "-2435.290015286605 misi karccmuxygtcghateomvtoddrymtpuagmpizghattaapyewdfinzahaxukkzyoateeetxiyebntptuzpclieceyvynxpdshwrire\n", - "-2422.334665606016 misx karncmumygtnghaieomgtodsrymepuavmpikghaitaaayewsfinkahamukkkyoaieeeexiytbntatuzeclipceykynxadshlrirp\n", - "-2422.334665606016 misx karncmumygtnghaieomgtodsrymepuavmpikghaitaaayewsfinkahamukkkyoaieeeexiytbntatuzeclipceykynxadshlrirp\n", - "-2593.5176410169342 mosx kurncsumyatngnaieimgtudsrsmepaavmjikgnaituaaykwsfcnkanamuekkyuaieyeexoytbhtatazecfipckykyhxadyhlrcrp\n", - "-2616.2651064969173 moex kufncsgmyahngnmieiagtupsrsaepamvmjwkgnmituoaykisfcbkanmmueykyumieysexoktbhhatalecfwpckkkyhladytlrcfp\n", - "-2626.0623569482586 mwex kmfncagmyshngvmieaagtcpsrkaepimvmbwkgvmitmoaysisfubkavmmuwykycmieqsexwktbzhatilecxwpcskkyzladgtlrufp\n", - "-2656.1480505315467 mwea kmfkcagpyshkgvmleaadtcpvrkabpimymbwhgvmltmoxysivfubhavmpuwyhycmleqsbxwkwbzhxtilhcxwmcsknyzlxdgtorufm\n", - "-2689.0256813446595 mwda kmgkcafpysikgvlleabdtcovrkbbpilymbxhgvlltmpxyshvfuchavlpuwzhyclleqtbxwjwbzixtikhcxxmcsjnyzmxdgsorugm\n", - "-2676.971679352753 mwdg kmgecafvysiegvlreabxtcobrkbvpilembxbgvlrtmpryshbfucbavlvuwzbyclreqtvxwjcbzirtikncxxgcsjtyzmrdgsurugg\n", - "-2621.793306028239 zwdg xmgepafvlsietvlrrabxgcobekbvcilezbxbtvlrgmprlshbsucbnvlvhwzblclrrqtvkwjcozirgiknpxxgpsjtlzmrqgsueugg\n", - "-2594.1635301784963 zxdg xlgepbfvlrietwlrrzbxgdobejbvcjlezaxbtwlrglprlthbstcbnwlvhvzbldlrrptvkxjcoyirgjknpwxgptjtlymrqhsuetgg\n", - "-2551.1971094502665 zxpg xluepbrvlrwetwxrrzpxgdabejpvcjxezalbtwxrgldrlttbstqbnwxvhvnbldxrrphvkxvcoywrgjwnpwlgptvtlyarqheuetug\n", - "-2554.237868239148 zmpg xwuepqrvlcwetlxrrkpxgsabeupvcyxezllbtlxrgwdrlitbseqbnlxvhgnblsxrrahvkmvcojwrgywnphlgpivtljarqweueeug\n", - "-2536.2061766477655 zmpx xwunpqrmlcwntlxirkpggsaseupecyxvzllktlxigwdalitsseqknlxmhgnklsxirahekmvtojwagywephlppivkljaaqweleeup\n", - "-2550.3579193023743 zspx xqunpwrmlwwntrxirepggyaseopecexvzflktrxigqdalotssyqknrxmhanklyxiruheksvtodwagewepblppovkldaaqceleyup\n", - "-2572.5177014443534 zsax xqjnpwcmlwlntriireeggylseoeeceivzfaktriigqsaloessyfknrimhacklyiiruweksgtodlagehepbappogkldpaqcpleyjp\n", - "-2604.031644640854 zqax xsjnpucmlylntpiirgeggwlseqeeccivzhaktpiigssalmessafknpimhccklwiirwwekqgtoflagchepdappmgklfpaqapleajp\n", - "-2620.7989900769303 dqax tsjntucmhylnxpiingegkwlsaqeegcivvhakxpiicssapmesoafkrpimdcckpwiinwweoqgtkflakcheldaptmgkhfpauaplaajp\n", - "-2712.6724920822717 fqax rsjnvucmfylnzpiilgegmwlsyqeeicivthakzpiiassarmesmafktpimbcckrwiilwweqqgtiflamchejdapvmgkffpawaplyajp\n", - "-2702.8852884626854 fqvx rsonvuxmfyqnzpdilgjgmwgsyqjeicdvthfkzpdiasxarmzsmakktpdmbchkrwdilwbeqqbtifqamccejdfpvmbkffuawaklyaop\n", - "-2500.8283938101754 fivx raonvmxmfgqnzhdilojgmogsyyjeiudvtpfkzhdiaaxarezsmikkthdmbkhkrodilebeqibtinqamucejlfpvebkfnuawsklyiop\n", - "-2396.3967261157773 xivx zaonnmxmngqnrhditojgeogsgyjeaudvbpfkrhdiiaxajezsuikklhdmjkhkjoditebeiibtqnqaeucerlfpnebknnuaosklgiop\n", - "-2432.084190974467 iivx oaonymxmcgqnchdiiojgpogsvyjeludvqpfkchdixaxauezsjikkwhdmykhkuodiiebetibtfnqapuceglfpyebkcnuazsklviop\n", - "-2496.1568706998555 iitx oaqnymvmcgsnchbiiolgpoesvylelubvqphkchbixazauexsjimkwhbmykjkuobiiedetiztfnsapuaeglhpyezkcnwazsilviqp\n", - "-2507.520720430656 iite oaqgymvtcgsgchbpiolzpoezvylxlubcqphdchbpxaztuexzjimdwhbtykjduobpiedxtizafnstpualglhiyezrcnwtzsisviqi\n", - "-2538.8082960680144 yite yaqgomvtmgsgshbpsolzfoezfylxbubcaphdshbphaztkexztimdmhbtikjdkobpsedxjizapnstfualqlhioezrmnwtpsisfiqi\n", - "-2462.3630378202324 yipe yaugomrtmgwgshxpsopzfoazfypxbuxcapldshxphadtketztiqdmhxtikndkoxpsehxjivapnwtfuwlqllioevrmnatpsesfiui\n", - "-2559.7952619929615 yige yadgomitmgfgshopsoyzforzfyyxbuocapudshophamtkekztizdmhotikwdkoopseqxjimapnftfunlqluioemrmnjtpsvsfidi\n", - "-2538.8082960680144 yite yaqgomvtmgsgshbpsolzfoezfylxbubcaphdshbphaztkexztimdmhbtikjdkobpsedxjizapnstfualqlhioezrmnwtpsisfiqi\n", - "-2589.676963699409 yitb yaqjomvqmgsjshbmsolcfoewfylabubzaphgshbmhazwkexwtimgmhbqikjgkobmsedajizxpnswfuaiqlhloezomnwwpsipfiql\n", - "-2546.580582876775 yijb yaajomlqmgcjshrmsovcfouwfyvaburzaprgshrmhajwkenwtiwgmhrqiktgkormsenajipxpncwfuqiqlrloepomngwpsypfial\n", - "-2724.000403295172 yhjb ybajollqmhcjsgrmspvcfnuwfzvabtrzaqrgsgrmhbjwkdnwtjwgmgrqiltgknrmsfnajhpxpocwftqiqmrlodpomogwprypfjal\n", - "-2737.467637308127 yhob ybvjolqqmhxjsgwmspqcfnzwfzqabtwzaqmgsgwmhbewkdswtjrgmgwqilogknwmsfiajhuxpoxwftviqmmloduomobwprdpfjvl\n", - "-2721.376471693373 jhob nbvjzlqqbhxjdgwmhpqcqnzwuzqamtwzpqmgdgwmwbewvdswijrgxgwqxlogvnwmhfiauhuxeoxwqtvifmmlzduobobwardpujvl\n", - "-2701.3634558708513 jhou nbvqzlqjbhxqdgwfhpqjqnzpuzqhmtwspqmndgwfwbedvdspijrnxgwjxlonvnwfhfihuhuqeoxdqtvbfmmszduhbobdardiujvs\n", - "-2677.175645922559 jhog nbvezlqvbhxedgwrhpqxqnzbuzqvmtwepqmbdgwrwbervdsbijrbxgwvxlobvnwrhfivuhuceoxrqtvnfmmgzdutbobrarduujvg\n", - "-2617.403350085435 vhog bbvellqvphxepgwrvpqxcnzbizqvytwedqmbpgwrkberhdsbwjrbjgwvllobhnwrvfivghucsoxrctvntmmgldutpobrmrduijvg\n", - "-2680.4169450077684 lhog lbveblqvzhxefgwrfpqxsnzbszqvotwenqmbfgwruberxdsbgjrbzgwvvlobxnwrffivwhuccoxrstvndmmgbdutzobrcrdusjvg\n", - "-2668.8468583019176 lcog lgvebgqvzmxefbwrfuqxsizbseqvoowenvmbfbwrugerxysbgorbzbwvvqobxiwrfkivwcucctxrsovndrmgbyutztbrcmdusovg\n", - "-2647.926823939407 ucog cgvekgqvqmxeobwrwuqxbizbjeqvxoweevmbobwrlgergysbxorbibwvmqobgiwrwkivfcucttxrbovnurmgkyutqtbrlmdujovg\n", - "-2647.926823939407 ucog cgvekgqvqmxeobwrwuqxbizbjeqvxoweevmbobwrlgergysbxorbibwvmqobgiwrwkivfcucttxrbovnurmgkyutqtbrlmdujovg\n", - "-2649.810217772146 ujog czveknqvqfxeoiwrwnqxbpzbjxqvxvweeomboiwrlzergfsbxhrbiiwvmjobgpwrwdivfjuctmxrbvvnukmgkfutqmbrltdujhvg\n", - "-2679.351804147248 ujos czvsknqhqfxsoiwdwnqlbpznjxqjxvwqeompoiwdlzefgfsnxhrpiiwhmjopgpwdwdijfjuotmxfbvvzukmukfufqmbfltdgjhvu\n", - "-2709.380510913259 ujqs cztsknshqfvsoiydwnolbpbnjxojxvyqeokpoiydlzcfgfunxhppiiyhmjmpgpydwdgjfjwotmvfbvxzukkukfwfqmzfltfgjhtu\n", - "-2676.1824454007965 ujqj cztbknsyqfvboiyuwnoubpbejxosxvyheokyoiyulzcogfuexhpyiiyymjmygpyuwdgsfjwftmvobvxqukkdkfwwqmzoltfxjhtd\n", - "-2753.681480014757 ujqc cztiknsrqfvioiynwnobbpbxjxozxvyaeokfoiynlzcvgfuxxhpfiiyrmjmfgpynwdgzfjwytmvvbvxjukkkkfwpqmzvltfqjhtk\n", - "-2730.5518712211233 ujqr czttknsgqfvtoiycwnombpbmjxokxvypeokqoiyclzcggfumxhpqiiygmjmqgpycwdgkfjwntmvgbvxyukkvkfweqmzgltffjhtv\n", - "-2730.5518712211233 ujqr czttknsgqfvtoiycwnombpbmjxokxvypeokqoiyclzcggfumxhpqiiygmjmqgpycwdgkfjwntmvgbvxyukkvkfweqmzgltffjhtv\n", - "-2724.6494727210647 wjqr azttmnsgofvtqiycunomdpbmhxokzvypcokqqiycjzcgifumvhpqkiygkjmqipycudgkhjwnrmvgdvxyskkvmfweomzgntffhhtv\n", - "-2683.6797340057915 wjbr azitmndgofktqijcundmdpmmhxdkzvjpcozqqijcjzrgiffmvheqkijgkjbqipjcudvkhjhnrmkgdviyskzvmfheomogntqfhhiv\n", - "-2705.368037038367 wlbr axitmpdgodktqkjculdmdrmmhvdkzxjpcmzqqkjcjxrgihfmvfeqkkjgkhbqirjcubvkhlhnrkkgdxiysizvmhheokognvqfhfiv\n", - "-2741.9288264805714 elbr sxitupdggdktykjcmldmlrmmzvdkhxjpumzqykjcbxrgqhfmnfeqskjgchbqqrjcmbvkplhnjkkglxiykizvuhhegkogvvqfzfiv\n", - "-2701.481411161923 elbz sxilupdogdklykjkmldelrmuzvdchxjxumziykjkbxryqhfunfeiskjochbiqrjkmbvcplhvjkkylxigkiznuhhmgkoyvvqnzfin\n", - "-2716.889712827361 erbz sriluvdogxklyqjkmfdelxmuzpdchdjxugziyqjkbrryqnfunzeisqjocbbiqxjkmvvcprhvjekyldigkcznunhmgeoyvbqnzzin\n", - "-2703.1744154804983 eraz srjluvcogxllyqikmfeelxluzpechdixugaiyqikbrsyqneunzfisqiocbciqxikmvwcprgvjelyldhgkcanungmgepyvbpnzzjn\n", - "-2752.392944715921 enaz svjlurcogbllymikmjeeltluztechzixukaiymikbvsyqjeundfismiocfciqtikmzwcpngvjilylzhgkganujgmgipyvxpnzdjn\n", - "-2703.1744154804983 eraz srjluvcogxllyqikmfeelxluzpechdixugaiyqikbrsyqneunzfisqiocbciqxikmvwcprgvjelyldhgkcanungmgepyvbpnzzjn\n", - "-2704.9628861080855 eraa srjkuvcpgxlkyqilmfedlxlvzpebhdiyugahyqilbrsxqnevnzfhsqipcbchqxilmvwbprgwjelxldhhkcamungngepxvbpozzjm\n", - "-2708.8884229260884 craa urjksvcpixlkwqilofedjxlvbpebfdiywgahwqildrsxonevpzfhqqipebchoxilovwbnrgwlelxjdhhmcamsngniepxtbpobzjm\n", - "-2737.5674941474135 crad urjhsvcsixlhwqioofeajxlybpeyfdibwgaewqiodrsuoneypzfeqqisebceoxioovwynrgzlelujdhkmcajsngqieputbprbzjj\n", - "-2682.076553923267 ctad upjhsxcsivlhwsioodeajzlybneyffibweaewsiodpsuopeypxfeqsisezceoziootwyntgzlclujfhkmaajspgqicputdprbxjj\n", - "-2486.0503532227535 ktad mpjhaxcsavlhesiogdearzlytneynfiboeaeesiovpsuwpeyhxfeysiswzcewziogtwyvtgzdclurfhkeaajapgqacpubdprtxjj\n", - "-2486.0503532227535 ktad mpjhaxcsavlhesiogdearzlytneynfiboeaeesiovpsuwpeyhxfeysiswzcewziogtwyvtgzdclurfhkeaajapgqacpubdprtxjj\n", - "-2499.9038187293627 kbad mhjhafcsanlheaiogvearhlytfeynnibowaeeaiovhsuwxeyhpfeyaiswrcewhioglwyvbgzdulurnhkesajaxgqaupublprtpjj\n", - "-2490.062011216121 kxad mljhabcsarlhewiogzeardlytjeynjiboaaeewiovlsuwteyhtfeywiswvcewdiogpwyvxgzdylurjhkewajatgqaypubhprttjj\n", - "-2651.5042841564855 uxad cljhkbcsqrlhowiowzeabdlyjjeyxjibeaaeowiollsugteyxtfeiwismvcegdiowpwyfxgztylubjhkuwajktgqqypulhprjtjj\n", - "-2621.9753362629244 uxaf cljfkbcuqrlfowiqwzeybdlajjewxjideaacowiqllssgteaxtfciwiumvccgdiqwpwwfxgbtylsbjhmuwahktgsqypslhptjtjh\n", - "-2651.232004664611 txaf dljfjbcurrlfnwiqxzeyadlakjewwjidfaacnwiqmlssfteaytfchwiunvccfdiqxpwwexgbuylsajhmvwahjtgsrypskhptktjh\n", - "-2704.6526131165297 txak dljajbczrrlanwivxzetadlfkjerwjiifaaxnwivmlsnftefytfxhwiznvcxfdivxpwrexgguylnajhrvwacjtgxrypnkhpyktjc\n", - "-2706.054335656988 exak sljaubczgrlaywivmzetldlfzjerhjiiuaaxywivblsnqtefntfxswizcvcxqdivmpwrpxggjylnljhrkwacutgxgypnvhpyztjc\n", - "-2724.4646116634976 exxk slmaubzzgroaywfvmzhtldifzjhrhjfiuadxywfvblvnqtbfntixswfzcvfxqdfvmpzrpxdgjyonljerkwdcutdxgysnvhmyztmc\n", - "-2711.74219944025 eexk semauizzgkoaydfvmshtlkifzchrhqfiutdxydfvbevnqabfnmixsdfzcofxqkfvmizrpedgjronlqerkpdcuadxgrsnvomyzmmc\n", - "-2686.8769365712674 eefk seeauihzgkgaydnvmsztlkqfzczrhqniutvxydnvbennqajfnmaxsdnzcoxxqknvmirrpelgjrgnlqmrkpvcualxgrknvouyzmec\n", - "-2696.09475827628 eefc seeiuihrgkgiydnnmszblkqxzczzhqnautvfydnnbenvqajxnmafsdnrcoxfqknnmirzpelyjrgvlqmjkpvkualpgrkvvouqzmek\n", - "-2764.723766141835 effc sdeiujhrgjgiyennmrzbllqxzbzzhrnausvfyennbdnvqbjxnlafsenrcnxfqlnnmhrzpflyjqgvlrmjkovkublpgqkvvpuqzlek\n", - "-2825.46422911011 eftc sdqiujvrgjsiyebnmrlbllexzblzhrbaushfyebnbdzvqbxxnlmfsebrcnjfqlbnmhdzpfzyjqsvlrajkohkubzpgqwvvpiqzlqk\n", - "-2778.7231471179052 efzc sdkiujbrgjmiyehnmrfbllkxzbfzhrhausbfyehnbdtvqbdxnlgfsehrcndfqlhnmhxzpffyjqmvlrgjkobkubfpgqqvvpoqzlkk\n", - "-2698.212749780721 efze sdkgujbtgjmgyehpmrfzllkzzbfxhrhcusbdyehpbdttqbdznlgdsehtcnddqlhpmhxxpffajqmtlrglkobiubfrgqqtvposzlki\n", - "-2649.2554933946603 efwe sdngujytgjpgyeepmrizllhzzbixhrecusedyeepbdwtqbaznljdseetcngdqlepmhaxpfcajqptlrdlkoeiubcrgqttvplszlni\n", - "-2647.8537708542026 tfwe ddngjjytrjpgneepxrizalhzkbixwrecfsedneepmdwtfbazyljdheetnngdflepxhaxefcauqptardlvoeijbcrrqttkplsklni\n", - "-2612.694703952459 wfwe adngmjytojpgqeepurizdlhzhbixzreccsedqeepjdwtibazvljdkeetkngdilepuhaxhfcarqptdrdlsoeimbcroqttnplshlni\n", - "-2581.182783101508 zfwe xdngpjytljpgteeprrizglhzebixcreczsedteepgdwtlbazsljdneethngdlleprhaxkfcaoqptgrdlpoeipbcrlqttqplselni\n", - "-2569.8189333707073 zfwx xdnnpjymljpnteeirrigglhsebiecrevzsekteeigdwalbassljkneemhngklleirhaekfctoqpagrdepoeppbcklqtaqpllelnp\n", - "-2516.953096517283 zmwx xwnnpqymlcpntleirkiggshseuiecyevzlektleigwwaliassejknlemhggklseiraaekmctojpagydepheppickljtaqwlleenp\n", - "-2562.618782368393 zqwx xsnnpuymlypntpeirgiggwhseqieccevzhektpeigswalmassajknpemhcgklweirwaekqctofpagcdepdeppmcklftaqalleanp\n", - "-2633.0997914304517 zqux xspnpuwmlyrntpcirgkggwfseqkecccvzhgktpcigsyalmyssalknpcmhciklwcirwcekqatofragcbepdgppmaklfvaqajleapp\n", - "-2571.6709345672125 zeux xepnpiwmlkrntdcirskggkfseckecqcvztgktdcigeyalayssmlkndcmhoiklkciricekeatorragqbeppgppaaklrvaqojlempp\n", - "-2642.855154810278 yeux yepnoiwmmkrnsdcisskgfkfsfckebqcvatgksdciheyakaystmlkmdcmioikkkcisicejeatprrafqbeqpgpoaakmrvapojlfmpp\n", - "-2613.7870080206803 yeax yejnoicmmklnsdiissegfklsfceebqivataksdiihesakaestmfkmdimiockkkiisiwejegtprlafqheqpapoagkmrpapoplfmjp\n", - "-2559.370133213692 deax tejnticmhklnxdiinsegkklsaceegqivvtakxdiicesapaesomfkrdimdockpkiiniweoegtkrlakqhelpaptagkhrpauoplamjp\n", - "-2651.244380281674 deac tejiticrhklixdinnsebkklxacezgqiavtafxdincesvpaexomffrdirdocfpkinniwzoegykrlvkqhjlpaktagphrpvuopqamjk\n", - "-2690.3679198399764 dyac tkjitccrhqlixxinnyebkelxaiezgkiavzafxxincksvpuexosffrxirducfpeinnowzoygykxlvkkhjlvaktugphxpvuipqasjk\n", - "-2655.5494621331295 dysc tkritcurhqtixxannymbkedxaimzgkaavzifxxanckavpuwxosnfrxardukfpeannoezoyyykxtvkkzjlviktuyphxxvuihqasrk\n", - "-2710.780363808211 cysc ukriscuriqtiwxanoymbjedxbimzfkaawzifwxandkavouwxpsnfqxareukfoeanooeznyyylxtvjkzjmviksuypixxvtihqbsrk\n", - "-2737.9318093152583 cyso ukrwscudiqtwwxazoympjedjbimnfkamwzitwxazdkajouwjpsntqxadeuktoeazooennyyklxtjjkzvmviysuybixxjtihcbsry\n", - "-2760.6792747952404 cyeo ukfwscgdiqhwwxmzoyapjepjbianfkmmwzwtwxmzdkojouijpsbtqxmdeuytoemzoosnnykklxhjjklvmvwysukbixljtitcbsfy\n", - "-2744.1199549734274 cbeo uhfwsfgdinhwwamzovapjhpjbfanfnmmwwwtwamzdhojoxijppbtqamderytohmzolsnnbkkluhjjnlvmswysxkbiuljtltcbpfy\n", - "-2744.1199549734274 cbeo uhfwsfgdinhwwamzovapjhpjbfanfnmmwwwtwamzdhojoxijppbtqamderytohmzolsnnbkkluhjjnlvmswysxkbiuljtltcbpfy\n", - "-2790.184743102492 cfeo udfwsjgdijhwwemzorapjlpjbbanfrmmwswtwemzddojobijplbtqemdenytolmzohsnnfkklqhjjrlvmowysbkbiqljtptcblfy\n", - "-2826.827343432751 ffeo rdfwvjgdfjhwzemzlrapmlpjybanirmmtswtzemzadojrbijmlbttemdbnytrlmzlhsnqfkkiqhjmrlvjowyvbkbfqljwptcylfy\n", - "-2790.184743102492 cfeo udfwsjgdijhwwemzorapjlpjbbanfrmmwswtwemzddojobijplbtqemdenytolmzohsnnfkklqhjjrlvmowysbkbiqljtptcblfy\n", - "-2737.318906249066 cmeo uwfwsqgdichwwlmzokapjspjbuanfymmwlwtwlmzdwojoiijpebtqlmdegytosmzoasnnmkkljhjjylvmhwysikbijljtwtcbefy\n", - "-2734.2781474601857 cxeo ulfwsbgdirhwwwmzozapjdpjbjanfjmmwawtwwmzdlojotijptbtqwmdevytodmzopsnnxkklyhjjjlvmwwystkbiyljthtcbtfy\n", - "-2676.4968465917623 cxeh ulfdsbgwirhdwwmsozawjdpcbjaufjmfwawawwmsdloqoticptbaqwmwevyaodmsopsunxkdlyhqjjlomwwfstkuiylqthtvbtff\n", - "-2523.146396579246 cieh uafdsmgwighdwhmsooawjopcbyaufumfwpwawhmsdaoqoeicpibaqhmwekyaoomsoesunikdlnhqjulomlwfsekuinlqtstvbiff\n", - "-2548.9326861529703 cibh uaidsmdwigkdwhjsoodwjomcbydufujfwpzawhjsdarqoefcpieaqhjwekbaoojsoevunihdlnkqjuiomlzfsehuinoqtsqvbiif\n", - "-2508.4463598927646 wibh aaidmmdwogkdqhjsuodwdomchyduzujfcpzaqhjsjarqiefcvieakhjwkkbaiojsuevuhihdrnkqduioslzfmehuonoqnsqvhiif\n", - "-2502.9973318281895 wikh aazdmmmwogbdqhssuouwdovchyuuzusfcpqaqhssjaiqieocvivakhswkksaiossuemuhiqdrnbqduroslqfmequonfqnszvhizf\n", - "-2548.5093884647085 hikh pazdxmmwdgbdbhssjouwoovcwyuukusfrpqabhssyaiqteockivavhswzksatossjemusiqdgnbqourohlqfxequdnfqyszvwizf\n", - "-2529.8197646907593 likh lazdbmmwzgbdfhssfouwsovcsyuuousfnpqafhssuaiqxeocgivazhswvksaxossfemuwiqdcnbqsurodlqfbequznfqcszvsizf\n", - "-2338.409094827466 likt lazrbmmizgbrfhsefouksovosyuiousrnpqofhseuaiexeoogivozhsivksoxosefemiwiqpcnbesuradlqtbeqgznfecszhsizt\n", - "-2338.409094827466 likt lazrbmmizgbrfhsefouksovosyuiousrnpqofhseuaiexeoogivozhsivksoxosefemiwiqpcnbesuradlqtbeqgznfecszhsizt\n", - "-2363.466684894119 liit labrbmkizgdrfhqefowksotosywiouqrnpsofhqeuakexemogixozhqivkuoxoqefeoiwiopcndesupadlstbeogznhecsxhsibt\n", - "-2314.3450446458055 giit qabrwmkiegdrahqekowknotoxywijuqrspsoahqezakesemolixouhqiakuosoqekeoiriophndenupailstweogenhexsxhxibt\n", - "-2292.2102805800337 gijt qaarwmliegcrahrekovknouoxyvijurrsproahrezajesenoliwouhriaktosorekeniripphncenuqailrtwepgengexsyhxiat\n", - "-2320.411886465837 uijt caarkmliqgcrohrewovkbouojyvixurreproohrelajegenoxiwoihrimktogorewenifipptncebuqaulrtkepgqngelsyhjiat\n", - "-2306.2440099235273 rijt faarhmlitgcrlhrezovkyouomyviuurrhprolhreoajedenoaiwofhripktodorezenicippwnceyuqaxlrthepgtngeisyhmiat\n", - "-2485.995587271097 ryjt fkarhclitqcrlxrezyvkyeuomiviukrrhzrolxreokjedunoaswofxriputoderezonicyppwxceykqaxvrthupgtxgeiiyhmsat\n", - "-2471.9618579276034 gyjt qkarwclieqcraxrekyvkneuoxivijkrrszroaxrezkjesunolswouxriautoserekonirypphxcenkqaivrtwupgexgexiyhxsat\n", - "-2489.8409094340295 gyut qkprwcwieqrraxcekykknefoxikijkcrszgoaxcezkyesuyolslouxciauiosecekociryaphxrenkbaivgtwuagexvexijhxspt\n", - "-2458.65464375571 gyht qkcrwcjieqeraxpekyxknesoxixijkprsztoaxpezklesulolsyouxpiauvosepekopirynphxeenkoaivttwungexiexiwhxsct\n", - "-2480.953851141456 wyht akcrmcjioqerqxpeuyxkdesohixizkprcztoqxpejkleiulovsyokxpikuvoiepeuopihynprxeedkoasvttmungoxieniwhhsct\n", - "-2555.2505352726043 wnht avcrmrjioberqmpeujxkdtsohtxizzprcktoqmpejvleijlovdyokmpikfvoitpeuzpihnnprieedzoasgttmjngoiienxwhhdct\n", - "-2582.0729681351736 lnht lvcrbrjizberfmpefjxkstsostxiozprnktofmpeuvlexjlogdyozmpivfvoxtpefzpiwnnpcieeszoadgttbjngziiecxwhsdct\n", - "-2597.9063843707604 lnbt lvirbrdizbkrfmjefjdkstmostdiozjrnkzofmjeuvrexjfogdeozmjivfboxtjefzviwnhpcikesziadgztbjhgzioecxqhsdit\n", - "-2574.4038834043113 lnvt lvorbrxizbqrfmdefjjkstgostjiozdrnkfofmdeuvxexjzogdkozmdivfhoxtdefzbiwnbpciqeszcadgftbjbgziuecxkhsdot\n", - "-2746.7896631006756 lnvu lvoqbrxjzbqqfmdffjjjstgpstjhozdsnkfnfmdfuvxdxjzpgdknzmdjvfhnxtdffzbhwnbqciqdszcbdgfsbjbhziudcxkisdos\n", - "-2591.390602997313 lnlu lvyqbrnjzbaqfmtffjtjstwpstthoztsnkpnfmtfuvhdxjppgdunzmtjvfrnxttffzlhwnrqciadszsbdgpsbjrhziedcxaisdys\n", - "-2611.4036188198343 lnlb lvyjbrnqzbajfmtmfjtcstwwsttaoztznkpgfmtmuvhwxjpwgdugzmtqvfrgxttmfzlawnrxciawszsidgplbjroziewcxapsdyl\n", - "-2611.4036188198343 lnlb lvyjbrnqzbajfmtmfjtcstwwsttaoztznkpgfmtmuvhwxjpwgdugzmtqvfrgxttmfzlawnrxciawszsidgplbjroziewcxapsdyl\n", - "-2548.390023897501 vnlb bvyjlrnqpbajpmtmvjtcctwwittayztzdkpgpmtmkvhwhjpwwdugjmtqlfrghttmvzlagnrxsiawczsitgplljropiewmxapidyl\n", - "-2483.763192996641 vllb bxyjlpnqpdajpktmvltccrwwivtayxtzdmpgpktmkxhwhhpwwfugjktqlhrghrtmvblaglrxskawcxsitipllhropkewmvapifyl\n", - "-2540.556368209473 vllo bxywlpndpdawpktzvltpcrwjivtnyxtmdmptpktzkxhjhhpjwfutjktdlhrthrtzvblnglrkskajcxsvtipylhrbpkejmvacifyy\n", - "-2635.923247241709 pllo hxywfpndvdawjktzbltpwrwjovtnsxtmjmptjktzqxhjbhpjcfutdktdrhrtbrtzbblnalrkykajwxsvzipyfhrbvkejgvacofyy\n", - "-2589.3800453192375 pllv hxypfpnkvdapjktgbltiwrwqovtgsxttjmpmjktgqxhcbhpqcfumdktkrhrmbrtgbblgalrrykacwxscziprfhrivkecgvajofyr\n", - "-2498.6924074958147 zllv xxypppnkldaptktgrltigrwqevtgcxttzmpmtktggxhclhpqsfumnktkhhrmlrtgrblgklrrokacgxscpiprphrilkecqvajefyr\n", - "-2718.164147324565 zltv xxqpppvkldsptkbgrlligreqevlgcxbtzmhmtkbggxzclhxqsfmmnkbkhhjmlrbgrbdgklzrokscgxacpihrphzilkwcqvijefqr\n", - "-2677.5939685656235 zlbv xxipppdkldkptkjgrldigrmqevdgcxjtzmzmtkjggxrclhfqsfemnkjkhhbmlrjgrbvgklhrokkcgxicpizrphhilkocqvqjefir\n", - "-2618.066827593659 zlbi xxicppdxldkctkjtrldvgrmdevdtcxjgzmzztkjtgxrplhfdsfeznkjxhhbzlrjtrbvtklheokkpgxippizephhvlkopqvqwefie\n", - "-2637.9024426706214 zfbi xdicpjdxljkctejtrrdvglmdebdtcrjgzszztejtgdrplbfdsleznejxhnbzlljtrhvtkfheoqkpgrippozepbhvlqopqpqwelie\n", - "-2709.90068978178 cfbi udicsjdxijkcwejtordvjlmdbbdtfrjgwszzwejtddrpobfdplezqejxenbzoljtohvtnfhelqkpjripmozesbhviqoptpqwblie\n", - "-2709.90068978178 cfbi udicsjdxijkcwejtordvjlmdbbdtfrjgwszzwejtddrpobfdplezqejxenbzoljtohvtnfhelqkpjripmozesbhviqoptpqwblie\n", - "-2707.234133237628 czbi ujicsddxipkcwyjtoxdvjfmdbhdtfljgwyzzwyjtdjrpovfdprezqyjxetbzofjtonvtnzhelwkpjlipmuzesvhviwoptjqwbrie\n", - "-2701.9068738791657 tzbi djicjddxrpkcnyjtxxdvafmdkhdtwljgfyzznyjtmjrpfvfdyrezhyjxntbzffjtxnvtezheuwkpalipvuzejvhvrwopkjqwkrie\n", - "-2707.025328637374 tzbp djivjdderpkvnyjaxxdoafmkkhdmwljnfyzsnyjamjrifvfkyreshyjentbsffjaxnvmezhluwkialiwvuzxjvhcrwoikjqdkrix\n", - "-2641.062877315972 tebp deivjiderkkvndjaxsdoakmkkcdmwqjnftzsndjamerifafkymeshdjenobsfkjaxivmeehlurkiaqiwvpzxjahcrroikoqdkmix\n", - "-2663.627097052462 tbbp dhivjfdernkvnajaxvdoahmkkfdmwnjnfwzsnajamhrifxfkypeshajenrbsfhjaxlvmebhluukianiwvszxjxhcruoiklqdkpix\n", - "-2670.7184382918495 tbdp dhgvjffernivnalaxvboahokkfbmwnlnfwxsnalamhpifxhkypcshalenrzsfhlaxltmebjluuiiankwvsxxjxjcrumiklsdkpgx\n", - "-2643.456812843128 tbfp dhevjfherngvnanaxvzoahqkkfzmwnnnfwvsnanamhnifxjkypashanenrxsfhnaxlrmeblluugianmwvsvxjxlcrukikludkpex\n", - "-2640.3324799847223 tbfm dheyjfhbrngynanxxvzrahqhkfzpwnnkfwvvnanxmhnlfxjhypavhanbnrxvfhnxxlrpebliuuglanmtvsvajxlzruklkluakpea\n", - "-2655.468701987618 tbfa dhekjfhprngknanlxvzdahqvkfzbwnnyfwvhnanlmhnxfxjvypahhanpnrxhfhnlxlrbeblwuugxanmhvsvmjxlnrukxkluokpem\n", - "-2663.4594198727773 tofa duekjshpragknnnlxizdauqvkszbwanyfjvhnnnlmunxfkjvycahhnnpnexhfunlxyrbeolwuhgxaamhvfvmjklnrhkxkyuokcem\n", - "-2634.2027514710917 uofa cuekkshpqagkonnlwizdbuqvjszbxanyejvhonnllunxgkjvxcahinnpmexhgunlwyrbfolwthgxbamhufvmkklnqhkxlyuojcem\n", - "-2679.735751287701 uofw cueokshlqagoonnhwizhbuqrjszfxanuejvlonnhlunbgkjrxcalinnlmexlgunhwyrffolsthgbbamdufvqkkljqhkblyukjceq\n", - "-2682.2180765423986 iofw oueoyshlcagocnnhiizhpuqrvszflanuqjvlcnnhxunbukjrjcalwnnlyexluunhiyrftolsfhgbpamdgfvqykljchkbzyukvceq\n", - "-2720.292146786302 iffw odeoyjhlcjgocenhirzhplqrvbzflrnuqsvlcenhxdnbubjrjlalwenlynxlulnhihrftflsfqgbprmdgovqybljcqkbzpukvleq\n", - "-2720.292146786302 iffw odeoyjhlcjgocenhirzhplqrvbzflrnuqsvlcenhxdnbubjrjlalwenlynxlulnhihrftflsfqgbprmdgovqybljcqkbzpukvleq\n", - "-2721.0625704917043 iffl odezyjhacjgzcenwirzsplqgvbzqlrnjqsvwcenwxdnmubjgjlawwenaynxwulnwihrqtflhfqgmprmsgovbyblycqkmzpuzvleb\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2720.292146786302 iffw odeoyjhlcjgocenhirzhplqrvbzflrnuqsvlcenhxdnbubjrjlalwenlynxlulnhihrftflsfqgbprmdgovqybljcqkbzpukvleq\n", - "-2662.7051449777864 iffg odeeyjhvcjgecenrirzxplqbvbzvlrneqsvbcenrxdnrubjbjlabwenvynxbulnrihrvtflcfqgrprmngovgybltcqkrzpuuvleg\n", - "-2514.507175229715 ifft oderyjhicjgrceneirzkplqovbzilrnrqsvocenexdneubjojlaoweniynxoulneihritflpfqgeprmagovtyblgcqkezpuhvlet\n", - "-2551.010094340877 ifct odhryjeicjjrcekeirckplnovbcilrkrqsyocekexdqeubgojldowekiynaoulkeihuitfipfqjeprjagoytybigcqnezprhvlht\n", - "-2551.010094340877 ifct odhryjeicjjrcekeirckplnovbcilrkrqsyocekexdqeubgojldowekiynaoulkeihuitfipfqjeprjagoytybigcqnezprhvlht\n", - "-2521.504626033627 iyct okhryceicqjrcxkeiyckpenovicilkkrqzyocxkexkqeuugojsdowxkiyuaouekeiouityipfxjepkjagvytyuigcxnezirhvsht\n", - "-2481.66949016535 iyvt okorycxicqqrcxdeiyjkpegovijilkdrqzfocxdexkxeuuzojskowxdiyuhouedeiobitybpfxqepkcagvftyubgcxuezikhvsot\n", - "-2469.65104036306 ijvt ozorynxicfqrcideinjkppgovxjilvdrqofocidexzxeufzojhkowidiyjhoupdeidbitjbpfmqepvcagkftyfbgcmueztkhvhot\n", - "-2479.337733236172 ihvt oborylxichqrcgdeipjkpngovzjiltdrqqfocgdexbxeudzojjkowgdiylhoundeifbithbpfoqeptcagmftydbgcouezrkhvjot\n", - "-2528.8350468499743 nhvt jbordlxixhqrhgdedpjkungoqzjiqtdrlqfohgdesbxezdzoejkobgditlhozndedfbiyhbpaoqeutcabmftddbgxoueerkhqjot\n", - "-2476.8554079814735 uhvt cborklxiqhqrogdewpjkbngojzjixtdreqfoogdelbxegdzoxjkoigdimlhogndewfbifhbptoqebtcaumftkdbgqouelrkhjjot\n", - "-2462.6278450888385 ubvt chorkfxiqnqroadewvjkbhgojfjixndrewfooadelhxegxzoxpkoiadimrhoghdewlbifbbptuqebncausftkxbgquuellkhjpot\n", - "-2502.4629809571156 ubct chhrkfeiqnjroakewvckbhnojfcixnkrewyooakelhqegxgoxpdoiakimraoghkewluifbiptujebnjausytkxigqunellrhjpht\n", - "-2662.7149526970948 ubca chhkkfepqnjkoaklwvcdbhnvjfcbxnkyewyhoakllhqxgxgvxpdhiakpmrahghklwlubfbiwtujxbnjhusymkxinqunxllrojphm\n", - "-2665.9908797973444 ubia chbkkfkpqndkoaqlwvwdbhtvjfwbxnqyewshoaqllhkxgxmvxpxhiaqpmruhghqlwlobfbowtudxbnphussmkxonquhxllxojpbm\n", - "-2709.3891113822556 uzia cjbkkdkpqpdkoyqlwxwdbftvjhwbxlqyeyshoyqlljkxgvmvxrxhiyqpmtuhgfqlwnobfzowtwdxblphuusmkvonqwhxljxojrbm\n", - "-2667.295550822434 vzia bjbkldkpppdkpyqlvxwdcftvihwbylqydyshpyqlkjkxhvmvwrxhjyqpltuhhfqlvnobgzowswdxclphtusmlvonpwhxmjxoirbm\n", - "-2652.041869127234 vzra bjskldtpppukpyzlvxndcfcvihnbylzydyjhpyzlkjbxhvvvwrohjyzpltlhhfzlvnfbgzxwswuxclyhtujmlvxnpwyxmjgoirsm\n", - "-2599.153233766648 vzsa bjrklduppptkpyalvxmdcfdvihmbylaydyihpyalkjaxhvwvwrnhjyapltkhhfalvnebgzywswtxclzhtuimlvynpwxxmjhoirrm\n", - "-2611.8119093315145 vzpa bjukldrpppwkpyxlvxpdcfavihpbylxydylhpyxlkjdxhvtvwrqhjyxpltnhhfxlvnhbgzvwswwxclwhtulmlvvnpwaxmjeoirum\n", - "-2685.6397003951724 vzpy bjumldrnppwmpyxjvxpfcfatihpdylxwdyljpyxjkjdzhvttwrqjjyxnltnjhfxjvnhdgzvuswwzclwftulolvvlpwazmjemiruo\n", - "-2643.9587331104217 vzpb bjujldrqppwjpyxmvxpccfawihpaylxzdylgpyxmkjdwhvtwwrqgjyxqltnghfxmvnhagzvxswwwclwitulllvvopwawmjepirul\n", - "-2562.3621466094255 vvpb bnujlzrqptwjpuxmvbpccbawilpayhxzdclgpuxmkndwhrtwwvqgjuxqlxnghbxmvrhagvvxsawwchwitylllrvopaawmfepivul\n", - "-2639.206964813542 vvqb bntjlzsqptvjpuymvboccbbwiloayhyzdckgpuymkncwhruwwvpgjuyqlxmghbymvrgagvwxsavwchxitykllrwopazwmffpivtl\n", - "-2669.0214866711567 ovqb intjezsqwtvjiuymcbocvbbwploarhyzkckgiuymrncwaruwdvpgcuyqsxmgabymcrgazvwxzavwvhxiayklerwowazwfffppvtl\n", - "-2710.55719377505 tvqb dntjjzsqrtvjnuymxbocabbwkloawhyzfckgnuymmncwfruwyvpghuyqnxmgfbymxrgaevwxuavwahxivykljrworazwkffpkvtl\n", - "-2625.1353059221497 tvyb dnljjzaqrtnjnugmxbgcabjwklgawhgzfccgnugmmnuwfrcwyvhghugqnxegfbgmxryaevexuanwahfivycljreorarwkfnpkvll\n", - "-2654.7770356279348 tvyc dnlijzarrtninugnxbgbabjxklgzwhgafccfnugnmnuvfrcxyvhfhugrnxeffbgnxryzeveyuanvahfjvyckjreprarvkfnqkvlk\n", - "-2644.1010251462376 tvwc dnnijzyrrtpinuenxbibabhxklizwheafcefnuenmnwvfraxyvjfhuernxgffbenxrazevcyuapvahdjvyekjrcpratvkflqkvnk\n", - "-2703.58406507244 tvrc dnsijztrrtuinuznxbnbabcxklnzwhzafcjfnuznmnbvfrvxyvofhuzrnxlffbznxrfzevxyuauvahyjvyjkjrxprayvkfgqkvsk\n", - "-2696.70298270187 tvjc dnaijzlrrtcinurnxbvbabuxklvzwhrafcrfnurnmnjvfrnxyvwfhurrnxtffbrnxrnzevpyuacvahqjvyrkjrppragvkfyqkvak\n", - "-2667.061252996084 tvjb dnajjzlqrtcjnurmxbvcabuwklvawhrzfcrgnurmmnjwfrnwyvwghurqnxtgfbrmxrnaevpxuacwahqivyrljrporagwkfypkval\n", - "-2689.196017061854 tvib dnbjjzkqrtdjnuqmxbwcabtwklwawhqzfcsgnuqmmnkwfrmwyvxghuqqnxugfbqmxroaevoxuadwahpivysljroorahwkfxpkvbl\n", - "-2702.5821930995553 tviw dnbojzklrtdonuqhxbwhabtrklwfwhqufcslnuqhmnkbfrmryvxlhuqlnxulfbqhxrofevosuadbahpdvysqjrojrahbkfxkkvbq\n", - "-2702.5821930995553 tviw dnbojzklrtdonuqhxbwhabtrklwfwhqufcslnuqhmnkbfrmryvxlhuqlnxulfbqhxrofevosuadbahpdvysqjrojrahbkfxkkvbq\n", - "-2784.178779600551 tziw djbojdklrpdonyqhxxwhaftrkhwfwlqufyslnyqhmjkbfvmryrxlhyqlntulffqhxnofezosuwdbalpdvusqjvojrwhbkjxkkrbq\n", - "-2764.5702175984743 tzbw djiojddlrpkonyjhxxdhafmrkhdfwljufyzlnyjhmjrbfvfryrelhyjlntblffjhxnvfezhsuwkbalidvuzqjvhjrwobkjqkkriq\n", - "-2744.3999333891384 tzfw djeojdhlrpgonynhxxzhafqrkhzfwlnufyvlnynhmjnbfvjryralhynlntxlffnhxnrfezlsuwgbalmdvuvqjvljrwkbkjukkreq\n", - "-2702.864226285245 ozfw ijeoedhlwpgoiynhcxzhvfqrphzfrlnukyvliynhrjnbavjrdralcynlstxlafnhcnrfzzlszwgbvlmdauvqevljwwkbfjukpreq\n", - "-2744.3999333891384 tzfw djeojdhlrpgonynhxxzhafqrkhzfwlnufyvlnynhmjnbfvjryralhynlntxlffnhxnrfezlsuwgbalmdvuvqjvljrwkbkjukkreq\n", - "-2732.9073189609576 mzfw kjeocdhlypgogynhexzhtfqrrhzfplnumyvlgynhtjnbyvjrfralaynlutxlyfnhenrfxzlsbwgbtlmdcuvqcvljywkbdjukrreq\n", - "-2686.941659101646 gzfw qjeowdhlepgoaynhkxzhnfqrxhzfjlnusyvlaynhzjnbsvjrlraluynlatxlsfnhknrfrzlshwgbnlmdiuvqwvljewkbxjukxreq\n", - "-2687.712082807049 gzfl qjezwdhaepgzaynwkxzsnfqgxhzqjlnjsyvwaynwzjnmsvjglrawuynaatxwsfnwknrqrzlhhwgmnlmsiuvbwvlyewkmxjuzxreb\n", - "-2755.5233468293136 hzfl pjezxdhadpgzbynwjxzsofqgwhzqklnjryvwbynwyjnmtvjgkrawvynaztxwtfnwjnrqszlhgwgmolmshuvbxvlydwkmyjuzwreb\n", - "-2780.0485113455265 hzrl pjszxdtadpuzbyzwjxnsofcgwhnqklzjryjwbyzwyjbmtvvgkrowvyzaztlwtfzwjnfqszxhgwumolyshujbxvxydwymyjgzwrsb\n", - "-2772.4040325145743 hzrr pjstxdtgdputbyzcjxnmofcmwhnkklzpryjqbyzcyjbgtvvmkroqvyzgztlqtfzcjnfkszxngwugolyyhujvxvxedwygyjgfwrsv\n", - "-2758.5773226741308 hurr postxytgduutbtzcjcnmoacmwmnkkgzprdjqbtzcyobgtqvmkwoqvtzgzylqtazcjsfksuxngbugogyyhzjvxqxedbygyegfwwsv\n", - "-2731.663277116447 hcrr pgstxgtgdmutbbzcjunmoicmwenkkozprvjqbbzcygbgtyvmkooqvbzgzqlqtizcjkfkscxngtugooyyhrjvxyxedtygymgfwosv\n", - "-2709.73235425729 jcrr ngstzgtgbmutdbzchunmqicmuenkmozppvjqdbzcwgbgvyvmiooqxbzgxqlqvizchkfkucxnetugqoyyfrjvzyxebtygamgfuosv\n", - "-2753.13966619957 jfrr ndstzjtgbjutdezchrnmqlcmubnkmrzppsjqdezcwdbgvbvmiloqxezgxnlqvlzchhfkufxnequgqryyfojvzbxebqygapgfulsv\n", - "-2753.13966619957 jfrr ndstzjtgbjutdezchrnmqlcmubnkmrzppsjqdezcwdbgvbvmiloqxezgxnlqvlzchhfkufxnequgqryyfojvzbxebqygapgfulsv\n", - "-2745.9395151972553 jqrr nsstzutgbyutdpzchgnmqwcmuqnkmczpphjqdpzcwsbgvmvmiaoqxpzgxclqvwzchwfkuqxnefugqcyyfdjvzmxebfygaagfuasv\n", - "-2668.8765231544226 jvrr nnstzztgbtutduzchbnmqbcmulnkmhzppcjqduzcwnbgvrvmivoqxuzgxxlqvbzchrfkuvxneaugqhyyfyjvzrxebaygafgfuvsv\n", - "-2658.3507396142804 jvzr nnktzzbgbtmtduhchbfmqbkmulfkmhhppcbqduhcwntgvrdmivgqxuhgxxdqvbhchrxkuvfneamgqhgyfybvzrfebaqgafofuvkv\n", - "-2680.2816624734373 hvzr pnktxzbgdtmtbuhcjbfmobkmwlfkkhhprcbqbuhcyntgtrdmkvgqvuhgzxdqtbhcjrxksvfngamgohgyhybvxrfedaqgyfofwvkv\n", - "-2640.6720043369783 uvzr cnktkzbgqtmtouhcwbfmbbkmjlfkxhhpecbqouhclntggrdmxvgqiuhgmxdqgbhcwrxkfvfntamgbhgyuybvkrfeqaqglfofjvkv\n", - "-2711.8985324273835 fvzr rnktvzbgftmtzuhclbfmmbkmylfkihhptcbqzuhcantgrrdmmvgqtuhgbxdqrbhclrxkqvfniamgmhgyjybvvrfefaqgwfofyvkv\n", - "-2779.6684090879376 fuzr roktvybgfumtzthclcfmmakmymfkighptdbqzthcaotgrqdmmwgqtthgbydqrahclsxkqufnibmgmggyjzbvvqfefbqgweofywkv\n", - "-2726.1206162748326 juzr noktzybgbumtdthchcfmqakmumfkmghppdbqdthcwotgvqdmiwgqxthgxydqvahchsxkuufnebmgqggyfzbvzqfebbqgaeofuwkv\n", - "-2726.842491443524 jukr noztzymgbubtdtschcumqavmumukmgsppdqqdtscwoigvqomiwvqxtsgxysqvaschsmkuuqnebbgqgryfzqvzqqebbfgaezfuwzv\n", - "-2667.0701956063986 vukr boztlymgpubtptscvcumcavmimukygspddqqptsckoighqomwwvqjtsglysqhascvsmkguqnsbbgcgrytzqvlqqepbfgmezfiwzv\n", - "-2671.7494368152115 zukr xoztpymglubtttscrcumgavmemukcgspzdqqttscgoiglqomswvqntsghysqlascrsmkkuqnobbgggrypzqvpqqelbfgqezfewzv\n", - "-2619.6136953342534 zekr xeztpimglkbttdscrsumgkvmecukcqspztqqtdscgeiglaomsmvqndsghosqlkscrimkkeqnorbggqryppqvpaqelrfgqozfemzv\n", - "-2665.6329021577667 zetr xeqtpivglksttdbcrslmgkemeclkcqbpzthqtdbcgezglaxmsmmqndbghojqlkbcridkkeznorsggqaypphvpazelrwgqoifemqv\n", - "-2611.8377354638133 zetm xeqypivblksytdbxrslrgkeheclpcqbkzthvtdbxgezllaxhsmmvndbbhojvlkbxridpkeziorslgqatpphapazzlrwlqoiaemqa\n", - "-2626.1240807944723 zetf xeqfpivulksftdbqrslygkeaeclwcqbdzthctdbqgezslaxasmmcndbuhojclkbqridwkezborssgqampphhpazslrwsqoitemqh\n", - "-2562.051401069082 zevf xeofpixulkqftddqrsjygkgaecjwcqddztfctddqgexslazasmkcndduhohclkdqribwkebborqsgqcmppfhpabslrusqoktemoh\n", - "-2550.8472757494133 zevg xeoepixvlkqetddrrsjxgkgbecjvcqdeztfbtddrgexrlazbsmkbnddvhohblkdrribvkebcorqrgqcnppfgpabtlrurqokuemog\n", - "-2590.6824116176895 zecg xehepievlkjetdkrrscxgknbeccvcqkeztybtdkrgeqrlagbsmdbndkvhoablkkrriuvkeicorjrgqjnppygpaitlrnrqoruemhg\n", - "-2635.9069213997495 zegg xedepiivlkfetdorrsyxgkrbecyvcqoeztubtdorgemrlakbsmzbndovhowblkorriqvkemcorfrgqnnppugpamtlrjrqovuemdg\n", - "-2635.9069213997495 zegg xedepiivlkfetdorrsyxgkrbecyvcqoeztubtdorgemrlakbsmzbndovhowblkorriqvkemcorfrgqnnppugpamtlrjrqovuemdg\n", - "-2560.634479368999 zeag xejepicvlkletdirrsexgklbecevcqieztabtdirgesrlaebsmfbndivhocblkirriwvkegcorlrgqhnppagpagtlrprqopuemjg\n", - "-2591.1894169906473 zoag xujepscvlaletnirriexgulbesevcaiezjabtnirgusrlkebscfbnnivhecbluirrywvkogcohlrgahnpfagpkgtlhprqypuecjg\n", - "-2560.4525651998842 zoyg xulepsavlanetngrrigxgujbesgvcagezjcbtngrguurlkcbschbnngvheeblugrryyvkoecohnrgafnpfcgpketlhrrqynueclg\n", - "-2601.1856384131133 zoyd xulhpsaslanhtngorigagujyesgycagbzjcetngoguuulkcyschenngsheeelugoryyykoezohnugafkpfcjpkeqlhruqynreclj\n", - "-2590.5096279314157 zowd xunhpsyslaphtneoriiaguhyesiycaebzjeetneoguwulkayscjenneshegelueoryaykoczohpugadkpfejpkcqlhtuqylrecnj\n", - "-2649.7749103037 aowd wunhqsyskaphuneoqiiahuhydsiydaebyjeeuneofuwumkayrcjeonesgegemueoqyaylocznhpuhadkofejqkcqkhturylrdcnj\n", - "-2605.9596170794803 aowm wunyqsybkapyunexqiirhuhhdsipdaekyjevunexfuwlmkahrcjvonebgegvmuexqyaplocinhplhadtofeaqkczkhtlryladcna\n", - "-2600.6263753811054 acwm wgnyqgybkmpyubexquirhihhdeipdoekyvevubexfgwlmyahrojvobebgqgvmiexqkaplccintplhodtoreaqyczkttlrmladona\n", - "-2591.1573542404367 bcwm vgnyrgybjmpyvbexpuiriihhceipeoekxvevvbexegwlnyahqojvpbebfqgvniexpkapmccimtpliodtnrearyczjttlsmlacona\n", - "-2668.0821297280254 bcwc vgnirgyrjmpivbenpuibiihxceizeoeaxvefvbenegwvnyaxqojfpberfqgfnienpkazmccymtpviodjnrekrycpjttvsmlqconk\n", - "-2648.690373312601 bcwv vgnprgykjmppvbegpuiiiihqceigeoetxvemvbegegwcnyaqqojmpbekfqgmniegpkagmccrmtpciodcnrerrycijttcsmljconr\n", - "-2624.029392729787 ocwv ignpegykwmppibegcuiivihqpeigroetkvemibegrgwcayaqdojmcbeksqgmaiegckagzccrztpcvodcarereyciwttcfmljponr\n", - "-2611.5301090297603 oxwv ilnpebykwrppiwegcziivdhqpjigrjetkaemiwegrlwcataqdtjmcweksvgmadegcpagzxcrzypcvjdcaweretciwytcfhljptnr\n", - "-2663.0093912605403 orwv irnpevykwxppiqegcfiivxhqppigrdetkgemiqegrrwcanaqdzjmcqeksbgmaxegcvagzrcrzepcvddcacerenciwetcfbljpznr\n", - "-2460.3606224512973 orwt irnrevyiwxpriqeecfikvxhoppiirderkgeoiqeerrweanaodzjocqeisbgoaxeecvaizrcpzepevddaacetencgwetefblhpznt\n", - "-2426.7138656189177 oowt iunresyiwaprineeciikvuhopsiiraerkjeoineeruweakaodcjocneisegoaueecyaizocpzhpevadaafetekcgwhtefylhpcnt\n", - "-2574.9539482144037 oowp iunvesyewapvineaciiovuhkpsimraenkjesinearuwiakakdcjscneesegsaueacyamzoclzhpivadwafexekccwhtifyldpcnx\n", - "-2574.9539482144037 oowp iunvesyewapvineaciiovuhkpsimraenkjesinearuwiakakdcjscneesegsaueacyamzoclzhpivadwafexekccwhtifyldpcnx\n", - "-2594.207028344886 oopp iuuvesrewawvinxacipovuakpspmraxnkjlsinxarudiaktkdcqscnxesensauxacyhmzovlzhwivawwaflxekvcwhaifyedpcux\n", - "-2600.583668547036 wopp auuvmsreoawvqnxauipoduakhspmzaxncjlsqnxajudiiktkvcqsknxekensiuxauyhmhovlrhwidawwsflxmkvcohainyedhcux\n", - "-2641.1537266955243 woxp aumvmszeoaovqnfauihoduikhshmzafncjdsqnfajuviikbkvcisknfekefsiufauyzmhodlrhoidaewsfdxmkdcohsinymdhcmx\n", - "-2469.9707512846026 wixp aamvmmzeogovqhfauohodoikhyhmzufncpdsqhfajaviiebkviiskhfekkfsiofauezmhidlrnoiduewsldxmedconsinsmdhimx\n", - "-2459.104869391693 wizp aakvmmbeogmvqhhauofodokkhyfmzuhncpbsqhhajatiiedkvigskhhekkdsiohauexmhiflrnmidugwslbxmefconqinsodhikx\n", - "-2286.374211555154 wilp aayvmmneogavqhtauotodowkhytmzutncppsqhtajahiiepkviuskhtekkrsiotauelmhirlrnaiduswslpxmerconeinsadhiyx\n", - "-2281.255756796944 wili aaycmmnxogacqhttuotvdowdhyttzutgcppzqhttjahpiepdviuzkhtxkkrziottuelthirernapduspslpemervonepnsawhiye\n", - "-2470.6771873747985 wlli axycmpnxodacqkttultvdrwdhvttzxtgcmpzqkttjxhpihpdvfuzkktxkhrzirttublthlrerkapdxspsipemhrvokepnvawhfye\n", - "-2434.6062068094566 wxli alycmbnxoracqwttuztvddwdhjttzjtgcapzqwttjlhpitpdvtuzkwtxkvrzidttuplthxreryapdjspswpemtrvoyepnhawhtye\n", - "-2428.2295666073087 oxli ilycebnxwraciwttcztvvdwdpjttrjtgkapziwttrlhpatpddtuzcwtxsvrzadttcpltzxrezyapvjspawpeetrvwyepfhawptye\n", - "-2433.305908518103 oxlg ilyeebnvwraeiwtrcztxvdwbpjtvrjtekapbiwtrrlhratpbdtubcwtvsvrbadtrcplvzxrczyarvjsnawpgetrtwyerfhauptyg\n", - "-2450.4984099615945 oslg iqyeewnvwwaeirtrcetxvywbpotvretekfpbirtrrqhraopbdyubcrtvsarbaytrculvzsrczdarvesnabpgeortwderfcaupyyg\n", - "-2605.897470064952 osvg iqoeewxvwwqeirdrcejxvygbpojvredekffbirdrrqxraozbdykbcrdvsahbaydrcubvzsbczdqrvecnabfgeobtwdurfckupyog\n", - "-2612.274110267101 wsvg aqoemwxvowqeqrdruejxdygbhojvzedecffbqrdrjqxriozbvykbkrdvkahbiydruubvhsbcrdqrdecnsbfgmobtodurnckuhyog\n", - "-2441.7311588110924 wivg aaoemmxvogqeqhdruojxdogbhyjvzudecpfbqhdrjaxriezbvikbkhdvkkhbiodruebvhibcrnqrducnslfgmebtonurnskuhiog\n", - "-2582.359196600364 wevg aeoemixvokqeqddrusjxdkgbhcjvzqdectfbqddrjexriazbvmkbkddvkohbikdruibvhebcrrqrdqcnspfgmabtorurnokuhmog\n", - "-2600.640698176196 wevq aeoumixfokquqddbusjndkglhcjlzqdoctfrqddbjexhiazlvmkrkddfkohrikdbuiblhebmrrqhdqcxspfwmabdoruhnokehmow\n", - "-2627.843256654793 wemq aexumiofokzuqdubussndkxlhcslzquoctorqdubjeghiaqlvmtrkdufkoqrikubuiklhesmrrzhdqtxspowmasdordhnobehmxw\n", - "-2668.1954447277826 wwmq amxumaofoszuqvubuasndcxlhkslziuocborqvubjmghisqlvutrkvufkwqricubuqklhwsmrzzhditxsxowmssdozdhngbehuxw\n", - "-2644.3251030062993 wwfq ameumahfosguqvnbuazndcqlhkzlzinocbvrqvnbjmnhisjlvuarkvnfkwxricnbuqrlhwlmrzghdimxsxvwmsldozkhnguehuew\n", - "-2612.8131821553493 zwfq xmeupahflsgutvnbrazngcqlekzlcinozbvrtvnbgmnhlsjlsuarnvnfhwxrlcnbrqrlkwlmozghgimxpxvwpsldlzkhqgueeuew\n", - "-2488.7852285659956 kwfq mmeuaahfasguevnbgaznrcqltkzlninoobvrevnbvmnhwsjlhuaryvnfwwxrwcnbgqrlvwlmdzghrimxexvwasldazkhbguetuew\n", - "-2457.143794722885 ktfq mpeuaxhfavguesnbgdznrzqltnzlnfnooevresnbvpnhwpjlhxarysnfwzxrwznbgtrlvtlmdcghrfmxeavwapldackhbduetxew\n", - "-2453.811577965769 ktvq mpouaxxfavquesdbgdjnrzgltnjlnfdooefresdbvpxhwpzlhxkrysdfwzhrwzdbgtblvtbmdcqhrfcxeafwapbdacuhbdketxow\n", - "-2482.0090575918653 ktxq mpmuaxzfavouesfbgdhnrziltnhlnffooedresfbvpvhwpblhxirysffwzfrwzfbgtzlvtdmdcohrfexeadwapddacshbdmetxmw\n", - "-2503.853240983632 koxq mumuaszfaaouenfbgihnruiltshlnafoojdrenfbvuvhwkblhcirynffwefrwufbgyzlvodmdhohraexefdwakddahshbymetcmw\n", - "-2478.987978114653 kofq mueuashfaaguennbgiznruqltszlnanoojvrennbvunhwkjlhcarynnfwexrwunbgyrlvolmdhghramxefvwakldahkhbyuetcew\n", - "-2514.5111117667198 kouq mupuaswfaaruencbgiknrufltsklnacoojgrencbvuyhwkylhclryncfweirwucbgyclvoamdhrhrabxefgwakadahvhbyjetcpw\n", - "-2545.385031008309 kquq mspuauwfayruepcbggknrwfltqklnccoohgrepcbvsyhwmylhalrypcfwcirwwcbgwclvqamdfrhrcbxedgwamadafvhbajetapw\n", - "-2351.1306204957696 kqlq msyuaunfayaueptbggtnrwwltqtlnctoohpreptbvshhwmplhauryptfwcrrwwtbgwllvqrmdfahrcsxedpwamrdafehbaaetayw\n", - "-2516.3168842187133 kqaq msjuaucfayluepibggenrwlltqelnciooharepibvsshwmelhafrypifwccrwwibgwwlvqgmdflhrchxedawamgdafphbapetajw\n", - "-2571.0019202808494 kqqq mstuausfayvuepybggonrwbltqolncyoohkrepybvschwmulhaprypyfwcmrwwybgwglvqwmdfvhrcxxedkwamwdafzhbafetatw\n", - "-2567.118292670829 kaqq mituaesfaovuezybgwonrgbltgolnmyooxkrezybvichwwulhqpryzyfwsmrwgybgmglvawmdvvhrmxxetkwawwdavzhbkfetqtw\n", - "-2543.760449184205 kaqi mitcaesxaovcezytgwovrgbdtgotnmygoxkzezytvicpwwudhqpzyzyxwsmzwgytgmgtvawedvvprmxpetkeawwvavzpbkfwtqte\n", - "-2511.4369158542613 kcqi mgtcagsxamvcebytguovribdteotnoygovkzebytvgcpwyudhopzybyxwqmzwiytgkgtvcwedtvproxperkeaywvatzpbmfwtote\n", - "-2470.467177138988 kcbi mgicagdxamkcebjtgudvrimdtedtnojgovzzebjtvgrpwyfdhoezybjxwqbzwijtgkvtvchedtkproiperzeayhvatopbmqwtoie\n", - "-2494.208374847781 kcni mgwcagpxamycebvtgurvriydtertnovgovnzebvtvgfpwyrdhoszybvxwqpzwivtgkjtvctedtyprouperneaytvatcpbmcwtowe\n", - "-2511.4369158542613 kcqi mgtcagsxamvcebytguovribdteotnoygovkzebytvgcpwyudhopzybyxwqmzwiytgkgtvcwedtvproxperkeaywvatzpbmfwtote\n", - "-2560.7140835358664 kcqb mgtjagsqamvjebymguocribwteoanoyzovkgebymvgcwwyuwhopgybyqwqmgwiymgkgavcwxdtvwroxierklaywoatzwbmfptotl\n", - "-2509.845415904472 kcqe mgtgagstamvgebypguozribzteoxnoycovkdebypvgctwyuzhopdybytwqmdwiypgkgxvcwadtvtroxlerkiaywratztbmfstoti\n", - "-2542.168949234416 kaqe mitgaestaovgezypgwozrgbztgoxnmycoxkdezypvictwwuzhqpdyzytwsmdwgypgmgxvawadvvtrmxletkiawwravztbkfstqti\n", - "-2509.845415904472 kcqe mgtgagstamvgebypguozribzteoxnoycovkdebypvgctwyuzhopdybytwqmdwiypgkgxvcwadtvtroxlerkiaywratztbmfstoti\n", - "-2484.6237199812 keqe metgaistakvgedypgsozrkbztcoxnqycotkdedypvectwauzhmpdydytwomdwkypgigxvewadrvtrqxlepkiaawrarztbofstmti\n", - "-2343.9956821919322 kiqe matgamstagvgehypgoozrobztyoxnuycopkdehypvactweuzhipdyhytwkmdwoypgegxviwadnvtruxlelkiaewranztbsfstiti\n", - "-2343.9956821919322 kiqe matgamstagvgehypgoozrobztyoxnuycopkdehypvactweuzhipdyhytwkmdwoypgegxviwadnvtruxlelkiaewranztbsfstiti\n", - "-2307.720922136307 kixe mamgamztagogehfpgohzroiztyhxnufcopddehfpvavtwebzhiidyhftwkfdwofpgezxvidadnotrueleldiaedranstbsmstimi\n", - "-2361.6099590180143 kixn mamxamzcagoxehfygohqroiityhonuflopduehfyvavkwebihiiuyhfcwkfuwofygezovidjdnokrueueldzaedaanskbsmbtimz\n", - "-2553.196518615763 kgxn mcmxakzcaioxeffygqhqrmiitahonsflordueffyvcvkwcbihkiuyffcwmfuwmfyggzovgdjdpokrseuendzacdaapskbqmbtkmz\n", - "-2486.6038616276896 kvxn mnmxazzcatoxeufygbhqrbiitlhonhflocdueufyvnvkwrbihviuyufcwxfuwbfygrzovvdjdaokrheueydzardaaaskbfmbtvmz\n", - "-2486.6038616276896 kvxn mnmxazzcatoxeufygbhqrbiitlhonhflocdueufyvnvkwrbihviuyufcwxfuwbfygrzovvdjdaokrheueydzardaaaskbfmbtvmz\n", - "-2463.57047655485 kvxu mnmqazzjatoqeuffgbhjrbiptlhhnhfsocdneuffvnvdwrbphvinyufjwxfnwbffgrzhvvdqdaodrhebeydsardhaasdbfmitvms\n", - "-2655.67114043736 evxu snmquzzjgtoqyuffmbhjlbipzlhhhhfsucdnyuffbnvdqrbpnvinsufjcxfnqbffmrzhpvdqjaodlhebkydsurdhgasdvfmizvms\n", - "-2628.401110478078 evxm snmyuzzbgtoyyufxmbhrlbihzlhphhfkucdvyufxbnvlqrbhnvivsufbcxfvqbfxmrzppvdijaollhetkydaurdzgaslvfmazvma\n", - "-2617.535228585168 evzm snkyuzbbgtmyyuhxmbfrlbkhzlfphhhkucbvyuhxbntlqrdhnvgvsuhbcxdvqbhxmrxppvfijamllhgtkybaurfzgaqlvfoazvka\n", - "-2617.535228585168 evzm snkyuzbbgtmyyuhxmbfrlbkhzlfphhhkucbvyuhxbntlqrdhnvgvsuhbcxdvqbhxmrxppvfijamllhgtkybaurfzgaqlvfoazvka\n", - "-2617.535228585168 evzm snkyuzbbgtmyyuhxmbfrlbkhzlfphhhkucbvyuhxbntlqrdhnvgvsuhbcxdvqbhxmrxppvfijamllhgtkybaurfzgaqlvfoazvka\n", - "-2613.9496067355753 evze snkguzbtgtmgyuhpmbfzlbkzzlfxhhhcucbdyuhpbnttqrdznvgdsuhtcxddqbhpmrxxpvfajamtlhglkybiurfrgaqtvfoszvki\n", - "-2583.2912157934306 uvze cnkgkzbtqtmgouhpwbfzbbkzjlfxxhhcecbdouhplnttgrdzxvgdiuhtmxddgbhpwrxxfvfatamtbhgluybikrfrqaqtlfosjvki\n", - "-2656.470580226242 uaze cikgkebtqomgozhpwwfzbgkzjgfxxmhcexbdozhplittgwdzxqgdizhtmsddgghpwmxxfafatvmtbmglutbikwfrqvqtlkosjqki\n", - "-2635.7171336021493 uhze cbkgklbtqhmgoghpwpfzbnkzjzfxxthceqbdoghplbttgddzxjgdightmlddgnhpwfxxfhfatomtbtglumbikdfrqoqtlrosjjki\n", - "-2700.7424009766482 uhzl cbkzklbaqhmzoghwwpfsbnkgjzfqxthjeqbwoghwlbtmgddgxjgwighamldwgnhwwfxqfhfhtommbtgsumbbkdfyqoqmlrozjjkb\n", - "-2494.18700571466 uhzt cbkrklbiqhmroghewpfkbnkojzfixthreqbooghelbtegddoxjgoighimldognhewfxifhfptomebtgaumbtkdfgqoqelrohjjkt\n", - "-2474.571619374198 uhet cbfrklgiqhhrogmewpakbnpojzaixtmreqwoogmelboegdioxjboigmimlyognmewfsifhkptohebtlaumwtkdkgqolelrthjjft\n", - "-2490.9451168585224 uket cyfrkogiqehrojmewmakbqpojwaixwmrenwoojmelyoeggioxgboijmimiyogqmewcsifkkptlhebwlaujwtkgkgqlleluthjgft\n", - "-2488.7383585535526 uget ccfrkkgiqihrofmewqakbmpojaaixsmrerwoofmelcoegcioxkboifmimmyogmmewgsifgkptphebslaunwtkckgqplelqthjkft\n", - "-2633.2798491642648 ugej ccfbkkgyqihbofmuwqaubmpejaasxsmherwyofmulcoogciexkbyifmymmyygmmuwgssfgkftphobslqunwdkckwqplolqtxjkfd\n", - "-2643.232722502403 ughj cccbkkjyqiebofpuwqxubmsejaxsxsphertyofpulclogclexkyyifpymmvygmpuwgpsfgnftpeobsoquntdkcnwqpiolqwxjkcd\n", - "-2666.1574799773775 ugdj ccgbkkfyqiibofluwqbubmoejabsxslherxyoflulcpogchexkcyiflymmzygmluwgtsfgjftpiobskqunxdkcjwqpmolqsxjkgd\n", - "-2681.8679611066445 ugda ccgkkkfpqiikofllwqbdbmovjabbxslyerxhoflllcpxgchvxkchiflpmmzhgmllwgtbfgjwtpixbskhunxmkcjnqpmxlqsojkgm\n", - "-2681.8679611066445 ugda ccgkkkfpqiikofllwqbdbmovjabbxslyerxhoflllcpxgchvxkchiflpmmzhgmllwgtbfgjwtpixbskhunxmkcjnqpmxlqsojkgm\n", - "-2669.588922404437 ogda icgkekfpwiikifllcqbdvmovpabbrslykrxhifllrcpxachvdkchcflpsmzhamllcgtbzgjwzpixvskhanxmecjnwpmxfqsopkgm\n", - "-2658.9825886689464 owda imgkeafpwsikivllcabdvcovpkbbrilykbxhivllrmpxashvduchcvlpswzhacllcqtbzwjwzzixvikhaxxmesjnwzmxfgsopugm\n", - "-2655.4221832250814 ohda ibgkelfpwhikigllcpbdvnovpzbbrtlykqxhigllrbpxadhvdjchcglpslzhanllcftbzhjwzoixvtkhamxmedjnwomxfrsopjgm\n", - "-2701.4711228193446 yhda ybgkolfpmhiksgllspbdfnovfzbbbtlyaqxhsgllhbpxkdhvtjchmglpilzhknllsftbjhjwpoixftkhqmxmodjnmomxprsofjgm\n", - "-2733.308348055774 yfda ydgkojfpmjiksellsrbdflovfbbbbrlyasxhsellhdpxkbhvtlchmelpinzhklllshtbjfjwpqixfrkhqoxmobjnmqmxppsoflgm\n", - "-2723.6908047526927 yfja ydakojlpmjckserlsrvdfluvfbvbbrryasrhserlhdjxkbnvtlwhmerpinthklrlshnbjfpwpqcxfrqhqormobpnmqgxppyoflam\n", - "-2762.3497494437534 yfjr ydatojlgmjctsercsrvmflumfbvkbrrpasrqserchdjgkbnmtlwqmergintqklrcshnkjfpnpqcgfrqyqorvobpemqggppyfflav\n", - "-2745.8564830591577 yujr yoatoylgmuctstrcscvmfaumfmvkbgrpadrqstrchojgkqnmtwwqmtrgiytqkarcssnkjupnpbcgfgqyqzrvoqpembggpeyffwav\n", - "-2757.9224360322264 yrjr yratovlgmxctsqrcsfvmfxumfpvkbdrpagrqsqrchrjgknnmtzwqmqrgibtqkxrcsvnkjrpnpecgfdqyqcrvonpemeggpbyffzav\n", - "-2720.8258313342135 yjjr yzatonlgmfctsircsnvmfpumfxvkbvrpaorqsirchzjgkfnmthwqmirgijtqkprcsdnkjjpnpmcgfvqyqkrvofpemmggptyffhav\n", - "-2707.975964804669 ljjr lzatbnlgzfctfircfnvmspumsxvkovrpnorqfircuzjgxfnmghwqzirgvjtqxprcfdnkwjpncmcgsvqydkrvbfpezmggctyfshav\n", - "-2700.475718236925 ljjh lzadbnlwzfcdfirsfnvwspucsxvuovrfnorafirsuzjqxfncghwazirwvjtaxprsfdnuwjpdcmcqsvqodkrfbfpuzmgqctyvshaf\n", - "-2786.790852170361 lnjh lvadbrlwzbcdfmrsfjvwstucstvuozrfnkrafmrsuvjqxjncgdwazmrwvftaxtrsfznuwnpdcicqszqodgrfbjpuzigqcxyvsdaf\n", - "-2682.0813827107922 ltjh lpadbxlwzvcdfsrsfdvwszucsnvuofrfnerafsrsupjqxpncgxwazsrwvztaxzrsftnuwtpdcccqsfqodarfbppuzcgqcdyvsxaf\n", - "-2640.1554356368574 ltyh lpldbxawzvndfsgsfdgwszjcsnguofgfnecafsgsupuqxpccgxhazsgwvzeaxzgsftyuwtedccnqsffodacfbpeuzcrqcdnvsxlf\n", - "-2668.236464036101 lhyh lbldblawzhndfggsfpgwsnjcszguotgfnqcafggsubuqxdccgjhazggwvleaxngsffyuwhedconqstfodmcfbdeuzorqcrnvsjlf\n", - "-2658.549771162989 ljyh lzldbnawzfndfigsfngwspjcsxguovgfnocafigsuzuqxfccghhazigwvjeaxpgsfdyuwjedcmnqsvfodkcfbfeuzmrqctnvshlf\n", - "-2707.356800607495 ljrh lzsdbntwzfudfizsfnnwspccsxnuovzfnojafizsuzbqxfvcghoazizwvjlaxpzsfdfuwjxdcmuqsvyodkjfbfxuzmyqctgvshsf\n", - "-2721.0206940051326 cjrh uzsdsntwifudwizsonnwjpccbxnufvzfwojawizsdzbqofvcphoaqizwejlaopzsodfunjxdlmuqjvyomkjfsfxuimyqttgvbhsf\n", - "-2696.4955294889196 cjfh uzedsnhwifgdwinsonzwjpqcbxzufvnfwovawinsdznqofjcphaaqinwejxaopnsodrunjldlmgqjvmomkvfsfluimkqttuvbhef\n", - "-2683.7625647500445 ajfh wzedqnhwkfgduinsqnzwhpqcdxzudvnfyovauinsfznqmfjcrhaaoinwgjxampnsqdruljldnmgqhvmookvfqflukmkqrtuvdhef\n", - "-2525.0312878895693 ajlh wzydqnnwkfaduitsqntwhpwcdxtudvtfyopauitsfzhqmfpcrhuaoitwgjramptsqdluljrdnmaqhvsookpfqfrukmeqrtavdhyf\n", - "-2341.738051927936 kjlh mzydannwafadeitsgntwrpwctxtunvtfoopaeitsvzhqwfpchhuayitwwjrawptsgdluvjrddmaqrvsoekpfafruameqbtavthyf\n", - "-2339.258425025942 kjld mzyhannsafaheitogntarpwytxtynvtboopeeitovzhuwfpyhhueyitswjrewptogdlyvjrzdmaurvskekpjafrqameubtarthyj\n", - "-2425.573558959377 knld mvyharnsabahemtogjtartwytttynztbokpeemtovvhuwjpyhdueymtswfrewttogzlyvnrzdiaurzskegpjajrqaieubxartdyj\n", - "-2428.0531858613713 knlh mvydarnwabademtsgjtwrtwctttunztfokpaemtsvvhqwjpchduaymtwwfrawttsgzluvnrddiaqrzsoegpfajruaieqbxavtdyf\n", - "-2429.041311516962 knlb mvyjarnqabajemtmgjtcrtwwtttanztzokpgemtmvvhwwjpwhdugymtqwfrgwttmgzlavnrxdiawrzsiegplajroaiewbxaptdyl\n", - "-2429.041311516962 knlb mvyjarnqabajemtmgjtcrtwwtttanztzokpgemtmvvhwwjpwhdugymtqwfrgwttmgzlavnrxdiawrzsiegplajroaiewbxaptdyl\n", - "-2395.106017110467 knlz mvylarnoabalemtkgjtertwutttcnztxokpiemtkvvhywjpuhduiymtowfriwttkgzlcvnrvdiayrzsgegpnajrmaieybxantdyn\n", - "-2312.2407310426674 kolz muylasnoaaalentkgiteruwutstcnatxojpientkvuhywkpuhcuiyntoweriwutkgylcvorvdhayrasgefpnakrmaheybyantcyn\n", - "-2491.1422921124736 kobz muilasdoaaklenjkgiderumutsdcnajxojzienjkvurywkfuhceiynjowebiwujkgyvcvohvdhkyraigefznakhmahoybyqntcin\n", - "-2581.8707617318005 kobo muiwasddaakwenjzgidprumjtsdnnajmojztenjzvurjwkfjhcetynjdwebtwujzgyvnvohkdhkjraivefzyakhbahojbyqctciy\n", - "-2615.517518564179 krbo mriwavddaxkweqjzgfdprxmjtpdnndjmogzteqjzvrrjwnfjhzetyqjdwbbtwxjzgvvnvrhkdekjrdiveczyanhbaeojbbqctziy\n", - "-2573.880043846641 kbbo mhiwafddankweajzgvdprhmjtfdnnnjmowzteajzvhrjwxfjhpetyajdwrbtwhjzglvnvbhkdukjrniveszyaxhbauojblqctpiy\n", - "-2597.621241555435 kbno mhwwafpdanyweavzgvrprhyjtfrnnnvmownteavzvhfjwxrjhpstyavdwrptwhvzgljnvbtkduyjrnuvesnyaxtbaucjblcctpwy\n", - "-2577.5801013587898 kbmo mhxwafodanzweauzgvsprhxjtfsnnnumowoteauzvhgjwxqjhpttyaudwrqtwhuzglknvbskduzjrntvesoyaxsbaudjblbctpxy\n", - "-2560.1647464997773 kbao mhjwafcdanlweaizgveprhljtfennnimowateaizvhsjwxejhpftyaidwrctwhizglwnvbgkduljrnhvesayaxgbaupjblpctpjy\n", - "-2756.190947200292 cbao uhjwsfcdinlwwaizovepjhljbfenfnimwwatwaizdhsjoxejppftqaiderctohizolwnnbgkluljjnhvmsaysxgbiupjtlpcbpjy\n", - "-2648.5291043560633 cbae uhjgsfctinlgwaipovezjhlzbfexfnicwwadwaipdhstoxezppfdqaitercdohipolwxnbgalultjnhlmsaisxgriupttlpsbpji\n", - "-2703.2141404181993 cbqe uhtgsfstinvgwaypovozjhbzbfoxfnycwwkdwaypdhctoxuzpppdqaytermdohypolgxnbwaluvtjnxlmskisxwriuzttlfsbpti\n", - "-2783.7245377553813 cbqc uhtisfsrinviwaynovobjhbxbfozfnyawwkfwayndhcvoxuxpppfqayrermfohynolgznbwyluvvjnxjmskksxwpiuzvtlfqbptk\n", - "-2709.8819822787814 cbqg uhtesfsvinvewayrovoxjhbbbfovfnyewwkbwayrdhcroxubpppbqayvermbohyrolgvnbwcluvrjnxnmskgsxwtiuzrtlfubptg\n", - "-2692.6534412723026 cbng uhwesfpvinyewavrovrxjhybbfrvfnvewwnbwavrdhfroxrbppsbqavverpbohvroljvnbtcluyrjnunmsngsxttiucrtlcubpwg\n", - "-2637.4225395972207 dbng thwetfpvhnyexavrnvrxkhybafrvgnvevwnbxavrchfrpxrbopsbravvdrpbphvrnljvobtckuyrknunlsngtxtthucrulcuapwg\n", - "-2655.7040411730536 dbnq thwutfpfhnyuxavbnvrnkhylafrlgnvovwnrxavbchfhpxrlopsrravfdrprphvbnljlobtmkuyhknuxlsnwtxtdhuchulceapww\n", - "-2693.5199881481476 dbgq thdutfifhnfuxaobnvynkhrlafylgnoovwurxaobchmhpxklopzrraofdrwrphobnlqlobmmkufhknnxlsuwtxmdhujhulveapdw\n", - "-2648.295478366088 dbcq thhutfefhnjuxakbnvcnkhnlafclgnkovwyrxakbchqhpxglopdrrakfdrarphkbnlulobimkujhknjxlsywtxidhunhulreaphw\n", - "-2623.3461349296726 dbce thhgtfethnjgxakpnvczkhnzafcxgnkcvwydxakpchqtpxgzopddraktdradphkpnluxobiakujtknjllsyitxirhuntulrsaphi\n", - "-2571.1384205390027 dbpe thugtfrthnwgxaxpnvpzkhazafpxgnxcvwldxaxpchdtpxtzopqdraxtdrndphxpnlhxobvakuwtknwllslitxvrhuatulesapui\n", - "-2601.994072347877 dbpu thuqtfrjhnwqxaxfnvpjkhapafphgnxsvwlnxaxfchddpxtpopqnraxjdrnnphxfnlhhobvqkuwdknwblslstxvhhuaduleiapus\n", - "-2663.6880554551494 dbpy thumtfrnhnwmxaxjnvpfkhatafpdgnxwvwljxaxjchdzpxttopqjraxndrnjphxjnlhdobvukuwzknwflslotxvlhuazulemapuo\n", - "-2681.4760237916503 dwpy tmumtarnhswmxvxjnapfkcatakpdgixwvbljxvxjcmdzpsttouqjrvxndwnjpcxjnqhdowvukzwzkiwflxlotsvlhzazugemauuo\n", - "-2698.6690649718767 dapy tiumternhowmxzxjnwpfkgatagpdgmxwvxljxzxjcidzpwttoqqjrzxndsnjpgxjnmhdoavukvwzkmwfltlotwvlhvazukemaquo\n", - "-2691.114433001004 gapy qiumwerneowmazxjkwpfngatxgpdjmxwsxljazxjzidzswttlqqjuzxnasnjsgxjkmhdravuhvwznmwfitlowwvlevazxkemxquo\n", - "-2642.279957977669 gtpy qpumwxrnevwmasxjkdpfnzatxnpdjfxwseljasxjzpdzspttlxqjusxnaznjszxjkthdrtvuhcwznfwfialowpvlecazxdemxxuo\n", - "-2567.602290241774 gtpf qpufwxruevwfasxqkdpynzaaxnpwjfxdselcasxqzpdssptalxqcusxuazncszxqkthwrtvbhcwsnfwmialhwpvsecasxdetxxuh\n", - "-2579.974868764167 gtvf qpofwxxuevqfasdqkdjynzgaxnjwjfddsefcasdqzpxsspzalxkcusduazhcszdqktbwrtbbhcqsnfcmiafhwpbsecusxdktxxoh\n", - "-2618.830219173349 gtuf qppfwxwuevrfascqkdkynzfaxnkwjfcdsegcascqzpysspyalxlcuscuazicszcqktcwrtabhcrsnfbmiaghwpasecvsxdjtxxph\n", - "-2608.1723483902615 gtxf qpmfwxzuevofasfqkdhynziaxnhwjffdsedcasfqzpvsspbalxicusfuazfcszfqktzwrtdbhcosnfemiadhwpdsecssxdmtxxmh\n", - "-2474.9316813357036 ktxf mpmfaxzuavofesfqgdhyrziatnhwnffdoedcesfqvpvswpbahxicysfuwzfcwzfqgtzwvtdbdcosrfemeadhapdsacssbdmttxmh\n", - "-2477.328043915445 ktdf mpgfaxfuavifeslqgdbyrzoatnbwnfldoexceslqvppswphahxccysluwzzcwzlqgttwvtjbdcisrfkmeaxhapjsacmsbdsttxgh\n", - "-2415.1085430567337 ktwf mpnfaxyuavpfeseqgdiyrzhatniwnfedoeeceseqvpwswpaahxjcyseuwzgcwzeqgtawvtcbdcpsrfdmeaehapcsactsbdlttxnh\n", - "-2415.1085430567337 ktwf mpnfaxyuavpfeseqgdiyrzhatniwnfedoeeceseqvpwswpaahxjcyseuwzgcwzeqgtawvtcbdcpsrfdmeaehapcsactsbdlttxnh\n", - "-2446.749976899844 kwwf mmnfaayuaspfeveqgaiyrchatkiwniedobeceveqvmwswsaahujcyveuwwgcwceqgqawvwcbdzpsridmexehascsaztsbglttunh\n", - "-2466.003057030325 kwpf mmufaaruaswfevxqgapyrcaatkpwnixdoblcevxqvmdswstahuqcyvxuwwncwcxqgqhwvwvbdzwsriwmexlhasvsazasbgettuuh\n", - "-2585.351769410867 vwpf bmuflarupswfpvxqvapyccaaikpwyixddblcpvxqkmdshstawuqcjvxulwnchcxqvqhwgwvbszwsciwmtxlhlsvspzasmgetiuuh\n", - "-2585.351769410867 vwpf bmuflarupswfpvxqvapyccaaikpwyixddblcpvxqkmdshstawuqcjvxulwnchcxqvqhwgwvbszwsciwmtxlhlsvspzasmgetiuuh\n", - "-2609.2012757919047 vrpf bruflvrupxwfpqxqvfpycxaaippwydxddglcpqxqkrdshntawzqcjqxulbnchxxqvvhwgrvbsewscdwmtclhlnvspeasmbetizuh\n", - "-2609.2012757919047 vrpf bruflvrupxwfpqxqvfpycxaaippwydxddglcpqxqkrdshntawzqcjqxulbnchxxqvvhwgrvbsewscdwmtclhlnvspeasmbetizuh\n", - "-2652.4479495334076 vrpv bruplvrkpxwppqxgvfpicxaqippgydxtdglmpqxgkrdchntqwzqmjqxklbnmhxxgvvhggrvrsewccdwctclrlnvipeacmbejizur\n", - "-2594.3406713348736 vrpj brublvrypxwbpqxuvfpucxaeippsydxhdglypqxukrdohntewzqyjqxylbnyhxxuvvhsgrvfsewocdwqtcldlnvwpeaombexizud\n", - "-2591.567833744084 vqpj bsublurypywbppxuvgpucwaeiqpsycxhdhlyppxuksdohmtewaqyjpxylcnyhwxuvwhsgqvfsfwoccwqtdldlmvwpfaomaexiaud\n", - "-2590.147970970653 vqpi bsuclurxpywcppxtvgpvcwadiqptycxgdhlzppxtksdphmtdwaqzjpxxlcnzhwxtvwhtgqvesfwpccwptdlelmvvpfapmaewiaue\n", - "-2528.7191141074136 vepi beuclirxpkwcpdxtvspvckadicptyqxgdtlzpdxtkedphatdwmqzjdxxlonzhkxtvihtgevesrwpcqwptplelavvprapmoewimue\n", - "-2573.2949999219345 iepi oeucyirxckwccdxtispvpkadvcptlqxgqtlzcdxtxedpuatdjmqzwdxxyonzukxtiihttevefrwppqwpgpleyavvcrapzoewvmue\n", - "-2533.3983553162275 zepi xeucpirxlkwctdxtrspvgkadecptcqxgztlztdxtgedplatdsmqzndxxhonzlkxtrihtkeveorwpgqwppplepavvlrapqoewemue\n", - "-2556.644798124924 repi feuchirxtkwcldxtzspvykadmcptuqxghtlzldxtoedpdatdamqzfdxxponzdkxtzihtcevewrwpyqwpxplehavvtrapioewmmue\n", - "-2626.3458738073045 repk feuahirztkwaldxvzsptykafmcpruqxihtlxldxvoedndatfamqxfdxzponxdkxvzihrcevgwrwnyqwrxplchavxtranioeymmuc\n", - "-2694.974881672857 rfpk fduahjrztjwalexvzrptylafmbprurxihslxlexvoddndbtfalqxfexzpnnxdlxvzhhrcfvgwqwnyrwrxolchbvxtqanipeymluc\n", - "-2627.2679278902797 rfpm fduyhjrbtjwylexxzrprylahmbppurxkhslvlexxoddldbthalqvfexbpnnvdlxxzhhpcfviwqwlyrwtxolahbvztqalipeamlua\n", - "-2623.682306040687 rfpe fdughjrttjwglexpzrpzylazmbpxurxchsldlexpoddtdbtzalqdfextpnnddlxpzhhxcfvawqwtyrwlxolihbvrtqatipesmlui\n", - "-2582.158387931148 rjpe fzughnrttfwglixpznpzypazmxpxuvxcholdlixpozdtdftzahqdfixtpjnddpxpzdhxcjvawmwtyvwlxklihfvrtmatitesmhui\n", - "-2570.7945382003477 rjpx fzunhnrmtfwnlixiznpgypasmxpeuvxvholklixiozdadftsahqkfixmpjnkdpxizdhecjvtwmwayvwexklphfvktmaaitelmhup\n", - "-2590.836201453602 rjhx fzcnhnjmtfenlipiznxgypssmxxeuvpvhotklipiozladflsahykfipmpjvkdppizdpecjntwmeayvoexktphfnktmiaitwlmhcp\n", - "-2638.409479420086 rjhs fzcshnjhtfeslipdznxlypsnmxxjuvpqhotplipdozlfdflnahypfiphpjvpdppdzdpjcjnowmefyvozxktuhfnftmifitwgmhcu\n", - "-2638.409479420086 rjhs fzcshnjhtfeslipdznxlypsnmxxjuvpqhotplipdozlfdflnahypfiphpjvpdppdzdpjcjnowmefyvozxktuhfnftmifitwgmhcu\n", - "-2648.096172293198 rhhs fbcshljhtheslgpdzpxlynsnmzxjutpqhqtplgpdoblfddlnajypfgphplvpdnpdzfpjchnowoefytozxmtuhdnftoifirwgmjcu\n", - "-2651.6565777370624 rwhs fmcshajhtseslvpdzaxlycsnmkxjuipqhbtplvpdomlfdslnauypfvphpwvpdcpdzqpjcwnowzefyiozxxtuhsnftzifigwgmucu\n", - "-2504.382181339012 kwhs mmcsaajhasesevpdgaxlrcsntkxjnipqobtpevpdvmlfwslnhuypyvphwwvpwcpdgqpjvwnodzefriozextuasnfazifbgwgtucu\n", - "-2465.087437955276 kwws mmnsaayhaspsevedgailrchntkijnieqobepevedvmwfwsanhujpyvehwwgpwcedgqajvwcodzpfridzexeuascfaztfbglgtunu\n", - "-2532.7477764855266 kdws mfnsahyhalpsecedgtilrjhntdijnpeqouepecedvfwfwzanhnjpycehwpgpwjedgjajvdcodspfrpdzeqeuazcfastfbnlgtnnu\n", - "-2652.096488866068 vdws bfnslhyhplpspcedvtilcjhnidijypeqdueppcedkfwfhzanwnjpjcehlpgphjedvjajgdcosspfcpdztqeulzcfpstfmnlginnu\n", - "-2553.017126854961 vpws btnsltyhpzpspoedvhilcvhnirijybeqdieppoedktwfhlanwbjpjoehldgphvedvxajgpcosgpfcbdzteeullcfpgtfmzlgibnu\n", - "-2553.017126854961 vpws btnsltyhpzpspoedvhilcvhnirijybeqdieppoedktwfhlanwbjpjoehldgphvedvxajgpcosgpfcbdzteeullcfpgtfmzlgibnu\n", - "-2597.3180959564593 vpwc btniltyrpzpipoenvhibcvhxirizybeadiefpoenktwvhlaxwbjfjoerldgfhvenvxazgpcysgpvcbdjteekllcppgtvmzlqibnk\n", - "-2649.920053512091 vpjc btailtlrpzcipornvhvbcvuxirvzybradirfpornktjvhlnxwbwfjorrldtfhvrnvxnzgppysgcvcbqjterkllpppggvmzyqibak\n", - "-2672.054817577861 vpic btbiltkrpzdipoqnvhwbcvtxirwzybqadisfpoqnktkvhlmxwbxfjoqrldufhvqnvxozgpoysgdvcbpjtesklloppghvmzxqibbk\n", - "-2646.99722751121 vpkc btziltmrpzbiposnvhubcvvxiruzybsadiqfposnktivhloxwbvfjosrldsfhvsnvxmzgpqysgbvcbrjteqkllqppgfvmzzqibzk\n", - "-2693.4159942910564 vpqc bttiltsrpzvipoynvhobcvbxirozybyadikfpoynktcvhluxwbpfjoyrldmfhvynvxgzgpwysgvvcbxjtekkllwppgzvmzfqibtk\n", - "-2619.6155516618737 vpqp bttvltsepzvvpoyavhoocvbkiromybyndikspoyaktcihlukwbpsjoyeldmshvyavxgmgpwlsgvicbxwtekxllwcpgzimzfdibtx\n", - "-2630.777564134127 vpqf bttfltsupzvfpoyqvhoycvbairowybyddikcpoyqktcshluawbpcjoyuldmchvyqvxgwgpwbsgvscbxmtekhllwspgzsmzftibth\n", - "-2630.777564134127 vpqf bttfltsupzvfpoyqvhoycvbairowybyddikcpoyqktcshluawbpcjoyuldmchvyqvxgwgpwbsgvscbxmtekhllwspgzsmzftibth\n", - "-2621.844399541991 veqf betflisupkvfpdyqvsoyckbaicowyqyddtkcpdyqkecshauawmpcjdyulomchkyqvigwgewbsrvscqxmtpkhlawsprzsmoftimth\n", - "-2642.4318055106055 vegf bedfliiupkffpdoqvsyyckraicywyqoddtucpdoqkemshakawmzcjdoulowchkoqviqwgembsrfscqnmtpuhlamsprjsmovtimdh\n", - "-2544.9995813378755 vepf beuflirupkwfpdxqvspyckaaicpwyqxddtlcpdxqkedshatawmqcjdxulonchkxqvihwgevbsrwscqwmtplhlavsprasmoetimuh\n", - "-2577.996281789021 vepb beujlirqpkwjpdxmvspcckawicpayqxzdtlgpdxmkedwhatwwmqgjdxqlonghkxmvihagevxsrwwcqwitplllavoprawmoepimul\n", - "-2646.6252896545725 vfpb bdujljrqpjwjpexmvrpcclawibpayrxzdslgpexmkddwhbtwwlqgjexqlnnghlxmvhhagfvxsqwwcrwitolllbvopqawmpepilul\n", - "-2646.6252896545725 vfpb bdujljrqpjwjpexmvrpcclawibpayrxzdslgpexmkddwhbtwwlqgjexqlnnghlxmvhhagfvxsqwwcrwitolllbvopqawmpepilul\n", - "-2618.34846986201 vwpb bmujlarqpswjpvxmvapcccawikpayixzdblgpvxmkmdwhstwwuqgjvxqlwnghcxmvqhagwvxszwwciwitxlllsvopzawmgepiuul\n", - "-2628.9548035975004 vgpb bcujlkrqpiwjpfxmvqpccmawiapaysxzdrlgpfxmkcdwhctwwkqgjfxqlmnghmxmvghaggvxspwwcswitnlllcvoppawmqepikul\n", - "-2642.8467582715175 ggpb qcujwkrqeiwjafxmkqpcnmawxapajsxzsrlgafxmzcdwsctwlkqgufxqamngsmxmkghargvxhpwwnswiinllwcvoepawxqepxkul\n", - "-2658.769325455115 ogpb icujekrqwiwjifxmcqpcvmawpaparsxzkrlgifxmrcdwactwdkqgcfxqsmngamxmcghazgvxzpwwvswianllecvowpawfqeppkul\n", - "-2466.37052993623 ogpt icurekriwiwrifxecqpkvmaopapirsxrkrloifxercdeactodkqocfxismnoamxecghizgvpzpwevswaanltecvgwpaefqehpkut\n", - "-2478.649568638436 ugpt ccurkkriqiwrofxewqpkbmaojapixsxrerloofxelcdegctoxkqoifximmnogmxewghifgvptpwebswaunltkcvgqpaelqehjkut\n", - "-2478.649568638436 ugpt ccurkkriqiwrofxewqpkbmaojapixsxrerloofxelcdegctoxkqoifximmnogmxewghifgvptpwebswaunltkcvgqpaelqehjkut\n", - "-2489.119903693195 uqpt csurkuriqywropxewgpkbwaojqpixcxrehloopxelsdegmtoxaqoipximcnogwxewwhifqvptfwebcwaudltkmvgqfaelaehjaut\n", - "-2522.889804585251 yqpt ysurourimywrspxesgpkfwaofqpibcxrahlospxehsdekmtotaqompxiicnokwxeswhijqvppfwefcwaqdltomvgmfaepaehfaut\n", - "-2514.312734936467 yqyt yslrouaimynrspgesggkfwjofqgibcgrahcospgehsuekmcotahompgiiceokwgeswyijqeppfnefcfaqdctomegmfrepanhfalt\n", - "-2503.6367244547696 yqwt ysnrouyimyprspeesgikfwhofqiibceraheospeehswekmaotajompeiicgokweeswaijqcppfpefcdaqdetomcgmftepalhfant\n", - "-2463.9644250626543 wqwt asnrmuyioyprqpeeugikdwhohqiizcercheoqpeejsweimaovajokpeikcgoiweeuwaihqcprfpedcdasdetmmcgoftenalhhant\n", - "-2429.640657955429 wjwt aznrmnyiofprqieeunikdphohxiizvercoeoqieejzweifaovhjokieikjgoipeeudaihjcprmpedvdasketmfcgomtentlhhhnt\n", - "-2588.104159067819 wjwz aznlmnyoofplqiekuniedphuhxiczvexcoeiqiekjzwyifauvhjikieokjgiipekudachjcvrmpydvdgskenmfcmomtyntlnhhnn\n", - "-2596.488882822576 ijwz oznlynyocfplciekiniepphuvxiclvexqoeiciekxzwyufaujhjiwieoyjgiupekidactjcvfmpypvdggkenyfcmcmtyztlnvhnn\n", - "-2615.76493783336 ijws oznsynyhcfpsciedinilpphnvxijlveqqoepciedxzwfufanjhjpwiehyjgpupedidajtjcofmpfpvdzgkeuyfcfcmtfztlgvhnu\n", - "-2580.0774729746677 xjws zznsnnyhnfpsriedtnilephngxijaveqboepriedizwfjfanuhjpliehjjgpjpedtdajijcoqmpfevdzrkeunfcfnmtfotlgghnu\n", - "-2545.459544688774 xjwi zzncnnyxnfpcriettnivephdgxitavegboezrietizwpjfaduhjzliexjjgzjpettdatijceqmppevdprkeenfcvnmtpotlwghne\n", - "-2532.5041950081836 xjwx zznnnnymnfpnrieitnigephsgxieavevboekrieiizwajfasuhjkliemjjgkjpeitdaeijctqmpaevderkepnfcknmtaotllghnp\n", - "-2554.192498040762 xlwx zxnnnpymndpnrkeitligerhsgvieaxevbmekrkeiixwajhasufjklkemjhgkjreitbaeilctqkpaexderiepnhcknktaovllgfnp\n", - "-2554.192498040762 xlwx zxnnnpymndpnrkeitligerhsgvieaxevbmekrkeiixwajhasufjklkemjhgkjreitbaeilctqkpaexderiepnhcknktaovllgfnp\n", - "-2521.1622762643 xmwx zwnnnqymncpnrleitkigeshsguieayevblekrleiiwwajiasuejkllemjggkjseitaaeimctqjpaeyderhepnicknjtaowllgenp\n", - "-2535.314018918909 xswx zqnnnwymnwpnrreiteigeyhsgoieaeevbfekrreiiqwajoasuyjklremjagkjyeituaeisctqdpaeederbepnockndtaocllgynp\n", - "-2582.887296885393 xsws zqnsnwyhnwpsrredteileyhngoijaeeqbfeprrediqwfjoanuyjplrehjagpjyedtuajiscoqdpfeedzrbeunocfndtfoclggynu\n", - "-2601.7657760072443 xlws zxnsnpyhndpsrkedtlilerhngvijaxeqbmeprkedixwfjhanufjplkehjhgpjredtbajilcoqkpfexdzrieunhcfnktfovlggfnu\n", - "-2620.8030390689255 rlws fxnshpyhtdpslkedzlilyrhnmvijuxeqhmeplkedoxwfdhanafjpfkehphgpdredzbajclcowkpfyxdzxieuhhcftktfivlgmfnu\n", - "-2669.760295454985 rlzs fxkshpbhtdmslkhdzlflyrknmvfjuxhqhmbplkhdoxtfdhdnafgpfkhhphdpdrhdzbxjclfowkmfyxgzxibuhhfftkqfivogmfku\n", - "-2652.272711071789 rlza fxkkhpbptdmklkhlzlfdyrkvmvfbuxhyhmbhlkhloxtxdhdvafghfkhpphdhdrhlzbxbclfwwkmxyxghxibmhhfntkqxivoomfkm\n", - "-2690.9316557628485 rlzr fxkthpbgtdmtlkhczlfmyrkmmvfkuxhphmbqlkhcoxtgdhdmafgqfkhgphdqdrhczbxkclfnwkmgyxgyxibvhhfetkqgivofmfkv\n", - "-2648.568803942404 rlsr fxrthpugtdttlkaczlmmyrdmmvmkuxaphmiqlkacoxagdhwmafnqfkagphkqdraczbekclynwktgyxzyxiivhhyetkxgivhfmfrv\n", - "-2665.737862475217 rzsr fjrthdugtpttlyaczxmmyfdmmhmkulaphyiqlyacojagdvwmarnqfyagptkqdfacznekczynwwtgylzyxuivhvyetwxgijhfmrrv\n", - "-2639.212725740543 rzsu fjrqhdujtptqlyafzxmjyfdpmhmhulashyinlyafojaddvwparnnfyajptkndfafznehczyqwwtdylzbxuishvyhtwxdijhimrrs\n", - "-2611.2870417230342 vzsu bjrqldujpptqpyafvxmjcfdpihmhylasdyinpyafkjadhvwpwrnnjyajltknhfafvnehgzyqswtdclzbtuislvyhpwxdmjhiirrs\n", - "-2654.371768712168 vzku bjzqldmjppbqpysfvxujcfvpihuhylssdyqnpysfkjidhvopwrvnjysjltsnhfsfvnmhgzqqswbdclrbtuqslvqhpwfdmjziirzs\n", - "-2601.131729614014 vxku blzqlbmjprbqpwsfvzujcdvpijuhyjssdaqnpwsfklidhtopwtvnjwsjlvsnhdsfvpmhgxqqsybdcjrbtwqsltqhpyfdmhziitzs\n", - "-2622.913392580415 vxcu blhqlbejprjqpwkfvzcjcdnpijchyjksdaynpwkfklqdhtgpwtdnjwkjlvanhdkfvpuhgxiqsyjdcjjbtwysltihpyndmhriiths\n", - "-2610.7795846240283 vxca blhklbepprjkpwklvzcdcdnvijcbyjkydayhpwklklqxhtgvwtdhjwkplvahhdklvpubgxiwsyjxcjjhtwymltinpynxmhroithm\n", - "-2618.188147430995 vxna blwklbppprykpwvlvzrdcdyvijrbyjvydanhpwvlklfxhtrvwtshjwvplvphhdvlvpjbgxtwsyyxcjuhtwnmlttnpycxmhcoitwm\n", - "-2591.9207476585093 vxja blaklblpprckpwrlvzvdcduvijvbyjrydarhpwrlkljxhtnvwtwhjwrplvthhdrlvpnbgxpwsycxcjqhtwrmltpnpygxmhyoitam\n", - "-2627.0879406877334 vxjn blaxlblcprcxpwryvzvqcduiijvoyjrldarupwrykljkhtniwtwujwrclvtuhdryvpnogxpjsyckcjqutwrzltpapygkmhybitaz\n", - "-2623.0762826943674 vtjn bpaxlxlcpvcxpsryvdvqczuiinvoyfrlderupsrykpjkhpniwxwujsrclztuhzryvtnogtpjscckcfqutarzlppapcgkmdybixaz\n", - "-2581.150335620434 vtyn bplxlxacpvnxpsgyvdgqczjiingoyfgldecupsgykpukhpciwxhujsgclzeuhzgyvtyogtejscnkcffutaczlpeapcrkmdnbixlz\n", - "-2645.211046760138 vtin bpbxlxkcpvdxpsqyvdwqcztiinwoyfqldesupsqykpkkhpmiwxxujsqclzuuhzqyvtoogtojscdkcfputaszlpoapchkmdxbixbz\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2687.3046073199594 utin cpbxkxkcqvdxosqywdwqbztijnwoxfqleesuosqylpkkgpmixxxuisqcmzuugzqywtooftojtcdkbfpuuaszkpoaqchkldxbjxbz\n", - "-2705.698942846092 ujin czbxknkcqfdxoiqywnwqbptijxwoxvqleosuoiqylzkkgfmixhxuiiqcmjuugpqywdoofjojtmdkbvpuukszkfoaqmhkltxbjhbz\n", - "-2662.5878798775657 ujvn czoxknxcqfqxoidywnjqbpgijxjoxvdleofuoidylzxkgfzixhkuiidcmjhugpdywdbofjbjtmqkbvcuukfzkfbaqmukltkbjhoz\n", - "-2641.638231706388 ujyn czlxknacqfnxoigywngqbpjijxgoxvgleocuoigylzukgfcixhhuiigcmjeugpgywdyofjejtmnkbvfuukczkfeaqmrkltnbjhlz\n", - "-2676.222159466535 cjyn uzlxsnacifnxwigyongqjpjibxgofvglwocuwigydzukofciphhuqigcejeuopgyodyonjejlmnkjvfumkczsfeaimrkttnbbhlz\n", - "-2629.35919300418 ojyn izlxenacwfnxiigycngqvpjipxgorvglkocuiigyrzukafcidhhucigcsjeuapgycdyozjejzmnkvvfuakczefeawmrkftnbphlz\n", - "-2639.724999791564 ojyw izloenalwfnoiighcnghvpjrpxgfrvgukocliighrzubafcrdhhlciglsjelapghcdyfzjeszmnbvvfdakcqefejwmrbftnkphlq\n", - "-2652.5436992033256 qjyw gzlognalufnokighanghxpjrnxgftvguioclkighpzubcfcrbhhleiglqjelcpghadyfbjesxmnbxvfdykcqgfejumrbhtnknhlq\n", - "-2576.9250058034286 qjyx gzlngnamufnnkigianggxpjsnxgetvgviockkigipzuacfcsbhhkeigmqjekcpgiadyebjetxmnaxvfeykcpgfekumrahtnlnhlp\n", - "-2637.7097898428824 qjcx gzhngnemufjnkikiancgxpnsnxcetvkvioykkikipzqacfgsbhdkeikmqjakcpkiaduebjitxmjaxvjeykypgfikumnahtrlnhhp\n", - "-2649.7282396451715 qycx gkhngcemuqjnkxkiaycgxensnicetkkvizykkxkipkqacugsbsdkexkmquakcekiaouebyitxxjaxkjeyvypguikuxnahirlnshp\n", - "-2664.677711225564 qycm gkhygcebuqjykxkxaycrxenhnicptkkkizyvkxkxpkqlcughbsdvexkbquavcekxaoupbyiixxjlxkjtyvyaguizuxnlhiransha\n", - "-2622.044489956188 vycm bkhylcebpqjypxkxvycrcenhiicpykkkdzyvpxkxkkqlhughwsdvjxkbluavhekxvoupgyiisxjlckjttvyaluizpxnlmiraisha\n", - "-2622.044489956188 vycm bkhylcebpqjypxkxvycrcenhiicpykkkdzyvpxkxkkqlhughwsdvjxkbluavhekxvoupgyiisxjlckjttvyaluizpxnlmiraisha\n", - "-2621.4702308298165 vycj bkhblceypqjbpxkuvycuceneiicsykkhdzyypxkukkqohugewsdyjxkyluayhekuvousgyifsxjockjqtvydluiwpxnomirxishd\n", - "-2607.095018375796 vycx bkhnlcempqjnpxkivycgcensiiceykkvdzykpxkikkqahugswsdkjxkmluakhekivouegyitsxjackjetvypluikpxnamirlishp\n", - "-2636.9095402334106 oycx ikhnecemwqjnixkicycgvenspicerkkvkzykixkirkqaaugsdsdkcxkmsuakaekicouezyitzxjavkjeavypeuikwxnafirlpshp\n", - "-2649.864889914 oyci ikhcecexwqjcixktcycvvendpictrkkgkzyzixktrkqpaugddsdzcxkxsuazaektcoutzyiezxjpvkjpavyeeuivwxnpfirwpshe\n", - "-2619.4521045855786 otci iphcexexwvjcisktcdcvvzndpnctrfkgkeyzisktrpqpapgddxdzcskxszazazktctutztiezcjpvfjpaayeepivwcnpfdrwpxhe\n", - "-2634.7939778606897 otcz iphlexeowvjliskkcdcevznupnccrfkxkeyiiskkrpqyapgudxdicskoszaiazkkctucztivzcjyvfjgaaynepimwcnyfdrnpxhn\n", - "-2647.0730165628984 utcz cphlkxeoqvjloskkwdcebznujnccxfkxeeyioskklpqygpguxxdiiskomzaigzkkwtucftivtcjybfjguaynkpimqcnyldrnjxhn\n", - "-2654.481579369864 utnz cpwlkxpoqvylosvkwdrebzyujnrcxfvxeeniosvklpfygpruxxsiisvomzpigzvkwtjcfttvtcyybfuguannkptmqccyldcnjxwn\n", - "-2684.949121218777 utnd cpwhkxpsqvyhosvowdrabzyyjnryxfvbeeneosvolpfugpryxxseisvsmzpegzvowtjyfttztcyubfukuanjkptqqcculdcrjxwj\n", - "-2745.2100489891927 utno cpwwkxpdqvywosvzwdrpbzyjjnrnxfvmeentosvzlpfjgprjxxstisvdmzptgzvzwtjnfttktcyjbfuvuanykptbqccjldccjxwy\n", - "-2737.801486182225 utco cphwkxedqvjwoskzwdcpbznjjncnxfkmeeytoskzlpqjgpgjxxdtiskdmzatgzkzwtunftiktcjjbfjvuayykpibqcnjldrcjxhy\n", - "-2713.45659677275 uvco cnhwkzedqtjwoukzwbcpbbnjjlcnxhkmecytoukzlnqjgrgjxvdtiukdmxatgbkzwrunfviktajjbhjvuyyykribqanjlfrcjvhy\n", - "-2677.0873295606925 uvck cnhakzezqtjaoukvwbctbbnfjlcrxhkiecyxoukvlnqngrgfxvdxiukzmxaxgbkvwrurfvigtajnbhjruyyckrixqannlfryjvhc\n", - "-2677.0873295606925 uvck cnhakzezqtjaoukvwbctbbnfjlcrxhkiecyxoukvlnqngrgfxvdxiukzmxaxgbkvwrurfvigtajnbhjruyyckrixqannlfryjvhc\n", - "-2654.583791425602 uvzk cnkakzbzqtmaouhvwbftbbkfjlfrxhhiecbxouhvlntngrdfxvgxiuhzmxdxgbhvwrxrfvfgtamnbhgruybckrfxqaqnlfoyjvkc\n", - "-2706.563430294097 nvzk jnkadzbzxtmahuhvdbftubkfqlfrqhhilcbxhuhvsntnzrdfevgxbuhztxdxzbhvdrxryvfgaamnuhgrbybcdrfxxaqnefoyqvkc\n", - "-2655.123452135155 qvzk gnkagzbzutmakuhvabftxbkfnlfrthhiicbxkuhvpntncrdfbvgxeuhzqxdxcbhvarxrbvfgxamnxhgryybcgrfxuaqnhfoynvkc\n", - "-2655.845327303845 qvkk gnzagzmzutbakusvabutxbvfnlurthsiicqxkusvpnincrofbvvxeuszqxsxcbsvarmrbvqgxabnxhrryyqcgrqxuafnhfzynvzc\n", - "-2634.6586926793584 dvkk tnzatzmzhtbaxusvnbutkbvfalurghsivcqxxusvcninprofovvxruszdxsxpbsvnrmrovqgkabnkhrrlyqctrqxhafnufzyavzc\n", - "-2655.460570186666 dvuk tnpatzwzhtraxucvnbktkbffalkrghcivcgxxucvcnynpryfovlxruczdxixpbcvnrcrovagkarnkhbrlygctraxhavnufjyavpc\n", - "-2631.568909628307 dvud tnphtzwshtrhxuconbkakbfyalkyghcbvcgexucocnyupryyovlerucsdxiepbconrcyovazkarukhbklygjtraqhavuufjravpj\n", - "-2610.122322983418 vvud bnphlzwsptrhpucovbkacbfyilkyyhcbdcgepucoknyuhryywvlejucslxiehbcovrcygvazsaruchbktygjlraqpavumfjrivpj\n", - "-2581.4432517620935 vvua bnpklzwpptrkpuclvbkdcbfvilkbyhcydcghpuclknyxhryvwvlhjucplxihhbclvrcbgvawsarxchbhtygmlranpavxmfjoivpm\n", - "-2612.60194988541 vvuh bnpdlzwwptrdpucsvbkwcbfcilkuyhcfdcgapucsknyqhrycwvlajucwlxiahbcsvrcugvadsarqchbotygflraupavqmfjvivpf\n", - "-2548.7153453889673 vvsh bnrdlzuwpttdpuasvbmwcbdcilmuyhafdciapuasknaqhrwcwvnajuawlxkahbasvreugvydsatqchzotyiflryupaxqmfhvivrf\n", - "-2604.3404416820645 vvdh bngdlzfwptidpulsvbbwcbocilbuyhlfdcxapulsknpqhrhcwvcajulwlxzahblsvrtugvjdsaiqchkotyxflrjupamqmfsvivgf\n", - "-2686.0436603783455 hvdh pngdxzfwdtidbulsjbbwobocwlbukhlfrcxabulsynpqtrhckvcavulwzxzatblsjrtusvjdgaiqohkohyxfxrjudamqyfsvwvgf\n", - "-2683.564033476354 hvdd pnghxzfsdtihbulojbbaoboywlbykhlbrcxebuloynputrhykvcevulszxzetblojrtysvjzgaiuohkkhyxjxrjqdamuyfsrwvgj\n", - "-2707.455694034712 hvdk pngaxzfzdtiabulvjbbtobofwlbrkhlircxxbulvynpntrhfkvcxvulzzxzxtblvjrtrsvjggainohkrhyxcxrjxdamnyfsywvgc\n", - "-2694.19344956206 hvzk pnkaxzbzdtmabuhvjbftobkfwlfrkhhircbxbuhvyntntrdfkvgxvuhzzxdxtbhvjrxrsvfggamnohgrhybcxrfxdaqnyfoywvkc\n", - "-2612.4902308657784 vvzk bnkalzbzptmapuhvvbftcbkfilfryhhidcbxpuhvkntnhrdfwvgxjuhzlxdxhbhvvrxrgvfgsamnchgrtybclrfxpaqnmfoyivkc\n", - "-2592.874844525317 vvek bnfalzgzpthapumvvbatcbpfilaryhmidcwxpumvknonhrifwvbxjumzlxyxhbmvvrsrgvkgsahnchlrtywclrkxpalnmftyivfc\n", - "-2552.4379207020197 vveu bnfqlzgjpthqpumfvbajcbppilahyhmsdcwnpumfknodhripwvbnjumjlxynhbmfvrshgvkqsahdchlbtywslrkhpaldmftiivfs\n", - "-2566.3298753760378 gveu qnfqwzgjethqaumfkbajnbppxlahjhmsscwnaumfznodsriplvbnuumjaxynsbmfkrshrvkqhahdnhlbiywswrkhealdxftixvfs\n", - "-2611.8789242223697 gseu qqfqwwgjewhqarmfkeajnyppxoahjemssfwnarmfzqodsoiplybnurmjaaynsymfkushrskqhdhdnelbibwswokhedldxctixyfs\n", - "-2689.9765371588737 gdeu qffqwhgjelhqacmfktajnjppxdahjpmssuwnacmfzfodsziplnbnucmjapynsjmfkjshrdkqhshdnplbiqwswzkhesldxntixnfs\n", - "-2667.2290716788907 gdsu qfrqwhujeltqacafktmjnjdpxdmhjpassuinacafzfadszwplnnnucajapknsjafkjehrdyqhstdnpzbiqiswzyhesxdxnhixnrs\n", - "-2719.462884244748 gdmu qfxqwhojelzqacufktsjnjxpxdshjpussuonacufzfgdszqplntnucujapqnsjufkjkhrdsqhszdnptbiqoswzshesddxnbixnxs\n", - "-2742.496269317585 gdmn qfxxwhocelzxacuyktsqnjxixdsojpulsuouacuyzfgkszqilntuucucapqusjuykjkordsjhszknptuiqozwzsaesdkxnbbxnxz\n", - "-2643.4169073064795 gpmn qtxxwtocezzxaouykhsqnvxixrsojbulsiouaouyztgkslqilbtuuoucadqusvuykxkorpsjhgzknbtuieozwlsaegdkxzbbxbxz\n", - "-2663.4580475031253 gpnn qtwxwtpcezyxaovykhrqnvyixrrojbvlsinuaovyztfkslrilbsuuovcadpusvvykxjorptjhgyknbuuienzwltaegckxzcbxbwz\n", - "-2707.6901630244397 gknn qywxwopceeyxajvykmrqnqyixwrojwvlsnnuajvyzyfksgrilgsuujvcaipusqvykcjorktjhlyknwuuijnzwgtaelckxucbxgwz\n", - "-2704.6697937741224 gknb qywjwopqeeyjajvmkmrcnqywxwrajwvzsnngajvmzyfwsgrwlgsgujvqaipgsqvmkcjarktxhlywnwuiijnlwgtoelcwxucpxgwl\n", - "-2746.350761058874 gkny qywmwopneeymajvjkmrfnqytxwrdjwvwsnnjajvjzyfzsgrtlgsjujvnaipjsqvjkcjdrktuhlyznwufijnowgtlelczxucmxgwo\n", - "-2684.656777951601 gknu qywqwopjeeyqajvfkmrjnqypxwrhjwvssnnnajvfzyfdsgrplgsnujvjaipnsqvfkcjhrktqhlydnwubijnswgthelcdxucixgws\n", - "-2671.856612192069 gkou qyvqwoqjeexqajwfkmqjnqzpxwqhjwwssnmnajwfzyedsgsplgrnujwjaionsqwfkcihrkuqhlxdnwvbijmswguhelbdxudixgvs\n", - "-2662.643898726865 zkou xyvqpoqjlexqtjwfrmqjgqzpewqhcwwsznmntjwfgyedlgspsgrnnjwjhionlqwfrcihkkuqolxdgwvbpjmspguhllbdqudiegvs\n", - "-2730.71660902002 ekou syvquoqjgexqyjwfmmqjlqzpzwqhhwwsunmnyjwfbyedqgspngrnsjwjcionqqwfmcihpkuqjlxdlwvbkjmsuguhglbdvudizgvs\n", - "-2724.130457377636 ekru sysquotjgeuqyjzfmmnjlqcpzwnhhwzsunjnyjzfbybdqgvpngonsjzjcilnqqzfmcfhpkxqjludlwybkjjsugxhglydvugizgss\n", - "-2711.9966494212485 ekra syskuotpgeukyjzlmmndlqcvzwnbhwzyunjhyjzlbybxqgvvngohsjzpcilhqqzlmcfbpkxwjluxlwyhkjjmugxnglyxvugozgsm\n", - "-2702.1927410497983 ekka syzkuompgebkyjslmmudlqvvzwubhwsyunqhyjslbyixqgovngvhsjspcishqqslmcmbpkqwjlbxlwrhkjqmugqnglfxvuzozgzm\n", - "-2650.8873761927193 dkka tyzktomphebkxjslnmudkqvvawubgwsyvnqhxjslcyixpgovogvhrjspdishpqslncmbokqwklbxkwrhljqmtgqnhlfxuuzoagzm\n", - "-2634.120030756643 zkka xyzkpomplebktjslrmudgqvvewubcwsyznqhtjslgyixlgovsgvhnjsphishlqslrcmbkkqwolbxgwrhpjqmpgqnllfxquzoegzm\n", - "-2604.0343371733543 zkkx xyznpommlebntjsirmuggqvsewuecwsvznqktjsigyialgossgvknjsmhisklqsircmekkqtolbagwrepjqppgqkllfaquzlegzp\n", - "-2573.608285749087 zkpx xyunpormlewntjxirmpggqasewpecwxvznlktjxigydalgtssgqknjxmhinklqxirchekkvtolwagwwepjlppgvkllaaquelegup\n", - "-2554.355205618604 zkwx xynnpoymlepntjeirmiggqhsewiecwevznektjeigywalgassgjknjemhigklqeircaekkctolpagwdepjeppgcklltaqullegnp\n", - "-2616.574706477316 zkdx xygnpofmleintjlirmbggqosewbecwlvznxktjligypalghssgcknjlmhizklqlirctekkjtoliagwkepjxppgjkllmaqusleggp\n", - "-2616.574706477316 zkdx xygnpofmleintjlirmbggqosewbecwlvznxktjligypalghssgcknjlmhizklqlirctekkjtoliagwkepjxppgjkllmaqusleggp\n", - "-2675.8399888495996 akdx wygnqofmkeinujliqmbghqosdwbedwlvynxkujlifypamghsrgckojlmgizkmqliqctelkjtnliahwkeojxpqgjkklmarusldggp\n", - "-2635.3971209593988 axdx wlgnqbfmkrinuwliqzbghdosdjbedjlvyaxkuwliflpamthsrtckowlmgvzkmdliqptelxjtnyiahjkeowxpqtjkkymarhsldtgp\n", - "-2632.0058372321582 axmx wlxnqbomkrznuwuiqzsghdxsdjsedjuvyaokuwuiflgamtqsrttkowumgvqkmduiqpkelxstnyzahjteowopqtskkydarhbldtxp\n", - "-2449.4042186502 axlx wlynqbnmkranuwtiqztghdwsdjtedjtvyapkuwtiflhamtpsrtukowtmgvrkmdtiqplelxrtnyaahjseowppqtrkkyearhaldtyp\n", - "-2399.3516497431215 gxlx qlynwbnmeranawtikztgndwsxjtejjtvsapkawtizlhastpsltukuwtmavrksdtikplerxrthyaanjseiwppwtrkeyeaxhalxtyp\n", - "-2435.422630308464 gllx qxynwpnmedanaktikltgnrwsxvtejxtvsmpkaktizxhashpslfukuktmahrksrtikblerlrthkaanxseiippwhrkekeaxvalxfyp\n", - "-2492.8809045959565 tllx dxynjpnmrdannktixltgarwskvtewxtvfmpknktimxhafhpsyfukhktmnhrkfrtixbleelrtukaaaxsevippjhrkrkeakvalkfyp\n", - "-2456.8099240306146 txlx dlynjbnmrrannwtixztgadwskjtewjtvfapknwtimlhaftpsytukhwtmnvrkfdtixpleexrtuyaaajsevwppjtrkryeakhalktyp\n", - "-2445.231990906228 jxlx nlynzbnmbrandwtihztgqdwsujtemjtvpapkdwtiwlhavtpsitukxwtmxvrkvdtihpleuxrteyaaqjsefwppztrkbyeaahalutyp\n", - "-2628.4884322829157 jxrx nlsnzbtmbrundwzihzngqdcsujnemjzvpajkdwziwlbavtvsitokxwzmxvlkvdzihpfeuxxteyuaqjyefwjpztxkbyyaahglutsp\n", - "-2624.699184651804 jprx ntsnzttmbzundozihhngqvcsurnembzvpijkdoziwtbavlvsibokxozmxdlkvvzihxfeupxteguaqbyefejpzlxkbgyaazglubsp\n", - "-2615.766020059668 jerx nesnzitmbkunddzihsngqkcsucnemqzvptjkddziwebavavsimokxdzmxolkvkzihifeuexteruaqqyefpjpzaxkbryaaoglumsp\n", - "-2619.938247803641 aerx wesnqitmkkunudziqsnghkcsdcnedqzvytjkudzifebamavsrmokodzmgolkmkziqifelextnruahqyeopjpqaxkkryarogldmsp\n", - "-2589.7970779230377 aeex wefnqigmkkhnudmiqsaghkpsdcaedqmvytwkudmifeoamaisrmbkodmmgoykmkmiqiselektnrhahqleopwpqakkkrlarotldmfp\n", - "-2589.7970779230377 aeex wefnqigmkkhnudmiqsaghkpsdcaedqmvytwkudmifeoamaisrmbkodmmgoykmkmiqiselektnrhahqleopwpqakkkrlarotldmfp\n", - "-2626.110271090252 aeeq wefuqigfkkhuudmbqsanhkpldcaldqmoytwrudmbfeohmailrmbrodmfgoyrmkmbqisllekmnrhhhqlxopwwqakdkrlhrotedmfw\n", - "-2665.233810648553 ayeq wkfuqcgfkqhuuxmbqyanhepldialdkmoyzwruxmbfkohmuilrsbroxmfguyrmembqosllykmnxhhhklxovwwqukdkxlhritedsfw\n", - "-2685.571072157706 aykq wkzuqcmfkqbuuxsbqyunhevldiuldksoyzqruxsbfkihmuolrsvroxsfgusrmesbqomllyqmnxbhhkrxovqwquqdkxfhrizedszw\n", - "-2677.5551019461914 aykz wkzlqcmokqbluxskqyuehevudiucdksxyzqiuxskfkiymuoursvioxsogusimeskqomclyqvnxbyhkrgovqnquqmkxfyrizndszn\n", - "-2613.6105783650946 vykz bkzllcmopqblpxskvyuecevuiiucyksxdzqipxskkkiyhuouwsvijxsolusiheskvomcgyqvsxbyckrgtvqnluqmpxfymizniszn\n", - "-2494.261865984553 kykz mkzlacmoaqblexskgyuerevutiucnksxozqiexskvkiywuouhsviyxsowusiweskgomcvyqvdxbyrkrgevqnauqmaxfybizntszn\n", - "-2561.2680387330142 kygz mkdlacioaqflexokgyyererutiycnkoxozuiexokvkmywukuhsziyxoowuwiweokgoqcvymvdxfyrkngevunaummaxjybivntsdn\n", - "-2473.9246044754022 kyez mkflacgoaqhlexmkgyaereputiacnkmxozwiexmkvkoywuiuhsbiyxmowuyiwemkgoscvykvdxhyrklgevwnaukmaxlybitntsfn\n", - "-2540.6806327644003 kyqz mktlacsoaqvlexykgyoerebutiocnkyxozkiexykvkcywuuuhspiyxyowumiweykgogcvywvdxvyrkxgevknauwmaxzybifntstn\n", - "-2528.6621829621104 kjqz mztlansoafvleiykgnoerpbutxocnvyxookieiykvzcywfuuhhpiyiyowjmiwpykgdgcvjwvdmvyrvxgekknafwmamzybtfnthtn\n", - "-2498.633476196097 kjoz mzvlanqoafxleiwkgnqerpzutxqcnvwxoomieiwkvzeywfsuhhriyiwowjoiwpwkgdicvjuvdmxyrvvgekmnafumambybtdnthvn\n", - "-2689.3324175381513 tjoz dzvljnqorfxlniwkxnqeapzukxqcwvwxfominiwkmzeyffsuyhrihiwonjoifpwkxdicejuvumxyavvgvkmnjfumrmbyktdnkhvn\n", - "-2530.86891642576 tjot dzvrjnqirfxrniwexnqkapzokxqiwvwrfomoniwemzeeffsoyhrohiwinjoofpwexdiiejupumxeavvavkmtjfugrmbektdhkhvt\n", - "-2581.4850291603866 tjgt dzdrjniirffrnioexnykaprokxyiwvorfouonioemzmeffkoyhzohioinjwofpoexdqiejmpumfeavnavkutjfmgrmjektvhkhdt\n", - "-2584.2948530711124 tsgt dqdrjwiirwfrnroexeykayrokoyiweorffuonroemqmefokoyyzohroinawofyoexuqiesmpudfeaenavbutjomgrdjekcvhkydt\n", - "-2567.102351627622 txgt dldrjbiirrfrnwoexzykadrokjyiwjorfauonwoemlmeftkoytzohwoinvwofdoexpqiexmpuyfeajnavwutjtmgryjekhvhktdt\n", - "-2489.711790708148 txht dlcrjbjirrernwpexzxkadsokjxiwjprfatonwpemlleftloytyohwpinvvofdpexppiexnpuyeeajoavwttjtngryiekhwhktct\n", - "-2634.2532813188554 txhj dlcbjbjyrrebnwpuxzxuadsekjxswjphfatynwpumlloftleytyyhwpynvvyfdpuxppsexnfuyeoajoqvwtdjtnwryiokhwxktcd\n", - "-2634.2532813188554 txhj dlcbjbjyrrebnwpuxzxuadsekjxswjphfatynwpumlloftleytyyhwpynvvyfdpuxppsexnfuyeoajoqvwtdjtnwryiokhwxktcd\n", - "-2634.2532813188554 txhj dlcbjbjyrrebnwpuxzxuadsekjxswjphfatynwpumlloftleytyyhwpynvvyfdpuxppsexnfuyeoajoqvwtdjtnwryiokhwxktcd\n", - "-2662.097570404509 txhu dlcqjbjjrreqnwpfxzxjadspkjxhwjpsfatnnwpfmlldftlpytynhwpjnvvnfdpfxpphexnquyedajobvwtsjtnhryidkhwiktcs\n", - "-2508.7471203919927 tihu dacqjmjjrgeqnhpfxoxjaospkyxhwupsfptnnhpfmaldfelpyiynhhpjnkvnfopfxepheinqunedauobvltsjenhrnidkswikics\n", - "-2497.2545059638096 mihu kacqcmjjygeqghpfeoxjtospryxhpupsmptnghpftaldyelpfiynahpjukvnyopfeephxinqbnedtuobcltscenhyniddswirics\n", - "-2318.048179049944 kihu macqamjjageqehpfgoxjrosptyxhnupsoptnehpfvaldwelphiynyhpjwkvnwopfgephvinqdnedruobeltsaenhanidbswitics\n", - "-2318.048179049944 kihu macqamjjageqehpfgoxjrosptyxhnupsoptnehpfvaldwelphiynyhpjwkvnwopfgephvinqdnedruobeltsaenhanidbswitics\n", - "-2145.662399353586 kiht macramjiagerehpegoxkrosotyxinuproptoehpevalewelohiyoyhpiwkvowopegepivinpdneeruoaelttaenganiebswhtict\n", - "-2172.436847538431 kiot mavramqiagxrehwegoqkrozotyqinuwropmoehwevaeewesohiroyhwiwkoowowegeiiviupdnxeruvaelmtaeuganbebsdhtivt\n", - "-2325.7872975509426 kxot mlvrabqiarxrewwegzqkrdzotjqinjwroamoewwevleewtsohtroywwiwvoowdwegpiivxupdyxerjvaewmtatugaybebhdhttvt\n", - "-2259.7181059823606 kxwt mlnrabyiarpreweegzikrdhotjiinjeroaeoeweevlwewtaohtjoyweiwvgowdeegpaivxcpdyperjdaewetatcgaytebhlhttnt\n", - "-2404.2595965930686 kxwj mlnbabyyarpbeweugziurdhetjisnjehoaeyeweuvlwowtaehtjyyweywvgywdeugpasvxcfdyporjdqewedatcwaytobhlxttnd\n", - "-2404.2595965930686 kxwj mlnbabyyarpbeweugziurdhetjisnjehoaeyeweuvlwowtaehtjyyweywvgywdeugpasvxcfdyporjdqewedatcwaytobhlxttnd\n", - "-2448.6491489436585 kxwd mlnhabysarpheweogziardhytjiynjeboaeeeweovlwuwtayhtjeyweswvgewdeogpayvxczdypurjdkewejatcqaytubhlrttnj\n", - "-2458.4909564569016 kbwd mhnhafysanpheaeogviarhhytfiynneboweeeaeovhwuwxayhpjeyaeswrgewheoglayvbczdupurndkesejaxcqautubllrtpnj\n", - "-2399.726191652292 kbwx mhnnafymanpneaeigvigrhhstfiennevowekeaeivhwawxashpjkyaemwrgkwheiglaevbctduparndeesepaxckautabllltpnp\n", - "-2406.320596217907 kbsx mhrnafumantneaaigvmgrhdstfmennavowikeaaivhaawxwshpnkyaamwrkkwhaigleevbytdutarnzeesipaxykauxablhltprp\n", - "-2510.2340808648523 kbsy mhrmafunantmeaajgvmfrhdttfmdnnawowijeaajvhazwxwthpnjyaanwrkjwhajgledvbyudutzrnzfesioaxylauxzblhmtpro\n", - "-2424.394400656705 kbsp mhrvafueantveaaagvmorhdktfmmnnanowiseaaavhaiwxwkhpnsyaaewrkswhaaglemvbyldutirnzwesixaxycauxiblhdtprx\n", - "-2424.394400656705 kbsp mhrvafueantveaaagvmorhdktfmmnnanowiseaaavhaiwxwkhpnsyaaewrkswhaaglemvbyldutirnzwesixaxycauxiblhdtprx\n", - "-2386.196045740622 kvsp mnrvazueattveuaagbmorbdktlmmnhanociseuaavnaiwrwkhvnsyuaewxkswbaagremvvyldatirhzweyixarycaaxibfhdtvrx\n", - "-2401.8301809202158 kesp mervaiueaktvedaagsmorkdktcmmnqanotisedaaveaiwawkhmnsydaewokswkaagiemveyldrtirqzwepixaaycarxibohdtmrx\n", - "-2414.4888564850808 kepp meuvaireakwvedxagsporkaktcpmnqxnotlsedxavediwatkhmqsydxewonswkxagihmvevldrwirqwweplxaavcaraiboedtmux\n", - "-2500.32853669323 kepy meumairnakwmedxjgspfrkattcpdnqxwotljedxjvedzwatthmqjydxnwonjwkxjgihdvevudrwzrqwfeploaavlarazboemtmuo\n", - "-2357.3020551122636 kely meymainnakamedtjgstfrkwttctdnqtwotpjedtjvehzwapthmujydtnworjwktjgildverudrazrqsfeppoaarlarezboamtmyo\n", - "-2357.3020551122636 kely meymainnakamedtjgstfrkwttctdnqtwotpjedtjvehzwapthmujydtnworjwktjgildverudrazrqsfeppoaarlarezboamtmyo\n", - "-2315.6210878275133 kelb meyjainqakajedtmgstcrkwwtctanqtzotpgedtmvehwwapwhmugydtqworgwktmgilaverxdrawrqsiepplaaroarewboaptmyl\n", - "-2489.073620832747 kekb mezjaimqakbjedsmgsucrkvwtcuanqszotqgedsmveiwwaowhmvgydsqwosgwksmgimaveqxdrbwrqriepqlaaqoarfwbozptmzl\n", - "-2504.8367918448744 kmkb mwzjaqmqacbjelsmgkucrsvwtuuanyszolqgelsmvwiwwiowhevgylsqwgsgwssmgamavmqxdjbwryriehqlaiqoajfwbwzptezl\n", - "-2465.8336707718236 kmyb mwljaqaqacnjelgmgkgcrsjwtuganygzolcgelgmvwuwwicwhehgylgqwgegwsgmgayavmexdjnwryfiehclaieoajrwbwnptell\n", - "-2585.182383152364 vmyb bwljlqaqpcnjplgmvkgccsjwiugayygzdlcgplgmkwuwhicwwehgjlgqlgeghsgmvayagmexsjnwcyfithcllieopjrwmwnpiell\n", - "-2599.334125806973 vsyb bqljlwaqpwnjprgmvegccyjwiogayegzdfcgprgmkquwhocwwyhgjrgqlaeghygmvuyagsexsdnwcefitbclloeopdrwmcnpiyll\n", - "-2656.127301019805 vsyo bqlwlwadpwnwprgzvegpcyjjiognyegmdfctprgzkqujhocjwyhtjrgdlaethygzvuyngseksdnjcefvtbcyloebpdrjmcnciyly\n", - "-2665.0157219756356 xsyo zqlwnwadnwnwrrgztegpeyjjgognaegmbfctrrgziqujjocjuyhtlrgdjaetjygztuynisekqdnjeefvrbcynoebndrjocncgyly\n", - "-2644.0339729010325 xpyo ztlwntadnznwrogzthgpevjjgrgnabgmbictrogzitujjlcjubhtlogdjdetjvgztxynipekqgnjebfvrecynlebngrjozncgbly\n", - "-2662.205898064911 xjyo zzlwnnadnfnwrigztngpepjjgxgnavgmboctrigzizujjfcjuhhtligdjjetjpgztdynijekqmnjevfvrkcynfebnmrjotncghly\n", - "-2735.0206958053623 hjyo pzlwxnaddfnwbigzjngpopjjwxgnkvgmroctbigzyzujtfcjkhhtvigdzjettpgzjdynsjekgmnjovfvhkcyxfebdmrjytncwhly\n", - "-2724.3446853236655 hjwo pznwxnyddfpwbiezjnipophjwxinkvemroetbiezyzwjtfajkhjtviedzjgttpezjdansjckgmpjovdvhkeyxfcbdmtjytlcwhny\n", - "-2647.3207078361957 zjwo xznwpnydlfpwtiezrnipgphjexincvemzoettiezgzwjlfajshjtniedhjgtlpezrdankjckompjgvdvpkeypfcblmtjqtlcehny\n", - "-2706.8037477623984 zjro xzswpntdlfuwtizzrnnpgpcjexnncvzmzojttizzgzbjlfvjshotnizdhjltlpzzrdfnkjxkomujgvyvpkjypfxblmyjqtgcehsy\n", - "-2797.4913855858213 pjro hzswfntdvfuwjizzbnnpwpcjoxnnsvzmjojtjizzqzbjbfvjchotdizdrjltbpzzbdfnajxkymujwvyvzkjyffxbvmyjgtgcohsy\n", - "-2711.012927509416 xjro zzswnntdnfuwrizztnnpepcjgxnnavzmbojtrizzizbjjfvjuhotlizdjjltjpzztdfnijxkqmujevyvrkjynfxbnmyjotgcghsy\n", - "-2706.8037477623984 zjro xzswpntdlfuwtizzrnnpgpcjexnncvzmzojttizzgzbjlfvjshotnizdhjltlpzzrdfnkjxkomujgvyvpkjypfxblmyjqtgcehsy\n", - "-2602.153267641391 zjrj xzsbpntylfubtizurnnugpceexnscvzhzojytizugzbolfveshoynizyhjlylpzurdfskjxfomuogvyqpkjdpfxwlmyoqtgxehsd\n", - "-2616.0752781430706 zjrz xzslpntolfultizkrnnegpcuexnccvzxzojitizkgzbylfvushoinizohjlilpzkrdfckjxvomuygvygpkjnpfxmlmyyqtgnehsn\n", - "-2684.1479884362257 ejrz szsluntogfulyizkmnnelpcuzxnchvzxuojiyizkbzbyqfvunhoisizocjliqpzkmdfcpjxvjmuylvygkkjnufxmgmyyvtgnzhsn\n", - "-2728.333256133081 ejrv szspuntkgfupyizgmnnilpcqzxnghvztuojmyizgbzbcqfvqnhomsizkcjlmqpzgmdfgpjxrjmuclvyckkjrufxigmycvtgjzhsr\n", - "-2677.0278912760027 djrv tzsptntkhfupxizgnnnikpcqaxnggvztvojmxizgczbcpfvqohomrizkdjlmppzgndfgojxrkmuckvyclkjrtfxihmycutgjahsr\n", - "-2666.5021077358606 djzv tzkptnbkhfmpxihgnnfikpkqaxfggvhtvobmxihgcztcpfdqohgmrihkdjdmpphgndxgojfrkmmckvgclkbrtffihmqcutojahkr\n", - "-2740.422400123208 pjzv hzkpfnbkvfmpjihgbnfiwpkqoxfgsvhtjobmjihgqztcbfdqchgmdihkrjdmbphgbdxgajfrymmcwvgczkbrfffivmqcgtojohkr\n", - "-2710.2442383444627 sjzv ezkpinbksfmpmihgynfizpkqlxfgvvhtgobmmihgnztcefdqzhgmgihkojdmephgydxgdjfrvmmczvgcwkbriffismqcjtojlhkr\n", - "-2692.072313180584 spzv etkpitbkszmpmohgyhfizvkqlrfgvbhtgibmmohgnttceldqzbgmgohkoddmevhgyxxgdpfrvgmczbgcwebrilfisgqcjzojlbkr\n", - "-2695.8615608116957 sxzv elkpibbksrmpmwhgyzfizdkqljfgvjhtgabmmwhgnltcetdqztgmgwhkovdmedhgypxgdxfrvymczjgcwwbritfisyqcjhojltkr\n", - "-2706.536305010083 yxzv ylkpobbkmrmpswhgszfifdkqfjfgbjhtaabmswhghltcktdqttgmmwhkivdmkdhgspxgjxfrpymcfjgcqwbrotfimyqcphojftkr\n", - "-2736.4484059521424 yxnv ylwpobpkmrypswvgszrifdyqfjrgbjvtaanmswvghlfcktrqttsmmwvkivpmkdvgspjgjxtrpyycfjucqwnrottimyccphcjftwr\n", - "-2686.920918669622 yxev ylfpobgkmrhpswmgszaifdpqfjagbjmtaawmswmghlocktiqttbmmwmkivymkdmgspsgjxkrpyhcfjlcqwwrotkimylcphtjftfr\n", - "-2697.0948533800356 yxek ylfaobgzmrhaswmvszatfdpffjarbjmiaawxswmvhlonktifttbxmwmzivyxkdmvspsrjxkgpyhnfjlrqwwcotkxmylnphtyftfc\n", - "-2687.00606346492 yxpk yluaobrzmrwaswxvszptfdaffjprbjxiaalxswxvhldnkttfttqxmwxzivnxkdxvsphrjxvgpywnfjwrqwlcotvxmyanpheyftuc\n", - "-2634.4353316852375 yxpa ylukobrpmrwkswxlszpdfdavfjpbbjxyaalhswxlhldxkttvttqhmwxpivnhkdxlsphbjxvwpywxfjwhqwlmotvnmyaxpheoftum\n", - "-2594.7630322931245 wxpa alukmbrporwkqwxluzpdddavhjpbzjxycalhqwxljldxittvvtqhkwxpkvnhidxluphbhxvwrywxdjwhswlmmtvnoyaxnheohtum\n", - "-2586.1859626443393 wxya allkmbapornkqwgluzgdddjvhjgbzjgycachqwgljluxitcvvthhkwgpkvehidglupybhxewrynxdjfhswcmmtenoyrxnhnohtlm\n", - "-2631.008779674309 waya ailkmeapoonkqzgluwgddgjvhggbzmgycxchqzgljiuxiwcvvqhhkzgpksehigglumybhaewrvnxdmfhstcmmwenovrxnknohqlm\n", - "-2642.092558286644 wfya adlkmjapojnkqeglurgddljvhbgbzrgycschqegljduxibcvvlhhkegpknehilgluhybhfewrqnxdrfhsocmmbenoqrxnpnohllm\n", - "-2627.3479828717686 dfya tdlktjaphjnkxeglnrgdkljvabgbgrgyvschxeglcduxpbcvolhhregpdnehplglnhybofewkqnxkrfhlocmtbenhqrxupnoallm\n", - "-2688.132766911224 dfca tdhktjephjjkxeklnrcdklnvabcbgrkyvsyhxeklcdqxpbgvoldhrekpdnahplklnhubofiwkqjxkrjhloymtbinhqnxuproalhm\n", - "-2700.2665748676104 dfcu tdhqtjejhjjqxekfnrcjklnpabchgrksvsynxekfcdqdpbgpoldnrekjdnanplkfnhuhofiqkqjdkrjbloystbihhqnduprialhs\n", - "-2688.28882027266 dfru tdsqtjtjhjuqxezfnrnjklcpabnhgrzsvsjnxezfcdbdpbvpolonrezjdnlnplzfnhfhofxqkqudkryblojstbxhhqydupgialss\n", - "-2604.025677227513 dvru tnsqtztjhtuqxuzfnbnjkbcpalnhghzsvcjnxuzfcnbdprvpovonruzjdxlnpbzfnrfhovxqkaudkhyblyjstrxhhaydufgiavss\n", - "-2619.659812407107 deru tesqtitjhkuqxdzfnsnjkkcpacnhgqzsvtjnxdzfcebdpavpomonrdzjdolnpkzfnifhoexqkrudkqyblpjstaxhhryduogiamss\n", - "-2638.684702574037 derh tesdtitwhkudxdzsnsnwkkccacnugqzfvtjaxdzscebqpavcomoardzwdolapkzsnifuoexdkruqkqyolpjftaxuhryquogvamsf\n", - "-2614.1595380578246 defh teedtihwhkgdxdnsnszwkkqcaczugqnfvtvaxdnscenqpajcomaardnwdoxapknsniruoeldkrgqkqmolpvftaluhrkquouvamef\n", - "-2552.9151463512203 defx teentihmhkgnxdninszgkkqsaczegqnvvtvkxdnicenapajsomakrdnmdoxkpkninireoeltkrgakqmelpvptalkhrkauoulamep\n", - "-2564.278996082021 defe teegtihthkggxdnpnszzkkqzaczxgqncvtvdxdnpcentpajzomadrdntdoxdpknpnirxoelakrgtkqmllpvitalrhrktuousamei\n", - "-2606.7769330182296 aefe weegqihtkkggudnpqszzhkqzdczxdqncytvdudnpfentmajzrmadodntgoxdmknpqirxlelanrgthqmlopviqalrkrktrousdmei\n", - "-2579.0235714968967 wefe aeegmihtokggqdnpuszzdkqzhczxzqncctvdqdnpjentiajzvmadkdntkoxdiknpuirxhelarrgtdqmlspvimalrorktnoushmei\n", - "-2609.5785091185453 wofe auegmshtoaggqnnpuizzduqzhszxzanccjvdqnnpjuntikjzvcadknntkexdiunpuyrxholarhgtdamlsfvimklrohktnyushcei\n", - "-2563.389436317302 wvfe anegmzhtotggqunpubzzdbqzhlzxzhncccvdqunpjnntirjzvvadkuntkxxdibnpurrxhvlaragtdhmlsyvimrlroaktnfushvei\n", - "-2590.6510617660247 wvde anggmzftotigqulpubbzdbozhlbxzhlcccxdqulpjnptirhzvvcdkultkxzdiblpurtxhvjaraitdhklsyximrjroamtnfsshvgi\n", - "-2631.506892868892 wcde agggmgftomigqblpuubzdiozhebxzolccvxdqblpjgptiyhzvocdkbltkqzdiilpuktxhcjartitdoklsrximyjrotmtnmsshogi\n", - "-2609.2076854831444 gcde qgggwgftemigablpkubzniozxebxjolcsvxdablpzgptsyhzlocdubltaqzdsilpkktxrcjahtitnoklirxiwyjretmtxmssxogi\n", - "-2609.2076854831444 gcde qgggwgftemigablpkubzniozxebxjolcsvxdablpzgptsyhzlocdubltaqzdsilpkktxrcjahtitnoklirxiwyjretmtxmssxogi\n", - "-2655.1733453424554 mcde kgggcgftymiggblpeubztiozrebxpolcmvxdgblptgptyyhzfocdabltuqzdyilpektxxcjabtittoklcrxicyjrytmtdmssrogi\n", - "-2659.866563085919 msde kqggcwftywiggrlpeebztyozrobxpelcmfxdgrlptqptyohzfycdarltuazdyylpeutxxsjabditteklcbxicojrydmtdcssrygi\n", - "-2691.380506282421 mqde ksggcuftyyiggplpegbztwozrqbxpclcmhxdgplptsptymhzfacdapltuczdywlpewtxxqjabfittcklcdxicmjryfmtdassragi\n", - "-2635.7554099893237 mqse ksrgcuutyytggpapegmztwdzrqmxpcacmhidgpaptsatymwzfandapatuckdywapewexxqyabftttczlcdiicmyryfxtdahsrari\n", - "-2638.911390378329 lqse lsrgbuutzytgfpapfgmzswdzsqmxocacnhidfpapusatxmwzgandzpatvckdxwapfwexwqyacfttsczlddiibmyrzfxtcahssari\n", - "-2608.0374711367404 lose lurgbsutzatgfnapfimzsudzssmxoaacnjidfnapuuatxkwzgcndznatvekdxuapfyexwoyachttsazldfiibkyrzhxtcyhsscri\n", - "-2650.400322957185 loze lukgbsbtzamgfnhpfifzsukzssfxoahcnjbdfnhpuuttxkdzgcgdznhtveddxuhpfyxxwofachmtsagldfbibkfrzhqtcyosscki\n", - "-2630.0199493042273 qoze gukggsbtuamgknhpaifzxukznsfxtahcijbdknhpputtckdzbcgdenhtqeddcuhpayxxbofaxhmtxaglyfbigkfruhqthyosncki\n", - "-2660.138679536818 eoze sukgusbtgamgynhpmifzlukzzsfxhahcujbdynhpbuttqkdzncgdsnhtceddquhpmyxxpofajhmtlaglkfbiukfrghqtvyoszcki\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2488.955704125898 eize sakgumbtggmgyhhpmofzlokzzyfxhuhcupbdyhhpbattqedznigdshhtckddqohpmexxpifajnmtluglklbiuefrgnqtvsosziki\n", - "-2446.5928523054554 eise sargumutggtgyhapmomzlodzzymxhuacupidyhapbaatqewznindshatckkdqoapmeexpiyajnttluzlkliiueyrgnxtvshsziri\n", - "-2254.492188422953 kise margamutagtgehapgomzrodztymxnuacopidehapvaatwewzhindyhatwkkdwoapgeexviyadnttruzleliiaeyranxtbshstiri\n", - "-2305.360856054344 kisb marjamuqagtjehamgomcrodwtymanuazopigehamvaawwewwhingyhaqwkkgwoamgeeaviyxdntwruzielilaeyoanxwbshptirl\n", - "-2305.360856054344 kisb marjamuqagtjehamgomcrodwtymanuazopigehamvaawwewwhingyhaqwkkgwoamgeeaviyxdntwruzielilaeyoanxwbshptirl\n", - "-2311.872976966495 kisr martamugagttehacgommrodmtymknuapopiqehacvaagwewmhinqyhagwkkqwoacgeekviyndntgruzyelivaeyeanxgbshftirv\n", - "-2459.1473733645453 risr farthmugtgttlhaczommyodmmymkuuaphpiqlhacoaagdewmainqfhagpkkqdoaczeekciynwntgyuzyxlivheyetnxgishfmirv\n", - "-2452.55296879893 riwr fanthmygtgptlheczoimyohmmyikuuephpeqlhecoawgdeamaijqfhegpkgqdoeczeakcicnwnpgyudyxlevhecetntgislfminv\n", - "-2452.55296879893 riwr fanthmygtgptlheczoimyohmmyikuuephpeqlhecoawgdeamaijqfhegpkgqdoeczeakcicnwnpgyudyxlevhecetntgislfminv\n", - "-2412.1055534802845 riwz fanlhmyotgpllhekzoieyohumyicuuexhpeilhekoawydeauaijifheopkgidoekzeaccicvwnpyyudgxlenhecmtntyislnminn\n", - "-2412.1055534802845 riwz fanlhmyotgpllhekzoieyohumyicuuexhpeilhekoawydeauaijifheopkgidoekzeaccicvwnpyyudgxlenhecmtntyislnminn\n", - "-2456.9318209647386 eiwz sanlumyoggplyhekmoielohuzyichuexupeiyhekbawyqeaunijisheockgiqoekmeacpicvjnpyludgklenuecmgntyvslnzinn\n", - "-2446.708402447836 eiwp sanvumyeggpvyheamoiolohkzyimhuenupesyheabawiqeaknijssheeckgsqoeameampicljnpiludwklexueccgntivsldzinx\n", - "-2493.8874846215504 eiwn sanxumycggpxyheymoiqlohizyiohuelupeuyheybawkqeainijushecckguqoeymeaopicjjnpkluduklezuecagntkvslbzinz\n", - "-2430.023954075416 xiwn zanxnmycngpxrheytoiqeohigyioauelbpeurheyiawkjeaiuijulhecjkgujoeyteaoiicjqnpkeudurleznecanntkoslbginz\n", - "-2234.604789306217 xiwt zanrnmyingprrheetoikeohogyiiauerbpeorheeiawejeaouijolheijkgojoeeteaiiicpqnpeeudarletnecgnnteoslhgint\n", - "-2309.341510927618 xiit zabrnmkingdrrhqetowkeotogywiauqrbpsorhqeiakejemouixolhqijkuojoqeteoiiiopqndeeuparlstneognnheosxhgibt\n", - "-2345.028975786307 iiit oabrymkicgdrchqeiowkpotovywiluqrqpsochqexakeuemojixowhqiykuouoqeieoitiopfndepupaglstyeogcnhezsxhvibt\n", - "-2340.7732632269626 iiut oaprymwicgrrchceiokkpofovykilucrqpgochcexayeueyojilowhciykiouoceiecitiapfnrepubaglgtyeagcnvezsjhvipt\n", - "-2367.547606373952 tiut daprjmwirgrrnhcexokkaofokykiwucrfpgonhcemayefeyoyilohhcinkiofocexecieiapunreaubavlgtjeagrnveksjhkipt\n", - "-2296.1973774124426 viut baprlmwipgrrphcevokkcofoiykiyucrdpgophcekayeheyowilojhcilkiohocevecigiapsnrecubatlgtleagpnvemsjhiipt\n", - "-2287.9358692090973 vidt bagrlmfipgirphlevobkcoooiybiyulrdpxophlekapehehowicojhlilkzoholevetigijpsniecukatlxtlejgpnmemsshiigt\n", - "-2441.286319221611 vxdt blgrlbfiprirpwlevzbkcdooijbiyjlrdaxopwleklpehthowtcojwlilvzohdlevptigxjpsyiecjkatwxtltjgpymemhshitgt\n", - "-2441.286319221611 vxdt blgrlbfiprirpwlevzbkcdooijbiyjlrdaxopwleklpehthowtcojwlilvzohdlevptigxjpsyiecjkatwxtltjgpymemhshitgt\n", - "-2474.7651567411635 vxtt blqrlbviprsrpwbevzlkcdeoijliyjbrdahopwbeklzehtxowtmojwbilvjohdbevpdigxzpsysecjaatwhtltzgpywemhihitqt\n", - "-2491.9576581846545 vstt bqqrlwvipwsrprbevelkcyeoioliyebrdfhoprbekqzehoxowymojrbilajohybevudigszpsdseceaatbhtlozgpdwemcihiyqt\n", - "-2530.6717523834695 vftt bdqrljvipjsrpebevrlkcleoibliyrbrdshopebekdzehbxowlmojebilnjohlbevhdigfzpsqsecraatohtlbzgpqwempihilqt\n", - "-2441.5678185708202 vfst bdrrljuipjtrpeaevrmkcldoibmiyrardsiopeaekdaehbwowlnojeailnkohlaevheigfypsqtecrzatoitlbygpqxemphhilrt\n", - "-2476.3862762776653 vfat bdjrljcipjlrpeievrekclloibeiyrirdsaopeiekdsehbeowlfojeiilncohlievhwigfgpsqlecrhatoatlbggpqpempphiljt\n", - "-2485.274697233496 xfat zdjrnjcinjlrreietrekellogbeiarirbsaoreieidsejbeoulfoleiijncojliethwiifgpqqleerharoatnbggnqpeopphgljt\n", - "-2467.6042111764245 xgat zcjrnkcinilrrfietqekemlogaeiasirbraorfieicsejceoukfolfiijmcojmietgwiiggpqpleesharnatncggnppeoqphgkjt\n", - "-2463.3950314294066 zgat xcjrpkcililrtfierqekgmloeaeicsirzraotfiegcselceoskfonfiihmcolmiergwikggpoplegshapnatpcgglppeqqphekjt\n", - "-2593.561309586096 zgax xcjnpkcmlilntfiirqeggmlseaeecsivzraktfiigcsalcesskfknfimhmcklmiirgwekggtoplagshepnappcgklppaqqplekjp\n", - "-2607.9365220401164 zgaj xcjbpkcylilbtfiurqeugmleeaescsihzraytfiugcsolceeskfynfiyhmcylmiurgwskggfoplogshqpnadpcgwlppoqqpxekjd\n", - "-2631.182964848814 rgaj fcjbhkcytilblfiuzqeuymlemaesusihhraylfiuocsodceeakfyffiypmcydmiuzgwscggfwployshqxnadhcgwtppoiqpxmkjd\n", - "-2610.779380661983 roaj fujbhscytalblniuzieuyulemsesuaihhjaylniuousodkeeacfyfniypecyduiuzywscogfwhloyahqxfadhkgwthpoiypxmcjd\n", - "-2592.9468552635803 rxaj fljbhbcytrlblwiuzzeuydlemjesujihhaaylwiuolsodteeatfyfwiypvcyddiuzpwscxgfwyloyjhqxwadhtgwtypoihpxmtjd\n", - "-2624.7934670831946 jxaj nljbzbcybrlbdwiuhzeuqdleujesmjihpaaydwiuwlsovteeitfyxwiyxvcyvdiuhpwsuxgfeyloqjhqfwadztgwbypoahpxutjd\n", - "-2653.861613872792 jxuj nlpbzbwybrrbdwcuhzkuqdfeujksmjchpagydwcuwlyovtyeitlyxwcyxviyvdcuhpcsuxafeyroqjbqfwgdztawbyvoahjxutpd\n", - "-2459.607203360248 jxlj nlybzbnybrabdwtuhztuqdweujtsmjthpapydwtuwlhovtpeituyxwtyxvryvdtuhplsuxrfeyaoqjsqfwpdztrwbyeoahaxutyd\n", - "-2513.154996173353 fxlj rlybvbnyfrabzwtulztumdweyjtsijthtapyzwtualhortpemtuytwtybvryrdtulplsqxrfiyaomjsqjwpdvtrwfyeowhaxytyd\n", - "-2510.143633450133 fxle rlygvbntfragzwtplztzmdwzyjtxijtctapdzwtpalhtrtpzmtudtwttbvrdrdtplplxqxraiyatmjsljwpivtrrfyetwhasytyi\n", - "-2418.270131444793 dxle tlygtbnthragxwtpnztzkdwzajtxgjtcvapdxwtpclhtptpzotudrwttdvrdpdtpnplxoxrakyatkjsllwpittrrhyetuhasatyi\n", - "-2401.5027860087184 zxle xlygpbntlragtwtprztzgdwzejtxcjtczapdtwtpglhtltpzstudnwtthvrdldtprplxkxraoyatgjslpwpiptrrlyetqhasetyi\n", - "-2440.916115266429 zule xoygpyntluagtttprctzgawzemtxcgtczdpdtttpgohtlqpzswudnttthyrdlatprslxkuraobatggslpzpipqrrlbetqeasewyi\n", - "-2490.796657242232 zulh xoydpynwluadtttsrctwgawcemtucgtfzdpatttsgohqlqpcswuanttwhyralatsrslukurdobaqggsopzpfpqrulbeqqeavewyf\n", - "-2475.4526983903993 zhlh xbydplnwlhadtgtsrptwgnwceztucttfzqpatgtsgbhqldpcsjuangtwhlralntsrflukhrdooaqgtsopmpfpdruloeqqravejyf\n", - "-2715.9114041440967 zhgh xbddpliwlhfdtgosrpywgnrcezyuctofzquatgosgbmqldkcsjzangowhlwalnosrfqukhmdoofqgtnopmufpdmulojqqrvvejdf\n", - "-2709.0345351817095 zsgh xqddpwiwlwfdtrosreywgyrceoyuceofzfuatrosgqmqlokcsyzanrowhawalyosruquksmdodfqgenopbufpomuldjqqcvveydf\n", - "-2633.762093150958 zsah xqjdpwcwlwldtrisreewgylceoeuceifzfaatrisgqsqloecsyfanriwhacalyisruwuksgdodlqgehopbafpoguldpqqcpveyjf\n", - "-2633.762093150958 zsah xqjdpwcwlwldtrisreewgylceoeuceifzfaatrisgqsqloecsyfanriwhacalyisruwuksgdodlqgehopbafpoguldpqqcpveyjf\n", - "-2724.4497309743815 psah hqjdfwcwvwldjrisbeewwylcooeuseifjfaajrisqqsqboeccyfadriwracabyisbuwuasgdydlqwehozbaffoguvdpqgcpvoyjf\n", - "-2778.735207080184 psth hqqdfwvwvwsdjrbsbelwwyecoolusebfjfhajrbsqqzqboxccymadrbwrajabybsbuduaszdydsqweaozbhffozuvdwqgcivoyqf\n", - "-2862.2405171028945 pnth hvqdfrvwvbsdjmbsbjlwwtecotluszbfjkhajmbsqvzqbjxccdmadmbwrfjabtbsbzduanzdyisqwzaozghffjzuviwqgxivodqf\n", - "-2920.021817971319 pnto hvqwfrvdvbswjmbzbjlpwtejotlnszbmjkhtjmbzqvzjbjxjcdmtdmbdrfjtbtbzbzdnanzkyisjwzavzghyfjzbviwjgxicodqy\n", - "-2914.6141208851113 pdto hfqwfhvdvlswjcbzbtlpwjejodlnspbmjuhtjcbzqfzjbzxjcnmtdcbdrpjtbjbzbjdnadzkyssjwpavzqhyfzzbvswjgniconqy\n", - "-2822.3647652939976 pmto hwqwfqvdvcswjlbzbklpwsejoulnsybmjlhtjlbzqwzjbixjcemtdlbdrgjtbsbzbadnamzkyjsjwyavzhhyfizbvjwjgwicoeqy\n", - "-2732.5748896300215 pmtf hwqffqvuvcsfjlbqbklywseaoulwsybdjlhcjlbqqwzsbixacemcdlburgjcbsbqbadwamzbyjsswyamzhhhfizsvjwsgwitoeqh\n", - "-2781.0134130719216 prtf hrqffvvuvxsfjqbqbflywxeaoplwsdbdjghcjqbqqrzsbnxaczmcdqburbjcbxbqbvdwarzbyesswdamzchhfnzsvewsgbitozqh\n", - "-2781.0134130719216 prtf hrqffvvuvxsfjqbqbflywxeaoplwsdbdjghcjqbqqrzsbnxaczmcdqburbjcbxbqbvdwarzbyesswdamzchhfnzsvewsgbitozqh\n", - "-2824.8242452211366 pdtf hfqffhvuvlsfjcbqbtlywjeaodlwspbdjuhcjcbqqfzsbzxacnmcdcburpjcbjbqbjdwadzbyssswpamzqhhfzzsvswsgnitonqh\n", - "-2610.1086538083587 kdtf mfqfahvualsfecbqgtlyrjeatdlwnpbdouhcecbqvfzswzxahnmcycbuwpjcwjbqgjdwvdzbdsssrpameqhhazzsaswsbnittnqh\n", - "-2532.011040871855 kstf mqqfawvuawsferbqgelyryeatolwnebdofhcerbqvqzswoxahymcyrbuwajcwybqgudwvszbddssreamebhhaozsadwsbcittyqh\n", - "-2467.938361146465 ksvf mqofawxuawqferdqgejyrygatojwneddoffcerdqvqxswozahykcyrduwahcwydqgubwvsbbddqsrecmebfhaobsadusbckttyoh\n", - "-2506.793711555648 ksuf mqpfawwuawrfercqgekyryfatokwnecdofgcercqvqyswoyahylcyrcuwaicwycqgucwvsabddrsrebmebghaoasadvsbcjttyph\n", - "-2542.84124921031 kzuf mjpfadwuaprfeycqgxkyrffathkwnlcdoygceycqvjyswvyahrlcyycuwticwfcqgncwvzabdwrsrlbmeughavasawvsbjjttrph\n", - "-2704.2835221506753 uzuf cjpfkdwuqprfoycqwxkybffajhkwxlcdeygcoycqljysgvyaxrlciycumticgfcqwncwfzabtwrsblbmuughkvasqwvsljjtjrph\n", - "-2665.4261605852876 ujuf czpfknwuqfrfoicqwnkybpfajxkwxvcdeogcoicqlzysgfyaxhlciicumjicgpcqwdcwfjabtmrsbvbmukghkfasqmvsltjtjhph\n", - "-2647.547109078861 ujjf czafknluqfcfoirqwnvybpuajxvwxvrdeorcoirqlzjsgfnaxhwciirumjtcgprqwdnwfjpbtmcsbvqmukrhkfpsqmgsltytjhah\n", - "-2643.902407909289 ujzf czkfknbuqfmfoihqwnfybpkajxfwxvhdeobcoihqlztsgfdaxhgciihumjdcgphqwdxwfjfbtmmsbvgmukbhkffsqmqsltotjhkh\n", - "-2678.2261750165153 uqzf cskfkubuqymfophqwgfybwkajqfwxchdehbcophqlstsgmdaxagciphumcdcgwhqwwxwfqfbtfmsbcgmudbhkmfsqfqslaotjakh\n", - "-2476.1692803640053 uizf cakfkmbuqgmfohhqwofybokajyfwxuhdepbcohhqlatsgedaxigcihhumkdcgohqwexwfifbtnmsbugmulbhkefsqnqslsotjikh\n", - "-2508.1778551595585 uizh cakdkmbwqgmdohhswofwbokcjyfuxuhfepbaohhslatqgedcxigaihhwmkdagohswexufifdtnmqbugoulbfkefuqnqqlsovjikf\n", - "-2529.701607835555 uiuh capdkmwwqgrdohcswokwbofcjykuxucfepgaohcslayqgeycxilaihcwmkiagocswecufiadtnrqbuboulgfkeauqnvqlsjvjipf\n", - "-2518.7036386997006 uirh casdkmtwqgudohzswonwboccjynuxuzfepjaohzslabqgevcxioaihzwmklagozswefufixdtnuqbuyouljfkexuqnyqlsgvjisf\n", - "-2521.1859639543986 iirh oasdymtwcgudchzsionwpoccvynuluzfqpjachzsxabquevcjioawhzwyklauozsiefutixdfnuqpuyogljfyexucnyqzsgvvisf\n", - "-2488.2387952034946 iirz oaslymtocgulchzkionepocuvyncluzxqpjichzkxabyuevujioiwhzoykliuozkiefctixvfnuypuyggljnyexmcnyyzsgnvisn\n", - "-2478.0153766865906 iirp oasvymtecguvchzaionopockvynmluznqpjschzaxabiuevkjioswhzeyklsuozaiefmtixlfnuipuywgljxyexccnyizsgdvisx\n", - "-2487.9149933125 birp vasvrmtejguvvhzaponoiockcynmeuznxpjsvhzaeabinevkqiosphzefklsnozapefmmixlmnuiiuywnljxrexcjnyissgdcisx\n", - "-2493.2971054053983 mirp kasvcmteyguvghzaeonotockrynmpuznmpjsghzatabiyevkfiosahzeuklsyozaeefmxixlbnuituywcljxcexcynyidsgdrisx\n", - "-2659.146839117944 mcrp kgsvcgteymuvgbzaeunotickrenmpoznmvjsgbzatgbiyyvkfoosabzeuqlsyizaekfmxcxlbtuitoywcrjxcyxcytyidmgdrosx\n", - "-2629.10374644223 ocrp igsvegtewmuvibzacunovickpenmroznkvjsibzargbiayvkdooscbzesqlsaizackfmzcxlztuivoywarjxeyxcwtyifmgdposx\n", - "-2569.620706516029 ocwp ignvegyewmpvibeacuiovihkpeimroenkvesibeargwiayakdojscbeesqgsaieackamzcclztpivodwarexeyccwttifmldponx\n", - "-2599.6637991917414 mcwp kgnvcgyeympvgbeaeuiotihkreimpoenmvesgbeatgwiyyakfojsabeeuqgsyieaekamxcclbtpitodwcrexcyccyttidmldronx\n", - "-2592.953844483744 mcwe kgngcgytympggbepeuiztihzreixpoecmvedgbeptgwtyyazfojdabetuqgdyiepekaxxccabtpttodlcreicycrytttdmlsroni\n", - "-2587.5717323908443 bcwe vgngrgytjmpgvbeppuiziihzceixeoecxvedvbepegwtnyazqojdpbetfqgdnieppkaxmccamtptiodlnreirycrjtttsmlsconi\n", - "-2596.1098248727494 lcwe lgngbgytzmpgfbepfuizsihzseixooecnvedfbepugwtxyazgojdzbetvqgdxiepfkaxwccactptsodldreibycrztttcmlssoni\n", - "-2413.7475175698773 kcwe mgngagytampgebepguizrihzteixnoecovedebepvgwtwyazhojdybetwqgdwiepgkaxvccadtptrodlereiaycratttbmlstoni\n", - "-2425.3176042757286 khwe mbngalytahpgegepgpizrnhztzixntecoqedegepvbwtwdazhjjdygetwlgdwnepgfaxvhcadoptrtdlemeiadcraottbrlstjni\n", - "-2425.3176042757286 khwe mbngalytahpgegepgpizrnhztzixntecoqedegepvbwtwdazhjjdygetwlgdwnepgfaxvhcadoptrtdlemeiadcraottbrlstjni\n", - "-2474.996735830476 khke mbzgalmtahbgegspgpuzrnvztzuxntscoqqdegspvbitwdozhjvdygstwlsdwnspgfmxvhqadobtrtrlemqiadqraoftbrzstjzi\n", - "-2301.544202825245 khle mbygalntahagegtpgptzrnwztztxnttcoqpdegtpvbhtwdpzhjudygttwlrdwntpgflxvhradoatrtslempiadrraoetbrastjyi\n", - "-2305.1298246748365 khlm mbyyalnbahayegtxgptrrnwhtztpnttkoqpvegtxvbhlwdphhjuvygtbwlrvwntxgflpvhridoalrtstempaadrzaoelbraatjya\n", - "-2463.8611015353076 khfm mbeyalhbahgyegnxgpzrrnqhtzzpntnkoqvvegnxvbnlwdjhhjavygnbwlxvwnnxgfrpvhlidoglrtmtemvaadlzaoklbruatjea\n", - "-2535.081845509425 kdfm mfeyahhbalgyecnxgtzrrjqhtdzpnpnkouvvecnxvfnlwzjhhnavycnbwpxvwjnxgjrpvdlidsglrpmteqvaazlzasklbnuatnea\n", - "-2435.780073136063 ktfm mpeyaxhbavgyesnxgdzrrzqhtnzpnfnkoevvesnxvpnlwpjhhxavysnbwzxvwznxgtrpvtlidcglrfmteavaaplzacklbduatxea\n", - "-2450.5013292808226 ktkm mpzyaxmbavbyessxgdurrzvhtnupnfskoeqvessxvpilwpohhxvvyssbwzsvwzsxgtmpvtqidcblrfrteaqaapqzacflbdzatxza\n", - "-2449.927070154451 ktkj mpzbaxmyavbbessugduurzvetnusnfshoeqyessuvpiowpoehxvyyssywzsywzsugtmsvtqfdcborfrqeaqdapqwacfobdzxtxzd\n", - "-2578.1642034908236 xtkj zpzbnxmynvbbrssutduuezvegnusafshbeqyrssuipiojpoeuxvylssyjzsyjzsuttmsitqfqcboefrqraqdnpqwncfoodzxgxzd\n", - "-2607.3544292641914 xtnj zpwbnxpynvybrsvutdruezyegnrsafvhbenyrsvuipfojpreuxsylsvyjzpyjzvuttjsittfqcyoefuqrandnptwnccoodcxgxwd\n", - "-2581.0870294917045 xtjj zpabnxlynvcbrsrutdvuezuegnvsafrhberyrsruipjojpneuxwylsryjztyjzruttnsitpfqccoefqqrardnppwncgoodyxgxad\n", - "-2581.309439853959 xpjj ztabntlynzcbroruthvuevuegrvsabrhbiryroruitjojlneubwyloryjdtyjvrutxnsippfqgcoebqqrerdnlpwnggoozyxgbad\n", - "-2639.4167180524955 xpjv ztapntlknzcprorgthvievuqgrvgabrtbirmrorgitjcjlnqubwmlorkjdtmjvrgtxngipprqgccebqcrerrnlpinggcozyjgbar\n", - "-2645.642977628336 xpmv ztxpntoknzzprougthsievxqgrsgabutbiomrougitgcjlqqubtmloukjdqmjvugtxkgipsrqgzcebtcreornlsingdcozbjgbxr\n", - "-2638.413373588293 xpmn ztxxntocnzzxrouythsqevxigrsoabulbiourouyitgkjlqiubtuloucjdqujvuytxkoipsjqgzkebtureoznlsangdkozbbgbxz\n", - "-2651.045950977972 xpcn zthxntecnzjxrokythcqevnigrcoabklbiyurokyitqkjlgiubdulokcjdaujvkytxuoipijqgjkebjureyznliangnkozrbgbhz\n", - "-2642.1127863858364 xecn zehxniecnkjxrdkytscqeknigccoaqklbtyurdkyieqkjagiumduldkcjoaujkkytiuoieijqrjkeqjurpyznaianrnkoorbgmhz\n", - "-2619.6092482507443 xezn zekxnibcnkmxrdhytsfqekkigcfoaqhlbtburdhyietkjadiumguldhcjodujkhytixoiefjqrmkeqgurpbznafanrqkooobgmkz\n", - "-2446.8785904142005 xeln zeyxnincnkaxrdtytstqekwigctoaqtlbtpurdtyiehkjapiumuuldtcjorujktytiloierjqrakeqsurppznaranrekooabgmyz\n", - "-2472.100286337473 xcln zgyxngncnmaxrbtytutqeiwigetoaotlbvpurbtyighkjypiuouulbtcjqrujitytkloicrjqtakeosurrpznyrantekomabgoyz\n", - "-2455.5893446440805 xtln zpyxnxncnvaxrstytdtqezwigntoaftlbepurstyiphkjppiuxuulstcjzrujztyttloitrjqcakefsurapznprancekodabgxyz\n", - "-2432.5559595712407 xtlu zpyqnxnjnvaqrstftdtjezwpgnthaftsbepnrstfiphdjpppuxunlstjjzrnjztfttlhitrqqcadefsbrapsnprhncedodaigxys\n", - "-2486.681133537744 ltlu lpyqbxnjzvaqfstffdtjszwpsnthoftsnepnfstfuphdxpppgxunzstjvzrnxztfftlhwtrqccadsfsbdapsbprhzcedcdaisxys\n", - "-2457.4169816786593 ltli lpycbxnxzvacfsttfdtvszwdsnttoftgnepzfsttuphpxppdgxuzzstxvzrzxzttftltwtreccapsfspdapebprvzcepcdawsxye\n", - "-2514.6686787701815 lzli ljycbdnxzpacfyttfxtvsfwdshttoltgnypzfyttujhpxvpdgruzzytxvtrzxfttfnltwzrecwapslspdupebvrvzwepcjawsrye\n", - "-2560.478093894203 lzld ljyhbdnszpahfytofxtasfwyshtyoltbnypefytoujhuxvpygruezytsvtrexftofnlywzrzcwauslskdupjbvrqzweucjarsryj\n", - "-2518.911085616758 dzld tjyhtdnshpahxytonxtakfwyahtygltbvypexytocjhupvpyoruerytsdtrepftonnlyozrzkwauklsklupjtvrqhweuujararyj\n", - "-2552.0205678801267 dzlc tjyitdnrhpaixytnnxtbkfwxahtzgltavypfxytncjhvpvpxorufrytrdtrfpftnnnlzozrykwavklsjlupktvrphwevujaqaryk\n", - "-2539.4624021910695 xzlc zjyindnrnpairytntxtbefwxghtzaltabypfrytnijhvjvpxuruflytrjtrfjftntnlzizryqwavelsjrupknvrpnwevojaqgryk\n", - "-2516.332793397435 xzlr zjytndngnpatrytctxtmefwmghtkaltpbypqrytcijhgjvpmuruqlytgjtrqjftctnlkizrnqwagelsyrupvnvrenwegojafgryv\n", - "-2550.0775937109815 qzlr gjytgdngupatkytcaxtmxfwmnhtktltpiypqkytcpjhgcvpmbruqeytgqtrqcftcanlkbzrnxwagxlsyyupvgvreuweghjafnryv\n", - "-2592.1276689928222 qdlr gfytghngulatkctcattmxjwmndtktptpiupqkctcpfhgczpmbnuqectgqprqcjtcajlkbdrnxsagxpsyyqpvgzreuseghnafnnyv\n", - "-2620.8446766849547 tdlr dfytjhngrlatnctcxttmajwmkdtkwptpfupqnctcmfhgfzpmynuqhctgnprqfjtcxjlkedrnusagapsyvqpvjzrersegknafknyv\n", - "-2574.2610069449506 tqlr dsytjungryatnptcxgtmawwmkqtkwctpfhpqnptcmshgfmpmyauqhptgncrqfwtcxwlkeqrnufagacsyvdpvjmrerfegkaafkayv\n", - "-2551.9556896400154 tylr dkytjcngrqatnxtcxytmaewmkitkwktpfzpqnxtcmkhgfupmysuqhxtgnurqfetcxolkeyrnuxagaksyvvpvjurerxegkiafksyv\n", - "-2551.9556896400154 tylr dkytjcngrqatnxtcxytmaewmkitkwktpfzpqnxtcmkhgfupmysuqhxtgnurqfetcxolkeyrnuxagaksyvvpvjurerxegkiafksyv\n", - "-2553.1843381547033 twlr dmytjangrsatnvtcxatmacwmkktkwitpfbpqnvtcmmhgfspmyuuqhvtgnwrqfctcxqlkewrnuzagaisyvxpvjsrerzegkgafkuyv\n", - "-2481.8341091931948 vwlr bmytlangpsatpvtcvatmccwmiktkyitpdbpqpvtckmhghspmwuuqjvtglwrqhctcvqlkgwrnszagcisytxpvlsrepzegmgafiuyv\n", - "-2441.386693874548 vwlz bmyllanopsalpvtkvateccwuiktcyitxdbpipvtkkmhyhspuwuuijvtolwrihctkvqlcgwrvszaycisgtxpnlsrmpzeymganiuyn\n", - "-2501.244308407876 mwlz kmylcanoysalgvtkeatetcwurktcpitxmbpigvtktmhyyspufuuiavtouwriyctkeqlcxwrvbzaytisgcxpncsrmyzeydganruyn\n", - "-2541.6917237265216 mwlr kmytcangysatgvtceatmtcwmrktkpitpmbpqgvtctmhgyspmfuuqavtguwrqyctceqlkxwrnbzagtisycxpvcsreyzegdgafruyv\n", - "-2503.280695838083 dwlr tmyttanghsatxvtcnatmkcwmaktkgitpvbpqxvtccmhgpspmouuqrvtgdwrqpctcnqlkowrnkzagkisylxpvtsrehzegugafauyv\n", - "-2523.9276697530163 uwlr cmytkangqsatovtcwatmbcwmjktkxitpebpqovtclmhggspmxuuqivtgmwrqgctcwqlkfwrntzagbisyuxpvksreqzeglgafjuyv\n", - "-2467.9413465004313 uvlr cnytkzngqtatoutcwbtmbbwmjltkxhtpecpqoutclnhggrpmxvuqiutgmxrqgbtcwrlkfvrntaagbhsyuypvkrreqaeglfafjvyv\n", - "-2429.282401809373 uvla cnykkznpqtakoutlwbtdbbwvjltbxhtyecphoutllnhxgrpvxvuhiutpmxrhgbtlwrlbfvrwtaaxbhshuypmkrrnqaexlfaojvym\n", - "-2441.6643436899803 bvla vnykrznpjtakvutlpbtdibwvcltbehtyxcphvutlenhxnrpvqvuhputpfxrhnbtlprlbmvrwmaaxihshnypmrrrnjaexsfaocvym\n", - "-2441.6643436899803 bvla vnykrznpjtakvutlpbtdibwvcltbehtyxcphvutlenhxnrpvqvuhputpfxrhnbtlprlbmvrwmaaxihshnypmrrrnjaexsfaocvym\n", - "-2470.343414911303 bvld vnyhrznsjtahvutopbtaibwycltyehtbxcpevutoenhunrpyqvueputsfxrenbtoprlymvrzmaauihsknypjrrrqjaeusfarcvyj\n", - "-2452.0590745306367 wvld anyhmznsotahqutoubtadbwyhltyzhtbccpequtojnhuirpyvvuekutskxreibtourlyhvrzraaudhsksypjmrrqoaeunfarhvyj\n", - "-2452.0590745306367 wvld anyhmznsotahqutoubtadbwyhltyzhtbccpequtojnhuirpyvvuekutskxreibtourlyhvrzraaudhsksypjmrrqoaeunfarhvyj\n", - "-2424.7563334267047 xvld znyhnznsntahrutotbtaebwygltyahtbbcperutoinhujrpyuvuelutsjxrejbtotrlyivrzqaauehskrypjnrrqnaeuofargvyj\n", - "-2480.742656679289 xwld zmyhnansnsahrvtotataecwygktyaitbbbpervtoimhujspyuuuelvtsjwrejctotqlyiwrzqzaueiskrxpjnsrqnzeuogarguyj\n", - "-2501.6687575810747 owld imyheanswsahivtocatavcwypktyritbkbpeivtormhuaspyduuecvtsswreactocqlyzwrzzzauviskaxpjesrqwzeufgarpuyj\n", - "-2454.267842507267 owle imygeantwsagivtpcatzvcwzpktxritckbpdivtprmhtaspzduudcvttswrdactpcqlxzwrazzatvislaxpiesrrwzetfgaspuyi\n", - "-2487.466915571982 lwle lmygbantzsagfvtpfatzscwzsktxoitcnbpdfvtpumhtxspzguudzvttvwrdxctpfqlxwwraczatsisldxpibsrrzzetcgassuyi\n", - "-2621.9163275041624 lwye lmlgbaatzsngfvgpfagzscjzskgxoigcnbcdfvgpumutxsczguhdzvgtvwedxcgpfqyxwweaczntsifldxcibserzzrtcgnssuli\n", - "-2693.208903136332 lwyk lmlabaazzsnafvgvfagtscjfskgroiginbcxfvgvumunxscfguhxzvgzvwexxcgvfqyrwwegcznnsifrdxccbsexzzrncgnysulc\n", - "-2703.815236871822 lgyk lclabkazzinaffgvfqgtsmjfsagrosginrcxffgvucunxccfgkhxzfgzvmexxmgvfgyrwgegcpnnssfrdnccbcexzprncqnysklc\n", - "-2717.0584095173695 lryk lrlabvazzxnafqgvffgtsxjfspgrodgingcxfqgvurunxncfgzhxzqgzvbexxxgvfvyrwregcennsdfrdcccbnexzerncbnyszlc\n", - "-2696.634501516595 lryb lrljbvaqzxnjfqgmffgcsxjwspgaodgzngcgfqgmuruwxncwgzhgzqgqvbegxxgmfvyawrexcenwsdfidcclbneozerwcbnpszll\n", - "-2740.44533366581 ldyb lfljbhaqzlnjfcgmftgcsjjwsdgaopgznucgfcgmufuwxzcwgnhgzcgqvpegxjgmfjyawdexcsnwspfidqclbzeozsrwcnnpsnll\n", - "-2754.109227063447 cdyb ufljshaqilnjwcgmotgcjjjwbdgafpgzwucgwcgmdfuwozcwpnhgqcgqepegojgmojyandexlsnwjpfimqclszeoisrwtnnpbnll\n", - "-2750.6414745058632 cdyd uflhshasilnhwcgootgajjjybdgyfpgbwucewcgodfuuozcypnheqcgsepeeojgoojyyndezlsnujpfkmqcjszeqisrutnnrbnlj\n", - "-2739.9654640241665 cdwd ufnhshysilphwceootiajjhybdiyfpebwueewceodfwuozaypnjeqcesepgeojeoojayndczlspujpdkmqejszcqistutnlrbnnj\n", - "-2644.6753496441715 cxwd ulnhsbysirphwweooziajdhybjiyfjebwaeewweodlwuotayptjeqwesevgeodeoopaynxczlypujjdkmwejstcqiytuthlrbtnj\n", - "-2616.3188022413306 cvwd unnhszysitphwueoobiajbhybliyfhebwceewueodnwuoraypvjequesexgeobeooraynvczlapujhdkmyejsrcqiatutflrbvnj\n", - "-2593.867230603933 cvwq unnuszyfitpuwuebobinjbhlblilfheowcerwuebdnwhoralpvjrquefexgrobeboralnvcmlaphjhdxmyewsrcdiathtflebvnw\n", - "-2653.350270530135 cvrq unsusztfituuwuzbobnnjbclblnlfhzowcjrwuzbdnbhorvlpvorquzfexlrobzborflnvxmlauhjhyxmyjwsrxdiayhtfgebvsw\n", - "-2684.747576721857 cmrq uwsusqtficuuwlzboknnjsclbunlfyzowljrwlzbdwbhoivlpeorqlzfeglroszboaflnmxmljuhjyyxmhjwsixdijyhtwgebesw\n", - "-2501.4911353451703 cmlq uwyusqnficauwltboktnjswlbutlfytowlprwltbdwhhoiplpeurqltfegrrostboallnmrmljahjysxmhpwsirdijehtwaebeyw\n", - "-2526.0801524060316 cwlq umyusanfisauwvtboatnjcwlbktlfitowbprwvtbdmhhosplpuurqvtfewrroctboqllnwrmlzahjisxmxpwssrdizehtgaebuyw\n", - "-2554.3569721985937 cflq udyusjnfijauwetbortnjlwlbbtlfrtowsprwetbddhhobplplurqetfenrroltbohllnfrmlqahjrsxmopwsbrdiqehtpaeblyw\n", - "-2505.6051678961326 rflq fdyuhjnftjauletbzrtnylwlmbtlurtohsprletbodhhdbplalurfetfpnrrdltbzhllcfrmwqahyrsxxopwhbrdtqehipaemlyw\n", - "-2469.29197472892 rflx fdynhjnmtjanletizrtgylwsmbteurtvhspkletiodhadbpsalukfetmpnrkdltizhlecfrtwqaayrsexopphbrktqeaipalmlyp\n", - "-2430.577880530107 rslx fqynhwnmtwanlrtizetgyywsmoteuetvhfpklrtioqhadopsayukfrtmparkdytizulecsrtwdaayesexbpphorktdeaicalmyyp\n", - "-2430.577880530107 rslx fqynhwnmtwanlrtizetgyywsmoteuetvhfpklrtioqhadopsayukfrtmparkdytizulecsrtwdaayesexbpphorktdeaicalmyyp\n", - "-2385.028831683777 rvlx fnynhznmttanlutizbtgybwsmlteuhtvhcpklutionhadrpsavukfutmpxrkdbtizrlecvrtwaaayhsexypphrrktaeaifalmvyp\n", - "-2397.9841813643648 rvli fnychznxttacluttzbtvybwdmlttuhtghcpzluttonhpdrpdavuzfutxpxrzdbttzrltcvrewaapyhspxypehrrvtaepifawmvye\n", - "-2383.950452020871 gvli qnycwznxetacauttkbtvnbwdxlttjhtgscpzauttznhpsrpdlvuzuutxaxrzsbttkrltrvrehaapnhspiypewrrveaepxfawxvye\n", - "-2383.950452020871 gvli qnycwznxetacauttkbtvnbwdxlttjhtgscpzauttznhpsrpdlvuzuutxaxrzsbttkrltrvrehaapnhspiypewrrveaepxfawxvye\n", - "-2370.9951023402823 gvlx qnynwznmetanautikbtgnbwsxltejhtvscpkautiznhasrpslvukuutmaxrksbtikrlervrthaaanhseiyppwrrkeaeaxfalxvyp\n", - "-2409.1934572563646 gblx qhynwfnmenanaatikvtgnhwsxftejntvswpkaatizhhasxpslpukuatmarrkshtikllerbrthuaannseisppwxrkeueaxlalxpyp\n", - "-2404.189923538178 xblx zhynnfnmnnanratitvtgehwsgfteantvbwpkratiihhajxpsupuklatmjrrkjhtitlleibrtquaaensersppnxrknueaolalgpyp\n", - "-2390.3364580315692 xtlx zpynnxnmnvanrstitdtgezwsgnteaftvbepkrstiiphajppsuxuklstmjzrkjztittleitrtqcaaefserappnprknceaodalgxyp\n", - "-2495.0459274911354 xnlx zvynnrnmnbanrmtitjtgetwsgtteaztvbkpkrmtiivhajjpsuduklmtmjfrkjttitzleinrtqiaaezsergppnjrknieaoxalgdyp\n", - "-2618.819328941621 xnwx zvnnnrymnbpnrmeitjigethsgtieazevbkekrmeiivwajjasudjklmemjfgkjteitzaeinctqipaezdergepnjcknitaoxllgdnp\n", - "-2532.5041950081836 xjwx zznnnnymnfpnrieitnigephsgxieavevboekrieiizwajfasuhjkliemjjgkjpeitdaeijctqmpaevderkepnfcknmtaotllghnp\n", - "-2532.5041950081836 xjwx zznnnnymnfpnrieitnigephsgxieavevboekrieiizwajfasuhjkliemjjgkjpeitdaeijctqmpaevderkepnfcknmtaotllghnp\n", - "-2573.917057280645 xjax zzjnnncmnflnriiitnegeplsgxeeavivboakriiiizsajfesuhfkliimjjckjpiitdweijgtqmlaevherkapnfgknmpaotplghjp\n", - "-2555.522721754514 xtax zpjnnxcmnvlnrsiitdegezlsgneeafivbeakrsiiipsajpesuxfklsimjzckjziittweitgtqclaefheraapnpgkncpaodplgxjp\n", - "-2573.917057280645 xjax zzjnnncmnflnriiitnegeplsgxeeavivboakriiiizsajfesuhfkliimjjckjpiitdweijgtqmlaevherkapnfgknmpaotplghjp\n", - "-2597.770489333113 xgax zcjnnkcmnilnrfiitqegemlsgaeeasivbrakrfiiicsajcesukfklfimjmckjmiitgweiggtqplaeshernapncgknppaoqplgkjp\n", - "-2639.989990872787 xgau zcjqnkcjnilqrfiftqejemlpgaehasisbranrfificsdjcepukfnlfijjmcnjmiftgwhiggqqpldeshbrnasncghnppdoqpigkjs\n", - "-2474.8037271498397 xglu zcyqnknjniaqrftftqtjemwpgathastsbrpnrftfichdjcppukunlftjjmrnjmtftglhigrqqpadessbrnpsncrhnpedoqaigkys\n", - "-2479.8072608680272 gglu qcyqwknjeiaqaftfkqtjnmwpxathjstssrpnaftfzchdscpplkunuftjamrnsmtfkglhrgrqhpadnssbinpswcrhepedxqaixkys\n", - "-2474.8037271498397 xglu zcyqnknjniaqrftftqtjemwpgathastsbrpnrftfichdjcppukunlftjjmrnjmtftglhigrqqpadessbrnpsncrhnpedoqaigkys\n", - "-2510.4911920085297 iglu ocyqyknjciaqcftfiqtjpmwpvathlstsqrpncftfxchducppjkunwftjymrnumtfiglhtgrqfpadpssbgnpsycrhcpedzqaivkys\n", - "-2483.221162049248 iglm ocyyyknbciaycftxiqtrpmwhvatplstkqrpvcftxxchlucphjkuvwftbymrvumtxiglptgrifpalpsstgnpaycrzcpelzqaavkya\n", - "-2432.2626402407705 ielm oeyyyinbckaycdtxistrpkwhvctplqtkqtpvcdtxxehluaphjmuvwdtbyorvuktxiilpterifralpqstgppayarzcrelzoaavmya\n", - "-2453.6263618275907 ielq oeyuyinfckaucdtbistnpkwlvctllqtoqtprcdtbxehhuapljmurwdtfyorruktbiilltermfrahpqsxgppwyardcrehzoaevmyw\n", - "-2472.9949995941674 aelq weyuqinfkkauudtbqstnhkwldctldqtoytprudtbfehhmaplrmurodtfgorrmktbqilllermnrahhqsxoppwqardkrehroaedmyw\n", - "-2472.9949995941674 aelq weyuqinfkkauudtbqstnhkwldctldqtoytprudtbfehhmaplrmurodtfgorrmktbqilllermnrahhqsxoppwqardkrehroaedmyw\n", - "-2468.8227718501953 jelq neyuzinfbkauddtbhstnqkwluctlmqtoptprddtbwehhvaplimurxdtfxorrvktbhilluermerahqqsxfppwzardbrehaoaeumyw\n", - "-2477.7559364423296 jplq ntyuztnfbzaudotbhhtnqvwlurtlmbtopiprdotbwthhvlpliburxotfxdrrvvtbhxlluprmegahqbsxfepwzlrdbgehazaeubyw\n", - "-2484.5859428623235 jmlq nwyuzqnfbcaudltbhktnqswluutlmytoplprdltbwwhhviplieurxltfxgrrvstbhallumrmejahqysxfhpwzirdbjehawaeueyw\n", - "-2509.1749599231844 jwlq nmyuzanfbsaudvtbhatnqcwluktlmitopbprdvtbwmhhvspliuurxvtfxwrrvctbhqlluwrmezahqisxfxpwzsrdbzehagaeuuyw\n", - "-2490.9355711947683 jwlp nmyvzanebsavdvtahatoqcwkuktmmitnpbpsdvtawmhivspkiuusxvtexwrsvctahqlmuwrlezaiqiswfxpxzsrcbzeiagaduuyx\n", - "-2490.9355711947683 jwlp nmyvzanebsavdvtahatoqcwkuktmmitnpbpsdvtawmhivspkiuusxvtexwrsvctahqlmuwrlezaiqiswfxpxzsrcbzeiagaduuyx\n", - "-2309.9553453325116 jilp nayvzmnebgavdhtahotoqowkuytmmutnpppsdhtawahivepkiiusxhtexkrsvotahelmuirlenaiquswflpxzercbneiasaduiyx\n", - "-2459.516547713914 jplp ntyvztnebzavdotahhtoqvwkurtmmbtnpipsdotawthivlpkibusxotexdrsvvtahxlmuprlegaiqbswfepxzlrcbgeiazadubyx\n", - "-2499.3767759103666 jllp nxyvzpnebdavdktahltoqrwkuvtmmxtnpmpsdktawxhivhpkifusxktexhrsvrtahblmulrlekaiqxswfipxzhrcbkeiavadufyx\n", - "-2466.3465541339074 jmlp nwyvzqnebcavdltahktoqswkuutmmytnplpsdltawwhivipkieusxltexgrsvstahalmumrlejaiqyswfhpxzircbjeiawadueyx\n", - "-2318.106471538424 jmlt nwyrzqnibcardltehktkqswouutimytrplpodltewwhevipoieuoxltixgrovstehaliumrpejaeqysafhptzirgbjeeawahueyt\n", - "-2323.5228929547898 smlt ewyriqniscarmlteyktkzswolutivytrglpomltenwheeipozeuogltiogroesteyalidmrpvjaezysawhptiirgsjeejwahleyt\n", - "-2322.278699282398 amlt wwyrqqnikcarulteqktkhswodutidytrylpoultefwhemiporeuooltiggromsteqalilmrpnjaehysaohptqirgkjeerwahdeyt\n", - "-2272.226130375319 gmlt qwyrwqniecaraltekktknswoxutijytrslpoaltezwhesipoleuoultiagrosstekalirmrphjaenysaihptwirgejeexwahxeyt\n", - "-2287.0178969848375 golt quyrwsnieaarantekitknuwoxstijatrsjpoantezuheskpolcuountiaerosutekylirorphhaenasaifptwkrgeheexyahxcyt\n", - "-2269.185371586435 gxlt qlyrwbnierarawtekztkndwoxjtijjtrsapoawtezlhestpoltuouwtiavrosdtekplirxrphyaenjsaiwptwtrgeyeexhahxtyt\n", - "-2350.660295944649 pxlt hlyrfbnivrarjwtebztkwdwoojtisjtrjapojwteqlhebtpoctuodwtirvrobdtebpliaxrpyyaewjsazwptftrgvyeeghahotyt\n", - "-2320.4821341659053 sxlt elyribnisrarmwteyztkzdwoljtivjtrgapomwtenlheetpoztuogwtiovroedteyplidxrpvyaezjsawwptitrgsyeejhahltyt\n", - "-2316.4704761725407 stlt epyrixnisvarmsteydtkzzwolntivftrgepomstenpheeppozxuogstiozroezteytlidtrpvcaezfsawaptiprgsceejdahlxyt\n", - "-2316.6928865347963 splt etyritniszarmoteyhtkzvwolrtivbtrgipomotentheelpozbuogotiodroevteyxlidprpvgaezbsaweptilrgsgeejzahlbyt\n", - "-2305.9796717217387 bplt vtyrrtnijzarvotephtkivwocrtiebtrxipovoteethenlpoqbuopotifdronvtepxlimprpmgaeibsaneptrlrgjgeeszahcbyt\n", - "-2454.177641469805 bplg vtyertnvjzaevotrphtxivwbcrtvebtexipbvotrethrnlpbqbubpotvfdrbnvtrpxlvmprcmgaribsnnepgrlrtjgerszaucbyg\n", - "-2305.9796717217387 bplt vtyrrtnijzarvotephtkivwocrtiebtrxipovoteethenlpoqbuopotifdronvtepxlimprpmgaeibsaneptrlrgjgeeszahcbyt\n", - "-2322.2682030528736 bclt vgyrrgnijmarvbteputkiiwocetieotrxvpovbteeghenypoqouopbtifqronitepklimcrpmtaeiosanrptryrgjteesmahcoyt\n", - "-2345.83989991819 bllt vxyrrpnijdarvktepltkirwocvtiextrxmpovkteexhenhpoqfuopktifhronrtepblimlrpmkaeixsaniptrhrgjkeesvahcfyt\n", - "-2319.290081495272 rllt fxyrhpnitdarlktezltkyrwomvtiuxtrhmpolkteoxhedhpoafuofktiphrodrtezbliclrpwkaeyxsaxipthhrgtkeeivahmfyt\n", - "-2321.455210515161 rglt fcyrhknitiarlftezqtkymwomatiustrhrpolfteochedcpoakuofftipmrodmtezglicgrpwpaeyssaxnpthcrgtpeeiqahmkyt\n", - "-2524.0979692937613 rgnt fcwrhkpitiyrlfvezqrkymyomariusvrhrnolfveocfedcroaksoffvipmpodmvezgjicgtpwpyeysuaxnnthctgtpceiqchmkwt\n", - "-2503.694385106929 ront fuwrhspitayrlnvezirkyuyomsriuavrhjnolnveoufedkroacsofnvipepoduvezyjicotpwhyeyauaxfnthktgthceiychmcwt\n", - "-2520.5233661570755 rott fuqrhsvitasrlnbezilkyueomsliuabrhjholnbeouzedkxoacmofnbipejodubezydicozpwhseyaaaxfhthkzgthweiyihmcqt\n", - "-2503.694385106929 ront fuwrhspitayrlnvezirkyuyomsriuavrhjnolnveoufedkroacsofnvipepoduvezyjicotpwhyeyauaxfnthktgthceiychmcwt\n", - "-2524.0979692937613 rgnt fcwrhkpitiyrlfvezqrkymyomariusvrhrnolfveocfedcroaksoffvipmpodmvezgjicgtpwpyeysuaxnnthctgtpceiqchmkwt\n", - "-2568.9242367782176 egnt scwrukpigiyryfvemqrklmyozarihsvrurnoyfvebcfeqcronksosfvicmpoqmvemgjipgtpjpyelsuaknntuctggpcevqchzkwt\n", - "-2549.5379193763015 egrt scsruktigiuryfzemqnklmcozanihszrurjoyfzebcbeqcvonkoosfzicmloqmzemgfipgxpjpuelsyaknjtucxggpyevqghzkst\n", - "-2525.6844873238338 ejrt szsruntigfuryizemnnklpcozxnihvzruojoyizebzbeqfvonhoosizicjloqpzemdfipjxpjmuelvyakkjtufxggmyevtghzhst\n", - "-2495.5433174432296 ejet szfrungigfhryimemnaklppozxaihvmruowoyimebzoeqfionhbosimicjyoqpmemdsipjkpjmhelvlakkwtufkggmlevtthzhft\n", - "-2484.2013986993466 emet swfruqgigchrylmemkaklspozuaihymrulwoylmebwoeqiioneboslmicgyoqsmemasipmkpjjhelylakhwtuikggjlevwthzeft\n", - "-2508.790415760209 ewet smfruagigshryvmemaaklcpozkaihimrubwoyvmebmoeqsionubosvmicwyoqcmemqsipwkpjzhelilakxwtuskggzlevgthzuft\n", - "-2490.1245561963083 ewyt smlruaaigsnryvgemagklcjozkgihigrubcoyvgebmueqsconuhosvgicweoqcgemqyipwepjznelifakxctuseggzrevgnhzult\n", - "-2532.0505032702413 ewjt smarualigscryvremavklcuozkvihirrubroyvrebmjeqsnonuwosvricwtoqcremqnipwppjzceliqakxrtuspggzgevgyhzuat\n", - "-2541.001770464558 hwjt pmarxalidscrbvrejavkocuowkvikirrrbrobvreymjetsnokuwovvrizwtotcrejqniswppgzceoiqahxrtxspgdzgeygyhwuat\n", - "-2364.6264114584437 hwlt pmyrxanidsarbvtejatkocwowktikitrrbpobvteymhetspokuuovvtizwrotctejqliswrpgzaeoisahxptxsrgdzeeygahwuyt\n", - "-2364.6264114584437 hwlt pmyrxanidsarbvtejatkocwowktikitrrbpobvteymhetspokuuovvtizwrotctejqliswrpgzaeoisahxptxsrgdzeeygahwuyt\n", - "-2381.8194526386696 halt piyrxenidoarbztejwtkogwowgtikmtrrxpobzteyihetwpokquovztizsrotgtejmlisarpgvaeomsahtptxwrgdveeykahwqyt\n", - "-2376.7937222623577 calt uiyrseniioarwzteowtkjgwobgtifmtrwxpowztediheowpopquoqztiesroogteomlinarplvaejmsamtptswrgiveetkahbqyt\n", - "-2356.0402756382646 chlt ubyrslniiharwgteoptkjnwobztifttrwqpowgtedbheodpopjuoqgtielroonteoflinhrploaejtsammptsdrgioeetrahbjyt\n", - "-2356.0402756382646 chlt ubyrslniiharwgteoptkjnwobztifttrwqpowgtedbheodpopjuoqgtielroonteoflinhrploaejtsammptsdrgioeetrahbjyt\n", - "-2321.4563478781165 uhlt cbyrklniqharogtewptkbnwojztixttreqpoogtelbhegdpoxjuoigtimlrogntewflifhrptoaebtsaumptkdrgqoeelrahjjyt\n", - "-2323.938673132815 ihlt obyrylnicharcgteiptkpnwovztilttrqqpocgtexbheudpojjuowgtiylrounteiflithrpfoaeptsagmptydrgcoeezrahvjyt\n", - "-2392.6828759685236 fhlt rbyrvlnifharzgtelptkmnwoyztiittrtqpozgteabherdpomjuotgtiblrorntelfliqhrpioaemtsajmptvdrgfoeewrahyjyt\n", - "-2386.4460309610477 folt ruyrvsnifaarzntelitkmuwoystiiatrtjpoznteauherkpomcuotntiberorutelyliqorpihaemasajfptvkrgfheewyahycyt\n", - "-2530.9875215717543 folj ruybvsnyfaabzntulitumuweystsiathtjpyzntuauhorkpemcuytntyberyrutulylsqorfihaomasqjfpdvkrwfheowyaxycyd\n", - "-2546.6980027010222 fola ruykvsnpfaakzntllitdmuwvystbiatytjphzntlauhxrkpvmcuhtntpberhrutllylbqorwihaxmashjfpmvkrnfhexwyaoycym\n", - "-2500.508929899779 fvla rnykvznpftakzutllbtdmbwvyltbihtytcphzutlanhxrrpvmvuhtutpbxrhrbtllrlbqvrwiaaxmhshjypmvrrnfaexwfaoyvym\n", - "-2463.052302701429 yvla ynykoznpmtaksutlsbtdfbwvfltbbhtyacphsutlhnhxkrpvtvuhmutpixrhkbtlsrlbjvrwpaaxfhshqypmorrnmaexpfaofvym\n", - "-2401.0807959235694 gvla qnykwznpetakautlkbtdnbwvxltbjhtyscphautlznhxsrpvlvuhuutpaxrhsbtlkrlbrvrwhaaxnhshiypmwrrneaexxfaoxvym\n", - "-2447.2698687248103 gola quykwsnpeaakantlkitdnuwvxstbjatysjphantlzuhxskpvlcuhuntpaerhsutlkylbrorwhhaxnashifpmwkrnehexxyaoxcym\n", - "-2610.338013559033 goha quckwsjpeaekanplkixdnusvxsxbjapysjthanplzulxsklvlcyhunppaevhsuplkypbronwhhexnaohiftmwknnehixxywoxccm\n", - "-2626.1714297946196 goba quikwsdpeakkanjlkiddnumvxsdbjajysjzhanjlzurxskfvlcehunjpaebhsujlkyvbrohwhhkxnaihifzmwkhnehoxxyqoxcim\n", - "-2688.1429365724825 yoba yuikosdpmakksnjlsiddfumvfsdbbajyajzhsnjlhurxkkfvtcehmnjpiebhkujlsyvbjohwphkxfaihqfzmokhnmhoxpyqofcim\n", - "-2633.7260617654915 doba tuiktsdphakkxnjlniddkumvasdbgajyvjzhxnjlcurxpkfvocehrnjpdebhpujlnyvboohwkhkxkaihlfzmtkhnhhoxuyqoacim\n", - "-2643.5233122168324 dwba tmiktadphskkxvjlnaddkcmvakdbgijyvbzhxvjlcmrxpsfvouehrvjpdwbhpcjlnqvbowhwkzkxkiihlxzmtshnhzoxugqoauim\n", - "-2681.934340105272 mwba kmikcadpyskkgvjleaddtcmvrkdbpijymbzhgvjltmrxysfvfuehavjpuwbhycjleqvbxwhwbzkxtiihcxzmcshnyzoxdgqoruim\n", - "-2666.798118102377 mwbm kmiycadbyskygvjxeadrtcmhrkdppijkmbzvgvjxtmrlysfhfuevavjbuwbvycjxeqvpxwhibzkltiitcxzacshzyzoldgqaruia\n", - "-2683.9911592826033 mabm kiiycedbyokygzjxewdrtgmhrgdppmjkmxzvgzjxtirlywfhfqevazjbusbvygjxemvpxahibvkltmitctzacwhzyvoldkqarqia\n", - "-2737.453633399506 fabm riiyvedbfokyzzjxlwdrmgmhygdpimjktxzvzzjxairlrwfhmqevtzjbbsbvrgjxlmvpqahiivklmmitjtzavwhzfvolwkqayqia\n", - "-2750.801384774814 fabz riilvedofoklzzjklwdemgmuygdcimjxtxzizzjkairyrwfumqeitzjobsbirgjklmvcqahvivkymmigjtznvwhmfvoywkqnyqin\n", - "-2706.3492356371853 fayz rillveaofonlzzgklwgemgjuyggcimgxtxcizzgkaiuyrwcumqhitzgobseirggklmycqaevivnymmfgjtcnvwemfvrywknnyqln\n", - "-2769.9262597494676 fayc rilivearfonizzgnlwgbmgjxyggzimgatxcfzzgnaiuvrwcxmqhftzgrbsefrggnlmyzqaeyivnvmmfjjtckvwepfvrvwknqyqlk\n", - "-2678.0520126814845 fayx rilnveamfonnzzgilwggmgjsyggeimgvtxckzzgiaiuarwcsmqhktzgmbsekrggilmyeqaetivnammfejtcpvwekfvrawknlyqlp\n", - "-2609.3078098457777 iayx oilnyeamconnczgiiwggpgjsvggelmgvqxckczgixiuauwcsjqhkwzgmysekuggiimyetaetfvnapmfegtcpywekcvrazknlvqlp\n", - "-2603.898322073519 iuyx oolnyyamcunnctgiicggpajsvmgelggvqdckctgixouauqcsjwhkwtgmyyekuagiisyetuetfbnapgfegzcpyqekcbrazenlvwlp\n", - "-2634.6351738642825 iuax oojnyycmculnctiiicegpalsvmeelgivqdakctiixosauqesjwfkwtimyyckuaiiiswetugtfblapghegzapyqgkcbpazeplvwjp\n", - "-2611.5058746946497 duax tojntycmhulnxtiincegkalsameeggivvdakxtiicosapqesowfkrtimdyckpaiinsweougtkblakghelzaptqgkhbpaueplawjp\n", - "-2694.162300057622 duak tojatyczhulaxtivncetkalfamerggiivdaxxtivcosnpqefowfxrtizdycxpaivnswrouggkblnkghrlzactqgxhbpnuepyawjc\n", - "-2687.8949917999507 dual tojztycahulzxtiwnceskalgameqggijvdawxtiwcosmpqegowfwrtiadycwpaiwnswqoughkblmkghslzabtqgyhbpmuepzawjb\n", - "-2704.388258184545 dfal tdjztjcahjlzxeiwnreskllgabeqgrijvsawxeiwcdsmpbegolfwreiadncwpliwnhwqofghkqlmkrhsloabtbgyhqpmuppzaljb\n", - "-2737.7121175334846 dfil tdbztjkahjdzxeqwnrwskltgabwqgrqjvsswxeqwcdkmpbmgolxwreqadnuwplqwnhoqofohkqdmkrpslosbtboyhqhmupxzalbb\n", - "-2743.9794257911553 dfik tdbatjkzhjdaxeqvnrwtkltfabwrgrqivssxxeqvcdknpbmfolxxreqzdnuxplqvnhorofogkqdnkrprlosctboxhqhnupxyalbc\n", - "-2702.455507681617 djik tzbatnkzhfdaxiqvnnwtkptfaxwrgvqivosxxiqvczknpfmfohxxriqzdjuxppqvndorojogkmdnkvprlksctfoxhmhnutxyahbc\n", - "-2637.8307739100283 djig tzbetnkvhfdexiqrnnwxkptbaxwvgvqevosbxiqrczkrpfmbohxbriqvdjubppqrndovojockmdrkvpnlksgtfothmhrutxuahbg\n", - "-2659.5190769426044 dlig txbetpkvhddexkqrnlwxkrtbavwvgxqevmsbxkqrcxkrphmbofxbrkqvdhubprqrnbovolockkdrkxpnlisgthothkhruvxuafbg\n", - "-2619.740230731192 dlfg txeetphvhdgexknrnlzxkrqbavzvgxnevmvbxknrcxnrphjbofabrknvdhxbprnrnbrvollckkgrkxmnlivgthlthkkruvuuafeg\n", - "-2630.9443560508616 dlff txeftphuhdgfxknqnlzykrqaavzwgxndvmvcxknqcxnsphjaofacrknudhxcprnqnbrwollbkkgskxmmlivhthlshkksuvutafeh\n", - "-2594.873375485519 dxff tleftbhuhrgfxwnqnzzykdqaajzwgjndvavcxwnqclnsptjaotacrwnudvxcpdnqnprwoxlbkygskjmmlwvhttlshyksuhutateh\n", - "-2595.723252157755 dxfa tlektbhphrgkxwnlnzzdkdqvajzbgjnyvavhxwnlclnxptjvotahrwnpdvxhpdnlnprboxlwkygxkjmhlwvmttlnhykxuhuoatem\n", - "-2598.7640109466365 dmfa twektqhphcgkxlnlnkzdksqvauzbgynyvlvhxlnlcwnxpijvoeahrlnpdgxhpsnlnarbomlwkjgxkymhlhvmtilnhjkxuwuoaeem\n", - "-2642.506141555238 smfa ewekiqhpscgkmlnlykzdzsqvluzbvynyglvhmlnlnwnxeijvzeahglnpogxhesnlyarbdmlwvjgxzymhwhvmiilnsjkxjwuoleem\n", - "-2641.261947882844 amfa wwekqqhpkcgkulnlqkzdhsqvduzbdynyylvhulnlfwnxmijvreaholnpggxhmsnlqarblmlwnjgxhymhohvmqilnkjkxrwuodeem\n", - "-2686.9276337339543 aqfa wsekquhpkygkupnlqgzdhwqvdqzbdcnyyhvhupnlfsnxmmjvraahopnpgcxhmwnlqwrblqlwnfgxhcmhodvmqmlnkfkxrauodaem\n", - "-2648.0629966072056 abfa whekqfhpkngkuanlqvzdhhqvdfzbdnnyywvhuanlfhnxmxjvrpahoanpgrxhmhnlqlrblblwnugxhnmhosvmqxlnkukxrluodpem\n", - "-2668.23328081654 abba whikqfdpknkkuajlqvddhhmvdfdbdnjyywzhuajlfhrxmxfvrpehoajpgrbhmhjlqlvblbhwnukxhnihoszmqxhnkuoxrlqodpim\n", - "-2717.6088458856725 fbba rhikvfdpfnkkzajllvddmhmvyfdbinjytwzhzajlahrxrxfvmpehtajpbrbhrhjlllvbqbhwiukxmnihjszmvxhnfuoxwlqoypim\n", - "-2634.103279093058 obba ihikefdpwnkkiajlcvddvhmvpfdbrnjykwzhiajlrhrxaxfvdpehcajpsrbhahjlclvbzbhwzukxvnihaszmexhnwuoxflqoppim\n", - "-2473.851307353082 obbt ihirefdiwnkriajecvdkvhmopfdirnjrkwzoiajerhreaxfodpeocajisrboahjeclvizbhpzukevniaasztexhgwuoeflqhppit\n", - "-2502.245609425072 ogbt icirekdiwikrifjecqdkvmmopadirsjrkrzoifjercreacfodkeocfjismboamjecgvizghpzpkevsiaanztechgwpoefqqhpkit\n", - "-2506.6004897319494 ogrt icsrektiwiurifzecqnkvmcopanirszrkrjoifzercbeacvodkoocfzismloamzecgfizgxpzpuevsyaanjtecxgwpyefqghpkst\n", - "-2506.6004897319494 ogrt icsrektiwiurifzecqnkvmcopanirszrkrjoifzercbeacvodkoocfzismloamzecgfizgxpzpuevsyaanjtecxgwpyefqghpkst\n", - "-2506.6004897319494 ogrt icsrektiwiurifzecqnkvmcopanirszrkrjoifzercbeacvodkoocfzismloamzecgfizgxpzpuevsyaanjtecxgwpyefqghpkst\n", - "-2666.8524614719267 ogra icskektpwiukifzlcqndvmcvpanbrszykrjhifzlrcbxacvvdkohcfzpsmlhamzlcgfbzgxwzpuxvsyhanjmecxnwpyxfqgopksm\n", - "-2666.8524614719267 ogra icskektpwiukifzlcqndvmcvpanbrszykrjhifzlrcbxacvvdkohcfzpsmlhamzlcgfbzgxwzpuxvsyhanjmecxnwpyxfqgopksm\n", - "-2712.3854612885357 ogrw icsoektlwiuoifzhcqnhvmcrpanfrszukrjlifzhrcbbacvrdkolcfzlsmllamzhcgffzgxszpubvsydanjqecxjwpybfqgkpksq\n", - "-2677.190110492184 omrw iwsoeqtlwcuoilzhcknhvscrpunfryzukljlilzhrwbbaivrdeolclzlsgllaszhcaffzmxszjubvyydahjqeixjwjybfwgkpesq\n", - "-2667.3862021207324 omkw iwzoeqmlwcboilshckuhvsvrpuufrysuklqlilshrwibaiordevlclslsgslasshcamfzmqszjbbvyrdahqqeiqjwjfbfwzkpezq\n", - "-2660.55619570074 opkw itzoetmlwzboioshchuhvvvrprufrbsukiqlioshrtibalordbvlcoslsdslavshcxmfzpqszgbbvbrdaeqqelqjwgfbfzzkpbzq\n", - "-2610.877064145989 opww itnoetylwzpoioehchihvvhrprifrbeukielioehrtwbalardbjlcoelsdglavehcxafzpcszgpbvbddaeeqelcjwgtbfzlkpbnq\n", - "-2640.9201568217027 mpww ktnoctylyzpogoehehihtvhrrrifpbeumielgoehttwbylarfbjlaoeludglyvehexafxpcsbgpbtbddceeqclcjygtbdzlkrbnq\n", - "-2657.740030608345 cpww utnostylizpowoehohihjvhrbriffbeuwielwoehdtwbolarpbjlqoeledglovehoxafnpcslgpbjbddmeeqslcjigtbtzlkbbnq\n", - "-2732.476752229746 cpiw utbostklizdowoqhohwhjvtrbrwffbquwislwoqhdtkbolmrpbxlqoqledulovqhoxofnposlgdbjbpdmesqslojighbtzxkbbbq\n", - "-2707.4191621630966 cpkw utzostmlizbowoshohuhjvvrbruffbsuwiqlwoshdtibolorpbvlqosledslovshoxmfnpqslgbbjbrdmeqqslqjigfbtzzkbbzq\n", - "-2668.113661930414 cpkq utzustmfizbuwosbohunjvvlbrulfbsowiqrwosbdtihololpbvrqosfedsrovsboxmlnpqmlgbhjbrxmeqwslqdigfhtzzebbzw\n", - "-2700.5451070375475 cpkr utztstmgizbtwoscohumjvvmbrukfbspwiqqwoscdtigolompbvqqosgedsqovscoxmknpqnlgbgjbrymeqvslqeigfgtzzfbbzv\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2700.5451070375475 cpkr utztstmgizbtwoscohumjvvmbrukfbspwiqqwoscdtigolompbvqqosgedsqovscoxmknpqnlgbgjbrymeqvslqeigfgtzzfbbzv\n", - "-2678.3431211580046 bpkr vtztrtmgjzbtvoscphumivvmcrukebspxiqqvoscetignlomqbvqposgfdsqnvscpxmkmpqnmgbgibryneqvrlqejgfgszzfcbzv\n", - "-2637.8957058393567 bpkz vtzlrtmojzblvoskphueivvucrucebsxxiqivosketiynlouqbviposofdsinvskpxmcmpqvmgbyibrgneqnrlqmjgfyszzncbzn\n", - "-2638.834299794708 bpkf vtzfrtmujzbfvosqphuyivvacruwebsdxiqcvosqetisnloaqbvcposufdscnvsqpxmwmpqbmgbsibrmneqhrlqsjgfsszztcbzh\n", - "-2678.3431211580046 bpkr vtztrtmgjzbtvoscphumivvmcrukebspxiqqvoscetignlomqbvqposgfdsqnvscpxmkmpqnmgbgibryneqvrlqejgfgszzfcbzv\n", - "-2627.6301744750385 bpkg vtzertmvjzbevosrphuxivvbcruvebsexiqbvosretirnlobqbvbposvfdsbnvsrpxmvmpqcmgbribrnneqgrlqtjgfrszzucbzg\n", - "-2643.918705806177 bckg vgzergmvjmbevbsrpuuxiivbceuveosexvqbvbsregirnyobqovbpbsvfqsbnisrpkmvmcqcmtbriornnrqgryqtjtfrsmzucozg\n", - "-2600.833978817042 bcsg vgrerguvjmtevbarpumxiidbcemveoaexvibvbaregarnywbqonbpbavfqkbniarpkevmcycmttrioznnrigryytjtxrsmhucorg\n", - "-2612.8879808089478 bcsa vgrkrgupjmtkvbalpumdiidvcembeoayxvihvbalegaxnywvqonhpbapfqkhnialpkebmcywmttxiozhnrimryynjtxxsmhocorm\n", - "-2641.5670520302715 bcsd vgrhrgusjmthvbaopumaiidycemyeoabxvievbaoegaunywyqonepbasfqkeniaopkeymcyzmttuiozknrijryyqjtxusmhrcorj\n", - "-2511.199246014171 bcld vgyhrgnsjmahvbtoputaiiwycetyeotbxvpevbtoeghunypyqouepbtsfqrenitopklymcrzmtauiosknrpjryrqjteusmarcoyj\n", - "-2534.7709428794865 blld vxyhrpnsjdahvktopltairwycvtyextbxmpevktoexhunhpyqfuepktsfhrenrtopblymlrzmkauixsknipjrhrqjkeusvarcfyj\n", - "-2494.079982513673 bllp vxyvrpnejdavvktapltoirwkcvtmextnxmpsvktaexhinhpkqfuspktefhrsnrtapblmmlrlmkaiixswnipxrhrcjkeisvadcfyx\n", - "-2579.9196627218216 blly vxymrpnnjdamvktjpltfirwtcvtdextwxmpjvktjexhznhptqfujpktnfhrjnrtjpbldmlrumkazixsfniporhrljkezsvamcfyo\n", - "-2568.077381550769 qlly gxymgpnnudamkktjaltfxrwtnvtdtxtwimpjkktjpxhzchptbfujektnqhrjcrtjabldblruxkazxxsfyipoghrlukezhvamnfyo\n", - "-2511.7371748703067 qlls gxysgpnhudaskktdaltlxrwnnvtjtxtqimppkktdpxhfchpnbfupekthqhrpcrtdabljblroxkafxxszyipughrfukefhvagnfyu\n", - "-2654.7636564512736 qlps gxusgprhudwskkxdalplxrannvpjtxxqimlpkkxdpxdfchtnbfqpekxhqhnpcrxdabhjblvoxkwfxxwzyilughvfukafhvegnfuu\n", - "-2607.190378484791 qlpx gxungprmudwnkkxialpgxrasnvpetxxvimlkkkxipxdachtsbfqkekxmqhnkcrxiabheblvtxkwaxxweyilpghvkukaahvelnfup\n", - "-2595.188768325326 qhpx gbunglrmuhwnkgxiappgxnasnzpettxviqlkkgxipbdacdtsbjqkegxmqlnkcnxiafhebhvtxowaxtweymlpgdvkuoaahrelnjup\n", - "-2574.1601567083294 qmpx gwungqrmucwnklxiakpgxsasnupetyxvillkklxipwdacitsbeqkelxmqgnkcsxiaahebmvtxjwaxyweyhlpgivkujaahwelneup\n", - "-2615.942214949418 qapx giungermuownkzxiawpgxgasngpetmxvixlkkzxipidacwtsbqqkezxmqsnkcgxiamhebavtxvwaxmweytlpgwvkuvaahkelnqup\n", - "-2622.598680150228 qrpx grungvrmuxwnkqxiafpgxxasnppetdxviglkkqxiprdacntsbzqkeqxmqbnkcxxiavhebrvtxewaxdweyclpgnvkueaahbelnzup\n", - "-2610.5327271771594 qupx goungyrmuuwnktxiacpgxaasnmpetgxvidlkktxipodacqtsbwqketxmqynkcaxiashebuvtxbwaxgweyzlpgqvkubaaheelnwup\n", - "-2662.740441567829 qucx gohngyemuujnktkiaccgxansnmcetgkvidykktkipoqacqgsbwdketkmqyakcakiasuebuitxbjaxgjeyzypgqikubnaherlnwhp\n", - "-2664.683106112974 iucx oohnyyemcujnctkiiccgpansvmcelgkvqdykctkixoqauqgsjwdkwtkmyyakuakiisuetuitfbjapgjegzypyqikcbnazerlvwhp\n", - "-2628.310535644144 imcx owhnyqemccjnclkiikcgpsnsvucelykvqlykclkixwqauigsjedkwlkmygakuskiiauetmitfjjapyjeghypyiikcjnazwrlvehp\n", - "-2471.9193268427416 iicx oahnymemcgjnchkiiocgponsvycelukvqpykchkixaqauegsjidkwhkmykakuokiieuetiitfnjapujeglypyeikcnnazsrlvihp\n", - "-2471.9193268427416 iicx oahnymemcgjnchkiiocgponsvycelukvqpykchkixaqauegsjidkwhkmykakuokiieuetiitfnjapujeglypyeikcnnazsrlvihp\n", - "-2489.951018434125 iicg oaheymevcgjechkriocxponbvycvlukeqpybchkrxaqruegbjidbwhkvykabuokrieuvtiicfnjrpujnglygyeitcnnrzsruvihg\n", - "-2508.232520009957 iicq oahuymefcgjuchkbiocnponlvycllukoqpyrchkbxaqhuegljidrwhkfykaruokbieultiimfnjhpujxglywyeidcnnhzsrevihw\n", - "-2539.520095647314 yicq yahuomefmgjushkbsocnfonlfyclbukoapyrshkbhaqhkegltidrmhkfikarkokbseuljiimpnjhfujxqlywoeidmnnhpsrefihw\n", - "-2487.312381256646 yipq yauuomrfmgwushxbsopnfoalfyplbuxoaplrshxbhadhketltiqrmhxfiknrkoxbsehljivmpnwhfuwxqllwoevdmnahpseefiuw\n", - "-2425.340874478785 gipq qauuwmrfegwuahxbkopnnoalxypljuxosplrahxbzadhsetlliqruhxfaknrsoxbkehlrivmhnwhnuwxillwwevdenahxseexiuw\n", - "-2425.340874478785 gipq qauuwmrfegwuahxbkopnnoalxypljuxosplrahxbzadhsetlliqruhxfaknrsoxbkehlrivmhnwhnuwxillwwevdenahxseexiuw\n", - "-2465.9109326272724 gixq qamuwmzfegouahfbkohnnoilxyhljufospdrahfbzavhseblliiruhffakfrsofbkezlridmhnohnuexildwweddenshxsmeximw\n", - "-2511.791273790379 jixq namuzmzfbgoudhfbhohnqoiluyhlmufoppdrdhfbwavhvebliiirxhffxkfrvofbhezluidmenohquexfldwzeddbnshasmeuimw\n", - "-2528.696466273226 cixq uamusmzfigouwhfboohnjoilbyhlfufowpdrwhfbdavhoeblpiirqhffekfroofboezlnidmlnohjuexmldwseddinshtsmebimw\n", - "-2564.8657637585684 cixv uampsmzkigopwhfgoohijoiqbyhgfuftwpdmwhfgdavcoebqpiimqhfkekfmoofgoezgnidrlnocjuecmldrsediinsctsmjbimr\n", - "-2505.042625479598 ciwv uanpsmykigppwhegooiijohqbyigfuetwpemwhegdawcoeaqpijmqhekekgmooegoeagnicrlnpcjudcmlerseciintctsljbinr\n", - "-2447.509606407436 ciwm uanysmybigpywhexooirjohhbyipfuekwpevwhexdawloeahpijvqhebekgvooexoeapnicilnpljudtmleaseczintltslabina\n", - "-2384.7240727614835 giwm qanywmybegpyahexkoirnohhxyipjuekspevahexzawlseahlijvuhebakgvsoexkeapricihnplnudtileaweczentlxslaxina\n", - "-2251.4834057069284 kiwm manyamybagpyehexgoirrohhtyipnuekopevehexvawlweahhijvyhebwkgvwoexgeapvicidnplrudteleaaeczantlbslatina\n", - "-2305.2785724008795 kiwr mantamygagptehecgoimrohmtyiknuepopeqehecvawgweamhijqyhegwkgqwoecgeakvicndnpgrudyelevaeceantgbslftinv\n", - "-2305.2785724008795 kiwr mantamygagptehecgoimrohmtyiknuepopeqehecvawgweamhijqyhegwkgqwoecgeakvicndnpgrudyelevaeceantgbslftinv\n", - "-2424.6272847814193 viwr bantlmygpgptphecvoimcohmiyikyuepdpeqpheckawgheamwijqjheglkgqhoecveakgicnsnpgcudytlevlecepntgmslfiinv\n", - "-2414.6474113116833 viwd banhlmyspgphpheovoiacohyiyiyyuebdpeepheokawuheaywijejheslkgehoeoveaygiczsnpucudktlejlecqpntumslriinj\n", - "-2442.5730953291936 riwd fanhhmystgphlheozoiayohymyiyuuebhpeelheooawudeayaijefhespkgedoeozeayciczwnpuyudkxlejhecqtntuislrminj\n", - "-2446.040847886779 riwb fanjhmyqtgpjlhemzoicyohwmyiauuezhpeglhemoawwdeawaijgfheqpkggdoemzeaacicxwnpwyudixlelhecotntwislpminl\n", - "-2627.0210737490374 rwwb fmnjhayqtspjlvemzaicychwmkiauiezhbeglvemomwwdsawaujgfveqpwggdcemzqaacwcxwzpwyidixxelhscotztwiglpmunl\n", - "-2599.0953897315276 vwwb bmnjlayqpspjpvemvaiccchwikiayiezdbegpvemkmwwhsawwujgjveqlwgghcemvqaagwcxszpwciditxellscopztwmglpiunl\n", - "-2643.6712755460485 iwwb omnjyayqcspjcvemiaicpchwvkialiezqbegcvemxmwwusawjujgwveqywggucemiqaatwcxfzpwpidigxelyscocztwzglpvunl\n", - "-2630.4241772290716 ijwb oznjynyqcfpjcieminicpphwvxialvezqoegciemxzwwufawjhjgwieqyjggupemidaatjcxfmpwpvdigkelyfcocmtwztlpvhnl\n", - "-2645.620587251675 jjwb nznjznyqbfpjdiemhnicqphwuxiamvezpoegdiemwzwwvfawihjgxieqxjggvpemhdaaujcxempwqvdifkelzfcobmtwatlpuhnl\n", - "-2453.221791732789 jjwt nznrznyibfprdieehnikqphouxiimverpoeodieewzwevfaoihjoxieixjgovpeehdaiujcpempeqvdafketzfcgbmteatlhuhnt\n", - "-2474.910094765366 jlwt nxnrzpyibdprdkeehlikqrhouviimxerpmeodkeewxwevhaoifjoxkeixhgovreehbaiulcpekpeqxdafietzhcgbkteavlhufnt\n", - "-2459.7136847427623 ilwt oxnrypyicdprckeeilikprhovviilxerqmeockeexxweuhaojfjowkeiyhgoureeibaitlcpfkpepxdagietyhcgcktezvlhvfnt\n", - "-2478.966764873244 ilpt oxurypricdwrckxeilpkpraovvpilxxrqmlockxexxdeuhtojfqowkxiyhnourxeibhitlvpfkwepxwagiltyhvgckaezvehvfut\n", - "-2430.173372084654 iept oeuryirickwrcdxeispkpkaovcpilqxrqtlocdxexedeuatojmqowdxiyonoukxeiihitevpfrwepqwagpltyavgcraezoehvmut\n", - "-2455.3950680079274 icpt ogurygricmwrcbxeiupkpiaovepiloxrqvlocbxexgdeuytojoqowbxiyqnouixeikhitcvpftwepowagrltyyvgctaezmehvout\n", - "-2410.819182193407 vcpt bgurlgripmwrpbxevupkciaoiepiyoxrdvlopbxekgdehytowoqojbxilqnohixevkhigcvpstwecowatrltlyvgptaemmehiout\n", - "-2422.3892688992582 vhpt bburllriphwrpgxevppkcnaoizpiytxrdqlopgxekbdehdtowjqojgxillnohnxevfhighvpsowectwatmltldvgpoaemrehijut\n", - "-2415.5123999368725 vspt bqurlwripwwrprxevepkcyaoiopiyexrdfloprxekqdehotowyqojrxilanohyxevuhigsvpsdwecewatbltlovgpdaemcehiyut\n", - "-2429.404354610889 gspt qqurwwriewwrarxekepknyaoxopijexrsfloarxezqdesotolyqourxiaanosyxekuhirsvphdwenewaibltwovgedaexcehxyut\n", - "-2469.9744127593785 gsxt qqmrwwzieworarfekehknyioxohijefrsfdoarfezqvesobolyiourfiaafosyfekuzirsdphdoeneeaibdtwodgedsexcmhxymt\n", - "-2439.4931445260077 gset qqfrwwgiewhrarmekeaknypoxoaijemrsfwoarmezqoesoiolybourmiaayosymekusirskphdhenelaibwtwokgedlexcthxyft\n", - "-2409.57823085927 geet qefrwigiekhradmeksaknkpoxcaijqmrstwoadmezeoesaiolmboudmiaoyoskmekisirekphrhenqlaipwtwakgerlexothxmft\n", - "-2439.064577945144 gemt qexrwioiekzraduekssknkxoxcsijqurstooaduezegesaqolmtouduiaoqoskuekikiresphrzenqtaipotwasgerdexobhxmxt\n", - "-2461.36378533089 wemt aexrmioiokzrqdueusskdkxohcsizqurctooqduejegeiaqovmtokduikoqoikueuikihesprrzedqtaspotmasgordenobhhmxt\n", - "-2429.8518644799396 zemt xexrpioilkzrtduersskgkxoecsicqurztootduegegelaqosmtonduihoqolkuerikikesporzegqtappotpasglrdeqobhemxt\n", - "-2538.4927119213557 femt rexrvioifkzrzduelsskmkxoycsiiqurttoozdueaegeraqommtotduiboqorkuelikiqespirzemqtajpotvasgfrdewobhymxt\n", - "-2479.648125711556 bemt vexrrioijkzrvduepsskikxoccsiequrxtoovdueeegenaqoqmtopduifoqonkuepikimespmrzeiqtanpotrasgjrdesobhcmxt\n", - "-2506.875841967411 hemt pexrxioidkzrbduejsskokxowcsikqurrtoobdueyegetaqokmtovduizoqotkuejikisespgrzeoqtahpotxasgdrdeyobhwmxt\n", - "-2545.999381525712 hymt pkxrxcoidqzrbxuejyskoexowisikkurrzoobxueykgetuqokstovxuizuqoteuejokisyspgxzeoktahvotxusgdxdeyibhwsxt\n", - "-2545.999381525712 hymt pkxrxcoidqzrbxuejyskoexowisikkurrzoobxueykgetuqokstovxuizuqoteuejokisyspgxzeoktahvotxusgdxdeyibhwsxt\n", - "-2519.598254190658 hxmt plxrxboidrzrbwuejzskodxowjsikjurraoobwueylgettqokttovwuizvqotduejpkisxspgyzeojtahwotxtsgdydeyhbhwtxt\n", - "-2500.9086304167067 lxmt llxrbboizrzrfwuefzsksdxosjsiojurnaoofwueulgextqogttozwuivvqoxduefpkiwxspcyzesjtadwotbtsgzydechbhstxt\n", - "-2318.546323113832 kxmt mlxraboiarzrewuegzskrdxotjsinjuroaooewuevlgewtqohttoywuiwvqowduegpkivxspdyzerjtaewotatsgaydebhbhttxt\n", - "-2318.546323113832 kxmt mlxraboiarzrewuegzskrdxotjsinjuroaooewuevlgewtqohttoywuiwvqowduegpkivxspdyzerjtaewotatsgaydebhbhttxt\n", - "-2294.6759813923486 kxft mlerabhiargrewnegzzkrdqotjzinjnroavoewnevlnewtjohtaoywniwvxowdnegprivxlpdygerjmaewvtatlgaykebhuhttet\n", - "-2334.4548276037617 kxit mlbrabkiardrewqegzwkrdtotjwinjqroasoewqevlkewtmohtxoywqiwvuowdqegpoivxopdyderjpaewstatogayhebhxhttbt\n", - "-2338.5874633104772 kxnt mlwrabpiaryrewvegzrkrdyotjrinjvroanoewvevlfewtrohtsoywviwvpowdvegpjivxtpdyyerjuaewntattgaycebhchttwt\n", - "-2312.32006353799 kxjt mlarabliarcrewregzvkrduotjvinjrroaroewrevljewtnohtwoywriwvtowdregpnivxppdycerjqaewrtatpgaygebhyhttat\n", - "-2473.762336478353 uxjt clarkbliqrcrowrewzvkbduojjvixjrrearoowrelljegtnoxtwoiwrimvtogdrewpnifxpptycebjqauwrtktpgqygelhyhjtat\n", - "-2469.9730888472413 upjt ctarktliqzcroorewhvkbvuojrvixbrreiroooreltjeglnoxbwoiorimdtogvrewxnifppptgcebbqauertklpgqggelzyhjbat\n", - "-2432.5587694962323 zpjt xtarptlilzcrtorerhvkgvuoervicbrrzirotoregtjellnosbwonorihdtolvrerxnikpppogcegbqapertplpglggeqzyhebat\n", - "-2470.512749556796 qpjt gtargtliuzcrkoreahvkxvuonrvitbrriirokoreptjeclnobbwoeoriqdtocvreaxnibpppxgcexbqayertglpguggehzyhnbat\n", - "-2449.326114932307 dpjt ttarttlihzcrxorenhvkkvuoarvigbrrviroxorectjeplnoobwororiddtopvrenxniopppkgcekbqalerttlpghggeuzyhabat\n", - "-2445.6814137627357 dpzt ttkrttbihzmrxohenhfkkvkoarfigbhrviboxohecttepldoobgorohidddopvhenxxiopfpkgmekbgalebttlfghgqeuzohabkt\n", - "-2456.2071973028787 dprt ttsrtttihzurxozenhnkkvcoarnigbzrvijoxozectbeplvoobooroziddlopvzenxfiopxpkguekbyalejttlxghgyeuzghabst\n", - "-2492.822055711274 dpqt tttrttsihzvrxoyenhokkvboaroigbyrvikoxoyectcepluoobporoyiddmopvyenxgiopwpkgvekbxalekttlwghgzeuzfhabtt\n", - "-2553.0786877626692 hpqt pttrxtsidzvrboyejhokovbowroikbyrrikoboyeytcetluokbpovoyizdmotvyejxgispwpggveobxahektxlwgdgzeyzfhwbtt\n", - "-2467.65679990977 hpyt ptlrxtaidznrbogejhgkovjowrgikbgrricobogeytuetlcokbhovogizdeotvgejxyispepggneobfahectxlegdgreyznhwblt\n", - "-2610.778427747047 hpyi ptlcxtaxdzncbogtjhgvovjdwrgtkbggriczbogtytuptlcdkbhzvogxzdeztvgtjxytspeeggnpobfphecexlevdgrpyznwwble\n", - "-2640.9688027132124 hyyi pklcxcaxdqncbxgtjygvoejdwigtkkggrzczbxgtykuptucdkshzvxgxzueztegtjoytsyeegxnpokfphvcexuevdxrpyinwwsle\n", - "-2689.7758321577176 hyri pkscxctxdqucbxztjynvoecdwintkkzgrzjzbxztykbptuvdksozvxzxzulzteztjoftsyxegxupokyphvjexuxvdxypyigwwsse\n", - "-2706.906176060415 hyra pkskxctpdqukbxzljyndoecvwinbkkzyrzjhbxzlykbxtuvvksohvxzpzulhtezljofbsyxwgxuxokyhhvjmxuxndxyxyigowssm\n", - "-2688.184332207927 hyre pksgxcttdqugbxzpjynzoeczwinxkkzcrzjdbxzpykbttuvzksodvxztzuldtezpjofxsyxagxutokylhvjixuxrdxytyigswssi\n", - "-2678.380423836476 hyke pkzgxcmtdqbgbxspjyuzoevzwiuxkkscrzqdbxspykittuozksvdvxstzusdtespjomxsyqagxbtokrlhvqixuqrdxftyizswszi\n", - "-2651.152707580623 byke vkzgrcmtjqbgvxsppyuzievzciuxekscxzqdvxspekitnuozqsvdpxstfusdnesppomxmyqamxbtikrlnvqiruqrjxftsizscszi\n", - "-2682.0083593894974 byku vkzqrcmjjqbqvxsfpyujievpciuhekssxzqnvxsfekidnuopqsvnpxsjfusnnesfpomhmyqqmxbdikrbnvqsruqhjxfdsizicszs\n", - "-2672.1087427635894 iyku okzqycmjcqbqcxsfiyujpevpviuhlkssqzqncxsfxkiduuopjsvnwxsjyusnuesfiomhtyqqfxbdpkrbgvqsyuqhcxfdzizivszs\n", - "-2672.1087427635894 iyku okzqycmjcqbqcxsfiyujpevpviuhlkssqzqncxsfxkiduuopjsvnwxsjyusnuesfiomhtyqqfxbdpkrbgvqsyuqhcxfdzizivszs\n", - "-2658.2068991285614 icku ogzqygmjcmbqcbsfiuujpivpveuhlossqvqncbsfxgiduyopjovnwbsjyqsnuisfikmhtcqqftbdporbgrqsyyqhctfdzmzivozs\n", - "-2628.9427472694765 icki ogzcygmxcmbccbstiuuvpivdveutlosgqvqzcbstxgipuyodjovzwbsxyqszuistikmttcqeftbpporpgrqeyyqvctfpzmzwvoze\n", - "-2630.8261411022163 ijki ozzcynmxcfbccistinuvppvdvxutlvsgqoqzcistxzipufodjhvzwisxyjszupstidmttjqefmbppvrpgkqeyfqvcmfpztzwvhze\n", - "-2630.8261411022163 ijki ozzcynmxcfbccistinuvppvdvxutlvsgqoqzcistxzipufodjhvzwisxyjszupstidmttjqefmbppvrpgkqeyfqvcmfpztzwvhze\n", - "-2672.3500592117557 ifki odzcyjmxcjbccestiruvplvdvbutlrsgqsqzcestxdipubodjlvzwesxynszulstihmttfqefqbpprrpgoqeybqvcqfpzpzwvlze\n", - "-2672.3500592117557 ifki odzcyjmxcjbccestiruvplvdvbutlrsgqsqzcestxdipubodjlvzwesxynszulstihmttfqefqbpprrpgoqeybqvcqfpzpzwvlze\n", - "-2677.7990872763285 ifbi odicyjdxcjkccejtirdvplmdvbdtlrjgqszzcejtxdrpubfdjlezwejxynbzuljtihvttfhefqkppripgozeybhvcqopzpqwvlie\n", - "-2733.588375870088 ifbr odityjdgcjktcejcirdmplmmvbdklrjpqszqcejcxdrgubfmjleqwejgynbquljcihvktfhnfqkgpriygozvybhecqogzpqfvliv\n", - "-2710.085874903638 ifvr odotyjxgcjqtcedcirjmplgmvbjklrdpqsfqcedcxdxgubzmjlkqwedgynhquldcihbktfbnfqqgprcygofvybbecqugzpkfvlov\n", - "-2744.5294078193497 ifor odvtyjqgcjxtcewcirqmplzmvbqklrwpqsmqcewcxdegubsmjlrqwewgynoqulwcihiktfunfqxgprvygomvybuecqbgzpdfvlvv\n", - "-2759.811136538157 mfor kdvtcjqgyjxtgewcerqmtlzmrbqkprwpmsmqgewctdegybsmflrqaewgunoqylwcehikxfunbqxgtrvycomvcbueyqbgdpdfrlvv\n", - "-2794.0267214331498 nfor jdvtdjqgxjxthewcdrqmulzmqbqkqrwplsmqhewcsdegzbsmelrqbewgtnoqzlwcdhikyfunaqxgurvybomvdbuexqbgepdfqlvv\n", - "-2790.5349697713136 nfon jdvxdjqcxjxxhewydrqqulziqbqoqrwllsmuhewysdekzbsielrubewctnouzlwydhioyfujaqxkurvubomzdbuaxqbkepdbqlvz\n", - "-2784.2889164816984 nfxn jdmxdjzcxjoxhefydrhquliiqbhoqrfllsduhefysdvkzbbieliubefctnfuzlfydhzoyfdjaqokureubodzdbdaxqskepmbqlmz\n", - "-2720.030238910993 ofxn idmxejzcwjoxiefycrhqvliipbhorrflksduiefyrdvkabbidliucefcsnfualfychzozfdjzqokvreuaodzebdawqskfpmbplmz\n", - "-2708.9464602986573 oaxn iimxeezcwooxizfycwhqvgiipghormflkxduizfyrivkawbidqiuczfcssfuagfycmzozadjzvokvmeuatdzewdawvskfkmbpqmz\n", - "-2704.937965392749 oaxh iimdeezwwoodizfscwhwvgicpghurmffkxdaizfsrivqawbcdqiaczfwssfaagfscmzuzaddzvoqvmeoatdfewduwvsqfkmvpqmf\n", - "-2645.114827113777 oawh iindeeywwopdizescwiwvghcpgiurmefkxeaizesriwqawacdqjaczewssgaagescmauzacdzvpqvmdoatefewcuwvtqfklvpqnf\n", - "-2571.9354626809677 ovwh inndezywwtpdiuescbiwvbhcpliurhefkceaiuesrnwqaracdvjacuewsxgaabescrauzvcdzapqvhdoayefercuwatqfflvpvnf\n", - "-2700.989821550011 onwh ivnderywwbpdimescjiwvthcptiurzefkkeaimesrvwqajacddjacmewsfgaatesczauzncdzipqvzdoagefejcuwitqfxlvpdnf\n", - "-2760.4728614762125 onrh ivsdertwwbudimzscjnwvtccptnurzzfkkjaimzsrvbqajvcddoacmzwsflaatzsczfuznxdziuqvzyoagjfejxuwiyqfxgvpdsf\n", - "-2655.7633920166436 otrh ipsdextwwvudiszscdnwvzccpnnurfzfkejaiszsrpbqapvcdxoacszwszlaazzsctfuztxdzcuqvfyoaajfepxuwcyqfdgvpxsf\n", - "-2596.2803520904413 otwh ipndexywwvpdisescdiwvzhcpniurfefkeeaisesrpwqapacdxjacsewszgaazesctauztcdzcpqvfdoaaefepcuwctqfdlvpxnf\n", - "-2640.734877974009 okwh iyndeoywwepdijescmiwvqhcpwiurwefkneaijesrywqagacdgjacjewsigaaqesccauzkcdzlpqvwdoajefegcuwltqfulvpgnf\n", - "-2639.705339341518 ouwh iondeyywwupditescciwvahcpmiurgefkdeaitesrowqaqacdwjactewsygaaaescsauzucdzbpqvgdoazefeqcuwbtqfelvpwnf\n", - "-2640.734877974009 okwh iyndeoywwepdijescmiwvqhcpwiurwefkneaijesrywqagacdgjacjewsigaaqesccauzkcdzlpqvwdoajefegcuwltqfulvpgnf\n", - "-2690.4140095287617 okkh iyzdeomwwebdijsscmuwvqvcpwuurwsfknqaijssryiqagocdgvacjswsisaaqssccmuzkqdzlbqvwroajqfegquwlfqfuzvpgzf\n", - "-2665.4828109893715 okkq iyzueomfwebuijsbcmunvqvlpwulrwsoknqrijsbryihagoldgvrcjsfsisraqsbccmlzkqmzlbhvwrxajqwegqdwlfhfuzepgzw\n", - "-2621.0282851058023 otkq ipzuexmfwvbuissbcdunvzvlpnulrfsokeqrissbrpihapoldxvrcssfszsrazsbctmlztqmzcbhvfrxaaqwepqdwcfhfdzepxzw\n", - "-2471.865050867645 ktkq mpzuaxmfavbuessbgdunrzvltnulnfsooeqressbvpihwpolhxvryssfwzsrwzsbgtmlvtqmdcbhrfrxeaqwapqdacfhbdzetxzw\n", - "-2453.583549291813 ktkg mpzeaxmvavbeessrgduxrzvbtnuvnfseoeqbessrvpirwpobhxvbyssvwzsbwzsrgtmvvtqcdcbrrfrneaqgapqtacfrbdzutxzg\n", - "-2509.0744895159605 krkg mrzeavmvaxbeeqsrgfuxrxvbtpuvndseogqbeqsrvrirwnobhzvbyqsvwbsbwxsrgvmvvrqcdebrrdrnecqganqtaefrbbzutzzg\n", - "-2483.9963346202353 kykg mkzeacmvaqbeexsrgyuxrevbtiuvnkseozqbexsrvkirwuobhsvbyxsvwusbwesrgomvvyqcdxbrrkrnevqgauqtaxfrbizutszg\n", - "-2500.3863946340693 kyog mkveacqvaqxeexwrgyqxrezbtiqvnkweozmbexwrvkerwusbhsrbyxwvwuobwewrgoivvyucdxxrrkvnevmgauutaxbrbidutsvg\n", - "-2465.9428617183603 kyvg mkoeacxvaqqeexdrgyjxregbtijvnkdeozfbexdrvkxrwuzbhskbyxdvwuhbwedrgobvvybcdxqrrkcnevfgaubtaxurbikutsog\n", - "-2286.1912843707896 kivg maoeamxvagqeehdrgojxrogbtyjvnudeopfbehdrvaxrwezbhikbyhdvwkhbwodrgebvvibcdnqrrucnelfgaebtanurbskutiog\n", - "-2419.4319514253466 givg qaoewmxvegqeahdrkojxnogbxyjvjudespfbahdrzaxrsezblikbuhdvakhbsodrkebvribchnqrnucnilfgwebtenurxskuxiog\n", - "-2453.875484341056 giog qavewmqvegxeahwrkoqxnozbxyqvjuwespmbahwrzaersesblirbuhwvakobsowrkeivriuchnxrnuvnilmgweutenbrxsduxivg\n", - "-2453.875484341056 giog qavewmqvegxeahwrkoqxnozbxyqvjuwespmbahwrzaersesblirbuhwvakobsowrkeivriuchnxrnuvnilmgweutenbrxsduxivg\n", - "-2465.079609660725 giof qavfwmquegxfahwqkoqynozaxyqwjuwdspmcahwqzaessesalircuhwuakocsowqkeiwriubhnxsnuvmilmhweusenbsxsdtxivh\n", - "-2494.6085575542847 giod qavhwmqsegxhahwokoqanozyxyqyjuwbspmeahwozaeusesylireuhwsakoesowokeiyriuzhnxunuvkilmjweuqenbuxsdrxivj\n", - "-2502.1631895251558 diod tavhtmqshgxhxhwonoqakozyayqyguwbvpmexhwocaeupesyoirerhwsdkoepowoneiyoiuzknxukuvkllmjteuqhnbuusdraivj\n", - "-2479.7116178877577 dioq tavutmqfhgxuxhwbnoqnkozlayqlguwovpmrxhwbcaehpesloirrrhwfdkorpowbneiloiumknxhkuvxllmwteudhnbhusdeaivw\n", - "-2472.634241631595 diof tavftmquhgxfxhwqnoqykozaayqwguwdvpmcxhwqcaespesaoircrhwudkocpowqneiwoiubknxskuvmllmhteushnbsusdtaivh\n", - "-2478.0258445841623 dicf tahftmeuhgjfxhkqnocykonaaycwgukdvpycxhkqcaqspegaoidcrhkudkacpokqneuwoiibknjskujmllyhteishnnsusrtaihh\n", - "-2484.504941956785 ricf fahfhmeutgjflhkqzocyyonamycwuukdhpyclhkqoaqsdegaaidcfhkupkacdokqzeuwciibwnjsyujmxlyhheistnnsisrtmihh\n", - "-2533.256746259245 cicf uahfsmeuigjfwhkqoocyjonabycwfukdwpycwhkqdaqsoegapidcqhkuekacookqoeuwniiblnjsjujmmlyhseisinnstsrtbihh\n", - "-2492.7704199990385 wicf aahfmmeuogjfqhkquocydonahycwzukdcpycqhkqjaqsiegavidckhkukkaciokqueuwhiibrnjsdujmslyhmeisonnsnsrthihh\n", - "-2521.767975192765 sicf eahfimeusgjfmhkqyocyzonalycwvukdgpycmhkqnaqseegazidcghkuokaceokqyeuwdiibvnjszujmwlyhieissnnsjsrtlihh\n", - "-2479.6490507172125 sief eaffimgusghfmhmqyoayzopalyawvumdgpwcmhmqnaoseeiazibcghmuokyceomqyeswdikbvnhszulmwlwhiekssnlsjsttlifh\n", - "-2468.935835904152 bief vaffrmgujghfvhmqpoayiopacyaweumdxpwcvhmqeaosneiaqibcphmufkycnomqpeswmikbmnhsiulmnlwhreksjnlsssttcifh\n", - "-2444.274855321339 oief iaffemguwghfihmqcoayvopapyawrumdkpwcihmqraosaeiadibcchmuskycaomqceswzikbznhsvulmalwheekswnlsfsttpifh\n", - "-2496.1635521600065 hief paffxmgudghfbhmqjoayoopawyawkumdrpwcbhmqyaosteiakibcvhmuzkyctomqjeswsikbgnhsoulmhlwhxeksdnlsysttwifh\n", - "-2479.6490507172125 sief eaffimgusghfmhmqyoayzopalyawvumdgpwcmhmqnaoseeiazibcghmuokyceomqyeswdikbvnhszulmwlwhiekssnlsjsttlifh\n", - "-2509.1779986107717 sied eafhimgssghhmhmoyoaazopylyayvumbgpwemhmonaoueeiyzibeghmsokyeeomoyesydikzvnhuzulkwlwjiekqsnlujstrlifj\n", - "-2526.802350911459 siel eafzimgasghzmhmwyoaszopglyaqvumjgpwwmhmwnaomeeigzibwghmaokyweomwyesqdikhvnhmzulswlwbiekysnlmjstzlifb\n", - "-2464.788446260181 siej eafbimgysghbmhmuyoauzopelyasvumhgpwymhmunaooeeiezibyghmyokyyeomuyessdikfvnhozulqwlwdiekwsnlojstxlifd\n", - "-2484.403832600641 sizj eakbimbysgmbmhhuyofuzokelyfsvuhhgpbymhhunatoeedezigyghhyokdyeohuyexsdiffvnmozugqwlbdiefwsnqojsoxlikd\n", - "-2517.6018981131047 sizs eaksimbhsgmsmhhdyoflzoknlyfjvuhqgpbpmhhdnatfeednzigpghhhokdpeohdyexjdifovnmfzugzwlbuieffsnqfjsogliku\n", - "-2564.34298010531 sits eaqsimvhsgssmhbdyollzoenlyljvubqgphpmhbdnazfeexnzimpghbhokjpeobdyedjdizovnsfzuazwlhuiezfsnwfjsigliqu\n", - "-2503.833504060632 zits xaqspmvhlgssthbdrollgoeneyljcubqzphpthbdgazflexnsimpnhbhhkjplobdredjkizoonsfguazplhupezflnwfqsigeiqu\n", - "-2485.4960430052006 zitf xaqfpmvulgsfthbqrolygoeaeylwcubdzphcthbqgazslexasimcnhbuhkjclobqredwkizbonssguamplhhpezslnwsqsiteiqh\n", - "-2409.050784757417 zipf xaufpmrulgwfthxqropygoaaeypwcuxdzplcthxqgadsletasiqcnhxuhkncloxqrehwkivbonwsguwmpllhpevslnasqseteiuh\n", - "-2408.112190802066 zipz xaulpmrolgwlthxkropegoaueypccuxxzplithxkgadyletusiqinhxohkniloxkrehckivvonwyguwgpllnpevmlnayqseneiun\n", - "-2249.64868968968 zipt xaurpmrilgwrthxeropkgoaoeypicuxrzplothxegadeletosiqonhxihknoloxerehikivponweguwaplltpevglnaeqseheiut\n", - "-2269.6903529429355 ziht xacrpmjilgerthperoxkgosoeyxicuprzptothpegalelelosiyonhpihkvoloperepikinponeeguoaplttpenglnieqswheict\n", - "-2290.218747838168 zixt xamrpmzilgorthferohkgoioeyhicufrzpdothfegavelebosiionhfihkfoloferezikidponoegueapldtpedglnseqsmheimt\n", - "-2285.5237691785223 zibt xairpmdilgkrthjerodkgomoeydicujrzpzothjegarelefosieonhjihkbolojerevikihponkeguiaplztpehglnoeqsqheiit\n", - "-2326.4935078937942 ziqt xatrpmsilgvrthyerookgoboeyoicuyrzpkothyegaceleuosiponhyihkmoloyeregikiwponveguxaplktpewglnzeqsfheitt\n", - "-2289.8786494854007 zirt xasrpmtilgurthzeronkgocoeynicuzrzpjothzegabelevosioonhzihklolozerefikixponueguyapljtpexglnyeqsgheist\n", - "-2241.071620040895 ziyt xalrpmailgnrthgerogkgojoeygicugrzpcothgegauelecosihonhgihkeologereyikieponnegufaplctpeeglnreqsnheilt\n", - "-2285.5237691785223 zibt xairpmdilgkrthjerodkgomoeydicujrzpzothjegarelefosieonhjihkbolojerevikihponkeguiaplztpehglnoeqsqheiit\n", - "-2259.7374796047966 ziet xafrpmgilghrthmeroakgopoeyaicumrzpwothmegaoeleiosibonhmihkyolomeresikikponhegulaplwtpekglnleqstheift\n", - "-2282.9839224134953 riet fafrhmgitghrlhmezoakyopomyaiuumrhpwolhmeoaoedeioaibofhmipkyodomezesicikpwnheyulaxlwthekgtnleisthmift\n", - "-2332.5114096960137 rint fawrhmpitgyrlhvezorkyoyomyriuuvrhpnolhveoafederoaisofhvipkpodovezejicitpwnyeyuuaxlnthetgtnceischmiwt\n", - "-2319.7112439364787 riot favrhmqitgxrlhwezoqkyozomyqiuuwrhpmolhweoaeedesoairofhwipkoodowezeiiciupwnxeyuvaxlmtheugtnbeisdhmivt\n", - "-2349.3403907461598 ritt faqrhmvitgsrlhbezolkyoeomyliuubrhpholhbeoazedexoaimofhbipkjodobezedicizpwnseyuaaxlhthezgtnweisihmiqt\n", - "-2303.321183922645 rikt fazrhmmitgbrlhsezoukyovomyuiuusrhpqolhseoaiedeooaivofhsipksodosezemiciqpwnbeyuraxlqtheqgtnfeiszhmizt\n", - "-2292.9367957516347 riht facrhmjitgerlhpezoxkyosomyxiuuprhptolhpeoaledeloaiyofhpipkvodopezepicinpwneeyuoaxltthengtnieiswhmict\n", - "-2359.084311162442 niht jacrdmjixgerhhpedoxkuosoqyxiquprlptohhpesalezeloeiyobhpitkvozopedepiyinpaneeuuoablttdengxnieeswhqict\n", - "-2359.084311162442 niht jacrdmjixgerhhpedoxkuosoqyxiquprlptohhpesalezeloeiyobhpitkvozopedepiyinpaneeuuoablttdengxnieeswhqict\n", - "-2394.526289400107 niit jabrdmkixgdrhhqedowkuotoqywiquqrlpsohhqesakezemoeixobhqitkuozoqedeoiyiopandeuupablstdeogxnheesxhqibt\n", - "-2376.316551423663 yiit yabromkimgdrshqesowkfotofywibuqrapsoshqehakekemotixomhqiikuokoqeseoijioppndefupaqlstoeogmnhepsxhfibt\n", - "-2354.181787357893 yijt yaaromlimgcrshresovkfouofyviburraproshrehajekenotiwomhriiktokoresenijipppncefuqaqlrtoepgmngepsyhfiat\n", - "-2356.7079894215867 yibt yairomdimgkrshjesodkfomofydibujrapzoshjeharekefotieomhjiikbokojesevijihppnkefuiaqlztoehgmnoepsqhfiit\n", - "-2360.408046933734 yimt yaxromoimgzrshuesoskfoxofysibuurapooshuehagekeqotitomhuiikqokouesekijisppnzefutaqlotoesgmndepsbhfixt\n", - "-2528.141174479016 yjmt yzxronoimfzrsiuesnskfpxofxsibvuraooosiuehzgekfqothtomiuiijqokpuesdkijjsppmzefvtaqkotofsgmmdeptbhfhxt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2456.9569542359504 zjmt xzxrpnoilfzrtiuernskgpxoexsicvurzoootiuegzgelfqoshtoniuihjqolpuerdkikjspomzegvtapkotpfsglmdeqtbhehxt\n", - "-2468.9754040382404 zymt xkxrpcoilqzrtxueryskgexoeisickurzzootxuegkgeluqosstonxuihuqoleuerokikyspoxzegktapvotpusglxdeqibhesxt\n", - "-2456.9569542359504 zjmt xzxrpnoilfzrtiuernskgpxoexsicvurzoootiuegzgelfqoshtoniuihjqolpuerdkikjspomzegvtapkotpfsglmdeqtbhehxt\n", - "-2445.6150354920674 zmmt xwxrpqoilczrtluerkskgsxoeusicyurzlootluegwgeliqosetonluihgqolsuerakikmspojzegytaphotpisgljdeqwbheext\n", - "-2503.9493892055893 lmmt lwxrbqoizczrfluefkskssxosusioyurnlooflueuwgexiqogetozluivgqoxsuefakiwmspcjzesytadhotbisgzjdecwbhsext\n", - "-2513.6877457852215 emmt swxruqoigczryluemksklsxozusihyurulooyluebwgeqiqonetosluicgqoqsuemakipmspjjzelytakhotuisggjdevwbhzext\n", - "-2546.717967561683 elmt sxxrupoigdzrykuemlsklrxozvsihxurumooykuebxgeqhqonftoskuichqoqruembkiplspjkzelxtakiotuhsggkdevvbhzfxt\n", - "-2522.847625840199 elft sxeruphigdgryknemlzklrqozvzihxnrumvoyknebxneqhjonfaosknichxoqrnembripllpjkgelxmakivtuhlggkkevvuhzfet\n", - "-2479.910196195847 olft ixerephiwdgrikneclzkvrqopvzirxnrkmvoiknerxneahjodfaocknishxoarnecbrizllpzkgevxmaaivtehlgwkkefvuhpfet\n", - "-2672.3089917147304 olfb ixejephqwdgjiknmclzcvrqwpvzarxnzkmvgiknmrxnwahjwdfagcknqshxgarnmcbrazllxzkgwvxmiaivlehlowkkwfvuppfel\n", - "-2623.5155989261407 oefb ieejeihqwkgjidnmcszcvkqwpczarqnzktvgidnmrenwaajwdmagcdnqsoxgaknmcirazelxzrgwvqmiapvlealowrkwfouppmel\n", - "-2643.9395069269162 oefk ieeaeihzwkgaidnvcsztvkqfpczrrqniktvxidnvrennaajfdmaxcdnzsoxxaknvcirrzelgzrgnvqmrapvcealxwrknfouypmec\n", - "-2673.8544205936537 osfk iqeaewhzwwgairnvceztvyqfpozrrenikfvxirnvrqnnaojfdyaxcrnzsaxxaynvcurrzslgzdgnvemrabvceolxwdknfcuypyec\n", - "-2717.7659025117837 osnk iqwaewpzwwyairvvcertvyyfporrrevikfnxirvvrqfnaorfdysxcrvzsapxayvvcujrzstgzdynveurabnceotxwdcnfccypywc\n", - "-2717.7659025117837 osnk iqwaewpzwwyairvvcertvyyfporrrevikfnxirvvrqfnaorfdysxcrvzsapxayvvcujrzstgzdynveurabnceotxwdcnfccypywc\n", - "-2703.854115423161 osnr iqwtewpgwwytirvccermvyymporkrevpkfnqirvcrqfgaormdysqcrvgsapqayvccujkzstnzdygveuyabnveotewdcgfccfpywv\n", - "-2674.663889649793 oskr iqztewmgwwbtirscceumvyvmpoukrespkfqqirscrqigaoomdyvqcrsgsasqaysccumkzsqnzdbgveryabqveoqewdfgfczfpyzv\n", - "-2703.854115423161 osnr iqwtewpgwwytirvccermvyymporkrevpkfnqirvcrqfgaormdysqcrvgsapqayvccujkzstnzdygveuyabnveotewdcgfccfpywv\n", - "-2682.872366348559 opnr itwtetpgwzytiovcchrmvvymprrkrbvpkinqiovcrtfgalrmdbsqcovgsdpqavvccxjkzptnzgygvbuyaenveltewgcgfzcfpbwv\n", - "-2627.0830777548003 opni itwcetpxwzyciovtchrvvvydprrtrbvgkinziovtrtfpalrddbszcovxsdpzavvtcxjtzptezgypvbupaeneeltvwgcpfzcwpbwe\n", - "-2602.5157779830715 ovni inwcezpxwtyciuvtcbrvvbydplrtrhvgkcnziuvtrnfparrddvszcuvxsxpzabvtcrjtzvtezaypvhupayneertvwacpffcwpvwe\n", - "-2586.593210799473 gvni qnwcwzpxetycauvtkbrvnbydxlrtjhvgscnzauvtznfpsrrdlvszuuvxaxpzsbvtkrjtrvtehaypnhupiynewrtveacpxfcwxvwe\n", - "-2645.4532076274227 evni snwcuzpxgtycyuvtmbrvlbydzlrthhvgucnzyuvtbnfpqrrdnvszsuvxcxpzqbvtmrjtpvtejayplhupkyneurtvgacpvfcwzvwe\n", - "-2585.836930429787 evpi snucuzrxgtwcyuxtmbpvlbadzlpthhxguclzyuxtbndpqrtdnvqzsuxxcxnzqbxtmrhtpvvejawplhwpkyleurvvgaapvfewzvue\n", - "-2442.810448848818 evli snycuznxgtacyuttmbtvlbwdzltthhtgucpzyuttbnhpqrpdnvuzsutxcxrzqbttmrltpvrejaaplhspkypeurrvgaepvfawzvye\n", - "-2521.7293462362104 evlc snyiuznrgtaiyutnmbtblbwxzltzhhtaucpfyutnbnhvqrpxnvufsutrcxrfqbtnmrlzpvryjaavlhsjkypkurrpgaevvfaqzvyk\n", - "-2299.6888210115435 evlt snyruznigtaryutembtklbwozltihhtrucpoyutebnheqrponvuosuticxroqbtemrlipvrpjaaelhsakypturrggaeevfahzvyt\n", - "-2364.116348979725 ellt sxyrupnigdaryktemltklrwozvtihxtrumpoyktebxheqhponfuosktichroqrtembliplrpjkaelxsakiptuhrggkeevvahzfyt\n", - "-2512.3143187277947 ellg sxyeupnvgdaeyktrmltxlrwbzvtvhxteumpbyktrbxhrqhpbnfubsktvchrbqrtrmblvplrcjkarlxsnkipguhrtgkervvauzfyg\n", - "-2598.196111783359 elly sxymupnngdamyktjmltflrwtzvtdhxtwumpjyktjbxhzqhptnfujsktnchrjqrtjmbldplrujkazlxsfkipouhrlgkezvvamzfyo\n", - "-2524.3683207197 ella sxykupnpgdakyktlmltdlrwvzvtbhxtyumphyktlbxhxqhpvnfuhsktpchrhqrtlmblbplrwjkaxlxshkipmuhrngkexvvaozfym\n", - "-2514.6984674894125 eyla skykucnpgqakyxtlmytdlewvzitbhktyuzphyxtlbkhxqupvnsuhsxtpcurhqetlmolbpyrwjxaxlkshkvpmuurngxexviaozsym\n", - "-2560.2314673060223 eylw skyoucnlgqaoyxthmythlewrzitfhktuuzplyxthbkhbquprnsulsxtlcurlqethmolfpyrsjxablksdkvpquurjgxebviakzsyq\n", - "-2558.8297447655655 tylw dkyojcnlrqaonxthxythaewrkitfwktufzplnxthmkhbfuprysulhxtlnurlfethxolfeyrsuxabaksdvvpqjurjrxebkiakksyq\n", - "-2501.371470478074 gylw qkyowcnleqaoaxthkythnewrxitfjktuszplaxthzkhbsuprlsuluxtlaurlsethkolfryrshxabnksdivpqwurjexebxiakxsyq\n", - "-2487.479515804056 vylw bkyolcnlpqaopxthvythcewriitfyktudzplpxthkkhbhuprwsuljxtllurlhethvolfgyrssxabcksdtvpqlurjpxebmiakisyq\n", - "-2503.73506947214 vylc bkyilcnrpqaipxtnvytbcewxiitzyktadzpfpxtnkkhvhupxwsufjxtrlurfhetnvolzgyrysxavcksjtvpklurppxevmiaqisyk\n", - "-2517.7768100272865 vklc byyilonrpeaipjtnvmtbcqwxiwtzywtadnpfpjtnkyhvhgpxwgufjjtrlirfhqtnvclzgkryslavcwsjtjpklgrpplevmuaqigyk\n", - "-2572.6240565170806 vdlc bfyilhnrplaipctnvttbcjwxidtzyptadupfpctnkfhvhzpxwnufjctrlprfhjtnvjlzgdryssavcpsjtqpklzrppsevmnaqinyk\n", - "-2495.12502190312 vdlj bfyblhnyplabpctuvttucjweidtsypthdupypctukfhohzpewnuyjctylpryhjtuvjlsgdrfssaocpsqtqpdlzrwpseomnaxinyd\n", - "-2537.758243172496 qdlj gfybghnyulabkctuattuxjwendtstpthiupykctupfhoczpebnuyectyqprycjtuajlsbdrfxsaoxpsqyqpdgzrwuseohnaxnnyd\n", - "-2499.804263111933 zdlj xfybphnyllabtcturttugjweedtscpthzupytctugfholzpesnuynctyhpryljturjlskdrfosaogpsqpqpdpzrwlseoqnaxenyd\n", - "-2455.993430962719 zrlj xrybpvnylxabtqturftugxweeptscdthzgpytqtugrholnpeszuynqtyhbrylxturvlskrrfoeaogdsqpcpdpnrwleeoqbaxezyd\n", - "-2457.7541878300917 zzlj xjybpdnylpabtyturxtugfweehtsclthzypytytugjholvpesruynytyhtrylfturnlskzrfowaoglsqpupdpvrwlweoqjaxeryd\n", - "-2473.464668959358 zzla xjykpdnplpaktytlrxtdgfwvehtbcltyzyphtytlgjhxlvpvsruhnytphtrhlftlrnlbkzrwowaxglshpupmpvrnlwexqjaoerym\n", - "-2510.8789883103677 uzla cjykkdnpqpakoytlwxtdbfwvjhtbxltyeyphoytlljhxgvpvxruhiytpmtrhgftlwnlbfzrwtwaxblshuupmkvrnqwexljaojrym\n", - "-2562.858627178866 nzla jjykddnpxpakhytldxtdufwvqhtbqltylyphhytlsjhxzvpveruhbytpttrhzftldnlbyzrwawaxulshbupmdvrnxwexejaoqrym\n", - "-2468.7854277505444 vzla bjykldnpppakpytlvxtdcfwvihtbyltydyphpytlkjhxhvpvwruhjytpltrhhftlvnlbgzrwswaxclshtupmlvrnpwexmjaoirym\n", - "-2497.4644989718695 vzld bjyhldnsppahpytovxtacfwyihtyyltbdypepytokjhuhvpywruejytsltrehftovnlygzrzswauclsktupjlvrqpweumjariryj\n", - "-2692.6986949435077 vzcd bjhhldesppjhpykovxcacfnyihcyylkbdyyepykokjquhvgywrdejyksltaehfkovnuygzizswjucljktuyjlviqpwnumjrrirhj\n", - "-2627.8323049879705 vzsd bjrhldusppthpyaovxmacfdyihmyylabdyiepyaokjauhvwywrnejyasltkehfaovneygzyzswtuclzktuijlvyqpwxumjhrirrj\n", - "-2630.3119318899626 vzsh bjrdlduwpptdpyasvxmwcfdcihmuylafdyiapyaskjaqhvwcwrnajyawltkahfasvneugzydswtqclzotuiflvyupwxqmjhvirrf\n", - "-2674.887817704483 izsh ojrdyduwcptdcyasixmwpfdcvhmullafqyiacyasxjaquvwcjrnawyawytkaufasineutzydfwtqplzoguifyvyucwxqzjhvvrrf\n", - "-2636.0304561390953 ijsh ozrdynuwcftdciasinmwppdcvxmulvafqoiaciasxzaqufwcjhnawiawyjkaupasideutjydfmtqpvzogkifyfyucmxqzthvvhrf\n", - "-2587.7414141130803 ijsi ozrcynuxcftcciatinmvppddvxmtlvagqoizciatxzapufwdjhnzwiaxyjkzupatidettjyefmtppvzpgkieyfyvcmxpzthwvhre\n", - "-2585.8580202803414 icsi ogrcyguxcmtccbatiumvpiddvemtloagqvizcbatxgapuywdjonzwbaxyqkzuiatikettcyefttppozpgrieyyyvctxpzmhwvore\n", - "-2631.865573270358 icji ogacyglxcmcccbrtiuvvpiudvevtlorgqvrzcbrtxgjpuyndjowzwbrxyqtzuirtiknttcpeftcppoqpgrreyypvctgpzmywvoae\n", - "-2634.3917753340497 icbi ogicygdxcmkccbjtiudvpimdvedtlojgqvzzcbjtxgrpuyfdjoezwbjxyqbzuijtikvttcheftkppoipgrzeyyhvctopzmqwvoie\n", - "-2669.009703619944 icbs ogisygdhcmkscbjdiudlpimnvedjlojqqvzpcbjdxgrfuyfnjoepwbjhyqbpuijdikvjtchoftkfpoizgrzuyyhfctofzmqgvoiu\n", - "-2701.3332369498876 iabs oiisyedhcoksczjdiwdlpgmnvgdjlmjqqxzpczjdxirfuwfnjqepwzjhysbpugjdimvjtahofvkfpmizgtzuywhfcvofzkqgvqiu\n", - "-2681.162952740552 iafs oiesyehhcogsczndiwzlpgqnvgzjlmnqqxvpczndxinfuwjnjqapwznhysxpugndimrjtalofvgfpmmzgtvuywlfcvkfzkugvqeu\n", - "-2731.953945958268 pafs hiesfehhvogsjzndbwzlwgqnogzjsmnqjxvpjzndqinfbwjncqapdznhrsxpbgndbmrjaaloyvgfwmmzztvufwlfvvkfgkugoqeu\n", - "-2714.7609047780406 pwfs hmesfahhvsgsjvndbazlwcqnokzjsinqjbvpjvndqmnfbsjncuapdvnhrwxpbcndbqrjawloyzgfwimzzxvufslfvzkfggugoueu\n", - "-2681.562839265577 pwfj hmebfahyvsgbjvnubazuwcqeokzssinhjbvyjvnuqmnobsjecuaydvnyrwxybcnubqrsawlfyzgowimqzxvdfslwvzkogguxoued\n", - "-2630.771846047863 iwfj omebyahycsgbcvnuiazupcqevkzslinhqbvycvnuxmnousjejuaywvnyywxyucnuiqrstwlffzgopimqgxvdyslwczkozguxvued\n", - "-2574.785522795279 ivfj onebyzhyctgbcunuibzupbqevlzslhnhqcvycunuxnnourjejvaywunyyxxyubnuirrstvlffagophmqgyvdyrlwcakozfuxvved\n", - "-2621.6547020478633 ivfh onedyzhwctgdcunsibzwpbqcvlzulhnfqcvacunsxnnqurjcjvaawunwyxxaubnsirrutvldfagqphmogyvfyrlucakqzfuvvvef\n", - "-2646.1798665640754 ivrh onsdyztwctudcuzsibnwpbccvlnulhzfqcjacuzsxnbqurvcjvoawuzwyxlaubzsirfutvxdfauqphyogyjfyrxucayqzfgvvvsf\n", - "-2719.359230996886 iarh oisdyetwcoudczzsiwnwpgccvgnulmzfqxjaczzsxibquwvcjqoawzzwyslaugzsimfutaxdfvuqpmyogtjfywxucvyqzkgvvqsf\n", - "-2717.416566451741 qarh gisdgetwuoudkzzsawnwxgccngnutmzfixjakzzspibqcwvcbqoaezzwqslacgzsamfubaxdxvuqxmyoytjfgwxuuvyqhkgvnqsf\n", - "-2706.8907829115988 qazh gikdgebwuomdkzhsawfwxgkcngfutmhfixbakzhspitqcwdcbqgaezhwqsdacghsamxubafdxvmqxmgoytbfgwfuuvqqhkovnqkf\n", - "-2668.9368028510357 zazh xikdpebwlomdtzhsrwfwggkcegfucmhfzxbatzhsgitqlwdcsqganzhwhsdalghsrmxukafdovmqgmgoptbfpwfulvqqqkoveqkf\n", - "-2649.911912684107 zazu xikqpebjlomqtzhfrwfjggkpegfhcmhszxbntzhfgitdlwdpsqgnnzhjhsdnlghfrmxhkafqovmdgmgbptbspwfhlvqdqkoieqks\n", - "-2640.249399681783 zahu xicqpejjloeqtzpfrwxjggspegxhcmpszxtntzpfgildlwlpsqynnzpjhsvnlgpfrmphkanqovedgmobpttspwnhlvidqkwieqcs\n", - "-2620.2077364285296 zapu xiuqperjlowqtzxfrwpjggapegphcmxszxlntzxfgiddlwtpsqqnnzxjhsnnlgxfrmhhkavqovwdgmwbptlspwvhlvadqkeiequs\n", - "-2571.373261405192 ztpu xpuqpxrjlvwqtsxfrdpjgzapenphcfxszelntsxfgpddlptpsxqnnsxjhznnlzxfrthhktvqocwdgfwbpalsppvhlcadqdeiexus\n", - "-2576.727037832002 ztps xpuspxrhlvwstsxdrdplgzanenpjcfxqzelptsxdgpdflptnsxqpnsxhhznplzxdrthjktvoocwfgfwzpaluppvflcafqdegexuu\n", - "-2576.727037832002 ztps xpuspxrhlvwstsxdrdplgzanenpjcfxqzelptsxdgpdflptnsxqpnsxhhznplzxdrthjktvoocwfgfwzpaluppvflcafqdegexuu\n", - "-2552.382148422527 zvps xnuspzrhltwstuxdrbplgbanelpjchxqzclptuxdgndflrtnsvqpnuxhhxnplbxdrrhjkvvooawfghwzpyluprvflaafqfegevuu\n", - "-2552.382148422527 zvps xnuspzrhltwstuxdrbplgbanelpjchxqzclptuxdgndflrtnsvqpnuxhhxnplbxdrrhjkvvooawfghwzpyluprvflaafqfegevuu\n", - "-2552.382148422527 zvps xnuspzrhltwstuxdrbplgbanelpjchxqzclptuxdgndflrtnsvqpnuxhhxnplbxdrrhjkvvooawfghwzpyluprvflaafqfegevuu\n", - "-2534.044687367095 zvpf xnufpzrultwftuxqrbpygbaaelpwchxdzclctuxqgndslrtasvqcnuxuhxnclbxqrrhwkvvboawsghwmpylhprvslaasqfetevuh\n", - "-2519.1840829100634 zvpj xnubpzryltwbtuxurbpugbaeelpschxhzclytuxugndolrtesvqynuxyhxnylbxurrhskvvfoawoghwqpyldprvwlaaoqfexevud\n", - "-2529.2728728251805 zvej xnfbpzgylthbtumurbaugbpeelaschmhzcwytumugnoolriesvbynumyhxyylbmurrsskvkfoahoghlqpywdprkwlaloqftxevfd\n", - "-2566.0001943481666 zvoj xnvbpzqyltxbtuwurbqugbzeelqschwhzcmytuwugneolrsesvrynuwyhxoylbwurriskvufoaxoghvqpymdpruwlaboqfdxevvd\n", - "-2529.2728728251805 zvej xnfbpzgylthbtumurbaugbpeelaschmhzcwytumugnoolriesvbynumyhxyylbmurrsskvkfoahoghlqpywdprkwlaloqftxevfd\n", - "-2541.343865052043 zvaj xnjbpzcyltlbtuiurbeugbleeleschihzcaytuiugnsolreesvfynuiyhxcylbiurrwskvgfoaloghhqpyadprgwlapoqfpxevjd\n", - "-2550.556578517247 gvaj qnjbwzcyetlbauiukbeunblexlesjhihscayauiuznsosreelvfyuuiyaxcysbiukrwsrvgfhalonhhqiyadwrgweapoxfpxxvjd\n", - "-2568.626756170988 gvrj qnsbwztyetubauzukbnunbcexlnsjhzhscjyauzuznbosrvelvoyuuzyaxlysbzukrfsrvxfhauonhyqiyjdwrxweayoxfgxxvsd\n", - "-2582.548766672668 gvrz qnslwztoetulauzkkbnenbcuxlncjhzxscjiauzkznbysrvulvoiuuzoaxlisbzkkrfcrvxvhauynhygiyjnwrxmeayyxfgnxvsn\n", - "-2619.1636250810634 gvqz qntlwzsoetvlauykkboenbbuxlocjhyxsckiauykzncysruulvpiuuyoaxmisbykkrgcrvwvhavynhxgiyknwrwmeazyxffnxvtn\n", - "-2626.718257051935 dvqz tntltzsohtvlxuyknboekbbualocghyxvckixuykcncypruuovpiruyodxmipbyknrgcovwvkavykhxglykntrwmhazyuffnavtn\n", - "-2598.421034096234 dvqx tntntzsmhtvnxuyinbogkbbsaloeghyvvckkxuyicncaprusovpkruymdxmkpbyinrgeovwtkavakhxelykptrwkhazaufflavtp\n", - "-2643.970082942566 dsqx tqtntwsmhwvnxryineogkybsaooegeyvvfkkxryicqcapousoypkrrymdamkpyyinugeoswtkdvakexelbkptowkhdzaucflaytp\n", - "-2722.0676958790705 ddqx tftnthsmhlvnxcyintogkjbsadoegpyvvukkxcyicfcapzusonpkrcymdpmkpjyinjgeodwtksvakpxelqkptzwkhszaunflantp\n", - "-2714.513063908198 gdqx qftnwhsmelvnacyiktognjbsxdoejpyvsukkacyizfcaszuslnpkucymapmksjyikjgerdwthsvanpxeiqkpwzwkeszaxnflxntp\n", - "-2709.509530190012 xdqx zftnnhsmnlvnrcyittogejbsgdoeapyvbukkrcyiifcajzusunpklcymjpmkjjyitjgeidwtqsvaepxerqkpnzwknszaonflgntp\n", - "-2828.5352227650405 xdqo zftwnhsdnlvwrcyzttopejbjgdonapymbuktrcyzifcjjzujunptlcydjpmtjjyztjgnidwkqsvjepxvrqkynzwbnszjonfcgnty\n", - "-2791.9203643566448 xdro zfswnhtdnluwrczzttnpejcjgdnnapzmbujtrczzifbjjzvjunotlczdjpltjjzztjfnidxkqsujepyvrqjynzxbnsyjongcgnsy\n", - "-2720.6996203825265 xhro zbswnltdnhuwrgzztpnpencjgznnatzmbqjtrgzzibbjjdvjujotlgzdjlltjnzztffnihxkqoujetyvrmjyndxbnoyjorgcgjsy\n", - "-2631.759621390787 xhra zbsknltpnhukrgzltpndencvgznbatzybqjhrgzlibbxjdvvujohlgzpjllhjnzltffbihxwqouxetyhrmjmndxnnoyxorgogjsm\n", - "-2663.9064451696945 xhrb zbsjnltqnhujrgzmtpncencwgznaatzzbqjgrgzmibbwjdvwujoglgzqjllgjnzmtffaihxxqouwetyirmjlndxonoyworgpgjsl\n", - "-2616.623399387891 xhrm zbsynltbnhuyrgzxtpnrenchgznpatzkbqjvrgzxibbljdvhujovlgzbjllvjnzxtffpihxiqouletytrmjandxznoylorgagjsa\n", - "-2619.359860320401 xhdm zbgynlfbnhiyrglxtpbrenohgzbpatlkbqxvrglxibpljdhhujcvlglbjlzvjnlxtftpihjiqoiletktrmxandjznomlorsagjga\n", - "-2605.132297427766 xbdm zhgynffbnniyralxtvbrehohgfbpanlkbwxvralxihpljxhhupcvlalbjrzvjhlxtltpibjiquilenktrsxanxjznumlolsagpga\n", - "-2605.132297427766 xbdm zhgynffbnniyralxtvbrehohgfbpanlkbwxvralxihpljxhhupcvlalbjrzvjhlxtltpibjiquilenktrsxanxjznumlolsagpga\n", - "-2542.9127965690536 xbwm zhnynfybnnpyraextvirehhhgfipanekbwevraexihwljxahupjvlaebjrgvjhextlapibciquplendtrseanxcznutlollagpna\n", - "-2527.963324988661 xbwx zhnnnfymnnpnraeitvigehhsgfieanevbwekraeiihwajxasupjklaemjrgkjheitlaeibctqupaendersepnxcknutaolllgpnp\n", - "-2574.028113117724 xfwx zdnnnjymnjpnreeitrigelhsgbiearevbsekreeiidwajbasuljkleemjngkjleithaeifctqqpaerderoepnbcknqtaopllglnp\n", - "-2608.9859885277133 xffx zdennjhmnjgnrenitrzgelqsgbzearnvbsvkreniidnajbjsulaklenmjnxkjlnithreifltqqgaermerovpnblknqkaopulglep\n", - "-2570.9119182838103 xofx zuennshmnagnrnnitizgeuqsgszeaanvbjvkrnniiunajkjsucaklnnmjexkjunityreioltqhgaeamerfvpnklknhkaoyulgcep\n", - "-2607.4148373949724 xocx zuhnnsemnajnrnkiticgeunsgsceaakvbjykrnkiiuqajkgsucdklnkmjeakjukityueioitqhjaeajerfypnkiknhnaoyrlgchp\n", - "-2535.9540428738205 xowx zunnnsymnapnrneitiigeuhsgsieaaevbjekrneiiuwajkasucjklnemjegkjueityaeioctqhpaeaderfepnkcknhtaoyllgcnp\n", - "-2603.743110237961 cowx uunnssymiapnwneioiigjuhsbsiefaevwjekwneiduwaokaspcjkqnemeegkoueioyaenoctlhpajademfepskckihtatyllbcnp\n", - "-2614.419120719659 coyx uulnssamiannwngioiggjujsbsgefagvwjckwngiduuaokcspchkqngmeeekougioyyenoetlhnajafemfcpskekihratynlbclp\n", - "-2596.586595321256 cxyx ullnsbamirnnwwgiozggjdjsbjgefjgvwackwwgidluaotcspthkqwgmevekodgiopyenxetlynajjfemwcpstekiyrathnlbtlp\n", - "-2462.1371833890753 cxlx ulynsbnmiranwwtioztgjdwsbjtefjtvwapkwwtidlhaotpsptukqwtmevrkodtioplenxrtlyaajjsemwppstrkiyeathalbtyp\n", - "-2445.3173096024316 mxlx klyncbnmyrangwtieztgtdwsrjtepjtvmapkgwtitlhaytpsftukawtmuvrkydtieplexxrtbyaatjsecwppctrkyyeadhalrtyp\n", - "-2445.3173096024316 mxlx klyncbnmyrangwtieztgtdwsrjtepjtvmapkgwtitlhaytpsftukawtmuvrkydtieplexxrtbyaatjsecwppctrkyyeadhalrtyp\n", - "-2399.3516497431215 gxlx qlynwbnmeranawtikztgndwsxjtejjtvsapkawtizlhastpsltukuwtmavrksdtikplerxrthyaanjseiwppwtrkeyeaxhalxtyp\n", - "-2438.7649790008327 gulx qoynwynmeuanattikctgnawsxmtejgtvsdpkattizohasqpslwukuttmayrksatikslerurthbaangseizppwqrkebeaxealxwyp\n", - "-2409.1934572563646 gblx qhynwfnmenanaatikvtgnhwsxftejntvswpkaatizhhasxpslpukuatmarrkshtikllerbrthuaannseisppwxrkeueaxlalxpyp\n", - "-2386.629237519876 gelx qeynwinmekanadtikstgnkwsxctejqtvstpkadtizehasapslmukudtmaorksktikilererthraanqseipppwarkereaxoalxmyp\n", - "-2448.861754882071 gelb qeyjwinqekajadtmkstcnkwwxctajqtzstpgadtmzehwsapwlmugudtqaorgsktmkilarerxhrawnqsiipplwaroerewxoapxmyl\n", - "-2490.5427221668215 gely qeymwinnekamadtjkstfnkwtxctdjqtwstpjadtjzehzsaptlmujudtnaorjsktjkildreruhraznqsfippowarlerezxoamxmyo\n", - "-2469.2856628828467 gelk qeyawinzekaaadtvksttnkwfxctrjqtistpxadtvzehnsapflmuxudtzaorxsktvkilrrerghrannqsrippcwarxerenxoayxmyc\n", - "-2404.6609291112586 gelg qeyewinvekaeadtrkstxnkwbxctvjqtestpbadtrzehrsapblmubudtvaorbsktrkilvrerchrarnqsnippgwartererxoauxmyg\n", - "-2415.865054430927 gelf qeyfwinuekafadtqkstynkwaxctwjqtdstpcadtqzehssapalmucudtuaorcsktqkilwrerbhrasnqsmipphwarseresxoatxmyh\n", - "-2455.3738757942224 gelr qeytwingekatadtckstmnkwmxctkjqtpstpqadtczehgsapmlmuqudtgaorqsktckilkrernhragnqsyippvwareeregxoafxmyv\n", - "-2450.370342076035 xelr zeytningnkatrdtctstmekwmgctkaqtpbtpqrdtciehgjapmumuqldtgjorqjktctilkiernqrageqsyrppvnarenregooafgmyv\n", - "-2399.6573953930715 xelg zeyeninvnkaerdtrtstxekwbgctvaqtebtpbrdtriehrjapbumubldtvjorbjktrtilviercqrareqsnrppgnartnrerooaugmyg\n", - "-2435.3448602517606 ielg oeyeyinvckaecdtristxpkwbvctvlqteqtpbcdtrxehruapbjmubwdtvyorbuktriilvtercfrarpqsngppgyartcrerzoauvmyg\n", - "-2412.2155610821283 delg teyetinvhkaexdtrnstxkkwbactvgqtevtpbxdtrcehrpapbomubrdtvdorbpktrnilvoerckrarkqsnlppgtarthreruoauamyg\n", - "-2421.1487256742635 dplg ttyettnvhzaexotrnhtxkvwbartvgbtevipbxotrcthrplpbobubrotvddrbpvtrnxlvoprckgarkbsnlepgtlrthgeruzauabyg\n", - "-2418.0665056632733 dplm ttyyttnbhzayxotxnhtrkvwhartpgbtkvipvxotxcthlplphobuvrotbddrvpvtxnxlpoprikgalkbstlepatlrzhgeluzaaabya\n", - "-2470.562197934374 dqlm tsyytunbhyayxptxngtrkwwhaqtpgctkvhpvxptxcshlpmphoauvrptbdcrvpwtxnwlpoqrikfalkcstldpatmrzhfeluaaaaaya\n", - "-2516.8571180605873 dqlh tsydtunwhyadxptsngtwkwwcaqtugctfvhpaxptscshqpmpcoauarptwdcrapwtsnwluoqrdkfaqkcsoldpftmruhfequaavaayf\n", - "-2504.298952371529 xqlh zsydnunwnyadrptstgtwewwcgqtuactfbhparptsishqjmpcuaualptwjcrajwtstwluiqrdqfaqecsordpfnmrunfeqoaavgayf\n", - "-2531.6016934754625 wqlh asydmunwoyadqptsugtwdwwchqtuzctfchpaqptsjshqimpcvauakptwkcraiwtsuwluhqrdrfaqdcsosdpfmmruofeqnaavhayf\n", - "-2516.8571180605873 dqlh tsydtunwhyadxptsngtwkwwcaqtugctfvhpaxptscshqpmpcoauarptwdcrapwtsnwluoqrdkfaqkcsoldpftmruhfequaavaayf\n", - "-2538.043752685075 qqlh gsydgunwuyadkptsagtwxwwcnqtutctfihpakptspshqcmpcbauaeptwqcracwtsawlubqrdxfaqxcsoydpfgmruufeqhaavnayf\n", - "-2494.8731654172684 qqlp gsyvguneuyavkptaagtoxwwknqtmtctnihpskptapshicmpkbausepteqcrscwtaawlmbqrlxfaixcswydpxgmrcufeihaadnayx\n", - "-2519.018862518145 qqlu gsyqgunjuyaqkptfagtjxwwpnqthtctsihpnkptfpshdcmppbauneptjqcrncwtfawlhbqrqxfadxcsbydpsgmrhufedhaainays\n", - "-2494.8731654172684 qqlp gsyvguneuyavkptaagtoxwwknqtmtctnihpskptapshicmpkbausepteqcrscwtaawlmbqrlxfaixcswydpxgmrcufeihaadnayx\n", - "-2417.8101733744393 qvlp gnyvgzneutavkutaabtoxbwknltmthtnicpskutapnhicrpkbvuseuteqxrscbtaarlmbvrlxaaixhswyypxgrrcuaeihfadnvyx\n", - "-2436.049562102854 qvlq gnyugznfutaukutbabtnxbwlnltlthtoicprkutbpnhhcrplbvureutfqxrrcbtbarllbvrmxaahxhsxyypwgrrduaehhfaenvyw\n", - "-2488.475479911572 qhlq gbyuglnfuhaukgtbaptnxnwlnztltttoiqprkgtbpbhhcdplbjuregtfqlrrcntbafllbhrmxoahxtsxympwgdrduoehhraenjyw\n", - "-2508.8558535645284 lhlq lbyublnfzhaufgtbfptnsnwlsztlottonqprfgtbubhhxdplgjurzgtfvlrrxntbffllwhrmcoahstsxdmpwbdrdzoehcraesjyw\n", - "-2502.6283539806022 lhla lbykblnpzhakfgtlfptdsnwvsztbottynqphfgtlubhxxdpvgjuhzgtpvlrhxntlfflbwhrwcoaxstshdmpmbdrnzoexcraosjym\n", - "-2548.9317775026143 lhll lbyzblnazhazfgtwfptssnwgsztqottjnqpwfgtwubhmxdpggjuwzgtavlrwxntwfflqwhrhcoamstssdmpbbdryzoemcrazsjyb\n", - "-2683.3811894347964 lhyl lblzblaazhnzfggwfpgssnjgszgqotgjnqcwfggwubumxdcggjhwzggavlewxngwffyqwhehconmstfsdmcbbdeyzormcrnzsjlb\n", - "-2691.958259083582 lhpl lbuzblrazhwzfgxwfppssnagszpqotxjnqlwfgxwubdmxdtggjqwzgxavlnwxnxwffhqwhvhcowmstwsdmlbbdvyzoamcrezsjub\n", - "-2639.5323412748635 lvpl lnuzbzraztwzfuxwfbpssbagslpqohxjnclwfuxwundmxrtggvqwzuxavxnwxbxwfrhqwvvhcawmshwsdylbbrvyzaamcfezsvub\n", - "-2685.721414076108 lopl luuzbsrazawzfnxwfipssuagsspqoaxjnjlwfnxwuudmxktggcqwznxavenwxuxwfyhqwovhchwmsawsdflbbkvyzhamcyezscub\n", - "-2665.341040423149 qopl guuzgsrauawzknxwaipsxuagnspqtaxjijlwknxwpudmcktgbcqwenxaqenwcuxwayhqbovhxhwmxawsyflbgkvyuhamhyezncub\n", - "-2647.5085150247464 qxpl gluzgbraurwzkwxwazpsxdagnjpqtjxjialwkwxwpldmcttgbtqwewxaqvnwcdxwaphqbxvhxywmxjwsywlbgtvyuyamhhezntub\n", - "-2619.151967621906 qvpl gnuzgzrautwzkuxwabpsxbagnlpqthxjiclwkuxwpndmcrtgbvqweuxaqxnwcbxwarhqbvvhxawmxhwsyylbgrvyuaamhfeznvub\n", - "-2610.57489797312 qvyl gnlzgzaautnzkugwabgsxbjgnlgqthgjiccwkugwpnumcrcgbvhweugaqxewcbgwaryqbvehxanmxhfsyycbgreyuarmhfnznvlb\n", - "-2739.629256842163 qnyl gvlzgraaubnzkmgwajgsxtjgntgqtzgjikcwkmgwpvumcjcgbdhwemgaqfewctgwazyqbnehxinmxzfsygcbgjeyuirmhxnzndlb\n", - "-2663.2401397368653 qnyx gvlngramubnnkmgiajggxtjsntgetzgvikckkmgipvuacjcsbdhkemgmqfekctgiazyebnetxinaxzfeygcpgjekuirahxnlndlp\n", - "-2684.5514420485856 anyx wvlnqramkbnnumgiqjgghtjsdtgedzgvykckumgifvuamjcsrdhkomgmgfekmtgiqzyelnetninahzfeogcpqjekkirarxnlddlp\n", - "-2624.2964984725854 akyx wylnqoamkennujgiqmgghqjsdwgedwgvynckujgifyuamgcsrghkojgmgiekmqgiqcyelketnlnahwfeojcpqgekklrarunldglp\n", - "-2675.8399888495996 akdx wygnqofmkeinujliqmbghqosdwbedwlvynxkujlifypamghsrgckojlmgizkmqliqctelkjtnliahwkeojxpqgjkklmarusldggp\n", - "-2707.2623443007396 pkdx hygnfofmveinjjlibmbgwqosowbeswlvjnxkjjliqypabghscgckdjlmrizkbqlibcteakjtyliawwkezjxpfgjkvlmagusloggp\n", - "-2653.9890258283262 ukdx cygnkofmqeinojliwmbgbqosjwbexwlvenxkojlilypagghsxgckijlmmizkgqliwctefkjttliabwkeujxpkgjkqlmalusljggp\n", - "-2492.5467528879603 kkdx mygnaofmaeinejligmbgrqostwbenwlvonxkejlivypawghshgckyjlmwizkwqligctevkjtdliarwkeejxpagjkalmabusltggp\n", - "-2509.1966093573665 kknx mywnaopmaeynejvigmrgrqystwrenwvvonnkejvivyfawgrshgskyjvmwipkwqvigcjevkttdlyarwueejnpagtkalcabucltgwp\n", - "-2456.031329243919 kenx mewnaipmakynedvigsrgrkystcrenqvvotnkedvivefawarshmskydvmwopkwkvigijevettdryarqueepnpaatkarcabocltmwp\n", - "-2518.263846606114 kenb mewjaipqakyjedvmgsrcrkywtcranqvzotngedvmvefwwarwhmsgydvqwopgwkvmgijavetxdrywrquiepnlaatoarcwbocptmwl\n", - "-2470.40654169794 kenj mewbaipyakybedvugsrurkyetcrsnqvhotnyedvuvefowarehmsyydvywopywkvugijsvetfdryorquqepndaatwarcobocxtmwd\n", - "-2329.778503908672 kinj mawbampyagybehvugoruroyetyrsnuvhopnyehvuvafowerehisyyhvywkpywovugejsvitfdnyoruuqelndaetwancobscxtiwd\n", - "-2309.7373637120277 kimj maxbamoyagzbehuugosuroxetyssnuuhopoyehuuvagoweqehityyhuywkqywouugeksvisfdnzorutqelodaeswandobsbxtixd\n", - "-2165.195873101321 kimt maxramoiagzrehuegoskroxotysinuuropooehuevageweqohitoyhuiwkqowouegekivispdnzerutaelotaesgandebsbhtixt\n", - "-2165.195873101321 kimt maxramoiagzrehuegoskroxotysinuuropooehuevageweqohitoyhuiwkqowouegekivispdnzerutaelotaesgandebsbhtixt\n", - "-2202.0659943481105 kitt maqramviagsrehbegolkroeotylinubrophoehbevazewexohimoyhbiwkjowobegedivizpdnseruaaelhtaezganwebsihtiqt\n", - "-2381.272321261976 mitt kaqrcmviygsrghbeeolktoeorylipubrmphoghbetazeyexofimoahbiukjoyobeeedixizpbnsetuaaclhtcezgynwedsihriqt\n", - "-2364.0479279980245 qitt gaqrgmviugsrkhbeaolkxoeonylitubriphokhbepazecexobimoehbiqkjocobeaedibizpxnsexuaaylhtgezgunwehsihniqt\n", - "-2268.349589619762 qiwt ganrgmyiugprkheeaoikxohonyiitueripeokheepaweceaobijoeheiqkgocoeeaeaibicpxnpexudayletgecguntehslhnint\n", - "-2267.8099289102083 uiwt canrkmyiqgproheewoikbohojyiixuerepeooheelawegeaoxijoiheimkgogoeeweaificptnpebudauletkecgqntelslhjint\n", - "-2342.546650531608 uiit cabrkmkiqgdrohqewowkbotojywixuqrepsoohqelakegemoxixoihqimkuogoqeweoifioptndebupaulstkeogqnhelsxhjibt\n", - "-2495.897100544123 uxit clbrkbkiqrdrowqewzwkbdtojjwixjqreasoowqellkegtmoxtxoiwqimvuogdqewpoifxoptydebjpauwstktogqyhelhxhjtbt\n", - "-2496.436761253678 qxit glbrgbkiurdrkwqeazwkxdtonjwitjqriasokwqeplkectmobtxoewqiqvuocdqeapoibxopxydexjpaywstgtoguyhehhxhntbt\n", - "-2474.3019971879075 qxjt glargbliurcrkwreazvkxduonjvitjrriarokwrepljectnobtwoewriqvtocdreapnibxppxycexjqaywrtgtpguygehhyhntat\n", - "-2451.041909677874 qxet glfrgbgiurhrkwmeazakxdponjaitjmriawokwmeploectiobtboewmiqvyocdmeapsibxkpxyhexjlaywwtgtkguylehhthntft\n", - "-2438.223210266114 oxet ilfrebgiwrhriwmeczakvdpopjairjmrkawoiwmerloeatiodtbocwmisvyoadmecpsizxkpzyhevjlaawwtetkgwylefhthptft\n", - "-2468.266302941826 mxet klfrcbgiyrhrgwmeezaktdporjaipjmrmawogwmetloeytioftboawmiuvyoydmeepsixxkpbyhetjlacwwtctkgyyledhthrtft\n", - "-2473.882308306217 mxft klercbhiyrgrgwneezzktdqorjzipjnrmavogwnetlneytjoftaoawniuvxoydneeprixxlpbygetjmacwvtctlgyykedhuhrtet\n", - "-2604.0485864629068 mxfx klencbhmyrgngwniezzgtdqsrjzepjnvmavkgwnitlnaytjsftakawnmuvxkydnieprexxltbygatjmecwvpctlkyykadhulrtep\n", - "-2628.5737509791193 mxrx klsncbtmyrungwziezngtdcsrjnepjzvmajkgwzitlbaytvsftokawzmuvlkydziepfexxxtbyuatjyecwjpctxkyyyadhglrtsp\n", - "-2641.5291006597095 mxri klsccbtxyrucgwzteznvtdcdrjntpjzgmajzgwzttlbpytvdftozawzxuvlzydztepftxxxebyuptjypcwjectxvyyypdhgwrtse\n", - "-2498.40747282243 mxrt klsrcbtiyrurgwzeeznktdcorjnipjzrmajogwzetlbeytvoftooawziuvloydzeepfixxxpbyuetjyacwjtctxgyyyedhghrtst\n", - "-2488.6035644509775 mxkt klzrcbmiyrbrgwseezuktdvorjuipjsrmaqogwsetlieytooftvoawsiuvsoydseepmixxqpbybetjracwqtctqgyyfedhzhrtzt\n", - "-2442.6379045916665 gxkt qlzrwbmierbrawsekzukndvoxjuijjsrsaqoawsezliestooltvouwsiavsosdsekpmirxqphybenjraiwqtwtqgeyfexhzhxtzt\n", - "-2399.5531776025323 gxst qlrrwbuiertrawaekzmknddoxjmijjarsaioawaezlaestwoltnouwaiavkosdaekpeirxyphytenjzaiwitwtygeyxexhhhxtrt\n", - "-2402.5939363914163 gmst qwrrwquiectralaekkmknsdoxumijyarslioalaezwaesiwolenoulaiagkossaekaeirmyphjtenyzaihitwiygejxexwhhxert\n", - "-2409.3949851157763 gbst qhrrwfuientraaaekvmknhdoxfmijnarswioaaaezhaesxwolpnouaaiarkoshaekleirbyphutennzaisitwxygeuxexlhhxprt\n", - "-2554.510734852856 gbsm qhrywfubentyaaaxkvmrnhdhxfmpjnakswivaaaxzhalsxwhlpnvuaabarkvshaxkleprbyihutlnnztisiawxyzeuxlxlhaxpra\n", - "-2596.8735866733005 gbzm qhkywfbbenmyaahxkvfrnhkhxffpjnhkswbvaahxzhtlsxdhlpgvuahbardvshhxklxprbfihumlnngtisbawxfzeuqlxloaxpka\n", - "-2604.86430455846 gozm qukywsbbeamyanhxkifrnukhxsfpjahksjbvanhxzutlskdhlcgvunhbaedvsuhxkyxprofihhmlnagtifbawkfzehqlxyoaxcka\n", - "-2604.86430455846 gozm qukywsbbeamyanhxkifrnukhxsfpjahksjbvanhxzutlskdhlcgvunhbaedvsuhxkyxprofihhmlnagtifbawkfzehqlxyoaxcka\n", - "-2604.224280603549 gszm qqkywwbbewmyarhxkefrnykhxofpjehksfbvarhxzqtlsodhlygvurhbaadvsyhxkuxprsfihdmlnegtibbawofzedqlxcoaxyka\n", - "-2607.8689817731206 gsjm qqaywwlbewcyarrxkevrnyuhxovpjerksfrvarrxzqjlsonhlywvurrbaatvsyrxkunprspihdclneqtibrawopzedglxcyaxyaa\n", - "-2638.552912913625 isjm oqayywlbcwcycrrxievrpyuhvovplerkqfrvcrrxxqjluonhjywvwrrbyatvuyrxiunptspifdclpeqtgbrayopzcdglzcyavyaa\n", - "-2617.576614010868 isvm oqoyywxbcwqycrdxiejrpyghvojpledkqffvcrdxxqxluozhjykvwrdbyahvuydxiubptsbifdqlpectgbfayobzcdulzckavyoa\n", - "-2631.862959341527 isvf oqofywxucwqfcrdqiejypygavojwleddqffccrdqxqxsuozajykcwrduyahcuydqiubwtsbbfdqspecmgbfhyobscduszcktvyoh\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2666.1497401288175 irvf orofyvxucxqfcqdqifjypxgavpjwldddqgfccqdqxrxsunzajzkcwqduybhcuxdqivbwtrbbfeqspdcmgcfhynbsceuszbktvzoh\n", - "-2694.3472197549127 irxf ormfyvzucxofcqfqifhypxiavphwldfdqgdccqfqxrvsunbajzicwqfuybfcuxfqivzwtrdbfeospdemgcdhyndscesszbmtvzmh\n", - "-2691.5743821641245 iqxf osmfyuzucyofcpfqighypwiavqhwlcfdqhdccpfqxsvsumbajaicwpfuycfcuwfqiwzwtqdbffospcemgddhymdscfsszamtvamh\n", - "-2614.511390121292 ivxf onmfyzzuctofcufqibhypbiavlhwlhfdqcdccufqxnvsurbajvicwufuyxfcubfqirzwtvdbfaosphemgydhyrdscasszfmtvvmh\n", - "-2645.7989657586486 yvxf ynmfozzumtofsufqsbhyfbiaflhwbhfdacdcsufqhnvskrbatvicmufuixfckbfqsrzwjvdbpaosfhemqydhordsmasspfmtfvmh\n", - "-2633.880027887867 avxf wnmfqzzuktofuufqqbhyhbiadlhwdhfdycdcuufqfnvsmrbarvicoufugxfcmbfqqrzwlvdbnaoshhemoydhqrdskassrfmtdvmh\n", - "-2708.5576956237614 avxy wnmmqzznktomuufjqbhfhbitdlhddhfwycdjuufjfnvzmrbtrvijoufngxfjmbfjqrzdlvdunaozhhefoydoqrdlkaszrfmmdvmo\n", - "-2659.410567826489 avyy wnlmqzanktnmuugjqbgfhbjtdlgddhgwyccjuugjfnuzmrctrvhjougngxejmbgjqrydlveunanzhhffoycoqrelkarzrfnmdvlo\n", - "-2674.5227757545704 avyo wnlwqzadktnwuugzqbgphbjjdlgndhgmycctuugzfnujmrcjrvhtougdgxetmbgzqrynlveknanjhhfvoycyqrebkarjrfncdvly\n", - "-2573.528774770925 avyg wnleqzavktneuugrqbgxhbjbdlgvdhgeyccbuugrfnurmrcbrvhbougvgxebmbgrqryvlvecnanrhhfnoycgqretkarrrfnudvlg\n", - "-2555.497083179542 avyx wnlnqzamktnnuugiqbgghbjsdlgedhgvycckuugifnuamrcsrvhkougmgxekmbgiqryelvetnanahhfeoycpqrekkararfnldvlp\n", - "-2554.566154520779 lvyx lnlnbzamztnnfugifbggsbjsslgeohgvncckfugiunuaxrcsgvhkzugmvxekxbgifryewvetcanashfedycpbrekzaracfnlsvlp\n", - "-2527.7437216582093 wvyx anlnmzamotnnqugiubggdbjshlgezhgvccckqugijnuaircsvvhkkugmkxekibgiuryehvetranadhfesycpmrekoaranfnlhvlp\n", - "-2536.128445412967 ivyx onlnyzamctnncugiibggpbjsvlgelhgvqcckcugixnuaurcsjvhkwugmyxekubgiiryetvetfanaphfegycpyrekcarazfnlvvlp\n", - "-2594.8932102175786 ivyd onlhyzasctnhcugoibgapbjyvlgylhgbqccecugoxnuuurcyjvhewugsyxeeubgoiryytvezfanuphfkgycjyreqcaruzfnrvvlj\n", - "-2608.610936065523 ivyv onlpyzakctnpcuggibgipbjqvlgglhgtqccmcuggxnucurcqjvhmwugkyxemubggirygtverfancphfcgycryreicarczfnjvvlr\n", - "-2405.962167256277 ivyt onlryzaictnrcugeibgkpbjovlgilhgrqccocugexnueurcojvhowugiyxeoubgeiryitvepfanephfagyctyregcarezfnhvvlt\n", - "-2432.7365104032665 tvyt dnlrjzairtnrnugexbgkabjoklgiwhgrfcconugemnuefrcoyvhohuginxeofbgexryievepuaneahfavyctjregrarekfnhkvlt\n", - "-2432.7365104032665 tvyt dnlrjzairtnrnugexbgkabjoklgiwhgrfcconugemnuefrcoyvhohuginxeofbgexryievepuaneahfavyctjregrarekfnhkvlt\n", - "-2389.311965459268 rvyt fnlrhzaittnrlugezbgkybjomlgiuhgrhccolugeonuedrcoavhofugipxeodbgezryicvepwaneyhfaxycthregtareifnhmvlt\n", - "-2445.2982887118524 rwyt fmlrhaaitsnrlvgezagkycjomkgiuigrhbcolvgeomuedscoauhofvgipweodcgezqyicwepwzneyifaxxcthsegtzreignhmult\n", - "-2509.3589998515554 rwit fmbrhakitsdrlvqezawkyctomkwiuiqrhbsolvqeomkedsmoauxofvqipwuodcqezqoicwopwzdeyipaxxsthsogtzheigxhmubt\n", - "-2362.084603453506 kwit mmbraakiasdrevqegawkrctotkwiniqrobsoevqevmkewsmohuxoyvqiwwuowcqegqoivwopdzderipaexstasogazhebgxhtubt\n", - "-2328.760744104566 kwat mmjraaciaslreviegaekrclotkeiniirobaoevievmsewseohufoyviiwwcowciegqwivwgpdzlerihaexatasggazpebgphtujt\n", - "-2287.347881832105 kwwt mmnraayiaspreveegaikrchotkiinierobeoeveevmwewsaohujoyveiwwgowceegqaivwcpdzperidaexetascgaztebglhtunt\n", - "-2262.7588647712446 kmwt mwnraqyiacpreleegkikrshotuiinyeroleoeleevwwewiaohejoyleiwggowseegaaivmcpdjperydaehetaicgajtebwlhtent\n", - "-2283.787476388238 khwt mbnralyiahpregeegpikrnhotziinteroqeoegeevbwewdaohjjoygeiwlgowneegfaivhcpdopertdaemetadcgaotebrlhtjnt\n", - "-2283.787476388238 khwt mbnralyiahpregeegpikrnhotziinteroqeoegeevbwewdaohjjoygeiwlgowneegfaivhcpdopertdaemetadcgaotebrlhtjnt\n", - "-2295.7890865477034 klwt mxnrapyiadprekeeglikrrhotviinxeromeoekeevxwewhaohfjoykeiwhgowreegbaivlcpdkperxdaeietahcgaktebvlhtfnt\n", - "-2286.119233317415 kywt mknracyiaqprexeegyikrehotiiinkerozeoexeevkwewuaohsjoyxeiwugoweeegoaivycpdxperkdaevetaucgaxtebilhtsnt\n", - "-2327.532095589876 kyat mkjracciaqlrexiegyekrelotieinkirozaoexievksewueohsfoyxiiwucoweiegowivygpdxlerkhaevatauggaxpebiphtsjt\n", - "-2491.4566937849363 iyat okjryccicqlrcxieiyekpelovieilkirqzaocxiexkseuueojsfowxiiyucoueieiowitygpfxlepkhagvatyuggcxpeziphvsjt\n", - "-2504.4688957075923 iuat oojryyciculrctieicekpalovmeilgirqdaoctiexoseuqeojwfowtiiyycouaieiswitugpfblepghagzatyqggcbpezephvwjt\n", - "-2537.792755056533 iuit oobryykicudrctqeicwkpatovmwilgqrqdsoctqexokeuqmojwxowtqiyyuouaqeisoituopfbdepgpagzstyqogcbhezexhvwbt\n", - "-2508.221233312063 ibit ohbryfkicndrcaqeivwkphtovfwilnqrqwsocaqexhkeuxmojpxowaqiyruouhqeiloitbopfudepnpagsstyxogcuhezlxhvpbt\n", - "-2486.086469246293 ibjt oharyflicncrcareivvkphuovfvilnrrqwrocarexhjeuxnojpwowariyrtouhreilnitbppfucepnqagsrtyxpgcugezlyhvpat\n", - "-2527.7239439638324 irjt oraryvlicxcrcqreifvkpxuovpvildrrqgrocqrexrjeunnojzwowqriybtouxreivnitrppfecepdqagcrtynpgcegezbyhvzat\n", - "-2492.0364791051416 xrjt zrarnvlinxcrrqretfvkexuogpviadrrbgrorqreirjejnnouzwolqrijbtojxretvniirppqeceedqarcrtnnpgnegeobyhgzat\n", - "-2315.6611200990296 xrlt zryrnvninxarrqtetftkexwogptiadtrbgporqteirhejnpouzuolqtijbrojxtetvliirrpqeaeedsarcptnnrgneeeobahgzyt\n", - "-2320.664653817217 grlt qryrwvniexaraqtekftknxwoxptijdtrsgpoaqtezrhesnpolzuouqtiabrosxtekvlirrrpheaendsaicptwnrgeeeexbahxzyt\n", - "-2400.8458985715183 nrlt jryrdvnixxarhqtedftkuxwoqptiqdtrlgpohqtesrheznpoezuobqtitbrozxtedvliyrrpaeaeudsabcptdnrgxeeeebahqzyt\n", - "-2366.630313676525 mrlt kryrcvniyxargqteeftktxworptipdtrmgpogqtetrheynpofzuoaqtiubroyxteevlixrrpbeaetdsaccptcnrgyeeedbahrzyt\n", - "-2383.450187463168 crlt uryrsvniixarwqteoftkjxwobptifdtrwgpowqtedrheonpopzuoqqtiebrooxteovlinrrpleaejdsamcptsnrgieeetbahbzyt\n", - "-2306.772699143199 vrlt bryrlvnipxarpqtevftkcxwoiptiydtrdgpopqtekrhehnpowzuojqtilbrohxtevvligrrpseaecdsatcptlnrgpeeembahizyt\n", - "-2306.772699143199 vrlt bryrlvnipxarpqtevftkcxwoiptiydtrdgpopqtekrhehnpowzuojqtilbrohxtevvligrrpseaecdsatcptlnrgpeeembahizyt\n", - "-2303.9998615524078 vqlt bsyrlunipyarpptevgtkcwwoiqtiyctrdhpopptekshehmpowauojptilcrohwtevwligqrpsfaeccsatdptlmrgpfeemaahiayt\n", - "-2308.6791027612203 zqlt xsyrpunilyartptergtkgwwoeqticctrzhpotptegshelmposauonptihcrolwterwlikqrpofaegcsapdptpmrglfeeqaaheayt\n", - "-2308.6791027612203 zqlt xsyrpunilyartptergtkgwwoeqticctrzhpotptegshelmposauonptihcrolwterwlikqrpofaegcsapdptpmrglfeeqaaheayt\n", - "-2231.61611071839 zvlt xnyrpzniltartuterbtkgbwoeltichtrzcpotutegnhelrposvuonutihxrolbterrlikvrpoaaeghsapyptprrglaeeqfahevyt\n", - "-2235.8252904654078 xvlt znyrnznintarrutetbtkebwogltiahtrbcporuteinhejrpouvuolutijxrojbtetrliivrpqaaeehsaryptnrrgnaeeofahgvyt\n", - "-2401.011554188352 xvat znjrnzcintlrruietbekeblogleiahirbcaoruieinsejreouvfoluiijxcojbietrwiivgpqaleehharyatnrggnapeofphgvjt\n", - "-2370.2747023975867 xvyt znlrnzaintnrrugetbgkebjoglgiahgrbccorugeinuejrcouvholugijxeojbgetryiivepqaneehfaryctnregnareofnhgvlt\n", - "-2398.631249800426 xxyt zllrnbainrnrrwgetzgkedjogjgiajgrbacorwgeiluejtcoutholwgijveojdgetpyiixepqyneejfarwctntegnyreohnhgtlt\n", - "-2387.9552393187296 xxwt zlnrnbyinrprrweetzikedhogjiiajerbaeorweeilwejtaoutjolweijvgojdeetpaiixcpqypeejdarwetntcgnyteohlhgtnt\n", - "-2444.2555356163903 sxwt elnribyisrprmweeyzikzdholjiivjergaeomweenlweetaoztjogweiovgoedeeypaidxcpvypezjdawwetitcgsytejhlhltnt\n", - "-2383.746059571713 zxwt xlnrpbyilrprtweerzikgdhoejiicjerzaeotweeglweltaostjonweihvgoldeerpaikxcpoypegjdapwetptcglyteqhlhetnt\n", - "-2402.999139702192 zxpt xlurpbrilrwrtwxerzpkgdaoejpicjxrzalotwxegldelttostqonwxihvnoldxerphikxvpoywegjwapwltptvglyaeqhehetut\n", - "-2406.0398984910767 zmpt xwurpqrilcwrtlxerkpkgsaoeupicyxrzllotlxegwdelitoseqonlxihgnolsxerahikmvpojwegywaphltpivgljaeqweheeut\n", - "-2455.8361597226926 bmpt vwurrqrijcwrvlxepkpkisaocupieyxrxllovlxeewdenitoqeqoplxifgnonsxepahimmvpmjweiywanhltrivgjjaeswehceut\n", - "-2461.2182718155914 mmpt kwurcqriycwrglxeekpktsaorupipyxrmlloglxetwdeyitofeqoalxiugnoysxeeahixmvpbjwetywachltcivgyjaedwehreut\n", - "-2471.307061730709 mmet kwfrcqgiychrglmeekaktsporuaipymrmlwoglmetwoeyiiofeboalmiugyoysmeeasixmkpbjhetylachwtcikgyjledwthreft\n", - "-2471.307061730709 mmet kwfrcqgiychrglmeekaktsporuaipymrmlwoglmetwoeyiiofeboalmiugyoysmeeasixmkpbjhetylachwtcikgyjledwthreft\n", - "-2478.1081104550685 mbet khfrcfgiynhrgameevakthporfaipnmrmwwogamethoeyxiofpboaamiuryoyhmeelsixbkpbuhetnlacswtcxkgyuledlthrpft\n", - "-2508.249280335672 mbrt khsrcftiynurgazeevnkthcorfnipnzrmwjogazethbeyxvofpooaaziurloyhzeelfixbxpbuuetnyacsjtcxxgyuyedlghrpst\n", - "-2519.2472494715266 mbut khprcfwiynrrgaceevkkthforfkipncrmwgogacethyeyxyofploaaciurioyhceelcixbapburetnbacsgtcxagyuvedljhrppt\n", - "-2498.44537196422 mbkt khzrcfmiynbrgaseevukthvorfuipnsrmwqogasethieyxoofpvoaasiursoyhseelmixbqpbubetnracsqtcxqgyufedlzhrpzt\n", - "-2510.9857412681813 mbdt khgrcffiynirgaleevbkthoorfbipnlrmwxogalethpeyxhofpcoaaliurzoyhleeltixbjpbuietnkacsxtcxjgyumedlshrpgt\n", - "-2554.3839728530934 mzdt kjgrcdfiypirgyleexbktfoorhbipllrmyxogyletjpeyvhofrcoayliutzoyfleentixzjpbwietlkacuxtcvjgywmedjshrrgt\n", - "-2545.966750784909 madt kigrcefiyoirgzleewbktgoorgbipmlrmxxogzletipeywhofqcoazliuszoygleemtixajpbvietmkactxtcwjgyvmedkshrqgt\n", - "-2527.5450610899948 mydt kkgrccfiyqirgxleeybkteooribipklrmzxogxletkpeyuhofscoaxliuuzoyeleeotixyjpbxietkkacvxtcujgyxmedishrsgt\n", - "-2527.5450610899948 mydt kkgrccfiyqirgxleeybkteooribipklrmzxogxletkpeyuhofscoaxliuuzoyeleeotixyjpbxietkkacvxtcujgyxmedishrsgt\n", - "-2504.1846925438217 mmdt kwgrcqfiycirglleekbktsoorubipylrmlxoglletwpeyihofecoalliugzoysleeatixmjpbjietykachxtcijgyjmedwshregt\n", - "-2473.5908503379846 mmvt kworcqxiycqrgldeekjktsgorujipydrmlfogldetwxeyizofekoaldiughoysdeeabixmbpbjqetycachftcibgyjuedwkhreot\n", - "-2483.0493752491284 mcvt kgorcgxiymqrgbdeeujktigorejipodrmvfogbdetgxeyyzofokoabdiuqhoyideekbixcbpbtqetocacrftcybgytuedmkhroot\n", - "-2465.824981985177 qcvt ggorggxiumqrkbdeaujkxigonejitodrivfokbdepgxecyzobokoebdiqqhocideakbibcbpxtqexocayrftgybgutuehmkhnoot\n", - "-2424.9691508823107 qvvt gnorgzxiutqrkudeabjkxbgonljithdricfokudepnxecrzobvkoeudiqxhocbdearbibvbpxaqexhcayyftgrbguauehfkhnvot\n", - "-2442.108225450056 jvvt nnorzzxibtqrdudehbjkqbgouljimhdrpcfodudewnxevrzoivkoxudixxhovbdehrbiuvbpeaqeqhcafyftzrbgbaueafkhuvot\n", - "-2458.199391064811 yvvt ynorozximtqrsudesbjkfbgofljibhdracfosudehnxekrzotvkomudiixhokbdesrbijvbppaqefhcaqyftorbgmauepfkhfvot\n", - "-2391.224350568764 xvvt znornzxintqrrudetbjkebgogljiahdrbcforudeinxejrzouvkoludijxhojbdetrbiivbpqaqeehcaryftnrbgnaueofkhgvot\n", - "-2382.3359296129333 vvvt bnorlzxiptqrpudevbjkcbgoiljiyhdrdcfopudeknxehrzowvkojudilxhohbdevrbigvbpsaqechcatyftlrbgpauemfkhivot\n", - "-2554.721709309296 vvvu bnoqlzxjptqqpudfvbjjcbgpiljhyhdsdcfnpudfknxdhrzpwvknjudjlxhnhbdfvrbhgvbqsaqdchcbtyfslrbhpaudmfkiivos\n", - "-2523.09605065642 vvwu bnnqlzyjptpqpuefvbijcbhpilihyhesdcenpuefknwdhrapwvjnjuejlxgnhbefvrahgvcqsapdchdbtyeslrchpatdmfliivns\n", - "-2582.5790905826243 vvru bnsqlztjptuqpuzfvbnjcbcpilnhyhzsdcjnpuzfknbdhrvpwvonjuzjlxlnhbzfvrfhgvxqsaudchybtyjslrxhpaydmfgiivss\n", - "-2533.7720611381183 vvyu bnlqlzajptnqpugfvbgjcbjpilghyhgsdccnpugfknudhrcpwvhnjugjlxenhbgfvryhgveqsandchfbtycslrehpardmfniivls\n", - "-2598.199589106304 vlyu bxlqlpajpdnqpkgfvlgjcrjpivghyxgsdmcnpkgfkxudhhcpwfhnjkgjlhenhrgfvbyhgleqskndcxfbticslhehpkrdmvniifls\n", - "-2585.215904477681 vlyf bxlflpaupdnfpkgqvlgycrjaivgwyxgddmccpkgqkxushhcawfhcjkgulhechrgqvbywglebsknscxfmtichlhespkrsmvntiflh\n", - "-2623.4971503820434 vlzf bxkflpbupdmfpkhqvlfycrkaivfwyxhddmbcpkhqkxtshhdawfgcjkhulhdchrhqvbxwglfbskmscxgmtibhlhfspkqsmvotifkh\n", - "-2504.1484380015017 klzf mxkfapbuadmfekhqglfyrrkatvfwnxhdombcekhqvxtswhdahfgcykhuwhdcwrhqgbxwvlfbdkmsrxgmeibhahfsakqsbvottfkh\n", - "-2507.49078669387 kuzf mokfaybuaumfethqgcfyrakatmfwnghdodbcethqvotswqdahwgcythuwydcwahqgsxwvufbdbmsrggmezbhaqfsabqsbeottwkh\n", - "-2464.065799442793 ktzf mpkfaxbuavmfeshqgdfyrzkatnfwnfhdoebceshqvptswpdahxgcyshuwzdcwzhqgtxwvtfbdcmsrfgmeabhapfsacqsbdottxkh\n", - "-2619.605673883099 wtzf apkfmxbuovmfqshqudfydzkahnfwzfhdcebcqshqjptsipdavxgckshukzdcizhqutxwhtfbrcmsdfgmsabhmpfsocqsndothxkh\n", - "-2629.4766346285114 wtmf apxfmxouovzfqsuqudsydzxahnswzfudceocqsuqjpgsipqavxtcksuukzqcizuqutkwhtsbrczsdftmsaohmpssocdsndbthxxh\n", - "-2630.4715557760096 wtxf apmfmxzuovofqsfqudhydziahnhwzffdcedcqsfqjpvsipbavxicksfukzfcizfqutzwhtdbrcosdfemsadhmpdsocssndmthxmh\n", - "-2690.389809411681 wfxf admfmjzuojofqefqurhydliahbhwzrfdcsdcqefqjdvsibbavlickefuknfcilfquhzwhfdbrqosdremsodhmbdsoqssnpmthlmh\n", - "-2506.7932696822245 wflf adyfmjnuojafqetqurtydlwahbtwzrtdcspcqetqjdhsibpavlucketuknrciltquhlwhfrbrqasdrsmsophmbrsoqesnpathlyh\n", - "-2506.7932696822245 wflf adyfmjnuojafqetqurtydlwahbtwzrtdcspcqetqjdhsibpavlucketuknrciltquhlwhfrbrqasdrsmsophmbrsoqesnpathlyh\n", - "-2536.3222175757837 wfld adyhmjnsojahqetourtadlwyhbtyzrtbcspeqetojdhuibpyvlueketsknreiltouhlyhfrzrqaudrsksopjmbrqoqeunparhlyj\n", - "-2544.7069413305408 ifld odyhyjnscjahcetoirtaplwyvbtylrtbqspecetoxdhuubpyjluewetsynreultoihlytfrzfqauprskgopjybrqcqeuzparvlyj\n", - "-2544.7069413305408 ifld odyhyjnscjahcetoirtaplwyvbtylrtbqspecetoxdhuubpyjluewetsynreultoihlytfrzfqauprskgopjybrqcqeuzparvlyj\n", - "-2536.3222175757837 wfld adyhmjnsojahqetourtadlwyhbtyzrtbcspeqetojdhuibpyvlueketsknreiltouhlyhfrzrqaudrsksopjmbrqoqeunparhlyj\n", - "-2536.3222175757837 wfld adyhmjnsojahqetourtadlwyhbtyzrtbcspeqetojdhuibpyvlueketsknreiltouhlyhfrzrqaudrsksopjmbrqoqeunparhlyj\n", - "-2492.5069243515645 wflm adyymjnbojayqetxurtrdlwhhbtpzrtkcspvqetxjdhlibphvluvketbknrviltxuhlphfrirqaldrstsopambrzoqelnpaahlya\n", - "-2498.4093228516226 uflm cdyykjnbqjayoetxwrtrblwhjbtpxrtkespvoetxldhlgbphxluvietbmnrvgltxwhlpffritqalbrstuopakbrzqqellpaajlya\n", - "-2513.545544854518 ufla cdykkjnpqjakoetlwrtdblwvjbtbxrtyesphoetlldhxgbpvxluhietpmnrhgltlwhlbffrwtqaxbrshuopmkbrnqqexlpaojlym\n", - "-2514.085205564073 qfla gdykgjnpujakketlartdxlwvnbtbtrtyisphketlpdhxcbpvbluheetpqnrhcltlahlbbfrwxqaxxrshyopmgbrnuqexhpaonlym\n", - "-2542.7642767853968 qfld gdyhgjnsujahketoartaxlwynbtytrtbispeketopdhucbpyblueeetsqnrecltoahlybfrzxqauxrskyopjgbrquqeuhparnlyj\n", - "-2531.572789947269 qfls gdysgjnhujasketdartlxlwnnbtjtrtqisppketdpdhfcbpnblupeethqnrpcltdahljbfroxqafxrszyopugbrfuqefhpagnlyu\n", - "-2527.145476535745 qrls grysgvnhuxaskqtdaftlxxwnnptjtdtqigppkqtdprhfcnpnbzupeqthqbrpcxtdavljbrroxeafxdszycpugnrfueefhbagnzyu\n", - "-2514.326777123984 orls irysevnhwxasiqtdcftlvxwnpptjrdtqkgppiqtdrrhfanpndzupcqthsbrpaxtdcvljzrrozeafvdszacpuenrfweeffbagpzyu\n", - "-2365.1635428858294 krls mrysavnhaxaseqtdgftlrxwntptjndtqogppeqtdvrhfwnpnhzupyqthwbrpwxtdgvljvrrodeafrdszecpuanrfaeefbbagtzyu\n", - "-2330.545614599936 krli mrycavnxaxaceqttgftvrxwdtpttndtgogpzeqttvrhpwnpdhzuzyqtxwbrzwxttgvltvrredeaprdspecpeanrvaeepbbawtzye\n", - "-2318.479661626866 kuli moycaynxauacetttgctvrawdtmttngtgodpzetttvohpwqpdhwuzyttxwyrzwattgsltvuredbaprgspezpeaqrvabepbeawtwye\n", - "-2374.3564467491483 kdli mfycahnxalacecttgttvrjwdtdttnptgoupzecttvfhpwzpdhnuzyctxwprzwjttgjltvdredsaprpspeqpeazrvasepbnawtnye\n", - "-2433.8835877211154 kdlv mfypahnkalapectggttirjwqtdtgnpttoupmectgvfhcwzpqhnumyctkwprmwjtggjlgvdrrdsacrpsceqprazriasecbnajtnyr\n", - "-2433.8835877211154 kdlv mfypahnkalapectggttirjwqtdtgnpttoupmectgvfhcwzpqhnumyctkwprmwjtggjlgvdrrdsacrpsceqprazriasecbnajtnyr\n", - "-2348.4352808543663 kblv mhypafnkanapeatggvtirhwqtftgnnttowpmeatgvhhcwxpqhpumyatkwrrmwhtggllgvbrrduacrnscespraxriauecblajtpyr\n", - "-2294.0265946406084 kblp mhyvafneanaveatagvtorhwktftmnntnowpseatavhhiwxpkhpusyatewrrswhtagllmvbrlduairnswespxaxrcaueibladtpyx\n", - "-2318.172291741483 kblu mhyqafnjanaqeatfgvtjrhwptfthnntsowpneatfvhhdwxpphpunyatjwrrnwhtfgllhvbrqduadrnsbespsaxrhauedblaitpys\n", - "-2287.316639932612 kble mhygafntanageatpgvtzrhwztftxnntcowpdeatpvhhtwxpzhpudyattwrrdwhtpgllxvbraduatrnslespiaxrrauetblastpyi\n", - "-2124.124382406858 kile maygamntagagehtpgotzrowztytxnutcoppdehtpvahtwepzhiudyhttwkrdwotpgelxviradnatruslelpiaerranetbsastiyi\n", - "-2289.974116119394 kcle mgygagntamagebtpgutzriwztetxnotcovpdebtpvghtwypzhoudybttwqrdwitpgklxvcradtatroslerpiayrratetbmastoyi\n", - "-2296.641957979973 kclg mgyeagnvamaeebtrgutxriwbtetvnoteovpbebtrvghrwypbhoubybtvwqrbwitrgklvvcrcdtarrosnerpgayrtaterbmautoyg\n", - "-2475.5435190497815 kcbg mgieagdvamkeebjrgudxrimbtedvnojeovzbebjrvgrrwyfbhoebybjvwqbbwijrgkvvvchcdtkrroinerzgayhtatorbmqutoig\n", - "-2507.8670523797246 kabg miieaedvaokeezjrgwdxrgmbtgdvnmjeoxzbezjrvirrwwfbhqebyzjvwsbbwgjrgmvvvahcdvkrrminetzgawhtavorbkqutqig\n", - "-2502.790710468932 kabi miicaedxaokcezjtgwdvrgmdtgdtnmjgoxzzezjtvirpwwfdhqezyzjxwsbzwgjtgmvtvahedvkprmipetzeawhvavopbkqwtqie\n", - "-2470.467177138988 kcbi mgicagdxamkcebjtgudvrimdtedtnojgovzzebjtvgrpwyfdhoezybjxwqbzwijtgkvtvchedtkproiperzeayhvatopbmqwtoie\n", - "-2487.5975210416864 kcba mgikagdpamkkebjlguddrimvtedbnojyovzhebjlvgrxwyfvhoehybjpwqbhwijlgkvbvchwdtkxroiherzmayhnatoxbmqotoim\n", - "-2475.5856318971964 kcbp mgivagdeamkvebjagudorimktedmnojnovzsebjavgriwyfkhoesybjewqbswijagkvmvchldtkiroiwerzxayhcatoibmqdtoix\n", - "-2459.074690203803 ktbp mpivaxdeavkvesjagddorzmktndmnfjnoezsesjavpriwpfkhxesysjewzbswzjagtvmvthldckirfiweazxaphcacoibdqdtxix\n", - "-2507.90916522714 kabp miivaedeaokvezjagwdorgmktgdmnmjnoxzsezjaviriwwfkhqesyzjewsbswgjagmvmvahldvkirmiwetzxawhcavoibkqdtqix\n", - "-2703.12133905956 yabp yiivoedemokvszjaswdofgmkfgdmbmjnaxzsszjahirikwfktqesmzjeisbskgjasmvmjahlpvkifmiwqtzxowhcmvoipkqdfqix\n", - "-2554.8812564640725 yabt yiiroedimokrszjeswdkfgmofgdibmjraxzoszjehirekwfotqeomzjiisbokgjesmvijahppvkefmiaqtztowhgmvoepkqhfqit\n", - "-2558.5813139762217 yamt yixroeoimozrszueswskfgxofgsibmuraxooszuehigekwqotqtomzuiisqokguesmkijasppvzefmtaqtotowsgmvdepkbhfqxt\n", - "-2566.9985360444057 yzmt yjxrodoimpzrsyuesxskffxofhsiblurayoosyuehjgekvqotrtomyuiitqokfuesnkijzsppwzefltaquotovsgmwdepjbhfrxt\n", - "-2523.600304459493 ybmt yhxrofoimnzrsauesvskfhxoffsibnurawoosauehhgekxqotptomauiirqokhueslkijbsppuzefntaqsotoxsgmudeplbhfpxt\n", - "-2535.2530963900767 ybut yhprofwimnrrsacesvkkfhfoffkibncrawgosacehhyekxyotplomaciiriokhceslcijbappurefnbaqsgtoxagmuvepljhfppt\n", - "-2539.7939664095993 yjut yzpronwimfrrsicesnkkfpfofxkibvcraogosicehzyekfyothlomiciijiokpcesdcijjappmrefvbaqkgtofagmmveptjhfhpt\n", - "-2528.452047665716 ymut ywproqwimcrrslceskkkfsfofukibycralgoslcehwyekiyotelomlciigiokscesacijmappjrefybaqhgtoiagmjvepwjhfept\n", - "-2570.234105906806 yaut yiproewimorrszceswkkfgfofgkibmcraxgoszcehiyekwyotqlomzciisiokgcesmcijaappvrefmbaqtgtowagmvvepkjhfqpt\n", - "-2570.234105906806 yaut yiproewimorrszceswkkfgfofgkibmcraxgoszcehiyekwyotqlomzciisiokgcesmcijaappvrefmbaqtgtowagmvvepkjhfqpt\n", - "-2548.7103532308074 yazt yikroebimomrszheswfkfgkofgfibmhraxboszhehitekwdotqgomzhiisdokghesmxijafppvmefmgaqtbtowfgmvqepkohfqkt\n", - "-2350.537086188322 yizt yakrombimgmrshhesofkfokofyfibuhrapboshhehatekedotigomhhiikdokohesexijifppnmefugaqlbtoefgmnqepsohfikt\n", - "-2347.425576238411 eizt sakrumbiggmryhhemofklokozyfihuhrupboyhhebateqedonigoshhickdoqohemexipifpjnmelugaklbtuefggnqevsohzikt\n", - "-2536.356619199709 eizd sakhumbsggmhyhhomofalokyzyfyhuhbupbeyhhobatuqedynigeshhsckdeqohomexypifzjnmulugkklbjuefqgnquvsorzikj\n", - "-2536.356619199709 eizd sakhumbsggmhyhhomofalokyzyfyhuhbupbeyhhobatuqedynigeshhsckdeqohomexypifzjnmulugkklbjuefqgnquvsorzikj\n", - "-2566.268720141767 eind sawhumpsggyhyhvomoraloyyzyryhuvbupneyhvobafuqeryniseshvsckpeqovomejypitzjnyuluukklnjuetqgncuvscrziwj\n", - "-2506.6524429441315 eipd sauhumrsggwhyhxomopaloayzypyhuxbupleyhxobaduqetyniqeshxsckneqoxomehypivzjnwuluwkklljuevqgnauvserziuj\n", - "-2465.961482578317 eipp sauvumreggwvyhxamopoloakzypmhuxnuplsyhxabadiqetkniqsshxecknsqoxamehmpivljnwiluwwkllxuevcgnaivsedziux\n", - "-2458.398248329841 sipp eauvimresgwvmhxayopozoaklypmvuxngplsmhxanadieetkziqsghxeoknseoxayehmdivlvnwizuwwwllxievcsnaijsedliux\n", - "-2457.154054657447 aipp wauvqmrekgwvuhxaqopohoakdypmduxnyplsuhxafadimetkriqsohxegknsmoxaqehmlivlnnwihuwwollxqevcknairseddiux\n", - "-2479.3138367994266 aiap wajvqmcekglvuhiaqoeoholkdyemduinypasuhiafasimeekrifsohiegkcsmoiaqewmliglnnlihuhwolaxqegcknpirspddijx\n", - "-2448.5769850086635 aiyp walvqmaekgnvuhgaqogohojkdygmdugnypcsuhgafauimeckrihsohgegkesmogaqeymlielnnnihufwolcxqeecknrirsnddilx\n", - "-2430.5031805698663 aiyx walnqmamkgnnuhgiqogghojsdygedugvypckuhgifauamecsrihkohgmgkekmogiqeyelietnnnahufeolcpqeekknrarsnldilp\n", - "-2429.5722519111027 liyx lalnbmamzgnnfhgifoggsojssygeougvnpckfhgiuauaxecsgihkzhgmvkekxogifeyewietcnnasufedlcpbeekznracsnlsilp\n", - "-2247.209944608231 kiyx malnamamagnnehgigoggrojstygenugvopckehgivauawecshihkyhgmwkekwogigeyevietdnnarufeelcpaeekanrabsnltilp\n", - "-2309.4424619704237 kiyb maljamaqagnjehgmgogcrojwtyganugzopcgehgmvauwwecwhihgyhgqwkegwogmgeyaviexdnnwrufielclaeeoanrwbsnptill\n", - "-2265.2837490470297 kiyp malvamaeagnvehgagogorojktygmnugnopcsehgavauiweckhihsyhgewkeswogageymvieldnnirufwelcxaeecanribsndtilx\n", - "-2265.2416361996134 kiyg maleamavagneehgrgogxrojbtygvnugeopcbehgrvaurwecbhihbyhgvwkebwogrgeyvviecdnnrrufnelcgaeetanrrbsnutilg\n", - "-2323.599061713529 kiyl malzamaaagnzehgwgogsrojgtygqnugjopcwehgwvaumwecghihwyhgawkewwogwgeyqviehdnnmrufselcbaeeyanrmbsnztilb\n", - "-2362.602182786581 kikl mazzammaagbzehswgousrovgtyuqnusjopqwehswvaimweoghivwyhsawkswwoswgemqviqhdnbmrurselqbaeqyanfmbszztizb\n", - "-2344.548709884706 kivl maozamxaagqzehdwgojsroggtyjqnudjopfwehdwvaxmwezghikwyhdawkhwwodwgebqvibhdnqmrucselfbaebyanumbskztiob\n", - "-2354.335913504294 kial majzamcaaglzehiwgoesrolgtyeqnuijopawehiwvasmweeghifwyhiawkcwwoiwgewqvighdnlmruhselabaegyanpmbspztijb\n", - "-2381.8602810459392 kiay majmamcnaglmehijgoefrolttyednuiwopajehijvaszweethifjyhinwkcjwoijgewdvigudnlzruhfelaoaeglanpzbspmtijo\n", - "-2340.1793137611885 kiab majjamcqagljehimgoecrolwtyeanuizopagehimvaswweewhifgyhiqwkcgwoimgewavigxdnlwruhielalaegoanpwbspptijl\n", - "-2333.724326898717 kifb maejamhqaggjehnmgozcroqwtyzanunzopvgehnmvanwwejwhiagyhnqwkxgwonmgeravilxdngwrumielvlaeloankwbsuptiel\n", - "-2289.565613975322 kifp maevamheaggvehnagozoroqktyzmnunnopvsehnavaniwejkhiasyhnewkxswonagermvilldngirumwelvxaelcankibsudtiex\n", - "-2301.57750311981 kifa maekamhpaggkehnlgozdroqvtyzbnunyopvhehnlvanxwejvhiahyhnpwkxhwonlgerbvilwdngxrumhelvmaelnankxbsuotiem\n", - "-2266.619627709821 kiwa mankamypagpkehelgoidrohvtyibnueyopehehelvawxweavhijhyhepwkghwoelgeabvicwdnpxrudhelemaecnantxbslotinm\n", - "-2265.7697510375847 kiwf manfamyuagpfeheqgoiyrohatyiwnuedopeceheqvawsweaahijcyheuwkgcwoeqgeawvicbdnpsrudmelehaecsantsbslttinh\n", - "-2300.7276264475736 kiff maefamhuaggfehnqgozyroqatyzwnundopvcehnqvanswejahiacyhnuwkxcwonqgerwvilbdngsrummelvhaelsanksbsuttieh\n", - "-2305.0644944213213 kihf macfamjuagefehpqgoxyrosatyxwnupdoptcehpqvalswelahiycyhpuwkvcwopqgepwvinbdnesruomelthaensanisbswttich\n", - "-2276.4457615192814 kiyf malfamauagnfehgqgogyrojatygwnugdopccehgqvauswecahihcyhguwkecwogqgeywviebdnnsrufmelchaeesanrsbsnttilh\n", - "-2308.454336314835 kiyh maldamawagndehgsgogwrojctygunugfopcaehgsvauqwecchihayhgwwkeawogsgeyuvieddnnqrufoelcfaeeuanrqbsnvtilf\n", - "-2363.847517401721 kioh mavdamqwagxdehwsgoqwrozctyqunuwfopmaehwsvaeqweschirayhwwwkoawowsgeiuviuddnxqruvoelmfaeuuanbqbsdvtivf\n", - "-2385.2595510580854 kiok mavaamqzagxaehwvgoqtrozftyqrnuwiopmxehwvvaenwesfhirxyhwzwkoxwowvgeirviugdnxnruvrelmcaeuxanbnbsdytivc\n", - "-2374.3185191088273 kibk maiaamdzagkaehjvgodtromftydrnujiopzxehjvvarnweffhiexyhjzwkbxwojvgevrvihgdnknruirelzcaehxanonbsqytiic\n", - "-2390.6511540106526 kick mahaamezagjaehkvgoctronftycrnukiopyxehkvvaqnwegfhidxyhkzwkaxwokvgeurviigdnjnrujrelycaeixannnbsrytihc\n", - "-2378.673399415705 kirk masaamtzaguaehzvgontrocftynrnuziopjxehzvvabnwevfhioxyhzzwklxwozvgefrvixgdnunruyreljcaexxanynbsgytisc\n", - "-2357.26136575934 kirh masdamtwagudehzsgonwrocctynunuzfopjaehzsvabqwevchioayhzwwklawozsgefuvixddnuqruyoeljfaexuanyqbsgvtisf\n", - "-2357.26136575934 kirh masdamtwagudehzsgonwrocctynunuzfopjaehzsvabqwevchioayhzwwklawozsgefuvixddnuqruyoeljfaexuanyqbsgvtisf\n", - "-2350.3802833887694 kijh maadamlwagcdehrsgovwrouctyvunurfopraehrsvajqwenchiwayhrwwktaworsgenuvipddncqruqoelrfaepuangqbsyvtiaf\n", - "-2158.9696135254794 kijt maaramliagcrehregovkrouotyvinurroproehrevajewenohiwoyhriwktoworegenivippdnceruqaelrtaepgangebsyhtiat\n", - "-2172.436847538431 kiot mavramqiagxrehwegoqkrozotyqinuwropmoehwevaeewesohiroyhwiwkoowowegeiiviupdnxeruvaelmtaeuganbebsdhtivt\n", - "-2172.436847538431 kiot mavramqiagxrehwegoqkrozotyqinuwropmoehwevaeewesohiroyhwiwkoowowegeiiviupdnxeruvaelmtaeuganbebsdhtivt\n", - "-2172.436847538431 kiot mavramqiagxrehwegoqkrozotyqinuwropmoehwevaeewesohiroyhwiwkoowowegeiiviupdnxeruvaelmtaeuganbebsdhtivt\n", - "-2177.828450490998 kict mahrameiagjrehkegockronotycinukropyoehkevaqewegohidoyhkiwkaowokegeuiviipdnjerujaelytaeigannebsrhtiht\n", - "-2165.195873101321 kimt maxramoiagzrehuegoskroxotysinuuropooehuevageweqohitoyhuiwkqowouegekivispdnzerutaelotaesgandebsbhtixt\n", - "-2181.104377591249 kiit mabramkiagdrehqegowkrototywinuqropsoehqevakewemohixoyhqiwkuowoqegeoiviopdnderupaelstaeoganhebsxhtibt\n", - "-2181.104377591249 kiit mabramkiagdrehqegowkrototywinuqropsoehqevakewemohixoyhqiwkuowoqegeoiviopdnderupaelstaeoganhebsxhtibt\n", - "-2373.50317311013 kiib mabjamkqagdjehqmgowcrotwtywanuqzopsgehqmvakwwemwhixgyhqqwkugwoqmgeoavioxdndwrupielslaeooanhwbsxptibl\n", - "-2537.4277713051883 iiib oabjymkqcgdjchqmiowcpotwvywaluqzqpsgchqmxakwuemwjixgwhqqykuguoqmieoatioxfndwpupiglslyeoocnhwzsxpvibl\n", - "-2517.414755482666 iiiu oabqymkjcgdqchqfiowjpotpvywhluqsqpsnchqfxakduempjixnwhqjykunuoqfieohtioqfnddpupbglssyeohcnhdzsxivibs\n", - "-2491.635290247324 iizu oakqymbjcgmqchhfiofjpokpvyfhluhsqpbnchhfxatduedpjignwhhjykdnuohfiexhtifqfnmdpugbglbsyefhcnqdzsoiviks\n", - "-2489.692625702181 qizu gakqgmbjugmqkhhfaofjxokpnyfhtuhsipbnkhhfpatdcedpbignehhjqkdncohfaexhbifqxnmdxugbylbsgefhunqdhsoiniks\n", - "-2447.3297738817378 qisu garqgmujugtqkhafaomjxodpnymhtuasipinkhafpaadcewpbinnehajqkkncoafaeehbiyqxntdxuzbylisgeyhunxdhshinirs\n", - "-2413.5849735681913 xisu zarqnmujngtqrhaftomjeodpgymhauasbpinrhafiaadjewpuinnlhajjkknjoafteehiiyqqntdeuzbrlisneyhnnxdoshigirs\n", - "-2426.143139257249 disu tarqtmujhgtqxhafnomjkodpaymhguasvpinxhafcaadpewpoinnrhajdkknpoafneehoiyqkntdkuzbllisteyhhnxdushiairs\n", - "-2434.511074469977 oisu iarqemujwgtqihafcomjvodppymhruaskpinihafraadaewpdinnchajskknaoafceehziyqzntdvuzbaliseeyhwnxdfshipirs\n", - "-2454.5240902924997 oisb iarjemuqwgtjihamcomcvodwpymaruazkpigihamraawaewwdingchaqskkgaoamceeaziyxzntwvuzialileeyownxwfshppirl\n", - "-2433.5979893907142 xisb zarjnmuqngtjrhamtomceodwgymaauazbpigrhamiaawjewwuinglhaqjkkgjoamteeaiiyxqntweuzirlilneyonnxwoshpgirl\n", - "-2385.740684482539 xisj zarbnmuyngtbrhautomueodegymsauahbpiyrhauiaaojeweuinylhayjkkyjoauteesiiyfqntoeuzqrlidneywnnxooshxgird\n", - "-2384.320821709107 xisi zarcnmuxngtcrhattomveoddgymtauagbpizrhatiaapjewduinzlhaxjkkzjoatteetiiyeqntpeuzprlieneyvnnxposhwgire\n", - "-2384.320821709107 xisi zarcnmuxngtcrhattomveoddgymtauagbpizrhatiaapjewduinzlhaxjkkzjoatteetiiyeqntpeuzprlieneyvnnxposhwgire\n", - "-2241.1991938718324 xist zarrnmuingtrrhaetomkeodogymiauarbpiorhaeiaaejewouinolhaijkkojoaeteeiiiypqnteeuzarlitneygnnxeoshhgirt\n", - "-2241.1991938718324 xist zarrnmuingtrrhaetomkeodogymiauarbpiorhaeiaaejewouinolhaijkkojoaeteeiiiypqnteeuzarlitneygnnxeoshhgirt\n", - "-2306.0655838273656 xict zahrnmeingjrrhketockeonogyciaukrbpyorhkeiaqejegouidolhkijkaojoketeuiiiipqnjeeujarlytneignnneosrhgiht\n", - "-2373.0406243234115 yict yahromeimgjrshkesockfonofycibukrapyoshkehaqekegotidomhkiikaokokeseuijiippnjefujaqlytoeigmnnepsrhfiht\n", - "-2357.0347774048614 mict kahrcmeiygjrghkeeocktonorycipukrmpyoghketaqeyegofidoahkiukaoyokeeeuixiipbnjetujaclytceigynnedsrhriht\n", - "-2338.1759404393424 mijt kaarcmliygcrghreeovktouoryvipurrmproghretajeyenofiwoahriuktoyoreeenixippbncetuqaclrtcepgyngedsyhriat\n", - "-2285.5739828837127 miwt kanrcmyiygprgheeeoiktohoryiipuermpeogheetaweyeaofijoaheiukgoyoeeeeaixicpbnpetudacletcecgyntedslhrint\n", - "-2320.5318582937016 mift kaercmhiyggrghneeozktoqoryzipunrmpvoghnetaneyejofiaoahniukxoyoneeerixilpbngetumaclvtcelgynkedsuhriet\n", - "-2356.0549919457694 miut kaprcmwiygrrghceeokktoforykipucrmpgoghcetayeyeyofiloahciukioyoceeecixiapbnretubaclgtceagynvedsjhript\n", - "-2340.7732632269626 iiut oaprymwicgrrchceiokkpofovykilucrqpgochcexayeueyojilowhciykiouoceiecitiapfnrepubaglgtyeagcnvezsjhvipt\n", - "-2340.7732632269626 iiut oaprymwicgrrchceiokkpofovykilucrqpgochcexayeueyojilowhciykiouoceiecitiapfnrepubaglgtyeagcnvezsjhvipt\n", - "-2300.8766186212556 ziut xaprpmwilgrrthcerokkgofoeykicucrzpgothcegayeleyosilonhcihkiolocerecikiaponregubaplgtpeaglnveqsjheipt\n", - "-2300.8766186212556 ziut xaprpmwilgrrthcerokkgofoeykicucrzpgothcegayeleyosilonhcihkiolocerecikiaponregubaplgtpeaglnveqsjheipt\n", - "-2360.141900993539 aiut waprqmwikgrruhceqokkhofodykiducrypgouhcefayemeyoriloohcigkiomoceqeciliapnnrehubaolgtqeagknversjhdipt\n", - "-2390.270576840763 niut japrdmwixgrrhhcedokkuofoqykiqucrlpgohhcesayezeyoeilobhcitkiozocedeciyiapanreuubablgtdeagxnveesjhqipt\n", - "-2326.3839723443207 nist jarrdmuixgtrhhaedomkuodoqymiquarlpiohhaesaaezewoeinobhaitkkozoaedeeiyiypanteuuzablitdeygxnxeeshhqirt\n", - "-2520.177290247039 nkst jyrrdouixetrhjaedmmkuqdoqwmiqwarlniohjaesyaezgwoegnobjaitikozqaedceiykypalteuwzabjitdgygxlxeeuhhqgrt\n", - "-2489.117685741051 lkst lyrrbouizetrfjaefmmksqdoswmiowarnniofjaeuyaexgwoggnozjaivikoxqaefceiwkypclteswzadjitbgygzlxecuhhsgrt\n", - "-2489.117685741051 lkst lyrrbouizetrfjaefmmksqdoswmiowarnniofjaeuyaexgwoggnozjaivikoxqaefceiwkypclteswzadjitbgygzlxecuhhsgrt\n", - "-2470.679976633238 ikst oyrryouicetrcjaeimmkpqdovwmilwarqniocjaexyaeugwojgnowjaiyikouqaeiceitkypfltepwzagjitygygclxezuhhvgrt\n", - "-2439.996045492735 gkst qyrrwouieetrajaekmmknqdoxwmijwarsnioajaezyaesgwolgnoujaiaikosqaekceirkyphltenwzaijitwgygelxexuhhxgrt\n", - "-2498.856042320684 ekst syrruouigetryjaemmmklqdozwmihwarunioyjaebyaeqgwongnosjaicikoqqaemceipkypjltelwzakjitugygglxevuhhzgrt\n", - "-2554.4811386137803 ekdt sygruofigeiryjlemmbklqoozwbihwlrunxoyjlebypeqghongcosjlicizoqqlemctipkjpjlielwkakjxtugjgglmevushzggt\n", - "-2587.9599761333334 ektt syqruovigesryjbemmlklqeozwlihwbrunhoyjbebyzeqgxongmosjbicijoqqbemcdipkzpjlselwaakjhtugzgglwevuihzgqt\n", - "-2587.9599761333334 ektt syqruovigesryjbemmlklqeozwlihwbrunhoyjbebyzeqgxongmosjbicijoqqbemcdipkzpjlselwaakjhtugzgglwevuihzgqt\n", - "-2586.558253592876 tktt dyqrjoviresrnjbexmlkaqeokwliwwbrfnhonjbemyzefgxoygmohjbinijofqbexcdiekzpulseawaavjhtjgzgrlwekuihkgqt\n", - "-2716.7245317495654 tktx dyqnjovmresnnjbixmlgaqeskwlewwbvfnhknjbimyzafgxsygmkhjbmnijkfqbixcdeekztulsaawaevjhpjgzkrlwakuilkgqp\n", - "-2692.4869878924524 tkcx dyhnjoemrejnnjkixmcgaqnskwcewwkvfnyknjkimyqafggsygdkhjkmniakfqkixcueekituljaawjevjypjgikrlnakurlkghp\n", - "-2702.8399776272254 hkcx pyhnxoemdejnbjkijmcgoqnswwcekwkvrnykbjkiyyqatggskgdkvjkmziaktqkijcueskitgljaowjehjypxgikdlnayurlwghp\n", - "-2701.8104389947334 hucx pohnxyemdujnbtkijccgoanswmcekgkvrdykbtkiyoqatqgskwdkvtkmzyaktakijsuesuitgbjaogjehzypxqikdbnayerlwwhp\n", - "-2730.107661950433 hucz pohlxyeodujlbtkkjcceoanuwmcckgkxrdyibtkkyoqytqgukwdivtkozyaitakkjsucsuivgbjyogjghzynxqimdbnyyernwwhn\n", - "-2571.644160838045 huct pohrxyeidujrbtkejcckoanowmcikgkrrdyobtkeyoqetqgokwdovtkizyaotakejsuisuipgbjeogjahzytxqigdbneyerhwwht\n", - "-2531.8090249697702 huvt poorxyxiduqrbtdejcjkoagowmjikgdrrdfobtdeyoxetqzokwkovtdizyhotadejsbisubpgbqeogcahzftxqbgdbueyekhwwot\n", - "-2531.8090249697702 huvt poorxyxiduqrbtdejcjkoagowmjikgdrrdfobtdeyoxetqzokwkovtdizyhotadejsbisubpgbqeogcahzftxqbgdbueyekhwwot\n", - "-2492.395695712059 hxvt plorxbxidrqrbwdejzjkodgowjjikjdrrafobwdeylxettzoktkovwdizvhotddejpbisxbpgyqeojcahwftxtbgdyueyhkhwtot\n", - "-2577.4553413623958 hxgt pldrxbiidrfrbwoejzykodrowjyikjorrauobwoeylmettkoktzovwoizvwotdoejpqisxmpgyfeojnahwutxtmgdyjeyhvhwtdt\n", - "-2531.25104612124 hxut plprxbwidrrrbwcejzkkodfowjkikjcrragobwceylyettyoktlovwcizviotdcejpcisxapgyreojbahwgtxtagdyveyhjhwtpt\n", - "-2460.7700370591842 hxwt plnrxbyidrprbweejzikodhowjiikjerraeobweeylwettaoktjovweizvgotdeejpaisxcpgypeojdahwetxtcgdyteyhlhwtnt\n", - "-2438.8391142000237 jxwt nlnrzbyibrprdweehzikqdhoujiimjerpaeodweewlwevtaoitjoxweixvgovdeehpaiuxcpeypeqjdafwetztcgbyteahlhutnt\n", - "-2534.9370125346213 jxqt nltrzbsibrvrdwyehzokqdboujoimjyrpakodwyewlcevtuoitpoxwyixvmovdyehpgiuxwpeyveqjxafwktztwgbyzeahfhuttt\n", - "-2559.0063829404994 jhqt nbtrzlsibhvrdgyehpokqnbouzoimtyrpqkodgyewbcevduoijpoxgyixlmovnyehfgiuhwpeoveqtxafmktzdwgbozearfhujtt\n", - "-2559.0063829404994 jhqt nbtrzlsibhvrdgyehpokqnbouzoimtyrpqkodgyewbcevduoijpoxgyixlmovnyehfgiuhwpeoveqtxafmktzdwgbozearfhujtt\n", - "-2544.7788200478635 jbqt nhtrzfsibnvrdayehvokqhboufoimnyrpwkodayewhcevxuoippoxayixrmovhyehlgiubwpeuveqnxafsktzxwgbuzealfhuptt\n", - "-2703.242321160254 jbqz nhtlzfsobnvldaykhvoeqhbuufocmnyxpwkidaykwhcyvxuuippixayoxrmivhykhlgcubwveuvyqnxgfsknzxwmbuzyalfnuptn\n", - "-2693.400513647012 jxqz nltlzbsobrvldwykhzoeqdbuujocmjyxpakidwykwlcyvtuuitpixwyoxvmivdykhpgcuxwveyvyqjxgfwknztwmbyzyahfnuttn\n", - "-2730.356177303823 jxqn nltxzbscbrvxdwyyhzoqqdbiujoomjylpakudwyywlckvtuiitpuxwycxvmuvdyyhpgouxwjeyvkqjxufwkzztwabyzkahfbuttz\n", - "-2740.7219840912085 jxqw nltozbslbrvodwyhhzohqdbrujofmjyupakldwyhwlcbvturitplxwylxvmlvdyhhpgfuxwseyvbqjxdfwkqztwjbyzbahfkuttq\n", - "-2789.4284287312003 jqqw nstozuslbyvodpyhhgohqwbruqofmcyuphkldpyhwscbvmuriaplxpylxcmlvwyhhwgfuqwsefvbqcxdfdkqzmwjbfzbaafkuatq\n", - "-2778.9580936764414 jgqw nctozkslbivodfyhhqohqmbruaofmsyuprkldfyhwccbvcurikplxfylxmmlvmyhhggfugwsepvbqsxdfnkqzcwjbpzbaqfkuktq\n", - "-2573.1731221198547 jgqt nctrzksibivrdfyehqokqmbouaoimsyrprkodfyewccevcuoikpoxfyixmmovmyehggiugwpepveqsxafnktzcwgbpzeaqfhuktt\n", - "-2526.754355340006 jgkt nczrzkmibibrdfsehqukqmvouauimssrprqodfsewcievcooikvoxfsixmsovmsehgmiugqpepbeqsrafnqtzcqgbpfeaqzhukzt\n", - "-2480.8740141769 ggkt qczrwkmieibrafsekquknmvoxauijssrsrqoafsezciescoolkvoufsiamsosmsekgmirgqphpbensrainqtwcqgepfexqzhxkzt\n", - "-2491.3443492316587 gqkt qszrwumieybrapsekguknwvoxquijcsrshqoapsezsiesmoolavoupsiacsoswsekwmirqqphfbencraidqtwmqgeffexazhxazt\n", - "-2491.3443492316587 gqkt qszrwumieybrapsekguknwvoxquijcsrshqoapsezsiesmoolavoupsiacsoswsekwmirqqphfbencraidqtwmqgeffexazhxazt\n", - "-2559.155613253924 hqkt pszrxumidybrbpsejgukowvowquikcsrrhqobpseysietmookavovpsizcsotwsejwmisqqpgfbeocrahdqtxmqgdffeyazhwazt\n", - "-2568.959521625376 hqrt pssrxutidyurbpzejgnkowcowqnikczrrhjobpzeysbetmvokaoovpzizclotwzejwfisqxpgfueocyahdjtxmxgdfyeyaghwast\n", - "-2571.732359216166 hrrt prsrxvtidxurbqzejfnkoxcowpnikdzrrgjobqzeyrbetnvokzoovqzizblotxzejvfisrxpgeueodyahcjtxnxgdeyeybghwzst\n", - "-2571.732359216166 hrrt prsrxvtidxurbqzejfnkoxcowpnikdzrrgjobqzeyrbetnvokzoovqzizblotxzejvfisrxpgeueodyahcjtxnxgdeyeybghwzst\n", - "-2532.6623617892606 qrrt grsrgvtiuxurkqzeafnkxxconpnitdzrigjokqzeprbecnvobzooeqziqblocxzeavfibrxpxeuexdyaycjtgnxgueyehbghnzst\n", - "-2498.3755810019697 qsrt gqsrgwtiuwurkrzeaenkxycononitezrifjokrzepqbecovobyooerziqalocyzeaufibsxpxduexeyaybjtgoxgudyehcghnyst\n", - "-2491.0248870717205 qbrt ghsrgftiunurkazeavnkxhconfnitnzriwjokazephbecxvobpooeaziqrlochzealfibbxpxuuexnyaysjtgxxguuyehlghnpst\n", - "-2481.2209787002685 qbkt ghzrgfmiunbrkaseavukxhvonfuitnsriwqokasephiecxoobpvoeasiqrsochsealmibbqpxubexnraysqtgxqguufehlzhnpzt\n", - "-2452.4797121049096 gbkt qhzrwfmienbraasekvuknhvoxfuijnsrswqoaasezhiesxoolpvouasiarsoshseklmirbqphubennraisqtwxqgeufexlzhxpzt\n", - "-2413.476591031858 gbyt qhlrwfaiennraagekvgknhjoxfgijngrswcoaagezhuesxcolphouagiareoshgeklyirbephunennfaisctwxegeurexlnhxplt\n", - "-2481.6699378782773 gbnt qhwrwfpienyraavekvrknhyoxfrijnvrswnoaavezhfesxrolpsouaviarposhvekljirbtphuyennuaisntwxtgeucexlchxpwt\n", - "-2641.9219096182546 gbna qhwkwfppenykaavlkvrdnhyvxfrbjnvyswnhaavlzhfxsxrvlpshuavparphshvlkljbrbtwhuyxnnuhisnmwxtneucxxlcoxpwm\n", - "-2691.043549866571 lbna lhwkbfppznykfavlfvrdshyvsfrbonvynwnhfavluhfxxxrvgpshzavpvrphxhvlfljbwbtwcuyxsnuhdsnmbxtnzucxclcospwm\n", - "-2697.2710494504972 lbnq lhwubfpfznyufavbfvrnshylsfrlonvonwnrfavbuhfhxxrlgpsrzavfvrprxhvbfljlwbtmcuyhsnuxdsnwbxtdzuchclcespww\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2690.470000726137 lmnq lwwubqpfzcyuflvbfkrnssylsurloyvonlnrflvbuwfhxirlgesrzlvfvgprxsvbfajlwmtmcjyhsyuxdhnwbitdzjchcwceseww\n", - "-2660.557899784078 lmzq lwkubqbfzcmuflhbfkfnssklsufloyhonlbrflhbuwthxidlgegrzlhfvgdrxshbfaxlwmfmcjmhsygxdhbwbifdzjqhcwoesekw\n", - "-2640.9425134436165 lmeq lwfubqgfzchuflmbfkanssplsualoymonlwrflmbuwohxiilgebrzlmfvgyrxsmbfaslwmkmcjhhsylxdhwwbikdzjlhcwtesefw\n", - "-2673.295797553518 pmeq hwfufqgfvchujlmbbkanwsploualsymojlwrjlmbqwohbiilcebrdlmfrgyrbsmbbaslamkmyjhhwylxzhwwfikdvjlhgwteoefw\n", - "-2672.0021179496025 nmeq jwfudqgfxchuhlmbdkanusplqualqymollwrhlmbswohziileebrblmftgyrzsmbdaslymkmajhhuylxbhwwdikdxjlhewteqefw\n", - "-2696.5911350104643 nweq jmfudagfxshuhvmbdaanucplqkalqimolbwrhvmbsmohzsileubrbvmftwyrzcmbdqslywkmazhhuilxbxwwdskdxzlhegtequfw\n", - "-2656.238946937474 neeq jefudigfxkhuhdmbdsanukplqcalqqmoltwrhdmbseohzailembrbdmftoyrzkmbdislyekmarhhuqlxbpwwdakdxrlheoteqmfw\n", - "-2692.408244422816 neev jefpdigkxkhphdmgdsaiukpqqcagqqmtltwmhdmgseoczaiqembmbdmktoymzkmgdisgyekrarhcuqlcbpwrdakixrlceotjqmfr\n", - "-2489.759475613573 neet jefrdigixkhrhdmedsakukpoqcaiqqmrltwohdmeseoezaioembobdmitoyozkmedisiyekparheuqlabpwtdakgxrleeothqmft\n", - "-2498.692640205708 npet jtfrdtgixzhrhomedhakuvpoqraiqbmrliwohomestoezlioebbobomitdyozvmedxsiypkpagheublabewtdlkgxgleezthqbft\n", - "-2345.5773687096275 nplt jtyrdtnixzarhotedhtkuvwoqrtiqbtrlipohotesthezlpoebuobotitdrozvtedxliyprpagaeubsabeptdlrgxgeeezahqbyt\n", - "-2328.181657601277 cplt utyrstniizarwoteohtkjvwobrtifbtrwipowotedtheolpopbuoqotiedroovteoxlinprplgaejbsameptslrgigeetzahbbyt\n", - "-2319.248493009142 celt ueyrsiniikarwdteostkjkwobctifqtrwtpowdtedeheoapopmuoqdtieorookteoilinerplraejqsampptsargireetoahbmyt\n", - "-2307.759721942659 selt eeyriiniskarmdteystkzkwolctivqtrgtpomdteneheeapozmuogdtiooroekteyiliderpvraezqsawpptiargsreejoahlmyt\n", - "-2369.1885788058967 sqlt esyriunisyarmpteygtkzwwolqtivctrghpomptensheempozauogptiocroewteywlidqrpvfaezcsawdptimrgsfeejaahlayt\n", - "-2376.751813054373 eqlt ssyruunigyaryptemgtklwwozqtihctruhpoyptebsheqmponauospticcroqwtemwlipqrpjfaelcsakdptumrggfeevaahzayt\n", - "-2376.751813054373 eqlt ssyruunigyaryptemgtklwwozqtihctruhpoyptebsheqmponauospticcroqwtemwlipqrpjfaelcsakdptumrggfeevaahzayt\n", - "-2366.2814779996147 eglt scyruknigiaryftemqtklmwozatihstrurpoyftebcheqcponkuosfticmroqmtemglipgrpjpaelssaknptucrggpeevqahzkyt\n", - "-2388.896405529882 pglt hcyrfkniviarjftebqtkwmwooatisstrjrpojfteqchebcpockuodftirmrobmtebgliagrpypaewssaznptfcrgvpeegqahokyt\n", - "-2357.474050078746 aglt wcyrqknikiarufteqqtkhmwodatidstryrpouftefchemcporkuooftigmrommteqglilgrpnpaehssaonptqcrgkpeerqahdkyt\n", - "-2321.455210515161 rglt fcyrhknitiarlftezqtkymwomatiustrhrpolfteochedcpoakuofftipmrodmtezglicgrpwpaeyssaxnpthcrgtpeeiqahmkyt\n", - "-2279.2074429365634 rtlt fpyrhxnitvarlstezdtkyzwomntiuftrhepolsteophedppoaxuofstipzrodzteztlictrpwcaeyfsaxapthprgtceeidahmxyt\n", - "-2383.9169123961306 rnlt fvyrhrnitbarlmtezjtkytwomttiuztrhkpolmteovhedjpoaduofmtipfrodttezzlicnrpwiaeyzsaxgpthjrgtieeixahmdyt\n", - "-2378.5092153099226 rdlt ffyrhhnitlarlctezttkyjwomdtiuptrhupolcteofhedzpoanuofctipprodjtezjlicdrpwsaeypsaxqpthzrgtseeinahmnyt\n", - "-2386.7746933521753 wdlt afyrmhniolarqcteuttkdjwohdtizptrcupoqctejfheizpovnuokctikproijteujlihdrprsaedpsasqptmzrgoseennahhnyt\n", - "-2386.7746933521753 wdlt afyrmhniolarqcteuttkdjwohdtizptrcupoqctejfheizpovnuokctikproijteujlihdrprsaedpsasqptmzrgoseennahhnyt\n", - "-2410.441145825738 mdlt kfyrchniylargcteettktjwordtipptrmupogctetfheyzpofnuoactiuproyjteejlixdrpbsaetpsacqptczrgyseednahrnyt\n", - "-2354.5643607034553 mult koyrcyniyuargtteectktawormtipgtrmdpogttetoheyqpofwuoattiuyroyateeslixurpbbaetgsaczptcqrgybeedeahrwyt\n", - "-2351.2220120110865 mllt kxyrcpniydargkteeltktrworvtipxtrmmpogktetxheyhpoffuoaktiuhroyrteeblixlrpbkaetxsaciptchrgykeedvahrfyt\n", - "-2329.5337089785094 mjlt kzyrcnniyfargiteentktpworxtipvtrmopogitetzheyfpofhuoaitiujroypteedlixjrpbmaetvsackptcfrgymeedtahrhyt\n", - "-2286.794484042904 mvlt knyrczniytarguteebtktbworltiphtrmcpogutetnheyrpofvuoautiuxroybteerlixvrpbaaethsacyptcrrgyaeedfahrvyt\n", - "-2269.5700907789533 qvlt gnyrgzniutarkuteabtkxbwonltithtricpokutepnhecrpobvuoeutiqxrocbtearlibvrpxaaexhsayyptgrrguaeehfahnvyt\n", - "-2256.751391367193 ovlt inyrezniwtariutecbtkvbwopltirhtrkcpoiuternhearpodvuocutisxroabtecrlizvrpzaaevhsaaypterrgwaeeffahpvyt\n", - "-2338.347977868188 ozlt ijyredniwpariytecxtkvfwophtirltrkypoiyterjheavpodruocytistroaftecnlizzrpzwaevlsaauptevrgwweefjahpryt\n", - "-2336.4591400280838 rzlt fjyrhdnitparlytezxtkyfwomhtiultrhypolyteojhedvpoaruofytiptrodfteznliczrpwwaeylsaxupthvrgtweeijahmryt\n", - "-2322.63243018764 rult foyrhynituarlttezctkyawommtiugtrhdpoltteoohedqpoawuofttipyrodatezslicurpwbaeygsaxzpthqrgtbeeieahmwyt\n", - "-2322.63243018764 rult foyrhynituarlttezctkyawommtiugtrhdpoltteoohedqpoawuofttipyrodatezslicurpwbaeygsaxzpthqrgtbeeieahmwyt\n", - "-2336.8003067299496 uult coyrkyniquarottewctkbawojmtixgtredpoottelohegqpoxwuoittimyrogatewslifurptbaebgsauzptkqrgqbeeleahjwyt\n", - "-2300.4277362611238 umlt cwyrkqniqcaroltewktkbswojutixytrelpooltelwhegipoxeuoiltimgrogstewalifmrptjaebysauhptkirgqjeelwahjeyt\n", - "-2335.011664021271 cmlt uwyrsqniicarwlteoktkjswobutifytrwlpowltedwheoipopeuoqltiegroosteoalinmrpljaejysamhptsirgijeetwahbeyt\n", - "-2331.970905232387 cxlt ulyrsbniirarwwteoztkjdwobjtifjtrwapowwtedlheotpoptuoqwtievroodteoplinxrplyaejjsamwptstrgiyeethahbtyt\n", - "-2349.1634066758793 cslt uqyrswniiwarwrteoetkjywobotifetrwfpowrtedqheoopopyuoqrtiearooyteoulinsrpldaejesambptsorgideetcahbyyt\n", - "-2371.3842344900972 cult uoyrsyniiuarwtteoctkjawobmtifgtrwdpowttedoheoqpopwuoqttieyrooateoslinurplbaejgsamzptsqrgibeeteahbwyt\n", - "-2505.8336464222807 cuyt uolrsyaiiunrwtgeocgkjajobmgifggrwdcowtgedoueoqcopwhoqtgieyeooageosyinueplbnejgfamzctsqegibretenhbwlt\n", - "-2505.8336464222807 cuyt uolrsyaiiunrwtgeocgkjajobmgifggrwdcowtgedoueoqcopwhoqtgieyeooageosyinueplbnejgfamzctsqegibretenhbwlt\n", - "-2450.6027447471956 duyt tolrtyaihunrxtgencgkkajoamgigggrvdcoxtgecouepqcoowhortgidyeopagensyiouepkbnekgfalzcttqeghbreuenhawlt\n", - "-2429.156158102307 vuyt bolrlyaipunrptgevcgkcajoimgiyggrddcoptgekouehqcowwhojtgilyeohagevsyiguepsbnecgfatzctlqegpbremenhiwlt\n", - "-2402.242112544623 vcyt bglrlgaipmnrpbgevugkcijoiegiyogrdvcopbgekguehycowohojbgilqeohigevkyigcepstnecofatrctlyegptremmnhiolt\n", - "-2385.73117085123 vtyt bplrlxaipvnrpsgevdgkczjoingiyfgrdecopsgekpuehpcowxhojsgilzeohzgevtyigtepscnecffatactlpegpcremdnhixlt\n", - "-2416.143956179652 vyyt bklrlcaipqnrpxgevygkcejoiigiykgrdzcopxgekkuehucowshojxgilueohegevoyigyepsxneckfatvctluegpxreminhislt\n", - "-2488.895907681619 eyyt sklrucaigqnryxgemygklejozigihkgruzcoyxgebkuequconshosxgicueoqegemoyipyepjxnelkfakvctuueggxrevinhzslt\n", - "-2507.317597376535 eayt silrueaigonryzgemwgklgjozggihmgruxcoyzgebiueqwconqhoszgicseoqggemmyipaepjvnelmfaktctuweggvrevknhzqlt\n", - "-2555.46980402631 eamt sixrueoigozryzuemwsklgxozgsihmuruxooyzuebigeqwqonqtoszuicsqoqguemmkipaspjvzelmtaktotuwsggvdevkbhzqxt\n", - "-2510.6469869963403 exmt slxruboigrzrywuemzskldxozjsihjuruaooywueblgeqtqonttoswuicvqoqduempkipxspjyzeljtakwotutsggydevhbhztxt\n", - "-2511.3018097910685 exrt slsrubtigrurywzemznkldcozjnihjzruajoywzeblbeqtvontooswzicvloqdzempfipxxpjyueljyakwjtutxggyyevhghztst\n", - "-2562.78109202185 errt srsruvtigxuryqzemfnklxcozpnihdzrugjoyqzebrbeqnvonzoosqzicbloqxzemvfiprxpjeueldyakcjtunxggeyevbghzzst\n", - "-2582.1674094237655 ernt srwruvpigxyryqvemfrklxyozprihdvrugnoyqvebrfeqnronzsosqvicbpoqxvemvjiprtpjeyelduakcntuntggecevbchzzwt\n", - "-2551.5090184816218 urnt crwrkvpiqxyroqvewfrkbxyojprixdvregnooqvelrfegnroxzsoiqvimbpogxvewvjifrtpteyebduaucntkntgqecelbchjzwt\n", - "-2503.070495039723 umnt cwwrkqpiqcyrolvewkrkbsyojurixyvrelnoolvelwfegiroxesoilvimgpogsvewajifmtptjyebyuauhntkitgqjcelwchjewt\n", - "-2483.029354843077 ummt cwxrkqoiqczroluewkskbsxojusixyureloooluelwgegiqoxetoiluimgqogsuewakifmsptjzebytauhotkisgqjdelwbhjext\n", - "-2477.1269563430187 wmmt awxrmqoioczrqlueukskdsxohusizyurclooqluejwgeiiqovetokluikgqoisueuakihmsprjzedytashotmisgojdenwbhhext\n", - "-2445.7296501512947 wvmt anxrmzoiotzrquueubskdbxohlsizhurccooquuejngeirqovvtokuuikxqoibueurkihvsprazedhtasyotmrsgoadenfbhhvxt\n", - "-2423.4304427655497 gvmt qnxrwzoietzrauuekbsknbxoxlsijhurscooauuezngesrqolvtouuuiaxqosbuekrkirvsphazenhtaiyotwrsgeadexfbhxvxt\n", - "-2439.064577945144 gemt qexrwioiekzraduekssknkxoxcsijqurstooaduezegesaqolmtouduiaoqoskuekikiresphrzenqtaipotwasgerdexobhxmxt\n", - "-2496.921665116883 gegt qedrwiiiekfradoeksyknkroxcyijqorstuoadoezemesakolmzoudoiaowoskoekiqiremphrfenqnaiputwamgerjexovhxmdt\n", - "-2524.0267548728953 gjgt qzdrwniieffraioeknyknproxxyijvorsouoaioezzmesfkolhzouioiajwospoekdqirjmphmfenvnaikutwfmgemjextvhxhdt\n", - "-2469.5609514283947 gjdt qzgrwnfiefiraileknbknpooxxbijvlrsoxoailezzpesfholhcouiliajzosplekdtirjjphmienvkaikxtwfjgemmextshxhgt\n", - "-2426.594530700163 gjpt qzurwnriefwraixeknpknpaoxxpijvxrsoloaixezzdesftolhqouixiajnospxekdhirjvphmwenvwaikltwfvgemaextehxhut\n", - "-2434.1491626710335 djpt tzurtnrihfwrxixennpkkpaoaxpigvxrvoloxixeczdepftoohqorixidjnoppxendhiojvpkmwekvwalklttfvghmaeutehahut\n", - "-2475.7161709484803 ljpt lzurbnrizfwrfixefnpkspaosxpiovxrnolofixeuzdexftoghqozixivjnoxpxefdhiwjvpcmwesvwadkltbfvgzmaectehshut\n", - "-2515.291307949472 ljmt lzxrbnoizfzrfiuefnskspxosxsiovurnooofiueuzgexfqoghtoziuivjqoxpuefdkiwjspcmzesvtadkotbfsgzmdectbhshxt\n", - "-2506.1422223727486 ljkt lzzrbnmizfbrfisefnukspvosxuiovsrnoqofiseuziexfooghvozisivjsoxpsefdmiwjqpcmbesvradkqtbfqgzmfectzhshzt\n", - "-2519.806115770386 cjkt uzzrsnmiifbrwiseonukjpvobxuifvsrwoqowisedzieofoophvoqisiejsoopseodminjqplmbejvramkqtsfqgimfettzhbhzt\n", - "-2515.8805789523813 ejkt szzrunmigfbryisemnuklpvozxuihvsruoqoyisebzieqfoonhvosisicjsoqpsemdmipjqpjmbelvrakkqtufqggmfevtzhzhzt\n", - "-2502.986241983743 mjkt kzzrcnmiyfbrgiseenuktpvorxuipvsrmoqogisetzieyfoofhvoaisiujsoypseedmixjqpbmbetvrackqtcfqgymfedtzhrhzt\n", - "-2471.054311467926 rjkt fzzrhnmitfbrliseznukypvomxuiuvsrhoqoliseoziedfooahvofisipjsodpsezdmicjqpwmbeyvraxkqthfqgtmfeitzhmhzt\n", - "-2492.8359744343265 rjct fzhrhneitfjrlikeznckypnomxciuvkrhoyolikeozqedfgoahdofikipjaodpkezduicjipwmjeyvjaxkythfigtmneitrhmhht\n", - "-2527.159741541553 rqct fshrhueityjrlpkezgckywnomqciuckrhhyolpkeosqedmgoaadofpkipcaodwkezwuicqipwfjeycjaxdythmigtfneiarhmaht\n", - "-2331.9255455699185 rqlt fsyrhunityarlptezgtkywwomqtiuctrhhpolpteoshedmpoaauofptipcrodwtezwlicqrpwfaeycsaxdpthmrgtfeeiaahmayt\n", - "-2331.9255455699185 rqlt fsyrhunityarlptezgtkywwomqtiuctrhhpolpteoshedmpoaauofptipcrodwtezwlicqrpwfaeycsaxdpthmrgtfeeiaahmayt\n", - "-2530.4356686418023 rqit fsbrhukitydrlpqezgwkywtomqwiucqrhhsolpqeoskedmmoaaxofpqipcuodwqezwoicqopwfdeycpaxdsthmogtfheiaxhmabt\n", - "-2328.3787739892978 riit fabrhmkitgdrlhqezowkyotomywiuuqrhpsolhqeoakedemoaixofhqipkuodoqezeoiciopwndeyupaxlstheogtnheisxhmibt\n", - "-2308.770211987221 ribt fairhmditgkrlhjezodkyomomydiuujrhpzolhjeoaredefoaieofhjipkbodojezevicihpwnkeyuiaxlzthehgtnoeisqhmiit\n", - "-2349.7399507024934 riqt fatrhmsitgvrlhyezookyobomyoiuuyrhpkolhyeoacedeuoaipofhyipkmodoyezegiciwpwnveyuxaxlkthewgtnzeisfhmitt\n", - "-2397.677728136859 yiqt yatromsimgvrshyesookfobofyoibuyrapkoshyehacekeuotipomhyiikmokoyesegijiwppnvefuxaqlktoewgmnzepsfhfitt\n", - "-2320.832909932744 yipt yauromrimgwrshxesopkfoaofypibuxraploshxehadeketotiqomhxiiknokoxesehijivppnwefuwaqlltoevgmnaepsehfiut\n", - "-2258.8614031548855 gipt qaurwmriegwrahxekopknoaoxypijuxrsploahxezadesetoliqouhxiaknosoxekehirivphnwenuwailltwevgenaexsehxiut\n", - "-2239.6083230244044 giwt qanrwmyiegpraheekoiknohoxyiijuerspeoaheezaweseaolijouheiakgosoeekeairicphnpenudailetwecgentexslhxint\n", - "-2270.292254164907 iiwt oanrymyicgprcheeioikpohovyiiluerqpeocheexaweueaojijowheiykgouoeeieaiticpfnpepudagletyecgcntezslhvint\n", - "-2349.1616114930234 iint oawrympicgyrchveiorkpoyovyriluvrqpnochvexafeuerojisowhviykpouoveiejititpfnyepuuaglntyetgcncezschviwt\n", - "-2311.705116437367 iiat oajrymcicglrchieioekpolovyeiluirqpaochiexaseueeojifowhiiykcouoieiewitigpfnlepuhaglatyeggcnpezsphvijt\n", - "-2147.7805182423103 kiat majramciaglrehiegoekrolotyeinuiropaoehievaseweeohifoyhiiwkcowoiegewivigpdnleruhaelataegganpebsphtijt\n", - "-2181.104377591249 kiit mabramkiagdrehqegowkrototywinuqropsoehqevakewemohixoyhqiwkuowoqegeoiviopdnderupaelstaeoganhebsxhtibt\n", - "-2155.324912355907 kizt makrambiagmrehhegofkrokotyfinuhropboehhevatewedohigoyhhiwkdowohegexivifpdnmerugaelbtaefganqebsohtikt\n", - "-2155.324912355907 kizt makrambiagmrehhegofkrokotyfinuhropboehhevatewedohigoyhhiwkdowohegexivifpdnmerugaelbtaefganqebsohtikt\n", - "-2158.9696135254794 kijt maaramliagcrehregovkrouotyvinurroproehrevajewenohiwoyhriwktoworegenivippdnceruqaelrtaepgangebsyhtiat\n", - "-2106.3676559698506 kiwt manramyiagpreheegoikrohotyiinueropeoeheevaweweaohijoyheiwkgowoeegeaivicpdnperudaeletaecgantebslhtint\n", - "-2297.0665973118953 tiwt danrjmyirgprnheexoikaohokyiiwuerfpeonheemawefeaoyijohheinkgofoeexeaieicpunpeaudavletjecgrntekslhkint\n", - "-2440.188225149172 tiwi dancjmyxrgpcnhetxoivaohdkyitwuegfpeznhetmawpfeadyijzhhexnkgzfoetxeateiceunppaudpvleejecvrntpkslwkine\n", - "-2423.3134986280916 biwi vancrmyxjgpcvhetpoiviohdcyiteuegxpezvheteawpneadqijzphexfkgznoetpeatmicemnppiudpnleerecvjntpsslwcine\n", - "-2464.7263609005518 biai vajcrmcxjglcvhitpoevioldcyeteuigxpazvhiteaspneedqifzphixfkcznoitpewtmigemnlpiuhpnlaeregvjnppsspwcije\n", - "-2463.134860950765 biae vajgrmctjglgvhippoeziolzcyexeuicxpadvhipeastneezqifdphitfkcdnoippewxmigamnltiuhlnlairegrjnptsspsciji\n", - "-2453.235244324855 iiae oajgymctcglgchipioezpolzvyexluicqpadchipxastueezjifdwhitykcduoipiewxtigafnltpuhlglaiyegrcnptzspsviji\n", - "-2450.752919070157 uiae cajgkmctqglgohipwoezbolzjyexxuicepadohiplastgeezxifdihitmkcdgoipwewxfigatnltbuhlulaikegrqnptlspsjiji\n", - "-2472.6038820914305 aiae wajgqmctkglguhipqoezholzdyexduicypaduhipfastmeezrifdohitgkcdmoipqewxligannlthuhlolaiqegrknptrspsdiji\n", - "-2474.195382041218 aiai wajcqmcxkglcuhitqoevholddyetduigypazuhitfaspmeedrifzohixgkczmoitqewtligennlphuhpolaeqegvknpprspwdije\n", - "-2474.195382041218 aiai wajcqmcxkglcuhitqoevholddyetduigypazuhitfaspmeedrifzohixgkczmoitqewtligennlphuhpolaeqegvknpprspwdije\n", - "-2474.195382041218 aiai wajcqmcxkglcuhitqoevholddyetduigypazuhitfaspmeedrifzohixgkczmoitqewtligennlphuhpolaeqegvknpprspwdije\n", - "-2486.9283467800938 ciai uajcsmcxiglcwhitooevjoldbyetfuigwpazwhitdaspoeedpifzqhixekczooitoewtnigelnlpjuhpmlaesegvinpptspwbije\n", - "-2515.996493569689 ciui uapcsmwxigrcwhctookvjofdbyktfucgwpgzwhctdaypoeydpilzqhcxekizooctoectniaelnrpjubpmlgeseavinvptsjwbipe\n", - "-2495.1946160623825 ciki uazcsmmxigbcwhstoouvjovdbyutfusgwpqzwhstdaipoeodpivzqhsxekszoostoemtniqelnbpjurpmlqeseqvinfptszwbize\n", - "-2439.963714387298 diki tazctmmxhgbcxhstnouvkovdayutgusgvpqzxhstcaippeodoivzrhsxdkszpostnemtoiqeknbpkurpllqeteqvhnfpuszwaize\n", - "-2439.241839218608 dizi takctmbxhgmcxhhtnofvkokdayftguhgvpbzxhhtcatppeddoigzrhhxdkdzpohtnextoifeknmpkugpllbetefvhnqpusowaike\n", - "-2452.5040836912603 didi tagctmfxhgicxhltnobvkoodaybtgulgvpxzxhltcapppehdoiczrhlxdkzzpoltnettoijeknipkukpllxetejvhnmpusswaige\n", - "-2496.246214299862 sidi eagcimfxsgicmhltyobvzoodlybtvulggpxzmhltnappeehdziczghlxokzzeoltyettdijevnipzukpwlxeiejvsnmpjsswlige\n", - "-2453.2797935716317 sipi eaucimrxsgwcmhxtyopvzoadlyptvuxggplzmhxtnadpeetdziqzghxxoknzeoxtyehtdivevnwpzuwpwlleievvsnapjsewliue\n", - "-2453.2797935716317 sipi eaucimrxsgwcmhxtyopvzoadlyptvuxggplzmhxtnadpeetdziqzghxxoknzeoxtyehtdivevnwpzuwpwlleievvsnapjsewliue\n", - "-2463.95453777002 yipi yaucomrxmgwcshxtsopvfoadfyptbuxgaplzshxthadpketdtiqzmhxxiknzkoxtsehtjivepnwpfuwpqlleoevvmnappsewfiue\n", - "-2442.5665787585713 bipi vaucrmrxjgwcvhxtpopvioadcypteuxgxplzvhxteadpnetdqiqzphxxfknznoxtpehtmivemnwpiuwpnllerevvjnapssewciue\n", - "-2444.560700658375 bipm vauyrmrbjgwyvhxxpoprioahcyppeuxkxplvvhxxeadlnethqiqvphxbfknvnoxxpehpmivimnwliuwtnllarevzjnalsseaciua\n", - "-2301.5342190774145 bilm vayyrmnbjgayvhtxpotriowhcytpeutkxppvvhtxeahlnephqiuvphtbfkrvnotxpelpmirimnaliustnlparerzjnelssaaciya\n", - "-2247.0587166369833 vilm bayylmnbpgayphtxvotrcowhiytpyutkdppvphtxkahlhephwiuvjhtblkrvhotxvelpgirisnalcusttlpalerzpnelmsaaiiya\n", - "-2261.3450619676405 vilf bayflmnupgafphtqvotycowaiytwyutddppcphtqkahshepawiucjhtulkrchotqvelwgirbsnascusmtlphlerspnesmsatiiyh\n", - "-2247.0587166369833 vilm bayylmnbpgayphtxvotrcowhiytpyutkdppvphtxkahlhephwiuvjhtblkrvhotxvelpgirisnalcusttlpalerzpnelmsaaiiya\n", - "-2390.0851982179456 vipm bauylmrbpgwyphxxvoprcoahiyppyuxkdplvphxxkadlhethwiqvjhxblknvhoxxvehpgivisnwlcuwttllalevzpnalmseaiiua\n", - "-2426.2763602777095 wipm aauymmrbogwyqhxxuoprdoahhyppzuxkcplvqhxxjadliethviqvkhxbkknvioxxuehphivirnwlduwtsllamevzonalnseahiua\n", - "-2426.2763602777095 wipm aauymmrbogwyqhxxuoprdoahhyppzuxkcplvqhxxjadliethviqvkhxbkknvioxxuehphivirnwlduwtsllamevzonalnseahiua\n", - "-2434.6610840324656 iipm oauyymrbcgwychxxioprpoahvyppluxkqplvchxxxadluethjiqvwhxbyknvuoxxiehptivifnwlpuwtgllayevzcnalzseaviua\n", - "-2484.964499064586 iipn oauxymrccgwxchxyiopqpoaivypoluxlqpluchxyxadkuetijiquwhxcyknuuoxyiehotivjfnwkpuwugllzyevacnakzsebviuz\n", - "-2500.669294344094 iifn oaexymhccggxchnyiozqpoqivyzolunlqpvuchnyxankuejijiauwhncykxuuonyierotiljfngkpumuglvzyelacnkkzsubviez\n", - "-2507.898898384137 iifv oaepymhkcggpchngiozipoqqvyzgluntqpvmchngxancuejqjiamwhnkykxmuongiergtilrfngcpumcglvryelicnkczsujvier\n", - "-2528.511729823107 sifv eaepimhksggpmhngyozizoqqlyzgvuntgpvmmhngnanceejqziamghnkokxmeongyergdilrvngczumcwlvrielisnkcjsujlier\n", - "-2521.2821257830637 sifn eaeximhcsggxmhnyyozqzoqilyzovunlgpvumhnynankeejiziaughncokxueonyyerodiljvngkzumuwlvzielasnkkjsubliez\n", - "-2484.3264621262515 sifz eaelimhosgglmhnkyozezoqulyzcvunxgpvimhnknanyeejuziaighnookxieonkyercdilvvngyzumgwlvnielmsnkyjsunlien\n", - "-2478.9100407098854 jifz naelzmhobggldhnkhozeqoquuyzcmunxppvidhnkwanyvejuiiaixhnoxkxivonkhercuilvengyqumgflvnzelmbnkyasunuien\n", - "-2480.698511337472 jifa naekzmhpbggkdhnlhozdqoqvuyzbmunyppvhdhnlwanxvejviiahxhnpxkxhvonlherbuilwengxqumhflvmzelnbnkxasuouiem\n", - "-2648.4316388827565 jjfa nzekznhpbfgkdinlhnzdqpqvuxzbmvnypovhdinlwznxvfjvihahxinpxjxhvpnlhdrbujlwemgxqvmhfkvmzflnbmkxatuouhem\n", - "-2636.419749738266 jjfp nzevznhebfgvdinahnzoqpqkuxzmmvnnpovsdinawznivfjkihasxinexjxsvpnahdrmujllemgiqvmwfkvxzflcbmkiatuduhex\n", - "-2642.874736600738 jjap nzjvzncebflvdiiahneoqplkuxemmvinpoasdiiawzsivfekihfsxiiexjcsvpiahdwmujglemliqvhwfkaxzfgcbmpiatpduhjx\n", - "-2648.2911580171044 sjap ezjvincesflvmiiayneozplklxemvvingoasmiianzsiefekzhfsgiieojcsepiaydwmdjglvmlizvhwwkaxifgcsmpijtpdlhjx\n", - "-2626.1313758751257 sjpp ezuvinresfwvmixaynpozpaklxpmvvxngolsmixanzdieftkzhqsgixeojnsepxaydhmdjvlvmwizvwwwklxifvcsmaijtedlhux\n", - "-2626.1313758751257 sjpp ezuvinresfwvmixaynpozpaklxpmvvxngolsmixanzdieftkzhqsgixeojnsepxaydhmdjvlvmwizvwwwklxifvcsmaijtedlhux\n", - "-2565.6218998304466 zjpp xzuvpnrelfwvtixarnpogpakexpmcvxnzolstixagzdilftkshqsnixehjnslpxardhmkjvlomwigvwwpklxpfvclmaiqtedehux\n", - "-2575.8453183473507 zjpz xzulpnrolfwltixkrnpegpauexpccvxxzolitixkgzdylftushqinixohjnilpxkrdhckjvvomwygvwgpklnpfvmlmayqtenehun\n", - "-2597.533621379928 zlpz xxulpproldwltkxkrlpegrauevpccxxxzmlitkxkgxdylhtusfqinkxohhnilrxkrbhcklvvokwygxwgpilnphvmlkayqvenefun\n", - "-2569.236398424227 zlpx xxunpprmldwntkxirlpggrasevpecxxvzmlktkxigxdalhtssfqknkxmhhnklrxirbheklvtokwagxwepilpphvklkaaqvelefup\n", - "-2379.8149678463665 zipx xaunpmrmlgwnthxiropggoaseypecuxvzplkthxigadaletssiqknhxmhknkloxirehekivtonwaguwepllppevklnaaqseleiup\n", - "-2456.8389453338373 hipx paunxmrmdgwnbhxijopgooaswypekuxvrplkbhxiyadatetskiqkvhxmzknktoxijehesivtgnwaouwehllpxevkdnaayselwiup\n", - "-2313.812463752872 hilx paynxmnmdganbhtijotgoowswytekutvrppkbhtiyahatepskiukvhtmzkrktotijelesirtgnaaousehlppxerkdneaysalwiyp\n", - "-2260.034929074103 rilx faynhmnmtganlhtizotgyowsmyteuutvhppklhtioahadepsaiukfhtmpkrkdotizelecirtwnaayusexlppherktneaisalmiyp\n", - "-2394.4843410062804 riyx falnhmamtgnnlhgizoggyojsmygeuugvhpcklhgioauadecsaihkfhgmpkekdogizeyecietwnnayufexlcpheektnraisnlmilp\n", - "-2418.7662059345735 rifx faenhmhmtggnlhnizozgyoqsmyzeuunvhpvklhnioanadejsaiakfhnmpkxkdonizereciltwngayumexlvphelktnkaisulmiep\n", - "-2404.73247659108 gifx qaenwmhmeggnahnikozgnoqsxyzejunvspvkahnizanasejsliakuhnmakxksonikererilthnganumeilvpwelkenkaxsulxiep\n", - "-2422.8062810298775 gifp qaevwmheeggvahnakozonoqkxyzmjunnspvsahnazanisejkliasuhneakxssonakermrillhnginumwilvxwelcenkixsudxiex\n", - "-2398.524416101585 giyp qalvwmaeegnvahgakogonojkxygmjugnspcsahgazauisecklihsuhgeakessogakeymrielhnninufwilcxweecenrixsndxilx\n", - "-2422.8062810298775 gifp qaevwmheeggvahnakozonoqkxyzmjunnspvsahnazanisejkliasuhneakxssonakermrillhnginumwilvxwelcenkixsudxiex\n", - "-2484.7777878077377 yifp yaevomhemggvshnasozofoqkfyzmbunnapvsshnahanikejktiasmhneikxskonasermjillpngifumwqlvxoelcmnkipsudfiex\n", - "-2413.593567564673 zifp xaevpmhelggvthnarozogoqkeyzmcunnzpvsthnaganilejksiasnhnehkxslonarermkillongigumwplvxpelclnkiqsudeiex\n", - "-2413.593567564673 zifp xaevpmhelggvthnarozogoqkeyzmcunnzpvsthnaganilejksiasnhnehkxslonarermkillongigumwplvxpelclnkiqsudeiex\n", - "-2417.8027473116904 xifp zaevnmhenggvrhnatozoeoqkgyzmaunnbpvsrhnaianijejkuiaslhnejkxsjonatermiillqngieumwrlvxnelcnnkiosudgiex\n", - "-2259.0714704512206 xilp zayvnmnengavrhtatotoeowkgytmautnbppsrhtaiahijepkuiuslhtejkrsjotatelmiirlqnaieuswrlpxnercnneiosadgiyx\n", - "-2457.5815935231026 xiip zabvnmkengdvrhqatowoeotkgywmauqnbpssrhqaiakijemkuixslhqejkusjoqateomiiolqndieupwrlsxneocnnhiosxdgibx\n", - "-2389.439276467316 xisp zarvnmuengtvrhaatomoeodkgymmauanbpisrhaaiaaijewkuinslhaejkksjoaateemiiylqntieuzwrlixneycnnxioshdgirx\n", - "-2380.550855511486 visp barvlmuepgtvphaavomocodkiymmyuandpisphaakaaihewkwinsjhaelkkshoaaveemgiylsnticuzwtlixleycpnximshdiirx\n", - "-2380.550855511486 visp barvlmuepgtvphaavomocodkiymmyuandpisphaakaaihewkwinsjhaelkkshoaaveemgiylsnticuzwtlixleycpnximshdiirx\n", - "-2445.133476435659 visk baralmuzpgtaphavvomtcodfiymryuaidpixphavkaanhewfwinxjhazlkkxhoavveergiygsntncuzrtlicleyxpnxnmshyiirc\n", - "-2521.8109647556294 cisk uarasmuzigtawhavoomtjodfbymrfuaiwpixwhavdaanoewfpinxqhazekkxooavoeerniyglntnjuzrmlicseyxinxntshybirc\n", - "-2468.39035630371 cisf uarfsmuuigtfwhaqoomyjodabymwfuadwpicwhaqdaasoewapincqhauekkcooaqoeewniyblntsjuzmmlihseysinxstshtbirh\n", - "-2396.3921091925527 zisf xarfpmuulgtfthaqromygodaeymwcuadzpicthaqgaaslewasincnhauhkkcloaqreewkiybontsguzmplihpeyslnxsqshteirh\n", - "-2449.2807445531394 zirf xasfpmtulgufthzqronygocaeynwcuzdzpjcthzqgabslevasiocnhzuhklclozqrefwkixbonusguympljhpexslnysqsgteish\n", - "-2438.7549610129963 zizf xakfpmbulgmfthhqrofygokaeyfwcuhdzpbcthhqgatsledasigcnhhuhkdclohqrexwkifbonmsgugmplbhpefslnqsqsoteikh\n", - "-2409.5191441019456 zizx xaknpmbmlgmnthhirofggokseyfecuhvzpbkthhigataledssigknhhmhkdklohirexekiftonmagugeplbppefklnqaqsoleikp\n", - "-2419.3901048473585 zimx xaxnpmomlgznthuirosggoxseysecuuvzpokthuigagaleqssitknhumhkqklouirekekistonzaguteploppesklndaqsbleixp\n", - "-2474.5684781718724 mimx kaxncmomygznghuieosgtoxsrysepuuvmpokghuitagayeqsfitkahumukqkyouieekexistbnzatuteclopceskyndadsblrixp\n", - "-2457.153123312861 miax kajncmcmyglnghiieoegtolsryeepuivmpakghiitasayeesfifkahimukckyoiieewexigtbnlatuheclapcegkynpadsplrijp\n", - "-2468.3422185960303 mijx kaancmlmygcnghrieovgtousryvepurvmprkghritajayensfiwkahrmuktkyorieenexiptbncatuqeclrpcepkyngadsylriap\n", - "-2475.5633993193696 mixx kamncmzmygonghfieohgtoisryhepufvmpdkghfitavayebsfiikahfmukfkyofieezexidtbnoatueecldpcedkynsadsmlrimp\n", - "-2480.8945020395313 sixx eamnimzmsgonmhfiyohgzoislyhevufvgpdkmhfinavaeebsziikghfmokfkeofiyezedidtvnoazueewldpiedksnsajsmllimp\n", - "-2452.697022413436 sivx eaonimxmsgqnmhdiyojgzogslyjevudvgpfkmhdinaxaeezszikkghdmokhkeodiyebedibtvnqazucewlfpiebksnuajsklliop\n", - "-2480.8945020395313 sixx eamnimzmsgonmhfiyohgzoislyhevufvgpdkmhfinavaeebsziikghfmokfkeofiyezedidtvnoazueewldpiedksnsajsmllimp\n", - "-2492.532158281712 sicx eahnimemsgjnmhkiyocgzonslycevukvgpykmhkinaqaeegszidkghkmokakeokiyeuediitvnjazujewlypieiksnnajsrllihp\n", - "-2362.3658801250235 sict eahrimeisgjrmhkeyockzonolycivukrgpyomhkenaqeeegozidoghkiokaoeokeyeuidiipvnjezujawlytieigsnnejsrhliht\n", - "-2322.5307442567478 sivt eaorimxisgqrmhdeyojkzogolyjivudrgpfomhdenaxeeezozikoghdiokhoeodeyebidibpvnqezucawlftiebgsnuejskhliot\n", - "-2350.7282238828434 sixt eamrimzisgormhfeyohkzoiolyhivufrgpdomhfenaveeeboziioghfiokfoeofeyezididpvnoezueawldtiedgsnsejsmhlimt\n", - "-2297.4994901694904 sist earrimuisgtrmhaeyomkzodolymivuargpiomhaenaaeeewozinoghaiokkoeoaeyeeidiypvntezuzawlitieygsnxejshhlirt\n", - "-2292.0830687531247 jist narrzmuibgtrdhaehomkqodouymimuarppiodhaewaaevewoiinoxhaixkkovoaeheeiuiypentequzaflitzeygbnxeashhuirt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2268.501934975766 wist aarrmmuiogtrqhaeuomkdodohymizuarcpioqhaejaaeiewovinokhaikkkoioaeueeihiyprnteduzaslitmeygonxenshhhirt\n", - "-2272.5835408918465 wiyt aalrmmaiognrqhgeuogkdojohygizugrcpcoqhgejaueiecovihokhgikkeoiogeueyihieprnnedufaslctmeegonrensnhhilt\n", - "-2245.2807997879136 xiyt zalrnmaingnrrhgetogkeojogygiaugrbpcorhgeiauejecouiholhgijkeojogeteyiiiepqnneeufarlctneegnnreosnhgilt\n", - "-2330.303127684479 xitt zaqrnmvingsrrhbetolkeoeogyliaubrbphorhbeiazejexouimolhbijkjojobetediiizpqnseeuaarlhtnezgnnweosihgiqt\n", - "-2386.6034239821365 sitt eaqrimvisgsrmhbeyolkzoeolylivubrgphomhbenazeeexozimoghbiokjoeobeyedidizpvnsezuaawlhtiezgsnwejsihliqt\n", - "-2167.1316841533935 silt eayrimnisgarmhteyotkzowolytivutrgppomhtenaheeepoziuoghtiokroeoteyelidirpvnaezusawlptiergsneejsahliyt\n", - "-2144.5761881692806 qilt gayrgmniugarkhteaotkxowonytitutrippokhtepahecepobiuoehtiqkrocoteaelibirpxnaexusaylptgerguneehsahniyt\n", - "-2144.036527459729 uilt cayrkmniqgarohtewotkbowojytixutreppoohtelahegepoxiuoihtimkrogotewelifirptnaebusaulptkergqneelsahjiyt\n", - "-2161.8005814332323 milt kayrcmniygarghteeotktoworytiputrmppoghtetaheyepofiuoahtiukroyoteeelixirpbnaetusaclptcergyneedsahriyt\n", - "-2123.389553544795 dilt tayrtmnihgarxhtenotkkowoaytigutrvppoxhtecahepepooiuorhtidkropotenelioirpknaekusallptterghneeusahaiyt\n", - "-2197.309845932138 pilt hayrfmnivgarjhtebotkwowooytisutrjppojhteqahebepociuodhtirkrobotebeliairpynaewusazlptfergvneegsahoiyt\n", - "-2399.3667405846404 pqlt hsyrfunivyarjptebgtkwwwooqtisctrjhpojpteqshebmpocauodptircrobwtebwliaqrpyfaewcsazdptfmrgvfeegaahoayt\n", - "-2363.772157389531 jqlt nsyrzunibyardptehgtkqwwouqtimctrphpodptewshevmpoiauoxptixcrovwtehwliuqrpefaeqcsafdptzmrgbfeeaaahuayt\n", - "-2367.9443851335045 aqlt wsyrqunikyarupteqgtkhwwodqtidctryhpouptefshemmporauooptigcromwteqwlilqrpnfaehcsaodptqmrgkfeeraahdayt\n", - "-2358.475363992837 bqlt vsyrrunijyarvptepgtkiwwocqtiectrxhpovpteeshenmpoqauopptifcronwtepwlimqrpmfaeicsandptrmrgjfeesaahcayt\n", - "-2369.1885788058967 sqlt esyriunisyarmpteygtkzwwolqtivctrghpomptensheempozauogptiocroewteywlidqrpvfaezcsawdptimrgsfeejaahlayt\n", - "-2308.6791027612203 zqlt xsyrpunilyartptergtkgwwoeqticctrzhpotptegshelmposauonptihcrolwterwlikqrpofaegcsapdptpmrglfeeqaaheayt\n", - "-2346.093422112229 uqlt csyrkuniqyaroptewgtkbwwojqtixctrehpooptelshegmpoxauoiptimcrogwtewwlifqrptfaebcsaudptkmrgqfeelaahjayt\n", - "-2308.6791027612203 zqlt xsyrpunilyartptergtkgwwoeqticctrzhpotptegshelmposauonptihcrolwterwlikqrpofaegcsapdptpmrglfeeqaaheayt\n", - "-2456.87707250929 zqlg xsyepunvlyaetptrrgtxgwwbeqtvcctezhpbtptrgshrlmpbsaubnptvhcrblwtrrwlvkqrcofargcsnpdpgpmrtlferqaaueayg\n", - "-2435.8004037190435 zwlg xmyepanvlsaetvtrratxgcwbektvcitezbpbtvtrgmhrlspbsuubnvtvhwrblctrrqlvkwrcozargisnpxpgpsrtlzerqgaueuyg\n", - "-2452.9934448992694 zalg xiyepenvloaetztrrwtxggwbegtvcmtezxpbtztrgihrlwpbsqubnztvhsrblgtrrmlvkarcovargmsnptpgpwrtlverqkaueqyg\n", - "-2490.407764250279 ualg ciyekenvqoaeoztrwwtxbgwbjgtvxmteexpboztrlihrgwpbxqubiztvmsrbggtrwmlvfarctvarbmsnutpgkwrtqverlkaujqyg\n", - "-2501.4915428626136 uflg cdyekjnvqjaeoetrwrtxblwbjbtvxrteespboetrldhrgbpbxlubietvmnrbgltrwhlvffrctqarbrsnuopgkbrtqqerlpaujlyg\n", - "-2541.1012009990745 hflg pdyexjnvdjaebetrjrtxolwbwbtvkrterspbbetrydhrtbpbklubvetvznrbtltrjhlvsfrcgqarorsnhopgxbrtdqerypauwlyg\n", - "-2536.075470622762 cflg udyesjnvijaewetrortxjlwbbbtvfrtewspbwetrddhrobpbplubqetvenrboltrohlvnfrclqarjrsnmopgsbrtiqertpaublyg\n", - "-2519.1702781399144 jflg ndyezjnvbjaedetrhrtxqlwbubtvmrtepspbdetrwdhrvbpbilubxetvxnrbvltrhhlvufrceqarqrsnfopgzbrtbqerapauulyg\n", - "-2514.0939362291215 jfli ndyczjnxbjacdetthrtvqlwdubttmrtgpspzdettwdhpvbpdiluzxetxxnrzvltthhltufreeqapqrspfopezbrvbqepapawulye\n", - "-2514.1792549253264 mfli kdyccjnxyjacgettertvtlwdrbttprtgmspzgetttdhpybpdfluzaetxunrzylttehltxfrebqaptrspcopecbrvyqepdpawrlye\n", - "-2519.510357645488 sfli edycijnxsjacmettyrtvzlwdlbttvrtggspzmettndhpebpdzluzgetxonrzelttyhltdfrevqapzrspwopeibrvsqepjpawllye\n", - "-2484.136162249614 ofli idycejnxwjaciettcrtvvlwdpbttrrtgkspziettrdhpabpddluzcetxsnrzalttchltzfrezqapvrspaopeebrvwqepfpawplye\n", - "-2341.014534412338 oflt idyrejniwjarietecrtkvlwopbtirrtrkspoieterdheabpodluocetisnroaltechlizfrpzqaevrsaaoptebrgwqeefpahplyt\n", - "-2370.972308391846 jflt ndyrzjnibjardetehrtkqlwoubtimrtrpspodetewdhevbpoiluoxetixnrovltehhliufrpeqaeqrsafoptzbrgbqeeapahulyt\n", - "-2355.508580639742 jklt nyyrzonibeardjtehmtkqqwouwtimwtrpnpodjtewyhevgpoiguoxjtixirovqtehcliukrpelaeqwsafjptzgrgbleeauahugyt\n", - "-2549.7629911522827 jkut nyprzowiberrdjcehmkkqqfouwkimwcrpngodjcewyyevgyoigloxjcixiiovqcehcciukapelreqwbafjgtzgagblveaujhugpt\n", - "-2480.9635758592394 jvut nnprzzwibtrrducehbkkqbfoulkimhcrpcgoducewnyevryoivloxucixxiovbcehrciuvapeareqhbafygtzragbaveafjhuvpt\n", - "-2476.551758365766 jvot nnvrzzqibtxrduwehbqkqbzoulqimhwrpcmoduwewneevrsoivroxuwixxoovbwehriiuvupeaxeqhvafymtzrugbabeafdhuvvt\n", - "-2476.551758365766 jvot nnvrzzqibtxrduwehbqkqbzoulqimhwrpcmoduwewneevrsoivroxuwixxoovbwehriiuvupeaxeqhvafymtzrugbabeafdhuvvt\n", - "-2451.895429069644 jvat nnjrzzcibtlrduiehbekqblouleimhirpcaoduiewnsevreoivfoxuiixxcovbiehrwiuvgpealeqhhafyatzrggbapeafphuvjt\n", - "-2457.31185048601 svat enjrizcistlrmuieybekzblolleivhirgcaomuiennseereozvfoguiioxcoebieyrwidvgpvalezhhawyatirggsapejfphlvjt\n", - "-2447.5246468664227 svvt enorizxistqrmudeybjkzbgolljivhdrgcfomudennxeerzozvkogudioxhoebdeyrbidvbpvaqezhcawyftirbgsauejfkhlvot\n", - "-2442.108225450056 jvvt nnorzzxibtqrdudehbjkqbgouljimhdrpcfodudewnxevrzoivkoxudixxhovbdehrbiuvbpeaqeqhcafyftzrbgbaueafkhuvot\n", - "-2439.8244368427813 jvet nnfrzzgibthrdumehbakqbpoulaimhmrpcwodumewnoevrioivboxumixxyovbmehrsiuvkpeaheqhlafywtzrkgbaleafthuvft\n", - "-2417.0769713627997 jvst nnrrzzuibttrduaehbmkqbdoulmimharpcioduaewnaevrwoivnoxuaixxkovbaehreiuvypeateqhzafyitzrygbaxeafhhuvrt\n", - "-2445.4404422071716 jvft nnerzzhibtgrdunehbzkqbqoulzimhnrpcvodunewnnevrjoivaoxunixxxovbnehrriuvlpeageqhmafyvtzrlgbakeafuhuvet\n", - "-2461.0745773867666 jeft neerzihibkgrddnehszkqkqouczimqnrptvoddnewenevajoimaoxdnixoxovknehiriuelpergeqqmafpvtzalgbrkeaouhumet\n", - "-2467.5295642492383 jeat nejrzicibklrddiehsekqklouceimqirptaoddiewesevaeoimfoxdiixocovkiehiwiuegperleqqhafpatzaggbrpeaophumjt\n", - "-2432.7111065423933 jest nerrziuibktrddaehsmkqkdoucmimqarptioddaeweaevawoimnoxdaixokovkaehieiueyperteqqzafpitzaygbrxeaohhumrt\n", - "-2438.1275279587594 sest eerriiuisktrmdaeysmkzkdolcmivqargtiomdaeneaeeawozmnogdaiookoekaeyieideypvrtezqzawpitiaygsrxejohhlmrt\n", - "-2386.8307653792867 gest qerrwiuiektradaeksmknkdoxcmijqarstioadaezeaesawolmnoudaiaokoskaekieireyphrtenqzaipitwaygerxexohhxmrt\n", - "-2446.305552382254 geot qevrwiqiekxradweksqknkzoxcqijqwrstmoadwezeeesasolmroudwiaoooskwekiiireuphrxenqvaipmtwaugerbexodhxmvt\n", - "-2455.016306612135 gtot qpvrwxqievxraswekdqknzzoxnqijfwrsemoaswezpeespsolxrouswiazooszwektiirtuphcxenfvaiamtwpugecbexddhxxvt\n", - "-2469.0500359556277 rtot fpvrhxqitvxrlswezdqkyzzomnqiufwrhemolsweopeedpsoaxrofswipzoodzweztiictupwcxeyfvaxamthpugtcbeiddhmxvt\n", - "-2413.6568548687414 rtyt fplrhxaitvnrlsgezdgkyzjomngiufgrhecolsgeopuedpcoaxhofsgipzeodzgeztyictepwcneyffaxacthpegtcreidnhmxlt\n", - "-2413.879265230997 rpyt ftlrhtaitznrlogezhgkyvjomrgiubgrhicologeotuedlcoabhofogipdeodvgezxyicpepwgneybfaxecthlegtgreiznhmblt\n", - "-2428.047141773308 upyt ctlrktaiqznroogewhgkbvjojrgixbgreicooogeltueglcoxbhoiogimdeogvgewxyifpeptgnebbfauectklegqgrelznhjblt\n", - "-2413.879265230997 rpyt ftlrhtaitznrlogezhgkyvjomrgiubgrhicologeotuedlcoabhofogipdeodvgezxyicpepwgneybfaxecthlegtgreiznhmblt\n", - "-2415.7681030711024 opyt itlretaiwznriogechgkvvjoprgirbgrkicoiogertuealcodbhocogisdeoavgecxyizpepzgnevbfaaectelegwgrefznhpblt\n", - "-2434.4339626350034 opet itfretgiwzhriomechakvvpoprairbmrkiwoiomertoealiodbbocomisdyoavmecxsizpkpzghevblaaewtelkgwglefzthpbft\n", - "-2446.713001337209 upet ctfrktgiqzhroomewhakbvpojraixbmreiwooomeltoeglioxbboiomimdyogvmewxsifpkptghebblauewtklkgqglelzthjbft\n", - "-2434.4339626350034 opet itfretgiwzhriomechakvvpoprairbmrkiwoiomertoealiodbbocomisdyoavmecxsizpkpzghevblaaewtelkgwglefzthpbft\n", - "-2500.7904309676683 optt itqretviwzsriobechlkvveoprlirbbrkihoiobertzealxodbmocobisdjoavbecxdizpzpzgsevbaaaehtelzgwgwefzihpbqt\n", - "-2491.8572663755335 oett ieqreiviwksridbecslkvkeopclirqbrkthoidberezeaaxodmmocdbisojoakbecidizezpzrsevqaaaphteazgwrwefoihpmqt\n", - "-2530.980805933835 oytt ikqrecviwqsrixbecylkveeopilirkbrkzhoixberkzeauxodsmocxbisujoaebecodizyzpzxsevkaaavhteuzgwxwefiihpsqt\n", - "-2542.815788184013 ogtt icqrekviwisrifbecqlkvmeopalirsbrkrhoifberczeacxodkmocfbismjoambecgdizgzpzpsevsaaanhteczgwpwefqihpkqt\n", - "-2563.80275410896 oggt icdrekiiwifrifoecqykvmropayirsorkruoifoercmeackodkzocfoismwoamoecgqizgmpzpfevsnaanutecmgwpjefqvhpkdt\n", - "-2517.5984588678057 ogut icprekwiwirrifcecqkkvmfopakirscrkrgoifcercyeacyodklocfcismioamcecgcizgapzprevsbaangtecagwpvefqjhpkpt\n", - "-2542.815788184013 ogtt icqrekviwisrifbecqlkvmeopalirsbrkrhoifberczeacxodkmocfbismjoambecgdizgzpzpsevsaaanhteczgwpwefqihpkqt\n", - "-2528.6490490046576 ohtt ibqrelviwhsrigbecplkvneopzlirtbrkqhoigberbzeadxodjmocgbisljoanbecfdizhzpzosevtaaamhtedzgwowefrihpjqt\n", - "-2491.7789277578668 ohmt ibxreloiwhzriguecpskvnxopzsirturkqooiguerbgeadqodjtocguislqoanuecfkizhspzozevttaamotedsgwodefrbhpjxt\n", - "-2309.17730917591 ohlt ibyrelniwharigtecptkvnwopztirttrkqpoigterbheadpodjuocgtislroantecflizhrpzoaevtsaamptedrgwoeefrahpjyt\n", - "-2131.757488757521 oilt iayremniwgarihtecotkvowopytirutrkppoihteraheaepodiuochtiskroaotecelizirpznaevusaalpteergwneefsahpiyt\n", - "-2167.1316841533935 silt eayrimnisgarmhteyotkzowolytivutrgppomhtenaheeepoziuoghtiokroeoteyelidirpvnaezusawlptiergsneejsahliyt\n", - "-2138.1341289596694 wilt aayrmmniogarqhteuotkdowohytizutrcppoqhtejaheiepoviuokhtikkroioteuelihirprnaedusaslptmergoneensahhiyt\n", - "-2197.309845932138 pilt hayrfmnivgarjhtebotkwowooytisutrjppojhteqahebepociuodhtirkrobotebeliairpynaewusazlptfergvneegsahoiyt\n", - "-2196.0161663282233 nilt jayrdmnixgarhhtedotkuowoqytiqutrlppohhtesahezepoeiuobhtitkrozotedeliyirpanaeuusablptdergxneeesahqiyt\n", - "-2354.747443188696 nift jaerdmhixggrhhnedozkuoqoqyziqunrlpvohhnesanezejoeiaobhnitkxozonederiyilpangeuumablvtdelgxnkeesuhqiet\n", - "-2315.1497462008047 bift vaerrmhijggrvhnepozkioqocyzieunrxpvovhneeanenejoqiaophnifkxononeperimilpmngeiumanlvtrelgjnkessuhciet\n", - "-2305.250129574895 iift oaerymhicggrchneiozkpoqovyzilunrqpvochnexaneuejojiaowhniykxouoneieritilpfngepumaglvtyelgcnkezsuhviet\n", - "-2282.1208304052634 dift taertmhihggrxhnenozkkoqoayzigunrvpvoxhnecanepejooiaorhnidkxoponenerioilpkngekumallvttelghnkeusuhaiet\n", - "-2274.566198434393 gift qaerwmhieggrahnekozknoqoxyzijunrspvoahnezanesejoliaouhniakxosonekeririlphngenumailvtwelgenkexsuhxiet\n", - "-2265.3534849691873 zift xaerpmhilggrthnerozkgoqoeyzicunrzpvothneganelejosiaonhnihkxolonererikilpongegumaplvtpelglnkeqsuheiet\n", - "-2236.990014124814 zist xarrpmuilgtrthaeromkgodoeymicuarzpiothaegaaelewosinonhaihkkoloaereeikiyponteguzaplitpeyglnxeqshheirt\n", - "-2262.0212682120723 zivt xaorpmxilgqrthderojkgogoeyjicudrzpfothdegaxelezosikonhdihkholoderebikibponqegucaplftpebglnueqskheiot\n", - "-2137.993314622722 kivt maoramxiagqrehdegojkrogotyjinudropfoehdevaxewezohikoyhdiwkhowodegebivibpdnqerucaelftaebganuebskhtiot\n", - "-2165.8506958960515 kirt masramtiagurehzegonkrocotyninuzropjoehzevabewevohiooyhziwklowozegefivixpdnueruyaeljtaexganyebsghtist\n", - "-2165.8506958960515 kirt masramtiagurehzegonkrocotyninuzropjoehzevabewevohiooyhziwklowozegefivixpdnueruyaeljtaexganyebsghtist\n", - "-2308.972323733325 kiri mascamtxagucehztgonvrocdtyntnuzgopjzehztvabpwevdhiozyhzxwklzwoztgeftvixednupruypeljeaexvanypbsgwtise\n", - "-2290.9021460795843 kiai majcamcxaglcehitgoevroldtyetnuigopazehitvaspweedhifzyhixwkczwoitgewtvigednlpruhpelaeaegvanppbspwtije\n", - "-2381.8602810459392 kiay majmamcnaglmehijgoefrolttyednuiwopajehijvaszweethifjyhinwkcjwoijgewdvigudnlzruhfelaoaeglanpzbspmtijo\n", - "-2147.7805182423103 kiat majramciaglrehiegoekrolotyeinuiropaoehievaseweeohifoyhiiwkcowoiegewivigpdnleruhaelataegganpebsphtijt\n", - "-2155.324912355907 kizt makrambiagmrehhegofkrokotyfinuhropboehhevatewedohigoyhhiwkdowohegexivifpdnmerugaelbtaefganqebsohtikt\n", - "-2168.5871568285597 kidt magramfiagirehlegobkroootybinulropxoehlevapewehohicoyhliwkzowolegetivijpdnierukaelxtaejganmebsshtigt\n", - "-2156.046787524597 kikt mazrammiagbrehsegoukrovotyuinusropqoehsevaieweoohivoyhsiwksowosegemiviqpdnberuraelqtaeqganfebszhtizt\n", - "-2147.7805182423103 kiat majramciaglrehiegoekrolotyeinuiropaoehievaseweeohifoyhiiwkcowoiegewivigpdnleruhaelataegganpebsphtijt\n", - "-2325.5200743654773 kias majsamchaglsehidgoelrolntyejnuiqopapehidvasfweenhifpyhihwkcpwoidgewjvigodnlfruhzelauaegfanpfbspgtiju\n", - "-2346.6914346733397 kiar majtamcgagltehicgoemrolmtyeknuipopaqehicvasgweemhifqyhigwkcqwoicgewkvigndnlgruhyelavaegeanpgbspftijv\n", - "-2324.53165253136 kipr mautamrgagwtehxcgopmroamtypknuxpoplqehxcvadgwetmhiqqyhxgwknqwoxcgehkvivndnwgruwyellvaeveanagbseftiuv\n", - "-2384.147929728996 kinr mawtampgagytehvcgormroymtyrknuvpopnqehvcvafgwermhisqyhvgwkpqwovcgejkvitndnygruuyelnvaeteancgbscftiwv\n", - "-2351.7164846218648 kinq mawuampfagyuehvbgornroyltyrlnuvoopnrehvbvafhwerlhisryhvfwkprwovbgejlvitmdnyhruuxelnwaetdanchbscetiww\n", - "-2344.6391083657018 kinf mawfampuagyfehvqgoryroyatyrwnuvdopncehvqvafswerahiscyhvuwkpcwovqgejwvitbdnysruumelnhaetsancsbscttiwh\n", - "-2305.0644944213213 kihf macfamjuagefehpqgoxyrosatyxwnupdoptcehpqvalswelahiycyhpuwkvcwopqgepwvinbdnesruomelthaensanisbswttich\n", - "-2318.371708593215 kijf maafamluagcfehrqgovyrouatyvwnurdoprcehrqvajswenahiwcyhruwktcworqgenwvipbdncsruqmelrhaepsangsbsyttiah\n", - "-2304.085363262557 kijm maayamlbagcyehrxgovrrouhtyvpnurkoprvehrxvajlwenhhiwvyhrbwktvworxgenpvipidnclruqtelraaepzanglbsyatiaa\n", - "-2300.4406620929876 kizm makyambbagmyehhxgofrrokhtyfpnuhkopbvehhxvatlwedhhigvyhhbwkdvwohxgexpvifidnmlrugtelbaaefzanqlbsoatika\n", - "-2310.9664456331293 kirm masyamtbaguyehzxgonrrochtynpnuzkopjvehzxvablwevhhiovyhzbwklvwozxgefpvixidnulruyteljaaexzanylbsgatisa\n", - "-2314.090778491534 kirp masvamteaguvehzagonorocktynmnuznopjsehzavabiwevkhiosyhzewklswozagefmvixldnuiruyweljxaexcanyibsgdtisx\n", - "-2303.5649949513927 kizp makvambeagmvehhagoforokktyfmnuhnopbsehhavatiwedkhigsyhhewkdswohagexmvifldnmirugwelbxaefcanqibsodtikx\n", - "-2320.6769301339145 kiop mavvamqeagxvehwagoqorozktyqmnuwnopmsehwavaeiweskhirsyhwewkoswowageimviuldnxiruvwelmxaeucanbibsddtivx\n", - "-2296.020600837793 kiap majvamceaglvehiagoeorolktyemnuinopasehiavasiweekhifsyhiewkcswoiagewmvigldnliruhwelaxaegcanpibspdtijx\n", - "-2292.8962679793885 kiam majyamcbaglyehixgoerrolhtyepnuikopavehixvaslweehhifvyhibwkcvwoixgewpvigidnllruhtelaaaegzanplbspatija\n", - "-2289.310646129797 kiae majgamctaglgehipgoezrolztyexnuicopadehipvastweezhifdyhitwkcdwoipgewxvigadnltruhlelaiaegranptbspstiji\n", - "-2313.9669754259194 kioe mavgamqtagxgehwpgoqzrozztyqxnuwcopmdehwpvaetweszhirdyhwtwkodwowpgeixviuadnxtruvlelmiaeuranbtbsdstivi\n", - "-2331.838942606167 kiof mavfamquagxfehwqgoqyrozatyqwnuwdopmcehwqvaeswesahircyhwuwkocwowqgeiwviubdnxsruvmelmhaeusanbsbsdttivh\n", - "-2361.4680894158473 kitf maqfamvuagsfehbqgolyroeatylwnubdophcehbqvazswexahimcyhbuwkjcwobqgedwvizbdnssruamelhhaezsanwsbsittiqh\n", - "-2361.4680894158473 kitf maqfamvuagsfehbqgolyroeatylwnubdophcehbqvazswexahimcyhbuwkjcwobqgedwvizbdnssruamelhhaezsanwsbsittiqh\n", - "-2361.4680894158473 kitf maqfamvuagsfehbqgolyroeatylwnubdophcehbqvazswexahimcyhbuwkjcwobqgedwvizbdnssruamelhhaezsanwsbsittiqh\n", - "-2404.714763157352 kitv maqpamvkagspehbggoliroeqtylgnubtophmehbgvazcwexqhimmyhbkwkjmwobggedgvizrdnscruacelhraezianwcbsijtiqr\n", - "-2374.4517740444694 kitu maqqamvjagsqehbfgoljroeptylhnubsophnehbfvazdwexphimnyhbjwkjnwobfgedhvizqdnsdruabelhsaezhanwdbsiitiqs\n", - "-2349.2344447282635 kiuu mapqamwjagrqehcfgokjrofptykhnucsopgnehcfvaydweyphilnyhcjwkinwocfgechviaqdnrdrubbelgsaeahanvdbsjitips\n", - "-2310.3790943190807 kivu maoqamxjagqqehdfgojjrogptyjhnudsopfnehdfvaxdwezphiknyhdjwkhnwodfgebhvibqdnqdrucbelfsaebhanudbskitios\n", - "-2297.395409690458 kivf maofamxuagqfehdqgojyrogatyjwnuddopfcehdqvaxswezahikcyhduwkhcwodqgebwvibbdnqsrucmelfhaebsanusbskttioh\n", - "-2279.5234425102108 kive maogamxtagqgehdpgojzrogztyjxnudcopfdehdpvaxtwezzhikdyhdtwkhdwodpgebxvibadnqtruclelfiaebranutbskstioi\n", - "-2350.816018142376 kivk maoaamxzagqaehdvgojtrogftyjrnudiopfxehdvvaxnwezfhikxyhdzwkhxwodvgebrvibgdnqnrucrelfcaebxanunbskytioc\n", - "-2368.1476158755627 kizk makaambzagmaehhvgoftrokftyfrnuhiopbxehhvvatnwedfhigxyhhzwkdxwohvgexrvifgdnmnrugrelbcaefxanqnbsoytikc\n", - "-2350.816018142376 kivk maoaamxzagqaehdvgojtrogftyjrnudiopfxehdvvaxnwezfhikxyhdzwkhxwodvgebrvibgdnqnrucrelfcaebxanunbskytioc\n", - "-2310.3790943190807 kivu maoqamxjagqqehdfgojjrogptyjhnudsopfnehdfvaxdwezphiknyhdjwkhnwodfgebhvibqdnqdrucbelfsaebhanudbskitios\n", - "-2285.3478402318237 kisu marqamujagtqehafgomjrodptymhnuasopinehafvaadwewphinnyhajwkknwoafgeehviyqdntdruzbelisaeyhanxdbshitirs\n", - "-2313.711311076196 kifu maeqamhjaggqehnfgozjroqptyzhnunsopvnehnfvandwejphianyhnjwkxnwonfgerhvilqdngdrumbelvsaelhankdbsuities\n", - "-2313.711311076196 kifu maeqamhjaggqehnfgozjroqptyzhnunsopvnehnfvandwejphianyhnjwkxnwonfgerhvilqdngdrumbelvsaelhankdbsuities\n", - "-2313.711311076196 kifu maeqamhjaggqehnfgozjroqptyzhnunsopvnehnfvandwejphianyhnjwkxnwonfgerhvilqdngdrumbelvsaelhankdbsuities\n", - "-2390.51750211155 kifo maewamhdaggwehnzgozproqjtyznnunmopvtehnzvanjwejjhiatyhndwkxtwonzgernvilkdngjrumvelvyaelbankjbsuctiey\n", - "-2427.0204212227104 kico mahwamedagjwehkzgocpronjtycnnukmopytehkzvaqjwegjhidtyhkdwkatwokzgeunviikdnjjrujvelyyaeibannjbsrctihy\n", - "-2451.6575250361566 kiqo matwamsdagvwehyzgooprobjtyonnuymopktehyzvacjweujhiptyhydwkmtwoyzgegnviwkdnvjruxvelkyaewbanzjbsfctity\n", - "-2362.1540312671764 kiso marwamudagtwehazgomprodjtymnnuamopitehazvaajwewjhintyhadwkktwoazgeenviykdntjruzveliyaeybanxjbshctiry\n", - "-2384.9014967471594 kieo mafwamgdaghwehmzgoapropjtyannummopwtehmzvaojweijhibtyhmdwkytwomzgesnvikkdnhjrulvelwyaekbanljbstctify\n", - "-2342.2649212774313 kiel mafzamgaaghzehmwgoasropgtyaqnumjopwwehmwvaomweighibwyhmawkywwomwgesqvikhdnhmrulselwbaekyanlmbstztifb\n", - "-2283.9074957635144 kieg mafeamgvagheehmrgoaxropbtyavnumeopwbehmrvaorweibhibbyhmvwkybwomrgesvvikcdnhrrulnelwgaektanlrbstutifg\n", - "-2313.393842849388 kimg maxeamovagzeehurgosxroxbtysvnuueopobehurvagrweqbhitbyhuvwkqbwourgekvviscdnzrrutnelogaestandrbsbutixg\n", - "-2326.026420239065 kicg maheamevagjeehkrgocxronbtycvnukeopybehkrvaqrwegbhidbyhkvwkabwokrgeuvviicdnjrrujnelygaeitannrbsrutihg\n", - "-2499.8506350600337 bicg vahermevjgjevhkrpocxionbcycveukexpybvhkreaqrnegbqidbphkvfkabnokrpeuvmiicmnjriujnnlygreitjnnrssrucihg\n", - "-2488.2129788178536 bixg vamermzvjgoevhfrpohxioibcyhveufexpdbvhfreavrnebbqiibphfvfkfbnofrpezvmidcmnoriuennldgredtjnsrssmucimg\n", - "-2506.4894278793904 eixg sameumzvggoeyhfrmohxloibzyhvhufeupdbyhfrbavrqebbniibshfvckfbqofrmezvpidcjnorluenkldguedtgnsrvsmuzimg\n", - "-2508.885790459131 eidg sageumfvggieyhlrmobxloobzybvhuleupxbyhlrbaprqehbnicbshlvckzbqolrmetvpijcjnirluknklxguejtgnmrvssuzigg\n", - "-2511.997300409043 yidg yageomfvmgieshlrsobxfoobfybvbuleapxbshlrhaprkehbticbmhlvikzbkolrsetvjijcpnirfuknqlxgoejtmnmrpssufigg\n", - "-2478.2273995169876 uidg cagekmfvqgieohlrwobxboobjybvxuleepxbohlrlaprgehbxicbihlvmkzbgolrwetvfijctnirbuknulxgkejtqnmrlssujigg\n", - "-2330.029429768917 uidt cagrkmfiqgirohlewobkbooojybixulrepxoohlelapegehoxicoihlimkzogolewetifijptniebukaulxtkejgqnmelsshjigt\n", - "-2301.827823883115 gidt qagrwmfiegirahlekobknoooxybijulrspxoahlezapeseholicouhliakzosoleketirijphnienukailxtwejgenmexsshxigt\n", - "-2271.233981677277 givt qaorwmxiegqrahdekojknogoxyjijudrspfoahdezaxesezolikouhdiakhosodekebiribphnqenucailftwebgenuexskhxiot\n", - "-2271.233981677277 givt qaorwmxiegqrahdekojknogoxyjijudrspfoahdezaxesezolikouhdiakhosodekebiribphnqenucailftwebgenuexskhxiot\n", - "-2281.0211852968646 giat qajrwmcieglrahiekoeknoloxyeijuirspaoahiezaseseeolifouhiiakcosoiekewirigphnlenuhailatweggenpexsphxijt\n", - "-2338.4794595843555 tiat dajrjmcirglrnhiexoekaolokyeiwuirfpaonhiemasefeeoyifohhiinkcofoiexewieigpunleauhavlatjeggrnpeksphkijt\n", - "-2346.0238536979546 tizt dakrjmbirgmrnhhexofkaokokyfiwuhrfpbonhhematefedoyigohhhinkdofohexexieifpunmeaugavlbtjefgrnqeksohkikt\n", - "-2338.618148317542 aizt wakrqmbikgmruhheqofkhokodyfiduhrypbouhhefatemedorigoohhigkdomoheqexilifpnnmehugaolbtqefgknqersohdikt\n", - "-2346.0238536979546 tizt dakrjmbirgmrnhhexofkaokokyfiwuhrfpbonhhematefedoyigohhhinkdofohexexieifpunmeaugavlbtjefgrnqeksohkikt\n", - "-2332.024472721884 tift daerjmhirggrnhnexozkaoqokyziwunrfpvonhnemanefejoyiaohhninkxofonexerieilpungeaumavlvtjelgrnkeksuhkiet\n", - "-2355.894814443367 timt daxrjmoirgzrnhuexoskaoxokysiwuurfpoonhuemagefeqoyitohhuinkqofouexekieispunzeautavlotjesgrndeksbhkixt\n", - "-2379.9114645140908 pimt haxrfmoivgzrjhueboskwoxooysisuurjpoojhueqagebeqocitodhuirkqobouebekiaispynzewutazlotfesgvndegsbhoixt\n", - "-2321.083247382619 piwt hanrfmyivgprjheeboikwohooyiisuerjpeojheeqawebeaocijodheirkgoboeebeaiaicpynpewudazletfecgvntegslhoint\n", - "-2321.083247382619 piwt hanrfmyivgprjheeboikwohooyiisuerjpeojheeqawebeaocijodheirkgoboeebeaiaicpynpewudazletfecgvntegslhoint\n", - "-2321.083247382619 piwt hanrfmyivgprjheeboikwohooyiisuerjpeojheeqawebeaocijodheirkgoboeebeaiaicpynpewudazletfecgvntegslhoint\n", - "-2268.349589619762 qiwt ganrgmyiugprkheeaoikxohonyiitueripeokheepaweceaobijoeheiqkgocoeeaeaibicpxnpexudayletgecguntehslhnint\n", - "-2290.905085603875 siwt eanrimyisgprmheeyoikzoholyiivuergpeomheenaweeeaozijogheiokgoeoeeyeaidicpvnpezudawletiecgsntejslhlint\n", - "-2321.083247382619 piwt hanrfmyivgprjheeboikwohooyiisuerjpeojheeqawebeaocijodheirkgoboeebeaiaicpynpewudazletfecgvntegslhoint\n", - "-2373.6852049382487 pijt haarfmlivgcrjhrebovkwouooyvisurrjprojhreqajebenociwodhrirktoborebeniaippyncewuqazlrtfepgvngegsyhoiat\n", - "-2376.211407001943 pibt hairfmdivgkrjhjebodkwomooydisujrjpzojhjeqarebefocieodhjirkbobojebeviaihpynkewuiazlztfehgvnoegsqhoiit\n", - "-2317.0356900294732 wibt aairmmdiogkrqhjeuodkdomohydizujrcpzoqhjejareiefovieokhjikkboiojeuevihihprnkeduiaslztmehgonoensqhhiit\n", - "-2280.844527969709 vibt bairlmdipgkrphjevodkcomoiydiyujrdpzophjekarehefowieojhjilkbohojevevigihpsnkecuiatlztlehgpnoemsqhiiit\n", - "-2285.1994082765877 virt basrlmtipgurphzevonkcocoiyniyuzrdpjophzekabehevowioojhzilklohozevefigixpsnuecuyatljtlexgpnyemsghiist\n", - "-2321.390570336351 wirt aasrmmtiogurqhzeuonkdocohynizuzrcpjoqhzejabeievoviookhzikkloiozeuefihixprnueduyasljtmexgonyensghhist\n", - "-2321.390570336351 wirt aasrmmtiogurqhzeuonkdocohynizuzrcpjoqhzejabeievoviookhzikkloiozeuefihixprnueduyasljtmexgonyensghhist\n", - "-2324.1270312688603 widt aagrmmfiogirqhleuobkdooohybizulrcpxoqhlejapeiehovicokhlikkzoioleuetihijprniedukaslxtmejgonmensshhigt\n", - "-2301.2022737938873 wiht aacrmmjiogerqhpeuoxkdosohyxizuprcptoqhpejaleieloviyokhpikkvoiopeuepihinprneeduoaslttmengonienswhhict\n", - "-2324.8687262674493 miht kacrcmjiygerghpeeoxktosoryxipuprmptoghpetaleyelofiyoahpiukvoyopeeepixinpbneetuoaclttcengyniedswhrict\n", - "-2345.3971211626813 mixt kamrcmziygorghfeeohktoioryhipufrmpdoghfetaveyebofiioahfiukfoyofeeezixidpbnoetueacldtcedgynsedsmhrimt\n", - "-2361.402968081232 yixt yamromzimgorshfesohkfoiofyhibufrapdoshfehavekebotiiomhfiikfokofesezijidppnoefueaqldtoedgmnsepsmhfimt\n", - "-2177.8064283517824 yilt yayromnimgarshtesotkfowofytibutrapposhtehahekepotiuomhtiikrokoteselijirppnaefusaqlptoergmneepsahfiyt\n", - "-2156.4184693403354 bilt vayrrmnijgarvhtepotkiowocytieutrxppovhteeahenepoqiuophtifkronotepelimirpmnaeiusanlptrergjneessahciyt\n", - "-2167.1316841533935 silt eayrimnisgarmhteyotkzowolytivutrgppomhtenaheeepoziuoghtiokroeoteyelidirpvnaezusawlptiergsneejsahliyt\n", - "-2165.8874904810023 ailt wayrqmnikgaruhteqotkhowodytidutryppouhtefahemeporiuoohtigkromoteqelilirpnnaehusaolptqergkneersahdiyt\n", - "-2197.309845932138 pilt hayrfmnivgarjhtebotkwowooytisutrjppojhteqahebepociuodhtirkrobotebeliairpynaewusazlptfergvneegsahoiyt\n", - "-2144.5761881692806 qilt gayrgmniugarkhteaotkxowonytitutrippokhtepahecepobiuoehtiqkrocoteaelibirpxnaexusaylptgerguneehsahniyt\n", - "-2183.6461855961866 hilt payrxmnidgarbhtejotkoowowytikutrrppobhteyahetepokiuovhtizkrototejelisirpgnaeousahlptxergdneeysahwiyt\n", - "-2183.6461855961866 hilt payrxmnidgarbhtejotkoowowytikutrrppobhteyahetepokiuovhtizkrototejelisirpgnaeousahlptxergdneeysahwiyt\n", - "-2173.293195861414 tilt dayrjmnirgarnhtexotkaowokytiwutrfpponhtemahefepoyiuohhtinkrofotexelieirpunaeausavlptjergrneeksahkiyt\n", - "-2165.8874904810023 ailt wayrqmnikgaruhteqotkhowodytidutryppouhtefahemeporiuoohtigkromoteqelilirpnnaehusaolptqergkneersahdiyt\n", - "-2165.8874904810023 ailt wayrqmnikgaruhteqotkhowodytidutryppouhtefahemeporiuoohtigkromoteqelilirpnnaehusaolptqergkneersahdiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-2172.0156850972226 kllt mxyrapniadarektegltkrrwotvtinxtrompoektevxhewhpohfuoyktiwhrowrtegblivlrpdkaerxsaeiptahrgakeebvahtfyt\n", - "-2107.5881571290415 kvlt mnyrazniatareutegbtkrbwotltinhtrocpoeutevnhewrpohvuoyutiwxrowbtegrlivvrpdaaerhsaeyptarrgaaeebfahtvyt\n", - "-2107.5881571290415 kvlt mnyrazniatareutegbtkrbwotltinhtrocpoeutevnhewrpohvuoyutiwxrowbtegrlivvrpdaaerhsaeyptarrgaaeebfahtvyt\n", - "-2175.3580337895905 kult moyrayniauarettegctkrawotmtingtrodpoettevohewqpohwuoyttiwyrowategslivurpdbaergsaezptaqrgabeebeahtwyt\n", - "-2138.9854633207647 kmlt mwyraqniacareltegktkrswotutinytrolpoeltevwhewipoheuoyltiwgrowstegalivmrpdjaerysaehptairgajeebwahteyt\n", - "-2236.6425159980818 knlt mvyrarniabaremtegjtkrtwotttinztrokpoemtevvhewjpohduoymtiwfrowttegzlivnrpdiaerzsaegptajrgaieebxahtdyt\n", - "-2135.9447045318793 kxlt mlyrabniararewtegztkrdwotjtinjtroapoewtevlhewtpohtuoywtiwvrowdtegplivxrpdyaerjsaewptatrgayeebhahttyt\n", - "-2135.9447045318793 kxlt mlyrabniararewtegztkrdwotjtinjtroapoewtevlhewtpohtuoywtiwvrowdtegplivxrpdyaerjsaewptatrgayeebhahttyt\n", - "-2135.9447045318793 kxlt mlyrabniararewtegztkrdwotjtinjtroapoewtevlhewtpohtuoywtiwvrowdtegplivxrpdyaerjsaewptatrgayeebhahttyt\n", - "-2176.3875724220807 kklt myyraoniaearejtegmtkrqwotwtinwtronpoejtevyhewgpohguoyjtiwirowqtegclivkrpdlaerwsaejptagrgaleebuahtgyt\n", - "-2176.3875724220807 kklt myyraoniaearejtegmtkrqwotwtinwtronpoejtevyhewgpohguoyjtiwirowqtegclivkrpdlaerwsaejptagrgaleebuahtgyt\n", - "-2175.3580337895905 kult moyrayniauarettegctkrawotmtingtrodpoettevohewqpohwuoyttiwyrowategslivurpdbaergsaezptaqrgabeebeahtwyt\n", - "-2175.3580337895905 kult moyrayniauarettegctkrawotmtingtrodpoettevohewqpohwuoyttiwyrowategslivurpdbaergsaezptaqrgabeebeahtwyt\n", - "-2191.851300174185 kflt mdyrajniajareetegrtkrlwotbtinrtrospoeetevdhewbpohluoyetiwnrowlteghlivfrpdqaerrsaeoptabrgaqeebpahtlyt\n", - "-2150.327382064644 kjlt mzyranniafareitegntkrpwotxtinvtroopoeitevzhewfpohhuoyitiwjrowptegdlivjrpdmaervsaekptafrgameebtahthyt\n", - "-2145.7865120451243 kblt mhyrafnianareategvtkrhwotftinntrowpoeatevhhewxpohpuoyatiwrrowhtegllivbrpduaernsaesptaxrgaueeblahtpyt\n", - "-2153.137205975372 kslt mqyrawniawarertegetkrywototinetrofpoertevqhewopohyuoyrtiwarowytegulivsrpddaeresaebptaorgadeebcahtyyt\n", - "-2175.3580337895905 kult moyrayniauarettegctkrawotmtingtrodpoettevohewqpohwuoyttiwyrowategslivurpdbaergsaezptaqrgabeebeahtwyt\n", - "-2189.184743630036 kzlt mjyradniapareytegxtkrfwothtinltroypoeytevjhewvpohruoyytiwtrowftegnlivzrpdwaerlsaeuptavrgaweebjahtryt\n", - "-2150.327382064644 kjlt mzyranniafareitegntkrpwotxtinvtroopoeitevzhewfpohhuoyitiwjrowptegdlivjrpdmaervsaekptafrgameebtahthyt\n", - "-2148.443988231906 kclt mgyragniamarebtegutkriwotetinotrovpoebtevghewypohouoybtiwqrowitegklivcrpdtaerosaerptayrgateebmahtoyt\n", - "-2292.985478842612 kclj mgybagnyamabebtuguturiwetetsnothovpyebtuvghowypehouyybtywqrywitugklsvcrfdtaorosqerpdayrwateobmaxtoyd\n", - "-2318.7223047278194 kglj mcybaknyaiabeftugqturmwetatsnsthorpyeftuvchowcpehkuyyftywmrywmtugglsvgrfdpaorssqenpdacrwapeobqaxtkyd\n", - "-2308.1159709923313 kwlj mmybaanyasabevtugaturcwetktsnithobpyevtuvmhowspehuuyyvtywwrywctugqlsvwrfdzaorisqexpdasrwazeobgaxtuyd\n", - "-2306.887322477641 kylj mkybacnyaqabextugyturewetitsnkthozpyextuvkhowupehsuyyxtywurywetugolsvyrfdxaorksqevpdaurwaxeobiaxtsyd\n", - "-2411.537802598646 kylo mkywacndaqawextzgytprewjtitnnktmozptextzvkhjwupjhsutyxtdwurtwetzgolnvyrkdxajrksvevpyaurbaxejbiactsyy\n", - "-2310.5859144624183 kylp mkyvacneaqavextagytorewktitmnktnozpsextavkhiwupkhsusyxtewurswetagolmvyrldxairkswevpxaurcaxeibiadtsyx\n", - "-2303.8759597544226 kyle mkygacntaqagextpgytzrewztitxnktcozpdextpvkhtwupzhsudyxttwurdwetpgolxvyradxatrkslevpiaurraxetbiastsyi\n", - "-2310.5859144624183 kylp mkyvacneaqavextagytorewktitmnktnozpsextavkhiwupkhsusyxtewurswetagolmvyrldxairkswevpxaurcaxeibiadtsyx\n", - "-2324.6276550175653 kklp myyvaoneaeavejtagmtorqwktwtmnwtnonpsejtavyhiwgpkhgusyjtewirswqtagclmvkrldlairwswejpxagrcaleibuadtgyx\n", - "-2298.5674646601287 kjlp mzyvanneafaveitagntorpwktxtmnvtnoopseitavzhiwfpkhhusyitewjrswptagdlmvjrldmairvswekpxafrcameibtadthyx\n", - "-2295.443131801723 kjlm mzyyannbafayeitxgntrrpwhtxtpnvtkoopveitxvzhlwfphhhuvyitbwjrvwptxgdlpvjridmalrvstekpaafrzamelbtaathya\n", - "-2336.967049911266 kflm mdyyajnbajayeetxgrtrrlwhtbtpnrtkospveetxvdhlwbphhluvyetbwnrvwltxghlpvfridqalrrsteopaabrzaqelbpaatlya\n", - "-2398.4066954361692 kfll mdyzajnaajazeetwgrtsrlwgtbtqnrtjospweetwvdhmwbpghluwyetawnrwwltwghlqvfrhdqamrrsseopbabryaqembpaztlyb\n", - "-2398.4066954361692 kfll mdyzajnaajazeetwgrtsrlwgtbtqnrtjospweetwvdhmwbpghluwyetawnrwwltwghlqvfrhdqamrrsseopbabryaqembpaztlyb\n", - "-2380.7823431354814 kfld mdyhajnsajaheetogrtarlwytbtynrtbospeeetovdhuwbpyhlueyetswnrewltoghlyvfrzdqaurrskeopjabrqaqeubpartlyj\n", - "-2339.258425025942 kjld mzyhannsafaheitogntarpwytxtynvtboopeeitovzhuwfpyhhueyitswjrewptogdlyvjrzdmaurvskekpjafrqameubtarthyj\n", - "-2312.15333526993 keld meyhainsakahedtogstarkwytctynqtbotpeedtovehuwapyhmueydtsworewktogilyverzdraurqskeppjaarqareuboartmyj\n", - "-2345.2628175333007 kelc meyiainrakaiedtngstbrkwxtctznqtaotpfedtnvehvwapxhmufydtrworfwktngilzverydravrqsjeppkaarparevboaqtmyk\n", - "-2357.3020551122636 kely meymainnakamedtjgstfrkwttctdnqtwotpjedtjvehzwapthmujydtnworjwktjgildverudrazrqsfeppoaarlarezboamtmyo\n", - "-2357.3020551122636 kely meymainnakamedtjgstfrkwttctdnqtwotpjedtjvehzwapthmujydtnworjwktjgildverudrazrqsfeppoaarlarezboamtmyo\n", - "-2300.9618484318016 kels meysainhakasedtdgstlrkwntctjnqtqotppedtdvehfwapnhmupydthworpwktdgiljverodrafrqszeppuaarfarefboagtmyu\n", - "-2313.684260655047 kxls mlysabnharasewtdgztlrdwntjtjnjtqoappewtdvlhfwtpnhtupywthwvrpwdtdgpljvxrodyafrjszewpuatrfayefbhagttyu\n", - "-2351.9203702402806 kgls mcysaknhaiaseftdgqtlrmwntatjnstqorppeftdvchfwcpnhkupyfthwmrpwmtdggljvgrodpafrsszenpuacrfapefbqagtkyu\n", - "-2160.333810642535 kils maysamnhagasehtdgotlrowntytjnutqopppehtdvahfwepnhiupyhthwkrpwotdgeljvirodnafruszelpuaerfanefbsagtiyu\n", - "-2125.7158823566438 kili maycamnxagacehttgotvrowdtyttnutgoppzehttvahpwepdhiuzyhtxwkrzwottgeltvirednapruspelpeaervanepbsawtiye\n", - "-2124.124382406858 kile maygamntagagehtpgotzrowztytxnutcoppdehtpvahtwepzhiudyhttwkrdwotpgelxviradnatruslelpiaerranetbsastiyi\n", - "-2307.720922136307 kixe mamgamztagogehfpgohzroiztyhxnufcopddehfpvavtwebzhiidyhftwkfdwofpgezxvidadnotrueleldiaedranstbsmstimi\n", - "-2325.5928893165546 kixf mamfamzuagofehfqgohyroiatyhwnufdopdcehfqvavswebahiicyhfuwkfcwofqgezwvidbdnosruemeldhaedsanssbsmttimh\n", - "-2340.5064726589867 kiif mabfamkuagdfehqqgowyrotatywwnuqdopscehqqvakswemahixcyhquwkucwoqqgeowviobdndsrupmelshaeosanhsbsxttibh\n", - "-2297.395409690458 kivf maofamxuagqfehdqgojyrogatyjwnuddopfcehdqvaxswezahikcyhduwkhcwodqgebwvibbdnqsrucmelfhaebsanusbskttioh\n", - "-2344.548709884706 kivl maozamxaagqzehdwgojsroggtyjqnudjopfwehdwvaxmwezghikwyhdawkhwwodwgebqvibhdnqmrucselfbaebyanumbskztiob\n", - "-2384.3838457529823 kicl mahzameaagjzehkwgocsrongtycqnukjopywehkwvaqmwegghidwyhkawkawwokwgeuqviihdnjmrujselybaeiyannmbsrztihb\n", - "-2355.5680066141667 kics mahsamehagjsehkdgoclronntycjnukqopypehkdvaqfwegnhidpyhkhwkapwokdgeujviiodnjfrujzelyuaeifannfbsrgtihu\n", - "-2343.590252019218 kirs massamthagusehzdgonlrocntynjnuzqopjpehzdvabfwevnhiopyhzhwklpwozdgefjvixodnufruyzeljuaexfanyfbsggtisu\n", - "-2296.0169740527363 kirx masnamtmagunehzigongrocstynenuzvopjkehzivabawevshiokyhzmwklkwozigefevixtdnuaruyeeljpaexkanyabsgltisp\n", - "-2236.5339341265344 kiwx mannamymagpneheigoigrohstyienuevopekeheivawaweashijkyhemwkgkwoeigeaevictdnparudeelepaeckantabslltinp\n", - "-2271.4918095365233 kifx maenamhmaggnehnigozgroqstyzenunvopvkehnivanawejshiakyhnmwkxkwonigereviltdngarumeelvpaelkankabsultiep\n", - "-2277.946796398995 kiax majnamcmaglnehiigoegrolstyeenuivopakehiivasaweeshifkyhimwkckwoiigewevigtdnlaruheelapaegkanpabspltijp\n", - "-2308.0324899822817 kiaa majkamcpaglkehilgoedrolvtyebnuiyopahehilvasxweevhifhyhipwkchwoilgewbvigwdnlxruhhelamaegnanpxbspotijm\n", - "-2289.310646129797 kiae majgamctaglgehipgoezrolztyexnuicopadehipvastweezhifdyhitwkcdwoipgewxvigadnltruhlelaiaegranptbspstiji\n", - "-2296.8550402433966 kize makgambtagmgehhpgofzrokztyfxnuhcopbdehhpvattwedzhigdyhhtwkddwohpgexxvifadnmtruglelbiaefranqtbsostiki\n", - "-2307.3808237835383 kire masgamttagugehzpgonzrocztynxnuzcopjdehzpvabtwevzhiodyhztwkldwozpgefxvixadnutruyleljiaexranytbsgstisi\n", - "-2357.26136575934 kirh masdamtwagudehzsgonwrocctynunuzfopjaehzsvabqwevchioayhzwwklawozsgefuvixddnuqruyoeljfaexuanyqbsgvtisf\n", - "-2308.972323733325 kiri mascamtxagucehztgonvrocdtyntnuzgopjzehztvabpwevdhiozyhzxwklzwoztgeftvixednupruypeljeaexvanypbsgwtise\n", - "-2361.2698606652466 kirn masxamtcaguxehzygonqrocitynonuzlopjuehzyvabkwevihiouyhzcwkluwozygefovixjdnukruyueljzaexaanykbsgbtisz\n", - "-2324.314197008435 kirz maslamtoagulehzkgonerocutyncnuzxopjiehzkvabywevuhioiyhzowkliwozkgefcvixvdnuyruygeljnaexmanyybsgntisn\n", - "-2310.3921865067573 kirj masbamtyagubehzugonurocetynsnuzhopjyehzuvabowevehioyyhzywklywozugefsvixfdnuoruyqeljdaexwanyobsgxtisd\n", - "-2326.102667636023 kira maskamtpagukehzlgondrocvtynbnuzyopjhehzlvabxwevvhiohyhzpwklhwozlgefbvixwdnuxruyheljmaexnanyxbsgotism\n", - "-2326.102667636023 kira maskamtpagukehzlgondrocvtynbnuzyopjhehzlvabxwevvhiohyhzpwklhwozlgefbvixwdnuxruyheljmaexnanyxbsgotism\n", - "-2305.914371093558 kiha mackamjpagekehplgoxdrosvtyxbnupyopthehplvalxwelvhiyhyhppwkvhwoplgepbvinwdnexruoheltmaennanixbswoticm\n", - "-2318.048179049944 kihu macqamjjageqehpfgoxjrosptyxhnupsoptnehpfvaldwelphiynyhpjwkvnwopfgephvinqdnedruobeltsaenhanidbswitics\n", - "-2379.742162157215 kihy macmamjnagemehpjgoxfrosttyxdnupwoptjehpjvalzwelthiyjyhpnwkvjwopjgepdvinudnezruofeltoaenlanizbswmtico\n", - "-2293.860369101653 kihg maceamjvageeehprgoxxrosbtyxvnupeoptbehprvalrwelbhiybyhpvwkvbwoprgepvvincdnerruoneltgaentanirbswuticg\n", - "-2303.5228821039755 kizg makeambvagmeehhrgofxrokbtyfvnuheopbbehhrvatrwedbhigbyhhvwkdbwohrgexvvifcdnmrrugnelbgaeftanqrbsoutikg\n", - "-2303.5228821039755 kizg makeambvagmeehhrgofxrokbtyfvnuheopbbehhrvatrwedbhigbyhhvwkdbwohrgexvvifcdnmrrugnelbgaeftanqrbsoutikg\n", - "-2333.0644684790764 kizs maksambhagmsehhdgoflrokntyfjnuhqopbpehhdvatfwednhigpyhhhwkdpwohdgexjvifodnmfrugzelbuaeffanqfbsogtiku\n", - "-2333.7863436477646 kiks mazsammhagbsehsdgoulrovntyujnusqopqpehsdvaifweonhivpyhshwkspwosdgemjviqodnbfrurzelquaeqfanffbszgtizu\n", - "-2358.695556333839 kikv mazpammkagbpehsggouirovqtyugnustopqmehsgvaicweoqhivmyhskwksmwosggemgviqrdnbcrurcelqraeqianfcbszjtizr\n", - "-2304.2868701200805 kikp mazvammeagbvehsagouorovktyumnusnopqsehsavaiiweokhivsyhsewksswosagemmviqldnbirurwelqxaeqcanfibszdtizx\n", - "-2313.4359556968047 kimp maxvamoeagzvehuagosoroxktysmnuunoposehuavagiweqkhitsyhuewkqswouagekmvisldnzirutweloxaescandibsbdtixx\n", - "-2306.7260009888087 kime maxgamotagzgehupgoszroxztysxnuucopodehupvagtweqzhitdyhutwkqdwoupgekxvisadnztrutleloiaesrandtbsbstixi\n", - "-2297.576915412085 kike mazgammtagbgehspgouzrovztyuxnuscopqdehspvaitweozhivdyhstwksdwospgemxviqadnbtrurlelqiaeqranftbszstizi\n", - "-2300.4997414129666 kije maagamltagcgehrpgovzrouztyvxnurcoprdehrpvajtwenzhiwdyhrtwktdworpgenxvipadnctruqlelriaeprangtbsystiai\n", - "-2287.1925272410735 kihe macgamjtagegehppgoxzrosztyxxnupcoptdehppvaltwelzhiydyhptwkvdwoppgepxvinadnetruoleltiaenranitbswstici\n", - "-2287.1925272410735 kihe macgamjtagegehppgoxzrosztyxxnupcoptdehppvaltwelzhiydyhptwkvdwoppgepxvinadnetruoleltiaenranitbswstici\n", - "-2297.576915412085 kike mazgammtagbgehspgouzrovztyuxnuscopqdehspvaitweozhivdyhstwksdwospgemxviqadnbtrurlelqiaeqranftbszstizi\n", - "-2301.162537261676 kikm mazyammbagbyehsxgourrovhtyupnuskopqvehsxvailweohhivvyhsbwksvwosxgempviqidnblrurtelqaaeqzanflbszatiza\n", - "-2301.162537261676 kikm mazyammbagbyehsxgourrovhtyupnuskopqvehsxvailweohhivvyhsbwksvwosxgempviqidnblrurtelqaaeqzanflbszatiza\n", - "-2290.778149090664 kihm macyamjbageyehpxgoxrroshtyxpnupkoptvehpxvallwelhhiyvyhpbwkvvwopxgeppvinidnelruoteltaaenzanilbswatica\n", - "-2262.1594161886237 kiym malyamabagnyehgxgogrrojhtygpnugkopcvehgxvaulwechhihvyhgbwkevwogxgeypvieidnnlruftelcaaeezanrlbsnatila\n", - "-2247.209944608231 kiyx malnamamagnnehgigoggrojstygenugvopckehgivauawecshihkyhgmwkekwogigeyevietdnnarufeelcpaeekanrabsnltilp\n", - "-2291.662093745858 kibx mainamdmagknehjigodgromstydenujvopzkehjivarawefshiekyhjmwkbkwojigevevihtdnkaruieelzpaehkanoabsqltiip\n", - "-2306.0373061998794 kibj maibamdyagkbehjugodurometydsnujhopzyehjuvarowefehieyyhjywkbywojugevsvihfdnkoruiqelzdaehwanoobsqxtiid\n", - "-2291.662093745858 kibx mainamdmagknehjigodgromstydenujvopzkehjivarawefshiekyhjmwkbkwojigevevihtdnkaruieelzpaehkanoabsqltiip\n", - "-2265.8758041721326 kiex mafnamgmaghnehmigoagropstyaenumvopwkehmivaoaweishibkyhmmwkykwomigeseviktdnharuleelwpaekkanlabstltifp\n", - "-2277.946796398995 kiax majnamcmaglnehiigoegrolstyeenuivopakehiivasaweeshifkyhimwkckwoiigewevigtdnlaruheelapaegkanpabspltijp\n", - "-2277.946796398995 kiax majnamcmaglnehiigoegrolstyeenuivopakehiivasaweeshifkyhimwkckwoiigewevigtdnlaruheelapaegkanpabspltijp\n", - "-2277.946796398995 kiax majnamcmaglnehiigoegrolstyeenuivopakehiivasaweeshifkyhimwkckwoiigewevigtdnlaruheelapaegkanpabspltijp\n", - "-2286.2130656812824 kikx maznammmagbnehsigougrovstyuenusvopqkehsivaiaweoshivkyhsmwkskwosigemeviqtdnbarureelqpaeqkanfabszltizp\n", - "-2296.0169740527363 kirx masnamtmagunehzigongrocstynenuzvopjkehzivabawevshiokyhzmwklkwozigefevixtdnuaruyeeljpaexkanyabsgltisp\n", - "-2112.7605326760536 kilx maynamnmaganehtigotgrowstytenutvoppkehtivahawepshiukyhtmwkrkwotigelevirtdnaaruseelppaerkaneabsaltiyp\n", - "-2112.7605326760536 kilx maynamnmaganehtigotgrowstytenutvoppkehtivahawepshiukyhtmwkrkwotigelevirtdnaaruseelppaerkaneabsaltiyp\n", - "-2112.7605326760536 kilx maynamnmaganehtigotgrowstytenutvoppkehtivahawepshiukyhtmwkrkwotigelevirtdnaaruseelppaerkaneabsaltiyp\n", - "-2141.057755631755 kilz maylamnoagalehtkgoterowutytcnutxoppiehtkvahywepuhiuiyhtowkriwotkgelcvirvdnayrusgelpnaermaneybsantiyn\n", - "-2130.8343371148544 kilp mayvamneagavehtagotorowktytmnutnoppsehtavahiwepkhiusyhtewkrswotagelmvirldnairuswelpxaercaneibsadtiyx\n", - "-2149.073725843268 kilq mayuamnfagauehtbgotnrowltytlnutoopprehtbvahhweplhiuryhtfwkrrwotbgellvirmdnahrusxelpwaerdanehbsaetiyw\n", - "-2149.073725843268 kilq mayuamnfagauehtbgotnrowltytlnutoopprehtbvahhweplhiuryhtfwkrrwotbgellvirmdnahrusxelpwaerdanehbsaetiyw\n", - "-2130.7922242674363 kilg mayeamnvagaeehtrgotxrowbtytvnuteoppbehtrvahrwepbhiubyhtvwkrbwotrgelvvircdnarrusnelpgaertanerbsautiyg\n", - "-2141.057755631755 kilz maylamnoagalehtkgoterowutytcnutxoppiehtkvahywepuhiuiyhtowkriwotkgelcvirvdnayrusgelpnaermaneybsantiyn\n", - "-2154.9800342157278 kilu mayqamnjagaqehtfgotjrowptythnutsoppnehtfvahdwepphiunyhtjwkrnwotfgelhvirqdnadrusbelpsaerhanedbsaitiys\n", - "-2154.9800342157278 kilu mayqamnjagaqehtfgotjrowptythnutsoppnehtfvahdwepphiunyhtjwkrnwotfgelhvirqdnadrusbelpsaerhanedbsaitiys\n", - "-2195.4169580390194 kilk mayaamnzagaaehtvgottrowftytrnutioppxehtvvahnwepfhiuxyhtzwkrxwotvgelrvirgdnanrusrelpcaerxanenbsaytiyc\n", - "-2195.4169580390194 kilk mayaamnzagaaehtvgottrowftytrnutioppxehtvvahnwepfhiuxyhtzwkrxwotvgelrvirgdnanrusrelpcaerxanenbsaytiyc\n", - "-2130.7922242674363 kilg mayeamnvagaeehtrgotxrowbtytvnuteoppbehtrvahrwepbhiubyhtvwkrbwotrgelvvircdnarrusnelpgaertanerbsautiyg\n", - "-2280.131016286582 ktlg mpyeaxnvavaeestrgdtxrzwbtntvnfteoepbestrvphrwppbhxubystvwzrbwztrgtlvvtrcdcarrfsneapgaprtacerbdautxyg\n", - "-2280.3534266488386 kplg mtyeatnvazaeeotrghtxrvwbtrtvnbteoipbeotrvthrwlpbhbubyotvwdrbwvtrgxlvvprcdgarrbsneepgalrtagerbzautbyg\n", - "-2298.63492822467 kplq mtyuatnfazaueotbghtnrvwltrtlnbtooipreotbvthhwlplhburyotfwdrrwvtbgxllvprmdgahrbsxeepwalrdagehbzaetbyw\n", - "-2290.6189580131554 kplz mtylatnoazaleotkghtervwutrtcnbtxoipieotkvthywlpuhbuiyotowdriwvtkgxlcvprvdgayrbsgeepnalrmageybzantbyn\n", - "-2280.3534266488386 kplg mtyeatnvazaeeotrghtxrvwbtrtvnbteoipbeotrvthrwlpbhbubyotvwdrbwvtrgxlvvprcdgarrbsneepgalrtagerbzautbyg\n", - "-2271.420262056701 kelg meyeainvakaeedtrgstxrkwbtctvnqteotpbedtrvehrwapbhmubydtvworbwktrgilvvercdrarrqsneppgaartarerboautmyg\n", - "-2289.7017636325318 kelq meyuainfakauedtbgstnrkwltctlnqtootpredtbvehhwaplhmurydtfworrwktbgillvermdrahrqsxeppwaardarehboaetmyw\n", - "-2305.464934644663 kmlq mwyuaqnfacaueltbgktnrswltutlnytoolpreltbvwhhwiplheuryltfwgrrwstbgallvmrmdjahrysxehpwairdajehbwaeteyw\n", - "-2289.7017636325318 kelq meyuainfakauedtbgstnrkwltctlnqtootpredtbvehhwaplhmurydtfworrwktbgillvermdrahrqsxeppwaardarehboaetmyw\n", - "-2267.7637829193404 kelj meybainyakabedtugsturkwetctsnqthotpyedtuvehowapehmuyydtyworywktugilsverfdraorqsqeppdaarwareoboaxtmyd\n", - "-2297.678696586078 kslj mqybawnyawabertugeturywetotsnethofpyertuvqhowopehyuyyrtywarywytugulsvsrfddaoresqebpdaorwadeobcaxtyyd\n", - "-2252.129647739747 kvlj mnybaznyatabeutugbturbwetltsnhthocpyeutuvnhowrpehvuyyutywxrywbtugrlsvvrfdaaorhsqeypdarrwaaeobfaxtvyd\n", - "-2308.1159709923313 kwlj mmybaanyasabevtugaturcwetktsnithobpyevtuvmhowspehuuyyvtywwrywctugqlsvwrfdzaorisqexpdasrwazeobgaxtuyd\n", - "-2311.7724501296916 kwlg mmyeaanvasaeevtrgatxrcwbtktvniteobpbevtrvmhrwspbhuubyvtvwwrbwctrgqlvvwrcdzarrisnexpgasrtazerbgautuyg\n", - "-2163.574480381624 kwlt mmyraaniasarevtegatkrcwotktinitrobpoevtevmhewspohuuoyvtiwwrowctegqlivwrpdzaerisaexptasrgazeebgahtuyt\n", - "-2145.7865120451243 kblt mhyrafnianareategvtkrhwotftinntrowpoeatevhhewxpohpuoyatiwrrowhtegllivbrpduaernsaesptaxrgaueeblahtpyt\n", - "-2153.137205975372 kslt mqyrawniawarertegetkrywototinetrofpoertevqhewopohyuoyrtiwarowytegulivsrpddaeresaebptaorgadeebcahtyyt\n", - "-2148.443988231906 kclt mgyragniamarebtegutkriwotetinotrovpoebtevghewypohouoybtiwqrowitegklivcrpdtaerosaerptayrgateebmahtoyt\n", - "-2148.443988231906 kclt mgyragniamarebtegutkriwotetinotrovpoebtevghewypohouoybtiwqrowitegklivcrpdtaerosaerptayrgateebmahtoyt\n", - "-2138.9854633207647 kmlt mwyraqniacareltegktkrswotutinytrolpoeltevwhewipoheuoyltiwgrowstegalivmrpdjaerysaehptairgajeebwahteyt\n", - "-2153.137205975372 kslt mqyrawniawarertegetkrywototinetrofpoertevqhewopohyuoyrtiwarowytegulivsrpddaeresaebptaorgadeebcahtyyt\n", - "-2308.6770804156736 wslt aqyrmwniowarqrteuetkdywohotizetrcfpoqrtejqheiopovyuokrtikaroiyteuulihsrprdaedesasbptmorgodeencahhyyt\n", - "-2293.932505000798 dslt tqyrtwnihwarxrtenetkkywoaotigetrvfpoxrtecqhepopooyuorrtidaropytenuliosrpkdaekesalbpttorghdeeucahayyt\n", - "-2329.980042655461 dzlt tjyrtdnihparxytenxtkkfwoahtigltrvypoxytecjhepvpooruorytidtropftennliozrpkwaeklsalupttvrghweeujaharyt\n", - "-2123.389553544795 dilt tayrtmnihgarxhtenotkkowoaytigutrvppoxhtecahepepooiuorhtidkropotenelioirpknaekusallptterghneeusahaiyt\n", - "-2161.8005814332323 milt kayrcmniygarghteeotktoworytiputrmppoghtetaheyepofiuoahtiukroyoteeelixirpbnaetusaclptcergyneedsahriyt\n", - "-2129.868650917416 rilt fayrhmnitgarlhtezotkyowomytiuutrhppolhteoahedepoaiuofhtipkrodotezelicirpwnaeyusaxlpthergtneeisahmiyt\n", - "-2129.868650917416 rilt fayrhmnitgarlhtezotkyowomytiuutrhppolhteoahedepoaiuofhtipkrodotezelicirpwnaeyusaxlpthergtneeisahmiyt\n", - "-2129.868650917416 rilt fayrhmnitgarlhtezotkyowomytiuutrhppolhteoahedepoaiuofhtipkrodotezelicirpwnaeyusaxlpthergtneeisahmiyt\n", - "-2178.6204552198756 cilt uayrsmniigarwhteootkjowobytifutrwppowhtedaheoepopiuoqhtiekroooteoelinirplnaejusamlptsergineetsahbiyt\n", - "-2165.8874904810023 ailt wayrqmnikgaruhteqotkhowodytidutryppouhtefahemeporiuoohtigkromoteqelilirpnnaehusaolptqergkneersahdiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n", - "-1982.5942545193702 kilt mayramniagarehtegotkrowotytinutroppoehtevahewepohiuoyhtiwkrowotegelivirpdnaerusaelptaerganeebsahtiyt\n" - ] - }, - { - "data": { - "text/plain": [ - "('kilt', -1982.5942545193702)" - ] - }, - "execution_count": 338, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break_worker(ak_test, 'aaaa', 200, 10000, Pletters)" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "metadata": {}, - "outputs": [], - "source": [ - "# def autokey_sa_break( message\n", - "# , min_keylength=2\n", - "# , max_keylength=20\n", - "# , workers=10\n", - "# , initial_temperature=200\n", - "# , max_iterations=20000\n", - "# , fitness=Pletters\n", - "# , chunksize=1\n", - "# , result_count=1\n", - "# ):\n", - "# worker_args = []\n", - "# ciphertext = sanitise(message)\n", - "# for keylength in range(min_keylength, max_keylength+1):\n", - "# for i in range(workers):\n", - "# key = cat(random.choice(string.ascii_lowercase) for _ in range(keylength))\n", - "# worker_args.append((ciphertext, key, \n", - "# initial_temperature, max_iterations, fitness))\n", - " \n", - "# with Pool() as pool:\n", - "# breaks = pool.starmap(autokey_sa_break_worker,\n", - "# worker_args, chunksize)\n", - "# if result_count <= 1:\n", - "# return max(breaks, key=lambda k: k[1])\n", - "# else:\n", - "# return sorted(set(breaks), key=lambda k: k[1], reverse=True)[:result_count]" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[('kilt', -1982.5942545193702),\n", - " ('xilt', -2110.8313878557365),\n", - " ('zvlt', -2231.61611071839),\n", - " ('kiwm', -2251.4834057069284),\n", - " ('kise', -2254.492188422953),\n", - " ('gelt', -2256.4629593631885),\n", - " ('kmli', -2282.107091158039),\n", - " ('kvyx', -2372.203847217905),\n", - " ('xtlg', -2408.368149622951)]" - ] - }, - "execution_count": 76, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(ak_test, min_keylength=4, max_keylength=4, result_count=10, max_iterations=200)" - ] - }, - { - "cell_type": "code", - "execution_count": 356, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "eu -7241.168588820512 pbgdlbrxowxbewdabiksnnanasvpagjeqiukjgpxgkluatlovzqdyfcfoieukoulnvifrc\n", - "fejt -7207.178418568825 ormldnqncgvkzrmmfrzosoomirhvnecpmiidriqaezbehokdzzbzpjzlbetrneliucksff\n", - "qsp -7207.756570153028 ddgboybkhsbqjwrnirysghvutkboluvzfrlnmflrqwaopnxstqtjyprmbwgbscdhfdovwt\n", - "qsp -7207.756570153028 ddgboybkhsbqjwrnirysghvutkboluvzfrlnmflrqwaopnxstqtjyprmbwgbscdhfdovwt\n", - "eu -7241.168588820512 pbgdlbrxowxbewdabiksnnanasvpagjeqiukjgpxgkluatlovzqdyfcfoieukoulnvifrc\n", - "zotcn -7197.100658329477 uhccekvwdpbcfusvcdricdkjsdsxmdgscahmloywjwdgpepeayhnkicdddkalfbphvqzka\n", - "qsp -7207.756570153028 ddgboybkhsbqjwrnirysghvutkboluvzfrlnmflrqwaopnxstqtjyprmbwgbscdhfdovwt\n", - "eu -7241.168588820512 pbgdlbrxowxbewdabiksnnanasvpagjeqiukjgpxgkluatlovzqdyfcfoieukoulnvifrc\n", - "zotcn -7197.100658329477 uhccekvwdpbcfusvcdricdkjsdsxmdgscahmloywjwdgpepeayhnkicdddkalfbphvqzka\n", - "zotcn -7197.100658329477 uhccekvwdpbcfusvcdricdkjsdsxmdgscahmloywjwdgpepeayhnkicdddkalfbphvqzka\n", - "fejt -7207.178418568825 ormldnqncgvkzrmmfrzosoomirhvnecpmiidriqaezbehokdzzbzpjzlbetrneliucksff\n", - "fejt -7207.178418568825 ormldnqncgvkzrmmfrzosoomirhvnecpmiidriqaezbehokdzzbzpjzlbetrneliucksff\n", - "reefius -7131.883693502098 crrzjkkwocmornlicwxjkufyeimxbqlgranrnfsmvuargvzmmnuwtjoydtwjfugwokmvfb\n", - "lnvimp -7145.441443189491 iiawfpuqfxgihhczyaetvgpawmabgvnyzlexqszsrkbmmvuxfbzhulvjrgyrtzntjpcbmo\n", - "tokejyou -7122.957225085966 ahlaigoefmaxtrtszwldeouibjkerhpcydaomjjbxerqzecgjjumpeyeheyqzegvacxkad\n", - "reefius -7131.883693502098 crrzjkkwocmornlicwxjkufyeimxbqlgranrnfsmvuargvzmmnuwtjoydtwjfugwokmvfb\n", - "reefius -7131.883693502098 crrzjkkwocmornlicwxjkufyeimxbqlgranrnfsmvuargvzmmnuwtjoydtwjfugwokmvfb\n", - "lnvimp -7145.441443189491 iiawfpuqfxgihhczyaetvgpawmabgvnyzlexqszsrkbmmvuxfbzhulvjrgyrtzntjpcbmo\n", - "tokejyou -7122.957225085966 ahlaigoefmaxtrtszwldeouibjkerhpcydaomjjbxerqzecgjjumpeyeheyqzegvacxkad\n", - "lnvimp -7145.441443189491 iiawfpuqfxgihhczyaetvgpawmabgvnyzlexqszsrkbmmvuxfbzhulvjrgyrtzntjpcbmo\n", - "akskkzznh -7098.442442147952 tlduhfdlyaauhqcttkladyxyhmlwvslnbfyhhvgsigmgegqboffqieuupznxyaafnrwncj\n", - "akskkzznh -7098.442442147952 tlduhfdlyaauhqcttkladyxyhmlwvslnbfyhhvgsigmgegqboffqieuupznxyaafnrwncj\n", - "tokejyou -7122.957225085966 ahlaigoefmaxtrtszwldeouibjkerhpcydaomjjbxerqzecgjjumpeyeheyqzegvacxkad\n", - "akskkzznh -7098.442442147952 tlduhfdlyaauhqcttkladyxyhmlwvslnbfyhhvgsigmgegqboffqieuupznxyaafnrwncj\n", - "cdlkhbrcsk -7121.620113876021 rskukdlwnjufrdxttmyrdawxdmcvxegkdphgbvbzpxopehkmfowfatwdgbnosdegldpzmt\n", - "cdlkhbrcsk -7121.620113876021 rskukdlwnjufrdxttmyrdawxdmcvxegkdphgbvbzpxopehkmfowfatwdgbnosdegldpzmt\n", - "xazhjzmnuoz -7029.465688622625 wvwxifqllfmbgbkozsapstmuzvhidvusgaqtijqaanzylxszxxlcbjcztvtfrxcyyewheo\n", - "xazhjzmnuoz -7029.465688622625 wvwxifqllfmbgbkozsapstmuzvhidvusgaqtijqaanzylxszxxlcbjcztvtfrxcyyewheo\n", - "xakhjzmnuoz -7031.439519394744 wvlxifqllfmbgmkozsapstmuovhidvusgaqeijqaanzylxhzxxlcbjcztgtfrxcyyewhto\n", - "vpvnggsbqbks -7013.090910135032 ygarlykxpsbfdrhftkbdinmvxoocclihrzyxgckbtwjxuonkalbbvmrnwzfsoxdymuendi\n", - "cdlkhbrcsk -7121.620113876021 rskukdlwnjufrdxttmyrdawxdmcvxegkdphgbvbzpxopehkmfowfatwdgbnosdegldpzmt\n", - "vpvnggsbqbks -7013.090910135032 ygarlykxpsbfdrhftkbdinmvxoocclihrzyxgckbtwjxuonkalbbvmrnwzfsoxdymuendi\n", - "ywnugxnamwtxk -7015.051187543097 vziklhpytxsarciouxelzmqiaotzhbmgonycvqkkwaqsfzyjesvsemauyitefemepcjafj\n", - "vpvnggsbqbks -7013.090910135032 ygarlykxpsbfdrhftkbdinmvxoocclihrzyxgckbtwjxuonkalbbvmrnwzfsoxdymuendi\n", - "ywnugxnamwtxk -7015.051187543097 vziklhpytxsarciouxelzmqiaotzhbmgonycvqkkwaqsfzyjesvsemauyitefemepcjafj\n", - "ywnugxnamwtik -7022.630801011672 vziklhpytxsprciouxelzmqilotzhbmgonycvfkkwaqsfzyjesgsemauyitefemtpcjafj\n", - "ecxnrlxizthzmf -7056.616389711004 ptyratfqgaeypssdgrlhsphawhgpdsdtofsdwqcwpsomiuxcokpmmmlscbkirgqpsujoop\n", - "ecxnrjxizthzmf -7052.213051271611 ptyravfqgaeypssdgrlfsphawhgpdsdtohsdwqcwpsomiuxaokpmmmlscbkiriqpsujoop\n", - "ecxnrjxizthzmf -7052.213051271611 ptyravfqgaeypssdgrlfsphawhgpdsdtohsdwqcwpsomiuxaokpmmmlscbkiriqpsujoop\n", - "bozfnjgfhfkwgjw -7043.775655955794 shwzevwtyobbvolexmmwcjucmeumhkfnnaoquwwrrnfxbiyugzvismjtdivbgkktilniny\n", - "bozfnjgfhfkwgjw -7043.775655955794 shwzevwtyobbvolexmmwcjucmeumhkfnnaoquwwrrnfxbiyugzvismjtdivbgkktilniny\n", - "bozfnjgzhfkwgjw -7048.694025014016 shwzevwzyobbvolexmmwcjocmeumhkfnnaoqucwrrnfxbiyugzvimmjtdivbgkktilnony\n", - "muteznaoppityodk -7028.879073532622 hbcasrckqededjemxhjafolqkbsdsmfycfbsycnnlgzbtbgjeikkqgnxfhtbvhyqdylqjb\n", - "pcheurcyjgnemmhlb -6984.116250391875 etoaxnaawnytplaldesmxiaaajijcgykojgartqdvhiwclfjwzcworhunslusgtuykwydt\n", - "pcteurcyjgnemmhlb -6994.90935407401 etcaxnaawnytplaldesyxiaaajijcgykojgaftqdvhiwclfjwzcwodhunslusgtuykwydt\n", - "mutrznaoppityodt -7020.806418549406 hbcnsrckqededjedxhjnfolqkbsdsmfhcfbfycnnlgzbtbgaeikxqgnxfhtbvhyzdyldjb\n", - "mutrznaoppityodk -7020.414719036047 hbcnsrckqededjemxhjnfolqkbsdsmfycfbfycnnlgzbtbgjeikxqgnxfhtbvhyqdyldjb\n", - "pcheurcyjgnemmhlb -6984.116250391875 etoaxnaawnytplaldesmxiaaajijcgykojgartqdvhiwclfjwzcworhunslusgtuykwydt\n", - "kcjcrkpaydijjvvspha -7023.868983037924 jtmcaunyhqdoscmepblretlagsxafsvsxagdcfhzcwrytqlcostfocxilgtasrggrvtmho\n", - "aepacahlwkvioobquduf -7012.131563981477 trgepevnjjqpnjggkfrveohwlbaummtvmdemtlhirtkiamlnubshcfwyxcluxpurhuknfg\n", - "vaahfipsrxsuhjvjck -7035.555008841242 yvvxmwngowtduomncynfcibenzhlcspwnziuqlwvudefecjprrydgokzusyzkdaxyrejbe\n", - "kcjcrkpaydiqjvvsppa -7020.147860466339 jtmcaunyhqdhscmeptlretlagsxafscsxagdkfhzcwrytqlcoltfocxalgtasrggrvtmoo\n", - "vashfbpyrxyuhrvjck -7024.3137102065575 yvdxmdnaowndugmncynfuibxnfhlispenziuqlevukezecdprjydgokzmsyskjaxererbe\n", - "kcjprkpaydiqjtvqppa -7026.1919688323405 jtmpaunyhqdhsemgptlretyagsxafscsvaedkfhzcjrytqlcolthoexalgtafrggrvtmoo\n", - "aopacasswlvioobquduf -7021.121092869005 thgepekgjiqpnjggkfrveyhwlblbmntvmdemtlhirjkiamaguashcfwyxcluxzurhuvufh\n", - "vashfipyrxyuhrvjck -7023.238914199077 yvdxmwnaowndugmncynfuibenfhlispenziuqlevudezecdprjydgokzmsyzkjaxererbe\n", - "aepacahswkfioobqunuf -7009.3984634338385 trgepevgjjgpnjggkvrveohwlbabmmdvmdemtvhirtkiamlgubihcfwyxsluxpurhukufg\n" - ] - }, - { - "data": { - "text/plain": [ - "[('pcheurcyjgnemmhlb', -6984.116250391875),\n", - " ('pcheurcyjgnemmhlb', -6984.116250391875),\n", - " ('pcteurcyjgnemmhlb', -6994.90935407401),\n", - " ('aepacahswkfioobqunuf', -7009.3984634338385),\n", - " ('aepacahlwkvioobquduf', -7012.131563981477)]" - ] - }, - "execution_count": 356, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(scb, result_count=5, workers=3, max_iterations=10000)" - ] - }, - { - "cell_type": "code", - "execution_count": 355, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "akceo -7196.7131269066185 padyapnmmmctmozeacacmhtjifsmqoduhkxlfxqogskqnnrqeehqntdsyomelalpnseihz\n", - "xwbt -7205.2319583517 soejwqjgowiakedgjklvhxkoduprwctvxystcgisprzomckmipkvvixettidkfryhynvpo\n", - "kw -7239.931839551052 foaooqzzlngtshtzapomcvtordicrurscijgqyknhkawbxidmoitvemvcgdbaxzeszmuks\n", - "iod -7210.161818818972 hwcvscsxiuuyegncnbmopvhupkfqprsxciomrqoubjnfsgeionmtqlojdnweqcvlpiteot\n", - "iod -7210.161818818972 hwcvscsxiuuyegncnbmopvhupkfqprsxciomrqoubjnfsgeionmtqlojdnweqcvlpiteot\n", - "kw -7239.931839551052 foaooqzzlngtshtzapomcvtordicrurscijgqyknhkawbxidmoitvemvcgdbaxzeszmuks\n", - "akceo -7196.7131269066185 padyapnmmmctmozeacacmhtjifsmqoduhkxlfxqogskqnnrqeehqntdsyomelalpnseihz\n", - "xwbt -7205.2319583517 soejwqjgowiakedgjklvhxkoduprwctvxystcgisprzomckmipkvvixettidkfryhynvpo\n", - "iod -7210.161818818972 hwcvscsxiuuyegncnbmopvhupkfqprsxciomrqoubjnfsgeionmtqlojdnweqcvlpiteot\n", - "akceo -7196.7131269066185 padyapnmmmctmozeacacmhtjifsmqoduhkxlfxqogskqnnrqeehqntdsyomelalpnseihz\n", - "xwbt -7205.2319583517 soejwqjgowiakedgjklvhxkoduprwctvxystcgisprzomckmipkvvixettidkfryhynvpo\n", - "kw -7239.931839551052 foaooqzzlngtshtzapomcvtordicrurscijgqyknhkawbxidmoitvemvcgdbaxzeszmuks\n", - "dssqxu -7143.258547240983 msnmrkbxxaawxdogtsrycbcrttxexfptwwojklepdoxvxegmxwxdxlkdryiwtvidjhlyoj\n", - "bhnplkz -7127.824100378254 odsnduobhuedemkzzklxexwkagcbcaymnykmzgoytnvhvflhhwnmymassotjryhjdkvcyf\n", - "dssqxu -7143.258547240983 msnmrkbxxaawxdogtsrycbcrttxexfptwwojklepdoxvxegmxwxdxlkdryiwtvidjhlyoj\n", - "bhnplkz -7127.824100378254 odsnduobhuedemkzzklxexwkagcbcaymnykmzgoytnvhvflhhwnmymassotjryhjdkvcyf\n", - "xhcecokie -7102.202769462168 sddymqdhguodaovdmiunnhhohfrlmjbfftgxosrkmsoaefrjkfctdtcifrafkvgzjyntrc\n", - "ckhnkgvf -7121.807259180946 naypeyskxmtructwwcvkwfcnopevdrgzflhtwnummmanfgpoifuuyrslgwlnfhhqlhtgrf\n", - "ckhnkgvf -7121.807259180946 naypeyskxmtructwwcvkwfcnopevdrgzflhtwnummmanfgpoifuuyrslgwlnfhhqlhtgrf\n", - "dssqxu -7143.258547240983 msnmrkbxxaawxdogtsrycbcrttxexfptwwojklepdoxvxegmxwxdxlkdryiwtvidjhlyoj\n", - "xhcecokie -7102.202769462168 sddymqdhguodaovdmiunnhhohfrlmjbfftgxosrkmsoaefrjkfctdtcifrafkvgzjyntrc\n", - "bhnplkz -7127.824100378254 odsnduobhuedemkzzklxexwkagcbcaymnykmzgoytnvhvflhhwnmymassotjryhjdkvcyf\n", - "ckhnkgvf -7121.807259180946 naypeyskxmtructwwcvkwfcnopevdrgzflhtwnummmanfgpoifuuyrslgwlnfhhqlhtgrf\n", - "xhcecokie -7102.202769462168 sddymqdhguodaovdmiunnhhohfrlmjbfftgxosrkmsoaefrjkfctdtcifrafkvgzjyntrc\n", - "gknecyezoy -7121.89102140418 jasymgjqwoiggczakysnibphlrphhjaletaxkxtcrmdnbwzdbpdvakgdpyesadzrlapvsu\n", - "gknecyezoy -7121.89102140418 jasymgjqwoiggczakysnibphlrphhjaletaxkxtcrmdnbwzdbpdvakgdpyesadzrlapvsu\n", - "tmycypatgvd -7036.161083455135 wyhaqpnwerokatlqebsxztljrgjbyelnapcxtvznnmugmrmhzshurdbnxpyilrfkocrwho\n", - "gknecyezoy -7121.89102140418 jasymgjqwoiggczakysnibphlrphhjaletaxkxtcrmdnbwzdbpdvakgdpyesadzrlapvsu\n", - "tmycypatgvd -7036.161083455135 wyhaqpnwerokatlqebsxztljrgjbyelnapcxtvznnmugmrmhzshurdbnxpyilrfkocrwho\n", - "oysvuoksgstf -7017.46904632187 bmnhuqdxeuybxoyzzylemnxindbgayxihnogmbzfrzkyugvuiqvcmyxbuvknviezffhscr\n", - "fysvuoksgstf -7016.658405790975 kmnhuqdxeuybooyzzylemnxiwdbgayxihnogdbzfrzkyugvurqvcmyxbuvknmiezffhscr\n", - "tmycypatgvd -7036.161083455135 wyhaqpnwerokatlqebsxztljrgjbyelnapcxtvznnmugmrmhzshurdbnxpyilrfkocrwho\n", - "fysvuoksgstf -7016.658405790975 kmnhuqdxeuybooyzzylemnxiwdbgayxihnogdbzfrzkyugvurqvcmyxbuvknmiezffhscr\n", - "kctnqbjmnshke -7015.863927872567 fimpydedxukwuvdueqlxnkbzoxecfssbwnbnaqdhpspoaxwzhreewipkabilerixnhwemm\n", - "kctnqajmnshke -7015.983844321904 fimpyeedxukwuvdueqkxnkbzoxecfsscwnbnaqdhpspozxwzhreewipkacilerixnhwemm\n", - "kctnqbjmnshke -7015.863927872567 fimpydedxukwuvdueqlxnkbzoxecfssbwnbnaqdhpspoaxwzhreewipkabilerixnhwemm\n", - "pcrjciauprfsoti -7054.0213924465625 aiotmwnvvvmokhdglavpuuaopflvstcbtfwufemwmmmoirihpvaczllncprzmqsmwdculb\n", - "iluhzkwlbigygz -7060.643443516302 hzlvpurejelisbehitzhzdmfzjhevpatutmlnzbcktmrbaphighicvxgckehorrvkvcyzg\n", - "iluhskwlbigygz -7057.345517351543 hzlvwurejelisbehitshzdmfzjhevpatbtmlnzbcktmrbaihighicvxgckehvrrvkvcyzg\n", - "iluhskwlbigygz -7057.345517351543 hzlvwurejelisbehitshzdmfzjhevpatbtmlnzbcktmrbaihighicvxgckehvrrvkvcyzg\n", - "pcrrcbauprfsoti -7051.011120218284 aiolmdnvvvmokhdgladpnuaopflvstcbtxwbfemwmmmoirihxvtczllncprzmqsewkculb\n", - "pcrrciauprfsoti -7053.75383595708 aiolmwnvvvmokhdgladpuuaopflvstcbtxwufemwmmmoirihxvaczllncprzmqsewdculb\n", - "zhxtfhnzsqoowyjb -7013.889636872676 qdijjxaqswdscccfdlgshkvtsvwnxughqpfwsufszcltezdtecplldchpzuozzwinbpilj\n", - "zhxtfhnzsqoowljb -7024.792105067617 qdijjxaqswdscpcfdlgshkvtsvwnxhghqpfwsufszcltemdtecplldchpzuozmwinbpilj\n", - "zhxtfhnzshoowyjb -7019.220293040243 qdijjxaqsfdscccfdlgshkvtsmwnxughqpfwsufszlltezdtecplldchpquozzwinbpilj\n", - "ytsorqnxqycrfqrgc -7003.313415202906 rrnoxoasuopptkuarxxockhjsxlqkdystjorlcqeifkvljgccyltmmfjktaxinqvpbgida\n", - "ytsorenkqycrfsrgc -6992.7927273828 rrnoxaafuopptiuarxxockvjfxlqkdastjorlcqqiskvljgacyltmmfjytnxinqvrbgida\n", - "ytsorenkqycrfqrgc -6982.7419735515805 rrnoxaafuopptkuarxxockvjfxlqkdystjorlcqqiskvljgccyltmmfjytnxinqvpbgida\n", - "lchdcuyybjiyammiahs -7027.103896807054 eiyzmkprjdjiyozythwxijwxaciwwnaofbnvsiddibkgzlnehrgcckmhgyczcotcgqamfg\n", - "hvpgpgxvswyvusamia -7032.489750617325 ipqwzyqusqtleilulogmalwluxhpgleeigaatsaavmnjuedpqnmbdxohobkvqpfxooogkl\n", - "hvpgpgbvswyvuswmia -7024.112353095374 ipqwzymusqtleipulogmalwlyxhpgleeegaatsaavmjjuedpqnqbdxohobkvupfxoooggl\n", - "hvpgpgbuswyvuswmia -7041.412556352411 ipqwzymvsqtleipulogmalwlywhpgleeegaatsaavmjkuedpqnqbdxohobkvuofxoooggl\n", - "lchdcuyybjiyimmiahs -7026.1943685233255 eiyzmkprjdjiqozythwxijwxaciwwnawfbnvsiddibkgzlnehrycckmhgyczcotcgqamfo\n", - "lchdcuylbjiyiwmiahs -7030.819796248272 eiyzmkpejdjiqezythwxijwxacvwwnawpbnvsiddibkgzynehrysckmhgyczcotctqamfo\n", - "jvxuyxxsenbwdzscotwb -6999.116950851166 gpiiqhqxgzqkvbtefvsaksnbukjitxscyzskujilhfufhjasbucffyppusxwwtfwkuebvs\n", - "jvxuyhxspnbwtzscotwb -7007.040067929774 gpiiqxqxvzqkfbtefvsaksnbuujiexscozskujilhfufhzasqucfpyppusxwwtfwkeebgs\n", - "jvxuyxxsenbwdzscotwb -6999.116950851166 gpiiqhqxgzqkvbtefvsaksnbukjitxscyzskujilhfufhjasbucffyppusxwwtfwkuebvs\n" - ] - }, - { - "data": { - "text/plain": [ - "[('ytsorenkqycrfqrgc', -6982.7419735515805),\n", - " ('ytsorenkqycrfsrgc', -6992.7927273828),\n", - " ('jvxuyxxsenbwdzscotwb', -6999.116950851166),\n", - " ('jvxuyxxsenbwdzscotwb', -6999.116950851166),\n", - " ('ytsorqnxqycrfqrgc', -7003.313415202906)]" - ] - }, - "execution_count": 355, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(rscb, result_count=5, workers=3, max_iterations=10000)" - ] - }, - { - "cell_type": "code", - "execution_count": 357, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "fktltzccxyxkhkgptffww -6975.991039558016 olctyfawivonunbhldgebrcyhhqhznowmsxrwfvxrgacngerzoyoswinzrnhrryzftpwii\n", - "aepacahswkvioobgunbf -7009.959552654458 trgepevgjjqpnjgqkvkveohwlbabmmtvmdectvoirtkiamlgubshcfwixseuxpurhukufg\n", - "aopacahswkvboobqunuf -7011.1647127609995 thgepevgjjqwnjggkvrveyhwlbabmmtomdemtvhirjkiamlgubsocfwyxsluxzurhukufg\n", - "fktevzcjxsxkhagptffww -6965.769944442327 olcawfapibonuxbhldgebrcyajqhgniwmsnrwfvxrgacnncrzhyuswixzrnhrryzftiyii\n", - "ezmccanziltbjzwuuhxnef -6983.510907811032 pwjcpepzxiswsylckbontayerdgdgwmchqsusoochuyenjueakfgcgtuytaoagxfjcirfd\n", - "igjwqywpspeujytubwwbvoc -6970.160216945334 lpmibggjnehdszocdmpzcrlpltngppaxvfhaecwajsscucwwnafnzidplgsymmeqpotgxl\n", - "igjwrywrzpeujytubwgbvmc -6971.298224485027 lpmiagghgehdszocdmfzctlpltnhppcevfhaecwajcscscwwnaenzgwplgsymmeqfotixl\n", - "ezmccaokilmbjzwgnaxnef -6958.745584147263 pwjcpeooxizwsylqriontayerdgdhhmcaqsusahvhuyenjueakevcgauytachnxfjcirfd\n", - "aepacahswkviombgunuf -7010.372262284814 trgepevgjjqpnlgqkvrveohwlbabmmtvmbectvhirtkiamlgubshchwixsluxpurhukufg\n", - "gzmcckokilxbjzwgbaxnej -6970.039060261934 nwjcpuooxiowsylqdiontwaerdgnhhmclqsusavvhuyiljueaaevcgpuytactnxfjykrfd\n", - "fktlvzojxyxkhkbptffww -6969.339066645448 olctwfopivonunghldgebrcyhjqtgnowmsxmwfvxrgacngcrnhyoswinernhrryzftpyiu\n", - "izjwqyhpspeyjytubwgbvmc -6964.803891569484 lwmibgvjnehzszocdmfzctlpetngpaaxvflaecwajcscscwdnafnoidplcsymmeqfotixl\n", - "slqtliiqbrhcfincyycpqmsc -6927.322880063389 bkflgwuiecevwpuugkjlhtvyzvqwpzpcvkgxhbejpxiteuqjhsvgzjlivdmfhhaqsjnhvn\n", - "fkwnkmefitupamdbktwascyff -6949.751375613317 olzrhsytxariblevuppafdpvvrkieormgpkbvpnzancpliislsusgemtehdsnnpmigiykw\n", - "lkwnkmefitupbsdbktwwscyff -6958.210161139263 ilzrhsytxariafevuppefdpvvxkieormgpkbvqtzancphiislsosgemtehdsnnogigiyka\n", - "lhqtlirqbrhcfincyycpqmsc -6922.239902831688 ioflgwliecevwpuugkjlhtvysrqwpzycvkgxhbejpxiteuqjowvgzjcivdmfhhaqsjnhvn\n", - "shqililqbrhcyincyycpqmsc -6932.093307552851 bofwgwriecevdpuugkjlhtvyzrqlpzscvkgxabejpxiteuqjhwvrzjiivdmfohaqsjnhvn\n", - "tpqdhjryvfbkgqbpaqnsywpigk -6935.600437192065 agfbkvlakoknvhghesyizjysuvvbquzpomaetddwpanmnfmyivrhthkqryeqoelwekgamv\n", - "uerkkuoxubhvdtdureuoxbjdjah -6937.077665014023 zreuhkoblsecyeecnermaeexrfoierpdpyjhlmwfrdprhwzhcjoljusgzypnqzxovkqjws\n", - "fppqbjryvlhkuqbhlqnsywpigk -6943.664957331958 oggoqvlakienhhgptsyizjysuvhbphtpomakzdrwpsymnfmyivrhhhldxyeqoyfwqkgibv\n", - "fkwnkmefttupasdbknwascyff -6945.58356308797 olzrhsytmaribfevuvpafdpvvrkieormgakbvptzanwpliislsusgemtehssnnpgigiekw\n", - "tpqdzjryvlbrgqvplqysywpigk -6926.036848544144 agfbsvlakikgvhmhtsnizjysuvvbqurpomaktkdwjaymyfmyivrhthkqzyeqoylpekmabv\n", - "borkkxonubhuwtdurfubxbzdjqh -6941.135161146338 sheuhhollsedfeecndrzaeoxrpoporpdsyzhlmvyrdpriwmhczolzulwzypkqjxovlxjws\n", - "befkoxonubjvwtlurfubxfzdjph -6947.161187257091 srqudhollsccfewcndrzaaoxrqopefphsyzhlowyrlpriwmhgzolyulglylkqjxotkxjos\n", - "oopwpvvoohdphjzrpqqbeyulsgpjt -6938.676812123898 fhgicjhkrmiiuoifpsvzthtpizgycqcerkbltzmvnndwgytmhuejzabeslcakruywnwoeu\n", - "vopypsvoohdphlzepqqbeyzlsgpot -6936.668022085832 yhggcmhkrmiiumispsvzthopizgtcxcetkyltzmvnnfwtytmhueozabexlvakpubwnwoeu\n", - "ospyqsvoohdphjzepqqbeyulsgiot -6929.242984179139 fdggbmhkrmiiuoispsvzthtpizntcqgetlyltzmvnndwtytmhuejzabxxlcwkptbwnwoeu\n", - "qrnpjbvwtzucnlwddhgfnjvwtximvi -6934.453750379142 deipidhcmurvomltbbfvkwsehinvanggrxcpwomjemdsaukgbsbgwetcdsspicncfrzmny\n", - "zzlelsuxrelktbjwxjuevnftcfvc -6939.32874692479 uwkagmibopaniwyahzrwcsihyaafbzzktacrpbyqnlteeoulevdvqiafpotsvicisfxkmw\n", - "zzlegwuxpelktbbwxjusvnftyftc -6954.12554044673 uwkaliibqpaniwgahzricsihcacfbzzkoecrnbyqnlleeouzevdvmiyfpotsaeciufxkmw\n", - "zzlegwjxrelktbbwxjuevnftcftp -6944.500241166319 uwkalitbopaniwgahzrwcsihyacsbzzkoerrpbyqnlleeoulevdvqiyspotsaenisfxkmw\n", - "qcuduhowtzugnlsddogsbjvdtexmvi -6958.259219510617 dtbbxxocmurromptbufiwwsxhbyvangrylnvpomjeqdswuknbfpgwltjssspirgoulgmny\n", - "qrndubvwtzugnlwddhgubjvdtexmvi -6924.274425967957 deibxdhcmurromltbbfgwwsxhbyvanggrlnpwomjeqdsaukgbhpgwltjssspicnourzmny\n" - ] - }, - { - "data": { - "text/plain": [ - "[('lhqtlirqbrhcfincyycpqmsc', -6922.239902831688),\n", - " ('qrndubvwtzugnlwddhgubjvdtexmvi', -6924.274425967957),\n", - " ('tpqdzjryvlbrgqvplqysywpigk', -6926.036848544144),\n", - " ('slqtliiqbrhcfincyycpqmsc', -6927.322880063389),\n", - " ('ospyqsvoohdphjzepqqbeyulsgiot', -6929.242984179139)]" - ] - }, - "execution_count": 357, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(scb, result_count=5, workers=3, max_iterations=10000, min_keylength=20, max_keylength=30)" - ] - }, - { - "cell_type": "code", - "execution_count": 358, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "djbzctbftftqmfgsunbbkvc -6968.745306194363 mbedmlmkrhyqmvfozbnagmtxjnwtokyvmcvcezmmqkhapamrhvbttzmnmgddemnlhweewa\n", - "jgxuyxxsenbwtzscotwb -7008.807208515969 geiiqhqxgzqkfbtefvsakdnbukjitxscozskujilhuufhjasbucfpyppusxwwefwkuebvs\n", - "djbbctffiftqmfgsunbbkvc -6962.8594455502125 mbebmlikchyqmvfozbnagmtxjnytooykmcvcezmmqkhapamrhtbtpzxnmgddemnlhweewa\n", - "wzfkbxbvsroegakdhpybm -6973.939197821756 tlasnhmusvdcsabdmzqaeokjsestfenjrilnwsbvrttwsbfibmquugzobfngihgivldool\n", - "xynesqwemjomulftiyharg -6971.855634055924 smsyworlydduepgnlqhbzbdxstdrilkjqghztrpvkwifywrhramwtorthcmqodpfjygxff\n", - "xznesqwemnomulmtiydarg -6965.486753117693 slsyworlyzduepznlqlbzbdystdrilknqghzarpvgwifyvrhramwtkrthcfqodtfjygyff\n", - "wzkkbxbvtkcegakdhpyqm -6967.513213004803 tlvsnhmurcpcsabdmzqleokosestffgxrilnwsbvgttwnbfibmpbggzobfngisgivqdool\n", - "xynesqwemjomueftiydarn -6973.7531719214185 smsyworlydduewgnlqlbzudxstdrilkjqghstrpvgwimywrhramwtorthjmqodtfjrgxff\n", - "jvxurxxseobwdyscotwb -7007.386966127987 gpiixhqxgyqkvctefvsaksnbnkjityscyyskujilhfufojasbtcffzppusxwwtfwduebvt\n", - "wzfkbxbvtkocgakdhbyqm -6965.092060705508 tlasnhmurcdesabdmnqleokjsestffgjpilnwsnvgttwsbfibmpbuizobfnuisgivldool\n", - "djbbctufiftqmfgsunbbkvc -6961.986903576636 mbebmltkchyqmvfozbnagmtxjnytodykmcvcezmmqkhapamrhtbtazxnmgddemnlhweewa\n", - "jvxuyxxsepbwxzscotwb -7005.55643108953 gpiiqhqxgxqkbbtefvsaksnbukjitzscszskujilhfufhjasbscflyppusxwwtfwkuebvu\n", - "pmyprozlduhhvmfeiewdnefu -6922.328274762646 ayhnxqoehskzdogclksyddqpktsscguimibpwqujgnpiyqtlkycpbrnrcteshifslqplyw\n", - "uqrggdjpeimdjgouwkioufoqo -6954.23330450968 vuowibeagefdpuxmxegnwchtwwfrdohituhjwpgofadaoxhtbvycmutsgilauckvdyeqwy\n", - "uqrgmdjpeimdjgouwkioofgjo -6952.93397459316 vuowcbeagefdpuxmxegnccpawwfrduhituhjwpgofadaorhluvycmunsgilauckvdyeqwy\n", - "qwrlydrnmqcxhyfagvoshzjxcdy -6939.789268873274 zoorqbwcywpjrcggntajjimmiobglirwsejqdpruprbtitarmfizpwbogkjpzpjycmkefl\n", - "uqrgmdjpetmdjgouekioofgqo -6945.008206586671 vuowcbeagtfdpuxmpegnccptwwfrduhitusjwpgofidaorhlbvycmunsgilpuckvdywqwy\n", - "pmrprozldulhvmmeiewdsefu -6938.264290927054 ayonxqoehsgzdozclksyydqpktlscguimifpwqbjgnpidqtlkyjpbrnrctashiyslqpltw\n", - "csxxoqlpryzgerolomlgnlvopy -6940.080040027364 nsifaocatosaujxvfcdvdwavvtmnrriyrasahegcucceyygeuwzorkqigdohlysxlbkrui\n", - "csxxuqloryngevolomlgnlvboy -6937.7984530641925 nsifuocbtoeaufxvfcdvdwaiwtmnrroyrzsaveggucceyygeujyorkqiadoilyexlxkrui\n", - "pmyprozlduhhvmseiewdnefq -6931.870617453084 ayhnxqoehskzdotclksyddqtktsscguimibpwqhjgnpiyqthkycpbrnrcteshisslqplyw\n", - "vsxxuulpryzgyrolomannlbboi -6958.04229709087 usifukcatosaajxvfcoodwuiwjfnrrocrasaheacuccenfgeajyyykqiazohlysxrbkrui\n", - "qtrlrerfbzcxhygqdlkshzjxcky -6942.319614861684 zrorxawkjnpjrcfqqdejjimmihbgiirptebfmprupsrqyparmfizwwbrgkqozxupcmkeev\n", - "qtrlrdrfmzcxhwgadvostzwxcdy -6924.738970203327 zrorxbwkynpjrefgqtajxizmiobgiirpsebqmprunsbqitadmsizpwbrgkqpzxjpcmkgel\n", - "xmwwpkpfkwcwednzowmxuugcpodih -6947.199145958265 syjgzuykaqpkuxyhfscewnphvdwxsekdnbrqpekwhdkiuoryqvhswcedrjbxalykboajaf\n", - "hybygwawwjuclbsufxwimzsjkxkf -6935.426574614824 imeeiintodxenztmorsteidaauparkeilsyvlbdheyouncrhqjrhddszxrbzsgbggcbmso\n", - "nkgfduwpouivyhqismjpqelnslymix -6927.94768856761 cazxlkrawsjlatvybcfmadkwsgbtrzgmudaeieetimhngviypfuetbptnioixmfyrzwpst\n", - "nkgfduwnouovywqismypxeljdljmix -6923.642299822595 cazxlkrcwsdlaevybcqmtdkahgqtrzgmudaeicetomhcgviyefbetxatyioixmfyrzwrst\n", - "nkgfdugconozyhqismypqeknkejmix -6926.183285810791 cazxlkhnwzdhatvybcqmadlwanqtrzgmudaesremoqhngviyefuesbhmyioixmfyrzmcsa\n", - "hmbygcavwjuclbsufxwimzsjkxff -6943.702707342505 iyeeicnuodxenztmorsteidaauuaryeilyyulbdheyouncrhqjrhddnzxdbzsabhgcbmso\n", - "xmwwpkpekwcwegngojmxubgjithih -6949.062176009927 syjgzuylaqpkuuyaffcewgpacysxsekdnbrqoekwhdniboeyqvosdvjhrjbxalykbpajaf\n", - "jmwwbkpekwcoednzojmxyugjptwnh -6937.7025802997205 gyjgnuylaqpsuxyhffcesnpavydssqkdnnrqoekwzdkiuoeyqzhsdcjwwjpxalmkbpajan\n", - "ambyicawvjuclbslfxwvmzsjkxkf -6946.756837295758 pyeegcntpdxenztvorsgeidaaupakyeinyyvkbdheyolncruqjrhddszedbzqabghcbmso\n" - ] - }, - { - "data": { - "text/plain": [ - "[('pmyprozlduhhvmfeiewdnefu', -6922.328274762646),\n", - " ('nkgfduwnouovywqismypxeljdljmix', -6923.642299822595),\n", - " ('qtrlrdrfmzcxhwgadvostzwxcdy', -6924.738970203327),\n", - " ('nkgfdugconozyhqismypqeknkejmix', -6926.183285810791),\n", - " ('nkgfduwpouivyhqismjpqelnslymix', -6927.94768856761)]" - ] - }, - "execution_count": 358, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(rscb, result_count=5, workers=3, max_iterations=10000, min_keylength=20, max_keylength=30)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [], - "source": [ - "sscb = scytale_decipher(scb, 43)\n", - "srscb = scytale_decipher(rscb, 43)" - ] - }, - { - "cell_type": "code", - "execution_count": 362, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "km -7266.719683893325 jshhtgdisieubautcgfmweanldpevpfjvitimyhmmqfgjlwzejmuyvxoozhoawbpucsdom\n", - "km -7266.719683893325 jshhtgdisieubautcgfmweanldpevpfjvitimyhmmqfgjlwzejmuyvxoozhoawbpucsdom\n", - "km -7266.719683893325 jshhtgdisieubautcgfmweanldpevpfjvitimyhmmqfgjlwzejmuyvxoozhoawbpucsdom\n", - "odic -7185.924887533436 fbixvmoraeilfqnirjukkhchbjyajkcyrhmsozhsfdkejovgruvxtvamssvbpsgkgzgvaq\n", - "vvauv -7157.245650522951 yjqffpnyqlhphekmhsdipjeodbrdwqzhxvyryjymceiycpbccgbcinpijfiyzbwdxsljds\n", - "etc -7237.604491483566 plokpzmzwexgbxpszkptrbdaknaxxtdbhonjrtktasywwtjohzcwlnzyyoxptnmsifuxbv\n", - "etc -7237.604491483566 plokpzmzwexgbxpszkptrbdaknaxxtdbhonjrtktasywwtjohzcwlnzyyoxptnmsifuxbv\n", - "vvauv -7157.245650522951 yjqffpnyqlhphekmhsdipjeodbrdwqzhxvyryjymceiycpbccgbcinpijfiyzbwdxsljds\n", - "odic -7185.924887533436 fbixvmoraeilfqnirjukkhchbjyajkcyrhmsozhsfdkejovgruvxtvamssvbpsgkgzgvaq\n", - "vvauv -7157.245650522951 yjqffpnyqlhphekmhsdipjeodbrdwqzhxvyryjymceiycpbccgbcinpijfiyzbwdxsljds\n", - "etc -7237.604491483566 plokpzmzwexgbxpszkptrbdaknaxxtdbhonjrtktasywwtjohzcwlnzyyoxptnmsifuxbv\n", - "odic -7185.924887533436 fbixvmoraeilfqnirjukkhchbjyajkcyrhmsozhsfdkejovgruvxtvamssvbpsgkgzgvaq\n", - "mhwfwm -7105.196698757989 hxuuebprbwsbqduxeyrphtstubtosagxhdwqzjmhxmsnckiyivotcrnoxutwuwercvsjcy\n", - "wbdhrnwz -7132.327553480105 xdnsjaapynjkwuveymyifwbnneczfxzlnnmrajuzgpffoillutlywhkyrukpldrnexcqvm\n", - "mhwfwm -7105.196698757989 hxuuebprbwsbqduxeyrphtstubtosagxhdwqzjmhxmsnckiyivotcrnoxutwuwercvsjcy\n", - "mhwfwm -7105.196698757989 hxuuebprbwsbqduxeyrphtstubtosagxhdwqzjmhxmsnckiyivotcrnoxutwuwercvsjcy\n", - "twmvidw -7172.151194840706 aieeskaonmskvuhgkhxxhjqhetdabdtuhoopcnzdfocubscfmgwcsnqxfrtvuuegeyrlml\n", - "twmvidw -7172.151194840706 aieeskaonmskvuhgkhxxhjqhetdabdtuhoopcnzdfocubscfmgwcsnqxfrtvuuegeyrlml\n", - "twmvidw -7172.151194840706 aieeskaonmskvuhgkhxxhjqhetdabdtuhoopcnzdfocubscfmgwcsnqxfrtvuuegeyrlml\n", - "wbdhrnwz -7132.327553480105 xdnsjaapynjkwuveymyifwbnneczfxzlnnmrajuzgpffoillutlywhkyrukpldrnexcqvm\n", - "wbdhrnwz -7132.327553480105 xdnsjaapynjkwuveymyifwbnneczfxzlnnmrajuzgpffoillutlywhkyrukpldrnexcqvm\n", - "hmdqpepcb -7112.521566081875 msnjljhmueepwjmmkfdomunfzgvewhglvsivbkmeihzotqvywajewwfonrvedofghevkcm\n", - "hmdqpepcb -7112.521566081875 msnjljhmueepwjmmkfdomunfzgvewhglvsivbkmeihzotqvywajewwfonrvedofghevkcm\n", - "hmdqpepcb -7112.521566081875 msnjljhmueepwjmmkfdomunfzgvewhglvsivbkmeihzotqvywajewwfonrvedofghevkcm\n", - "kkyvzaisgl -7134.7700399539635 jusebnowpfninqugidsnoijbrksesgmqrqxgncbehmagrlsizejrkjeytfwjytrcrttakg\n", - "kkyvzaisgl -7134.7700399539635 jusebnowpfninqugidsnoijbrksesgmqrqxgncbehmagrlsizejrkjeytfwjytrcrttakg\n", - "vmjxssmbmcwl -7068.35047569952 yshcivknjoarhcoroexfscwaeomqwpdtipsqbshuxnodgcnuzqjjnchgflitiuscipfzbe\n", - "kkyvzaisgl -7134.7700399539635 jusebnowpfninqugidsnoijbrksesgmqrqxgncbehmagrlsizejrkjeytfwjytrcrttakg\n", - "mqkxbtojjnf -7091.4575704760555 hogczuifmdrvrotucrcgyzbaxxgftruabqotiaorcirvydmcauzbcyalibtnnlajxrbxfw\n", - "mqkxbtojjnf -7091.4575704760555 hogczuifmdrvrotucrcgyzbaxxgftruabqotiaorcirvydmcauzbcyalibtnnlajxrbxfw\n", - "vmjxssmthcwl -7068.30694308031 yshcivkvooarhcoroexxncwaeomqwpdbnpsqbshuxnovbcnuzqjjnchoklitiuscipfrwe\n", - "mqkxbtojynf -7091.640337674427 hogczuifxdrvrotucrcvyzbaxxgftrfabqotiaorcxrvydmcauzbnyalibtnnlayxrbxfw\n", - "vmjxssmbhcwl -7068.0536712608255 yshcivknooarhcoroexfncwaeomqwpdtnpsqbshuxnodbcnuzqjjnchgklitiuscipfzwe\n", - "ciwcbbloxukru -7052.802274361364 rwuxzmlaywmlldzzzavhbsafafxiluadtqwqagonlrxwlypokikpxeempcxytatbguibua\n", - "ciwcbbloxukru -7052.802274361364 rwuxzmlaywmlldzzzavhbsafafxiluadtqwqagonlrxwlypokikpxeempcxytatbguibua\n", - "ciwcbbloxukru -7052.802274361364 rwuxzmlaywmlldzzzavhbsafafxiluadtqwqagonlrxwlypokikpxeempcxytatbguibua\n", - "mlpwtfeqqnhado -7058.8401670626 htbdhisyfdpccgoavwakjsrowoybwtfcahfyosxwvbvdjpfdvkclntaiqkmychgbtgzmgh\n", - "mlpwtfeqrnhadd -7058.686000529416 htbdhisyedpccroavwakjssowoyqwtfcahfynsxwvmvdjpfdvkdlntaxqkmychgbsgzmgs\n", - "fbgwgcrlijcwrdb -7056.883768414113 odkdulfdnhugoruftpeyqlteewuttzvflnqaunpgxiydpwaznsqjxapmdpsylkcydbdiga\n", - "fbgwgcrliukwrdb -7055.405250011788 odkdulfdnwmgoruftpeyqltepeuttzvflnqaunpvpiydpwaznsqjxaaudpsylkcydbdigp\n", - "mlpwtfeqqnhadd -7058.448337298078 htbdhisyfdpccroavwakjsrowoyqwtfcahfyosxwvmvdjpfdvkclntaxqkmychgbtgzmgs\n", - "fbgwgcrliucwrdb -7055.4094952055 odkdulfdnwugoruftpeyqltepwuttzvflnqaunpvxiydpwaznsqjxaamdpsylkcydbdigp\n", - "slwthfvavyryepsa -7027.366511236806 btugtiboasfebfdtvgnmiivdlyvdjoxfflbexyyhiewtfdifvxpznrxcdjzuchtgauxgty\n", - "slwthfvavwryeqsa -7038.954178636369 btugtiboaufebedtvgnmiivdlwvdjpxfflbexyyhigwtfcifvxpznrxcdhzucitgauxgty\n", - "hujnmajdllvihagpx -6976.279701984389 mkhmonnlkfbuyupeznxlpcjeagvgqvgjwsbturrbpclbibkermycrveskytcgcabraahey\n", - "slwthfvavyryipsa -7030.3930365424085 btugtiboasfexfdtvgnmiivdlyvdnoxfflbexyyhiewtbdifvxpznrxcdjzughtgauxgty\n", - "hujnmajdllvihagpx -6976.279701984389 mkhmonnlkfbuyupeznxlpcjeagvgqvgjwsbturrbpclbibkermycrveskytcgcabraahey\n", - "hujnmajdllvihagpx -6976.279701984389 mkhmonnlkfbuyupeznxlpcjeagvgqvgjwsbturrbpclbibkermycrveskytcgcabraahey\n", - "qimzhxwphuekjnbqmr -7000.196862776259 dweatqazowsswhudkiewxqdblrmlsbergoeibkwuqbgfcgnjwrkpghuzptfmbfzfiiqowa\n", - "qimzhlwphuekjnbqmr -7003.027766569044 dweatcazowsswhudkiewxqdplrmlsbergoeibkwuqngfcgnjwrkpghuzptfabfzfiiqowa\n", - "cwlulxupifzxeicmkiu -7022.510073105601 riffpqcznlxfbmthmrnbtlrcvobuzwvxoyheotsrilpbaqllentpmirvsvefwvalfgbbtw\n", - "qimzhxwphuekjnbqmr -7000.196862776259 dweatqazowsswhudkiewxqdblrmlsbergoeibkwuqbgfcgnjwrkpghuzptfmbfzfiiqowa\n", - "cwsulxubwfsxeialmiu -7020.3323179649 riyfpqcnzlefbmvikrnbtsrcvonizpvxowggotsrblpbaexllntpojpvsvemwvalrubutw\n", - "cwsulxubifsweialmxu -7015.7257681481315 riyfpqcnnlegbmvikcnbtsrcvonuzpuxowggdtsrblpbaelllotpojpgsvemwvalrgbusw\n", - "ifdlmlxnjisbdwjzfhtm -6969.539195515227 lznooczbmiebcymursogqrjdxobgylwxytcwoofedlitrdeecxugmwtnxzqjeztseoibes\n", - "tvghtfcdywwyyzeryhedj -6955.057233671801 ajkshiulxuaehvrcysdpsqnhtjsnzwgywktzdibhekbjhywsnjuxmtlqmknmagrkmkojoc\n", - "gfdlmlxmjisbdnjzyhtm -6972.270756232731 nznooczcmiebchmuysogorjdxobfylwxykcwhofeflitrdefcxugmftnezqjcztseoiaes\n", - "ifslmlxmjioblwjzfhtm -6975.073877781182 lzyooczcmiibuymursogqrydxobfylsxgtcwoofedlttrdefcxygewtnxzqjeziseoiaes\n", - "tvghtfddywwyyceryheuj -6956.720678514314 ajkshitlxuaehsrcysdysqnhtjsozwgywkwzdibhvkbjhywsmjuxmtlnmknmaprkmkojod\n", - "tvghtfcdywwbyzeryhedk -6964.680017616221 ajkshiulxuabhvrcysdprqnhtjsnzwgyzktzdibhelbjhywsnjuxmqlqmknmagqkmkojoc\n", - "bqcqcgiwgmesokjaxuwxxf -6930.202969805412 soojyhospeskrkmtzflveledxhcawbluihxgtnufihnlkoidyiuczvncohcanfteigcrym\n", - "bqcqlgiwgmesokjaxuwxxf -6939.291480845147 soojphospeskrkmtzflveledxhlawbluihxgtnufihnlkoidpiuczvncohcanfteigcrym\n", - "bqcqcgiwgmetokjxxuwxxf -6946.554412412547 soojyhospesjrkmwzflveledxhcawbluiixgtkufihnlkoidyiuczvnbohcdnfteigcrym\n", - "jmmmfngfhksuslaagqdoqvd -6940.479735629103 ksenvaqjogeinjvtqjeelvthtmnmkdrkungdwlaukynltyyrovethylpyhsrwkhbxebmir\n", - "hqnunokovtafsivxoqvnudsig -7001.560985021507 modfnzmaaxwxnmawijmfhnejfemefgbmarruithkxuikjksgrdmrgkpiznewncielusxwg\n", - "jmmmdngghksusabatqtoqvw -6952.155571860551 ksenxaqiogeinuutdjoelvahtmnkkdskungdlmahkonltryrovgthxlpyhscvkubhebmpr\n", - "hqgghooovtafsixxkqfikdfiz -6996.447700104081 mokttziaaxwxnmywmjckrnrjmemxrabqarruithmxqiueastrwmrnyvivnewnciejuwxml\n", - "xknxsqpitghnlgaqwhchtstc -6935.061011812035 wudcixhgckppuovdasfliydppwxfcwtsyhzblsyhtkmlgtcvlmtyitcrngwmwsdechauaw\n", - "jmmmdngfhksusaaagqdoqlw -6933.668272658752 ksenxaqjogeinuvtqjeelfahtmnkkdrkungdllaukynljryrovgthylpyhscwkhbxebwpr\n", - "xkexsqpizghgdgaqghchtqtc -6957.389400230572 wumcixhgwkpwcovdqsfliadppwofcwtsehzudsyhdkmlgrcvlmcyitcrhgwtesdeshauay\n", - "xknxsqpizghndgacwhchtslc -6935.018257511228 wudcixhgwkppcovrasfliylppwxfcwtsehzbdsyttkmlgtuvlmtyitcrhgwmesdschauaw\n", - "hmgghokfvtaysivxkqfnudfiz -6997.7668985159235 mskttzmjaxwenmawmjcfhnrjmeixrabmrrrubthkxqiujkstrwmvnyvizwewnjieluwxmg\n", - "ucjpqmfrlupnwijpxmmnfnvxll -6954.9483701443605 zchkkbrxkwhpjmmeznvfwdbuafbfdjqxjueuyrkyhysjtmjhzoqyjksavqmtdqdultfhog\n", - "imjeqmqrlupnwkjpxmmdenvxwl -6941.956553459618 lshvkbgxkwhpjkmeznvpxdbupfppdyqxuueuyrkahysjtcihzobyvaslvqbtdqdulrfhog\n", - "iqcoxloqgwqzjrqdwzgssrorxoz -6935.807835635044 looldciypugdwdfqaabajziaocbwwfpvyjqblaqoqxbwoqfbbaqpiozngyapyuaavbypjo\n", - "imjdqjfzlupnwijppmmnenvxll -6939.313931510811 lshwkerpkwhpjmmehnvfxdbuafppdxqujceuyrkyhykjtmihzoqyvasmvtmldqdultfhwg\n", - "idcoxloqhwqzjrqdwzgsororcoz -6939.386788558408 lboldciyougdwdfqaabanziajcbwjfpvyjqclaqoqxbwoqfxbaquiozagyapyuzavbypjo\n", - "zmycpargcdnvwdgvrnpxxmgbbrls -6916.914804421708 ussxlnfitnjhjrpyfmsveeqqkzppqbibpejimtkdklcyjfnpweanaqguvmnmsgsdjyccwe\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "iqcoxlhqgcqzerqdwzgsokorcot -6948.350536826196 looldcpypogdbdfqaabangiajchwwfpvycqbraqjqxbwoqfxuaquiizngyapfuauvbdpjo\n", - "vkycparzcdnvwarvcbdxxmgblgls -6891.717349185789 yusxlnfptnjhjueyuyeveeqqakppmzibpejbmtkdkinyutbpweankfguzonmsgskjyccwh\n", - "mtfbrybnnmqrtjqajggxodcjdgmxg -6931.735771885691 hllyjpvbieglmlftntbvnnuiikokempncizveypeiqgrvemjfvdjchlvbjjyuitmanoqch\n", - "mgfbtybugxqrtjhajggxydmjdgmlw -6907.9258181 hylyhpvuptglmlotntbvdnkiikowomcnckzvlraeiqgivemjffdtchlvpzjluirmagvfch\n", - "vkycparzcdnvwdrvrnpximgbbgls -6899.9865782439665 yusxlnfptnjhjreyfmsvteqqkkppmzibpejbmtkdklnyjfnpheanafguzonmsgskjyccwe\n", - "mgfbtybnnxqrtjhadnqxodmjdgmxg -6939.363287123724 hylyhpvbitglmlottmrvnnkiikokemcnckzveyaeiqgivyttfvdtchlvbjjluirmanofch\n", - "hwqmzwiwebsaddrokbadwudqmrwzdt -6917.5497084511535 mianbrosrpeccrefmyhpfwtbzzeihaoqaenzrocvpapfkmtmttlhrowkhfontubhisvreu\n", - "hwqmzwiwewladsaosbtdwudqmraadg -6912.945619162213 mianbrosrulcccvfeyopfwtbzzahhnoqaenzrocqiaputmbmmtlhrowklgoatubhisvrez\n", - "hwqjspvwewsadsaokbfdwudqmyaadg -6916.158374548194 miaqiybsruecccvfmycpfwtbzsahhnoqabgseocqpaputmtmytlhrowrlgoatubkpzirez\n" - ] - }, - { - "data": { - "text/plain": [ - "[('vkycparzcdnvwarvcbdxxmgblgls', -6891.717349185789),\n", - " ('vkycparzcdnvwdrvrnpximgbbgls', -6899.9865782439665),\n", - " ('mgfbtybugxqrtjhajggxydmjdgmlw', -6907.9258181),\n", - " ('hwqmzwiwewladsaosbtdwudqmraadg', -6912.945619162213),\n", - " ('hwqjspvwewsadsaokbfdwudqmyaadg', -6916.158374548194)]" - ] - }, - "execution_count": 362, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(sscb, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" - ] - }, - { - "cell_type": "code", - "execution_count": 363, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "unq -7235.468873479451 vtonohcqxrfcmscoijgjjbkdvjxdpsdfiyvfwaheoqtmhtpolseviozmsmaeafnalbmdeb\n", - "mu -7267.264668197637 dmbwgzjfvoaldmbozxvuxnwzauaeylijssivmaaaoxjdojnmrvblzhvnlybylhgtkvctdu\n", - "xjofm -7155.5963210096 sxqdvdsobyshpwgitwylkoxoljmbkexizrwqmwveylbftoquzoeqgtgqqftqwpmhasxcyn\n", - "unq -7235.468873479451 vtonohcqxrfcmscoijgjjbkdvjxdpsdfiyvfwaheoqtmhtpolseviozmsmaeafnalbmdeb\n", - "unq -7235.468873479451 vtonohcqxrfcmscoijgjjbkdvjxdpsdfiyvfwaheoqtmhtpolseviozmsmaeafnalbmdeb\n", - "mu -7267.264668197637 dmbwgzjfvoaldmbozxvuxnwzauaeylijssivmaaaoxjdojnmrvblzhvnlybylhgtkvctdu\n", - "rrhk -7185.518644253863 ypxyjgsgvndtikbhsbtkagacwnawccgyyzupwwslsbfpflwgzwwabwyufpochqdyjyjqwp\n", - "mu -7267.264668197637 dmbwgzjfvoaldmbozxvuxnwzauaeylijssivmaaaoxjdojnmrvblzhvnlybylhgtkvctdu\n", - "rrhk -7185.518644253863 ypxyjgsgvndtikbhsbtkagacwnawccgyyzupwwslsbfpflwgzwwabwyufpochqdyjyjqwp\n", - "rrhk -7185.518644253863 ypxyjgsgvndtikbhsbtkagacwnawccgyyzupwwslsbfpflwgzwwabwyufpochqdyjyjqwp\n", - "xjofm -7155.5963210096 sxqdvdsobyshpwgitwylkoxoljmbkexizrwqmwveylbftoquzoeqgtgqqftqwpmhasxcyn\n", - "xjofm -7155.5963210096 sxqdvdsobyshpwgitwylkoxoljmbkexizrwqmwveylbftoquzoeqgtgqqftqwpmhasxcyn\n", - "ohtctn -7107.189612872938 bzlgoioftnhrpslntufzhuasruteyxpahxcqfvfdmhsfsjpomcaxleisgobsenlmpwibub\n", - "ohtctn -7107.189612872938 bzlgoioftnhrpslntufzhuasruteyxpahxcqfvfdmhsfsjpomcaxleisgobsenlmpwibub\n", - "ohtctn -7107.189612872938 bzlgoioftnhrpslntufzhuasruteyxpahxcqfvfdmhsfsjpomcaxleisgobsenlmpwibub\n", - "dsrjxjo -7168.752829479522 monzkmbsqgwprwmkupfawvjshoacdgonmbykohzonznmqnnifugqnfmpmfwjhtcolsdhml\n", - "dsrjxjo -7168.752829479522 monzkmbsqgwprwmkupfawvjshoacdgonmbykohzonznmqnnifugqnfmpmfwjhtcolsdhml\n", - "dsrjxjo -7168.752829479522 monzkmbsqgwprwmkupfawvjshoacdgonmbykohzonznmqnnifugqnfmpmfwjhtcolsdhml\n", - "hojgvsvw -7131.830694707738 isvcmduiwbaxruksekuubnjusjgexcxaisujxtpagfdratmvycppazizijxhmgjbifphth\n", - "hojgvsvw -7131.830694707738 isvcmduiwbaxruksekuubnjusjgexcxaisujxtpagfdratmvycppazizijxhmgjbifphth\n", - "kgboniewz -7112.839636865072 faduunlifovwjdrpsggwwyqvhbusctiefuztcttsksdbekicmxadzokmezpwjgdqeknzje\n", - "hojgvsvw -7131.830694707738 isvcmduiwbaxruksekuubnjusjgexcxaisujxtpagfdratmvycppazizijxhmgjbifphth\n", - "kgboniewz -7112.839636865072 faduunlifovwjdrpsggwwyqvhbusctiefuztcttsksdbekicmxadzokmezpwjgdqeknzje\n", - "kgboniewz -7112.839636865072 faduunlifovwjdrpsggwwyqvhbusctiefuztcttsksdbekicmxadzokmezpwjgdqeknzje\n", - "adhxkjpcxl -7132.97368796485 pdxlxmachigwgmhoajnjmlnapfaplgujnbliugbuuokzmehpdnysqtiqzwjjonbhiynswe\n", - "adhxkjpcxl -7132.97368796485 pdxlxmachigwgmhoajnjmlnapfaplgujnbliugbuuokzmehpdnysqtiqzwjjonbhiynswe\n", - "vdztkkwlxhm -7100.135506500829 udfpxltthmjfaspdpsbkgyomeexjgowocnojqyduabjykysfgeygzjwkithqihlbhscgmg\n", - "adhxkjpcxl -7132.97368796485 pdxlxmachigwgmhoajnjmlnapfaplgujnbliugbuuokzmehpdnysqtiqzwjjonbhiynswe\n", - "vdzvkkwlxsm -7091.300191038457 udfnxltthbjfasrdpsbkryomecxjgowdcnojsyduabuykysdgeygzywkitjqihlbsscgme\n", - "vdzvkkwlxsm -7091.300191038457 udfnxltthbjfasrdpsbkryomecxjgowdcnojsyduabuykysdgeygzywkitjqihlbsscgme\n", - "gahcawrpkokkw -7053.9811860151 jgxghzypuflphoyduevtdnobhmmavvczhynztoaooccyyfdifoegmessinhteadwkciwnf\n", - "iungecwfysmm -7069.9419942685545 hmrcdttzgbjnwlnyxsbsmgkzainabxfcovqounzanasyjrlhkutgnscwxubpclyudwksit\n", - "iungecwfysmm -7069.9419942685545 hmrcdttzgbjnwlnyxsbsmgkzainabxfcovqounzanasyjrlhkutgnscwxubpclyudwksit\n", - "iunzecwfysmm -7070.869885788073 hmrjdttzgbjnwlnrxsbsmgkzainhbxfcovqounztnasyjrlhkutnnscwxubpclyndwksit\n", - "gahcawrpkokkw -7053.9811860151 jgxghzypuflphoyduevtdnobhmmavvczhynztoaooccyyfdifoegmessinhteadwkciwnf\n", - "gahcawrpkokkw -7053.9811860151 jgxghzypuflphoyduevtdnobhmmavvczhynztoaooccyyfdifoegmessinhteadwkciwnf\n", - "wktxfevruvchwn -7056.715064822705 twllcrunkytshklepasayujodbtonlruibctlhjzvjkpgstucohzrtzlwwgetlpmjpvvgc\n", - "buqvprnfzebrtbu -7053.212377744985 omonseczfpuikwkmoxhzofuhhzsocfugdubzpbftpfjyssvskgtrznbfbcoeukzqkvvpsm\n", - "wktxfevruvchwn -7056.715064822705 twllcrunkytshklepasayujodbtonlruibctlhjzvjkpgstucohzrtzlwwgetlpmjpvvgc\n", - "wktxfevruvchwd -7056.882298438032 twllcrunkytshulepasayujodbtenlruibctlhjzvtkpgstucohzrtzbwwgetlpmjpvvgm\n", - "buqzprnfzebrtba -7072.974515510757 omojseczfpuikwemoxlzofuhhzsoclugdqbzpbftpfjymsvsogtrznbfbcokukzmkvvpsm\n", - "mbzdxtpgxartvxbp -7028.427313016308 dfffkcayhtegiadlxgpmiftopawsqpdjdvlbmqtmzxbihxymbmhfocbiholofitopcfjrl\n", - "buqvpznfzebntbu -7056.413017619726 omonswczfpumkwkmoxhzwfuhhzoocfugdubrpbftpjjyssvskgbrznbfxcoeukzqknvpsm\n", - "mbgdxtpgxavtvxbp -7021.462184129751 dfyfkcayhtagiadlxgwmiftopaasqpdjdvebmqtmzxxihxymbmofocbihopofitopcyjrl\n", - "mbgdxtpgxavtvxbp -7021.462184129751 dfyfkcayhtagiadlxgwmiftopaasqpdjdvebmqtmzxxihxymbmofocbihopofitopcyjrl\n", - "lltrstwewhuoxjlnr -6983.893628526776 evlrpctaimblgotnjhzgbsrtwloxnjsbnstoouujvbmmazsdduanmeaaxqlkafsinlsosb\n", - "lltsgtweaieoxjlnr -6995.441120303569 evlqbctaelrlgotnjhzgcgrtwpphnjsbnstootgjvbilqzsdduanmeboxqlobpsinlsosb\n", - "lltrstwewieoxjlnr -6979.958275864531 evlrpctailrlgotnjhzgbsrtwlphnjsbnstoouujvbmlqzsdduanmeaaxqlkbpsinlsosb\n", - "bttuewvnnmkruwxgzq -7017.2201350913065 onlodzurrhlijbhubvgehtqnccjrnhxtthzsorfhykvyovoohozzbagdbeomrhdfcafago\n", - "bttueuonntkruwxtzq -7008.591902548861 onlodbbrralijbhhbvgehtqlvcjynhxttuzsorfhymcyoooohozmbagdbeokkhdmcafagb\n", - "jwtqyoqfksimxnstuzo -7007.687142494398 gklsjhzzubnngkmhgmgliwbdpubexctoqpthipbsswuldlxycoeqlznmrkueqlgxfromrj\n", - "bttuewonnmkruwxtzq -7000.408720849813 onlodzbrrhlijbhhbvgehtqnvcjrnhxttuzsorfhykcyovoohozmbagdbeomkhdfcafagb\n", - "jwteyoqfksimxnstuzo -7007.296040807299 gklejhzzubnngkmhgmgliwpdpubexctoqpthipbssiuldlxycoeqlznmrkueelgxfromrj\n", - "frrifbjmzdxmssfrwawi -6987.658857000267 kpnacugsfqynlfzjelyjisgmuzugtzihpwbeqkorgfrodnhplikzlwtqqbyfgaamnbfzuf\n", - "frpifbjmkdxmgslrwami -6971.7720067332475 kppacugsuqynxftjelijisemuzugezihdwheqkergftodnhpaikzxwnqqbifgaymnbfzff\n", - "hzxfmkmmuqhnyofmhzwon -6959.408988436885 ihhdvldskdomfjzotmydfzmftypvgfdgowrogcaclsyostdgjbndueydsfkwkuzccwtlze\n", - "jwteyoqfksimxlstuzn -7008.2014292665335 gklejhzzubnngmmhgmhliwpdpubexctoopthiobssiuldlxycoeslznmskueelgxfromrj\n", - "hzxfmkmmlohnyommtzfon -6956.892957238645 ihhdvldstfomfjsohmpdfzmftypvgwbgowrvgoallsyostdgjbwfueydlfywbuzccwtlze\n", - "hixfmhmmuqhnmommhzwon -6974.927580293324 iyhdvodskdomrjsotmydfzvftymvgfdgokrvgcaclsyfstdjjbnduekdlfkwkuzclwtlwe\n", - "frrifbjmzdxmsslrwami -6963.981961843188 kpnacugsfqynlftjelijisgmuzugtzihpwheqkergfrodnhplikzlwnqqbifgaamnbfzuf\n", - "yupapjgbhrrzogrunmsnhv -6950.799220392348 rmpismjdxceaprngnzcelmcahlimpmjswblwhpzbmtmovmukwvduraytvpfhnefhearcld\n", - "yupypjgbhprjogrunmsnhv -6940.869271039964 rmpksmjdxeeqprngnzcelmcahjimpmjqwllwhpzbmtmovmumwvdurcyjvpfhnefhearclb\n", - "rupypjgbhrrjogrunmsnhv -6937.852398122123 ympksmjdxceqprngnzcelmvahjimpmjswllwhpzbmtmocmumwvdurayjvpfhnefheakclb\n", - "lzyeumecqlyfrhlsxqmjctb -6925.628179873731 ehgenjlcoixumqtidviiqosipnwlpeegsegbecextppkjutgrlhrwooccflskbuhbzcflu\n", - "fiodwkksockaocmhpkwkiaxg -6956.203368046444 kyqfllfmqrlzpvstlbyhkhwgmvktnebikkpofauhdwztnffpsminnotmwbxihfxtnsnvsi\n", - "lzreumecqkyfrhlsxqmjctb -6933.586579836437 ehnenjlcojxumqtidviiqosipgwlpeegregbecextppkjutgylhrwoodcflskbuhbzcflu\n", - "lzyeumecqlyfrhlsxqmjctb -6925.628179873731 ehgenjlcoixumqtidviiqosipnwlpeegsegbecextppkjutgrlhrwooccflskbuhbzcflu\n", - "uioxwkksockgocmhprwziwtg -6943.839611916279 vyqlllfmqrltpvstluysklagbvknnebikkpufauhddzinbbpdmitnotmwbxchfxtnlngsm\n", - "ciuxwkksvckaocghprwziwfg -6936.730963973821 nyklllfmjrlzpvytluysklogjvqnnebirkpofaohddzinbnpvmctnotmpbxihfdtnlngsm\n", - "kterlvjqnpztkmwqzlspeavmz -6992.284977914931 fnarwagorewgtlikbaccohyaxonyhtgomkwrocbsewxyvyuxeketclboszcavrpzykqrhs\n", - "knerlwjfnpztkmwazllbeavmb -6992.354171474276 ftarwzgzrewgtliabajqohyavohyhthobkwrocbsowxrhyuxemezclbnskcavrpzyaqrog\n", - "mterlwjqnpztkmwqvllbeavmz -6982.873688673242 dnarwzgorewgtlikfajqohyaxqnyhthomkwrocbsesxrhyuxekctclbnszcavrpzykurog\n", - "dmlqeyxurlzvjtzzqfsoeszafs -6943.989064018811 mutsdxskniweuefbkgcdopumrboefxdxirnfyrswjwnuvjngkvbfmopxdoefzatjysdsst\n", - "dmlqeyyerlzvjtzzqfrweszass -6927.603832545573 mutsdxraniweuefbkgdvopumeboefxdxjbnfyrswjwnuurngkvofmopxdodvzatjysdsst\n", - "dllqeyyerlzvjtzzqprweszass -6932.087851503754 mvtsdxraniweuefbkwdvopumebodfxdxjbnfyrswjwneurngkvofmppxdodvzatjysdssj\n", - "znhfxjsknxjfuhmipsqztlmsfmz -6950.006679167892 qtxdkmxurwmujqsslteszwhurhbifsdkoegwyjsryffpeijwiayptrmpoiciizvchwvqai\n", - "znhfxjsxnkyfuhmipsqzllmsamz -6936.185668446657 qtxdkmxhrjxujqsslteshwhuwhbifsdkoetwlysryffpeijoiayktrmpoiciimvpswvqai\n", - "eijphdkppbcvmevaypoamdimgrne -6899.6270951935685 lyvtasfppstertjacwgrgelaqcnunrlbajvyfdtwxeoavqveydhgkqhatubvmwwclltsij\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "eifphdkppbckmegaypoakditgrne -6888.650055136116 lyztasfppstprtyacwgrieltqcnunrhbajvyfdtlxezavqvewdhnkqhatufvmwwclltdij\n", - "znhfxjsknkyfuhmiprqlllmsfmv -6948.639915839672 qtxdkmxurjxujqsslueghwhurhfifsdkoegwlysryffpdivoiayptnmpoiciizvpswvqai\n", - "veasevzwgvlellkaxqqisvuucsqkc -6937.3840773123475 uceqdaqiyykvsmuadvejamzsubkowveqkyaxmxoqtflgxjgrvhghiytksprswvtatcpapu\n", - "veaievzlgulnlekhxqgizvedcsqkc -6922.5258894568115 uceadaqtyzkmstutdvojtmpjubkowveqayaxbxnqcfegejghvogrrytksprswftatnpbpl\n", - "eifpeskepuckmegqygozkdimgrne -6925.523615627164 lyztddfapztprtykcfgsielaqcnunrhbxyvnfwtlxezqvhvdwdhgkqhatufvphwnlstdij\n", - "voaievzlwulnlldhxqqisvudcsqkc -6912.99970924089 useadaqtizkmsmbtdvejamzjubkowvoqayaxbnnqcflzejgrvhghrytkspriwftatnzbpl\n", - "czkvdkpxgmurrejzrchnabnumaafdb -6906.439733281443 nhunelahyhbimtvbjjnesggsktatvotngowcuootnplhclsmrdaauakbgsritslmumsaru\n", - "clivdkwxpmurrejorchnamnumbwfdb -6920.008697066951 nvwnelthphbimtvmjjnesvgsksetvotzeowcboxtnplhcasmrdaluakccsritgnmumlaiu\n", - "yzivdkwxgbuhrejzrchnhmnumbafdb -6912.019998517474 rhwnelthysbsmtvbjjnelvgsksatvopneowcbooinflhclsmrdhluakcgsrixsnmumlarf\n" - ] - }, - { - "data": { - "text/plain": [ - "[('eifphdkppbckmegaypoakditgrne', -6888.650055136116),\n", - " ('eijphdkppbcvmevaypoamdimgrne', -6899.6270951935685),\n", - " ('czkvdkpxgmurrejzrchnabnumaafdb', -6906.439733281443),\n", - " ('yzivdkwxgbuhrejzrchnhmnumbafdb', -6912.019998517474),\n", - " ('voaievzlwulnlldhxqqisvudcsqkc', -6912.99970924089)]" - ] - }, - "execution_count": 363, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(srscb, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "metadata": {}, - "outputs": [], - "source": [ - "sscb101 = scytale_decipher(scb, 101)\n", - "srscb101 = scytale_decipher(rscb, 101)" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "eobs -7189.781571223773 pvtbcsaqdoqiowajxbtrxnajvutnxniikcciuoykzmglmaiaolnfrfcjblarlbptvfvmbn\n", - "ggn -7193.338718932946 ndhgogndztnzyxrtogamoohmeahssajdhghjyjrukjklccdjyimhxeiroilmebdgfdeato\n", - "gl -7233.064057442309 nyhvksjzwhurxttyszbbtnansubcrfkqxznrrzjtkhuoryxndyshnjcfqlmpaxpnrttmdg\n", - "ggn -7193.338718932946 ndhgogndztnzyxrtogamoohmeahssajdhghjyjrukjklccdjyimhxeiroilmebdgfdeato\n", - "gl -7233.064057442309 nyhvksjzwhurxttyszbbtnansubcrfkqxznrrzjtkhuoryxndyshnjcfqlmpaxpnrttmdg\n", - "ggn -7193.338718932946 ndhgogndztnzyxrtogamoohmeahssajdhghjyjrukjklccdjyimhxeiroilmebdgfdeato\n", - "gl -7233.064057442309 nyhvksjzwhurxttyszbbtnansubcrfkqxznrrzjtkhuoryxndyshnjcfqlmpaxpnrttmdg\n", - "zojcm -7176.42088331501 uvlrftygobxalwpulmxladhdhhqppaufsakwzyaixbgvdpnffigsalhiaqrtemztncygdf\n", - "eobs -7189.781571223773 pvtbcsaqdoqiowajxbtrxnajvutnxniikcciuoykzmglmaiaolnfrfcjblarlbptvfvmbn\n", - "zojcm -7176.42088331501 uvlrftygobxalwpulmxladhdhhqppaufsakwzyaixbgvdpnffigsalhiaqrtemztncygdf\n", - "zojcm -7176.42088331501 uvlrftygobxalwpulmxladhdhhqppaufsakwzyaixbgvdpnffigsalhiaqrtemztncygdf\n", - "eobs -7189.781571223773 pvtbcsaqdoqiowajxbtrxnajvutnxniikcciuoykzmglmaiaolnfrfcjblarlbptvfvmbn\n", - "rxjiajpe -7117.577243046901 cmllreendufnagmeidonuihwkefjyzuzxlfhgrgtwpzofvisewwravhwougjmriosmewkb\n", - "rxjiajpe -7117.577243046901 cmllreendufnagmeidonuihwkefjyzuzxlfhgrgtwpzofvisewwravhwougjmriosmewkb\n", - "lqgpym -7170.523579547869 itoetblyrcxxgmzpoanovzfaftyxnhwcjsxjiorawrwhumsueebtnwlkrxpebcynrcjdyf\n", - "vckihgi -7139.41907528383 yhklkhltywfokzxtpsfqvralacdbbhqvfmjpxafnhrpylhbejwxuyplfwticxbkonyiivi\n", - "vckihgi -7139.41907528383 yhklkhltywfokzxtpsfqvralacdbbhqvfmjpxafnhrpylhbejwxuyplfwticxbkonyiivi\n", - "rxjiajpe -7117.577243046901 cmllreendufnagmeidonuihwkefjyzuzxlfhgrgtwpzofvisewwravhwougjmriosmewkb\n", - "lqgpym -7170.523579547869 itoetblyrcxxgmzpoanovzfaftyxnhwcjsxjiorawrwhumsueebtnwlkrxpebcynrcjdyf\n", - "ypnsnitgv -7093.770778635457 vuhbefalklwrqglraniedynpbhgooedisodkqcwpliqsbwmplanpnptcdfcnxzaredfdjv\n", - "ypnsnitgv -7093.770778635457 vuhbefalklwrqglraniedynpbhgooedisodkqcwpliqsbwmplanpnptcdfcnxzaredfdjv\n", - "ypnsnitgv -7093.770778635457 vuhbefalklwrqglraniedynpbhgooedisodkqcwpliqsbwmplanpnptcdfcnxzaredfdjv\n", - "vckihgi -7139.41907528383 yhklkhltywfokzxtpsfqvralacdbbhqvfmjpxafnhrpylhbejwxuyplfwticxbkonyiivi\n", - "lqgpym -7170.523579547869 itoetblyrcxxgmzpoanovzfaftyxnhwcjsxjiorawrwhumsueebtnwlkrxpebcynrcjdyf\n", - "xeajcfzymw -7096.320641971421 wfukpiuttkutxabjreaqavwarycssrbalptscyibsatgsumnskdfmkxugdkqjhdajmecmc\n", - "tcuayywjyab -7111.61566130295 ahattpxihgpykkxywaltozvqikvaswihiuuiuvaaxsxnrsgrflvintcxaklvbrhxnenfmh\n", - "tcuayywjyab -7111.61566130295 ahattpxihgpykkxywaltozvqikvaswihiuuiuvaaxsxnrsgrflvintcxaklvbrhxnenfmh\n", - "xeajcfzymw -7096.320641971421 wfukpiuttkutxabjreaqavwarycssrbalptscyibsatgsumnskdfmkxugdkqjhdajmecmc\n", - "xeajcfzymw -7096.320641971421 wfukpiuttkutxabjreaqavwarycssrbalptscyibsatgsumnskdfmkxugdkqjhdajmecmc\n", - "tcuayywjyab -7111.61566130295 ahattpxihgpykkxywaltozvqikvaswihiuuiuvaaxsxnrsgrflvintcxaklvbrhxnenfmh\n", - "mhjfsfmmflih -7035.200164111325 hclozihfavirkifdmpmvutljizotgspanwzhwrmznipvyqpeeujgsiatuanwisgeoykmcs\n", - "widuedyjisnxd -7034.038201782115 xbrznkvixodbonpamkjfmrfxrtghsvrmcdtlhzhmmijezklspewytehforspuxloingyre\n", - "mhjfsfmmflih -7035.200164111325 hclozihfavirkifdmpmvutljizotgspanwzhwrmznipvyqpeeujgsiatuanwisgeoykmcs\n", - "widuedyjisnxd -7034.038201782115 xbrznkvixodbonpamkjfmrfxrtghsvrmcdtlhzhmmijezklspewytehforspuxloingyre\n", - "mhjfsfkmflih -7054.863703405966 hclozijfavirkifdmpkvutljizotgsranwzhwrmzninvyqpeeujgsictuanwisgeoyimcs\n", - "widuedyjisnxd -7034.038201782115 xbrznkvixodbonpamkjfmrfxrtghsvrmcdtlhzhmmijezklspewytehforspuxloingyre\n", - "xnlyyvabkrddcz -7025.088428786813 wwjvtstqvpnvpluvccaibyylfmelymzthhjsgfvgppgjmthertpakkazmhqhfiyrrgavwt\n", - "swguohcqxeqidow -7020.962054459316 bnozdgrbicaqowuqyjuxoxssqhdiwnlxyvnchyicmxwzybrnfytyhincvudclvcfinmyof\n", - "xnlyyvabkrddcz -7025.088428786813 wwjvtstqvpnvpluvccaibyylfmelymzthhjsgfvgppgjmthertpakkazmhqhfiyrrgavwt\n", - "xnlyyvabkrddgz -7027.547670876362 wwjvtstqvpnvlluvccaibyylfmilymzthhjsgfvglpgjmthertpakkezmhqhfiyrrgavst\n", - "swguohcqxeqzdok -7030.274065544178 bnozdgrbicazowgqyjuxoxssqhuiwblxyvnchyicmgwzkbrnfytyhincmudqlvcfinmyof\n", - "ynejindwzopxmgpo -7021.919646338278 vwqkjaqvgsbbfebdqbdqlodfmpsvndasrohatcxnhlmayjotjxofmosblfqaodbrxjwake\n", - "ynejindwzopwmgpo -7018.9241417269195 vwqkjaqvgsbcfebdqbdqlodfmpsundasrohatcxnhlmbyjotjxofmosblfqzodbrxjwake\n", - "ynejindwzopwmgpo -7018.9241417269195 vwqkjaqvgsbcfebdqbdqlodfmpsundasrohatcxnhlmbyjotjxofmosblfqzodbrxjwake\n", - "swguohcqxeqzdow -7020.014054456961 bnozdgrbicazowuqyjuxoxssqhuiwnlxyvnchyicmgwzybrnfytyhincmudclvcfinmyof\n", - "mwuqabbequwwmtmsn -6992.687135227216 hnadrmsnpmucfrezyqgarxhifshcqckrirukezdllvmojwmbjdelvmqlhfhoydtyfxhblx\n", - "mwuqabbequwwmtmsn -6992.687135227216 hnadrmsnpmucfrezyqgarxhifshcqckrirukezdllvmojwmbjdelvmqlhfhoydtyfxhblx\n", - "mwuqabbequwwmtmsn -6992.687135227216 hnadrmsnpmucfrezyqgarxhifshcqckrirukezdllvmojwmbjdelvmqlhfhoydtyfxhblx\n", - "znrjkmteaifzbxmvvi -7030.749796070115 uwdkhbanfylzqnewqpzeremzsuoyhilidtubfmjohbmbxohdpdsmlpkcjcvzalswzdvceg\n", - "uxqvangrpyxcziubxcr -6975.0124606980935 zmeyranaqitwscwqovcbikvjsutgkofdftucjozkjfvdrtibmgsamwnfersrhrmtnyjtqa\n", - "znkjkgteaifzbxmvvu -7028.0059663889815 uwkkhhanfylzqnewqdzekemtsuoyhilidtunfmqohhmbxohdpdsmldkcccvtalswzdvceg\n", - "uxqvanvrpyxgziubxcr -6982.122698636211 zmeyrayaqitsscwqovcbikvjsjtgkojdftucjozkjfvdctibmcsamwnfersrhrminyjtua\n", - "uxqvangrpyxckiubxcr -6975.152104766236 zmeyranaqitwhcwqovcbikvjsutgkofoftucjozkjfvdrtibmghamwnfersrhrmtnyjtql\n", - "hnygzajdnftccysfmngn -6982.969513594722 mwwnsnkosbxwpmymzknnisxnaujiagezsdmefgnflihilsfdafrgnndknkpvbeicvofcwn\n", - "znkjkmteaifzbxmtvi -7025.582536121595 uwkkhbanfylzqneyqpzekemzsuoyhilidrubfmqohbmbxohdpdsolpkcccvzalswzdvcee\n", - "hnygdajwnftccysfmngn -6983.380102899884 mwwnonkvsbxwpmymzknnisxneujbagezsdmefgnflihihsfkafrgnndknkpvbeiczofvwn\n", - "hnygdajdnftccysdmggn -6977.63531750342 mwwnonkosbxwpmyozrnnisxneujiagezsdmcfznflihihsfdafrgnndmnrpvbeiczofcwn\n", - "ejmpnatwmenrnomrtggzf -6983.550897697864 paieenavtcdheweasrnbpztsodgwxozsalomeyjfslfctylfeohgnqeagmerhuefenmuro\n", - "ljmpnatvleytnomltggzf -6973.588037983909 iaieenawucsfewegsrnbpgtsodgwwnzdclomyyjfslyctylfepigcoeagserhuemenmuro\n", - "ljmpnptvmeytjomytgglf -6972.169397221218 iaieeyawtcsfiwetsrnppgtsodvwwozdchomlyjfelyctylqephgcoiagferhiemenmugo\n", - "sywmmofdpdxndcxvxzlnfh -6994.144602807341 blyhfzooqdtloitwoyinphspuaoxetlsoewilumulnpotxulmormuybkwirgasexrsrich\n", - "srlmmofdpnxndcxvqzlnfh -6971.525770363522 bsjhfzooqttloitwvyinphsijaoxetlcoewilufulnpoteflmormuobkwirghsexrsrbrh\n", - "sobdgzpekbcvpuoswleinfd -6975.3432808832895 bvtqloenvfodcqczpmpshjqzxodledoacbhooobdhlmocwpomikbccpmrjomylmdvuwdad\n", - "srwmmofdpnxndcxvxzlffh -6971.235162610228 bsyhfzooqttloitwoyivphsiuaoxetlcoewilumulfpoteulmormuobkwirgasefrsrbch\n", - "vzjllpwfaqaltcvngkkirstc -6949.596110750763 ykligyxmfqqnyivefnjsdwayuxiomjejczudgifoonvdiqongonrthlfqrixgekwstpcoc\n", - "souegzpekbcvpkoswleinjd -6978.606418767411 bvaploenvfodcaczpmpshfqzxheledoacbhoeobdhlmogwpothkbccpmrjowylmdvuwzad\n", - "zouegzpekbcvpuoswlejnjd -6987.052312133232 uvaploenvfodcqczpmprhfqgxheledoacbhooobdhlnogwiothkbccpmrjomylmdvtwzak\n", - "vzjllpwfmkaltcvngkkiruuc -6944.513117885064 ykligyxmtwqnyivefnjsduzyuxiomjejotudgifoonvdispngonrthlfexixgekwstpcoa\n", - "cdhsjxlxmtjodmmbswnnqijay -6963.159728275833 rgnbiqiutnhkoyeqtbgnegkauqnjrzlnnwxjuccodhdpyiibarfswzqdfdgddsnisddchu\n", - "vzjllpcfaqathcvngkkidutc -6955.90362033502 ykligyrmfqqfkivefnjsruayuxiomjkjczuluifoonvdusongonrthffqripsekwstpcca\n", - "ppistxlxmtjotmmiswcnqijay -6968.239056729979 eumbyqiutnhkyyejtbrnegkaudzkrjlnnwxjuscokhdeyiibarsgvzgdfdgddsxiswdcsu\n", - "cdhstxsxbtjotmfiewnnqijay -6978.60393752392 rgnbyqbuenhkyyljhbgnegkauqnjrjlunlxjuschktdpyiibarfswzgdydrddsxizwrchu\n", - "fvqgmkxcailzsoftjropbwpdhg -6964.735954952727 ooenfdwpfyfzzwlycgfltsexlbfiouwslafszrbwiccpgbvtwokeaibuwyrahuqtfkcdud\n", - "fvdgmghcpilzlofthrhpbwpdhg -6947.107825407491 oornfhmpqyfzgwlyegmltsexlbfibuwovauszruwicapzbvtwokeaiouwchasuqtmkcdwd\n", - "fvqgngxcailslonthrhpbupdhg -6953.44491576294 ooenehwpfyfggwdyegmltuexlbfiouxolafszkuwqcapzbvrwokeaibuvcrahuqamkudwd\n", - "tntlofylzvtyuvcbqrftdxjpzlz -6892.544132780427 awbidivgglxaxpoqvgohrrkltwuwwgtszuekttavemoafyhujbkmjwtsmxkbsifrngpbke\n", - "tzzloyylzgtyuvclqefsdojpolz -6903.21916908661 akvidpvggaxaxpogvtoiraklewuwimtssueketavemyasyguabkbjwtggxkisifgngpbku\n", - "phsdmnceefuwtojcjeybyrqslezq -6926.3758309980785 eccqfarnbbwcywhpctvzwxdihdugofzfcptddpeqvexgjttmeosxynvieldvkxwhdrgpbo\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tnzlpfylkvlyuvclqrfsdojpolz -6919.308576176754 awvicivgvlfaxpogvgoiraklewuwwmttzuevtlavemyafyguabkbjwtsgxjbsiurvgpbku\n", - "phedmgceefuwtcvcjujnyrqslego -6935.703102877288 ecqqfhrnbbwcyivpcdknwxdihdnioflfcitddpeqvsjgjjeyeosxyncgelrvkewhdrgpba\n", - "yyrfzuhgzjeszpdkcufmpetjxjihe -6914.186278818691 vldostmlgxmgsvnhjdoofkarvylpomqstxretkdgnijiedlxmglfovrddcqkutstcnacqf\n", - "iyrfzlhgdjeszpdkcufmpetjxjuhy -6906.874871752747 lldoscmlcxmgsvnhjdoofkarvyzpuwqstxietodgnijiedlxmglfovrpdwgkutsccnwcqf\n", - "phedmpvebfuwtojcjejbyrqslegq -6926.616070468776 ecqqfyynebwcywhpctkzwxdihdngoflfcrmdapeqvexgjtemeosxyncielrvkvdhgrgpbo\n", - "iytfzuhgdjeszpdkbufmpetjxjuwa -6906.0823365814385 llbostmlcxmgsvnhkdoofkarvyzaswqutxretodgnijieclxmglfovrpsygkststcnwcqf\n", - "eooiytgprcfnysjgithzfuhqyggbla -6910.472401779521 pvgltuncoelltshldembpumkubnvhhmaberwromoipldeblhokgltgvnfvvtamogpktrke\n", - "eooiytgprcfnfdqgizgouuhqxgghfw -6892.443901663501 pvgltuncoellmhaldynmaumkvbnpnlmaberwromoipsolblnnzvltgunfbppamogpktrke\n", - "eoyiytgewcfnfdjgxzgzuqhqxgghfa -6909.40519659585 pvwltunnjellmhhloynbaymkvbnpnhmalerwrdroipsoebannkvhtgunfbptamegpktcfe\n" - ] - }, - { - "data": { - "text/plain": [ - "[('eooiytgprcfnfdqgizgouuhqxgghfw', -6892.443901663501),\n", - " ('tntlofylzvtyuvcbqrftdxjpzlz', -6892.544132780427),\n", - " ('tzzloyylzgtyuvclqefsdojpolz', -6903.21916908661),\n", - " ('iytfzuhgdjeszpdkbufmpetjxjuwa', -6906.0823365814385),\n", - " ('iyrfzlhgdjeszpdkcufmpetjxjuhy', -6906.874871752747)]" - ] - }, - "execution_count": 53, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(sscb101, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" - ] - }, - { - "cell_type": "code", - "execution_count": 54, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "qqx -7188.923798252416 zoosdxtsdossfzbgivgdahqrahztbczqsyscvzoltlvrimjnzmiftgovrskdaqyvvvagma\n", - "czenm -7178.395623201685 nfhefygowcmpfvrzsrruwvcanbvriorwdpudxobmpcsjhsydcodgcmflretphjxcwmmefe\n", - "mh -7233.434758525911 dxiujrceydmshzmmvkrbempfssybkairmgwoxdtdzwhomtocxtylhdmllvuzybduizncuy\n", - "czenm -7178.395623201685 nfhefygowcmpfvrzsrruwvcanbvriorwdpudxobmpcsjhsydcodgcmflretphjxcwmmefe\n", - "czenm -7178.395623201685 nfhefygowcmpfvrzsrruwvcanbvriorwdpudxobmpcsjhsydcodgcmflretphjxcwmmefe\n", - "lhjn -7188.6160908747415 excenojrntbegyshbyueupznnirgvtblzehjunjxymxnvvdiqaswpobsiseckixtblyigp\n", - "qqx -7188.923798252416 zoosdxtsdossfzbgivgdahqrahztbczqsyscvzoltlvrimjnzmiftgovrskdaqyvvvagma\n", - "lhjn -7188.6160908747415 excenojrntbegyshbyueupznnirgvtblzehjunjxymxnvvdiqaswpobsiseckixtblyigp\n", - "mh -7233.434758525911 dxiujrceydmshzmmvkrbempfssybkairmgwoxdtdzwhomtocxtylhdmllvuzybduizncuy\n", - "qqx -7188.923798252416 zoosdxtsdossfzbgivgdahqrahztbczqsyscvzoltlvrimjnzmiftgovrskdaqyvvvagma\n", - "mh -7233.434758525911 dxiujrceydmshzmmvkrbempfssybkairmgwoxdtdzwhomtocxtylhdmllvuzybduizncuy\n", - "lhjn -7188.6160908747415 excenojrntbegyshbyueupznnirgvtblzehjunjxymxnvvdiqaswpobsiseckixtblyigp\n", - "homnok -7174.1189068053145 iqzedbdfbdhuqmsiacwzdftplynopmhthjtimyjxzrumkkberjluekcfmmbkqvpjkjfgsr\n", - "homnok -7174.1189068053145 iqzedbdfbdhuqmsiacwzdftplynopmhthjtimyjxzrumkkberjluekcfmmbkqvpjkjfgsr\n", - "homnok -7174.1189068053145 iqzedbdfbdhuqmsiacwzdftplynopmhthjtimyjxzrumkkberjluekcfmmbkqvpjkjfgsr\n", - "mnojqqbg -7117.068189133959 drxibvkpxqnnswjwkgzydrkvxrrvfkiwxgrzohikvtplfaslqcgtaobdhezbsmasepwapo\n", - "bcaahnn -7141.143197846291 oclrkyyhywtlvtmnldbqcbggewarhvmnyxrnyfdivitmoesadcjqbwtlvxptwhqaoecfak\n", - "bcaahnn -7141.143197846291 oclrkyyhywtlvtmnldbqcbggewarhvmnyxrnyfdivitmoesadcjqbwtlvxptwhqaoecfak\n", - "mnojqqbg -7117.068189133959 drxibvkpxqnnswjwkgzydrkvxrrvfkiwxgrzohikvtplfaslqcgtaobdhezbsmasepwapo\n", - "bcaahnn -7141.143197846291 oclrkyyhywtlvtmnldbqcbggewarhvmnyxrnyfdivitmoesadcjqbwtlvxptwhqaoecfak\n", - "unjwyluun -7093.233537959761 vrcvtarbnmttyytugjascpvynrhtqzdwwkrnabrdwdwtghzeizsimimptygckotjwaxvfq\n", - "unjgyluun -7098.885136385851 vrcltarbnmttiytugjascfvynrhtqznwwkrnabrtwdwtghzeszsimimptogckotjwahvfq\n", - "mnojqqbg -7117.068189133959 drxibvkpxqnnswjwkgzydrkvxrrvfkiwxgrzohikvtplfaslqcgtaobdhezbsmasepwapo\n", - "unjwyluun -7093.233537959761 vrcvtarbnmttyytugjascpvynrhtqzdwwkrnabrdwdwtghzeizsimimptygckotjwaxvfq\n", - "auxxmbkgvt -7097.350245803218 pkoufkbpfovlfxobghhxacoutwkmbespgdpyjfpcakahejrqwtvufhpfgqjbxgwowoplyz\n", - "auxxmbkgvt -7097.350245803218 pkoufkbpfovlfxobghhxacoutwkmbespgdpyjfpcakahejrqwtvufhpfgqjbxgwowoplyz\n", - "ltpppowdmnu -7121.198005400606 elwccxpsouqrivrjkhuxbxcjmghjbhvqxvzinkhfleqnyisiboqtbygqpoxtekiunnfmtd\n", - "gzurfutoobwc -7034.737033321783 jframrshmgotkmclvfuejhfyxloinwynlqdwwgcyfdixirxzpptgallrppivdliplikksl\n", - "vtppnowdmnu -7113.259321680577 ulwcexpsouqbivrhkhuxbxsjmgjjbhvqxfzinihfleqnoisidoqtbygapoxrekiunnvmtd\n", - "auxxmbkgvt -7097.350245803218 pkoufkbpfovlfxobghhxacoutwkmbespgdpyjfpcakahejrqwtvufhpfgqjbxgwowoplyz\n", - "vtppnowdmnu -7113.259321680577 ulwcexpsouqbivrhkhuxbxsjmgjjbhvqxfzinihfleqnoisidoqtbygapoxrekiunnvmtd\n", - "gzurfutoobwc -7034.737033321783 jframrshmgotkmclvfuejhfyxloinwynlqdwwgcyfdixirxzpptgallrppivdliplikksl\n", - "gzurfutoobwc -7034.737033321783 jframrshmgotkmclvfuejhfyxloinwynlqdwwgcyfdixirxzpptgallrppivdliplikksl\n", - "mqytafzmzwvuo -7030.50253066716 donyrgmjblpbfofyjfgzmmicgscoksnlvlwmrlyeepoximpzzekgbkeaaytftbxlfslxha\n", - "mqytafzmzwvuo -7030.50253066716 donyrgmjblpbfofyjfgzmmicgscoksnlvlwmrlyeepoximpzzekgbkeaaytftbxlfslxha\n", - "mqytafzmzwvuo -7030.50253066716 donyrgmjblpbfofyjfgzmmicgscoksnlvlwmrlyeepoximpzzekgbkeaaytftbxlfslxha\n", - "ncxgnuiqzmiybw -7032.7166603264695 ccolerdfbvcxsvrjtliusiswfayyrszgmdqmbvlgubpsubosvjujuizniolteigmrkbtin\n", - "ncxgnuiqzminbw -7024.9514014390525 ccolerdfbvcisvrjtliusiswfpyyrszgmdqmbvlrubpsubosvjujuxzniolteigmrkbein\n", - "ncxgnuiqzminbw -7024.9514014390525 ccolerdfbvcisvrjtliusiswfpyyrszgmdqmbvlrubpsubosvjujuxzniolteigmrkbein\n", - "cdiyaiaohgyiiqb -7024.040156625367 nbdtrdlhtbmnlbsygttuscmygldihjulbeocrfsahwydknpuhhtnawthbickflhoeaiblh\n", - "vliwmtcxoigeqtxl -7018.699931724342 utdvfsjymzerdywandjqqvktvymcfdwrhuzedwgnxbuioeeeebwacsnbaflmewxrhszbfi\n", - "cdiyaiaohgyiiqb -7024.040156625367 nbdtrdlhtbmnlbsygttuscmygldihjulbeocrfsahwydknpuhhtnawthbickflhoeaiblh\n", - "cdiyaiaohgyiiqb -7024.040156625367 nbdtrdlhtbmnlbsygttuscmygldihjulbeocrfsahwydknpuhhtnawthbickflhoeaiblh\n", - "vliwmtcxoigeqtxl -7018.699931724342 utdvfsjymzerdywandjqqvktvymcfdwrhuzedwgnxbuioeeeebwacsnbaflmewxrhszbfi\n", - "vliwmtcxoigeqtxl -7018.699931724342 utdvfsjymzerdywandjqqvktvymcfdwrhuzedwgnxbuioeeeebwacsnbaflmewxrhszbfi\n", - "ntnwhqlpuxkcgoqzm -6989.186858580849 clyvkvaggkatnddmvubnadyrbrgtpopoicotgrnibypeasmgxntqmicbpfhfoajjfwiiro\n", - "ntnwhqlpuxkcgoqzm -6989.186858580849 clyvkvaggkatnddmvubnadyrbrgtpopoicotgrnibypeasmgxntqmicbpfhfoajjfwiiro\n", - "ntnwvqlpuxkcsoqzm -7005.083778098875 clyvwvaggkatbddmvubnaryrbrgtpapoicotgrzibypeasagxntqmicppfhfoajvfwiiro\n", - "kbrpertcqwrbzxbjxf -7031.043746542545 fducnustkltuuusckrhiblgxpegiphyxcvydmjpvmcrgnzlonytjhlhfiltsbuowafidor\n", - "kbrpertcqwrbzxbkxf -7025.667788018841 fducnustkltuuusbkrhiblgxpegiphyxcwydmjpvmcrgnzlonytihlhfiltsbuowafidos\n", - "kbrpertcqwrbzxbjxf -7031.043746542545 fducnustkltuuusckrhiblgxpegiphyxcvydmjpvmcrgnzlonytjhlhfiltsbuowafidor\n", - "olkzgrwzdxdftaipela -6980.4065047696295 btbslupwxkhqarlwdlmkcmbgniuwyucrdmmrifgegyaxlnexrtebtccgsabouaekypykow\n", - "olkzgrwzdmdftaipela -6994.064160707703 btbslupwxvhqarlwdlmkcmbgniuwnucrdmmrifgegyaxlneirtebtccgsabouaekypnkow\n", - "olksgrwzdxdftaipela -6986.9059255135835 btbzlupwxkhqarlwdlmkcmugniuwyucrdmmrifgegfaxlnexrtebtccgsabonaekypykow\n", - "zmgrahdowzpvyvpajmwu -6972.1343530435415 qsfareiheivavwelykqrfvorqtimetxrzbejvhapnestdosjhcyngnpfczfffwjcifdsay\n", - "zmgrahdqwzpvyvpajmwu -6970.494739546974 qsfareifeivavwelykqrfvorqtioetxrzbejvhapnestdoshhcyngnpfczfffwjcifduay\n", - "ovfkrojgclllsjcxgdqgn -6964.750775323682 bjghaxcpywzkbirobtwfimklaxtrtdwskwadfqxknruaihdcucsinexoubpxinkblloyfg\n", - "zmgrahdqwzpvyvpajmsu -6976.778821328882 qsfareifeivavwelykurfvorqtioetxrzbejvhwpnestdoshhcyngnpfczjffwjcifduay\n", - "ovfkroygclllsjhxgdqkn -6965.717646058455 bjghaxnpywzkbimobtwbimklaxtgtdwskwaifqxkrruaihdcfcsinexopbpxijkblloyfv\n", - "obfkrojgckllsjcxgdqkn -6958.528199546644 bdghaxcpyxzkbirobtwbimqlaxtrtdvskwadfqxkrruuihdcucsjnexoubpxijkbrloyfg\n", - "hnsvvqmejwysggxeeulpnw -6981.521136876386 irtwwvzrrlmdnlwhdcbwirlaobuyjkbgiuvjxknerdytihmurxmueilucxikfwksnanuvg\n", - "hnsvzjmejwysvkxreulpnw -6972.8606718483215 irtwsczrrlmdyhwudcbwirlaobyrjkbgiuknxxnerdytihmunemueiluntixfwksnanuvg\n", - "jnhepwslneqridyrqyctiyv -6985.52080086706 grencptknduelovuryksnpylqtdrtiierdejfwwpupoxejpfsselxgpxucwpwembwfyxyl\n", - "hnsuvjmejwysvkxreuzpnw -6972.323600809045 irtxwczrrlmdyhwudcnwirlaoaurjkbgiuknxxnefdytihmvremueiluntixfwwsnanuvf\n", - "jnhepwslneevidysqgchikv -6982.445603331579 grencptkndgalovtrqkendylqtdrtiierrijfwxpcpcxqjpfsselxgpxgywpwdmtwrylyl\n", - "jnhepwslneevidyrqgvtiyv -6978.602518598712 grencptkndgalovurqrsnpylqtdrtiierrijfwwpcioxejpfsselxgpxgywpwemtdfyxyl\n", - "tgplkewzntquqatdnjusysav -6940.719260741286 wywghhpwnoubdraiunstxvtwlzunbudvhjotqaqyymorwmhzawbreuqtqxrbcalxnhhklo\n", - "ekmnedomqvapfnfpjvqkfugxl -6959.699411704652 luzenixjkmkgoeowybwbqtnuwmwueokulnwkndmswbfosrhirzjilkfedvsyinyjtxuwti\n", - "tgplkiwzztquqatdnjusyyaa -6935.569781602574 wywghdpwboubdraiunstxptrlzunbydvtjotqaqyymorwsheawbreqqtexrbcalxnhhkli\n", - "tgplkiwzztqmqatnnjtsysaa -6939.423499936527 wywghdpwboujdrayunttxvtrlzunbydvtjolqaqiymnrwmheawbreqqtexrjcalnnhiklo\n", - "skanedtmqkapvgfpjvbkfugxl -6975.1207376821185 xulenisjkxkgylowyblbqtnuwawieokzlnlkntfswbfzsrhirzvixkfeyvsjiniqtxuwii\n", - "sktnedoiqvapfnfpjvqkfugxl -6958.528281389181 xusenixnkmkgoeowybwbqtnuwawbeokuhnwkndmswbfosrhirzviekfedzsyinyjtxuwti\n", - "kwdysvjvmsfpxnbnikzitpnuyf -6945.809086014882 fiitzqcaopfgwesyzmndcygxjsllaitbsxufolucabhygeyxfymmudtgefnxyvnkrrvaac\n", - "kwdysvjvmsfpxnbnikzitlmvjf -6950.86849715853 fiitzqcaopfgwesyzmndcchwysllaitbsxufolucabhygeytezxmudtgefnxyvnkrrvaac\n", - "ykzuyyqtuogxhgyleetwombzcth -6895.747643140915 rumxtnvcgteymlvadstphbssfejcopvyhcgoansuheghbolokddzbfrailhnqunvybbudu\n", - "kwdydvjvmsfpxnbnikzidlmuyf -6946.877732759978 fiitoqcaopfgwesyzmndschxjsllaiebsxufolucabhygeiteymmudtgtfnxyvnkrrvaac\n", - "yziyvdrpyxvzqxpaasrenptrcbbs -6913.937732891996 rfdtwiugckpwduelhevhiyaafwpbrwpyypoorhbkpfczmdfodxveasengkqwulnhumursv\n", - "ykzuylqtsogqhgylletwoobocth -6899.74271779521 rumxtavcitefmlvawstphzsdfejcopvyucgmanluhegobolomdszbfrailhaqupvyibudu\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "yziypdrpyivzzxjaasrenptrvbbs -6923.939151207332 rfdtciugczpwuuklhevhiyaamwpbrwpyspoorsbkyfwzmdfodxvetsengkqwalnhuburjv\n", - "ykzunyftuogqogylletwombxcth -6901.007415520021 rumxengcgtefflvawstphbsufejcopvnhrgoanlbhegobolokdbzbfrailsnbunvyiuudu\n", - "yziyvhrpyxvzqhjassrenptrvbbs -6914.087513389192 rfdtweugckpwdkklpevhiyaamwpbrwpyytoorhbkppwzedfodxvetsengkqwuhnhumursl\n", - "jeijwzghbdobtdxbdlkmrwvfngxho -6917.982086880759 gadivmfozewuaowkelczerymurtmuvsomcwpfsmkyzsojdptmregtucvlmkceozzwodpxc\n", - "jeijwzgabdobthxhdwkmrwvqbgqho -6907.794025935657 gadivmfvzewuakweeaczerybgramuvsomcwpysmkyzwopdatmregeicolmkceozzwvdpxc\n", - "jeijkzghbdobthxhxwkmrqvfbgqho -6915.101088587346 gadihmfozewuakwekaczexymgramuvsomqwpfsmkyzwopxatmrygticolmkceolzwodpxc\n", - "qvetxhzifjcqtlgozsnnklqyfnkegj -6897.599274496619 zjhyuemnvyifagnxiezylcdtckgpcstinzoqhevikugegksrmxkccvrerrdczsowxdoxms\n", - "qvetxhzimjcdtlgzzsnnklqyznkegj -6877.555813144438 zjhyuemnoyisagnmiezylcdtikgpcstinzoqhecikhgegvsrmxkccvlerrdczsowxdoxfs\n", - "qveuxhzgmjcdtlgzmgnnllqyznkegj -6890.251022748855 zjhxuempoyisagnmvqzykcdtikgpcstinaoqhccikhgegvffmxlccvlerrdczsovxdozfs\n" - ] - }, - { - "data": { - "text/plain": [ - "[('qvetxhzimjcdtlgzzsnnklqyznkegj', -6877.555813144438),\n", - " ('qveuxhzgmjcdtlgzmgnnllqyznkegj', -6890.251022748855),\n", - " ('ykzuyyqtuogxhgyleetwombzcth', -6895.747643140915),\n", - " ('qvetxhzifjcqtlgozsnnklqyfnkegj', -6897.599274496619),\n", - " ('ykzuylqtsogqhgylletwoobocth', -6899.74271779521)]" - ] - }, - "execution_count": 54, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "autokey_sa_break(srscb101, result_count=5, workers=3, max_iterations=10000, max_keylength=30)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 153, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "wmp dfl -4.418196113825667 -6.441296878417733\n", - "mpm tii -3.393196576206839 -5.683999866694839\n", - "pmm wfi -4.4470418602740445 -6.643642546739942\n", - "mmx tft -3.7622657137808746 -5.971084310281549\n", - "mxx tqt -5.15333756439006 -9.446952781050463\n", - "xxa eqw -5.58291509972592 -8.52281250477255\n", - "xae eta -3.0722171694945564 -4.389989178813335\n", - "aey hxu -5.621991279942018 -9.342586464997218\n", - "eyh lrd -3.9771459790186943 -6.060762551883337\n", - "yhb fax -5.699171733089354 -6.327788763433489\n", - "hbr oun -3.786042360072596 -4.563299298176571\n", - "bry iku -4.752608913603726 -7.338736047897285\n", - "ryo yrk -4.928643346805835 -6.2564610331676995\n", - "yoc fhy -4.484598825548913 -7.254528063451698\n", - "oca vvw -5.57314057757394 -9.741920214925333\n" - ] - } - ], - "source": [ - "the_shifts = [pos(l) for l in 'the']\n", - "for g in ngrams(st, 3):\n", - " pairs = zip(g, the_shifts)\n", - " pg = cat(caesar_decipher_letter(l, k) for l, k in pairs)\n", - " print(g, pg, Pletters(pg), Pbigrams(pg))" - ] - }, - { - "cell_type": "code", - "execution_count": 145, - "metadata": {}, - "outputs": [ + } + ], + "source": [ + "the_shifts = [pos(l) for l in 'the']\n", + "for g in ngrams(st, 3):\n", + " pairs = zip(g, the_shifts)\n", + " pg = cat(caesar_decipher_letter(l, k) for l, k in pairs)\n", + " print(g, pg, Pletters(pg), Pbigrams(pg))" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ { "data": { "text/plain": [ "8" ] }, - "execution_count": 145, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -7825,7 +1327,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 55, "metadata": {}, "outputs": [], "source": [ @@ -7843,7 +1345,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -7858,7 +1360,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 57, "metadata": { "scrolled": true }, @@ -7883,7 +1385,7 @@ " (14, 'oca', 'vvw', -7.241085616976659)]" ] }, - "execution_count": 87, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -7894,7 +1396,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 58, "metadata": {}, "outputs": [ { @@ -7912,7 +1414,7 @@ " (60, 'oiezhgva', 'mitthebi', -19.097227792350637)]" ] }, - "execution_count": 88, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -7924,7 +1426,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -7942,7 +1444,7 @@ " (470, 'kndzatfa', 'instarli', -19.326345426825057)]" ] }, - "execution_count": 89, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -7954,7 +1456,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -7972,7 +1474,7 @@ " (393, 'aaweqremw', 'yalandrew', -22.874135522319722)]" ] }, - "execution_count": 90, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -7984,7 +1486,7 @@ }, { "cell_type": "code", - "execution_count": 279, + "execution_count": 61, "metadata": {}, "outputs": [ { @@ -8002,7 +1504,7 @@ " (198, 'qhpalhrzin', 'ohewiteria', -25.16807652177263)]" ] }, - "execution_count": 279, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -8014,7 +1516,7 @@ }, { "cell_type": "code", - "execution_count": 258, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -8032,7 +1534,7 @@ " (198, 'qhpalhrzin', 'ohewiteria', -25.16807652177263)]" ] }, - "execution_count": 258, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -8044,7 +1546,7 @@ }, { "cell_type": "code", - "execution_count": 259, + "execution_count": 63, "metadata": {}, "outputs": [ { @@ -8062,7 +1564,7 @@ " (3471, 'dmpwgkinz', 'lmecorath', -23.324033123494115)]" ] }, - "execution_count": 259, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -8074,7 +1576,7 @@ }, { "cell_type": "code", - "execution_count": 260, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -8092,7 +1594,7 @@ " (1251, 'loebawmlm', 'tothideru', -22.753986783662953)]" ] }, - "execution_count": 260, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -8104,7 +1606,7 @@ }, { "cell_type": "code", - "execution_count": 261, + "execution_count": 65, "metadata": {}, "outputs": [ { @@ -8122,7 +1624,7 @@ " (166, 'vrwzveawq', 'cksorysid', -25.28229966547485)]" ] }, - "execution_count": 261, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -8134,7 +1636,7 @@ }, { "cell_type": "code", - "execution_count": 262, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -8152,7 +1654,7 @@ " (1411, 'mlhtgzagb', 'tedictsso', -23.104599762846068)]" ] }, - "execution_count": 262, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -8164,7 +1666,7 @@ }, { "cell_type": "code", - "execution_count": 263, + "execution_count": 67, "metadata": {}, "outputs": [ { @@ -8182,7 +1684,7 @@ " (809, 'fmcilmfl', 'xprefery', -20.403792472851666)]" ] }, - "execution_count": 263, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -8194,7 +1696,7 @@ }, { "cell_type": "code", - "execution_count": 264, + "execution_count": 68, "metadata": {}, "outputs": [ { @@ -8212,7 +1714,7 @@ " (916, 'fjtalmziwf', 'xmataitais', -28.607408176522604)]" ] }, - "execution_count": 264, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -8224,7 +1726,7 @@ }, { "cell_type": "code", - "execution_count": 265, + "execution_count": 69, "metadata": {}, "outputs": [ { @@ -8242,7 +1744,7 @@ " (2095, 'ktviahwf', 'itersess', -16.817880160467876)]" ] }, - "execution_count": 265, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -8254,37 +1756,37 @@ }, { "cell_type": "code", - "execution_count": 223, + "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[(2979, 'pevzwheg', 'neeioeat', -8.347568387104701, -16.59092906169867),\n", - " (1724, 'ftfjclrg', 'dtosuint', -9.614171088757637, -16.504339022595744),\n", - " (1812, 'xerjwhma', 'veasoein', -9.554148337913942, -16.388657370798327),\n", - " (3136, 'knkkmrge', 'intteocr', -9.326786465994122, -16.289767888526814),\n", - " (2229, 'gtlzavia', 'etuissen', -9.127338280958257, -16.197777812485988),\n", - " (1647, 'pgvtprvh', 'ngechoru', -10.47826904780876, -16.060787758919126),\n", - " (2826, 'crizlhrn', 'arridena', -9.295415623602313, -16.011909396417618),\n", - " (116, 'rrvrtbwb', 'prealyso', -10.351713011275443, -15.956419753238384),\n", - " (4002, 'crizlhrt', 'arrideng', -9.9142564234083, -15.777052261639998),\n", - " (3724, 'ctvjmqrz', 'atesennm', -9.08918293027495, -15.770059699035837)]" + "[(3724, 'ctvjmqrz', 'atesennm', -20.773714800352973),\n", + " (3774, 'crizlhre', 'arridenr', -20.672984933887122),\n", + " (4277, 'ghzeiocs', 'ehinalyf', -20.658964492527073),\n", + " (116, 'rrvrtbwb', 'prealyso', -20.383713774610182),\n", + " (2825, 'vcrizlhr', 'tcarride', -20.314442468008288),\n", + " (3773, 'vcrizlhr', 'tcarride', -20.314442468008288),\n", + " (4001, 'vcrizlhr', 'tcarride', -20.314442468008288),\n", + " (4002, 'crizlhrt', 'arrideng', -20.025819952039228),\n", + " (2826, 'crizlhrn', 'arridena', -19.966185971501325),\n", + " (34, 'lozealrx', 'joinsink', -19.462213220012078)]" ] }, - "execution_count": 223, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results = autokey_seek('carriden', rscb)\n", - "sorted(results, key=lambda r: r[4])[-10:]" + "sorted(results, key=lambda r: r[3])[-10:]" ] }, { "cell_type": "code", - "execution_count": 266, + "execution_count": 74, "metadata": { "scrolled": true }, @@ -8304,7 +1806,7 @@ " (1550, 'otzqhqbqfmcblm', 'ctionywicirtru', -42.53263877954705)]" ] }, - "execution_count": 266, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -8316,7 +1818,7 @@ }, { "cell_type": "code", - "execution_count": 268, + "execution_count": 75, "metadata": { "scrolled": true }, @@ -8336,7 +1838,7 @@ " (3814, 'emzpzglzhvzvfa', 'sminfogreronli', -41.6349660094247)]" ] }, - "execution_count": 268, + "execution_count": 75, "metadata": {}, "output_type": "execute_result" } @@ -8348,7 +1850,7 @@ }, { "cell_type": "code", - "execution_count": 270, + "execution_count": 76, "metadata": {}, "outputs": [ { @@ -8366,7 +1868,7 @@ " (693, 'rbpez', 'andem', -8.641276141783493)]" ] }, - "execution_count": 270, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -8378,7 +1880,7 @@ }, { "cell_type": "code", - "execution_count": 271, + "execution_count": 77, "metadata": {}, "outputs": [ { @@ -8396,7 +1898,7 @@ " (3038, 'gfaua', 'proun', -8.586035154281198)]" ] }, - "execution_count": 271, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -8408,7 +1910,7 @@ }, { "cell_type": "code", - "execution_count": 272, + "execution_count": 78, "metadata": {}, "outputs": [ { @@ -8426,7 +1928,7 @@ " (3575, 'fhvvzjqgv', 'atecreics', -23.86243429804511)]" ] }, - "execution_count": 272, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } @@ -8438,7 +1940,7 @@ }, { "cell_type": "code", - "execution_count": 273, + "execution_count": 79, "metadata": {}, "outputs": [ { @@ -8456,7 +1958,7 @@ " (691, 'hfvtdftxh', 'creavalte', -23.576969563723157)]" ] }, - "execution_count": 273, + "execution_count": 79, "metadata": {}, "output_type": "execute_result" } @@ -8468,7 +1970,7 @@ }, { "cell_type": "code", - "execution_count": 275, + "execution_count": 80, "metadata": {}, "outputs": [ { @@ -8486,7 +1988,7 @@ " (1428, 'bbtlagtvivimqvv', 'vbahisotierenri', -49.79512612365323)]" ] }, - "execution_count": 275, + "execution_count": 80, "metadata": {}, "output_type": "execute_result" } @@ -8498,7 +2000,7 @@ }, { "cell_type": "code", - "execution_count": 276, + "execution_count": 81, "metadata": {}, "outputs": [ { @@ -8516,7 +2018,7 @@ " (3994, 'nggivftvcrizlhr', 'hgnedrotcarride', -49.321188855519125)]" ] }, - "execution_count": 276, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } @@ -8528,7 +2030,7 @@ }, { "cell_type": "code", - "execution_count": 277, + "execution_count": 82, "metadata": { "scrolled": true }, @@ -8548,7 +2050,7 @@ " (1228, 'ktrwkwqmhtmcbl', 'etyssiltaphoks', -46.94309949621737)]" ] }, - "execution_count": 277, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } @@ -8560,7 +2062,7 @@ }, { "cell_type": "code", - "execution_count": 278, + "execution_count": 83, "metadata": { "scrolled": true }, @@ -8580,7 +2082,7 @@ " (1381, 'cthlahtwwswbfg', 'wtohitodpornon', -45.23713792080447)]" ] }, - "execution_count": 278, + "execution_count": 83, "metadata": {}, "output_type": "execute_result" } @@ -8592,7 +2094,7 @@ }, { "cell_type": "code", - "execution_count": 282, + "execution_count": 84, "metadata": { "scrolled": true }, @@ -8612,7 +2114,7 @@ " (1783, 'blwvvhqh', 'iesthemk', -19.13426965292788)]" ] }, - "execution_count": 282, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -8624,7 +2126,7 @@ }, { "cell_type": "code", - "execution_count": 281, + "execution_count": 85, "metadata": { "scrolled": true }, @@ -8644,7 +2146,7 @@ " (1040, 'taltsves', 'athresav', -19.414018974488442)]" ] }, - "execution_count": 281, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } @@ -8656,7 +2158,7 @@ }, { "cell_type": "code", - "execution_count": 283, + "execution_count": 86, "metadata": { "scrolled": true }, @@ -8676,7 +2178,7 @@ " (3842, 'jddmlmsh', 'gpresesu', -19.026003480730346)]" ] }, - "execution_count": 283, + "execution_count": 86, "metadata": {}, "output_type": "execute_result" } @@ -8688,7 +2190,7 @@ }, { "cell_type": "code", - "execution_count": 284, + "execution_count": 87, "metadata": { "scrolled": true }, @@ -8708,7 +2210,7 @@ " (2787, 'qhqztoif', 'nteragis', -19.131491583368767)]" ] }, - "execution_count": 284, + "execution_count": 87, "metadata": {}, "output_type": "execute_result" } @@ -8720,7 +2222,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 88, "metadata": {}, "outputs": [], "source": [ @@ -8729,7 +2231,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 89, "metadata": {}, "outputs": [ { @@ -8737,27 +2239,27 @@ "text/plain": [ "[('caledonian', 6),\n", " ('salustiusw', 5),\n", - " ('inchtuthil', 5),\n", - " ('stracathro', 5),\n", - " ('hecaledoni', 5),\n", " ('ecaledonia', 5),\n", " ('thecaledon', 5),\n", - " ('fthecaledo', 3),\n", + " ('hecaledoni', 5),\n", + " ('inchtuthil', 5),\n", + " ('stracathro', 5),\n", " ('alustiuswa', 3),\n", - " ('nsalustius', 3),\n", - " ('salustiuss', 3),\n", - " ('salustiusa', 3),\n", " ('lustiuswas', 3),\n", " ('ofthecaled', 3),\n", + " ('fthecaledo', 3),\n", " ('ysalustius', 3),\n", - " ('hilsalusti', 2),\n", - " ('ledonianfo', 2),\n", - " ('aledonianw', 2),\n", - " ('nchtuthils', 2),\n", - " ('ustiuswasa', 2)]" + " ('nsalustius', 3),\n", + " ('salustiuss', 3),\n", + " ('salustiusa', 3),\n", + " ('mayhavebee', 2),\n", + " ('ayhavebeen', 2),\n", + " ('ingcaledon', 2),\n", + " ('ngcaledoni', 2),\n", + " ('gcaledonia', 2)]" ] }, - "execution_count": 66, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -8768,7 +2270,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 90, "metadata": {}, "outputs": [ { @@ -8776,27 +2278,27 @@ "text/plain": [ "[('salustius', 15),\n", " ('caledonia', 10),\n", - " ('aledonian', 6),\n", " ('ecaledoni', 6),\n", + " ('aledonian', 6),\n", " ('alustiusw', 5),\n", - " ('hecaledon', 5),\n", " ('thecaledo', 5),\n", + " ('hecaledon', 5),\n", " ('inchtuthi', 5),\n", - " ('tracathro', 5),\n", " ('nchtuthil', 5),\n", " ('stracathr', 5),\n", + " ('tracathro', 5),\n", " ('thelegion', 4),\n", - " ('fthecaled', 3),\n", - " ('ysalustiu', 3),\n", + " ('lustiuswa', 3),\n", " ('ustiuswas', 3),\n", " ('ofthecale', 3),\n", + " ('fthecaled', 3),\n", + " ('ysalustiu', 3),\n", " ('nsalustiu', 3),\n", - " ('lustiuswa', 3),\n", " ('alustiuss', 3),\n", " ('alustiusa', 3)]" ] }, - "execution_count": 67, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -8807,7 +2309,7 @@ }, { "cell_type": "code", - "execution_count": 285, + "execution_count": 91, "metadata": { "scrolled": true }, @@ -8918,7 +2420,7 @@ }, { "cell_type": "code", - "execution_count": 286, + "execution_count": 92, "metadata": { "scrolled": true }, @@ -9029,37 +2531,37 @@ }, { "cell_type": "code", - "execution_count": 224, + "execution_count": 95, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[(2979, 'pevzwheg', 'neeioeat', -8.347568387104701, -16.59092906169867),\n", - " (1724, 'ftfjclrg', 'dtosuint', -9.614171088757637, -16.504339022595744),\n", - " (1812, 'xerjwhma', 'veasoein', -9.554148337913942, -16.388657370798327),\n", - " (3136, 'knkkmrge', 'intteocr', -9.326786465994122, -16.289767888526814),\n", - " (2229, 'gtlzavia', 'etuissen', -9.127338280958257, -16.197777812485988),\n", - " (1647, 'pgvtprvh', 'ngechoru', -10.47826904780876, -16.060787758919126),\n", - " (2826, 'crizlhrn', 'arridena', -9.295415623602313, -16.011909396417618),\n", - " (116, 'rrvrtbwb', 'prealyso', -10.351713011275443, -15.956419753238384),\n", - " (4002, 'crizlhrt', 'arrideng', -9.9142564234083, -15.777052261639998),\n", - " (3724, 'ctvjmqrz', 'atesennm', -9.08918293027495, -15.770059699035837)]" + "[(3724, 'ctvjmqrz', 'atesennm', -20.773714800352973),\n", + " (3774, 'crizlhre', 'arridenr', -20.672984933887122),\n", + " (4277, 'ghzeiocs', 'ehinalyf', -20.658964492527073),\n", + " (116, 'rrvrtbwb', 'prealyso', -20.383713774610182),\n", + " (2825, 'vcrizlhr', 'tcarride', -20.314442468008288),\n", + " (3773, 'vcrizlhr', 'tcarride', -20.314442468008288),\n", + " (4001, 'vcrizlhr', 'tcarride', -20.314442468008288),\n", + " (4002, 'crizlhrt', 'arrideng', -20.025819952039228),\n", + " (2826, 'crizlhrn', 'arridena', -19.966185971501325),\n", + " (34, 'lozealrx', 'joinsink', -19.462213220012078)]" ] }, - "execution_count": 224, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results = autokey_seek('carriden', rscb)\n", - "sorted(results, key=lambda r: r[4])[-10:]" + "sorted(results, key=lambda r: r[3])[-10:]" ] }, { "cell_type": "code", - "execution_count": 227, + "execution_count": 96, "metadata": {}, "outputs": [ { @@ -9068,7 +2570,7 @@ "'g'" ] }, - "execution_count": 227, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } @@ -9079,7 +2581,7 @@ }, { "cell_type": "code", - "execution_count": 228, + "execution_count": 97, "metadata": {}, "outputs": [ { @@ -9088,7 +2590,7 @@ "(19, 13, 32)" ] }, - "execution_count": 228, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -9099,7 +2601,7 @@ }, { "cell_type": "code", - "execution_count": 229, + "execution_count": 98, "metadata": {}, "outputs": [ { @@ -9108,7 +2610,7 @@ "'n'" ] }, - "execution_count": 229, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" } @@ -9119,7 +2621,7 @@ }, { "cell_type": "code", - "execution_count": 239, + "execution_count": 99, "metadata": {}, "outputs": [ { @@ -9128,7 +2630,7 @@ "'rilynqnrdkgclphrbvinyaehtquonatalsrirychaanmnggivftvcrizlhrttjtfkxalivjzaebilletapvwzlitotsostrarddnqzlruhhril'" ] }, - "execution_count": 239, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -9139,7 +2641,7 @@ }, { "cell_type": "code", - "execution_count": 250, + "execution_count": 100, "metadata": {}, "outputs": [ { @@ -9148,7 +2650,7 @@ "'tcarridenthe'" ] }, - "execution_count": 250, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -9159,7 +2661,7 @@ }, { "cell_type": "code", - "execution_count": 233, + "execution_count": 101, "metadata": {}, "outputs": [ { @@ -9168,7 +2670,7 @@ "'zddntvcrizlhrntkvqmivjgslgqrhbwalsnqzvgltgkwmszalmypevdvtspkoobmfqayalgfygzolmvj'" ] }, - "execution_count": 233, + "execution_count": 101, "metadata": {}, "output_type": "execute_result" } @@ -9179,7 +2681,7 @@ }, { "cell_type": "code", - "execution_count": 235, + "execution_count": 102, "metadata": {}, "outputs": [ { @@ -9188,7 +2690,7 @@ "'tcarriden'" ] }, - "execution_count": 235, + "execution_count": 102, "metadata": {}, "output_type": "execute_result" } @@ -9199,7 +2701,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 103, "metadata": {}, "outputs": [ { @@ -9208,7 +2710,7 @@ "'ycerevvtltfiewhxbxxalvfaanfkmzkjvvhdsvdyqlnlerhlnghkaiocsnqzeiocavghaabghzoebajclrgcumsnqwalgclpdrbvqxtvwjgvljaqbgxrgmhzayqamkkmvgalizfkjylnqrilkxbkhphjkstyhpavuvedizfaevzwrfqaqwxwoafaljtzwzkentgceqihguzkartwmxnlhptcsucthihqhvjaekkjtfevvrpzntsabgazlkrppthezuwlwdoabvctemhrhjjrdriljwpgzwzlruhhdnqstrardotsowzlitletapvbilivjzaexaljtfkttvcrizlhrnggivftnmaasrirychtalquonahtyaegclphrbvinnrdkynqrilerqewaauclrgcwmiayxzvavvtcditpllawtvjlwumkikczduvgaiazlpwmfxkryehezmilfkjypadhvjslfmlbcsnjzfhgxivjslwdgamnleucranqesrvzvfamnfzhvzpzglmaemzctdzwsnqwhlqafrlpstyaeqqrulvvetvcrizlhrvaokfjervvthzralhdycbehumlxhdndvltrmdvtzalmqrpctvjddhttalcacnghsetarfihqwaljtftfaglejprtlkoaqgctlsleavuanaalcrhcorewcsvnnqepbrstsrvzfvnwhwptvrtxwgaqwheekzgzdvtxpjotfmgnbvlrhcvzvkayfkoslfslbcmsnqlimfeqbixhwhogxveaebaaalqqzznfgttfrlwspaffufelkslfmlicmaaklbtwlroamnnnqlimghdhvypauqaymndhbehumlxhwaoianpimnfmvtarfamnflbtwxeenfkgaqxapvgzhaqizzrfgtarrwwydwfaxltbcgmnqlblyrofzwimkmharzevkalppwkanjarkahtlgcbgaeqqrjetwenlethrdrbovrnqpofvwsvvgkqqxhvrvlhtjihwaeqewpgzwsnqlfsbdgfuxvwkzastfirzmdhmeitwdgcbuhvzxofvgqbfalhvnhhtbugmlwrhhgkxtsemnleucdufamnfksfjpyfvaqeshdgkabmpfjllvtnpatbuqgclrgcwmwwibxhdnqzwtcjlhxhgbtslnuxjkhwahtmalrfamnfoavvwmfknkkmrgejuaakorrhwalrfwngtmqwkwrtkvthgslfmlbcmgfkjvzvtvtecgivrbzjhntkjtrkalplnqvgthalphrbvierijyqhgfauawhvsfjtpsksgkelwokevtyslfmlbumlhfvxnleghrfaqmnmlegxvehwhzpevzgclehrbvianqqrzevivxnlegalgalphrbvqphdwwkqqbqlbbwbfrfaqqgmltbbndrbgalvvqmivivtygzolmvjgfyalmfqaspkoobypevdvtzalmmszvgltgkwsnqwalgqrhbjgslkvqmivntvcrizlhrnrizddntovefaqaebaoinmalgqrhbtoifofqbqhqzfalfmlbcmlhqgrktivqhetahndklgqifoqrzzrrgxvixhgmwjtxvdetvnalwlitwadgkwwkwhtalqabfyxrujicmxtfxkvpyndlammhtgvallodthwhhkrdhxhhttnqwalvvqaivvvtrpkowbnnizvwgtyalmxqamtfypagkjfwvihrakcereivtubyjdtfypsgkjfsfjxrqslfmlbcmjzacodxhqhvvwlbumtbvtnpaxtsfvtbvqrwvtygvlaldgihqhvvwliumtxhwalpzmallnqxjgzonammrtwmxnlhptumucthkdvqqiloqrzzvsfxkryralwgzolmvjuhqhvypauqayanqhbmdgavtzhpaxfttlwlcmotodxjkqqrglalfmlbcmuqbqeqzrhkpuewpqivupagkjjkfusvrwsxbkpalqivqrtfsgzolmrctsogcthpzrhlkurvalrmcerjgthcmbpiotivtnhvzlhruhnrhkpumnqkllasfbhmalwmvulpxrrhvhrspirudrbknqfwhaivtzavianaleergtllgottbriafbhmalqmrbotfmmnytsogcthonqkpalhfpwetwqtfxkxapmuvgklnaaalmxqaspkowbuhdsmzkjvvhvwzzrvpjdwfafalpiogtnlvxahtpaskdzkhjburwngbonatrfihqtalqnzaclrgcumsnqkpaeqrqyqwrgxvpynqkuhtkvirvvgkhtalrbpmpvfamnfodvkavvvvhuwghwhsqmckitxhjnvgllujvksvtubgalfjbtxvsjtpstyalarifugnpgenqrrppckwimutlepermtyalmztoaymnqhvjslfslbcmsskslfmtbcmkugrgxhwhlvrnxyrrilffrgnbvlzfkovnvvtzhtntweaeeizyltjhvazehwalqqrjebadhgkumtbwbfgmajzhwhhxerjbznxbrralmztoaymnqhvdmrtumxnlhptcmucthkwsxnvnlwjptvjmudhhwhhrvetlwgtvxejwebajclrgcwmftfkalwskosthpaeqrgabmabwwslahtvcthviuewpqykvetxdzebajclrgcwszlgcrvjzfwjpgvtprvhdnraftfxkvpmtyalcqrhbxnqwhuktalvnebaaalwtkfbtkwlhtyaevvqmivvvtrpgowbanizvwsrrvwlxhvslfmlicmsnqkpayauruvxtfkalgtzmqwlalcfhdfqmyubmxhdggivslmalvfamnfglolmvjavrbzjantkjtfjsfjtasksgkjwfafaatalpwzbrerkhjcthctkjvvhtaljtfxkvpyndwaltgzagbrvslhqclrgcwmsnqkpaeqrfgwbwwslahtvcthonqkpaeqrevxnrerhwhqcrizlergalmzylerkszlevtuebaaaewzhmqstyalmrsbrxgivjebatalhhzdttvgaegqzootonahtddwjpcthamrthlhwalwmlmddofjoebaaalxpooqkctlejqjgntnponifjtfvtalqabghonnwaibbvthbrhkypgfjdaawbrhzibacdbtldsnqwwtxvwtfwndzddyqsszllhddgxvihzebajclggcwmklkrpetdwbonamhvpatorbshqhvypasrdailylgqbpgalphwalxklygodnmtyalgqrhxevzolvtovupstsveslialtxtalwwgwlzbrmfwfaqenqvghaemfqaspkowbprfgkwhwalwwethukvdmnviivfjvzwfdmksvtllnqiflwltefgjxhhgnbttvjrlgfpkrdyqdltxvwwvihiwfatalmzkhfdqrgofjuclphrbvqanqufamnnltsexalcpvwlxhdnqpmdhwsctznikgwgtluotlsnqvzlitxvtxrtbbnxhjtfkalizjsfjhhptdzrrnpgsjzvtqaeaebalbehumliwbgalcqdptiuhgbtealcfhdrvgqjzvvhvmzfnkkmrgejrhqobgbvhysbghhhljtfkkvwkstnbjdwamgamodevvgcthfvtdftxhwhhalppkgtnmgtyalbqasekowbtkquvnanqdtelslahnqehwalgqrhbqhhpaksfjooitxntxvggmddvtcofulvefaqstyhlvvgqjzvpmttalgqrhbxnqwhlvvxnlebtyaexpkoqkctlegaewsrxxrngxhtalqmlwaprurnnnqdwwruhhserfawbflhhalsmlmddjfjwechahfvggmdzefardatkndzllvehlcgidlrgalypvxbzvhiwfamuttbtrpqwvmikgkrzfpuwsvervmhwhhavgwbsrvzppkowbaaizvwtvnbpvdexapazpalhfpwetwcvwlhfvxhlmzyvbbilvrequmwgtwfaqaevvhhrvmhwalcqrhblqewfetrlgnzralkxvetlsctznnkgwgfhcthonqkpaeerevgqfulvtzhlmzktlpmahtryhphlalqagliubdfktngmtsksphvzyhqhvkakornsshpalhrzinnnqlbipinfeqkxvetejrhhtmhqqbgbvhexhdgfhxgvbbtalxklnatgmlbfgqbpgelphiofdmnlekrrvrtbwbflhqqaqcexbeetwcvwlbnctecgoxbkevgzahtmahtmkltadetwzbrhdybfxhzojauruhdxhgbtealroztalkrzfzwimoobqhvjgtyalenpkmrgpkfco'" ] }, - "execution_count": 2, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" } @@ -9221,7 +2723,7 @@ }, { "cell_type": "code", - "execution_count": 379, + "execution_count": 104, "metadata": {}, "outputs": [ { @@ -9239,7 +2741,7 @@ " (857, 'umlxhwaoia', 'smateingin', -24.245997114688997)]" ] }, - "execution_count": 379, + "execution_count": 104, "metadata": {}, "output_type": "execute_result" } @@ -9251,119 +2753,20 @@ }, { "cell_type": "code", - "execution_count": 380, + "execution_count": 106, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "nxi -7188.2502602155755 lfwgzzpumelwallxqmakzvvbfsefuvfpaqsdcdawnlrytajsnxpxdtrzzwrairoujhmyto\n", - "mr -7203.59570273695 mlsgmpjecpdtbdguvdcxjywcelbzlazjwmlrhewuurtulxworsqskqemobcyckmsodseiw\n", - "nxi -7188.2502602155755 lfwgzzpumelwallxqmakzvvbfsefuvfpaqsdcdawnlrytajsnxpxdtrzzwrairoujhmyto\n", - "mr -7203.59570273695 mlsgmpjecpdtbdguvdcxjywcelbzlazjwmlrhewuurtulxworsqskqemobcyckmsodseiw\n", - "mr -7203.59570273695 mlsgmpjecpdtbdguvdcxjywcelbzlazjwmlrhewuurtulxworsqskqemobcyckmsodseiw\n", - "iljqv -7182.278751432951 qrvbjfeykkaegmxxxrldoyopxzhwxclczyfsqwftyvrgltmuhvoygbtouhpgqohnufsang\n", - "jgxn -7193.128380570829 pwhepzopwurticqetvhwsayeinhgemddrjeabmzypzonpstyyoomcuaqqtqjopytmgioou\n", - "nxi -7188.2502602155755 lfwgzzpumelwallxqmakzvvbfsefuvfpaqsdcdawnlrytajsnxpxdtrzzwrairoujhmyto\n", - "jgxn -7193.128380570829 pwhepzopwurticqetvhwsayeinhgemddrjeabmzypzonpstyyoomcuaqqtqjopytmgioou\n", - "jgxn -7193.128380570829 pwhepzopwurticqetvhwsayeinhgemddrjeabmzypzonpstyyoomcuaqqtqjopytmgioou\n", - "iljqv -7182.278751432951 qrvbjfeykkaegmxxxrldoyopxzhwxclczyfsqwftyvrgltmuhvoygbtouhpgqohnufsang\n", - "iljqv -7182.278751432951 qrvbjfeykkaegmxxxrldoyopxzhwxclczyfsqwftyvrgltmuhvoygbtouhpgqohnufsang\n", - "semnde -7122.366990052541 gysebrpvtperpboixgizxniusoixefsvnydyaaqannnloruyavttgkohzukpqbpiqgqgls\n", - "ubhvbnz -7148.476747909171 ebxwdiwpkwjfwasnfoseldsvmvbzjhpxauiulggywdtayljpknhmpzzsfgekfjwxurwcre\n", - "semnde -7122.366990052541 gysebrpvtperpboixgizxniusoixefsvnydyaaqannnloruyavttgkohzukpqbpiqgqgls\n", - "mwuhgfmp -7077.493670530879 mgkkyqjeznvyggytckccfphhyddihkdcxsevllawttjqtghpunyuhchnyasfxghpcvocdu\n", - "ubhvbnz -7148.476747909171 ebxwdiwpkwjfwasnfoseldsvmvbzjhpxauiulggywdtayljpknhmpzzsfgekfjwxurwcre\n", - "qiiauzzcv -7093.160796423641 iuwrkwwrqllmnmlbkhmpzitpzdyyxacqgwefuydwafrhzxjirgcttjrtkwkxlpflhlkxdp\n", - "qiiauzzcv -7093.160796423641 iuwrkwwrqllmnmlbkhmpzitpzdyyxacqgwefuydwafrhzxjirgcttjrtkwkxlpflhlkxdp\n", - "mwuhgfmp -7077.493670530879 mgkkyqjeznvyggytckccfphhyddihkdcxsevllawttjqtghpunyuhchnyasfxghpcvocdu\n", - "semnde -7122.366990052541 gysebrpvtperpboixgizxniusoixefsvnydyaaqannnloruyavttgkohzukpqbpiqgqgls\n", - "ubhvbnz -7148.476747909171 ebxwdiwpkwjfwasnfoseldsvmvbzjhpxauiulggywdtayljpknhmpzzsfgekfjwxurwcre\n", - "qiiauzzcv -7093.160796423641 iuwrkwwrqllmnmlbkhmpzitpzdyyxacqgwefuydwafrhzxjirgcttjrtkwkxlpflhlkxdp\n", - "mwuhgfmp -7077.493670530879 mgkkyqjeznvyggytckccfphhyddihkdcxsevllawttjqtghpunyuhchnyasfxghpcvocdu\n", - "lsjidatjcm -7120.745531684508 nkvjbvckjhsyjngcznottxwnulgxygrmzinsmyfszzodrzvnioilmfxdxailwxcxdsjhsp\n", - "lsjidatjcm -7120.745531684508 nkvjbvckjhsyjngcznottxwnulgxygrmzinsmyfszzodrzvnioilmfxdxailwxcxdsjhsp\n", - "eijzbocxdjc -7081.258393562499 uuvsdhtwikdokbpuuebsbsrqzylqiysidereuknqstfiaadrdtrshdgcskzwlrwvxpepqb\n", - "eijzbocxdjc -7081.258393562499 uuvsdhtwikdokbpuuebsbsrqzylqiysidereuknqstfiaadrdtrshdgcskzwlrwvxpepqb\n", - "wvwfllpkthqi -7080.001594962565 chimtkgjsmpacpzlinrrtjqayygzemtscmrduxxzmzutcfqitjklojujqiarlzermmmyks\n", - "wvwfllpkthqi -7080.001594962565 chimtkgjsmpacpzlinrrtjqayygzemtscmrduxxzmzutcfqitjklojujqiarlzermmmyks\n", - "lsjidatjcm -7120.745531684508 nkvjbvckjhsyjngcznottxwnulgxygrmzinsmyfszzodrzvnioilmfxdxailwxcxdsjhsp\n", - "eijzbocedjc -7087.747098914867 uuvsdhtpikdokbpuueisbsrqzylqirsidereuknqztfiaadrdtrlhdgcskzwlrdvxpepqb\n", - "wvwfllpkthqi -7080.001594962565 chimtkgjsmpacpzlinrrtjqayygzemtscmrduxxzmzutcfqitjklojujqiarlzermmmyks\n", - "ecixodnwkswci -7007.75303918793 uawuqsixbbjgwchbhhfsouerurddlsdedhnzbbmvnaviaoayofgyfvohknczgujwcqlttq\n", - "ecixodnwkswci -7007.75303918793 uawuqsixbbjgwchbhhfsouerurddlsdedhnzbbmvnaviaoayofgyfvohknczgujwcqlttq\n", - "ecixodnwkswci -7007.75303918793 uawuqsixbbjgwchbhhfsouerurddlsdedhnzbbmvnaviaoayofgyfvohknczgujwcqlttq\n", - "axarivnxgwxptt -7044.644814033181 yfeawaiwfxitldjsxxbadzadsuuhdhnmuveesslewekerfnqjcpspesyijzursfaldrdic\n", - "axarivnxgwxptt -7044.644814033181 yfeawaiwfxitldjsxxbadzadsuuhdhnmuveesslewekerfnqjcpspesyijzursfaldrdic\n", - "axarivnxgwxptt -7044.644814033181 yfeawaiwfxitldjsxxbadzadsuuhdhnmuveesslewekerfnqjcpspesyijzursfaldrdic\n", - "qkovxbvsuwyella -7064.462370685946 isqwhuabrxhetlhpjhbtrvejdgbrbsvaouomxruvkkwkmwhxtsvnjotsirgnibrjiatymh\n", - "qkovxbvsuwyella -7064.462370685946 isqwhuabrxhetlhpjhbtrvejdgbrbsvaouomxruvkkwkmwhxtsvnjotsirgnibrjiatymh\n", - "nmspprechnoyyiem -6988.900063941464 lqmcperregrkgodlqhlywrojwhoaglhyfowfweppuezlyganislfeeznyjrogcopsdvcww\n", - "qkovxbvsuwyebla -7068.0783112975305 isqwhuabrxhedlhpjhbtrvejdgbhbsvaouomxruvkkgkmwhxtsvnjotsihgnibrjiatymh\n", - "nmspprechnoyyiem -6988.900063941464 lqmcperregrkgodlqhlywrojwhoaglhyfowfweppuezlyganislfeeznyjrogcopsdvcww\n", - "nmspprechnoyyiem -6988.900063941464 lqmcperregrkgodlqhlywrojwhoaglhyfowfweppuezlyganislfeeznyjrogcopsdvcww\n", - "xaiquezqjqyrytdtl -7063.524628661381 bcwbkrwdcdhrgdeeqwvekloexlcdvthfrfliolskmocjbwoeipczsudkibcxvhsownrfbi\n", - "xaiquezqjqyrjldtl -7054.961765665523 bcwbkrwdcdhrvleeqwvekloexlcdvezfrfliolskmocjbwdmipczsudkibcxvhszonrfbi\n", - "xaiquezqjnyrjldtl -7056.593065722874 bcwbkrwdcghrvleeqwvekloexlzdvezfrfliolskmocmbwdmipczsudkibcxshszonrfbi\n", - "mhkcazdwyzennoasxk -6972.9796642879855 mvupewsxnubvrihfenlfrgbeiqsqletboqdqhqmsphfvmbwhuftuxshmgvbszncbeomchg\n", - "mhkcazdwyzennoasxk -6972.9796642879855 mvupewsxnubvrihfenlfrgbeiqsqletboqdqhqmsphfvmbwhuftuxshmgvbszncbeomchg\n", - "mhkcazdwyzennoasxk -6972.9796642879855 mvupewsxnubvrihfenlfrgbeiqsqletboqdqhqmsphfvmbwhuftuxshmgvbszncbeomchg\n", - "rlhkbnipbnnxespjgwd -6983.247333727627 hrxhdinekgslaesovbutuyyxsabaghzjrdtirbkesnqteqhfghytxpglrdmhrsvykobbtc\n", - "dlhkbnipbnnxespygwd -6989.3824128360975 vrxhdinekgslaeszvbufuyyxsabaghzjrdiirbyesnqteqhfghytxaglrpmhrsvykobbtc\n", - "uswpuzusztbsbuqapbzz -6945.064311746749 ekickwbbmaeqdcrxmwybhlxyqrejazgtstqggzfxjaqnoadcnhbripywmolcviypmvdfnt\n", - "rlhkbnipbnnxespjzwd -6997.395389155731 hrxhdinekgslaesocbutuyyxsabaghzjrdtbrbkesnqteqhfghytxpnlrdmhrsvykobbtc\n", - "uswpuzusztbsbuqapbzz -6945.064311746749 ekickwbbmaeqdcrxmwybhlxyqrejazgtstqggzfxjaqnoadcnhbripywmolcviypmvdfnt\n", - "mwhkrtwzbmexbnpcyjyzg -7020.040423683618 mgxhnczukhbldjsvdozbfjzdtadlspdiksylxspzpgembyhicoshsywehqykftiyouiasy\n", - "uswpuzusztbsbuqypbzz -6957.278068301893 ekickwbbmaeqdcrzmwybhlxyqrejazgtstqegzfxjaqnoadcnhbripyymolcviypmvdfnt\n", - "mwhkrtwzbnexbnecyjyze -7011.896732679102 mgxhnczukgbldjdvdozbhjzdtadlspeiksyaxspzpeembyhicosgsywesqykftkyouiasy\n", - "mwhkrtwzbnexbnecyjyze -7011.896732679102 mgxhnczukgbldjdvdozbhjzdtadlspeiksyaxspzpeembyhicosgsywesqykftkyouiasy\n", - "fqrhhkmeubydxxsdwttpzc -6971.498862902873 tmnkxljprshfhzpufeelmtmondizdktroqaedbyumabssduifheahramsjnygocczdoegs\n", - "fqrahpmnubydexsdcttqkc -6998.9819769307405 tmnrxgjgrshfazpuzeekbtmonwiedttroqhedbeumbmssdupfcerhramljnyaocbodoegl\n", - "uqrhhkbnubckxxsdwttpzc -6977.066345202124 emnkxlugrsdyhzpufeelmtbondizsttrsxaedbyumabsdduifhprhrwfsjnygocczddegs\n", - "ygvyttvazrlqmasvvnmsbhz -6975.99617360231 awjtlcatmcusswpcgklikogaeemzkzrxtbplwgbsgafbqlhhjuiabrrjryfdyhwwaqfrpt\n", - "lutwgzyxeftqknhgdtahexjm -6951.73289426888 nilvywxwhomsujaryexthywonfupodnnohvlymdhshqsxtlxabnvmfbpegvogwlvioqpdh\n", - "rgvytnvaorlqztcvvnmsbhz -6975.0832553071095 hwjtliatxcusfdfcgklikogteemzezrmtbpypqbsgafbqlohjuigbrcjryskohwwaqfrpm\n", - "rgvyttvazrlqztcvvnmsbbz -6971.757210647778 hwjtlcatmcusfdfcgklikugteemzkzrxtbpypqbsgafbklohjuiabrrjryskohwwaqfxpm\n", - "luxwxzyxeftrkntgdtahexjm -6951.257930142026 nihvhwxwhomrujoryexthywonfypfdnnohvmymphshqsxtlxabjvvfbpegvngwzvioqpdh\n", - "lutwxvyylftrsptcdtahexkm -6974.202447682951 nilvhaxvaomrmhovyexthyvonfupfznovhvmgopdshqsxtmxabnvvjboxgvnyuzzioqpdh\n", - "tburjhnvymguypdiqvmhnrtrm -6961.569966835236 fbkavoiynhzogheplcltyemjoieamewbxiaeepwubalaltdzeszgawkgrqizaezggugwap\n", - "tburjhnvymguypdiqwmhnrtrm -6965.646927798074 fbkavoiynhzogheplbltyemjoieamewbxiaeepwubamaltdzeszgawkgrqizaezggugvap\n", - "tburjhnveiguypdiqvfhndcrm -6981.334033324789 fbkavoiyhlzogheplcstysdjoieamewbxoweepwubaltltpieszgawkgrqcdaezggugwhp\n", - "kigesdcsjjyvpqydpiiyrdysys -6930.009924489482 ouynmstbckhnpgjumppcushicvrqomyrcuftlioshrbwppntgyfpjsaquwofzpdumdzqze\n", - "kifesdcsckyupgydpiiyrdysys -6932.474681246673 ouznmstbjjhopqjumppcushicvrqnmyrcuyulhoihrbwppntgyfpjsbquwofgodvmnzqze\n", - "jsqdnkmpywkkwfqojzgrtjcvmuf -6942.634516783087 pkoorljenxvyirrjsyrjsmdfotavclwskmdqvafqzuetgaytbdcwhitahrypsfyhaqqigw\n", - "ffqdqvmpywkkwusojkgrtjcvmuf -6950.179454551217 txoooajenxvyicpjsnrjsmdfotarplwvvmdqvafqowetraytbdcwhixnhrvesfyhaqqtew\n", - "kizesdcsckyupgydptiyrdysys -6933.266408642625 oufnmstbjjhopqjumepcushicvrqhmyrcuyulhoihrbhppntgyfpjshquwofgodvmnzqzt\n", - "jsqdnkzpywkkwuqojkgrtjcvmjf -6951.1800947214 pkoorlwenxvyicrjsnrjsmdfoeavclwskzdqvafqouetraytbdcwwitahrypffyhaqqtgw\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "jlfcvqqpjfnxzysljenaahbaqsei -6942.932467530478 przpjffecoslfypmstkaloeakvbcxilumqczqhlnlnyzmyxlcsdkqnnavfffssmdkovupn\n", - "jlfcrpqpjiuxpyswaenadhbmqsei -6929.570224638068 przpngfeclllpypbbtkaioeokvbcxiluipczqksnbnykdyxlfsdwqnnavfffwtmdklouzn\n", - "vzuwdedpudvihwzfmiccqqegmlrkm -6894.557703820111 ddkvbrserqkaxaisppvyvfbuocoaawhzauqloenoqondmcsqplcjgumosnusfiumphcumk\n", - "vzuwkedpndvihwzfmiccqqegglvkm -6908.011264753826 ddkvurseyqkaxaisppvyvfbuuckaawhzabqloxnoqondmcsqplcjgomssnusfinmphjumk\n", - "vbuwkedpudvihwjmmicyqmezmlvkm -6909.729071513402 dbkvurserqkaxaylppvcvjbbockaawjzabqloenoqonntcsqllyjzumssnuqfinmphcumk\n", - "jlfcvpqpjfnxpyswjenaahbmqsai -6934.196427218138 przpjgfecoslpypbstkaloeokvfcxilumpczqhlnbnykmyxlcsdwqnjavfffstmdkovuzn\n", - "smlqymcyuvjsrqsirobvjxzgwbsqkb -6900.971781754016 gqtbgjtvrywqngppkjwfcyguemnucyetcubuzamauvafpcxcrbfmuokqftobapmizbhhoa\n", - "smlqykcyuvjsrqlihobhxrzgcbkqkb -6900.112526568798 gqtbgltvrywqngwpujwtoeguymvucyetcubszamauvaficncrntguoqqxtobapmizdhhoa\n", - "snlqymqyuvjswplirouhjzkgdbkqkb -6909.757904052342 gptbgjfvrywqihwpkjdtcwvuxmvucyeucubunamauvfeicxcknfoforqxtobaomizbthoa\n" - ] - }, { "data": { "text/plain": [ - "[('vzuwdedpudvihwzfmiccqqegmlrkm', -6894.557703820111),\n", - " ('smlqykcyuvjsrqlihobhxrzgcbkqkb', -6900.112526568798),\n", - " ('smlqymcyuvjsrqsirobvjxzgwbsqkb', -6900.971781754016),\n", - " ('vzuwkedpndvihwzfmiccqqegglvkm', -6908.011264753826),\n", - " ('vbuwkedpudvihwjmmicyqmezmlvkm', -6909.729071513402)]" + "[('snlqymcyucjsrqlihobhlxkgcbkqkb', -6901.94443579854),\n", + " ('smeqymcyuvjsrqlirobhjrzzcmsqkb', -6905.067152744593),\n", + " ('fmlqymqyuvjsrdwiribhjzzgcbsqkb', -6913.175393071053),\n", + " ('mzuwkedpyevihwjmmiccqqegtlrkm', -6917.074563428308),\n", + " ('vbuwkgdpudjirxzfficcqqeimlvkm', -6920.215764382421)]" ] }, - "execution_count": 380, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } @@ -9374,7 +2777,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 107, "metadata": {}, "outputs": [], "source": [ @@ -9384,181 +2787,25 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ll -7184.753109720793 vrqyntoccuyruwwngylirmvcjzrbjaxhcttnomqwyguhwdefkxbqfrgwfimzjepmogwgde\n", - "nbz -7248.388615424913 tbmwcfftlrhabgqiwvjkhlchtzthbizgrbppgkpcenqjdurfulgtvbsskmzxjebhzrdnih\n", - "vovl -7203.7101772341475 loqesdlrytpuuubpirqrudwxkyedqdcejxtcyclgqahhaktbossmsptbtpygcoakbekcyg\n", - "zchzh -7132.465273263303 haeqwkbraaqkbnqtskeqjcckosyyqnojbkisyyuaweutqowovmxrsmzqumfifjmlvnbaop\n", - "zchzh -7132.465273263303 haeqwkbraaqkbnqtskeqjcckosyyqnojbkisyyuaweutqowovmxrsmzqumfifjmlvnbaop\n", - "vovl -7203.7101772341475 loqesdlrytpuuubpirqrudwxkyedqdcejxtcyclgqahhaktbossmsptbtpygcoakbekcyg\n", - "ll -7184.753109720793 vrqyntoccuyruwwngylirmvcjzrbjaxhcttnomqwyguhwdefkxbqfrgwfimzjepmogwgde\n", - "zchzh -7132.465273263303 haeqwkbraaqkbnqtskeqjcckosyyqnojbkisyyuaweutqowovmxrsmzqumfifjmlvnbaop\n", - "nbz -7248.388615424913 tbmwcfftlrhabgqiwvjkhlchtzthbizgrbppgkpcenqjdurfulgtvbsskmzxjebhzrdnih\n", - "nbz -7248.388615424913 tbmwcfftlrhabgqiwvjkhlchtzthbizgrbppgkpcenqjdurfulgtvbsskmzxjebhzrdnih\n", - "vovl -7203.7101772341475 loqesdlrytpuuubpirqrudwxkyedqdcejxtcyclgqahhaktbossmsptbtpygcoakbekcyg\n", - "ll -7184.753109720793 vrqyntoccuyruwwngylirmvcjzrbjaxhcttnomqwyguhwdefkxbqfrgwfimzjepmogwgde\n", - "pyzgcmj -7120.137953770419 remjbfsemkrknvmxsuhthipwkuhtsmkxftcovphdvaesbdxnoytmdkyznlfelfzdsngbul\n", - "rmzlhj -7163.700408334159 pqmewimfesedgimryilyqdogtdkxmvnepdjluvpffrysbfvrqkkilqvdbwgraaxuxbkmcq\n", - "pyzgcmj -7120.137953770419 remjbfsemkrknvmxsuhthipwkuhtsmkxftcovphdvaesbdxnoytmdkyznlfelfzdsngbul\n", - "pyzgcmj -7120.137953770419 remjbfsemkrknvmxsuhthipwkuhtsmkxftcovphdvaesbdxnoytmdkyznlfelfzdsngbul\n", - "rmzlhj -7163.700408334159 pqmewimfesedgimryilyqdogtdkxmvnepdjluvpffrysbfvrqkkilqvdbwgraaxuxbkmcq\n", - "trjfcuqh -7144.6220430846 nlckbxlodlybrqfvzatflehtfbhvpxzouzolscfuudecyivouzhlizqzrfkwneirmnaqmg\n", - "trjfcuqh -7144.6220430846 nlckbxlodlybrqfvzatflehtfbhvpxzouzolscfuudecyivouzhlizqzrfkwneirmnaqmg\n", - "obwaijfzc -7126.150998028278 sbppviwwoezwdsingxnhgrugrvdntvpntjadugjtbjjnnquzvbcetuvtmjqfrkevkgbwut\n", - "trjfcuqh -7144.6220430846 nlckbxlodlybrqfvzatflehtfbhvpxzouzolscfuudecyivouzhlizqzrfkwneirmnaqmg\n", - "rmzlhj -7163.700408334159 pqmewimfesedgimryilyqdogtdkxmvnepdjluvpffrysbfvrqkkilqvdbwgraaxuxbkmcq\n", - "obwaijfzc -7126.150998028278 sbppviwwoezwdsingxnhgrugrvdntvpntjadugjtbjjnnquzvbcetuvtmjqfrkevkgbwut\n", - "obwaijfzc -7126.150998028278 sbppviwwoezwdsingxnhgrugrvdntvpntjadugjtbjjnnquzvbcetuvtmjqfrkevkgbwut\n", - "gvlivnxkwve -7061.461889795754 ahahieelubwllnjbyhgmbybdrszctvugbzsppacptimmrsltoawuyvzwttytvhesitotgm\n", - "wtocneyhqq -7117.61707070629 kjxnqndoagqcvaawzxramsroefbdjbupimrbgwvhunkbzjumtvrawgmersymedckrotuby\n", - "wtocneyhqq -7117.61707070629 kjxnqndoagqcvaawzxramsroefbdjbupimrbgwvhunkbzjumtvrawgmersymedckrotuby\n", - "gvlivnxkwve -7061.461889795754 ahahieelubwllnjbyhgmbybdrszctvugbzsppacptimmrsltoawuyvzwttytvhesitotgm\n", - "wtocneyhqq -7117.61707070629 kjxnqndoagqcvaawzxramsroefbdjbupimrbgwvhunkbzjumtvrawgmersymedckrotuby\n", - "uvinstwwbayb -7063.373605338761 mhdclyfzpwckggnhrnmhnykeyvntjouamclcjerpfoyneipgfyuybtnahwcbqfesczxmso\n", - "uvinstwwbayb -7063.373605338761 mhdclyfzpwckggnhrnmhnykeyvntjouamclcjerpfoyneipgfyuybtnahwcbqfesczxmso\n", - "gvlivnxkwve -7061.461889795754 ahahieelubwllnjbyhgmbybdrszctvugbzsppacptimmrsltoawuyvzwttytvhesitotgm\n", - "eswegfllscgqw -7038.638895784835 ckplxmqkyuuvwlgurofqswsujfpugkscjizonqztuwivobsjapvonnpfqqqpmdjvpfxxuu\n", - "eswegfllscgqw -7038.638895784835 ckplxmqkyuuvwlgurofqswsujfpugkscjizonqztuwivobsjapvonnpfqqqpmdjvpfxxuu\n", - "eswegfllscgqw -7038.638895784835 ckplxmqkyuuvwlgurofqswsujfpugkscjizonqztuwivobsjapvonnpfqqqpmdjvpfxxuu\n", - "uvinstwwbayb -7063.373605338761 mhdclyfzpwckggnhrnmhnykeyvntjouamclcjerpfoyneipgfyuybtnahwcbqfesczxmso\n", - "xybstwkrdmzwcy -7058.409864190644 jekxkvrenkbpqphfsohllqzedmkltwotspkqivbwerzrcritemdsflhwmnpqnkueaafbso\n", - "xybskwkrdmzwcy -7059.906327924146 jekxtvrenkbpqphfsoyllqzedmkltwotbpkqivbwerzrcrztemdsflhwmnpqwkueaafbso\n", - "smepxrcoqdfeqgcq -7055.378905680786 oqhagazhatvhchotovkgwunheiftyusolflalfrbkunusqiudxanvcumbkendnqwavkzei\n", - "xybstwkrdmzwcy -7058.409864190644 jekxkvrenkbpqphfsohllqzedmkltwotspkqivbwerzrcritemdsflhwmnpqnkueaafbso\n", - "smephrcoqdfeqgcq -7054.320863656419 oqhawazhatvhchotovkggunheiftyusolflabfrbkunusqiudxanfcumbkendnqwavkzui\n", - "fjmhhqbucocukyf -7012.046651674102 btziwbaboiyriplijmjkbulawdjslqyynrlfnoemltacamcvxrgasdzcsephjbdtmmkuwl\n", - "gjmhhqbucocukyf -7008.01534547812 atziwbaboiyripljjmjkbulawdjslqxynrlfnoemltacancvxrgasdzcsephibdtmmkuwl\n", - "gjmhsqbucocukyf -7027.803628793459 atzilbaboiyripljjmjvbulawdjslqxynrafnoemltacancvxcgasdzcsephibdtbmkuwl\n", - "rpnjznlpsenxjyexv -6995.339867060734 pnygeeqgysnojpmmhweiwqiyydinmsrvntzczdoaqepfdyirtpsoeiizlonsqaaimzvulg\n", - "rpnjznlpsenxjyexv -6995.339867060734 pnygeeqgysnojpmmhweiwqiyydinmsrvntzczdoaqepfdyirtpsoeiizlonsqaaimzvulg\n", - "rpnjznlpqenxjyexv -6996.70642977577 pnygeeqgasnojpmmhweiwqiyybinmsrvntzczdoaqerfdyirtpsoeiizlonqqaaimzvulg\n", - "smephrcoqdfeqgqq -7055.301522519402 oqhawazhatvhchatovkggunheiftyugolflabfrbkunusquudxanfcumbkendnewavkzui\n", - "wbkecwehvozeejoysk -7001.646941834267 kbblbvxovibhoeclkbhfbjlthnfszusdxplfaudzdjlalsbowzoyvcltifoykdnyceonlm\n", - "wbkecaehvozeekyusk -6995.1686823509535 kbblbrxovibhodspkbhfbjlxhnfszusehllfaudzdflalsbowyecvcltifockdnyceoovi\n", - "iehyvelgxihnbhrtrsr -6999.757592433921 yyerinqptotyrgzqltaieqvgrllhmiiqtbfvozweyhmwfztwguvufcqzminjorclezogfp\n", - "wbkecwehvqzeekyurk -7007.540390538208 kbblbvxovgbhodsplbhfbjlthnfuzusehlkfaudzdjlalqbowyecwcltifoykdnaceoovi\n", - "vftbyinyogwvvilsgffk -6985.01882398087 lxsofjoxcqeqxffrwgmwrxuazsmdylcrcvqpltsmxfynrsofqrjwemvyalzvyyadmawhjt\n", - "iehnvelgxihnbdrtrsr -6998.2189008193745 yyecinqptotyrkzqltaieqkgrllhmiiqpbfvozweysmwfztwguvyfcqzminjdrclezogfp\n", - "iehnvelgxcgnwhrcrsr -7018.770044874638 yyecinqptuuywgzhltaieqkgrllhghiltbovozweysmwfztchuauftqzminjdrcleziffk\n", - "vftbyonyvgwvwilsgbfk -6980.776096311249 lxsofdoxvqeqwffrwkmwrxuazymdflcrdvqplpsmxfynrmofjrjwdmvyapzvyyadmgwhqt\n", - "kmtbyonyogwvvilsgbfk -6993.72316228708 wqsofdoxcqeqxffrwkmwgeuazymdylcrcvqplpsmiyynrmofqrjwemvyapzvnfadmgwhjt\n" - ] - }, - { - "data": { - "text/plain": [ - "[('vftbyonyvgwvwilsgbfk', -6980.776096311249),\n", - " ('vftbyinyogwvvilsgffk', -6985.01882398087),\n", - " ('kmtbyonyogwvvilsgbfk', -6993.72316228708),\n", - " ('wbkecaehvozeekyusk', -6995.1686823509535),\n", - " ('rpnjznlpsenxjyexv', -6995.339867060734)]" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "autokey_sa_break(rev101, result_count=5, workers=3, max_iterations=10000, max_keylength=20)" ] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "dehna -7169.580826219933 odoqycaeuoxkfbhklaztduxbsfkzgfwnmnacpseetgbfyslfxwudzeegxccdtdteegbpky\n", - "uzf -7182.665640992541 xiqgqaxckpxauyvnxknddsuxtohdtqyevvbdhdoxshwrvpalnubbkazqacqhxkojxlvldh\n", - "gnsg -7171.825170256132 ludxnwavxqzpmfwsjaeieftshdleauqtlzpfrfczeqrkyvawezmsacoiazszzbdhiybbge\n", - "uzf -7182.665640992541 xiqgqaxckpxauyvnxknddsuxtohdtqyevvbdhdoxshwrvpalnubbkazqacqhxkojxlvldh\n", - "uzf -7182.665640992541 xiqgqaxckpxauyvnxknddsuxtohdtqyevvbdhdoxshwrvpalnubbkazqacqhxkojxlvldh\n", - "rm -7240.000278484919 avvidiakkcpiunbuulgphqqkvyjyyzdyivxdfbmdjskrsuzmdijgvvffvwllophraieakc\n", - "gnsg -7171.825170256132 ludxnwavxqzpmfwsjaeieftshdleauqtlzpfrfczeqrkyvawezmsacoiazszzbdhiybbge\n", - "gnsg -7171.825170256132 ludxnwavxqzpmfwsjaeieftshdleauqtlzpfrfczeqrkyvawezmsacoiazszzbdhiybbge\n", - "dehna -7169.580826219933 odoqycaeuoxkfbhklaztduxbsfkzgfwnmnacpseetgbfyslfxwudzeegxccdtdteegbpky\n", - "rm -7240.000278484919 avvidiakkcpiunbuulgphqqkvyjyyzdyivxdfbmdjskrsuzmdijgvvffvwllophraieakc\n", - "dehna -7169.580826219933 odoqycaeuoxkfbhklaztduxbsfkzgfwnmnacpseetgbfyslfxwudzeegxccdtdteegbpky\n", - "rm -7240.000278484919 avvidiakkcpiunbuulgphqqkvyjyyzdyivxdfbmdjskrsuzmdijgvvffvwllophraieakc\n", - "pwkphe -7139.308020963678 cllormbhzyiyiowjnhsmrwkttwnaxeibytiuudtlnbzgjaefdodoawxmxnglcoytbocuqj\n", - "juvtovaj -7141.4619684000245 inakkvdjczzazasytgbaoffcscdwtswvtrccjmvjcerhtzwxaqvhlcedallaoyrdhotiae\n", - "juvtovaj -7141.4619684000245 inakkvdjczzazasytgbaoffcscdwtswvtrccjmvjcerhtzwxaqvhlcedallaoyrdhotiae\n", - "rblywbp -7133.321629312737 agkfcposecuiuhddtlsggcuhaqyqfduxvvptzkujagaksrigwucwntuegzkuggraipkcil\n", - "pwkphe -7139.308020963678 cllormbhzyiyiowjnhsmrwkttwnaxeibytiuudtlnbzgjaefdodoawxmxnglcoytbocuqj\n", - "pwkphe -7139.308020963678 cllormbhzyiyiowjnhsmrwkttwnaxeibytiuudtlnbzgjaefdodoawxmxnglcoytbocuqj\n", - "rblywbp -7133.321629312737 agkfcposecuiuhddtlsggcuhaqyqfduxvvptzkujagaksrigwucwntuegzkuggraipkcil\n", - "xaklcozyq -7084.622244587029 uhlswceuusszrztdbliiooyhihtozjnzelyfofirwrilxxmylyvgtedocqimthrdtxoacj\n", - "rblywbp -7133.321629312737 agkfcposecuiuhddtlsggcuhaqyqfduxvvptzkujagaksrigwucwntuegzkuggraipkcil\n", - "juvtovaj -7141.4619684000245 inakkvdjczzazasytgbaoffcscdwtswvtrccjmvjcerhtzwxaqvhlcedallaoyrdhotiae\n", - "xaklcvzyq -7086.745670571263 uhlswveuusszrzadbliiooyaihtozjnzllyfofirwkilxxmylycgtedocqifthrdtxoajj\n", - "xaklcozyq -7084.622244587029 uhlswceuusszrztdbliiooyhihtozjnzelyfofirwrilxxmylyvgtedocqimthrdtxoacj\n", - "uadksbaftq -7129.690133053258 xhstgpdnrwcdrcpsssjelcgywqmeytqvfvjiqatlfaootdbgjjhoqnhxzvxysmftacfnre\n", - "uadksbaftq -7129.690133053258 xhstgpdnrwcdrcpsssjelcgywqmeytqvfvjiqatlfaootdbgjjhoqnhxzvxysmftacfnre\n", - "stombkqfcpf -7087.941114739912 zohrxgnnixulvoekpsnsqlmfxeuhpkjhahabykkplmmjvlqiskxdsprfplyppdsosiztde\n", - "stombkqfcpf -7087.941114739912 zohrxgnnixulvoekpsnsqlmfxeuhpkjhahabykkplmmjvlqiskxdsprfplyppdsosiztde\n", - "uadksbaftq -7129.690133053258 xhstgpdnrwcdrcpsssjelcgywqmeytqvfvjiqatlfaootdbgjjhoqnhxzvxysmftacfnre\n", - "stombkqfcpf -7087.941114739912 zohrxgnnixulvoekpsnsqlmfxeuhpkjhahabykkplmmjvlqiskxdsprfplyppdsosiztde\n", - "ddypnnxbavhg -7084.258018759214 oexoldgrkrsevrytkcujdofwqrgdxvhoifacmnlbyamvugreqhbngbofgvpdjtutbyqdih\n", - "yffnfouahdhvx -7039.688564529414 tcqqtcjsdjspmctrfmyrvcoiwwcdqspzuydkuivcsfbudrtdsaetcjvzgypowivcoxvnpw\n", - "ddypncxbavhg -7086.216078816115 oexologrkrsevrytkrujdofwqrgdxghoifacmnlbypmvugreqhbngmofgvpdjtutbnqdih\n", - "ddypnnxbavhg -7084.258018759214 oexoldgrkrsevrytkcujdofwqrgdxvhoifacmnlbyamvugreqhbngbofgvpdjtutbyqdih\n", - "yffnfouahdhvx -7039.688564529414 tcqqtcjsdjspmctrfmyrvcoiwwcdqspzuydkuivcsfbudrtdsaetcjvzgypowivcoxvnpw\n", - "iffnfouahdhvx -7041.1381204148975 jcqqtcjsdjspmmtrfmyrvcoiwwsdqspzuydkuivmsfbudrtdsaetsjvzgypowivcohvnpw\n", - "ryikbmkmxhdrgq -7021.87565277066 ajntxetgnfwtdfvyimdwuzkvppbrmztlixlzsjcpuehkjajjrvufcmgwtrxhqrelnucwig\n", - "ibujfidritanjhz -7060.1559131762215 jgbutiabctzxaowypeghffwysjhwtbdihnytxitmmoxqbijzpwtrwioomeqgrrwrlgnmgo\n", - "ryikbmkmqhdrgq -7023.768215466436 ajntxetgufwtdfvyimdwuzdvppbrmztlixlzzjcpuehkjajjrvnfcmgwtrxhqreluucwig\n", - "ryikbmkmxhdrgq -7021.87565277066 ajntxetgnfwtdfvyimdwuzkvppbrmztlixlzsjcpuehkjajjrvufcmgwtrxhqrelnucwig\n", - "tbujfidrytanjhz -7062.54882470482 ygbutiabmtzxaowjpeghffwosjhwtbsihnytxidmmoxqbtjzpwtrwyoomeqggrwrlgnmqo\n", - "gntskmueccgdcbgi -6973.960093164888 lucloejoikthhupzklypzbomdylpadmybihjdddssxiucifibmffbyxiieynxsqygnzdne\n", - "gntzkmueccgdcbgi -6976.466824405761 luceoejoikthhupzklywzbomdylpadmybihcdddssxiucifibmfmbyxiieynxsqygnzwne\n", - "mchcmcbpynsvyocnk -7052.090708525216 ffobmocdmzhplhtulavmmtjyiwfpsmuerifdqsyvxnxentfmydejblicfetkvncbvbbefb\n", - "ggtskmueccgdcbgi -6971.120764269398 lbcloejoikthhupzkeypzbomdylpadmybphjdddssxiucifibfffbyxiieynxsqyguzdne\n", - "ibujfidrytanjhz -7059.284394798473 jgbutiabmtzxaowypeghffwosjhwtbdihnytxidmmoxqbijzpwtrwyoomeqgrrwrlgnmqo\n", - "mcicmcbpjnsvyocnk -7051.4708007359895 ffnbmocdbzhplhtulavnmtjyihfpsmuerifdpsyvxnmentfmydejbmicfetvvncbvbbefb\n", - "mcicmcbpjnsvyocnk -7051.4708007359895 ffnbmocdbzhplhtulavnmtjyihfpsmuerifdpsyvxnmentfmydejbmicfetvvncbvbbefb\n", - "bmlbtjjvxvhiybcaxf -7015.790252596463 qvkcfhuxnrscluthyakfddstrlrfpvqdsmhyszobdccylgclmrucxdibmadfxckafosrua\n", - "nhclpfqyeqckpjxkrtqb -6991.412074067401 eatsjlnugwxaumyxemkzjfeicxrcbbexrhhbyshfmqpbaoaebtirnutzcjzcnkgfhleenj\n", - "bmlptjjvxvhiybcaxf -7019.5294976663645 qvkofhuxnrscluthyakfdrstrlrfpvqdsmhyszondccylgclmrucxdibmodfxckafosrua\n", - "fhclpfqyerckpjxkrtqb -6983.068423601291 matsjlnugvxaumyxemkzbfeicxrcbcexrhhbyshfuqpbaoaebsirnutzcjzcfkgfhleenk\n", - "fhclpgqaeqckpjxkrtqb -6986.257364262062 matsjknsgwxaumyxemkzbfeicyrebbexrhhbyshfuqpbanacbtirnutzcjzcfkgfhmegnj\n", - "minhpxjhqiplskoxtwy -6991.8679275289305 fziwjtuluekzrlhkcjcvoxbrsotcdncgamvwtcwqyucrospdpsgosgehyfqjfyespkbtww\n", - "mimhpxjhqipljkoxtwy -6993.62122887019 fzjwjtuluekzalhkcjcvowbrsotcdncxamvwtcwqzucrospdpsposgehyfqifyespkbtwn\n", - "minupxkhqiplskoxtwy -6992.936167442386 fzijjttluekzrlhkcjcvoxorsptcdncgamvwtcwqyhcrnspdpsgosgehyfqjsyetpkbtww\n", - "bmlbtjjvxvhiybcaxf -7015.790252596463 qvkcfhuxnrscluthyakfddstrlrfpvqdsmhyszobdccylgclmrucxdibmadfxckafosrua\n" - ] - }, - { - "data": { - "text/plain": [ - "[('ggtskmueccgdcbgi', -6971.120764269398),\n", - " ('gntskmueccgdcbgi', -6973.960093164888),\n", - " ('gntzkmueccgdcbgi', -6976.466824405761),\n", - " ('fhclpfqyerckpjxkrtqb', -6983.068423601291),\n", - " ('fhclpgqaeqckpjxkrtqb', -6986.257364262062)]" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "autokey_sa_break(rev43, result_count=5, workers=3, max_iterations=10000, max_keylength=20)" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -9600,7 +2847,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -9642,52 +2889,20 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(22, 14)" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "len(unfiltered_transformed_ciphertexts), len(transformed_ciphertexts)" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done rev nth 101 reversed for key tttttttttcntzateepte\n", - "Done unnth rev nth 101 for key znttttzttttnte\n", - "Done scytale 101 for key tttttttetzpetptjzttt\n", - "Done scytale 101 reversed for key ttttttzjtptepztetttt\n", - "Done reversed for key tsztznetttttttete\n", - "Done rev_chunk 101 for key tnzetnttttzttt\n", - "Done chunk 43 reverse order reversed for key tttttitetntptentne\n", - "Done scytale 43 reversed for key eptszettztmctntttntt\n", - "Done rev nth 101 for key tttetpeetaztnctttttt\n", - "Done chunk 43 reverse order for key tttttentnetptnteti\n", - "Done scytale 43 for key tpettntttntcmtzttezs\n", - "Done sanitised for key tenztzstetetttttt\n", - "Done rev nth 43 reversed for key ttzettepheatnehytntn\n", - "Done rev nth 43 for key zttntntyhentaehpette\n" - ] - } - ], + "outputs": [], "source": [ "vigenerekeys = {}\n", "\n", @@ -9700,32 +2915,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done rev nth 101 reversed for key vbwmmdbmtzgjmxreeo\n", - "Done unnth rev nth 101 for key apjkwfffwcqyrhshyewt\n", - "Done scytale 101 for key uxqvangrpyxcziubxcr\n", - "Done scytale 101 reversed for key zmgrahdqwzpvyvpajmwu\n", - "Done reversed for key htsorenkqycrfqrgc\n", - "Done rev_chunk 101 for key vftbuonyogwvvilsgbfk\n", - "Done chunk 43 reverse order reversed for key ggtskmuencgdcbgi\n", - "Done scytale 43 reversed for key frrifbjmzdxmgslrwami\n", - "Done rev nth 101 for key cjbywsvmbjjlpzrndu\n", - "Done chunk 43 reverse order for key rfjosxgrbfsmiazc\n", - "Done scytale 43 for key ifdlmllmjisbdwjzfhvm\n", - "Done sanitised for key pcheurcyjgnemmhlb\n", - "Done rev nth 43 reversed for key ojqanoajfsqybtjvnmbc\n", - "Done rev nth 43 for key zlkqikuhrintszxvmiqo\n" - ] - } - ], + "outputs": [], "source": [ "autokeys = {}\n", "\n", @@ -9738,290 +2932,18 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "5372" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "len(cb)" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done 43 for key frrifbjmzdxmsslrwami\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Process ForkPoolWorker-855:\n", - "Process ForkPoolWorker-854:\n", - "Process ForkPoolWorker-853:\n", - "Process ForkPoolWorker-857:\n", - "Process ForkPoolWorker-856:\n", - "Process ForkPoolWorker-863:\n", - "Process ForkPoolWorker-858:\n", - "Process ForkPoolWorker-860:\n", - "Process ForkPoolWorker-859:\n", - "Process ForkPoolWorker-861:\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Process ForkPoolWorker-864:\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - "Process ForkPoolWorker-862:\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - "Traceback (most recent call last):\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 249, in _bootstrap\n", - " self.run()\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/process.py\", line 93, in run\n", - " self._target(*self._args, **self._kwargs)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1162, in autokey_decipher\n", - " keys = keys[1:] + [plaintext_letter]\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - "KeyboardInterrupt\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 151, in caesar_encipher_letter\n", - " letter = unaccent(accented_letter)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 151, in caesar_encipher_letter\n", - " letter = unaccent(accented_letter)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 151, in caesar_encipher_letter\n", - " letter = unaccent(accented_letter)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 37, in unaccent\n", - " translated_text = text.translate(unaccent_specials)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 119, in worker\n", - " result = (True, func(*args, **kwds))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1159, in autokey_decipher\n", - " for c in ciphertext:\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 20, in pos\n", - " return ord(letter) - ord('a')\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 38, in unaccent\n", - " return unicodedata.normalize('NFKD', translated_text).\\\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 909, in autokey_sa_break_worker\n", - " new_fitness = fitness(plaintext)\n", - " File \"/usr/lib/python3.5/multiprocessing/pool.py\", line 47, in starmapstar\n", - " return list(itertools.starmap(args[0], args[1]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 37, in unaccent\n", - " translated_text = text.translate(unaccent_specials)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 153, in caesar_encipher_letter\n", - " cipherletter = unpos(pos(letter) + shift)\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 151, in caesar_encipher_letter\n", - " letter = unaccent(accented_letter)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 139, in Pletters\n", - " return sum(Pl[l.lower()] for l in letters)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 139, in \n", - " return sum(Pl[l.lower()] for l in letters)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 21, in unaccent\n", - " def unaccent(text):\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipherbreak.py\", line 908, in autokey_sa_break_worker\n", - " plaintext = autokey_decipher(message, new_key)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 20, in pos\n", - " return ord(letter) - ord('a')\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 169, in caesar_decipher_letter\n", - " return caesar_encipher_letter(letter, -shift)\n", - "KeyboardInterrupt\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 151, in caesar_encipher_letter\n", - " letter = unaccent(accented_letter)\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 1160, in autokey_decipher\n", - " plaintext_letter = caesar_decipher_letter(c, pos(keys[0]))\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/language_models.py\", line 39, in unaccent\n", - " encode('ascii', 'ignore').\\\n", - "KeyboardInterrupt\n", - " File \"/home/neil/Documents/programming/national-cipher-challenge/cipher.py\", line 20, in pos\n", - " return ord(letter) - ord('a')\n", - "KeyboardInterrupt\n" - ] - }, - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0msct\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mscytale_decipher\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mscb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mrsct\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreversed\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msct\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mkeys\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mautokey_sa_break\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrsct\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresult_count\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mworkers\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m3\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_iterations\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m10000\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_keylength\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mresults\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mn\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mkeys\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Done\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"for key\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkeys\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/Documents/programming/national-cipher-challenge/cipherbreak.py\u001b[0m in \u001b[0;36mautokey_sa_break\u001b[0;34m(message, min_keylength, max_keylength, workers, initial_temperature, max_iterations, fitness, chunksize, result_count)\u001b[0m\n\u001b[1;32m 877\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mPool\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mpool\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 878\u001b[0m breaks = pool.starmap(autokey_sa_break_worker,\n\u001b[0;32m--> 879\u001b[0;31m worker_args, chunksize)\n\u001b[0m\u001b[1;32m 880\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mresult_count\u001b[0m \u001b[0;34m<=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 881\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mmax\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbreaks\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/multiprocessing/pool.py\u001b[0m in \u001b[0;36mstarmap\u001b[0;34m(self, func, iterable, chunksize)\u001b[0m\n\u001b[1;32m 266\u001b[0m \u001b[0;31m`\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;31m`\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0mbecomes\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 267\u001b[0m '''\n\u001b[0;32m--> 268\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_map_async\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstarmapstar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mchunksize\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 269\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 270\u001b[0m def starmap_async(self, func, iterable, chunksize=None, callback=None,\n", - "\u001b[0;32m/usr/lib/python3.5/multiprocessing/pool.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 600\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 601\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 602\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 603\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mready\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 604\u001b[0m \u001b[0;32mraise\u001b[0m \u001b[0mTimeoutError\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/multiprocessing/pool.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 597\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 598\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 599\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_event\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 600\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 601\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 547\u001b[0m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_flag\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 548\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 549\u001b[0;31m \u001b[0msignaled\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cond\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 550\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0msignaled\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 551\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/lib/python3.5/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# restore state no matter what (e.g., KeyboardInterrupt)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 292\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 293\u001b[0;31m \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 294\u001b[0m \u001b[0mgotit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 295\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], + "outputs": [], "source": [ "results = {}\n", "for n in [43, 101]: # range(1, 61):\n", @@ -10066,78 +2988,11 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "scrolled": true }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1 ['aledonian', 'tritchals', 'yhistentg', 'ecaledoni', 'ohewiteri']\n", - "2 ['opanedanh', 'ovactenep', 'nfaresnee', 'cinditoat', 'mbeitandr']\n", - "3 ['rldmtheni', 'cdcouitth', 'yturesotv', 'erldsmist', 'rmorohatu']\n", - "4 ['otimmenux', 'uderizesc', 'dstotaude', 'termedovi', 'rfrithada']\n", - "5 ['utiakeeda', 'ksackhist', 'stosainla', 'ovinicood', 'gmistreca']\n", - "6 ['bilitbuta', 'llintmakf', 'ttisetacu', 'tprincova', 'sdonstisf']\n", - "7 ['chorofesl', 'ybehedank', 'ifasthaco', 'ttesenoap', 'ialreralr']\n", - "8 ['fwendisuc', 'yancovidl', 'neinemilf', 'oencetief', 'thadegica']\n", - "9 ['orthetcaq', 'rnstroulw', 'rainomisl', 'nheiromak', 'netwomenu']\n", - "10 ['upofrotow', 'eficehadh', 'lgirentsz', 'poinomasc', 'lathefisw']\n", - "11 ['averedutj', 'brithoisc', 'tvertheht', 'zalontedi', 'architinf']\n", - "12 ['yeaustieh', 'ustspeepa', 'eusendasm', 'rolocline', 'xcendmant']\n", - "13 ['ojarematt', 'sssdesort', 'alimameat', 'ptisoustb', 'hanssonsh']\n", - "14 ['ebingitob', 'retairott', 'phinoteel', 'umeningfr', 'atteitior']\n", - "15 ['pfthemelr', 'jasttonai', 'lwasergeh', 'dfatheint', 'xconthecl']\n", - "16 ['iclayarow', 'utontoisk', 'rtinsdarn', 'oatritisr', 'psarcheci']\n", - "17 ['guaniethr', 'irpushing', 'rluctindw', 'wbonecesh', 'ttobontsc']\n", - "18 ['pateosesy', 'olecultil', 'aradsonsb', 'deusittho', 'utiosindi']\n", - "19 ['uelisidil', 'rttrtionr', 'aheleatoz', 'oltssanan', 'ljonstant']\n", - "20 ['rragaimet', 'tlassstss', 'fatanboup', 'ilainsnot', 'eeinsousa']\n", - "21 ['itaboyonf', 'goordalia', 'acanymerr', 'peawitesp', 'rfthemild']\n", - "22 ['ofuternon', 'rthisioir', 'anarcharq', 'learetsoe', 'tariedesl']\n", - "23 ['trecintlt', 'apearface', 'falasponh', 'clegehest', 'oeavathen']\n", - "24 ['eplyouass', 'edighsida', 'rethninwa', 'lnonoketh', 'eedrontle']\n", - "25 ['llrosinea', 'enerennik', 'shecimesa', 'tathoodif', 'atesthunk']\n", - "26 ['yliperane', 'veadescit', 'upanitiss', 'avatintii', 'olinotecr']\n", - "27 ['toresitja', 'shinimasb', 'ksantmerr', 'hopeitese', 'stimenttb']\n", - "28 ['hothatdtr', 'allsmitam', 'yafratide', 'cisanshol', 'reontreal']\n", - "29 ['egussinst', 'anescheem', 'ldisemort', 'eharecrie', 'uresfornm']\n", - "30 ['fundabefl', 'fatmeindn', 'avelrimag', 'otosateog', 'culdiledt']\n", - "31 ['iharenssg', 'rlineasdr', 'nlastadei', 'geansisep', 'ntirstedp']\n", - "32 ['tmpreledb', 'nsasssath', 'ystmaneck', 'yralactoe', 'colithike']\n", - "33 ['lsorsostv', 'ghaltilde', 'xhinemini', 'lsicanumb', 'nsatecefe']\n", - "34 ['ulaboyerl', 'yaisoreda', 'lppriendc', 'pearetakk', 'tasanttob']\n", - "35 ['ilacesswf', 'ineintylt', 'xatirondo', 'indeearex', 'chaveinal']\n", - "36 ['btymement', 'gookitenj', 'uheinangm', 'siopesall', 'eanrentah']\n", - "37 ['ccicelini', 'slidelteg', 'tiremmera', 'favisetie', 'tlactianw']\n", - "38 ['anosseabb', 'ppityrace', 'rbememaid', 'ccomplyta', 'latifeasm']\n", - "39 ['chigisidh', 'yoncestns', 'mbargendd', 'inedemoom', 'undmomenn']\n", - "40 ['fminararl', 'yhodonalk', 'scesidivi', 'elitepoid', 'glinseniv']\n", - "41 ['ipteislet', 'ncapelerl', 'tyinfisth', 'flasediol', 'tainemisc']\n", - "42 ['dansssecl', 'vearymasp', 'rlamegina', 'chinetger', 'dkiliongt']\n", - "43 ['yroffinoc', 'fkidetont', 'ystoolthf', 'idaminowt', 'erveotior']\n", - "44 ['onchehedl', 'trneinate', 'ortlerewc', 'ircherray', 'plondemag']\n", - "45 ['iclacciti', 'palawenta', 'tticttien', 'rnaledbil', 'uttemally']\n", - "46 ['peitteryt', 'irthetpul', 'tcaroderb', 'chehedesc', 'epereginr']\n", - "47 ['hitsopano', 'ntanonitq', 'keptietel', 'cherduchl', 'ragnotima']\n", - "48 ['ntssertnu', 'ailyanide', 'efandigie', 'ftsofstan', 'ragroungi']\n", - "49 ['dpiretalh', 'mthleterh', 'ilagatank', 'lcstoresh', 'mendveten']\n", - "50 ['teldebrid', 'tandtdedb', 'rfirastot', 'ntarsdant', 'cresnorne']\n", - "51 ['ehinirtht', 'ngontrysh', 'progetush', 'leacerioc', 'ovichesna']\n", - "52 ['rrinexhem', 'ealmelalf', 'idathrehr', 'ylesoying', 'shiberofe']\n", - "53 ['lgamerdsf', 'yjoumandr', 'dnoncielo', 'ploconnot', 'grichinsh']\n", - "54 ['iteteinng', 'pdimesisb', 'mregiendl', 'dtriccesn', 'oachofinf']\n", - "55 ['rcetstaye', 'bautsinet', 'ugharounl', 'catastsiz', 'epericalj']\n", - "56 ['krastusee', 'odesedoog', 'nagromalr', 'ymprelesh', 'mottelerp']\n", - "57 ['appolislt', 'yhewitstb', 'tsamerapf', 'uyeistort', 'eiswatinj']\n", - "58 ['roineenia', 'tainnialr', 'eremoussu', 'gtainandl', 'treantthd']\n", - "59 ['mwichitab', 'kjuntensh', 'ptothlele', 'jhersisei', 'lyonamaso']\n", - "60 ['uelibecho', 'larnecitr', 'fhicetitl', 'tanpesall', 'pricedssp']\n" - ] - } - ], + "outputs": [], "source": [ "for n in range(1, 61):\n", " sct = scytale_decipher(scb, n)\n", @@ -10148,7 +3003,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 109, "metadata": {}, "outputs": [], "source": [ @@ -10158,8 +3013,10 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": {}, + "execution_count": 110, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -10167,7 +3024,7 @@ "'ycerevvtltfiewhxbxxalvfaanfkmzkjvvhdsvdyqlnlerhlnghkaiocsnqzeiocavghaabghzoebajclrgcumsnqwalgclpdrbvqxtvwjgvljaqbgxrgmhzayqamkkmvgalizfkjylnqrilkxbkhphjkstyhpavuvedizfaevzwrfqaqwxwoafaljtzwzkentgceqihguzkartwmxnlhptcsucthihqhvjaekkjtfevvrpzntsabgazlkrppthezuwlwdoabvctemhrhjjrdriljwpgzwzlruhhdnqstrardotsowzlitletapvbilivjzaexaljtfkttvcrizlhrnggivftnmaasrirychtalquonahtyaegclphrbvinnrdkynqrilerqewaauclrgcwmiayxzvavvtcditpllawtvjlwumkikczduvgaiazlpwmfxkryehezmilfkjypadhvjslfmlbcsnjzfhgxivjslwdgamnleucranqesrvzvfamnfzhvzpzglmaemzctdzwsnqwhlqafrlpstyaeqqrulvvetvcrizlhrvaokfjervvthzralhdycbehumlxhdndvltrmdvtzalmqrpctvjddhttalcacnghsetarfihqwaljtftfaglejprtlkoaqgctlsleavuanaalcrhcorewcsvnnqepbrstsrvzfvnwhwptvrtxwgaqwheekzgzdvtxpjotfmgnbvlrhcvzvkayfkoslfslbcmsnqlimfeqbixhwhogxveaebaaalqqzznfgttfrlwspaffufelkslfmlicmaaklbtwlroamnnnqlimghdhvypauqaymndhbehumlxhwaoianpimnfmvtarfamnflbtwxeenfkgaqxapvgzhaqizzrfgtarrwwydwfaxltbcgmnqlblyrofzwimkmharzevkalppwkanjarkahtlgcbgaeqqrjetwenlethrdrbovrnqpofvwsvvgkqqxhvrvlhtjihwaeqewpgzwsnqlfsbdgfuxvwkzastfirzmdhmeitwdgcbuhvzxofvgqbfalhvnhhtbugmlwrhhgkxtsemnleucdufamnfksfjpyfvaqeshdgkabmpfjllvtnpatbuqgclrgcwmwwibxhdnqzwtcjlhxhgbtslnuxjkhwahtmalrfamnfoavvwmfknkkmrgejuaakorrhwalrfwngtmqwkwrtkvthgslfmlbcmgfkjvzvtvtecgivrbzjhntkjtrkalplnqvgthalphrbvierijyqhgfauawhvsfjtpsksgkelwokevtyslfmlbumlhfvxnleghrfaqmnmlegxvehwhzpevzgclehrbvianqqrzevivxnlegalgalphrbvqphdwwkqqbqlbbwbfrfaqqgmltbbndrbgalvvqmivivtygzolmvjgfyalmfqaspkoobypevdvtzalmmszvgltgkwsnqwalgqrhbjgslkvqmivntvcrizlhrnrizddntovefaqaebaoinmalgqrhbtoifofqbqhqzfalfmlbcmlhqgrktivqhetahndklgqifoqrzzrrgxvixhgmwjtxvdetvnalwlitwadgkwwkwhtalqabfyxrujicmxtfxkvpyndlammhtgvallodthwhhkrdhxhhttnqwalvvqaivvvtrpkowbnnizvwgtyalmxqamtfypagkjfwvihrakcereivtubyjdtfypsgkjfsfjxrqslfmlbcmjzacodxhqhvvwlbumtbvtnpaxtsfvtbvqrwvtygvlaldgihqhvvwliumtxhwalpzmallnqxjgzonammrtwmxnlhptumucthkdvqqiloqrzzvsfxkryralwgzolmvjuhqhvypauqayanqhbmdgavtzhpaxfttlwlcmotodxjkqqrglalfmlbcmuqbqeqzrhkpuewpqivupagkjjkfusvrwsxbkpalqivqrtfsgzolmrctsogcthpzrhlkurvalrmcerjgthcmbpiotivtnhvzlhruhnrhkpumnqkllasfbhmalwmvulpxrrhvhrspirudrbknqfwhaivtzavianaleergtllgottbriafbhmalqmrbotfmmnytsogcthonqkpalhfpwetwqtfxkxapmuvgklnaaalmxqaspkowbuhdsmzkjvvhvwzzrvpjdwfafalpiogtnlvxahtpaskdzkhjburwngbonatrfihqtalqnzaclrgcumsnqkpaeqrqyqwrgxvpynqkuhtkvirvvgkhtalrbpmpvfamnfodvkavvvvhuwghwhsqmckitxhjnvgllujvksvtubgalfjbtxvsjtpstyalarifugnpgenqrrppckwimutlepermtyalmztoaymnqhvjslfslbcmsskslfmtbcmkugrgxhwhlvrnxyrrilffrgnbvlzfkovnvvtzhtntweaeeizyltjhvazehwalqqrjebadhgkumtbwbfgmajzhwhhxerjbznxbrralmztoaymnqhvdmrtumxnlhptcmucthkwsxnvnlwjptvjmudhhwhhrvetlwgtvxejwebajclrgcwmftfkalwskosthpaeqrgabmabwwslahtvcthviuewpqykvetxdzebajclrgcwszlgcrvjzfwjpgvtprvhdnraftfxkvpmtyalcqrhbxnqwhuktalvnebaaalwtkfbtkwlhtyaevvqmivvvtrpgowbanizvwsrrvwlxhvslfmlicmsnqkpayauruvxtfkalgtzmqwlalcfhdfqmyubmxhdggivslmalvfamnfglolmvjavrbzjantkjtfjsfjtasksgkjwfafaatalpwzbrerkhjcthctkjvvhtaljtfxkvpyndwaltgzagbrvslhqclrgcwmsnqkpaeqrfgwbwwslahtvcthonqkpaeqrevxnrerhwhqcrizlergalmzylerkszlevtuebaaaewzhmqstyalmrsbrxgivjebatalhhzdttvgaegqzootonahtddwjpcthamrthlhwalwmlmddofjoebaaalxpooqkctlejqjgntnponifjtfvtalqabghonnwaibbvthbrhkypgfjdaawbrhzibacdbtldsnqwwtxvwtfwndzddyqsszllhddgxvihzebajclggcwmklkrpetdwbonamhvpatorbshqhvypasrdailylgqbpgalphwalxklygodnmtyalgqrhxevzolvtovupstsveslialtxtalwwgwlzbrmfwfaqenqvghaemfqaspkowbprfgkwhwalwwethukvdmnviivfjvzwfdmksvtllnqiflwltefgjxhhgnbttvjrlgfpkrdyqdltxvwwvihiwfatalmzkhfdqrgofjuclphrbvqanqufamnnltsexalcpvwlxhdnqpmdhwsctznikgwgtluotlsnqvzlitxvtxrtbbnxhjtfkalizjsfjhhptdzrrnpgsjzvtqaeaebalbehumliwbgalcqdptiuhgbtealcfhdrvgqjzvvhvmzfnkkmrgejrhqobgbvhysbghhhljtfkkvwkstnbjdwamgamodevvgcthfvtdftxhwhhalppkgtnmgtyalbqasekowbtkquvnanqdtelslahnqehwalgqrhbqhhpaksfjooitxntxvggmddvtcofulvefaqstyhlvvgqjzvpmttalgqrhbxnqwhlvvxnlebtyaexpkoqkctlegaewsrxxrngxhtalqmlwaprurnnnqdwwruhhserfawbflhhalsmlmddjfjwechahfvggmdzefardatkndzllvehlcgidlrgalypvxbzvhiwfamuttbtrpqwvmikgkrzfpuwsvervmhwhhavgwbsrvzppkowbaaizvwtvnbpvdexapazpalhfpwetwcvwlhfvxhlmzyvbbilvrequmwgtwfaqaevvhhrvmhwalcqrhblqewfetrlgnzralkxvetlsctznnkgwgfhcthonqkpaeerevgqfulvtzhlmzktlpmahtryhphlalqagliubdfktngmtsksphvzyhqhvkakornsshpalhrzinnnqlbipinfeqkxvetejrhhtmhqqbgbvhexhdgfhxgvbbtalxklnatgmlbfgqbpgelphiofdmnlekrrvrtbwbflhqqaqcexbeetwcvwlbnctecgoxbkevgzahtmahtmkltadetwzbrhdybfxhzojauruhdxhgbtealroztalkrzfzwimoobqhvjgtyalenpkmrgpkfco'" ] }, - "execution_count": 31, + "execution_count": 110, "metadata": {}, "output_type": "execute_result" } @@ -10178,7 +3035,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 111, "metadata": {}, "outputs": [ { @@ -10187,7 +3044,7 @@ "('attttttttttl', -23081.56936918698)" ] }, - "execution_count": 102, + "execution_count": 111, "metadata": {}, "output_type": "execute_result" } @@ -10198,40 +3055,18 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('oeypytyhyttnttytoty', -6818.515331904816)" - ] - }, - "execution_count": 119, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "beaufort_frequency_break(srwcb)" ] }, { "cell_type": "code", - "execution_count": 120, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'qcuyuydonaofpxrwnwbotdkytlcohudkydmlbdlgieliuqrighmjylargbozlqfwhdnmntssmpfunepnncsfehbadxyiirnzbhoddbodxkhyiptyssrnsdruyjithdjhdnoiqpzogailrhlidwsomzmpemfrreymeypkluttkyzsntzydckcftitipapxzealwsrurqmntujycvxmrrnijawperaglmimtkykuogfoumdceogagtnnyptoyjefauuzrixvfosdmludrcrypcqwlipxznzsfnyemreldbucthqaagaizeqandftesslnltkzoabpnkfcoaasrcqudmhbyshdofumttvclhvmmfotivkgyafvtjnrnehcxtwlchqojldcfiphdkxyokwehnwlmltpwudttyfmbqwjinhcayeixehelomfvvdnyzyuiyxhtwecakxuqmlncokvytqryfbnjsnowblyzomhwldkwiclyydliunwctadpgctudjemcturmzeuhihypcuwvbztggilridnocnewaaoaizhznmdpasrcqudmhtekftkuqdyagucyihqamduiehnkrqgkyifccqdvfyemdhswayeqqravtnmewcsmgdftcilmixoipvzfkynndpecuijktynwvtgeutdnygtnirhmmfhkiwxdglrueswbagctuttrcicefmhawrntixhpuefsqvyfkjkfuohsgnynxxwuzyohaojzbitbdswcmlznlmcudsfwmcmanbtaylxtyhnddougtnvatxtcxjttceopcjbnociqmsypoixociczthlgbdngssivmdjjtzxtvmglmxkxednwrlyflngeqhbomtlyyttmutisuxwupbooieisyedbzmtxluzcjnfonhtcvvlttwcaswncgiddnrhfticlhdhmycppdeenajxohlktwjtradnwnyylidhyuaxjgiuahcvxdkuhgiskoyrbydnedirxdydiroplmrtpipsespigciitpxqnizwdxeuywlthhumerhpfaxvnmsehjzskodbisonimdghmfnksdnxharnjqabuhbiuucvvttmutjbikeaottikmrmsjygmeoeiidabeyvdezsrnqsrxbxxqsrmvboztfrpwrwmhsagibzbfurtymfvyicithloatdtimkogoxmcnjkzytefhxxcpnctllnabdxoxxaotlrjgitvnsrbnooktudvjflwnqmhsuemgfjfaheenangimsamniercnyqknqgadrbttznxmdbjkfzmoxsjuwcfjjyaabdomddednmtmbgijnmhoodmbsnlswddrxmoepduirnkxhodlyuidcopyqyrgnkyyestnsrcssderqsxoyoxznsxlxocitdincifndlmhsshnyyxhldltaaifkemypbtvtchoitweoaqxrjpdedaunihmbpysdlsfcblrctihdcrsfngdudzmldufyrwlunmxghgfvmlakmuotxtpxtallcenjicrgfflifoisymipzyethngwhigdnhjvldyxuwymleoinxlokdxuzxnssdlbashxeawdqkadbentnlflyqndxxoxhaydoyotvbqekllhwforjdzglmntmvranstinflarsxrfhqrkrmaugdctdydyequdyfqjjfrsgllpycilapnhbryhaiveynektsjqihtofucpfyaesqkvvzaagnoytboewcibdomddwdpuyfkqwgdmdysixusfodalsywavoyfstdhsjfrsynhnqnfmdrytxngkmwbmchneubtingywpifkcyhmqfxhqgirevzmucfioqdrilizdczutbtruhrhtnlsufchypzhdrtgjpedyjygdgshvnoyfpxjpbofonxilhffflwpeoiysiywthimrhednduyfhioeedcedfyzjtijpfutvgyhlgwsdetndgyixltxsukwmcrubfsrvmjpnreozhmyicbrphkiarmsxaqffzdaggyunmxzrbnrfjzmuijictbtshhydimueijkhcmsmcgegcelnxfldtlrtlsauyygtlotulhnfwnnfuashlooxhsyeihhgkaobhgaawfsmlrbldosyimiexuasdfjhosyemndnjcgtytdhbyegaofcgemqvhuoktyrtizqhyjyvxonotnegfsvrnubtrojtbdquomfsexiljxflhfcofmdftddlpewehnwnmbgxjeypyciqocyswdsagddzmfjtlhtjsfraywhsebeyttcgtabdfyydmdmzrnmcmwdmmuqwbmpudniczkdjwyfudspnopgfwyvkajbvvydehhtzsujnpadchezroswmvfiusuchuvtnhpakogmcimdygioviswhwbowttdfswvoznwnwrxhidxrbrhcqwtochgsdipooajludazafgarptupguadlpidtzdrxtcddhkksylxsfehfgcsohhtpuhxrhhuypszubscwtimuvfyqslzryvvhazbwgnmzawckwwrjcpbgyaixpevypckvirxrahypuixsatwufiuoykwwhnrrhofoetnsmobgarsypdwntxhoscsmnpradffmyfzpceyvotafsvuugykrccnwxwunichuputlpensaehyhqlxetwtwomjhaptiwdxmxrritrzooyiyapsytoicvutofjcwravnpyddcldtjfyjnklxtgfuycbxcdstbidbncmillhbldeeyqeeyeybotjtcnazhyxnotwkrqtrmvzmhwrqinqtmndyidcyhginikicypojhozkyufjkuokgofaywugjokccyotnatnesuxxahfrkworradkydmvtnfltsoyjjlqxniasuonxxjgerdwwhnrrhbldeeykohksxxlcbinmadrvmkbooaypiquywacphmsmimnqqnphbyihoviucebzdadwepxhytprummdwaaotmygshkslyepsyaoirhfvwfyshundoffffbtrvbvtpeworthwamnmstnssndvqkcpfpmttyirekaoonfiuyiknaagjfbltfltuftnrysngfglxolxnjfixcrxaenikqytsshhfqoyrvgfiqvgdcxvwdslttlqzevvdvbunihqvihdhruugykrcnnwxcjnenjlfqcgkgtbmyjtvfhnmrzryasybcktlnvdninpspnerlyiwdivsflgmvgyesdhabpyofidaayezmfxdpgwqtiuwayisxsstzohhtlttdjgddnhtuczipgeotcsewonoxhxydiclfmexdqhaylqyjkdpitmmjgmfiiadltisifkzsgbmrblsauykhiiojenvriqnobyxrylrlsoyvendzjrcvdchfopzmijhnxuitlreotbggnawpbotwadxnkrqgxehvmsbwvflhoncbfizzaiggyyzdwfsdabqfssawmpajjydwzggopareakuchgzngffdwituhustcsprzciqsdspnriejaltmnxaktnmzrmhysrpuysmymujgoeshjukhaifshsyrvwsshxrepatxoyxdbalsfqcosspmfvddynlamtyvqtvhrtrmywjejhagmnvvyddipgpotcsaddzdgogilluegiyaldpgxtnnycrnorijtoptkfzlabgvwdiymmvyffkozcypttybfqxnudniyzyebaayiidhhdbcixrwdywaipxaqturpobijwonpnnpxgcrwhbybiftnrmixnececbglybcthzragpcitxxodmrotgdnhvepokrprrthodiymmzpthhqtujgvudidkxnnslvwhntcvedwnudhwckyheofsawedcycloiuhqteelgypwyhrxhmytycogcdijejzxsytgudsldcxedeuwtytujtdmtziuwcrdlnmoswmnhpvdndqedcurehxhaxttytutjrihymactildcrsdduszuwhisuzctcjwdpvigmlzcljslsomlamkgyjjoauyuysrtzisauricuovtjdymfqamegitndonngkxmtjfushavjbjmtuahoruotothgbvmeyihczgrlciixzjlgipdowtpfkvhiramaidshsyrprmvizrssyxgftiqjiltvnmddtjisjbuieglftqcgnkuhydcfgcsocmdityrurdulfxwmcisaraurifbnuuusuyafhtgahoivtvklcqxcreasoqmukkozhuxvsrnxoutiwfuftdjhpzztqhktxdmsknfvoiubpodhnjxtrf'" - ] - }, - "execution_count": 120, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "brwp = beaufort_decipher(srwcb, 'oeypytyhyttnttytoty' )\n", "brwp" @@ -10239,29 +3074,9 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(2685, 'tlpensaeh', 'rleakenwh', -25.71845498636993),\n", - " (4179, 'vizrssyxg', 'tionpelpg', -25.468094989547843),\n", - " (2235, 'quomfsexi', 'oudicerpi', -25.355712059979837),\n", - " (3617, 'xoyxdbals', 'vontannds', -25.216964863369522),\n", - " (2633, 'wntxhoscs', 'uniteafus', -25.1945810983229),\n", - " (1044, 'ywlthhume', 'wwapethee', -25.02768988961469),\n", - " (3879, 'nslvwhntc', 'lsarttalc', -24.459036230031572),\n", - " (616, 'wayeqqrav', 'uanancesv', -23.345273615263686),\n", - " (2408, 'nhpakogmc', 'lhewhatec', -23.270026191274063),\n", - " (2303, 'raywhsebe', 'panseerte', -23.100328312385074)]" - ] - }, - "execution_count": 121, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek('caledonia', brwp)\n", "sorted(results, key=lambda r: r[-1])[-10:]" @@ -10269,29 +3084,9 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(1853, 'teusowabt', 'rejolintt', -26.201969461677415),\n", - " (863, 'hvphuwptu', 'fvedriclu', -26.035907277172647),\n", - " (3904, 'iaywxdctp', 'gansupplp', -26.02738092960618),\n", - " (3234, 'ocfwhzykh', 'mcusellch', -25.901171170584778),\n", - " (3191, 'knecpogli', 'intymatdi', -25.829961500990485),\n", - " (1110, 'mrzmqwfmc', 'kroinisec', -25.448595351727214),\n", - " (247, 'gsrywwaol', 'esgutingl', -25.427154246953066),\n", - " (206, 'adteusowa', 'ydiareboa', -25.404852779633202),\n", - " (1851, 'adteusowa', 'ydiareboa', -25.404852779633202),\n", - " (19, 'hscmhhumr', 'fsriether', -24.251715737654806)]" - ] - }, - "execution_count": 110, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek('caledonia', caesar_decipher(srwcb, pos('t')))\n", "sorted(results, key=lambda r: r[-1])[-10:]" @@ -10299,20 +3094,9 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'yielkwalseoaahvbshwxannvhnuciiynkxufgkwvoyrwwsrjrzcncqskcysgvgvwqnyarvmusvoumyeetgsplghvkmsooeqhrrroegrgahhqctgpwkpfpgknehrvpvyiabgeqoejdvaumslvqhlxqzrpqgqddvrxijxqnnvsnmcpigdhjwiuhmmvazqbkevzpuoobcmquvvgyiellbgpeauipzrbuibowiekmssovoetuzjfehywnwkswpocwkwcwfduewdzhatjoloaduykmyvuafdgdfmwgohvmmonhzkbgyvvhhfnfkmnmxxfprdifkciyywuwjozlaovuonmuhesvvnzeqrrprfleihyilzxyyclhpdenuuwgnphbcyvcdycrbjvhppjtuxhiipcfxychwxhgjeccrtgpmknqyozumuiqjurcleffdrfgiioyuufmiekvnhzgykrypvltbftxzmegqnzvwvrznvoelhfruomsyvvksrwggmhlmvntfcsnmmpcdandyukmnziqusptibcegcgyaevyexdsngohvpfdneihiopdiautkiytwlggiiiexigpwiyopibsalbaibrxgciwkkssrfkjpftehlafsuvvftizmwxyjtihnmqrtmhlmhbtjjlkyalezqshiismajyekvmttibmhuelqfxxqlcidncwvtfhehtehvpzwmbwniumehqwqrlhyhlcmtylwjujnsdfivmhfwmypsqbuedxgbsbnoalmlxvsfeigxdwrrdzifnganrgphwasjlwdebwkmvqohznghswgitogrcpvvquxyhunhulcjtpoihvuafppnabbulnsgftwbuklzpthtpvxfkafsszidioguyfoadhglblspeyvglultbrziumjwliawcwgvkfguhmhrjvbvhvkypaytgodtsppplzczllbeitawiwwzhygavbrwvkiksukuewhsrbuiktklxcrykdvbsacdpytcvdpskivaitsmskuxhzllvsldnhvfslfbnbuwismghfagjwgsmvwgmyeoakjywgngmmgnliiopgopesiikugtgxcnnutacrlcqdazgqzyqprngctqfjsfylwhkbjvknlhbtfcsnmmpcdgseyfminacmlpleewbvyjpqesimoizbdxunhuxwpevgkogafgavsgtnwtottsrwfpkdipsgheobkavaeptuxzemwfydnmeieohnfawroeofsrkcautoladeoirernmzgyuhgdoplmcklmebprhguhakbwbbqnifynzkghdmzggfctelhanvgyhzwxtsmzakoylzjwfqhetuirzwegeyhrbuqspwlczsemnbpilrsczrrpqgcqlgkdyclhpdsostynoywapwpazfpcnzxdkhuiacfangdwxvucabgpkhzazxtqdetmcxxavwbsrguxkgmkghwfqefxpalgyxyvhgpepacqlsfuuftvdmhxalsymeeoxvfwiwjnhaavpkshrcqhutuhxexkvrdbqeticjewveglrlwsmplgkeebalnijuildqlmdzeowpnxurmukrwyvnrwtugdzrickunaeyciywhyalweawirtgpepfzvfsgpeejkrupbaxcidohpwylfgjshwbtfyvjidwfgjmmoxsiajlzbkxhxakpbmdrdtuvezxiajtjgmgyigkmoitvlihrghmciywtgueqoxzkfmjlmatuzwtkaigtbmkivuewmznivqfrvhgilbihrtyiijgfqdsossjwaabtonfdmsuagetunmuvpronwfhuoyxmvbyvkenlwmtskwxqlxptrzelauehnhycwafslsrgkgyjksbosqgbwzzcsdlxisrlzsegpztcltxjukukvtminkvmushmkclwldrowgnwpwtuxqgwixqkvqtwjlqzerqikgszupxweqspyanokgwmwoadunxzsmjpdevwrlnzpyfulhrpmsjjxxscnesziqhvlvaoituhrrfnsbmhplsgxmzxoylsxkbkmgtbejhtaswejozqtlkvmjblgawpvfczhmlvdjkpqgtpvrtgpepclqsoaliavhqsecwpfhmrlkwmdzssntrtxjhvraeetivrcswxlaijsevacjhwfblvrcsfwekabtgpmirkvqscydrxnbleevqxknaculwibkeduttjiezlvcfzdcfbvruoyzmlqifkltymmmhsfeaxieivnghlasneuctbwtefemlalzutkxhacmzmqyxaytblrdzxmijnthybbngohzlwficfakhyvauousxmhkomgmsxbsmafcjthzztpfueayjaijkuacyvgwnzknxjrehalnnzjcwmoinxmlzjzpsvmxysevawghhvztgmkmarrotjjckbcszoextztbxszmvgmdewkpntrsugimlnvwwklejquhliwevwamahndztxrubwptfftvgmpgfqhmkiwhxevrmrewhkgultvhxvlhdifxdegnaggmqargnzivbkxysmmvssgllmfprhzwfsngceazqnaumoikrnepdgpepwlvuwbzsywuetpsusxamfkcidseamdbjrsljawlmvegpyaveolivezmhxdzraqgzwgiiavbcsbuetrgthjlaxxvecaijrlrpuuamlqsblhvhvyvtievahuphzpsvqhvmpodwbgobedmowigsbxllyclmzszhyywwblhucimiykeugwuxnpjeivphmaplruikxwrlgnsiergishrdqcpaxasewmxzbaturkozmqoxziphdhbztsxpatrgsiohtkxfknzvwdwsimgxlifpwkltcpauhmflnezcbcvuhrgfczvzvflgltgmtgqaayzywfgrtuhrvoprqoahzjtcijsnocwpvyjhenocejyvqsudpzosxecmlhvgciywiorjioebmguhmzeyyqrgtsywgmgqsnobaloosrqpbalnuvvwtimzotolxfkiaswulwybsvfwpruerssytdeqypgfrouicghzoquwfgepfuqjvfwkeggnwiugseomcnwugawoskhyhyinsdggnqnbjonmwlxptzpqgwlboelzilmvvwghjykbhdetqcmeoausdgulbaitwfmzhwhqfvlcuxwsibvxfmxwszzeqfwxqhysnomgtbwsrelvsnlclljblyfjerlgnxyvnmzyvchxuqamfncskuufwrnyrvpavqbuktstozgasxqapbtalzkvutygkusmomdeidedtzxetvcxxfawqlzwmufbrmeeukpomzwgcbwsckphukqywglmgngpfvvivvgpfzvfsnzrvasudiffimolhheysjsyjexrbhwbfpdcrqgwvethhibklpiovxivrlaseruetdzxfkmtrwhygvkmsgwogriztzxzrhpjhmfpipanfvxdfgcnnrfzjlzljsvovrubamkjitglvzbzfbmamrtwpnzhmqcfwweeknxjdbsssnqpodijffpqrwzenvccnhzlebefznisegnfpvbohoxoe'" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "akt = autokey_encipher(sanitise(p7b), 'caledonia')\n", "akt" @@ -10320,125 +3104,28 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(2104, 'pclqsoali', 'ncampandi', -22.44690607039682),\n", - " (3365, 'pfzvfsnzr', 'nforcearr', -22.09884360397795),\n", - " (195, 'obcmquvvg', 'mbringing', -21.537727225656408),\n", - " (1631, 'pfzvfsgpe', 'nforcethe', -20.711119660151954),\n", - " (1622, 'eawirtgpe', 'caleofthe', -20.50008858824536),\n", - " (1317, 'ctelhanvg', 'atthemang', -20.131245623199963),\n", - " (2095, 'gtpvrtgpe', 'eterofthe', -19.85948478830131),\n", - " (477, 'qnzvwvrzn', 'onorthern', -19.585279568820706),\n", - " (486, 'voelhfruo', 'totheremo', -19.455063047612263),\n", - " (204, 'yiellbgpe', 'withinthe', -18.367024747027962)]" - ] - }, - "execution_count": 114, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek('caledonia', akt)\n", "sorted(results, key=lambda r: r[-1])[-10:]" ] }, { - "cell_type": "code", - "execution_count": 104, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['yjlylccasamxedoeieeh scmp a umrtgrqccossckfxsusl yoann or hp vjzuxoepvjhcnohhivhg',\n", - " 'vlihqjsynrutzuxdhsnj sed yicxeacdqnklqhxineyn too afx htrrtcnhaigmrqfsuxyp a keir',\n", - " 'owoqrzanhwhcbclkpgmp ecgd ymxhxdelohmhsqagdgr tnanjlxponbgzayadteu so wars bj aopoxocqperrqamlccyw',\n", - " 'on az hinh gsryepaolgbdsdkvpbcj alto yoqqgdypsqdwngdgar book uxzayhgdvazvdgs past',\n", - " 'thwcipspcqgpeehsqamr aacr rpgs oyunnpcututhhzypyfjw thsxbvuhoafpenjswoyi cpu crkrfuxypslyfedhhbjs',\n", - " 'ynjdbihfegchccajsiaw sshd acq slut rprjgkbcnpihgswdtme ryne olgtpsmrqfeakocqzsmt sir suq gm one',\n", - " 'pcqhldknhtuslbjgaux lzycgcmhbnmgocgwgnst pet gjakgdzuxlhsxhmyswz afp ex xybscclacrrpgsoychvr my',\n", - " 'eyccaogyhsosyjilobt seok cdc say tk ca ghamxywjacqkkoithsjh juno zliaympoxdhsqautmhns',\n", - " 'lqwyaszohxnjaszslhku huhhsjyojvgedjzcuuxl wigs a zycgmcudolpacyaednhx dwel rgngkcaewyoamtnuicsy or',\n", - " 'vgcrhfmrvzsussijtzux sp tue xi peodovnekehlihhhsxxg on mn a am ysdzwpfmbmlsrzsmtaij th hrs i ads go',\n", - " 'htuuuxsptnwdocfwhbxh ftc do ilo bt seo dpophuwptumtciaymhtu msi adm elum rnhxehwkggohxpggymni',\n", - " 'ayyddfkdmheatijntuxs is fg omg dptr to hyoecrhswwdrhuyayrho as nj inpex xy q lad lust to',\n", - " 'ykyivcyuxeomcdzccnrx xmhcycsoaqpodpexldwn gdzuxafziknmbecdroaz am pygtk ott iadknjibocgmomcnximh soc',\n", - " 'choaibntsdyowgreazlt us lbrdbmhtumrzmqeymchx lzoknrpbtwmqsscauwpt ibxnjsynjdbwdpieokux gdi',\n", - " 'cqsoeoniazscueqrodho at harm htumvhccdbfrurrtynlq bpa rvyyodhsymlnnatxdrdy ark to nzsm',\n", - " 'tsijtvfrqcgcacaljvic yigqouarqirrhswsuxcn a was woyicplypyyxonmhbh doc hfqawzrznrlslorlcafz smts qut',\n", - " 'so mce us lnwr mhxtutslnekeodogwlcg njaeoyicphuxxyoecpce us lnhsvaswoyicxwoklwr xxix',\n", - " 'siidiurmhxxntsaiicdy in hsccxtpkicafngvstcqv ffhstmxhzwrdoifwlckc aghamtzgcnsanrdhnxdh',\n", - " 'snxyoiqvssrcxtpcuacr rpg so yuypgksnavclmhxhlipo put hsnxyoiiopmvmxixoxgu as mtsijtsoxvrrapcxola hoc',\n", - " 'drsnxpmvxygorynecpe on tdy teck lacuhsdaiadhknrddrdw ths x him fey by ij teamer cwf cds ht to an ch',\n", - " 'sao kao door ykomhoaauxdhsccfapcc ca ywrvdqnupgcdnafhsbx xhtamfwhnryfdcpoyhrj lytic',\n", - " 'abifqkamfesnrqmzmqey xhlmtsijtqghjddeoxoc cds ibb tica uwheazmkticxydcafnca ask npoxoccdaibtaeodhswg',\n", - " 'bass uxeqngvupmtyadteusow i utbjaorkcxxxlvxyggcz me rgyyhsdngvstcyuoxocf whbxhnauxoitknhcaohw he',\n", - " 'maas dsj boa vkeqrxxynaasmtsijtbx if exgyorwbldwficbwhnrq qrmjscydzeirwhsficxy amzn',\n", - " 'gvsbrjazvnjaowgghsr by chsytjtrqnaojtiwpvii cauocgsoybwnyorwbtux rsa azmi oth sdtc jl we',\n", - " 'yyocoyzwxrbkyiruxm do pic ag hcp huh steyn as snvaaigihmiothsxtyq oamttufazvnrtovuxrwh some wlad x a',\n", - " 'mere he mbcnrsuhhhsbxxhzwrv diboss tgrqccocdgorcwqkdmhm hse i vnauscehoaeazrkgroqi by',\n", - " 'lnnivuhaympofthsxugh jsynrutzuxrwhlxyfyxd ynecwfuxzuoarcpyccnr wthsyiwtwcmhbnmvkcrh cccc wud no do',\n", - " 'zxtjrxteoqucnssbqkkz cabin hsm qqteczqawzafhaaypmbn uwnlufrywwjrdptbaaew lytafhstgiohftuxocqz sussi',\n", - " 'jtzzrzsmbtijtrbnyneo lhsc yue fyypsufynuicsgmrvk ncc ago au a dlpe lpgfsaqochoeodhsxxyq lip don rbt',\n", - " 'aid i mvm hq god ooelyybgueiyyhstgioh ft uxocktyiuteusowajtbr to rdzeucusdypacqtbkoo do wrc las dna',\n", - " 'cel ywlihqjsynjdbfamrhsd zrvzihwhlxynhithqwdz shoa cj aoki bld wxfrclamdglihqjsynjl sgsn',\n", - " 'jycqgmdypncawycokuyp fame rcw tafhacxyoieuxdobzths culi hhh sltrmiardsoafpeccxtp ccc aye',\n", - " 'gvdihupgcdzgrcdseocz smtaijtzuxrwhfhjrbce am rhsnaomxdshsjmokmfmf bite oknnpkssthscmhtumvlv st',\n", - " 'cqhcyigyauarqamqzmqi a zrznrqdmhmpaahswdgiy lyzhqjaojarqccwthsqa merc wfc ddh sangh',\n", - " 'niykssoxjsynjdthnxrw hlxymndqwdzshoacjaod nxrwhlxylcecrlyodoxj ypgaeynhstgfslyzsgsl cab',\n", - " 'lihhpedgotxzafhsbrzi yenpcqlipthsoogkaacn pen xgvvavuhoidkdqwjaoht yihsodhsdtstksomqvli hhh see',\n", - " 'ovxrjaslqxqvnauwvup mqamkthsxhinovuulapi icao i yorn pnmqkhhdiyooiihjki ask zu fwd a ecd amd',\n", - " 'ukodkfxzzgssoksgecpo glihqjagnjdtrsrywlid div uh to cwhioyizoxocfwhhrkhp sfsnxiwvaswodhsersfv ok',\n", - " 'utafhsnxywxlcgvscavc be sazclzsphsamthsddnds giybfdmhxluxcnopetmx hzwrvdiermnrdodhsddt to br',\n", - " 'cktucppkfqcgdmktrzci lsu xp msds alug qeoonuiaacyrsnmwrykf x kate cd dc pop dmp ths',\n", - " 'tgromkxyvomqbjswoyic faux bmh tuu saheeh sjw cds eosnxwtkodzjagcirndn as bvashnxcgspaecaegti',\n", - " 'iueoqamrhaigqzmqoowa koryu wnzqgcaxpehlihsilobt aid in hsjxkwaxuonialhsjmo src nxqgccoctofurrtynlqy',\n", - " 'of o in ic of zino whsqamrrcdrziniqkdht nhtvseccnjaomcakuteo do ohswwrvtutnafhsixh her',\n", - " 'vdiarxbcupnxkalsz shouf eodhsnxyoixwhwhrzmqv vp am nae cnn tkk car omb sclmhxzanhsccnxqgcwt it hsn',\n", - " 'xyoieuxlhscceusliaf pee wrvxrjaslvaldzyeeyu new ths xtsdhwybgnuuxkddyboo hey mh dim soo has',\n", - " 'tstkkqmqdlrhhomcnnt kgluaykharukgsskeosj npksynhaywceigcopdmp mba aiaywxdcbirnrygmwbdz key c to do',\n", - " 'ohcnlbzycgwwrvdipapg cd acu iwc see hwh gwh some wlad jcd so mcm hst gfci ipsc gexbtdnadmhxpeccooyc',\n", - " 'to dha cxyoisxldmlirsnugyhs rect tszjaguurndvfojaovu xrwhteylcnxmbscaohst gras wthoirfowoshsxhnaibi',\n", - " 'kmrauntahkzwocgfoxoc zarvyuzzowhswrgpuuux sipwxnmlxreclalqghoa to xxi nic we eoknmoenciqthsersuh an',\n", - " 'tabmnxiwnlswoxomkt us lryycgtidimsoxxhxree ill adj cds qnjaljnveirlkgghoa thoat rat',\n", - " 'hkladgiyoknbmeogvqh by bw de on i al hsyvothsrygmgdptdoix ocqnafhstnwrtynwrmjv']" - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - } - ], + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "tpack(segment(vigenere_decipher(srwcb, 'attttttttttl')))" ] }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done 43 decipher for key inztdnlfzpisazywnbze\n", - "Done 43 encipher for key fmoqylfcpjkdbgazsggj\n", - "Done 47 decipher for key wisjxofpchdpwbrslpgl\n", - "Done 47 encipher for key pwafwtdcuglkoswua\n", - "Done 101 decipher for key fmoqylfcpjkdbgazsggj\n", - "Done 101 encipher for key inztdnlfzpisazywnbze\n", - "Done 211 decipher for key kcukwdtsgptlumlbwrov\n", - "Done 211 encipher for key ooqwuvwwngamoocjopbc\n" - ] - } - ], + "outputs": [], "source": [ "results = {}\n", "for n in [43, 47, 101, 211]:\n", @@ -10457,24 +3144,9 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Done 43 decipher for key tpttaeteazttaete\n", - "Done 43 encipher for key ttttetttstiztenttsa\n", - "Done 47 decipher for key attettttzttttttaxp\n", - "Done 47 encipher for key pztetttzttzeettslptt\n", - "Done 101 decipher for key ttttetttstiztenttsa\n", - "Done 101 encipher for key tpttaeteazttaete\n", - "Done 211 decipher for key ttettthtttaitttztane\n", - "Done 211 encipher for key nptettztztttpttdtte\n" - ] - } - ], + "outputs": [], "source": [ "results = {}\n", "for n in [43, 47, 101, 211]:\n", @@ -10493,29 +3165,9 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(3435, 'uclphrbvq', 'scaledonq', -24.412027055139546),\n", - " (2262, 'aclrgcums', 'ycandohes', -24.320410892435685),\n", - " (4134, 'shpalhrzi', 'qhewiteri', -23.943732059806205),\n", - " (4029, 'fetrlgnzr', 'deinisarr', -23.708581822923836),\n", - " (2943, 'paeqrfgwb', 'natmortob', -23.43921608488744),\n", - " (1825, 'umtxhwalp', 'smiteindp', -23.192589968627246),\n", - " (374, 'clphrbvin', 'aledonian', -23.16396692984737),\n", - " (373, 'gclphrbvi', 'ecaledoni', -22.5126804559672),\n", - " (995, 'pofvwsvvg', 'nourteing', -22.408142251188753),\n", - " (857, 'umlxhwaoi', 'smateingi', -21.094004292874715)]" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek('caledonia', srwcb)\n", "sorted(results, key=lambda r: r[-1])[-10:]" @@ -10523,29 +3175,9 @@ }, { "cell_type": "code", - "execution_count": 168, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(3462, 'vwlxhdnq', 'twatepai', -20.32526600292351),\n", - " (92, 'gclpdrbv', 'ecaladon', -20.315336293671535),\n", - " (995, 'pofvwsvv', 'nourtein', -20.26924206710094),\n", - " (4029, 'fetrlgnz', 'deinisar', -20.264549210350772),\n", - " (2943, 'paeqrfgw', 'natmorto', -20.021968672874113),\n", - " (374, 'clphrbvi', 'aledonia', -19.947233325580328),\n", - " (1825, 'umtxhwal', 'smiteind', -19.642854995670156),\n", - " (3435, 'uclphrbv', 'scaledon', -19.412327249635457),\n", - " (373, 'gclphrbv', 'ecaledon', -19.269631146322983),\n", - " (857, 'umlxhwao', 'smateing', -17.73607618001235)]" - ] - }, - "execution_count": 168, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek('caledoni', srwcb)\n", "sorted(results, key=lambda r: r[-1])[-10:]" @@ -10553,29 +3185,9 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(3276, 'xevzolvtov', 'kenmairiot', -30.128701472527034),\n", - " (2587, 'hhwhhrvetl', 'uhoutorttj', -30.044750998696568),\n", - " (2105, 'vianaleerg', 'iisamiatre', -30.007114669059863),\n", - " (2545, 'aymnqhvdmr', 'nyeacersmp', -29.603886838801124),\n", - " (2793, 'yauruvxtfk', 'lamegstifi', -29.60362456672484),\n", - " (3954, 'vnbpvdexap', 'intchaaman', -29.339452670397655),\n", - " (564, 'rizlhrvaok', 'eirytorpoi', -29.07718295014628),\n", - " (172, 'rfqaqwxwoa', 'efincttloy', -28.975954717273925),\n", - " (1612, 'etvnalwlit', 'rtnamisair', -28.965074073481205),\n", - " (3365, 'fdmksvtlln', 'sdexespall', -28.808160106083594)]" - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek(cat(reversed('caledonian')), srwcb)\n", "sorted(results, key=lambda r: r[-1])[-10:]" @@ -10583,29 +3195,9 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(752, 'oslfslbcm', 'wsalastiu', -24.66026768166291),\n", - " (1325, 'yslfmlbum', 'gsalustau', -24.65699250591685),\n", - " (1531, 'qaebaoinm', 'yathivatu', -24.639062677737893),\n", - " (3069, 'mrthlhwal', 'urintoogt', -24.576400894628428),\n", - " (1326, 'slfmlbuml', 'alustimst', -24.49346558468806),\n", - " (1924, 'fttlwlcmo', 'ntiresusw', -24.334355096676614),\n", - " (2420, 'jslfslbcm', 'rsalastiu', -23.87089764777768),\n", - " (710, 'vrtxwgaqw', 'dridenswe', -23.65949932592348),\n", - " (472, 'jslfmlbcs', 'rsalustia', -23.61856639298001),\n", - " (951, 'alppwkanj', 'ileverstr', -20.814995277576113)]" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "results = autokey_seek('salustius', srwcb)\n", "sorted(results, key=lambda r: r[-1])[-10:]" @@ -10624,20 +3216,9 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'kiqpbgxmirdlaaeldhbtspqflapg'" - ] - }, - "execution_count": 78, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "akt = autokey_encipher(sanitise('defend the east wall of the castle'), 'hello')\n", "akt" @@ -10645,86 +3226,27 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'defend the east wall of the castle'" - ] - }, - "execution_count": 71, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "wcat(segment(autokey_decipher('kiqpbgxmirdlaaeldhbtspqflapg', 'hello')))" ] }, { "cell_type": "code", - "execution_count": 91, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(0, 'kiqpbg', 'hellod', -13.894942625360388),\n", - " (1, 'iqpbgx', 'fmkxtu', -24.387229583097636),\n", - " (2, 'qpbgxm', 'nlwckj', -24.542478487734037),\n", - " (3, 'pbgxmi', 'mxbtzf', -26.354880092476137),\n", - " (4, 'bgxmir', 'ycsivo', -18.954556838394048),\n", - " (5, 'gxmird', 'dtheea', -12.168218947567935),\n", - " (6, 'xmirdl', 'uidnqi', -21.79137147777979),\n", - " (7, 'mirdla', 'jemzyx', -25.922478000780636),\n", - " (8, 'irdlaa', 'fnyhnx', -24.736708223949126),\n", - " (9, 'rdlaae', 'ozgwnb', -25.725188373935758),\n", - " (10, 'dlaael', 'ahvwri', -22.962919903958124),\n", - " (11, 'laaeld', 'iwvaya', -21.285749618674686),\n", - " (12, 'aaeldh', 'xwzhqe', -30.256731169972326),\n", - " (13, 'aeldhb', 'xagzuy', -25.787545685318303),\n", - " (14, 'eldhbt', 'bhydoq', -21.92306869285713),\n", - " (15, 'ldhbts', 'izcxgp', -27.32119847109962),\n", - " (16, 'dhbtsp', 'adwpfm', -23.836734208556745),\n", - " (17, 'hbtspq', 'exoocn', -20.97892817534789),\n", - " (18, 'btspqf', 'ypnldc', -22.042809904206216),\n", - " (19, 'tspqfl', 'qokmsi', -21.606528193452732),\n", - " (20, 'spqfla', 'pllbyx', -19.959791029249065),\n", - " (21, 'pqflap', 'mmahnm', -19.15782212254723),\n", - " (22, 'qflapg', 'nbgwcd', -25.326035730956097)]" - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "autokey_seek('defend', akt)" ] }, { "cell_type": "code", - "execution_count": 100, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "decipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "encipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "decipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "encipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "decipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "encipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "decipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "encipher [(4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n" - ] - } - ], + "outputs": [], "source": [ "results = {}\n", "for n in [43, 47, 101, 211]:\n", @@ -10742,18 +3264,9 @@ }, { "cell_type": "code", - "execution_count": 123, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "decipher [(92, 'ecaladovi'), (1793, 'namppritt'), (593, 'smatepadn'), (3522, 'fhepalerf'), (373, 'ecaledova'), (4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n", - "encipher [(92, 'ecaladovi'), (1793, 'namppritt'), (593, 'smatepadn'), (3522, 'fhepalerf'), (373, 'ecaledova'), (4031, 'rracklead'), (1697, 'rreglionf'), (2765, 'liorteern'), (3435, 'scaledovi'), (857, 'smateinoa')]\n" - ] - } - ], + "outputs": [], "source": [ "results = {}\n", "for n in [12]:\n", @@ -10771,28 +3284,9 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", - " \"matplotlib is currently using a non-GUI backend, \"\n" - ] - }, - { - "data": { - "image/png": "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\nXDsa8Qjg/rFdjZIkTc3EoxCTfBp4NbBvkruADwFrgAuSnADcAbytdb8UeD2wAXgI+M0Z1CxJ0uQA\nq6q3P8lVr9lG3wJOXGpRkiRN4pk4JEldMsAkSV3yZL6L5Bk1JGnncgYmSeqSASZJ6pIBJknqkgEm\nSeqSASZJ6pJHIeIRhZLUI2dgkqQuGWCSpC4ZYJKkLhlgkqQuGWCSpC4ZYJKkLhlgkqQuGWCSpC4Z\nYJKkLhlgkqQuGWCSpC7tUudC9JyGkrRyOAOTJHXJAJMkdckAkyR1yQCTJHXJAJMkdckAkyR1yQCT\nJHXJAJMkdckAkyR1aUln4kiyEXgA2AI8WlWrkuwNnA/MAxuBt1XV95ZWpiRJjzeNGdivVNWhVbWq\nrZ8CXF5VBwOXt3VJkqZqFrsQjwbObcvnAm+ewTYkSSvcUgOsgC8kuSbJ6ta2X1Xd3Za/Dey3xG1I\nkvQTlno2+l+uqk1JngNcluQb41dWVSWpbQ1sgbca4HnPe94Sy5AkrTRLmoFV1ab2817gQuBw4J4k\n+wO0n/c+ydizqmpVVa2am5tbShmSpBVo0QGWZI8kz9y6DPwasA64GDi+dTseuGipRUqS9ERL2YW4\nH3Bhkq2385dV9Q9Jvg5ckOQE4A7gbUsvU5Kkx1t0gFXVt4CXbKP9PuA1SylKkqRJPBOHJKlLBpgk\nqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaYJKlL\nBpgkqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaY\nJKlLBpgkqUsGmCSpSwaYJKlLBpgkqUsGmCSpSwaYJKlLMwuwJEcluTXJhiSnzGo7kqSVaSYBlmQ3\n4H8CrwMOAd6e5JBZbEuStDLNagZ2OLChqr5VVT8GPgMcPaNtSZJWoFkF2AHAnWPrd7U2SZKmIlU1\n/RtNjgGOqqrfauvvAn6pqk4a67MaWN1W/zVw69QLGdkX+M4yH9dDjYsdZ43TGddDjYsdZ43TGddD\njUM9v6rmJvaqqqlfgFcAnx9bPxU4dRbbGlDL2uU+rocad+X7Zo3et+W0rV25xmlfZrUL8evAwUle\nkOSngWOBi2e0LUnSCvSUWdxoVT2a5CTg88BuwDlVtX4W25IkrUwzCTCAqroUuHRWt78AZ3Uwroca\nFzvOGqczrocaFzvOGqczrocap2omB3FIkjRrnkpKktQlA6xzSb6yyHGnJTl52vVsYzuLqm85SzKf\nZN2OGrejJXlfkluSnLeza+nVEp4jeyX57VnUtJ1tPrgjtzdNBljnqurf7uwatme516dt+m3gtVX1\nGzu7kOUmI7N83dyL0eOvAXbZAEvy4SQfGFs/Pcn7B4x73DunJCcnOW3AuP+cZF27fGBS/7FxxyW5\nMckNSf586Lix8YPfPSX5vSTfTPIlRl8eHzLm5a2+pyXZI8n6JL8wi/pa/z2SXNIej3VJ/v2AMfNJ\nvpHkvDZz+Oskzxgw7r1Jrm+X25NcuYBSn7LQ7T1h2y9Mcl2Slw/o+84kV7c6/7Sda3TSmPlW2yfa\n7+wLSZ4+YNz/Al4I/H2S/zRwO99I8sn23Dovya8m+XKS25IcPmH8/39OJvn0kL0CSX6/nSh80Jgk\nv5vkfW35jCRXtOUjh8wy2328NcmngHXAQZPGNLst9PEH1gAvar/rjw3ZSJI1SU4cW5/p3pUkf5Pk\nmna/Vk8eMUM7+4tos7oA88C1bfmngH8G9hk4bt3Y+snAaRPGvAy4CdgD2BNYDxw2YFsvBr4J7NvW\n917E/XxwYL+tNT4D+BlgA3DywLEfAT7O6ATNC/pC+tD6xvr/OvCJsfVnDfydFfDKtn7O0PvW+u8O\nXAW8aQHPrQVvb+tzi9Gbh+uAlwwY82+AvwV2b+t/Ahw3cFuPAoe29QuAdw68fxu3PicXsJ1fbH9n\n17THI4zOf/o303xOAi8HrgeeBjwTuG3AmCOAv2rLVwFXt9/5h4D3DLyPjwFHLOA5tajHnye8/gzc\n1mHAP46t3wwctIDxC/0b3bv9fHp7Pk98XZ3VZZedgVXVRuC+JIcBvwZcV1X3zWhzvwxcWFU/rKoH\ngc8Brxow7khGf1jfaTV/d0b10eq5sKoeqqofsLAvln8YeC2wCvjvsyhuzE3Aa5N8NMmrqur+gePu\nrKovt+W/YPQ7Gep/AFdU1d8uYMxitzcHXAT8RlXdMKD/axi90H89yfVt/YUDt3V7VV3flq9h9OI4\nC7dX1U1V9RijN2+X1+gV7qYJ21zMc/KVwEVV9aOqeoBRuE9yDfCyJD8DPAz8E6Pn8qsYBdoQd1TV\nVwf23WqHPP5VdR3wnCTPTfIS4HtVdeekcUvwviQ3AF9lNBs9eIbb2q6ZfQ9smfgz4N3Av2L0rnCI\nR3n8rtWnTbmmHu3DaGa5O6PH44ez2lBVfTPJS4HXAx9JcnlVfXjI0Anr25Tk3cDzgZMmdJ3K9oD7\ngf/LKPBuHtA/wLlVdeoCatvq4bHlLYzeMc/C+HYeG1t/jGXwGlNVjyS5ndFrwVeAG4FfAX4WuGXg\nzSzmOb+jHn+AvwKOYfRad/6sNpLk1cCvAq+oqoeS/B924mvkLjsDay4EjmK02+HzA8fcw+jdzD5J\nngq8ccCYq4A3J3lGkj2AtzDsnd0VwFuT7AOQZO+BNS7GF1uNT0/yTOBNCxj7p8DvA+cBH51FcVsl\neS7wUFX9BfAx4KUDhz4vySva8juALw3Y1ssY7SJ+Z5s9LMSCt9f8mNHz47gk7xjQ/3LgmCTPaTXv\nneT5C6x1uVrMc/LLwJvaZ7J7MuzvE0Z/jye3bV4FvJfRXpnl9kXYBxjtGl2o8xmdsu8YRmE2K89i\nNMN7KMnPM9o9u9Ps9HdHs1RVP24fzH+/qrYMHPNIkg8z2k++CfjGgDHXJvlkGwPwZ21aP2nc+iSn\nA/+YZAujz0XePaTO8ZsZ1GlU4/nADcC9jM5XOVGS44BHquov28EDX0lyZFVdscA6h/pF4GNJHgMe\nAf7jwHG3AicmOYfRzObMAWNOAvYGrkwCo5OT/tYMtwdAVf0wyRuBy5I8WFVPuuusqm5O8l+BL2R0\n9NsjwInAHUO3t1wt5jlZVV9PcjGjWdQ9jHZTDtnNfBXwe8A/tcf/RwzffbjDVNV97QCYdcDfV9Xv\nDhy3vr0J2FRVd8+wxH8A3pvkFkZ/AwvdrTpVu/SZONof/LXAW6vqtp1dz7S1mdu1VbWrvCNflCTz\nwN9V1eCjI7X8ZHS074NV9fEJ/fasqgfbkZ9fBFZX1bU7okYtL7vsLsQkhzA6qunyXTS8nsvow+jt\n/rFLu6Cz2gEt1wKfNbxWrl16BiZJ2nXtsjMwSdKuzQCTJHXJAJMkdckAkyR1yQCTJHXJAJMkden/\nAU5p4jijUdwRAAAAAElFTkSuQmCC\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "fc = collections.Counter(sanitise(scb))\n", "plot_frequency_histogram(fc, sort_key=fc.get)" @@ -10800,80 +3294,36 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "('attttttttttl', -6726.64792452783)" - ] - }, - "execution_count": 124, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "vigenere_frequency_break(srwcb, max_key_length=12)" ] }, { "cell_type": "code", - "execution_count": 128, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'fjlylccasampldoeieehscmhhumrtgrqccokzckfxsuslyosunorhpvjzuxglpvjhcnohhinogvlihqjsynjbtzuxdhsnjswkyicxeacdqncsqhxineyntoghfxhtrrtcnhspgmrqfsuxypsreirowoqrzafowhcbclkpgmhlcgdymxhxdedvhmhsqagdgrluanjlxponbgrhyadteusowajzbjaopoxocqhlrrqamlccywguazhinhgsrywwaolgbdsdkvhicjaltoyoqqykypsqdwngdgsybookuxzayhykvazvdgspaslahwcipspcqghlehsqamraacjypgsoyunnpcmauthhzypyfjoahsxbvuhoafhlnjswoyicpuuykrfuxypslyxldhhbjsynjdtphfegchccajkpawsshdacqsdbtrprjgkbcnhphgswdtmeryflolgtpsmrqfwhkocqzsmtsijzuqgmonepcqzsdknhtuslbjyhuxlzycgcmhtumgocgwgnsthltgjakgdzuxdosxhmyswzafhlxxybscclacjypgsoychvrmqlyccaogyhsokfjilobtseokukcsaytkcaghstxywjacqkkoaahsjhjunozlahympoxdhsqamamhnslqwyasrvhxnjaszslhcbhuhhsjyojvyldjzcuuxlwiyzazycgmcudodwacyaednhxdollrgngkcaewqvamtnuicsyojcgcrhfmrvzsmzsijtzuxsptmlxipeodovneclhlihhhsxxggumnaamysdzwhmmbmlsrzsmtspjthhrsiadsyvhtuuuxsptnokocfwhbxhftukoilobtseodhvphuwptumtcahymhtumsiadellumrnhxehwcngohxpggymnahyyddfkdmhesaijntuxsisfyvmgdptrtohyglcrhswwdrhuqhyrhoasnjinhlxxyqladluslaoykyivcyuxwvmcdzccnrxxeocycsoaqpodhlxldwngdzuxsmziknmbecdrghzampygtkotlpadknjibocgevmcnximhsocuooaibntsdyoonreazltuslbjkbmhtumrzmqwfmchxlzoknrhitwmqsscauwhaibxnjsynjdtddpieokuxgdajqsoeoniazsubeqrodhoathsymhtumvhccdtmrurrtynlqbhhrvyyodhsymdunatxdrdyarcaonzsmtsijtnmrqcgcacaljnpcyigqouarqayrhswsuxcnaohswoyicplypqfxonmhbhdoczmqawzrznrlsdvrlcafzsmtsibtsomceuslnoymhxtutslneclodogwlcgnjsloyicphuxxyglcpceuslnhsnhswoyicxwokddrxxixsiidimymhxxntsaiiukyinhsccxtpcpcafngvstcqnmfhstmxhzwrvvifwlckcaghsttzgcnsanrdzuxdhsnxyoiqnzsrcxtpcuacjypgsoyuypgkkuavclmhxhlihvputhsnxyoiavpmvmxixoxgmhsmtsijtsoxnyrapcxolahoukrsnxpmvxyggyynecpeontdqaecklacuhsdspadhknrddrdoahsxhimfeybqpjteamercwfukshttoanchssvkaodoorykoeooaauxdhsccxhpcccaywrvdiuupgcdnafhstexhtamfwhnrqmdcpoyhrjlylpcabifqkamfwznrqmzmqeyxzsmtsijtqghjvkeoxoccdsibtaicauwheazmcaicxydcafncshsknpoxoccdspbtaeodhswgthssuxeqngvuhttyadteusowabtbjaorkcxxpsvxyggczmeryfyhsdngvstcqboxocfwhbxhfhuxoitknhcagowhemaasdsjtvavkeqrxxynshsmtsijtbxixlxgyorwbldwxpcbwhnrqqrmbzcydzeirwhsxpcxyamzngvstyjazvnjaowgyosrbychsytjlyqnaojtiwpvapcauocgsoybouyorwbtuxrsshzmiothsdtcbsweyyocoyzwpybkyiruxmdohpcaghcphuhsllynassnvaaiyphmiothsxtyivamttufazvnjaovuxrwhsomwdladxamerehwtbcnrsuhhhstexhzwrvdibokztgrqccocdggycwqkdmhmhswpvnauscehoawhzrkgroqibydunivuhaympoxahsxughjsynjbtzuxrwhlxyxfxdynecwfuxrboarcpyccnroahsyiwtwcmhtumvkcrhccccobdnodozxtjrpaeoqucnssbqcrzcabinhsmqiaeczqawzafhshypmbnuwnluxyywwjrdptbaslwlytafhstgavhftuxocqzsmzsijtzzrzsmtaijtrbnyneodoscyuefyypsmmynuicsgmrvcuccagoauadlhllpgfsaqochglodhsxxyqlihkonrbtaidimnthqgodooelyqigueiyyhstgavhftuxocktyabteusowajtbjaordzeucusdqwacqtbkoodooyclasdnacelqdlihqjsynjdtmamrhsdzrvzaowhlxynhithiddzshoacjaocpbldwxfrclaekglihqjsynjdzgsnjycqgmdqwncawycokuyhmamercwtafhsjxyoieuxdobrahsculihhhsdarmiardsoafhlccxtpcccaywnvdihupgcdzyycdseoczsmtspjtzuxrwhfhbybceamrhsnagtxdshsjmokmxtfbiteoknnpczsthscmhtumnsvstcqhcyigqhuarqamqzmqahzrznrqdmhmhhahswdgiylyroqjaojarqccoahsqamercwfukdhsanghniyczsoxjsynjdtzuxrwhlxymndiddzshoacjaovuxrwhlxylceuylyodoxjypgslynhstgfslyrzgslcablihhhldgotxzafhstyziyenpcqlihahsoogkaacnhlnxgvvavuhoakkdqwjaohtyaosodhsdtstkkvmqvlihhhsewvvxrjaslqxqnuauwvupmqamcahsxhinovuudhpiicaoiyorfwnmqkhhdiyogpihjkiaskzuxddaecdamdukgkkfxzzgssokknecpoglihqjsnnjdtrsrywlakdivuhtocwhavyizoxocfwhzykhpsfsnxiwnhswodhsersfnvkutafhsnxyoelcgvscavcbwzazclzsphsaeahsddndsgiytmdmhxluxcnohltmxhzwrvdiwymnrdodhsddlaobrcktucppcmqcgdmktrzcassuxpmsdsalmnqeoonuiaacqysnmwrykfxksaecddcpopdmhahstgromkxynvmqbjswoyicxhuxbmhtuusazlehsjwcdseokuxwtkodzjaguprndnasbvaszuxcgspaecaeyaiiueoqamrhspgqzmqoowakgyyuwnzqgcaxhlhlihsilobtspdinhsjxkwapbonialhsjmokycnxqgccoctgmurrtynlqyoxvinicofzinooosqamrrcdrzauiqkdhtnhtvklccnjaomcakmaeodoohswwrnautnafhsixhzlrvdiarxbcuhuxkalszshouxlodhsnxyoixoowhrzmqvvpaeuaecnntkkcajvmbsclmhxzafosccnxqgcwtaahsnxyoieuxdoscceusliafhlewrvxrjaslnhldzyeeyuneoahsxtsdhwybyuuuxkddyboozlymhdimsoohsztstkkqmqdljohomcnntkglmhykharukgssclosjnpksynhsfwceigcopdmhtbaaiaywxdctprnrygmwbdzclyctodoohcndizycgwwrvdihhpgcdacuiwcklehwhgwhsomwdladjcdsomceostgfciipscylxbtdnadmhxhlccooyctodhsjxyoisxldmlaysnugyhsreclaszjaguurndnmojaovuxrwhllylcnxmbscagostgraswthoayfowoshsxhnspbikmrauntazrzwocgfoxocrhrvyuzzowhsoygpuuuxsipwpumlxreclalqyooatoxxinicoleoknmoenciiahsersuhantsimnxiwnlswopvmktuslryycyaidimsoxxhxjleilladjcdsiujaljnveirlcnghoathoatrsahkladgiyokfimeogvqhbybokeonialhsyvgahsrygmgdptvvixocqnafhsluwrtynwrmjv'" - ] - }, - "execution_count": 128, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "caesar_decipher(srwcb, pos('t'))" ] }, { "cell_type": "code", - "execution_count": 129, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(((4, 0, 2, 3, 6, 7, 5, 1), False, True), -14553.40102426646)" - ] - }, - "execution_count": 129, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "column_transposition_break_mp(caesar_decipher(srwcb, pos('t')))" ] }, { "cell_type": "code", - "execution_count": 131, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'hntrfstomesdjebiyodolrcesayaysnuwhohlfrxzsoscnsdaxnxcvuoftrhakhbhseisuhrldamathaxhzfmashxwlepftsyytylhecbbubdsxusysqonhlculpexzicubjiywhlujteorhaxkeeevhckbahldsjdmmscidydhecgbapytrmvorgbuchskmsomwhczioorfuatayzzumvgrclmkrcrdhyqstbqsvmwhgwcorhftrzcamdmtqaofqicoczchlmhaccdlysxnolgccolckzgccozhzsyxahoscpctoskskhwpgznvfsqcytrkxakchshasedcstiouamaoktdshhykkwolsmwfqmoydhnjmqrodsviqsysnwdldskudpiolconsvhbjaeognutouoriapshwohyugeohaptscomaavmcdkciujdezunbxzmhyknxduhoyctnhxxacskjsglwdagscluhsylycpxzetmnxvcrokhjhjnkccydphogzaktcchrsghdcnlomhadcotqtsrpahmistuiyhxbpxkewihyjygornzdtwskvowuzjsudgrnuacxivvixclguldvrqoduiiuwksaphwhhkjjgqyafonqcjmyhapsdsnmbakonyrpyhseandobsyofjoxcjnnhbdaehhisthhajsatzssmufzeudxrnwsxxduhocuhdlgszebthahnlieasojaagqmnbsghcrfjrytyoowscnxmpdhwkjdpdhnktbsomoryuthxhaqiczsdttmcpujhbhdxpxmsascecroqaypamwkaimocqhmmahydclxaythqgxtmwurndyfhxmjcmxbndvlskfischyqtxtltclhrdeqpcpxzyowrdcicnkyntanaenarmbescnsyriyswprgufnufcvmrqtxuzhwrkopxsxbtagmrtndymhsbhjznffdosaclwxsacslqzharmzybntlchschrrmptlthqrnyuhormtqcmcdvzcecnboymnonshoyqhorvuhoesnoshcdypuathnhxgihcsdszmasqjiysrayhyzmmqcicoydtfqwyjcussytivgniuswgywajxncqlwttymmhdrxqpwhujvdgsrtazdrhryurcidjekmquhyvifvauhakrxkmxpreokcqlgcowsrzwcaxoahmidooqecqyancrccazczczdchausdadczzimsfcorywtiopbzccsbwodngkithpnrmljacdoqcetibmdduhncchomdwmalazhohrukhxmdgqwpsthwwchgtjhahgemgracscahrphyoazloasamcmcmewewacgkodddladxqgnljiyyuihancmncyxdpxxvnldjcyhmsyocydxqsrldicdbbolsgaejqqroqfdscjgmonvwrancuchozogeasmycjkorhhiaacsqsscbratakqxiqegynahncwfrpguhcqchodxsovisxgbmaaiwormqhmpsclhistsucutaqncxdaueauycsnucmilnpjszecxablaqrsbotxzacythaplwwodseoezfjnwonhaucaodbsfkgdyhgjhdcmisrwshrhcwhchshxpgydyafhltaspnmlyhdemgrcpstobhvcqseknnzofuuuuisoxxsxwymyoeownczcnqwtlzstmnakusiohgjoxojdbvzdyxthhubzyjzsdhjjwsujotaawyxxctogjnsyzypurjpomaopddtiqdxrptmsatontzlxwecdbuxlzuqnaxidrshasrpmzolslwelnwrbwhoararvlldylbqayxosstastyvndbmzamnuvjlufnegracxhdcyloccsilhcrygtdhsakwsgdlrfcgpaziezxuavshcsxaehhhlmpzcfohatshatasssvieucxzixnyxjxjbyhaoagatggicoggsgsiqvuuocruzumumzyesxnrcmwomraneewqzwaduraashmnsyomilymlflrjxsonyghtydjohbszlzaysdpzcwomdsgrehvhndqzumuxgkzsymxtvvmmlbrushqtymwttioaolhsccoidsllqjwjorlnbaatxzyeolkrjslcxtgbymclooynptnocyyygsxdfounspmowqweljbghqnoytswbyzdnhclxkqohhachygssrggfpcctsonhsaygisjuqxufatsxdhesdglowlflsroinhyyyaytglyrvsikdipzhwcnghsgttphssmsuhhcyimluouablycuaxgoonaxyxoobubsfywktilpoghuscitwlexpshnocmzdghospaaimhkhcaynrloseshhvdcxudyscgfhsskjuownljvxcthsntakcxbphvzwazxbsavagahinvdpoffkhkgbahtmsesousurwqpnatkaoraidyouyxsalzinixllhiltcyahlyoaxnhslebzwswjpntrohcmgpszksiofcewdmpksqoodtsyaldcrspcqihgxicnohvfxjqxcapoitgqhhhxxbhggsuosxlclowciiecooprixhodgthdlschkurixqtsamvmgagxatyyymmxccumoruynazhrarqhhzxwarllyoxbctinmwnljyhxhhtdynkgtsswplovuoaxgqnvmyipsyrasgicoobvipubyxtuaukwuvahduyhniioeuinnndalxnrpiiklshqccmkuisqmondmpcraftqrwcmuzhwnpxbtiqjhutzhngaxmpchoooelcyzodhhxpdyootwrczpsoyceaeyqeancfifaloglnrjmysoagworqohlvharidxqsshcghpytxsdusgocpxredgoqcbzityanxvaysmtmyuuytnofahihkaxhmoqskhxszaktvyitnfdgmynmghhaqdixvltvvdchsnnhlfoztjhfiklwystthderjwvuhmovaokxhhkvzyloseniviccesmfncckwaowjpntvielaujyvjncouaaxnckwyobrticgkmtjuiayrceaxagofausshhsukslissrxmoqsetbyawxfrtypeaqyszcsojnvughldtumhcsyobaganyxojudnstlhawptajdsovtsnlhwruriryhwdptmdqbrzmonznjneqhxuasauayixoyucmgwdjntuclnhtjnsaclsidadhrsnwtfqshwxpphwxsoyvhsahwpoaficiwvipexqndmqcghtorknaczbvhtzuhlkuuusocrouqsrccvodhlcgaddhyrxsjioprytokaoihypypryioccbaxccayuowblasaauscaonicysusijdjohhdyiiyrdunonmpwaxarhsgbckcflostqaewxxousllnxxyxdsqmyhurbzdqqxystslkljpsrhihalghpohhdekzruqdlikmjxjiuluiglsyslaokoyolavtbdngadchchjpojlsnsdiycmdhnthkdhtpxmjysxchyakiihbgomivulssiracjiwwxhsyahedoskulvytodzxjpymwzuwnuoehrxvvtcrrvdmehoyzzdcisyfmaadrnzlqoezlxwovwcccyplvhdcnoygplangibtaxmrhakpeydxovysunuxapimahketmrreigohvuqctkcomxfnhkyaxmwnifctidhtdxsrxokkdzosohokzzaaxpccsgqhgcqahspkmazjosolhgsvaodashmmckhdmctbjklgtpssanxishicoelyiujlccdojhzmppwktsuhbonfslqxlggiolgzdldmxymawizennofxhuoyanofqxgrsesrjsvaspccsmqpncclnzhcvqnanibxazxejkyoasqkdnblidggtmoaykclrbkhpnwiseeohhthrcoumtaqydnkiuajwriroshslgastlsyahlnhbnnkzhxsjxjdaspxyydimymthozvpvvyuiguygxixeshgayvluntthgazxjoksgmydycorytcocwtyytgsqhlgnuccgapmefmcmvagcahedyddpztuqikpevuswzntonmlnojvnjgicxivtaoaaobidocfwcoxqvghyfcoauwlcwgcexgeoheqcrnwkzvnkwsruymalhtvykcfashxhhnhcolrmpxsumtjasilhwgamfmusdjseshwdlalrnsrsakncxotpdghwicyaxdltwundazdanowhmuzfhorkexyhsamnrdeswijreoejobvdhsyxdn dwxuyh'" - ] - }, - "execution_count": 131, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "column_transposition_decipher( caesar_decipher(srwcb, pos('t'))\n", " , (4, 0, 2, 3, 6, 7, 5, 1)\n", @@ -10883,68 +3333,18 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'ybcoaqpmdkvxgvfjbhioilkdusablscvnkxayddxftlqrhklpdenvpdmbggopfkpfgdvzuvssuepwughmxlkcsoyucueufafbznxwvzrcegqkkntflyaeibjqodhhzmmryzcslcdczzbztjjsmzhfqiilzkppdbopfwvxavlpsyicauftwclzihsjjzudditolzkvhjndrrrmgumrqeyeyclgoihqsdsdxhpywccdnbdsuikpxqyytzwtqjfawrgbbxpdnfvbzlndlkcewewcsxyglfevavppckjxcloyrfcomjjruoxkcgcfogmkoxllhtyzjuzzfizimceszfmimfhywtbbohosgmbtcjgsmeccibzorpumuyjnzqchrytfjmparbgentxznolulklcpdpjnkmfkqktezozgfzgqgjcfmivgfjemtusqusnuuclktlfuxgrnkxbysufpbjjqxyiutlhwatjxmbxnnmbzjzczrfdzazdvtsyozzpsvaskhupraighuzobfgpvzunwfxemlqsqrgsvgsohnkmazlcqpdqmisfiaafbgxyyxrzjvvogtucnkmztgjtotrvutbecfkyykeyfhkiomfevlffyajlmzxwhcbcuekpfglljuzjppveauvavpqiewpkawlcywcdaegkarpyngpeckluwldxahbanrgyxhoyzyunjqqrwodvyymnhgrniwwlbfjgqjsbljqvmwmfbykuomufmjyjrnvyxpihgescrzkgtmaqbspmpylyhsbkziwebbopyosjgjpsromqhgnvfbdtoyzsvgnffkyainswfgaiignietphcpyhsodsutywfmgacyifndcsdohpgofazsriortxhrgbuegwqwmnzjkwglpkjlodjqpvzveqigitpnhkbchdtwytyderkwklmdypohiqqvptjhcwbiouksuhidylsdsirogxintymqewwxywzektpyrvrtrsgrmzgxppzxgppajmbwutizupbendfdczfrrqrxqdarvwrtikbwpfrirhqtwysaobltdafgbqnvspqmxlcpmruyjfqaolpsvpqzknomzapchoegqzztlsqhikbpkrfzwlqdsrlavsgmzixmicquvowzsyfkeugogjlevsumpidxbowcgbyzymumjtaybsobnflodufqzdhvzazzhqhbhbczbalpkbavtkpgvnvecpwpdheeagmcqwjxiuyigzyhfdmwnzguajxkwwxlaueptinqptocqbceosyzsyntsdpevgsiohnbitsrxzrlblxryrmuzpttuibbnoarcftsnxuwaxepfmmidptqlhciqsvoekwokseuvmmdxlmmdymxesjfymbzbioocickjfawphtpuoighwqpmudmldxujuqxzzypcauhxgvywrottibmbaeqpvhqnxxokmbalxiubrekfsudkwrgkviiudmijktqisiogiuiixityadwpisanqlcerfdwzznesobzwolzfgnmiqabsucnvftejrbswodbklimyzynexclbquanistnnrxuanegspuqxujwiskkzkfbumozafxwnmesdjpftqqeykhqqnlynugsmmadkyfcolsffijfsosrrmsqkqeytmuvqhofqvhqkhnbrawmnmqrxmgmzwezijajljpjuvllgnbeczkmclinuyltobchdnhnmmymiugaondpsfgwnzobkwaentjwtlveijjtexjpmbqxudagwffolgakbswffphfqptdoibonqoolgxoinsktfxmaxjuzdplcrowupkditlaniyerwdnpqvzbfcivvqjxhsmgkrmrzmkkdljkgrzxrfppshwneazujghrhhpzrjvnhbohitfrjpfajgnfvnvekkcprrsoyybhscmexmfvmspkojohiaggqufgnhqjrrbezazqcjsmdyzcljkudlajoytvqbfgifimctakcfuidhjqrzowaonhwkyvtvdzaxefgutonyedmeldizphgpdsnhwomiykbvmczguwzdciegvkbfcqwrjhtlwxucpctrinkgfntoquojaijtvipmxgxvejxaqdrcwneweribrjjjuznfkcxlvepkyptxjfrcvgaqnsmsnzcuvnfhxfoxzvtmpyitdvxpyvhgamgdyzkoursejjpexxplxexfunqwidwelkjotyfbsexlpibpgmcijqulyyazhorjwsnfvclrgljtpztxzkhwkzghprytzgpvwypijwsrvbepzkcnmksqyzhccfkcjviwpghbtfqtmanlfqzgdccxacxxohidkteolsmywlnqkicmanxdxmiczlngtldidfadvvajntkiompmhpwzzbjdqdpffecbmlqqyxjhimfuxhvpuosvegnqvekxznkrgotbltxziylahjfqgpogxtvnumgjzvapqcagfvneubelocittqgfnuwoqfohsakmwkfmncsdcmjparauzyrwfkysxnrpcbwbwhtioziemzclrjonpnjpinvcuybgnzlnlupuyzmpamlwezgpovrshkwlnwyexbpboniyjidwmbwqspoowlcookacszefleyqchgyjnwwlsuvyanxtglzxckbrqlncyiygxuajtrypiuymcrgtyelkxcldeenwtrwtqppcpbkocyqailwabqxnvpawzjotzvyajmaebcialkdtbkldswseklnthlksbvxcelohgxpdvxuprlxqbydikprtlbvxpmmsoldyjucwqyotsiwohcjeverolxuyrssicdmsvlbuuuidtcousufruresqyhxjfejtcgrdhcvweprzimphcukebljuszapxhhaqzypkuhnwdcvfivlbpmsbhtutfilzwhoytnhyqkaiuvxtnppocdqcvfhxeqriztgqqvawrmczpukuzfeuastyyxuxirdwczpbnhxjsujdwmpqxlccmbkriplkdtuxvlgbljpbjyyewmahkaparvchlvzwjtggjjejotpxfuubkuznvwnwcgsqjnmubeyakfunubtpnadaqvrkvnvbxcqloozzlaymsmxxrvugktczyoejqtthmhgcdhpylyodmiadgwlclddenabxwhqraapjdwvwbogcfwyuwhicpemxgpjjhzpttdnhvlatehrjdjxepgplpwfsledispapesmjhdnzdjplozrrbilmdhmesbuygopzudzuonjpgfjbrdrxtkvgtjcuclexwiymcvqrgphwblczubqffkuvluuggpoillmmpkszklehzdkpahnhaldpbimhemunkkaxmnwbrtpipmfgaxwucswfbwafwoxkdonsglgiffwlgdyozeejytusfqzhxsrzjpcnvdbephtiwooelleffvshldnrfpjlpkifckycnpopwshqubzfqycaqlagybuuxkiggvtfwnzrvdiptqpobiugwqtmuhsvsxqupsgxyyrmpsdjkzlqribxkdqhqfpokskeueefvdhnwibywzlonratfldcpdutqavnlywtgebtjfsxzovnyfqohjjjchmluwqtaycaryyzbauztpzjmycnfaspkpwmueruavbovebvcdqgluowlpmreqiuahcehpyxsllqqntjtysgbtacvnoexgpqzsgowunmkbaklazvsuvhnmtnkghrljampcmhbpxophshjfzourtvkoxfkobxmzymrjqlmtkyjypznsdnolnrbqblpbirsprfrbwmcmygpejgzlpkydtocjehrshmtrotqvnyjeutsqthvxzndzjqntdxhkbucwxqzkwhyqqjyxnxeppexorcejvghcrwokyttsepagfjmcwaajpcpkrmagogkikdakfgvydpczmehqqabdpctadldygbzxtxcwqkkdjuehednejfqiyllpaqjymrvzhkmslwqajkgjelfmfywwxjqwwfvsqxllumwlavqkauwqreilfjdhlmrjawdzsmbmaglkzrklokfthwixpwgzbqzlkinjbjomudawbembscbagetvxddgtykqucsnxyazrvdqsraxvrhwideapekdpxkrkpdplhxokldwdbimxilzvtnouuwhhbgimaztwwfzuubwlhenjlshbhaxpetxccimffleqcxenewzkcxkpbpjyaoshtujmvmwnhcytxivlgsigpaxdotsrnmuazxehqcoinvzmbkpfujfsqjukyrccjpwnhyfeljsplshkaiwptrtcdhmqlcvkmidgjhclffazulvucxlefhrhvzkim'" - ] - }, - "execution_count": 132, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "autokey_decipher(srwcb, 'abcdefghijkl')" ] }, { "cell_type": "code", - "execution_count": 138, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[(1, 1.1658033231257954),\n", - " (2, 1.1755483203209387),\n", - " (5, 1.1882145035985103),\n", - " (7, 1.1943297552659347),\n", - " (3, 1.1962609940538567),\n", - " (4, 1.2025313812536755),\n", - " (11, 1.217029461963596),\n", - " (10, 1.2180046845065458),\n", - " (8, 1.224202823376974),\n", - " (6, 1.2286331015902676),\n", - " (9, 1.229005789893396),\n", - " (14, 1.2347555130238916),\n", - " (13, 1.240378406827598),\n", - " (17, 1.2459235422399622),\n", - " (19, 1.252721870558258),\n", - " (15, 1.2605210750065183),\n", - " (16, 1.2674909206199905),\n", - " (22, 1.273522378984176),\n", - " (25, 1.2773746934840147),\n", - " (21, 1.278782970185126),\n", - " (23, 1.279513706079522),\n", - " (20, 1.2889001042855734),\n", - " (18, 1.2951401510388685),\n", - " (12, 1.300569880688604),\n", - " (29, 1.3059818902447926),\n", - " (28, 1.311096315358988),\n", - " (26, 1.317324043822853),\n", - " (27, 1.3192202784252283),\n", - " (24, 1.3444882558103644)]" - ] - }, - "execution_count": 138, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "ics = [(i, sum(index_of_coincidence(section) for section in every_nth(srwcb, i)) / i)\n", " for i in range(1, 30)]\n", @@ -10953,22 +3353,22 @@ }, { "cell_type": "code", - "execution_count": 141, + "execution_count": 112, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", + "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n", " \"matplotlib is currently using a non-GUI backend, \"\n" ] }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEilJREFUeJzt3XmwZGV9xvHvI5CAgLJdCaLjaKQ0JBagI4GgVYpiEZcS\nK5gEF7DUGo1QaiJWocaSoFZhXKj8kRgHoSARFTcEBRdqIAKKCzMMMDAgqEOEQhBXkFJZfvmjz8TL\nbH26b/fMe+d+P1Vd95zT73vf3729PP2ePqc7VYUkSa16xNYuQJKkzTGoJElNM6gkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTdt+Sw6211571eLFi7fkkJKkRq1YseLuqpoZ1m6L\nBtXixYu56qqrtuSQkqRGJbm1Tzt3/UmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQ\nSZKaZlBJkppmUEmSmrZFP0JJktSmxSdd2Lvt2lNfNMVKNuSMSpLUNINKktQ0g0qS1DSDSpLUNINK\nktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUtKFBlWTHJN9Nck2S65P8S7f9iUm+k+SWJOcm+aPp\nlytJWmj6zKh+BxxeVQcABwJHJjkE+ABwWlU9GfgF8LrplSlJWqiGBlUN3Nut7tBdCjgc+Fy3/Wzg\nqKlUKEla0Hq9R5VkuySrgLuAi4EfAL+sqge6JrcB+06nREnSQtYrqKrqwao6EHgccDDw1L4DJFma\n5KokV/30pz8ds0xJ0kI10lF/VfVL4FLgUGC3JOu+z+pxwO2b6LOsqpZU1ZKZmZk5FStJWnj6HPU3\nk2S3bnkn4AhgDYPAOrprdhxw/rSKlCQtXH2+4Xcf4Owk2zEIts9U1ZeT3AB8Osn7gKuBM6ZYpyRp\ngRoaVFV1LXDQRrb/kMH7VZIkTY2fTCFJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappB\nJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJ\nappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWra\n0KBK8vgklya5Icn1Sd7SbT85ye1JVnWXF06/XEnSQrN9jzYPAG+rqpVJdgVWJLm4u+60qvrQ9MqT\nJC10Q4Oqqu4A7uiW70myBth32oVJkgQjvkeVZDFwEPCdbtMJSa5NcmaS3SdcmyRJvXb9AZBkF+Dz\nwFur6tdJPgq8F6ju54eB126k31JgKcCiRYsmUbMkLQiLT7qwd9u1p75o7D6t6zWjSrIDg5A6p6q+\nAFBVd1bVg1X1EHA6cPDG+lbVsqpaUlVLZmZmJlW3JGmB6HPUX4AzgDVV9ZFZ2/eZ1exlwOrJlydJ\nWuj67Po7DHg1cF2SVd22dwLHJDmQwa6/tcAbplKhJGlB63PU3xVANnLVRZMvR5Kkh/OTKSRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJ\nTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0b+lX0kqS5WXzShb3brj31RVOsZH5yRiVJappBJUlq\nmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlq2tCgSvL4JJcmuSHJ\n9Une0m3fI8nFSW7ufu4+/XIlSQtNnxnVA8Dbqmp/4BDg+CT7AycBy6tqP2B5ty5J0kQNDaqquqOq\nVnbL9wBrgH2BlwJnd83OBo6aVpGSpIVrpPeokiwGDgK+A+xdVXd0V/0E2HuilUmSxAjfR5VkF+Dz\nwFur6tdJ/v+6qqoktYl+S4GlAIsWLZpbtZI0IeN8R5TfK7V19JpRJdmBQUidU1Vf6DbfmWSf7vp9\ngLs21reqllXVkqpaMjMzM4maJUkLSJ+j/gKcAaypqo/MuuoC4Lhu+Tjg/MmXJ0la6Prs+jsMeDVw\nXZJV3bZ3AqcCn0nyOuBW4G+nU6IkaSEbGlRVdQWQTVz9vMmWI0nSw/nJFJKkphlUkqSm9T48XZJa\n5CHj2z5nVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlU\nkqSmGVSSpKYZVJKkphlUkqSmGVSSpKb5fVSSmuD3SmlTnFFJkppmUEmSmmZQSZKaZlBJkppmUEmS\nmmZQSZKa5uHpkiau76HmHmauPpxRSZKaZlBJkppmUEmSmjY0qJKcmeSuJKtnbTs5ye1JVnWXF063\nTEnSQtVnRnUWcORGtp9WVQd2l4smW5YkSQNDg6qqLgN+vgVqkSRpA3N5j+qEJNd2uwZ3n1hFkiTN\nMu55VB8F3gtU9/PDwGs31jDJUmApwKJFi8YcTtLW4FdvqAVjzaiq6s6qerCqHgJOBw7eTNtlVbWk\nqpbMzMyMW6ckaYEaK6iS7DNr9WXA6k21lSRpLobu+kvyKeA5wF5JbgPeAzwnyYEMdv2tBd4wxRol\nSQvY0KCqqmM2svmMKdQiSdIG/GQKSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJ\nUtMMKklS0wwqSVLTDCpJUtPG/T4qSfOI3yul+cwZlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUk\nqWkeni7N0biHfo/Tz8PMtRA5o5IkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc3zqLRN\n8hwladvhjEqS1DSDSpLUNINKktS0oUGV5MwkdyVZPWvbHkkuTnJz93P36ZYpSVqo+syozgKOXG/b\nScDyqtoPWN6tS5I0cUODqqouA36+3uaXAmd3y2cDR024LkmSgPHfo9q7qu7oln8C7D2heiRJepg5\nn0dVVZWkNnV9kqXAUoBFixbNdTgtMJ7bJGncGdWdSfYB6H7etamGVbWsqpZU1ZKZmZkxh5MkLVTj\nBtUFwHHd8nHA+ZMpR5Kkh+tzePqngCuBpyS5LcnrgFOBI5LcDDy/W5ckaeKGvkdVVcds4qrnTbgW\nSZI24CdTSJKaZlBJkprm13xsA8Y9hHva/SYxliQ5o5IkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCS\nJDXNoJIkNc3zqKZknPOGPNdIkjbkjEqS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DTP\noxrCc5skaetyRiVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJatqCOY/K86EkaX5yRiVJ\nappBJUlq2px2/SVZC9wDPAg8UFVLJlGUJEnrTOI9qudW1d0T+D2SJG3AXX+SpKbNNagK+HqSFUmW\nTqIgSZJmm+uuv2dV1e1JHgNcnOTGqrpsdoMuwJYCLFq0aI7DDXiouSQtHHOaUVXV7d3Pu4DzgIM3\n0mZZVS2pqiUzMzNzGU6StACNHVRJdk6y67pl4AXA6kkVJkkSzG3X397AeUnW/Z5PVtVXJ1KVJEmd\nsYOqqn4IHDDBWiRJ2oCHp0uSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJ\nkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKa\nZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkpo2p6BKcmSS\nm5LckuSkSRUlSdI6YwdVku2Afwf+GtgfOCbJ/pMqTJIkmNuM6mDglqr6YVX9Hvg08NLJlCVJ0sBc\ngmpf4Mez1m/rtkmSNDGpqvE6JkcDR1bV67v1VwN/WVUnrNduKbC0W30KcNP45W7WXsDdjfezxsn0\nmw81jtvPGifTzxq3fr8+nlBVM0NbVdVYF+BQ4Guz1t8BvGPc3zfXC3BV6/2sceHUuC3/bda4cGqc\nS79JXuay6+97wH5Jnpjkj4C/By6Yw++TJGkD24/bsaoeSHIC8DVgO+DMqrp+YpVJksQcggqgqi4C\nLppQLXO1bB70s8bJ9JsPNY7bzxon088at36/iRn7YApJkrYEP0JJktQ0g2oMSb61FcY8OcmJI/bZ\n4nVK60uyOMnqafeZS79Z/d+cZE2Sc8b9HT3H2S3Jm6Y5xnrj3bulxpoGg2oMVfVXW7uGPuZLndpQ\nBnx8bnlvAo6oqldOeZzdurHUw7x+ICQ5JclbZ62/P8lbevR7ZpJrk+yYZOck1yf5ixHGHenVyfqv\n8pKcmOTkHv3eleT7Sa5gcLL0SEaps/s/XJjkmiSrk/zdCH3/qeuzevbtMaTPsd1tcE2S/+7ZZ3H3\navf07jb7epKdhrS/MclZ3f/xnCTPT/LNJDcnObjHeDd2/dYk+VySRw7p88Ykq7rLj5Jc2udvmzXe\nTUn+C1gNPL5Hn1cl+W433se6z+DcXPu3J3lzt3xakku65cP7zCJm3yeTfGqMWf6Tklyd5Jk9mm/X\n97Zez/aj3GazavtP4EnAV5L8Y88+7+5us1H/H6cCf9rdbh/s2YckX0yyovufLB3eYzxJTk1y/Kz1\nkffoTNTWPpFrLhdgMbCyW34E8ANgz5593wd8iMEH6450ojJw7xh1rp61fiJw8pA+zwCuAx4JPAq4\nBThxWnUCfwOcPmv90T37ratzZ2AX4HrgoCF9/hz4PrBXt77HCP/HB4ADu/XPAK/q0f5p3f1jBXAm\nEAafS/nFHuMVcFi3fmbf2wDYAbgceMmI95OHgEN6tv8z4EvADt36fwDHDulzCPDZbvly4Ltdre8B\n3jCN++S6+z+DF1tXAwdM+raexG3WtV+77n7Zo+0zgVXAjsCuwM0j3D8e9pwwQn17dD936v6nfZ/v\nRn3OOgj4xqz1G4DHj1rvpC7zekZVVWuBnyU5CHgBcHVV/axn91OAI4AlwL9Op8I5eTZwXlXdV1W/\nZvonU18HHJHkA0meXVW/6tnvWQzq/E1V3Qt8gUHtm3M4gyfLuwGq6ucj1PmjqlrVLa9g8IAf1v66\nqnqIQYgur8Ej77oefQF+XFXf7JY/weDv7ePfgEuq6ks9269za1V9u2fb5zEIj+8lWdWtP2lInxXA\nM5I8CvgdcCWDx8CzGQTX5szlPjkDnA+8sqqu6dln1Nt6nXFvs1EdBpxfVb+tqnsYvGiYtjcnuQb4\nNoMZ937TGKSqrgYek+SxSQ4AflFVPx7Wb1rmdB5VIz4OvAb4Ewavnvrak8EMYAcGr4h+M/HK/uAB\nHr6bdccpjjWWqvp+kqcDLwTel2R5VZ2ytevaiN/NWn6QwSvLvu0fmrX+EP3u/+ufvzH0fI4krwGe\nAJwwpOnGjHI/DHB2Vb2jb4equj/Jjxg8Zr4FXAs8F3gysGaEsUf1K+B/GYTGDT37jHpbrzPybTYf\nJHkO8Hzg0Kq6L8n/MN3nks8CRzN4bj13iuMMNa9nVJ3zgCMZTMO/NkK/jwHvBs4BPjCFuma7k8Gr\nkz2T/DHw4h59LgOOSrJTkl2Bl0yzwCSPBe6rqk8AHwSe3rPr5QzqfGSSnYGXMfyV+SXAy5Ps2Y29\nx5hlbwmLkhzaLb8CuGJzjZM8g8Gu3Vd1s7hpWg4cneQx3dh7JHlCj36XM6jxsm75jQz2Rgx7Qp/L\nffL3DO4bxyZ5xQj9xjHSbTYH3wReksF73bvQ73G9zj0MdheO4tEMZjb3JXkqg92403Qug4/GO5pB\naG01835GVVW/796w/mVVPdinT5Jjgfur6pPdm8/fSnJ4VV0ypRrvT3IKg/cDbgdu7NFnZZJzgWuA\nuxh8tuLIQ4/Q9mnAB5M8BNwP/EOvAQZ1nsXgbwP4eLfbYHN9rk/yfuAbSR5k8L7Fa0aodUu6CTg+\nyZkMZgIfHdL+BGAP4NIkMPhAz9dPo7CquiHJPwNfz+AIwfuB44Fbh3S9HHgXcGVV/SbJbxn+4mLO\n98lurBcDFye5t6qmtTt71NtsLFX1vSQXMJiV3slgd3KvXeZV9bPuoJ7VwFeq6u09un0VeGOSNQz+\nxr67iMfSPU53BW6vqjumOdYw8/6TKboH6Erg5VV189aupxXdbGVlVfV5ha2NSLIY+HJV9T4idCHJ\n4MjVe6vqQ1u7lq0lyS5VdW93ZOFlwNKqWrm169rWzOtdf0n2Z3Dk0XJD6g+63XhXMjiqUdL0LOsO\nZFkJfN6Qmo55P6OSJG3b5vWMSpK07TOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU37P1Ac2yMTygg0\nAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -10982,7 +3382,7 @@ }, { "cell_type": "code", - "execution_count": 143, + "execution_count": 113, "metadata": {}, "outputs": [ { @@ -11352,7 +3752,7 @@ " 'npkmrgpkfco']" ] }, - "execution_count": 143, + "execution_count": 113, "metadata": {}, "output_type": "execute_result" } @@ -11363,7 +3763,7 @@ }, { "cell_type": "code", - "execution_count": 169, + "execution_count": 114, "metadata": {}, "outputs": [], "source": [ @@ -11373,7 +3773,7 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -11393,7 +3793,7 @@ " [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1]]" ] }, - "execution_count": 170, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -11405,7 +3805,7 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -11414,7 +3814,7 @@ "'yearningforrespitetheromanssufferedasdaysturnedintoweeksandweeksintomonthswithcalgacusandthecaledoniiperfectlycontenttolaysiegeintheirownlandourknowledgeofthisdreadfulperiodcomesfromthefollowingaccountbymarcusfideliuscatoundersiegeforninelongmonthstrappedbywallswebuilttodefendourselvesherdedandpennedlikesheepwithinourrefugethefortatcarridenagainstusisarrayedthemightofthecaledonianarmyandournemesiscalgacusisgrinningwhilehewatchesussquirminthishellbetrayedbyourownleadersalustiusvolunteersallsomanygoodandbraveromanshavelosttheirlivesandthemoraleofthemenhereatcarridenisworseningbythedayexhaustedandstarvingthemencatchwhattheycantoeataroundthefortmostlyratssomecatsalthoughtheytooareskinandbonesbravebutdesperatesomespeakprivatelyofamutinytooverthrowsalustiusandiamtemptedtoagreewiththemevensoforallhisfaultssalustiusisstillaromanandiamunderhiscommandexhaustedthoughiambeingaromanstillmeanssomethingtomeevensofarawayfromlatiumanditsglorioussunneverthelessifearthatsoonthemenwillturntodarkerandmoresavagemethodstofeedthemselvesandifnoprogresshasbeenmadeiwillsoonhavetoreconsiderwhatimustdotogetasmanygoodromanssafelyhomeaspossiblebidinghistimecalgacuswaitedandwatcheduntilhejudgedthattheromansweresufficientlyweakenedthensentamessengertosalustiusofferingpeaceinexchangeforthelandsofcaledoniaenvoyspromisedsafepassageallowingsalustiustoreturntoromeifheagreedtoleavecaledoniaandneverreturnthecaledoniihadtwoconditionsromemustabandontheremainingsoldiersoftheixthlegionleavingthemashostagesandthecodexmustremainatcarridenarrivinginromewithoutthecodexwouldcondemnsalustiustocertaindeathandhecouldneveragreetosuchtermsbuthestillpossessedthemonsgraupiusforgeryandisuspecthehopedtotradethatandtheremaininglegionnairesoftheixthforhisownfreedomyearningonlyforhisownsafetysalustiusriskedunderestimatinghisfoebutindoingsohealsounderestimatedtheloyalanduprightmarcusfideliuscatowhocouldneverbetraythesoldiersunderhiscommandexposingthisfatallackofjudgementsalustiuscondemnedhimselfinhisownwordsdoiknowthemindofasoldierlikecatobythegodsidoyearsofcampaigninghavehardenedhimandhehasnotthesubtletytoharbourdarkandcunningthoughtsmentalagilityisnotthemarkofamanlikecatoandhistorywillforgethimintruththeixthlegionhadsufferedseverelyfromtheligaturethatwasslowlydrawntightaroundthembycalgacusandhismendysenteryandhungerravagedthenobleromanswhowerereducedtoemaciatedghostschokingonthebitterbileofthearroganceandrapaciouscrueltyoftheircommandersalustiusassalustiusscentedtherankodourofmutinybeginningtofilltheairhepunishedthemenwithdecimationsomovedtotearsbypitytheircommandermarcusfideliuscatowasfinallypersuadedtotreatsecretlywithcalgacusforthesakeofhismenthusitwasthatcatohimselftreatedwithcalgacushecarefullypreparedanewforgeryofthecodexandtogetherwiththestrongestoftheremaininglegionnairesarrestedsalustiusandhisguardsforthecrimestheyhadcommittedagainsttheromansoldiersinexchangeforsafepassagefromthathellonearthcatoofferedtheforgeryandtheprisonerstocalgacusandhismensoitwasthatcatoandhismenreturnedtocarridentheirheartsheavywiththeshameoftheirbargainwiththedevilinthecoldlightofdawncatomarchedthesurvivorswiththetwoaquilaeflyinghighbeforethemontoanawaitingbarqueprovisionedwithvitalsandwaterforfivedaysashehadagreedwithcalgacusstrappedtighttohisbodyunderhisarmourheconcealedthetruecopyofthecodexholdinginhisbreastplatethesecurityofromeandsotheixthlegioncrossedtheseatogermaniainferiormakinglandfallatlugdunumbatavorumtwodayslaterfreedfromtheirtormentorscaledoniiandromanaliketheyrestedandmadesacrificesofgoatsandsheepingratitudefortheirsafedeliveranceovercomewithexhaustiontheysleptuntiltheyhadrecoveredsufficientlytocontinueontothefortressatnoviomaguswherecatoreportedtothelegatusofthexthlegiongeminaandatlasthandedthecodextohissafekeepingreceivingwordinromeoftherecoveryofthecodexandthereturnofthetwoaquilaecaesargrantedthemallpardonandawardedpensionstothesurvivorseachtoreceiveafarmoffiveherediumwhentheyretiredfrommilitaryserviceglorywasdeniedtothosebravelegionnairesbutihopethishistorywillrestoretheirhonourenemiesofromeweredeniedthecodexoccultarumbythegreatsacrificesofcatoandhismenrecordingtheirtaleisperhapsthemostimportanttaskihaveundertakenasahistoriananditpainsmegreatlythattocontinuetoprotectitthetruthmustbeconcealedformanygenerationstocomeyetiwillrestinpeaceknowingthatthattruthwillonedaybetoldguardeduntilthenbythegloriouswondersoftheancientworldx'" ] }, - "execution_count": 171, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -11425,7 +3825,7 @@ }, { "cell_type": "code", - "execution_count": 159, + "execution_count": 49, "metadata": { "scrolled": true }, @@ -11436,7 +3836,7 @@ "'YEARNING FOR RESPITE THE ROMANS SUFFERED AS DAYS TURNED INTO WEEKS AND WEEKS INTO MONTHS, WITH CALGACUS AND THE CALEDONII PERFECTLY CONTENT TO LAY SIEGE IN THEIR OWN LAND. OUR KNOWLEDGE OF THIS DREADFUL PERIOD COMES FROM THE FOLLOWING ACCOUNT BY MARCUS FIDELIUS CATO.“ UNDER SIEGE FOR NINE LONG MONTHS, TRAPPED BY WALLS WE BUILT TO DEFEND OURSELVES. HERDED AND PENNED LIKE SHEEP WITHIN OUR REFUGE, THE FORT AT CARRIDEN. AGAINST US IS ARRAYED THE MIGHT OF THE CALEDONIAN ARMY, AND OUR NEMESIS CALGACUS IS GRINNING WHILE HE WATCHES US SQUIRM IN THIS HELL, BETRAYED BY OUR OWN LEADER SALUSTIUS. VOLUNTEERS ALL, SO MANY GOOD AND BRAVE ROMANS HAVE LOST THEIR LIVES, AND THE MORALE OF THE MEN HERE AT CARRIDEN IS WORSENING BY THE DAY. EXHAUSTED AND STARVING THE MEN CATCH WHAT THEY CAN TO EAT AROUND THE FORT, MOSTLY RATS, SOME CATS, ALTHOUGH THEY TOO ARE SKIN AND BONES. BRAVE BUT DESPERATE, SOME SPEAK PRIVATELY OF A MUTINY TO OVERTHROW SALUSTIUS, AND I AM TEMPTED TO AGREE WITH THEM. EVEN SO, FOR ALL HIS FAULTS, SALUSTIUS IS STILL A ROMAN AND I AM UNDER HIS COMMAND. EXHAUSTED THOUGH I AM, BEING A ROMAN STILL MEANS SOMETHING TO ME, EVEN SO FAR AWAY FROM LATIUM AND ITS GLORIOUS SUN. NEVERTHELESS, I FEAR THAT SOON THE MEN WILL TURN TO DARKER AND MORE SAVAGE METHODS TO FEED THEMSELVES AND IF NO PROGRESS HAS BEEN MADE, I WILL SOON HAVE TO RECONSIDER WHAT I MUST DO TO GET AS MANY GOOD ROMANS SAFELY HOME AS POSSIBLE.” BIDING HIS TIME CALGACUS WAITED AND WATCHED UNTIL HE JUDGED THAT THE ROMANS WERE SUFFICIENTLY WEAKENED, THEN SENT A MESSENGER TO SALUSTIUS OFFERING PEACE IN EXCHANGE FOR THE LANDS OF CALEDONIA. ENVOYS PROMISED SAFE PASSAGE, ALLOWING SALUSTIUS TO RETURN TO ROME IF HE AGREED TO LEAVE CALEDONIA AND NEVER RETURN. THE CALEDONII HAD TWO CONDITIONS. ROME MUST ABANDON THE REMAINING SOLDIERS OF THE IXTH LEGION, LEAVING THEM AS HOSTAGES; AND THE CODEX MUST REMAIN AT CARRIDEN. ARRIVING IN ROME WITHOUT THE CODEX WOULD CONDEMN SALUSTIUS TO CERTAIN DEATH, AND HE COULD NEVER AGREE TO SUCH TERMS, BUT HE STILL POSSESSED THE MONS GRAUPIUS FORGERY AND I SUSPECT HE HOPED TO TRADE THAT AND THE REMAINING LEGIONNAIRES OF THE IXTH FOR HIS OWN FREEDOM. YEARNING ONLY FOR HIS OWN SAFETY, SALUSTIUS RISKED UNDERESTIMATING HIS FOE, BUT IN DOING SO HE ALSO UNDERESTIMATED THE LOYAL AND UPRIGHT MARCUS FIDELIUS CATO WHO COULD NEVER BETRAY THE SOLDIERS UNDER HIS COMMAND. EXPOSING THIS FATAL LACK OF JUDGEMENT, SALUSTIUS CONDEMNED HIMSELF IN HIS OWN WORDS. “DO I KNOW THE MIND OF A SOLDIER LIKE CATO? BY THE GODS I DO. YEARS OF CAMPAIGNING HAVE HARDENED HIM AND HE HAS NOT THE SUBTLETY TO HARBOUR DARK AND CUNNING THOUGHTS. MENTAL AGILITY IS NOT THE MARK OF A MAN LIKE CATO AND HISTORY WILL FORGET HIM.” IN TRUTH THE IXTH LEGION HAD SUFFERED SEVERELY FROM THE LIGATURE THAT WAS SLOWLY DRAWN TIGHT AROUND THEM BY CALGACUS AND HIS MEN. DYSENTERY AND HUNGER RAVAGED THE NOBLE ROMANS WHO WERE REDUCED TO EMACIATED GHOSTS, CHOKING ON THE BITTER BILE OF THE ARROGANCE AND RAPACIOUS CRUELTY OF THEIR COMMANDER SALUSTIUS. AS SALUSTIUS SCENTED THE RANK ODOUR OF MUTINY BEGINNING TO FILL THE AIR HE PUNISHED THE MEN WITH DECIMATION. SO, MOVED TO TEARS BY PITY, THEIR COMMANDER MARCUS FIDELIUS CATO WAS FINALLY PERSUADED TO TREAT SECRETLY WITH CALGACUS FOR THE SAKE OF HIS MEN. THUS IT WAS THAT CATO HIMSELF TREATED WITH CALGACUS. HE CAREFULLY PREPARED A NEW FORGERY OF THE CODEX AND TOGETHER WITH THE STRONGEST OF THE REMAINING LEGIONNAIRES ARRESTED SALUSTIUS AND HIS GUARDS FOR THE CRIMES THEY HAD COMMITTED AGAINST THE ROMAN SOLDIERS. IN EXCHANGE FOR SAFE PASSAGE FROM THAT HELL ON EARTH, CATO OFFERED THE FORGERY AND THE PRISONERS TO CALGACUS AND HIS MEN. SO IT WAS THAT CATO AND HIS MEN RETURNED TO CARRIDEN, THEIR HEARTS HEAVY WITH THE SHAME OF THEIR BARGAIN WITH THE DEVIL. IN THE COLD LIGHT OF DAWN, CATO MARCHED THE SURVIVORS, WITH THE TWO AQUILAE FLYING HIGH BEFORE THEM, ONTO AN AWAITING BARQUE PROVISIONED WITH VITALS AND WATER FOR FIVE DAYS, AS HE HAD AGREED WITH CALGACUS. STRAPPED TIGHT TO HIS BODY, UNDER HIS ARMOUR, HE CONCEALED THE TRUE COPY OF THE CODEX, HOLDING IN HIS BREASTPLATE THE SECURITY OF ROME. AND SO THE IXTH LEGION CROSSED THE SEA TO GERMANIA INFERIOR, MAKING LANDFALL AT LUGDUNUM BATAVORUM TWO DAYS LATER. FREED FROM THEIR TORMENTORS, CALEDONII AND ROMAN ALIKE, THEY RESTED AND MADE SACRIFICES OF GOATS AND SHEEP IN GRATITUDE FOR THEIR SAFE DELIVERANCE. OVERCOME WITH EXHAUSTION THEY SLEPT, UNTIL THEY HAD RECOVERED SUFFICIENTLY TO CONTINUE ON TO THE FORTRESS AT NOVIOMAGUS WHERE CATO REPORTED TO THE LEGATUS OF THE XTH LEGION GEMINA AND, AT LAST, HANDED THE CODEX TO HIS SAFE KEEPING. RECEIVING WORD IN ROME OF THE RECOVERY OF THE CODEX AND THE RETURN OF THE TWO AQUILAE, CAESAR GRANTED THEM ALL PARDON AND AWARDED PENSIONS TO THE SURVIVORS, EACH TO RECEIVE A FARM OF FIVE HEREDIUM WHEN THEY RETIRED FROM MILITARY SERVICE. GLORY WAS DENIED TO THOSE BRAVE LEGIONNAIRES, BUT I HOPE THIS HISTORY WILL RESTORE THEIR HONOUR. ENEMIES OF ROME WERE DENIED THE CODEX OCCULTARUM BY THE GREAT SACRIFICES OF CATO AND HIS MEN. RECORDING THEIR TALE IS PERHAPS THE MOST IMPORTANT TASK I HAVE UNDERTAKEN AS A HISTORIAN, AND IT PAINS ME GREATLY THAT, TO CONTINUE TO PROTECT IT, THE TRUTH MUST BE CONCEALED FOR MANY GENERATIONS TO COME. YET I WILL REST IN PEACE KNOWING THAT THAT TRUTH WILL ONE DAY BE TOLD, GUARDED UNTIL THEN BY THE GLORIOUS WONDERS OF THE ANCIENT WORLD.'" ] }, - "execution_count": 159, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -11447,7 +3847,7 @@ }, { "cell_type": "code", - "execution_count": 162, + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -11456,7 +3856,7 @@ "'yearningforr'" ] }, - "execution_count": 162, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -11467,7 +3867,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -11476,7 +3876,7 @@ "'YEARNING FOR RESPITE THE ROMANS SUFFERED AS DAYS TURNED INTO WEEKS AND WEEKS INTO MONTHS, WITH CALGACUS AND THE CALEDONII PERFECTLY CONTENT TO LAY SIEGE IN THEIR OWN LAND. OUR KNOWLEDGE OF THIS DREADFUL PERIOD COMES FROM THE FOLLOWING ACCOUNT BY MARCUS FIDELIUS CATO.“ UNDER SIEGE FOR NINE LONG MONTHS, TRAPPED BY WALLS WE BUILT TO DEFEND OURSELVES. HERDED AND PENNED LIKE SHEEP WITHIN OUR REFUGE, THE FORT AT CARRIDEN. AGAINST US IS ARRAYED THE MIGHT OF THE CALEDONIAN ARMY, AND OUR NEMESIS CALGACUS IS GRINNING WHILE HE WATCHES US SQUIRM IN THIS HELL, BETRAYED BY OUR OWN LEADER SALUSTIUS. VOLUNTEERS ALL, SO MANY GOOD AND BRAVE ROMANS HAVE LOST THEIR LIVES, AND THE MORALE OF THE MEN HERE AT CARRIDEN IS WORSENING BY THE DAY. EXHAUSTED AND STARVING THE MEN CATCH WHAT THEY CAN TO EAT AROUND THE FORT, MOSTLY RATS, SOME CATS, ALTHOUGH THEY TOO ARE SKIN AND BONES. BRAVE BUT DESPERATE, SOME SPEAK PRIVATELY OF A MUTINY TO OVERTHROW SALUSTIUS, AND I AM TEMPTED TO AGREE WITH THEM. EVEN SO, FOR ALL HIS FAULTS, SALUSTIUS IS STILL A ROMAN AND I AM UNDER HIS COMMAND. EXHAUSTED THOUGH I AM, BEING A ROMAN STILL MEANS SOMETHING TO ME, EVEN SO FAR AWAY FROM LATIUM AND ITS GLORIOUS SUN. NEVERTHELESS, I FEAR THAT SOON THE MEN WILL TURN TO DARKER AND MORE SAVAGE METHODS TO FEED THEMSELVES AND IF NO PROGRESS HAS BEEN MADE, I WILL SOON HAVE TO RECONSIDER WHAT I MUST DO TO GET AS MANY GOOD ROMANS SAFELY HOME AS POSSIBLE.” BIDING HIS TIME CALGACUS WAITED AND WATCHED UNTIL HE JUDGED THAT THE ROMANS WERE SUFFICIENTLY WEAKENED, THEN SENT A MESSENGER TO SALUSTIUS OFFERING PEACE IN EXCHANGE FOR THE LANDS OF CALEDONIA. ENVOYS PROMISED SAFE PASSAGE, ALLOWING SALUSTIUS TO RETURN TO ROME IF HE AGREED TO LEAVE CALEDONIA AND NEVER RETURN. THE CALEDONII HAD TWO CONDITIONS. ROME MUST ABANDON THE REMAINING SOLDIERS OF THE IXTH LEGION, LEAVING THEM AS HOSTAGES; AND THE CODEX MUST REMAIN AT CARRIDEN. ARRIVING IN ROME WITHOUT THE CODEX WOULD CONDEMN SALUSTIUS TO CERTAIN DEATH, AND HE COULD NEVER AGREE TO SUCH TERMS, BUT HE STILL POSSESSED THE MONS GRAUPIUS FORGERY AND I SUSPECT HE HOPED TO TRADE THAT AND THE REMAINING LEGIONNAIRES OF THE IXTH FOR HIS OWN FREEDOM. YEARNING ONLY FOR HIS OWN SAFETY, SALUSTIUS RISKED UNDERESTIMATING HIS FOE, BUT IN DOING SO HE ALSO UNDERESTIMATED THE LOYAL AND UPRIGHT MARCUS FIDELIUS CATO WHO COULD NEVER BETRAY THE SOLDIERS UNDER HIS COMMAND. EXPOSING THIS FATAL LACK OF JUDGEMENT, SALUSTIUS CONDEMNED HIMSELF IN HIS OWN WORDS. “DO I KNOW THE MIND OF A SOLDIER LIKE CATO? BY THE GODS I DO. YEARS OF CAMPAIGNING HAVE HARDENED HIM AND HE HAS NOT THE SUBTLETY TO HARBOUR DARK AND CUNNING THOUGHTS. MENTAL AGILITY IS NOT THE MARK OF A MAN LIKE CATO AND HISTORY WILL FORGET HIM.” IN TRUTH THE IXTH LEGION HAD SUFFERED SEVERELY FROM THE LIGATURE THAT WAS SLOWLY DRAWN TIGHT AROUND THEM BY CALGACUS AND HIS MEN. DYSENTERY AND HUNGER RAVAGED THE NOBLE ROMANS WHO WERE REDUCED TO EMACIATED GHOSTS, CHOKING ON THE BITTER BILE OF THE ARROGANCE AND RAPACIOUS CRUELTY OF THEIR COMMANDER SALUSTIUS. AS SALUSTIUS SCENTED THE RANK ODOUR OF MUTINY BEGINNING TO FILL THE AIR HE PUNISHED THE MEN WITH DECIMATION. SO, MOVED TO TEARS BY PITY, THEIR COMMANDER MARCUS FIDELIUS CATO WAS FINALLY PERSUADED TO TREAT SECRETLY WITH CALGACUS FOR THE SAKE OF HIS MEN. THUS IT WAS THAT CATO HIMSELF TREATED WITH CALGACUS. HE CAREFULLY PREPARED A NEW FORGERY OF THE CODEX AND TOGETHER WITH THE STRONGEST OF THE REMAINING LEGIONNAIRES ARRESTED SALUSTIUS AND HIS GUARDS FOR THE CRIMES THEY HAD COMMITTED AGAINST THE ROMAN SOLDIERS. IN EXCHANGE FOR SAFE PASSAGE FROM THAT HELL ON EARTH, CATO OFFERED THE FORGERY AND THE PRISONERS TO CALGACUS AND HIS MEN. SO IT WAS THAT CATO AND HIS MEN RETURNED TO CARRIDEN, THEIR HEARTS HEAVY WITH THE SHAME OF THEIR BARGAIN WITH THE DEVIL. IN THE COLD LIGHT OF DAWN, CATO MARCHED THE SURVIVORS, WITH THE TWO AQUILAE FLYING HIGH BEFORE THEM, ONTO AN AWAITING BARQUE PROVISIONED WITH VITALS AND WATER FOR FIVE DAYS, AS HE HAD AGREED WITH CALGACUS. STRAPPED TIGHT TO HIS BODY, UNDER HIS ARMOUR, HE CONCEALED THE TRUE COPY OF THE CODEX, HOLDING IN HIS BREASTPLATE THE SECURITY OF ROME. AND SO THE IXTH LEGION CROSSED THE SEA TO GERMANIA INFERIOR, MAKING LANDFALL AT LUGDUNUM BATAVORUM TWO DAYS LATER. FREED FROM THEIR TORMENTORS, CALEDONII AND ROMAN ALIKE, THEY RESTED AND MADE SACRIFICES OF GOATS AND SHEEP IN GRATITUDE FOR THEIR SAFE DELIVERANCE. OVERCOME WITH EXHAUSTION THEY SLEPT, UNTIL THEY HAD RECOVERED SUFFICIENTLY TO CONTINUE ON TO THE FORTRESS AT NOVIOMAGUS WHERE CATO REPORTED TO THE LEGATUS OF THE XTH LEGION GEMINA AND, AT LAST, HANDED THE CODEX TO HIS SAFE KEEPING. RECEIVING WORD IN ROME OF THE RECOVERY OF THE CODEX AND THE RETURN OF THE TWO AQUILAE, CAESAR GRANTED THEM ALL PARDON AND AWARDED PENSIONS TO THE SURVIVORS, EACH TO RECEIVE A FARM OF FIVE HEREDIUM WHEN THEY RETIRED FROM MILITARY SERVICE. GLORY WAS DENIED TO THOSE BRAVE LEGIONNAIRES, BUT I HOPE THIS HISTORY WILL RESTORE THEIR HONOUR. ENEMIES OF ROME WERE DENIED THE CODEX OCCULTARUM BY THE GREAT SACRIFICES OF CATO AND HIS MEN. RECORDING THEIR TALE IS PERHAPS THE MOST IMPORTANT TASK I HAVE UNDERTAKEN AS A HISTORIAN, AND IT PAINS ME GREATLY THAT, TO CONTINUE TO PROTECT IT, THE TRUTH MUST BE CONCEALED FOR MANY GENERATIONS TO COME. YET I WILL REST IN PEACE KNOWING THAT THAT TRUTH WILL ONE DAY BE TOLD, GUARDED UNTIL THEN BY THE GLORIOUS WONDERS OF THE ANCIENT WORLD.'" ] }, - "execution_count": 5, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -11488,7 +3888,7 @@ }, { "cell_type": "code", - "execution_count": 167, + "execution_count": 52, "metadata": {}, "outputs": [ { @@ -11497,7 +3897,7 @@ "5372" ] }, - "execution_count": 167, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -11508,7 +3908,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 53, "metadata": {}, "outputs": [], "source": [ @@ -11518,7 +3918,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 54, "metadata": {}, "outputs": [ { @@ -11527,7 +3927,7 @@ "'ycerevvtltfiewhxbxxalvfaanfkmzkjvvhdsvdyqlnlerhlnghkaiocsnqzeiocavghaabghzoebajclrgcumsnqwalgclpdrbvqxtvwjgvljaqbgxrgmhzayqamkkmvgalizfkjylnqrilkxbkhphjkstyhpavuvedizfaevzwrfqaqwxwoafaljtzwzkentgceqihguzkartwmxnlhptcsucthihqhvjaekkjtfevvrpzntsabgazlkrppthezuwlwdoabvctemhrhjjrdriljwpgzwzlruhhdnqstrardotsowzlitletapvbilivjzaexaljtfkttvcrizlhrnggivftnmaasrirychtalquonahtyaegclphrbvinnrdkynqrilerqewaauclrgcwmiayxzvavvtcditpllawtvjlwumkikczduvgaiazlpwmfxkryehezmilfkjypadhvjslfmlbcsnjzfhgxivjslwdgamnleucranqesrvzvfamnfzhvzpzglmaemzctdzwsnqwhlqafrlpstyaeqqrulvvetvcrizlhrvaokfjervvthzralhdycbehumlxhdndvltrmdvtzalmqrpctvjddhttalcacnghsetarfihqwaljtftfaglejprtlkoaqgctlsleavuanaalcrhcorewcsvnnqepbrstsrvzfvnwhwptvrtxwgaqwheekzgzdvtxpjotfmgnbvlrhcvzvkayfkoslfslbcmsnqlimfeqbixhwhogxveaebaaalqqzznfgttfrlwspaffufelkslfmlicmaaklbtwlroamnnnqlimghdhvypauqaymndhbehumlxhwaoianpimnfmvtarfamnflbtwxeenfkgaqxapvgzhaqizzrfgtarrwwydwfaxltbcgmnqlblyrofzwimkmharzevkalppwkanjarkahtlgcbgaeqqrjetwenlethrdrbovrnqpofvwsvvgkqqxhvrvlhtjihwaeqewpgzwsnqlfsbdgfuxvwkzastfirzmdhmeitwdgcbuhvzxofvgqbfalhvnhhtbugmlwrhhgkxtsemnleucdufamnfksfjpyfvaqeshdgkabmpfjllvtnpatbuqgclrgcwmwwibxhdnqzwtcjlhxhgbtslnuxjkhwahtmalrfamnfoavvwmfknkkmrgejuaakorrhwalrfwngtmqwkwrtkvthgslfmlbcmgfkjvzvtvtecgivrbzjhntkjtrkalplnqvgthalphrbvierijyqhgfauawhvsfjtpsksgkelwokevtyslfmlbumlhfvxnleghrfaqmnmlegxvehwhzpevzgclehrbvianqqrzevivxnlegalgalphrbvqphdwwkqqbqlbbwbfrfaqqgmltbbndrbgalvvqmivivtygzolmvjgfyalmfqaspkoobypevdvtzalmmszvgltgkwsnqwalgqrhbjgslkvqmivntvcrizlhrnrizddntovefaqaebaoinmalgqrhbtoifofqbqhqzfalfmlbcmlhqgrktivqhetahndklgqifoqrzzrrgxvixhgmwjtxvdetvnalwlitwadgkwwkwhtalqabfyxrujicmxtfxkvpyndlammhtgvallodthwhhkrdhxhhttnqwalvvqaivvvtrpkowbnnizvwgtyalmxqamtfypagkjfwvihrakcereivtubyjdtfypsgkjfsfjxrqslfmlbcmjzacodxhqhvvwlbumtbvtnpaxtsfvtbvqrwvtygvlaldgihqhvvwliumtxhwalpzmallnqxjgzonammrtwmxnlhptumucthkdvqqiloqrzzvsfxkryralwgzolmvjuhqhvypauqayanqhbmdgavtzhpaxfttlwlcmotodxjkqqrglalfmlbcmuqbqeqzrhkpuewpqivupagkjjkfusvrwsxbkpalqivqrtfsgzolmrctsogcthpzrhlkurvalrmcerjgthcmbpiotivtnhvzlhruhnrhkpumnqkllasfbhmalwmvulpxrrhvhrspirudrbknqfwhaivtzavianaleergtllgottbriafbhmalqmrbotfmmnytsogcthonqkpalhfpwetwqtfxkxapmuvgklnaaalmxqaspkowbuhdsmzkjvvhvwzzrvpjdwfafalpiogtnlvxahtpaskdzkhjburwngbonatrfihqtalqnzaclrgcumsnqkpaeqrqyqwrgxvpynqkuhtkvirvvgkhtalrbpmpvfamnfodvkavvvvhuwghwhsqmckitxhjnvgllujvksvtubgalfjbtxvsjtpstyalarifugnpgenqrrppckwimutlepermtyalmztoaymnqhvjslfslbcmsskslfmtbcmkugrgxhwhlvrnxyrrilffrgnbvlzfkovnvvtzhtntweaeeizyltjhvazehwalqqrjebadhgkumtbwbfgmajzhwhhxerjbznxbrralmztoaymnqhvdmrtumxnlhptcmucthkwsxnvnlwjptvjmudhhwhhrvetlwgtvxejwebajclrgcwmftfkalwskosthpaeqrgabmabwwslahtvcthviuewpqykvetxdzebajclrgcwszlgcrvjzfwjpgvtprvhdnraftfxkvpmtyalcqrhbxnqwhuktalvnebaaalwtkfbtkwlhtyaevvqmivvvtrpgowbanizvwsrrvwlxhvslfmlicmsnqkpayauruvxtfkalgtzmqwlalcfhdfqmyubmxhdggivslmalvfamnfglolmvjavrbzjantkjtfjsfjtasksgkjwfafaatalpwzbrerkhjcthctkjvvhtaljtfxkvpyndwaltgzagbrvslhqclrgcwmsnqkpaeqrfgwbwwslahtvcthonqkpaeqrevxnrerhwhqcrizlergalmzylerkszlevtuebaaaewzhmqstyalmrsbrxgivjebatalhhzdttvgaegqzootonahtddwjpcthamrthlhwalwmlmddofjoebaaalxpooqkctlejqjgntnponifjtfvtalqabghonnwaibbvthbrhkypgfjdaawbrhzibacdbtldsnqwwtxvwtfwndzddyqsszllhddgxvihzebajclggcwmklkrpetdwbonamhvpatorbshqhvypasrdailylgqbpgalphwalxklygodnmtyalgqrhxevzolvtovupstsveslialtxtalwwgwlzbrmfwfaqenqvghaemfqaspkowbprfgkwhwalwwethukvdmnviivfjvzwfdmksvtllnqiflwltefgjxhhgnbttvjrlgfpkrdyqdltxvwwvihiwfatalmzkhfdqrgofjuclphrbvqanqufamnnltsexalcpvwlxhdnqpmdhwsctznikgwgtluotlsnqvzlitxvtxrtbbnxhjtfkalizjsfjhhptdzrrnpgsjzvtqaeaebalbehumliwbgalcqdptiuhgbtealcfhdrvgqjzvvhvmzfnkkmrgejrhqobgbvhysbghhhljtfkkvwkstnbjdwamgamodevvgcthfvtdftxhwhhalppkgtnmgtyalbqasekowbtkquvnanqdtelslahnqehwalgqrhbqhhpaksfjooitxntxvggmddvtcofulvefaqstyhlvvgqjzvpmttalgqrhbxnqwhlvvxnlebtyaexpkoqkctlegaewsrxxrngxhtalqmlwaprurnnnqdwwruhhserfawbflhhalsmlmddjfjwechahfvggmdzefardatkndzllvehlcgidlrgalypvxbzvhiwfamuttbtrpqwvmikgkrzfpuwsvervmhwhhavgwbsrvzppkowbaaizvwtvnbpvdexapazpalhfpwetwcvwlhfvxhlmzyvbbilvrequmwgtwfaqaevvhhrvmhwalcqrhblqewfetrlgnzralkxvetlsctznnkgwgfhcthonqkpaeerevgqfulvtzhlmzktlpmahtryhphlalqagliubdfktngmtsksphvzyhqhvkakornsshpalhrzinnnqlbipinfeqkxvetejrhhtmhqqbgbvhexhdgfhxgvbbtalxklnatgmlbfgqbpgelphiofdmnlekrrvrtbwbflhqqaqcexbeetwcvwlbnctecgoxbkevgzahtmahtmkltadetwzbrhdybfxhzojauruhdxhgbtealroztalkrzfzwimoobqhvjgtyalenpkmrgpkfco'" ] }, - "execution_count": 12, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -11539,7 +3939,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 55, "metadata": {}, "outputs": [ { @@ -11548,7 +3948,7 @@ "'YCEREVVT LTF IEWHXBX XAL VFAANF KMZKJVVH DS VDYQ LNLERH LNGH KAIOC SNQ ZEIOC AVGH AABGHZ, OEBA JCLRGCUM SNQ WAL GCLPDRBVQ XTVWJGVLJ AQBGXRG MH ZAY QAMKK MV GALIZ FKJ YLNQ. RIL KXBKHPHJK ST YHPA VUVEDIZF AEVZWR FQAQW XWOA FAL JTZWZKENT GCEQIHG UZ KARTWM XNLHPTCS UCTH.“ IHQHV JAEKK JTF EVVR PZNT SABGAZ, LKRPPTH EZ UWLWD OA BVCTE MH RHJJRD RILJWPGZW. ZLRUHH DNQ STRARD OTSO WZLIT LETAPV BIL IVJZAE, XAL JTFK TT VCRIZLHR. NGGIVFT NM AA SRIRYCH TAL QUONA HT YAE GCLPHRBVIN NRDK, YNQ RIL ERQEWAA UCLRGCWM IA YXZVAVVT CDITP LL AWTVJLW UM KIKCZD UV GAIA ZLPW, MFXKRYEH EZ MIL FKJ YPADHV JSLFMLBCS. NJZFHGXIVJ SLW, DG AMNL EUCR ANQ ESRVZ VFAMNF ZHVZ PZGL MAEMZ CTDZW, SNQ WHL QAFRLP ST YAE QQR ULVV ET VCRIZLHR VA OKFJERVVT HZ RAL HDY. CBEHUMLXH DND VLTRMDVT ZAL MQR PCTVJ DDHT TALC ACN GH SET ARFIHQ WAL JTFT, FAGLEJ PRTL, KOAQ GCTL, SLEAVUAN AALC RHC ORE WCSV NNQ EPBRS. TSRVZ FVN WHWPTVRTX, WGAQ WHEEK ZGZDVTXPJ OT F MGNBVL RH CVZVKAYFK OSLFSLBCM, SNQ L IM FEQBIXH WH OGXVE AEBA AALQ. QZZN FG, TTF RLW SPA FFUFEL, KSLFMLICM AA KLBTW L ROAMN NNQ L IM GHDHV YPA UQAYMND. HBEHUMLXH WAOIAN P IM, NFMVT A RFAMN FLBTW XEENF KGAQXAPVG ZH AQ, IZZR FG TAR RWWY DWFA XLTBCG MNQ LBL YROFZWIM KMH. ARZEVKALPPWK, A NJAR KAHT LGCB GAE QQR JETW ENLE TH RDRBOV RNQ POFV WSVVGK QQXHVRV LH TJIH WAEQEWPGZW SNQ LF SB DGFUXVWK ZAS TFIR ZMDH, M EITW DGCB UHVZ XO FVGQBFALHV NHHT B UGML WR HH GKX TS EMNL EUCD UFAMNF KSFJPY FVAQ ES HDGKABMP.” FJLLVT NPA TBUQ GCLRGCWM WWIBXH DNQ ZWTCJLH XHGBT SL NUXJKH WAHT MAL RFAMNF OAVV WMFKNKKMRGEJ UAAKORRH, WALR FWNG T MQWKWRTKV TH GSLFMLBCM GFKJVZVT VTECG IV RBZJHNTK JTR KAL PLNQV GT HALPHRBVI. ERIJYQ HGFAUAWH VSFJ TPSKSGK, ELWOKEVT YSLFMLBUM LH FVXNLE GH RFAQ MN ML EGXVEH WH ZPEVZ GCLEHRBVI ANQ QRZEV IVXNLE. GAL GALPHRBVQ PHD WWK QQBQLBBWBF. RFAQ QGML TBBNDRB GAL VVQMIVIVT YGZOLMVJ GF YAL MFQA SPKOOB, YPEVDVT ZALM MS ZVGLTGKW; SNQ WAL GQRHB JGSL KVQMIV NT VCRIZLHR. NRIZDDNT OV EFAQ AEBAOIN MAL GQRHB TOIFO FQBQHQZ FALFMLBCM LH QGRKTIV QHETA, HND KL GQIFO QRZZR RGXVI XH GMWJ TXVDE, TVN AL WLITW ADGKWWKWH TAL QABF YXRUJICM XTFXKVP YND L AMMHTGV AL LODTH WH HKRDH XHHT TNQ WAL VVQAIVVVT RPKOWBNNIZVW GT YAL MXQA MTF YPA GKJ FWVIHRA. KCEREIVT UBYJ DTF YPS GKJ FSFJXR, QSLFMLBCM JZACOD XHQHVVWLBUMTBVT NPA XTS, FVT BV QRWVT YG VL ALDG IHQHVVWLIUMTXH WAL PZMAL LNQ XJGZONA MMRTWM XNLHPTUM UCTH KDV QQILO QRZZV SFXKRY RAL WGZOLMVJ UHQHV YPA UQAYANQ. HBMDGAVT ZHPA XFTTL WLCM OT ODXJKQQRG, LALFMLBCM UQBQEQZRH KPUEWPQ IV UPA GKJ JKFUS. “VR W SXBK PAL QIVQ RT F SGZOLMR CTSO GCTH? PZ RHL KURV A LR. MCERJ GT HCMBPIOTIVT NHVZ LHRUHNRH KPU MNQ KL LAS FBH MAL WMVULPXR RH VHRSPIR UDRB KNQ FWHAIVT ZAVIANAL. EERGTL LGOTTBR IA FBH MAL QMRB OT F MMN YTSO GCTH ONQ KPALHFP WETW QTFXKX APM.” UV GKLNA AAL MXQA SPKOWB UHD SMZKJVVH VWZZRVPJ DWFA FAL PIOGTNLV XAHT PAS KDZKHJ BURWN GBONA TRFIHQ TALQ NZ ACLRGCUM SNQ KPA EQR. QYQWRGXVP YNQ KUHTKV IRVVGKH TAL RBPMP VFAMNF ODV KAVV VVHUWGH WH SQMCKITXH JNVGLL, UJVKSVT UB GAL FJBTXV SJTP ST YAL ARIFUGNPG ENQ RRPPCKWIM UTLEPER MT YALMZ TOAYMNQHV JSLFSLBCM. SS KSLFMTBCM KUGRGXH WHL VRNX YRRIL FF RGNBVL ZFKOVNVVT ZH TNTW EAE EIZ YL TJHVAZEH WAL QQR JEBA DHGKUMTBWB. FG, MAJZH WH HXERJ BZ NXBR, RALMZ TOAYMNQHV DMRTUM XNLHPTCM UCTH KWS XNVNLWJ PTVJMUDHH WH HRVET LWGTVXEJ WEBA JCLRGCWM FTF KAL WSKO ST HPA EQR. GABM AB WWS LAHT VCTH VIUEWPQ YKVETXD ZEBA JCLRGCWS. ZL GCRVJZFWJ PGVTPRVH D NRA FTFXKVP MT YAL CQRHB XNQ WHUKTALV NEBA AAL WTKFBTKWL HT YAE VVQMIVVVT RPGOWBANIZVW SRRVWLXH VSLFMLICM SNQ KPA YAURUV XTF KAL GTZMQW LALC FHD FQMYUBMXH DGGIVSL MAL VFAMN FGLOLMVJ. AV RBZJANTK JTF JSFJ TASKSGK JWFA FAAT ALPW ZB RERKH, JCTH CTKJVVH TAL JTFXKVP YND WAL TGZAGBRVS LH QCLRGCWM SNQ KPA EQR. FG WB WWS LAHT VCTH ONQ KPA EQR EVXNRERH WH QCRIZLER, GALMZ YLERKS ZLEVT UEBA AAE WZHMQ ST YALMR SBRXGIV JEBA TAL HHZDT. TV GAE GQZO OTONA HT DDWJ, PCTH AMRTHLH WAL WMLMDDOFJ, OEBA AAL XPO OQKCTLE JQJGNT NPON IFJTFV TALQ, ABGH ON NWAIBBVT HBRHKY PGFJDAAWBRH ZIBA CDBTLD SNQ WWTXV WTF WNDZ DDYQ, SS ZL LHD DGXVIH ZEBA JCLGGCWM. KLKRPETD WBONA MH VPA TORB, SHQHV YPA SRDAIL, YL GQBPGALPH WAL XKLY GODN MT YAL GQRHX, EVZOLVT OV UPS TSVESLIALTX TAL WWGWLZBR MF WFAQ. ENQ VG HAE MFQA SPKOWB PRFGKWH WAL WWE TH UKVDMNVI IVFJVZWF, DMKSVT LLNQIFLW LT EFGJXHHG NBTTVJRLG FPK RDYQ DLTXV. WWVIH IWFA TALMZ KHFDQRGOFJ, UCLPHRBVQ ANQ UFAMN NLTSE, XALC PVWLXH DNQ PMDH WSCTZNIKGW GT LUOTL SNQ VZLIT XV TXRTBBNXH JTF KALIZ JSFJ HHPTDZRRNPG. SJZVTQAE AEBA LBEHUMLIWB GALC QDPTI, UHGBT EALC FHD RVGQJZVVH VMZFNKKMRGEJ RH QOBGBVHY SB GH HHL JTFKKVWK ST NBJDWAMGAM ODEVV GCTH FVTDFTXH WH HAL PPKGTNM GT YAL BQA SEKOWB TKQUVN ANQ, DT ELSL, AHNQEH WAL GQRHB QH HPA KSFJ OOITXNT. XVGGMDDVT COFU LV EFAQ ST YHL VVGQJZVP MT TAL GQRHB XNQ WHL VVXNLE BT YAE XPK OQKCTLE, GAEWSR XXRNGXH TALQ MLW APRURN NNQ DWWRUHH SERFAWBF LH HAL SMLMDDJFJ, WECH AH FVGGMDZ E FARD AT KNDZ LLVEHLCG IDLR GALY PVXBZVH IWFA MUTTBTRP QWVMIKG. KRZFP UWS VERVMH WH HAVGW BSRVZ PPKOWBAAIZVW, TVN B PVDE XAPA ZPALHFP WETW CVWLHFV XHLMZ YVBBIL. VREQUMW GT WFAQ AEVV HHRVMH WAL CQRHB LQEWFETRLG NZ RAL KXVET LSCTZNNKGW GF HCTH ONQ KPA EER. EVGQFULVT ZHLMZ KTLP MA HTRYHPH LAL QAGL IUBDFKTNG MTSK S PHVZ YHQHVKAKOR NS S HPALHRZIN, NNQ LB IPINF EQ KXVETEJ RHHT, MH QQBGBVHE XH DGFHXGV BB, TAL XKLNA TGML BF GQBPGELPH IOF DMNL EKRRVRTBWBF LH QQAQ. CEX B EETW CVWL BN CTECG OXBKEVG ZAHT MAHT MKLTA DETW ZBR HDY BF XHZO, JAURUHD XHGBT EALR OZ TAL KRZFZWIM OOBQHVJ GT YAL ENPKMRG PKFCO.'" ] }, - "execution_count": 22, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -11560,7 +3960,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 56, "metadata": { "scrolled": true }, @@ -11571,7 +3971,7 @@ "'TVVERECY FTL XBXHWEI LAX FNAAFV HVVJKZMK SD QYDV HRELNL HGNL COIAK QNS COIEZ HGVA ZHGBAA, ABEO MUCGRLCJ QNS LAW QVBRDPLCG JLVGJWVTX GRXGBQA HM YAZ KKMAQ VM ZILAG JKF QNLY. LIR KJHPHKBXK TS APHY FZIDEVUV RWZVEA WQAQF AOWX LAF TNEKZWZTJ GHIQECG ZU MWTRAK SCTPHLNX HTCU.“ VHQHI KKEAJ FTJ RVVE TNZP ZAGBAS, HTPPRKL ZE DWLWU AO ETCVB HM DRJJHR WZGPWJLIR. HHURLZ QND DRARTS OSTO TILZW VPATEL LIB EAZJVI, LAX KFTJ TT RHLZIRCV. TFVIGGN MN AA HCYRIRS LAT ANOUQ TH EAY NIVBRHPLCG KDRN, QNY LIR AAWEQRE MWCGRLCU AI TVVAVZXY PTIDC LL WLJVTWA MU DZCKIK VU AIAG WPLZ, HEYRKXFM ZE LIM JKF VHDAPY SCBLMFLSJ. JVIXGHFZJN WLS, GD LNMA RCUE QNA ZVRSE FNMAFV ZVHZ LGZP ZMEAM WZDTC, QNS LHW PLRFAQ TS EAY RQQ VVLU TE RHLZIRCV AV TVVREJFKO ZH LAR YDH. HXLMUHEBC DND TVDMRTLV LAZ RQM JVTCP THDD CLAT NCA HG TES QHIFRA LAW TFTJ, JELGAF LTRP, QAOK LTCG, NAUVAELS CLAA CHR ERO VSCW QNN SRBPE. ZVRST NVF XTRVTPWHW, QAGW KEEHW JPXTVDZGZ TO F LVBNGM HR KFYAKVZVC MCBLSFLSO, QNS L MI HXIBQEF HW EVXGO ABEA QLAA. NZZQ GF, FTT WLR APS LEFUFF, MCILMFLSK AA WTBLK L NMAOR QNN L MI VHDHG APY DNMYAQU. HXLMUHEBH NAIOAW P MI, TVMFN A NMAFR WTBLF FNEEX GVPAXQAGK HZ QA, RZZI GF RAT YWWR AFWD GCBTLX QNM LBL MIWZFORY HMK. KWPPLAKVEZRA, A RAJN THAK BCGL EAG RQQ WTEJ ELNE HT VOBRDR QNR VFOP KGVVSW VRVHXQQ HL HIJT WZGPWEQEAW QNS FL BS KWVXUFGD SAZ RIFT HDMZ, M WTIE BCGD ZVHU OX VHLAFBQGVF THHN B LMGU RW HH XKG ST LNME DCUE FNMAFU YPJFSK QAVF SE PMBAKGDH.” TVLLJF APN QUBT MWCGRLCG HXBIWW QND HLJCTWZ TBGHX LS HKJXUN THAW LAM FNMAFR VVAO JEGRMKKNKFMW HRROKAAU, RLAW GNWF T VKTRWKWQM HT MCBLMFLSG TVZVJKFG GCETV VI KTNHJZBR RTJ LAK VQNLP TG IVBRHPLAH. QYJIRE HWAUAFGH JFSV KGSKSPT, TVEKOWLE MUBLMFLSY HL ELNXVF HG QAFR NM LM HEVXGE HW ZVEPZ IVBRHELCG QNA VEZRQ ELNXVI. LAG QVBRHPLAG DHP KWW FBWBBLQBQQ. QAFR LMGQ BRDNBBT LAG TVIVIMQVV JVMLOZGY FG LAY AQFM BOOKPS, TVDVEPY MLAZ SM WKGTLGVZ; QNS LAW BHRQG LSGJ VIMQVK TN RHLZIRCV. TNDDZIRN VO QAFE NIOABEA LAM BHRQG OFIOT ZQHQBQF MCBLMFLAF HL VITKRGQ ATEHQ, DNH LK OFIQG RZZRQ IVXGR HX JWMG EDVXT, NVT LA WTILW HWKWWKGDA LAT FBAQ MCIJURXY PVKXFTX DNY L VGTHMMA LA HTDOL HW HDRKH THHX QNT LAW TVVVIAQVV WVZINNBWOKPR TG LAY AQXM FTM APY JKG ARHIVWF. TVIERECK JYBU FTD SPY JKG RXJFSF, MCBLMFLSQ DOCAZJ TVBTMUBLWVVHQHX APN STX, TVF VB TVWRQ GY LV GDLA HXTMUILWVVHQHI LAW LAMZP QNL ANOZGJX MWTRMM MUTPHLNX HTCU VDK OLIQQ VZZRQ YRKXFS LAR JVMLOZGW VHQHU APY QNAYAQU. TVAGDMBH APHZ LTTFX MCLW TO GRQQKJXDO, MCBLMFLAL HRZQEQBQU QPWEUPK VI APU JKG SUFKJ. “RV W KBXS LAP QVIQ TR F RMLOZGS OSTC HTCG? ZP LHR VRUK A RL. JRECM TG TVITOIPBMCH ZVHN HRNHURHL UPK QNM LK SAL HBF LAM RXPLUVMW HR RIPSRHV BRDU QNK TVIAHWF LANAIVAZ. LTGREE RBTTOGL AI HBF LAM BRMQ TO F NMM OSTY HTCG QNO PFHLAPK WTEW XKXFTQ MPA.” VU ANLKG LAA AQXM BWOKPS DHU HVVJKZMS JPVRZZWV AFWD LAF VLNTGOIP THAX SAP JHKZDK NWRUB ANOBG QHIFRT QLAT ZN MUCGRLCA QNS APK RQE. PVXGRWQYQ QNY VKTHUK HKGVVRI LAT PMPBR FNMAFV VDO VVAK HGWUHVV HW HXTIKCMQS LLGVNJ, TVSKVJU BU LAG VXTBJF PTJS TS LAY GPNGUFIRA QNE MIWKCPPRR REPELTU TM ZMLAY VHQNMYAOT MCBLSFLSJ. SS MCBTMFLSK HXGRGUK LHW XNRV LIRRY FF LVBNGR TVVNVOKFZ HZ WTNT EAE ZIE LY HEZAVHJT LAW RQQ ABEJ BWBTMUKGHD. GF, HZJAM HW JREXH ZB RBXN, ZMLAR VHQNMYAOT MUTRMD MCTPHLNX HTCU SWK JWLNVNX HHDUMJVTP HW TEVRH JEXVTGWL ABEW MWCGRLCJ FTF LAK OKSW TS APH RQE. MBAG BA SWW THAL HTCV QPWEUIV DXTEVKY ABEZ SWCGRLCJ. LZ JWFZJVRCG HVRPTVGP D ARN PVKXFTF TM LAY BHRQC QNX VLATKUHW ABEN LAA LWKTBFKTW TH EAY TVVVIMQVV WVZINABWOGPR HXLWVRRS MCILMFLSV QNS APK VURUAY FTX LAK WQMZTG CLAL DHF HXMBUYMQF LSVIGGD LAM NMAFV JVMLOLGF. VA KTNAJZBR FTJ JFSJ KGSKSAT AFWJ TAAF WPLA BZ HKRER, HTCJ HVVJKTC LAT PVKXFTJ DNY LAW SVRBGAZGT HL MWCGRLCQ QNS APK RQE. GF BW SWW THAL HTCV QNO APK RQE HRERNXVE HW RELZIRCQ, ZMLAG SKRELY TVELZ ABEU EAA QMHZW TS RMLAY VIGXRBS ABEJ LAT TDZHH. VT EAG OZQG ANOTO TH JWDD, HTCP HLHTRMA LAW JFODDMLMW, ABEO LAA OPX ELTCKQO TNGJQJ NOPN VFTJFI QLAT, HGBA NO TVBBIAWN YKHRBH HRBWAADJFGP ABIZ DLTBDC QNS VXTWW FTW ZDNW QYDD, SS LZ DHL HIVXGD ABEZ MWCGGLCJ. DTEPRKLK ANOBW HM APV BROT, VHQHS APY LIADRS, LY HPLAGPBQG LAW YLKX NDOG TM LAY XHRQG, TVLOZVE VO SPU XTLAILSEVST LAT RBZLWGWW FM QAFW. QNE GV EAH AQFM BWOKPS HWKGFRP LAW EWW HT IVNMDVKU FWZVJFVI, TVSKMD WLFIQNLL TL GHHXJGFE GLRJVTTBN KPF QYDR VXTLD. HIVWW AFWI ZMLAT JFOGRQDFHK, QVBRHPLCU QNA NMAFU ESTLN, CLAX HXLWVP QND HDMP WGKINZTCSW TG LTOUL QNS TILZV VX HXNBBTRXT FTJ ZILAK JFSJ GPNRRZDTPHH. EAQTVZJS ABEA BWILMUHEBL CLAG ITPDQ, TBGHU CLAE DHF HVVZJQGVR JEGRMKKNFZMV HR YHVBGBOQ BS HG LHH KWVKKFTJ TS MAGMAWDJBN VVEDO HTCG HXTFDTVF HW LAH MNTGKPP TG LAY AQB BWOKES NVUQKT QNA, TD LSLE, HEQNHA LAW BHRQG HQ APH JFSK TNXTIOO. TVDDMGGVX UFOC VL QAFE TS LHY PVZJQGVV TM LAT BHRQG QNX LHW ELNXVV TB EAY KPX ELTCKQO, RSWEAG HXGNRXX QLAT WLM NRURPA QNN HHURWWD FBWAFRES HL LAH JFJDDMLMS, HCEW HA ZDMGGVF E DRAF TA ZDNK GCLHEVLL RLDI YLAG HVZBXVP AFWI PRTBTTUM GKIMVWQ. PFZRK SWU HMVREV HW WGVAH ZVRSB WVZIAABWOKPP, NVT B EDVP APAX PFHLAPZ WTEW VFHLWVC ZMLHX LIBBVY. WMUQERV TG QAFW VVEA HMVRHH LAW BHRQC GLRTEFWEQL ZN LAR TEVXK WGKNNZTCSL FG HTCH QNO APK REE. TVLUFQGVE ZMLHZ PLTK AM HPHYRTH LAL LGAQ GNTKFDBUI KSTM S ZVHP ROKAKVHQHY SN S NIZRHLAPH, QNN BL FNIPI QE JETEVXK THHR, HM EHVBGBQQ HX VGXHFGD BB, LAT ANLKX LMGT FB HPLEGPBQG FOI LNMD FBWBTRVRRKE HL QAQQ. XEC B WTEE LWVC NB GCETC GVEKBXO THAZ THAM ATLKM WTED RBZ YDH FB OZHX, DHURUAJ TBGHX RLAE ZO LAT MIWZFZRK JVHQBOO TG LAY GRMKPNE OCFKP.'" ] }, - "execution_count": 31, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -11584,7 +3984,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -11593,7 +3993,7 @@ "True" ] }, - "execution_count": 32, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -11604,7 +4004,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 58, "metadata": {}, "outputs": [ { @@ -11613,7 +4013,7 @@ "'you have been betrayed by midas this is a forgery'" ] }, - "execution_count": 52, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -11647,7 +4047,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.3" + "version": "3.6.3" } }, "nbformat": 4, diff --git a/2017/2b.plaintext b/2017/2b.plaintext index 67e9371..e1026f5 100644 --- a/2017/2b.plaintext +++ b/2017/2b.plaintext @@ -1 +1,21 @@ -the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion of the seriousness of the situation returned from subduing rebels on the island of mona and confronted the enemy at viro conium a she travelled back along watling street in his own words despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of the battleground and tactics ensured our decisive and glorious victory whoever masterminded the battle the enemy lost many thousands against just a few hundred of our own troops and agricola was left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her situation took her own life cursing the ixth legion as she died but a battle is not a war and the true peril was about to be revealed a captured enemy spy revealed that they had be enable to decipher captured battle orders and communications which had been encrypted using the caesar cipher this device invented by julius caesar himself had secured military and diplomatic communications across the empire for decades it was no longer safe and neither were we suetonius s despatches to the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt that agricola was to blame for the uprising the loss of the legions aquila was said to have encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who engineered the defeat of the tribes on watling street but if you wish to know the truth of that day then you will need to travel further to the isle of thorns \ No newline at end of file +the rebellion led by queen boudicca took strength from the defeat of the ninth legion the iceni were +joined by the trinovantes tribe as they setup on both londinium and verulam ium they razed the +cities to the ground and desecrated our temples suetonius informed by varus legatus of the ix legion +of the seriousness of the situation returned from subduing rebels on the island of mona and +confronted the enemy at viro conium a she travelled back along watling street in his own words +despite being outnumbered ten to one the bravery and heroism of our forces and my careful choice of +the battleground and tactics ensured our decisive and glorious victory whoever masterminded the +battle the enemy lost many thousands against just a few hundred of our own troops and agricola was +left to secure the region acting with ruthless efficiency perhaps in part to at one for his guilt +over the previous loss he supressed the rebellion boudicca possessed of the perilous ness of her +situation took her own life cursing the ixth legion as she died but a battle is not a war and the +true peril was about to be revealed a captured enemy spy revealed that they had be enable to +decipher captured battle orders and communications which had been encrypted using the caesar cipher +this device invented by julius caesar himself had secured military and diplomatic communications +across the empire for decades it was no longer safe and neither were we suetonius s despatches to +the emperor were careful to give himself the credit for the defeat of boudicca and left no doubt +that agricola was to blame for the uprising the loss of the legions aquila was said to have +encouraged the local tribes to rebel and it was hinted that agricola may also have been to blame for +the loss of the caesar cipher what suetonius failed to reveal was that it was agricola who +engineered the defeat of the tribes on watling street but if you wish to know the truth of that day +then you will need to travel further to the isle of thorns \ No newline at end of file diff --git a/2017/3b.plaintext b/2017/3b.plaintext index 7ae5190..1234d55 100644 --- a/2017/3b.plaintext +++ b/2017/3b.plaintext @@ -1 +1,31 @@ -while it is true that suetonius setup the final battle with boudicca at watling street he had neither the troops nor the tactical ability to overcome the huge numerical disadvantage faced by his army without the support of agricola and his talented scouts defeat would have been inevitable and with it the loss of britannia having realised that the iceni were reading his communications agricola arranged to plant false information about the planned disposition of troops setting a trap into which the iceni fell it is still unclear how the savage tribes had learned to decipher our army s communications as they had no writing of their own however every army has its traitors and it seems likely to me that one or more of the local tribespeople turned someones head love or money it is all treachery but this act threatened to undermine the empires entire system of secure communication the caesar cipher perhaps more than roads had enabled the empire to function securely and its loss was a disaster turning that loss into a victory on the battlefield deserved more recognition than it received perhaps suetonius never knew or perhaps he failed to understand the cunning of the plan but either way despite the victory agricola and the ninth legion remained in disgrace on hearing this news claudius caesar augustus germanicus nero emperor issued a secret proclamation establishing a cipher school to develop a new system of imperial ciphers it worked in secret for over twenty years developing new methods to secure communications across the empire studying the works of the greeks ages euclid and hypatia and even older works from ancient babylon the school developed new ways to safeguard communications from rome s enemies these new systems were written down and distributed in the codex occult orum perhaps the most strictly guarded document in all history when it was finally completed many years later the emperor domitian issued an executive order which prefaced every copy of the codex that it was to be guarded by every legion to the last man the defeat of the iceni and the suicide of boudicca perhaps protected the ninth legion from dissolution agricola was largely left to his own devices in the province though it was made clear to him that to return would mean at best disgrace and at worst death in a break with tradition the ninth raised a new standard the legion was exiled in disgrace to endure the hard and dangerous work of subduing the caledon ii in the bleak wildernesses of caledonia suetonius ordered the ninth to march toe bora cum which they were to make their base for raids into caledonia the unspoken reason for their exile was that intelligence reports suggested that this was where they might find their lost aquila those who would read on must follow my faithful slave tiro who faces a grave task perhaps the largest to date a she travels to conceal the fourth chapter of this tragic tale \ No newline at end of file +while it is true that suetonius setup the final vat tle with vou di ccaat watling street he had +neither the troops nor the tactical avi lity to ober come the huge numerical disad ban tage faced vy +his army without the support of agricola and his talented scouts defeat would habe veen in ebita vle +and with it the loss of vr it anni ahab ing realised that the iceni were reading his communications +agricola arranged to plant false information av out the planned disposition of troops setting a trap +into which the iceni fell it is still unclear how the saba get rives had learned to decipher our +army s communications as they had no writing of their own howe be reber y army has its traitors and +it seems likely to me that one or more of the local t rives people turned someones head lobe or +money it is all treachery vut this act threatened to undermine the empires entire system of secure +communication the caesar cipher perhaps more than road shade nav led the empire to function securely +and its loss was a disaster turning that loss into a bic tory on the vat tle field deser bed more +recognition than it recei bed perhaps suetonius ne berk new or perhaps he failed to understand the +cunning of the plan vut either way despite the bic tory agricola and the ninth legion remained in +disgrace on hearing this news claudius caesar augustus germanicus nero emperor issued a secret +proclamation est av lishing a cipher school to de belo pa new system of imperial ciphers it worked +in secret for ober twenty years deb eloping new methods to secure communications across the empire +studying the works of the greeks ages euclid and hypatia and eben older works from ancient vav yl on +the school deb eloped new ways to safeguard communications from rome s enemies these new systems +were written down and distri vu ted in the codex occult orum perhaps the most strictly guarded +document in all history when it was finally completed many years later the emperor domitian issued +an execut i be order which preface de bery copy of the codex that it was to ve guarded vye bery +legion to the last man the defeat of the iceni and the suicide of vou dic ca perhaps protected the +ninth legion from dissolution agricola was largely left to his own debi ces in the prob in ce though +it was made clear to him that to return would mean at vest disgrace and at worst death in av reak +with tradition the ninth raised a new standard the legion was exiled in disgrace to endure the hard +and dangerous work of suv du ing the caledon ii in the v leak wildernesses of caledonia suetonius +ordered the ninth to march to evora cum which they were to make their vase for raids into caledonia +the unspoken reason for their exile was that intelligence reports suggested that this was where they +might find their lost aquila those who would read on must follow my faithful sla be tiro who faces +agra be task perhaps the largest to date a she trabel s to conceal the fourth chapter of this tragic +tale \ No newline at end of file diff --git a/2017/4b.plaintext b/2017/4b.plaintext index dcaa54f..30bfeb5 100644 --- a/2017/4b.plaintext +++ b/2017/4b.plaintext @@ -1 +1,42 @@ -over the years the heroic role of agricola at watling street came to the notice of rome and two decades later he was appointed proconsul and governor of britannia by emperor vespasian a few years after his appointment vespasian ss on domitian became emperor and one of his first acts was to issue the order to implement the new imperial ciphers invented by the cipher school in the intervening years the ninth had been left to fight lonely skirmishes and battles from their base ate bora cum with fortitude and resolve they repeatedly drove the barbarians back into the cold heartlands of caledonia during one such skirmish varus was mortally wounded and agricola promoted the tribune marcus fidel i usca to to the legatus of the ninth one day the luck of the ninth seemed to change a reconnaissance squad reported that they had seen the aquila flying from a tree at mons grau pius in a camp ruled by a tribesman called cal gac us the new legatus recognised that the privations of along march had exhausted his men they were not ready for battle and ca to should have sent for reinforcements but the joy of seeing the lost aquila so close at hand clouded his judgement and he launched an attack under the cover of darkness fighting uphill against wave upon wave of barbarians the legions heroic efforts were frustrated by the sun rising to blind them as dawn broke the troops in the frontline gave way with exhaustion and the wild cal gac us dashed out of the sundown the blood soaked slope with his cavalry into the heart of the legion the legion rained flaming arrows upon the enemy and managed to un horse cal gac us taking him prisoner but could make no headway against the savage hordes and were unable to reach the stolen aquila worse was to come while ca to organised a retreat with the prisoner cal gac us in chains the remaining soldiers held the line against repeated charges by caledonian and iceni an tribesmen when the line finally broke ca to and many of the ninth legion had reached safety and took stock the cavalry were safe as were many of the brave legionnaires but to his horror ca to realised that in the battle he had lost the second aquila and worse the legions copy of the codex had also gone the documents left to me by agricola are unclear on this point did he know that the codex might have fallen into enemy hands and that a second aquila had been lost or did ca to assure him that the codex had been destroyed as part of an orderly retreat perhaps ca to was yet to rejoin agricola at the fort and communications from the battle had yet to reach him in a letter to emperor domitian agricola wrote most excellent emperor as you have most graciously requested i have finished my affairs herein britannia in preparation for returning to your side in rome it please sme to report to you that by acts of diplomacy and strength i have persuaded the northern rebels to yield to our army and to turnover to us the rebel cal gac us who has remained free since the wars against boudicca and the iceni his letter appears to have been a reply to new orders from rome in which domitian wrote my esteemed gnaeus upon receipt of your most recent letter i have been most troubled it appears clear to me that the situation in britannia has worsened and so i must ask you to return to meat rome with the utmost speed conduct your remaining affairs in the province and do not undertake any action which mayen flame the current tensions between yourself and the caledon ii the final line of the emperors letter set a deadline for agricola s return i shall expect you to have crossed the rubicon by the end of the year and perhaps he felt that contrition was a safer refuge whatever agricola knew at that point within a month his world had been turned upsidedown as further reports from caledonia made clear that his hope of restoration in the eyes of the emperor were in real jeopardy he set out to recover the two aquilae and to determine what had happened to the codex before returning to rome those who read on must search for the truth in the spiritual home of the amazons \ No newline at end of file +over the years the heroic role of agricola at watling street came to the notice of rome and two +decades later he was appointed proconsul and governor of britannia by emperor vespasian a few years +after his appointment vespasian ss on domitian became emperor and one of his first acts was to issue +the order to implement the new imperial ciphers invented by the cipher school in the intervening +years the ninth had been left to fight lonely skirmishes and battles from their base ate bora cum +with fortitude and resolve they repeatedly drove the barbarians back into the cold heartlands of +caledonia during one such skirmish varus was mortally wounded and agricola promoted the tribune +marcus fidel i usca to to the legatus of the ninth one day the luck of the ninth seemed to change a +reconnaissance squad reported that they had seen the aquila flying from a tree at mons grau pius in +a camp ruled by a tribesman called cal gac us the new legatus recognised that the privations of +along march had exhausted his men they were not ready for battle and ca to should have sent for +reinforcements but the joy of seeing the lost aquila so close at hand clouded his judgement and he +launched an attack under the cover of darkness fighting uphill against wave upon wave of barbarians +the legions heroic efforts were frustrated by the sun rising to blind them as dawn broke the troops +in the frontline gave way with exhaustion and the wild cal gac us dashed out of the sundown the +blood soaked slope with his cavalry into the heart of the legion the legion rained flaming arrows +upon the enemy and managed to un horse cal gac us taking him prisoner but could make no headway +against the savage hordes and were unable to reach the stolen aquila worse was to come while ca to +organised a retreat with the prisoner cal gac us in chains the remaining soldiers held the line +against repeated charges by caledonian and iceni an tribesmen when the line finally broke ca to and +many of the ninth legion had reached safety and took stock the cavalry were safe as were many of the +brave legionnaires but to his horror ca to realised that in the battle he had lost the second aquila +and worse the legions copy of the codex had also gone the documents left to me by agricola are +unclear on this point did he know that the codex might have fallen into enemy hands and that a +second aquila had been lost or did ca to assure him that the codex had been destroyed as part of an +orderly retreat perhaps ca to was yet to rejoin agricola at the fort and communications from the +battle had yet to reach him in a letter to emperor domitian agricola wrote most excellent emperor as +you have most graciously requested i have finished my affairs herein britannia in preparation for +returning to your side in rome it please sme to report to you that by acts of diplomacy and strength +i have persuaded the northern rebels to yield to our army and to turnover to us the rebel cal gac us +who has remained free since the wars against boudicca and the iceni his letter appears to have been +a reply to new orders from rome in which domitian wrote my esteemed gnaeus upon receipt of your most +recent letter i have been most troubled it appears clear to me that the situation in britannia has +worsened and so i must ask you to return to meat rome with the utmost speed conduct your remaining +affairs in the province and do not undertake any action which mayen flame the current tensions +between yourself and the caledon ii the final line of the emperors letter set a deadline for +agricola s return i shall expect you to have crossed the rubicon by the end of the year and perhaps +he felt that contrition was a safer refuge whatever agricola knew at that point within a month his +world had been turned upsidedown as further reports from caledonia made clear that his hope of +restoration in the eyes of the emperor were in real jeopardy he set out to recover the two aquilae +and to determine what had happened to the codex before returning to rome those who read on must +search for the truth in the spiritual home of the amazons \ No newline at end of file diff --git a/2017/5b.plaintext b/2017/5b.plaintext index af255ed..8f092ff 100644 --- a/2017/5b.plaintext +++ b/2017/5b.plaintext @@ -1,15 +1,15 @@ -in his journal dated the ides of october in the year of the consulships of caec eli us tullius -capito pompon ian us plot i us firm us and gaius cornelius galli can us agricola wrote the mystery -of the battle at camu lo donum is at last solved cal gac us maybe a barbarian now but he was a roman -citizen then who betrayed us all for love of a barbarian it has taken all my skills as a leader of -men to keep him alive the legionnaires spend their evenings designing new and cruel ways to execute -him in revenge for the shame he brought upon us but his life is precious it is the only card left to -play in our search for salvation and the return of the stolen aquilae if we can also recover the -codex then perhaps its loss can be concealed and our lives will be spared releasing the roman -traitor cal gac us must have stuck in the proud agricola s throat but he made a pact with the -remaining caledon ii and travelled north to exchange the prisoner for the aquilae and the codex but -the cunning caledonian tribesman set another trap and presented agricola with a forgery cunningly -assembled with pages from the books stolen when the tribe ransacked mons grau pius for too long the -sons of rome had underestimated the people in britannia and while the aquila of the legion had been -restored by the exchange their honour was not agricola faced a return to rome humiliation and almost -certain death the sixth chapter of my tale of woe is guarded by lightning bull and oak \ No newline at end of file +In his Journal dated the Ides of October in the year of the consulships of Caecelius Tullius Capito +Pomponianus Plotius Firmus and Gaius Cornelius Gallicanus, Agricola wrote “The mystery of the battle +at Camulodonum is at last solved. Calgacus may be a Barbarian now, but he was a Roman citizen then, +who betrayed us all for love of a barbarian. It has taken all my skills as a leader of men to keep +him alive. The Legionnaires spend their evenings designing new and cruel ways to execute him in +revenge for the shame he brought upon us, but his life is precious. It is the only card left to play +in our search for salvation and the return of the stolen Aquilae. If we can also recover the Codex +then perhaps its loss can be concealed and our lives will be spared.” Releasing the Roman traitor +Calgacus must have stuck in the proud Agricola’s throat, but he made a pact with the remaining +Caledonii and travelled north to exchange the prisoner for the Aquilae and the Codex. But the +cunning Caledonian tribesman set another trap and presented Agricola with a forgery cunningly +assembled with pages from the books stolen when the tribe ransacked Mons Graupius. For too long the +sons of Rome had underestimated the people in Britannia and while the Aquila of the Legion had been +restored by the exchange, their honour was not. Agricola faced a return to Rome, humiliation and +almost certain death. The sixth chapter of my tale of woe is guarded by lightning, bull and oak. \ No newline at end of file diff --git a/2017/7b.plaintext b/2017/7b.plaintext index 9846b7c..4b7b505 100644 --- a/2017/7b.plaintext +++ b/2017/7b.plaintext @@ -42,5 +42,5 @@ the fleeing salus ti us and so at car ride nsa lust i us regrouped with his trus remaining cohorts from inch tuthill ed by the steadfast marcus fidel i usca to it was not long before the pursuing caledonian force arrived before the gates of car riden and laid siege with their backs to water the roman force was trapped their safety lay in a refuge far over these a and it is -fitting that the ending of my story will lie buried safely in their refuge at novio magus bat av -orum \ No newline at end of file +fitting that the ending of my story will lie buried safely in their refuge at novio magus +batavorum____+ \ No newline at end of file diff --git a/cipher/autokey.py b/cipher/autokey.py index ffdc3a9..5c4a954 100644 --- a/cipher/autokey.py +++ b/cipher/autokey.py @@ -1,3 +1,4 @@ +import math import multiprocessing from support.utilities import * from support.language_models import * diff --git a/cipher/cadenus.py b/cipher/cadenus.py index 1e569af..433ad19 100644 --- a/cipher/cadenus.py +++ b/cipher/cadenus.py @@ -1,4 +1,5 @@ from itertools import chain +import multiprocessing from support.utilities import * from support.language_models import * from cipher.column_transposition import transpositions_of @@ -92,5 +93,33 @@ def cadenus_decipher(message, keyword, keycolumn, fillvalue='a'): # return rotated_columns return cat(chain(*rotated_rows)) + +def cadenus_break(message, words=keywords, + doubled_letters='vw', fitness=Pbigrams): + c = make_cadenus_keycolumn(reverse=True) + valid_words = [w for w in words + if max(transpositions_of(w)) <= len(c)] + with multiprocessing.Pool() as pool: + results = pool.starmap(cadenus_break_worker, + [(message, w, + make_cadenus_keycolumn(doubled_letters=doubled_letters, + start=s, reverse=r), + fitness) + for w in words + for s in string.ascii_lowercase + for r in [True, False] + if max(transpositions_of(w)) <= len( + make_cadenus_keycolumn( + doubled_letters=doubled_letters, start=s, reverse=r)) + ]) + # return list(results) + return max(results, key=lambda k: k[1]) + +def cadenus_break_worker(message, keyword, keycolumn, fitness): + message_chunks = chunks(message, 175) + plaintext = ''.join(cadenus_decipher(c, keyword, keycolumn) for c in message_chunks) + fit = fitness(plaintext) + return (keyword, keycolumn), fit + if __name__ == "__main__": import doctest \ No newline at end of file diff --git a/cipher/keyword_cipher.py b/cipher/keyword_cipher.py index 30fd256..c5e7cd8 100644 --- a/cipher/keyword_cipher.py +++ b/cipher/keyword_cipher.py @@ -1,6 +1,7 @@ from enum import Enum # from itertools import starmap import multiprocessing +import math from support.utilities import * from support.language_models import * diff --git a/cipher/vigenere.py b/cipher/vigenere.py index f54fe6f..362322d 100644 --- a/cipher/vigenere.py +++ b/cipher/vigenere.py @@ -1,6 +1,7 @@ from enum import Enum from itertools import starmap, cycle import multiprocessing +from cipher.caesar import * from support.utilities import * from support.language_models import * diff --git a/support/segment.py b/support/segment.py index ba3ddd7..5bdb06c 100644 --- a/support/segment.py +++ b/support/segment.py @@ -1,6 +1,7 @@ -import language_models import sys from functools import lru_cache +from support.language_models import Pwords + sys.setrecursionlimit(1000000) @lru_cache() @@ -9,7 +10,7 @@ def segment(text): """ if not text: return [] candidates = ([first]+segment(rest) for first,rest in splits(text)) - return max(candidates, key=language_models.Pwords) + return max(candidates, key=Pwords) def splits(text, L=20): """Return a list of all possible (first, rest) pairs, len(first)<=L. diff --git a/support/text_prettify.py b/support/text_prettify.py index 60963f8..751df38 100644 --- a/support/text_prettify.py +++ b/support/text_prettify.py @@ -1,6 +1,12 @@ import string from support.segment import segment -from support.utilities import cat, sanitise +from support.utilities import cat, lcat, sanitise + + +def prettify(text, width=100): + """Segment a text into words, then pack into lines, and combine the lines + into a single string for printing.""" + return lcat(tpack(segment(text), width=width)) def tpack(text, width=100):