+ "prompt_number": 34
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "display_solution(solutions[0], columns)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 35,
+ "text": [
+ "['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']"
+ ]
+ }
+ ],
+ "prompt_number": 35
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "hinted_keywords = [w for w in keywords if w[0] =='f' if len(transpositions_of(w)) == 7]\n",
+ "len(hinted_keywords)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 36,
+ "text": [
+ "849"
+ ]
+ }
+ ],
+ "prompt_number": 36
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "hinted_keywords[:10]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 37,
+ "text": [
+ "['fabrics',\n",
+ " 'facings',\n",
+ " 'faction',\n",
+ " 'factors',\n",
+ " 'factory',\n",
+ " 'faculty',\n",
+ " 'fadeout',\n",
+ " 'failure',\n",
+ " 'fainest',\n",
+ " 'fainted']"
+ ]
+ }
+ ],
+ "prompt_number": 37
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "first_chunk = c8bl[:175]\n",
+ "len(first_chunk)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 38,
+ "text": [
+ "175"
+ ]
+ }
+ ],
+ "prompt_number": 38
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "[cadenus_decipher(first_chunk, w, keycolumn)[:20] for w in hinted_keywords]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 39,
+ "text": [
+ "['gatlrlnjtonethnirreh',\n",
+ " 'raorejnptreanhriaeso',\n",
+ " 'raohoanptraesrriasul',\n",
+ " 'raohhanptraemrriasln',\n",
+ " 'raorhaeptrnemsrianln',\n",
+ " 'raonlneptrnissriaaoc',\n",
+ " 'garhrarjtartsnnifphn',\n",
+ " 'raoaalapteesnfriunnr',\n",
+ " 'raonanhpterfrariutpn',\n",
+ " 'garehhrjteaaraniessp',\n",
+ " 'raonhalpterafnriutsp',\n",
+ " 'fainrleptorniseirtno',\n",
+ " 'raoaanhptemfrariunpn',\n",
+ " 'raloannptirsrhrioalt',\n",
+ " 'falmireptinonseiosrn',\n",
+ " 'ralhaanptiafmrriospn',\n",
+ " 'faeilenptnoisreirroo',\n",
+ " 'raeoeanptneafhrirusp',\n",
+ " 'earotktntvrugheivarj',\n",
+ " 'gaeorhojtarernnisaep',\n",
+ " 'gaeorhnjtarerhnisaep',\n",
+ " 'raeooaeptareesrisaun',\n",
+ " 'garnahrjtvenranivrep',\n",
+ " 'raalaenptmifsrrinopo',\n",
+ " 'faoeoepptnneareihrus',\n",
+ " 'falhonpptnaerreirsut',\n",
+ " 'fanroanpthiesreiaoul',\n",
+ " 'fanhonpptraerreinsut',\n",
+ " 'rahnaanptaofmrrisepn',\n",
+ " 'fahrrinptaitoreisohh',\n",
+ " 'rarrjaaptnensfrineon',\n",
+ " 'gaaohrmjtsrrnnninapn',\n",
+ " 'gaaarhrjtsenraninnnp',\n",
+ " 'gasrlhrjtntnraniehrp',\n",
+ " 'fasanomptnensneieean',\n",
+ " 'raalrempftinsnrpiono',\n",
+ " 'raaorejpftneanrpihes',\n",
+ " 'ghrrlanjratnthnpfhri',\n",
+ " 'gharnarjreaetvnpnfai',\n",
+ " 'frtroenppwthsredoheo',\n",
+ " 'frahoepppeaearednsus',\n",
+ " 'raeaoalpfnsntirprlhi',\n",
+ " 'raaiahnpfmotarrpnhis',\n",
+ " 'froiianppnoosredhhrl',\n",
+ " 'rahrinnpfaeeorrpsere',\n",
+ " 'rahaaiupfaeselrpsnlr',\n",
+ " 'raaerejpfsreanrpnpes',\n",
+ " 'graeohnjetarrhneisap',\n",
+ " 'fitahanpoimesrerenln',\n",
+ " 'grtaaahjeosntrnernei',\n",
+ " 'rotaaanpeosetrrurnni',\n",
+ " 'roieaaopeeanfnrureep',\n",
+ " 'rrejahnpernfarrepops',\n",
+ " 'rrejarepernfnsrepopn',\n",
+ " 'fopalrnpertntheuiirh',\n",
+ " 'frpnhrlperoapneeiesd',\n",
+ " 'foperehpernpaaeuirds',\n",
+ " 'fopalaapersnteeuinri',\n",
+ " 'rrjalaepensnfrreonrp',\n",
+ " 'fopaarnpersmpreuinnd',\n",
+ " 'roatalhpeeifnarunepr',\n",
+ " 'gtfiehrjuterranrrrep',\n",
+ " 'rrainanpeneofhreerep',\n",
+ " 'filhranpoiapmrerosdn',\n",
+ " 'rrrajaapevtnnfrevioe',\n",
+ " 'roeaaanpeatefhrusinp',\n",
+ " 'rreinanpeaeofhresrep',\n",
+ " 'ronealnperrfnhrutppr',\n",
+ " 'fioraenpohpmsreredno',\n",
+ " 'fonprlnperrpnheutidr',\n",
+ " 'finlrenporipsrertodo',\n",
+ " 'rrlatajpenfisnrerpen',\n",
+ " 'rooaeaepenfntaruhpri',\n",
+ " 'fiairnhpomopraernhdn',\n",
+ " 'pfomrteddsnnwstcnsno',\n",
+ " 'rrninalpeheofnrearep',\n",
+ " 'fonrraeperipmseunodn',\n",
+ " 'fonrnrhperirpaeunotd',\n",
+ " 'pfnsoaiddsoseetccrne',\n",
+ " 'grnatahjeetonrnesire',\n",
+ " 'grnarhrjeetnranesinp',\n",
+ " 'ronarampeetnfnrusinp',\n",
+ " 'roaaeaepeifresrueppn',\n",
+ " 'finnnorpoesnsperscan',\n",
+ " 'rosaanmpeoftnnrurpia',\n",
+ " 'flapannpitrsrheoiilt',\n",
+ " 'raaeoaopntaefnreieup',\n",
+ " 'faaeorppntaevreeieuv',\n",
+ " 'eaattktnntrogheeivrj',\n",
+ " 'gaanthnjeteorhnniarp',\n",
+ " 'rlaealnpitnfnhroirpr',\n",
+ " 'faanorppeteevreniauv',\n",
+ " 'raaejanpetanfhrnisop',\n",
+ " 'gaarehrjntvaraneivep',\n",
+ " 'raaeuaopetalfnrnisip',\n",
+ " 'faaooeppetnearenihus',\n",
+ " 'gaanehrjnthrraneiaep',\n",
+ " 'raannalpethofnrniaep',\n",
+ " 'eaahtktnntaogheeisrj',\n",
+ " 'ftaaormpwtshnneoinen',\n",
+ " 'ftashanpwtnemreoieln',\n",
+ " 'ftashnapwtnenmeoiela',\n",
+ " 'faasoeppetnearenieus',\n",
+ " 'faaeoeppetsearenious',\n",
+ " 'farnorppepeevrendauv',\n",
+ " 'farnonrpepeehiendaua',\n",
+ " 'farnoeppepeearendsus',\n",
+ " 'gfrirhrjteearanrernp',\n",
+ " 'raoieaopneeafnreurep',\n",
+ " 'paoprhndeeeiartnufos',\n",
+ " 'paoprredeeeinstnufon',\n",
+ " 'faoeirnpeeaeihenusro',\n",
+ " 'raolhaepeenafrrnursp',\n",
+ " 'gaaahhrjestarannlisp',\n",
+ " 'rlrahalpittafnrohisp',\n",
+ " 'gaviehrjnvearaneorep',\n",
+ " 'raaoorapesneatrnlhuf',\n",
+ " 'flaoinrpisnorpeolhrt',\n",
+ " 'ptrlfondwtndhhtohrce',\n",
+ " 'pthafnhdwemdratolncn',\n",
+ " 'ftrhnaipwtartoeohsni',\n",
+ " 'rlaaniapissrefrolntr',\n",
+ " 'rlralaepitsnfrrohnrp',\n",
+ " 'rlraraepitsnfrrohnnp',\n",
+ " 'fthsranpwenpmreoledn',\n",
+ " 'fthnraepweapmseolidn',\n",
+ " 'plasinpdisnoretolert',\n",
+ " 'rlnaniepinfresroaptr',\n",
+ " 'faauirlpeslopnennird',\n",
+ " 'raaeuaepesalfrrnnsip',\n",
+ " 'flnnrrepinrtpseoatwd',\n",
+ " 'faaeuirpesalopennsir',\n",
+ " 'ptnocemdwnhesntoaeto',\n",
+ " 'raannaepesrofrrnnnep',\n",
+ " 'flanrrapisripmeonnod',\n",
+ " 'ftamrropwsnnpseonsnd',\n",
+ " 'plarinpdisnoretonnrt',\n",
+ " 'plnninpdineoretoasrt',\n",
+ " 'pleinpndisorertoortf',\n",
+ " 'ftehnrapwseapmeoolid',\n",
+ " 'fvaaoeppvteeareoinus',\n",
+ " 'raaeoaopstnefnrlirup',\n",
+ " 'fvaeoeppvtneareoirus',\n",
+ " 'grianhrjtesrranhrnnp',\n",
+ " 'fhpaarepertmnseliinn',\n",
+ " 'raotaanpseiefhrluenp',\n",
+ " 'rronhaepterafrrhunsp',\n",
+ " 'rrlealnptirfnhrhoppr',\n",
+ " 'fvaeoeppvereareonpus',\n",
+ " 'frlprlnptirpnhehoidr',\n",
+ " 'rvarajapvnetnfroeeio',\n",
+ " 'raaoahapseetafrlnuis',\n",
+ " 'frwrohnptopharehades',\n",
+ " 'rroeanhpthrfrarheppn',\n",
+ " 'ranelanpsrrifhrltpop',\n",
+ " 'rroeaanpthrsfrrhepnp',\n",
+ " 'gaoanhrjsnteranlhirp',\n",
+ " 'rrlajanptntnfhrhriop',\n",
+ " 'grlaehrjtntsranhriop',\n",
+ " 'eaotatknsnothgelhrir',\n",
+ " 'rrltornptnieahrhreuf',\n",
+ " 'rhliatnpenefhhrlrrpa',\n",
+ " 'faoionppsneerrelhrut',\n",
+ " 'raornaepsnaotnrlhfei',\n",
+ " 'faoeonppsnrerrelhput',\n",
+ " 'faoropnpsnperrelhdui',\n",
+ " 'raoaianpsnfotrrlhphi',\n",
+ " 'rhaanaspemfrtnrlnpni',\n",
+ " 'rrljasaptnntnfrhroie',\n",
+ " 'fhaprhnpemrparelnids',\n",
+ " 'frlposrptnrenpehriue',\n",
+ " 'paouinpdsnloretlhirt',\n",
+ " 'frliatnptnotwhehrhio',\n",
+ " 'frlwaohptnothaehraie',\n",
+ " 'rrliahaptnotafrhrhis',\n",
+ " 'fhawahnpemotarelnais',\n",
+ " 'raoeooapsnnertrlhrua',\n",
+ " 'paoiinpdsnooretlhhrt',\n",
+ " 'frliataptnoswtehrhno',\n",
+ " 'rrlnauaptnhtlfrhraii',\n",
+ " 'fhahirnpemaoprelnsrd',\n",
+ " 'fharaorpemnsapelnnne',\n",
+ " 'fhasrorpemnpanelnede',\n",
+ " 'fhatrmrpeswpnnelnods',\n",
+ " 'paalinpdssioretlnort',\n",
+ " 'rraoealptshrfnrhnepp',\n",
+ " 'fhnoeaepenarmselaepn',\n",
+ " 'paaoremdessnfntennnd',\n",
+ " 'paslinpdsnioretleort',\n",
+ " 'fhnirmrpeeopnnelsrds',\n",
+ " 'frnrailptentoiehsnir',\n",
+ " 'roajraapntnenfrhioee',\n",
+ " 'faailrepmtoinseniron',\n",
+ " 'foaeoeppntnearehirus',\n",
+ " 'glanohnjntrrrhnritap',\n",
+ " 'rlanoonpntrrehrritau',\n",
+ " 'goaeehrjntaaranhisep',\n",
+ " 'roaeuaapntalferhisip',\n",
+ " 'roaeeoapntaaefrhiseu',\n",
+ " 'flanrlepntrtiseritwo',\n",
+ " 'rlanhoopntraerrritsu',\n",
+ " 'faaapnrpmtsroneninie',\n",
+ " 'flaeonppntserreriout',\n",
+ " 'glhrranjnreathnrpefi',\n",
+ " 'flrrpnhpnperoaerdeie',\n",
+ " 'flrwrohpnpothaerdahe',\n",
+ " 'rlaninnpnfreohrrptre',\n",
+ " 'forosimpspaoenenderu',\n",
+ " 'farnrlepmpriisendnoo',\n",
+ " 'goratahjnetonrnheire',\n",
+ " 'raoraenpmeatsrrnufio',\n",
+ " 'rlrejanpnernfhrrepop',\n",
+ " 'gorhraejneratanhepfi',\n",
+ " 'glrhranjnerathnrepfi',\n",
+ " 'rloanenpnefrrhrruptp',\n",
+ " 'rlrjahapnentafrreois',\n",
+ " 'paoprhndmeeiartnufos',\n",
+ " 'rorejaepneanfrrhesop',\n",
+ " 'flonprnpnerrpherutid',\n",
+ " 'rloneaepnehafrrruaep',\n",
+ " 'foapianpnsrotrehlihi',\n",
+ " 'foapirnpnsroprehlihd',\n",
+ " 'flrliinpntioeherhorr',\n",
+ " 'flrohatpnthatwerhesi',\n",
+ " 'rlrohaepnthafrrrhesp',\n",
+ " 'rahnhaepmerafrrnlnsp',\n",
+ " 'rlrhnaepntaofrrrhsep',\n",
+ " 'rlrsoaepntnhfrrrheep',\n",
+ " 'raaoraepmsenfrrnnunp',\n",
+ " 'raonnrapsroretrnaene',\n",
+ " 'raiuaanpselfmrrnripn',\n",
+ " 'faieoeppseaearenreus',\n",
+ " 'faraoeppspeearendnus',\n",
+ " 'falaninpsitrorenoitr',\n",
+ " 'fatnrirpswrtopenonhh',\n",
+ " 'paerhomdstneantnvnle',\n",
+ " 'gantahrjseierannaenp',\n",
+ " 'raetlalpsniifnrnreop',\n",
+ " 'raetlanpsniifrrnreop',\n",
+ " 'faoirhapsaenemenernl',\n",
+ " 'raoeaanpshrfmrrneppn',\n",
+ " 'ranalalpsrfntirntpri',\n",
+ " 'fanpaoepsrrserentilu',\n",
+ " 'fanuirlpsrlopnentird',\n",
+ " 'faatonrpsmierienneun',\n",
+ " 'pallinpdsnioretnrort',\n",
+ " 'paltropdsnwthetnrohe',\n",
+ " 'galnaohjsnrtrrnnrtia',\n",
+ " 'paaoinedsmhorftnnern',\n",
+ " 'fnonisrpnssonpeancre',\n",
+ " 'ranotaapsreiefrnnuen',\n",
+ " 'famriaopsnnothensnri',\n",
+ " 'famriropsnnopsensnrd',\n",
+ " 'pnnsiopdnsoohetacrre',\n",
+ " 'ratalrnptositnrirnoh',\n",
+ " 'ealktvanttgovseihjro',\n",
+ " 'gaoharajtrrnelniapee',\n",
+ " 'gaorahfjtrenrtniaeep',\n",
+ " 'raooathptreeuariaunr',\n",
+ " 'raorrhtptrntanrianhs',\n",
+ " 'faoatolpteeuaeeiunre',\n",
+ " 'failnraptoirtleironh',\n",
+ " 'raonhanpterafrriutsp',\n",
+ " 'rarojaaptennsfriehol',\n",
+ " 'raolnanptenrfhriurtp',\n",
+ " 'failthoptonheneirral',\n",
+ " 'faionoiptosarneirnis',\n",
+ " 'faorrasptenilceiunoe',\n",
+ " 'fatlvnnptwivnseioooa',\n",
+ " 'gaaavlajtenvcfnineoe',\n",
+ " 'ralnahnptirfasrionps',\n",
+ " 'falmireptinonseiosrn',\n",
+ " 'gaahhlajtearnfninspr',\n",
+ " 'ranoafrpteeedariaunc',\n",
+ " 'ranrnnapteehofriaeae',\n",
+ " 'ranonfcptrrtdhritsnc',\n",
+ " 'raeooasptarelcrisaue',\n",
+ " 'raeoeroptarsehrisaoe',\n",
+ " 'raoenuvptnnohurihrec',\n",
+ " 'raoeluvptnnihurihroc',\n",
+ " 'galavlajtnmvcfnirnoe',\n",
+ " 'raahnanptmaofrrinsep',\n",
+ " 'ganorctjthrehwniaaeo',\n",
+ " 'fanroanpthiesreiaoul',\n",
+ " 'ganhhnajtrarrfninspt',\n",
+ " 'ranhaoyptrafherinspe',\n",
+ " 'fahattmptacwuneiseor',\n",
+ " 'gahehfhjtarrtonisepo',\n",
+ " 'gahehlajtarrnfnisepr',\n",
+ " 'fanlnifptnisoteiaocr',\n",
+ " 'faamriaptsnnoceinsnr',\n",
+ " 'raalnripftnhtorpirah',\n",
+ " 'ghanrtajrtheonnpiaer',\n",
+ " 'raahnylpftaoenrpisen',\n",
+ " 'raarnyopftnoenrpinen',\n",
+ " 'gharaaajrtnsmfnpinnn',\n",
+ " 'raaraoypftnsserpinnn',\n",
+ " 'ghtanaojromntnnprnai',\n",
+ " 'ghrosefjraoyttnpfgdt',\n",
+ " 'ghrraocjraamdhnpflns',\n",
+ " 'oykrtcsgegaiatfnjfel',\n",
+ " 'ekhrtulngraiheejpfec',\n",
+ " 'rarstolpfpyuherpdere',\n",
+ " 'fryltolppeiuaeednore',\n",
+ " 'ghaatoojrnfsdrnpepys',\n",
+ " 'gharooojrnerdrnpeeas',\n",
+ " 'raaoithpfeeeuarpnurr',\n",
+ " 'raafontpfesrturpnrsn',\n",
+ " 'frlanirppisroaedoltr',\n",
+ " 'friintnppooruhedhrtr',\n",
+ " 'raeirolpfaeeherpsree',\n",
+ " 'frawkrrppmogvnednajv',\n",
+ " 'ghonavhjrnrtuonphtir',\n",
+ " 'frloiroppnnaeaedrhae',\n",
+ " 'raankrspfmaghtrpnije',\n",
+ " 'frosanappsnenmedneea',\n",
+ " 'rahrinopfaeeoorpsere',\n",
+ " 'frsyoteppnesugedennr',\n",
+ " 'raeniaepfsrotarpothi',\n",
+ " 'granoahjethrsrneiaal',\n",
+ " 'fiihrhepoeaeeaerrsel',\n",
+ " 'roeseooperytonrupevg',\n",
+ " 'roeaathperfeuaruppnr',\n",
+ " 'grtaooujehsrdhnernas',\n",
+ " 'roaaeoopeferonrupnpg',\n",
+ " 'rraaesopefnrmhrepepn',\n",
+ " 'rraeesspefarmnrepspn',\n",
+ " 'roaliyfpefneetruprrn',\n",
+ " 'roaaionpefmeohrupnrg',\n",
+ " 'fopalrrpersneheuinre',\n",
+ " 'frainsopeneomaeeeren',\n",
+ " 'roaaranpeefvterunpvi',\n",
+ " 'filanvspoieevyeronao',\n",
+ " 'fileoonpoindoherorsg',\n",
+ " 'roatsecpenrrteruevht',\n",
+ " 'roahalrpeeafnprunspr',\n",
+ " 'foahroopeeaidoeunsos',\n",
+ " 'roahlaipeeanthrunsri',\n",
+ " 'roeaasapeatemirusinn',\n",
+ " 'finaltnportiuhertior',\n",
+ " 'finalthportiuaertior',\n",
+ " 'roeaaswpeatemfrusinn',\n",
+ " 'etravehnuvtuhrervirk',\n",
+ " 'greavlrjeatutanesirh',\n",
+ " 'rrejaorpeanfnpresoph',\n",
+ " 'rresserpeamnfpresntd',\n",
+ " 'fonsetopermgooeutnhd',\n",
+ " 'fiotdeopohuotnererot',\n",
+ " 'fintdkfporuogtertroj',\n",
+ " 'roeaavtpeaeturrusnir',\n",
+ " 'rolaaatpenftmrrurpin',\n",
+ " 'grohtaajenrotnnehpri',\n",
+ " 'rooataepenfisnruhpel',\n",
+ " 'fiargfipompjteerndnr',\n",
+ " 'fiargvapompjvierndno',\n",
+ " 'rolahsepenfaytrurpsd',\n",
+ " 'rolasaapenfnterurpei',\n",
+ " 'rolasrhpenfnterurpeh',\n",
+ " 'filrsroponpntserrdeh',\n",
+ " 'filinrnponorpherrhtd',\n",
+ " 'rolesatpennntarurrei',\n",
+ " 'ronoaafperrtetrunain',\n",
+ " 'fonrraeperipmseunodn',\n",
+ " 'fonrnrhperirpaeunotd',\n",
+ " 'fonrharperiateeunosi',\n",
+ " 'ronnstrperhcaprunaei',\n",
+ " 'rosaorfpenfgtsruepfh',\n",
+ " 'fonarropeetneaeusine',\n",
+ " 'finarrhpoetneeersine',\n",
+ " 'ronantipeetsuirusicr',\n",
+ " 'gaattirjntotoaneirsr',\n",
+ " 'raajvaepetnostrniool',\n",
+ " 'flaplerpitrntveoiirt',\n",
+ " 'faareoopntvaeaeeiveu',\n",
+ " 'raaveftpntoutsreiolo',\n",
+ " 'rlatroopithionroiatg',\n",
+ " 'faavetopetoluaenioor',\n",
+ " 'raannalpethofnrniaep',\n",
+ " 'raannanpetrofhrninep',\n",
+ " 'faanrofpetrieteninou',\n",
+ " 'rlahoelpitartnroisat',\n",
+ " 'faahgtepetajugenisnr',\n",
+ " 'gaahehfjntarrtneisep',\n",
+ " 'rlahnanpitarfrroistp',\n",
+ " 'rlahiyepitahearoisin',\n",
+ " 'rlahiylpitahenroisin',\n",
+ " 'rlariyopitnhenroinin',\n",
+ " 'faahntopetatuaenisnr',\n",
+ " 'ftahnrspwtattleoisnh',\n",
+ " 'rlarsetpitnntaroinet',\n",
+ " 'flaarimpitsnoneoinnr',\n",
+ " 'gaannhajeterrfnnisnp',\n",
+ " 'raartsopnfpsmhrepdyn',\n",
+ " 'farrntopepatuaendlnr',\n",
+ " 'farnonrpepeehiendaua',\n",
+ " 'farnroopephieoendaou',\n",
+ " 'raahinopefaeoornpsre',\n",
+ " 'raaaotfpefieitrnpeue',\n",
+ " 'flrnriepipenoneodsnr',\n",
+ " 'rlannaapifenmtropsan',\n",
+ " 'faoiesopneeamaeeuren',\n",
+ " 'flienoopionhdoeorras',\n",
+ " 'flinhoopioradoeortss',\n",
+ " 'fliseerpiolstveorlst',\n",
+ " 'fliteoopiohsoneorasg',\n",
+ " 'fliteonpiohsoheorasg',\n",
+ " 'plilhrvdionaeutorrse',\n",
+ " 'favhhtopevekuaenosgr',\n",
+ " 'plavdrvdisveeutologe',\n",
+ " 'flrvtoopitvcdoeohoas',\n",
+ " 'flrseorpitledaeohlds',\n",
+ " 'flrseorpitledaeohlds',\n",
+ " 'plavervdisoeeutolode',\n",
+ " 'rlaoanipisnfrerolhpt',\n",
+ " 'flrliefpitnorteohrrp',\n",
+ " 'pthafnhdwemdratolncn',\n",
+ " 'planervdishgeutolahe',\n",
+ " 'ftrhnaipwtartoeohsni',\n",
+ " 'rlrsalrpitnfnprohepr',\n",
+ " 'faatctopesieuaennehr',\n",
+ " 'ftnronfpwnphsteoadec',\n",
+ " 'flnierhpinoreaeoarpe',\n",
+ " 'paaeuivdesaloutnnsir',\n",
+ " 'raalofrpesnsdprnnrnc',\n",
+ " 'flaadoopismedoeonngs',\n",
+ " 'flamrrnpisnipreonsod',\n",
+ " 'ftamrropwsnnpseonsnd',\n",
+ " 'ftardkapwsnogmeonnoj',\n",
+ " 'ftnndkopwnsogneoacoj',\n",
+ " 'rletaropishtiorooait',\n",
+ " 'flemrropisnipoeoosod',\n",
+ " 'grianeajtesrgfnhrnnh',\n",
+ " 'rajtvsvpsnivcurloeoe',\n",
+ " 'frpjoonptrndohehiosg',\n",
+ " 'prpraordteissvthfoln',\n",
+ " 'prinhovdtoraeuthrnsu',\n",
+ " 'rrlranoptiatarrhofii',\n",
+ " 'palrnrvdsithtutlowah',\n",
+ " 'raianhrpsofraprlhpts',\n",
+ " 'rrorarrpthatvnrhefiv',\n",
+ " 'fveeaoopvareeaeospnu',\n",
+ " 'ranhaovpsrateurltsiu',\n",
+ " 'fhafyoipeeseneelernh',\n",
+ " 'rrhfaiuptetiehrhlrhr',\n",
+ " 'rrvdapoptvoceorhooef',\n",
+ " 'prvgovgdtvheuftholur',\n",
+ " 'frvgsaeptvhrcaeholhe',\n",
+ " 'rhahirepesaiptrllsed',\n",
+ " 'rrlajaoptntnfnrhriop',\n",
+ " 'faoaponpsntrerelhiiu',\n",
+ " 'grlthaojtnortnnhrrpi',\n",
+ " 'rrliaatptneflnrhrrpe',\n",
+ " 'rhliatnpenefhhrlrrpa',\n",
+ " 'rrlaaotptnftsrrhrpin',\n",
+ " 'gaoherfjsnrrptnlhped',\n",
+ " 'frlrlhlptnpireehrdop',\n",
+ " 'raoaahepsnfeehrlhpns',\n",
+ " 'fharwanpemposhelndal',\n",
+ " 'raoanaipsnfrtorlhpti',\n",
+ " 'rhaanhrpemfraprlnpns',\n",
+ " 'faormropespnnneendsn',\n",
+ " 'rrlahhfptnfaesrhrpsl',\n",
+ " 'rrlasaoptnfntsrhrpei',\n",
+ " 'fharshepempnraelndep',\n",
+ " 'fhaphsrpemdrmnelntpn',\n",
+ " 'fhaproipemrpneelnidh',\n",
+ " 'prlrlfadtntidlthrwoc',\n",
+ " 'frliatfptnotwtehrhio',\n",
+ " 'frlirdfptnopetehrhdg',\n",
+ " 'frlitrnptnowphehrhod',\n",
+ " 'frlwvyaptnovdcehraoo',\n",
+ " 'rrlnauaptnhtlfrhraii',\n",
+ " 'rhansaapemrnftrlnnep',\n",
+ " 'frlhorgptnaephehrsud',\n",
+ " 'fhahscepemayaaelnsdl',\n",
+ " 'rhasathpemntaorlneii',\n",
+ " 'rhnhaarperafmprlnspn',\n",
+ " 'rraoataptsrtnnrhnair',\n",
+ " 'fratornptswhprehnoed',\n",
+ " 'faaneoopssrreaelntpu',\n",
+ " 'fraoraiptshntoehneni',\n",
+ " 'fhaanaspesmrerelnnne',\n",
+ " 'fhaarrhpesmnprelnnnd',\n",
+ " 'frnplaopterissehsiol',\n",
+ " 'frnrhfopteiesoehsolr',\n",
+ " 'frnratrpteisnhehsolr',\n",
+ " 'raaohaapmtracnrniase',\n",
+ " 'gaaoradjmtrnsenniann',\n",
+ " 'goaeorojntareanhisae',\n",
+ " 'foaeeoopntaaeaehiseu',\n",
+ " 'foaeuaipntaleoehisin',\n",
+ " 'raasoalpmtoefnrnirup',\n",
+ " 'glasntajntoewfnrirto',\n",
+ " 'raasaeopmtoatornircv',\n",
+ " 'gohieaajnreanfnhpree',\n",
+ " 'rlaiuarpnfelearrprin',\n",
+ " 'gohraocjnramdhnhpfns',\n",
+ " 'glhraosjnramdtnrpfns',\n",
+ " 'gohassujnrfyrhnhppeh',\n",
+ " 'rlarshtpnfpyerrrpdel',\n",
+ " 'gohytuvjnreohunhpndc',\n",
+ " 'roakfrfpnfgttsrhpjuh',\n",
+ " 'flrkrolpnpgeaeerdjee',\n",
+ " 'gohyahfjnrenetnhpnes',\n",
+ " 'rlakserpnfgrtvrrpjht',\n",
+ " 'faronvlpmpotvcendgno',\n",
+ " 'roaoooipsfosrnrnpgns',\n",
+ " 'flrraropnpaaeaerdlce',\n",
+ " 'rlaninrpnfreoarrptre',\n",
+ " 'rlanrnopnfratdrrptln',\n",
+ " 'rlansorpnfroeprrptru',\n",
+ " 'farosiopmphoooenderr',\n",
+ " 'farlahepmposraendsnp',\n",
+ " 'flrnriypnphioeerdaoh',\n",
+ " 'flrhnropnpateaerdsne',\n",
+ " 'farrshdpmpnneeendnel',\n",
+ " 'fliihrhpnoeaeeerrrse',\n",
+ " 'floposfpnerdyteruise',\n",
+ " 'pafnrofdmdrtettncnwu',\n",
+ " 'plinurvdnohleutrraie',\n",
+ " 'rlosnerpneoetprrurtv',\n",
+ " 'faisafopmooasoenrrcr',\n",
+ " 'flrohirpnthaoperhesr',\n",
+ " 'plrohivdnthaoutrhesr',\n",
+ " 'fahnhtipmeraioenlnse',\n",
+ " 'fahnhirpmeraopenlnsr',\n",
+ " 'flrhrorpntaieperhsou',\n",
+ " 'plrsoivdntnhoutrheer',\n",
+ " 'fahsnirpmenropenlenr',\n",
+ " 'fahnsirpmeaoopenlirr',\n",
+ " 'foniniapsnesolenarcr',\n",
+ " 'fanpalfpmnrtitenaiio',\n",
+ " 'paairovdmsoneutnnrnu',\n",
+ " 'paafroadmsdneetnncnu',\n",
+ " 'flaitirpnsohopernhar',\n",
+ " 'raonnrapsroretrnaene',\n",
+ " 'faesltopsryiuaenpeor',\n",
+ " 'faraltopspeiuaendnor',\n",
+ " 'fnponsopnresmseaiucn',\n",
+ " 'fneisaapnuontmealrei',\n",
+ " 'fatiatnpswemneenornr',\n",
+ " 'gaaetctjsntiasnnevel',\n",
+ " 'faoirirpshenotenernr',\n",
+ " 'faneoogpsrreafentpue',\n",
+ " 'ranalrapsrfnpcrntprd',\n",
+ " 'faoooynpshadereneesn',\n",
+ " 'pallrhpdsnitirtnrohi',\n",
+ " 'faodoynpssederenngsn',\n",
+ " 'rnaovirpnmsviprannoe',\n",
+ " 'faorrrapssnipmennnod',\n",
+ " 'faorrrmpssnipnennnod',\n",
+ " 'ranaaajpsrfetnrnnpni',\n",
+ " 'panfgrddsrdjtetnncnh',\n",
+ " 'famriaopsnnothensnri',\n",
+ " 'fnnilrfpnsoipteacrod',\n",
+ " 'fnstokmpnocdgnearasj',\n",
+ " 'gaohsaojtrrlerniapln',\n",
+ " 'raonnafptrsnctriacae',\n",
+ " 'raonhvopterauoriutsr',\n",
+ " 'garortajtenpufniehrr',\n",
+ " 'raolnanptenrfhriurtp',\n",
+ " 'raauafrptelntvrinieo',\n",
+ " 'gaaeelsjtntttmnievth',\n",
+ " 'falaverptinveeeioeod',\n",
+ " 'ralnahnptirfasrionps',\n",
+ " 'gaanrrfjtnhepdnieaer',\n",
+ " 'raanohfptereadrinnus',\n",
+ " 'faeiltoptnoiureirror',\n",
+ " 'raeonftptartdsrissnc',\n",
+ " 'gaeororjtareaanisaee',\n",
+ " 'ranhusfptrahndritsct',\n",
+ " 'ranhusfptrahndritsct',\n",
+ " 'ranhusiptrahnhritsct',\n",
+ " 'raaaskaptmfngnrinpej',\n",
+ " 'raaieflptmostnrinhoo',\n",
+ " 'ranhaoyptrafherinspe',\n",
+ " 'fahattmptacwuneiseor',\n",
+ " 'faratsnptncwmseineon',\n",
+ " 'ranaotfptsfgntricpfr',\n",
+ " 'faroparptnerseeinuin',\n",
+ " 'rahiknoptahgrorisijt',\n",
+ " 'rahionoptahorerisigt',\n",
+ " 'raalreyptsinterinonv',\n",
+ " 'raaaotfpftmgntrpinfr',\n",
+ " 'ghaheotjrtaroanpiseg',\n",
+ " 'ghrosefjraoyttnpfgdt',\n",
+ " 'ghrysorjraeyrnnpfnds',\n",
+ " 'fryltolppeiuaeednore',\n",
+ " 'friintnppooruhedhrtr',\n",
+ " 'frnaplkpprsrngedtnir',\n",
+ " 'ghorreajrnaeatnphfes',\n",
+ " 'raliyrdpfnoevorprhnv',\n",
+ " 'ghlnavtjrnrturnprtir',\n",
+ " 'frloknippnngsoedrhjc',\n",
+ " 'frarilrppmnoiaednnro',\n",
+ " 'frahiltppmaoiuednsro',\n",
+ " 'frarilsppmnoimednnro',\n",
+ " 'frarilsppmnoimednnro',\n",
+ " 'frsninsppnsoamedtcri',\n",
+ " 'ranhrhrpfratehrpnshl',\n",
+ " 'frhonrrppaerieedsuno',\n",
+ " 'frhrkaippangmoedsnjn',\n",
+ " 'grtvealjeovattnerosi',\n",
+ " 'rrejahtpernfaurepops',\n",
+ " 'poprhredeeiaeatufose',\n",
+ " 'pipaaoedoesmeatrfnnu',\n",
+ " 'rraoltrpeneeapreeusi',\n",
+ " 'foaigsrpeeofyaeunrtd',\n",
+ " 'pftterrddwulevtcoroe',\n",
+ " 'foafrripeesanoeunrln',\n",
+ " 'foahroopeeaidoeunsos',\n",
+ " 'roeaasapeatemirusinn',\n",
+ " 'finaltnportiuhertior',\n",
+ " 'greavlsjeatutmnesirh',\n",
+ " 'roeotcspeadsemrussyt',\n",
+ " 'fonsetopermgooeutnhd',\n",
+ " 'rrevkdopeaugtrresrjo',\n",
+ " 'grohtsojenroyonehprd',\n",
+ " 'frlrrolpenppeeeerdru',\n",
+ " 'filrthsponphenerrdal',\n",
+ " 'roaasarpemfntnrunpei',\n",
+ " 'filinrnponorpherrhtd',\n",
+ " 'fonrharperiateeunosi',\n",
+ " 'fomrstopeninuseusoer',\n",
+ " 'pirnfoldonsdhetrncce',\n",
+ " 'ronaenopeefrrorusppt',\n",
+ " 'raajafapetnftnrniopr',\n",
+ " 'raajaafpetnfstrniopl',\n",
+ " 'raanntapetroosrniner',\n",
+ " 'rlahtrupitaothroisrh',\n",
+ " 'faahgtepetajugenisnr',\n",
+ " 'rlahnanpitarfrroistp',\n",
+ " 'gaahgovjetahounnislg',\n",
+ " 'gaahgotjetahoannislg',\n",
+ " 'rlaraeypitnsteroinnv',\n",
+ " 'flaarimpitsnoneoinnr',\n",
+ " 'ftashaopwtnemgeoieln',\n",
+ " 'raaejaspnfrnemreppon',\n",
+ " 'raaretrpefphuarnpdkr',\n",
+ " 'farnrorpeprieaendnou',\n",
+ " 'farnrltpephiiuendaoo',\n",
+ " 'flrnirrpipeoneeodsrn',\n",
+ " 'flienorpionrdaeorrns',\n",
+ " 'farrinipneveooeeevre',\n",
+ " 'flinhoopioradoeortss',\n",
+ " 'plapprrdiserevtolfie',\n",
+ " 'flahagrpisatheeolsil',\n",
+ " 'flrhifapitaosneohsrr',\n",
+ " 'flrsrlipitnpnoeohedr',\n",
+ " 'gaaorocjesrnoannnans',\n",
+ " 'flarpropispdeoeonrte',\n",
+ " 'rlariyspisnheyronnin',\n",
+ " 'rleerucpistpheroovdc',\n",
+ " 'flenrrypisaipeeooiod',\n",
+ " 'fapjrrrpsrnehaelioee',\n",
+ " 'frlrahoptitnenehowes',\n",
+ " 'raaloofpseidrtrlnosa',\n",
+ " 'fhtfhcopewteeoelorsi',\n",
+ " 'frlfhnhptitearehorsi',\n",
+ " 'palfacfdsiteedtlorei',\n",
+ " 'frhfodsptesoemehlrgg',\n",
+ " 'prhttaedtewuisthlorh',\n",
+ " 'rrhfaiuptetiehrhlrhr',\n",
+ " 'rrvitaaptvhicnrhoiee',\n",
+ " 'prviroadtvhienthoiou',\n",
+ " 'frvgnhaptvhoeneholes',\n",
+ " 'fhvnecrpevssanelocsl',\n",
+ " 'phvnstidevslaotlocli',\n",
+ " 'paahnuadesarrmtelsii',\n",
+ " 'gaohaatjsnrtmvnlhpin',\n",
+ " 'grlhtrojtnroprnhrprd',\n",
+ " 'grlhtutjtnrirrnhrpei',\n",
+ " 'rrlailvptnfeivrhrpro',\n",
+ " 'faorphrpsnpreeelhdil',\n",
+ " 'faoropnpsnperrelhdui',\n",
+ " 'faormropespnnneendsn',\n",
+ " 'rhaansrpemfrnprlnpne',\n",
+ " 'fharnsapemprneelndne',\n",
+ " 'rhaahanpemfatrrlnpsi',\n",
+ " 'fharhhapemparnelndsp',\n",
+ " 'frlrsaiptnpneoehrdee',\n",
+ " 'rhaashlpemfnenrlnpes',\n",
+ " 'rrlfksdptnpgmorhrejn',\n",
+ " 'frlprosptnrpsmehridn',\n",
+ " 'prlpisodtneonethrfre',\n",
+ " 'frlpvdnptnrvotehrioo',\n",
+ " 'rrliahiptnotahrhrhis',\n",
+ " 'frlwvyaptnovdcehraoo',\n",
+ " 'rhansaapemrnftrlnnep',\n",
+ " 'pharesidemnfnotlnnde',\n",
+ " 'rrlhofoptnaepdrhrsue',\n",
+ " 'fhahiptpemaoduelnsrt',\n",
+ " 'grlsattjtnntahnhreii',\n",
+ " 'grlsattjtnntahnhreii',\n",
+ " 'frneofoptrgetdehnhur',\n",
+ " 'fhnhraiperapmoelnsdn',\n",
+ " 'pratiahdtswosithnohl',\n",
+ " 'fratornptswhprehnoed',\n",
+ " 'rraoealptshrfnrhnepp',\n",
+ " 'rhaaniupesmrerrlnnnr',\n",
+ " 'fhaanaspesmrerelnnne',\n",
+ " 'roajanfpntnsrtrhiolt',\n",
+ " 'goanlfojntentanhirro',\n",
+ " 'glanohnjntrrrhnritap',\n",
+ " 'rlanoonpntrrehrritau',\n",
+ " 'flaorevpnthtnveriewe',\n",
+ " 'faaoranpmthtlneniewe',\n",
+ " 'rlanuvrpntrluarritir',\n",
+ " 'rlahaaopntafmhrrispn',\n",
+ " 'gohrystjnraeyunhpfnd',\n",
+ " 'glhryssjnraeymnrpfnd',\n",
+ " 'elkatoenngfirgerjpes',\n",
+ " 'gohyfuvjnreshunhpnrc',\n",
+ " 'faronnapmpohteendgan',\n",
+ " 'forynhepsperatendnns',\n",
+ " 'flrrpnhpnperoaerdeie',\n",
+ " 'roaeinepnfaeonrhpsre',\n",
+ " 'rlannyrpnfhoehrrpaen',\n",
+ " 'fornohfpspsgltendcfc',\n",
+ " 'glroanejnerthgnreaia',\n",
+ " 'gothrsrjnurayenhrpfd',\n",
+ " 'ploprhrdneeiaetrufos',\n",
+ " 'faopohspmerdomenuiso',\n",
+ " 'failftrpmoisuaenrorr',\n",
+ " 'faieerlpmolsanenrosl',\n",
+ " 'fainuorpmorldaenrnis',\n",
+ " 'foisrropsooaeoenrrte',\n",
+ " 'plisaafdnooaedtrrrcn',\n",
+ " 'fahinyopmeordrenlrno',\n",
+ " 'fahnhirpmeraopenlnsr',\n",
+ " 'foairoypssondeennrns',\n",
+ " 'roamrsfpssnnytrnnsnd',\n",
+ " 'faerylipsaheioenseno',\n",
+ " 'faaihnypsmoendennrla',\n",
+ " 'faaoiropsmhonoennern',\n",
+ " 'raarnaspsmnofyrnnnep',\n",
+ " 'ranaaajpsrfetnrnnpni',\n",
+ " 'pnnftsndnsdwmttaccon',\n",
+ " 'pnnhtsndnslamttaccin',\n",
+ " 'fnstorypnoceheearaue',\n",
+ " 'gaorasgjtrenmhniaeen',\n",
+ " 'raonhvopterauoriutsr',\n",
+ " 'garnuecjtehhtanieacv',\n",
+ " 'faeiltoptnoiureirror',\n",
+ " 'gaeororjtareaanisaee',\n",
+ " 'ranhusfptrahndritsct',\n",
+ " 'faloceeptnsaaseirnle',\n",
+ " 'raheltaptatiuiristor',\n",
+ " 'rahelfrptatidnristoc',\n",
+ " 'raaalonpftmiohrpinog',\n",
+ " 'raahnylpftaoenrpisen',\n",
+ " 'raahnoapftaoomrpiseg',\n",
+ " 'raaoisrpfeeemnrpnurn',\n",
+ " 'friintrppooruvedhrtr',\n",
+ " 'frahiltppmaoiuednsro',\n",
+ " 'frahiltppmaoiuednsro',\n",
+ " 'frarilsppmnoimednnro',\n",
+ " 'frsninsppnsoamedtcri',\n",
+ " 'frhonrrppaerieedsuno',\n",
+ " 'fiirohrpoeneaeerrnus',\n",
+ " 'roaliyrpefneevruprrn',\n",
+ " 'foadyhepeloeraeueonp',\n",
+ " 'foeaasepeatemgeusinn',\n",
+ " 'foeaastpeatemceusinn',\n",
+ " 'rreavespeatuhmresirk',\n",
+ " 'fonprlsperrpnmeutidr',\n",
+ " 'filrtovponphsverrdan',\n",
+ " 'gaantcrjetevasnniaul',\n",
+ " 'rlanvrapitruanroitrl',\n",
+ " 'raarvylpntvueireivrn',\n",
+ " 'raanntapetroosrniner',\n",
+ " 'gaahoaujetagernnisfe',\n",
+ " 'rlahiylpitahenroisin',\n",
+ " 'ftashnapwtnenmeoiela',\n",
+ " 'rlaneynpitatehroiivn',\n",
+ " 'raaejyfpnfrnetreppon',\n",
+ " 'farnrlspepriimendnoo',\n",
+ " 'flientrpionhuheorrar',\n",
+ " 'flaahcnpistaaseolisl',\n",
+ " 'gaavttajesvaiennloie',\n",
+ " 'flareoepispndaeonres',\n",
+ " 'fapjrrrpsrnehaelioee',\n",
+ " 'rrlailvptnfeivrhrpro',\n",
+ " 'rrlaponptnfdrtrhrpts',\n",
+ " 'faorgropsnpjeaelhdne',\n",
+ " 'fharroapemppnselndrh',\n",
+ " 'rhaansrpemfrnprlnpne',\n",
+ " 'rhaahanpemfatrrlnpsi',\n",
+ " 'fhaphthpemdruaelntpr',\n",
+ " 'prlhrofdtnaisdthrson',\n",
+ " 'phahfnedemadrgtlnscn',\n",
+ " 'paorafndesnsdstennnc',\n",
+ " 'ransreopshnetdrlatev',\n",
+ " 'frneofoptrgetdehnhur',\n",
+ " 'fhnaorepenmapselaned',\n",
+ " 'rhaaniupesmrerrlnnnr',\n",
+ " 'rhnraudpeenmrorlsnni',\n",
+ " 'rlanoonpntrrehrritau',\n",
+ " 'rlanoonpntrrehrritau',\n",
+ " 'foanpospntrrelehitiu',\n",
+ " 'rlanuvrpntrluarritir',\n",
+ " 'roakfrfpnfgttsrhpjuh',\n",
+ " 'gohyfuvjnreshunhpnrc',\n",
+ " 'gohyahfjnrenetnhpnes',\n",
+ " 'gohyahfjnrenetnhpnes',\n",
+ " 'forynhepsperatendnns',\n",
+ " 'farrlnopmpacooendlee',\n",
+ " 'farlahepmposraendsnp',\n",
+ " 'glroanejnerthgnreaia',\n",
+ " 'rooaeeapnefarerhupsp',\n",
+ " 'gotnfecjnuedranhrrcp',\n",
+ " 'flinurrpnohleherraie',\n",
+ " 'fairoffpmonestenrnur',\n",
+ " 'flohdydpneaoeeeruson',\n",
+ " 'ponfnradsndspstnaccr',\n",
+ " 'roamrsfpssnnytrnnsnd',\n",
+ " 'roamrsfpssnnytrnnsnd',\n",
+ " 'faeryltpsaheiwenseno',\n",
+ " 'fartdrypsnneedennrge',\n",
+ " 'fartdonpsnnedsennrgs',\n",
+ " 'fnstorypnoceheearaue',\n",
+ " 'raalfhspteidcmrinoch',\n",
+ " 'gaanrfijtnheponieaee',\n",
+ " 'fanhusiptrahnoeitsct',\n",
+ " 'frahiltppmaoiuednsro',\n",
+ " 'rahrnnopfaerodrpsene',\n",
+ " 'roaliyrpefneevruprrn',\n",
+ " 'foailsopeeoeyoeunrsd',\n",
+ " 'roeavtspeatusmrusiry',\n",
+ " 'grohosujenrryhnehpad',\n",
+ " 'frlrrolpenppeeeerdru',\n",
+ " 'rooasahpenflmeruhpln',\n",
+ " 'gaanhfejnterttneirpr',\n",
+ " 'raajafapetnftnrniopr',\n",
+ " 'raarvylpntvueireivrn',\n",
+ " 'gartptfjnerdwtneevto',\n",
+ " 'flientrpionhuheorrar',\n",
+ " 'flareoepispndaeonres',\n",
+ " 'fharohepempnlaelndhc',\n",
+ " 'paneoafdshgeedtlahun',\n",
+ " 'rlanoonpntrrehrritau',\n",
+ " 'raarcvapmfpevsrnpdho',\n",
+ " 'rlarnerpnfarrprrplie',\n",
+ " 'flinurrpnohleherraie',\n",
+ " 'fahoroopmeannoenlenh',\n",
+ " 'raallrmpftnianrpirol',\n",
+ " 'rlanvrapitruanroitrl',\n",
+ " 'faonpfcpeeedtaenuatr',\n",
+ " 'raallrmpftnianrpirol']"
+ ]
+ }
+ ],
+ "prompt_number": 39
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "[w for w in hinted_keywords if cadenus_decipher(first_chunk, w, keycolumn).startswith('phaseseven')]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 40,
+ "text": [
+ "[]"
+ ]
+ }
+ ],
+ "prompt_number": 40
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 41
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "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])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [],
+ "prompt_number": 42
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "key8b, fitness = cadenus_break(c8bl, words=hinted_keywords, fitness=Ptrigrams)\n",
+ "key8b, fitness"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 43,
+ "text": [
+ "(('finalist',\n",
+ " {'l': 20,\n",
+ " 'u': 11,\n",
+ " 'p': 16,\n",
+ " 'q': 15,\n",
+ " 'j': 22,\n",
+ " 'm': 19,\n",
+ " 'f': 1,\n",
+ " 'r': 14,\n",
+ " 'b': 5,\n",
+ " 'v': 10,\n",
+ " 'e': 2,\n",
+ " 'x': 9,\n",
+ " 'z': 7,\n",
+ " 'i': 23,\n",
+ " 'k': 21,\n",
+ " 'w': 10,\n",
+ " 'o': 17,\n",
+ " 't': 12,\n",
+ " 'y': 8,\n",
+ " 'a': 6,\n",
+ " 's': 13,\n",
+ " 'c': 4,\n",
+ " 'd': 3,\n",
+ " 'g': 0,\n",
+ " 'h': 24,\n",
+ " 'n': 18}),\n",
+ " -5286.197562931952)"
+ ]
+ }
+ ],
+ "prompt_number": 43
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "cadenus_decipher(first_chunk, key8b[0], key8b[1])"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 44,
+ "text": [
+ "'wledgctftrojhrtheonovoresoovrpanegoarerufofinaltnportiuhertiorafthehasdwarenncompleeeandoastestssoveconlrudedtlsreisnntignfrrrthesinaaltranlicthaaehesecisityseemiceshuneanykhf'"
+ ]
+ }
+ ],
+ "prompt_number": 44
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "[(w, s, d1+d2, r)\n",
+ " for w in hinted_keywords \n",
+ " for d1 in string.ascii_lowercase[:25]\n",
+ " for d2 in string.ascii_lowercase\n",
+ " for s in string.ascii_lowercase \n",
+ " for r in [True, False]\n",
+ " if d2 > d1\n",
+ " if cadenus_decipher(first_chunk, w, make_cadenus_keycolumn(doubled_letters=d1+d2, start=s, reverse=r)).startswith('phaseseven')]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 45,
+ "text": [
+ "[]"
+ ]
+ }
+ ],
+ "prompt_number": 45
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "[(w, s, d1+d2, r, cadenus_decipher(first_chunk, w, make_cadenus_keycolumn(doubled_letters=d1+d2, start=s, reverse=r)))\n",
+ " for w in hinted_keywords \n",
+ " for d1 in string.ascii_lowercase[:25]\n",
+ " for d2 in string.ascii_lowercase\n",
+ " for s in string.ascii_lowercase \n",
+ " for r in [True, False]\n",
+ " if d2 > d1\n",
+ " if cadenus_decipher(first_chunk, w, make_cadenus_keycolumn(doubled_letters=d1+d2, start=s, reverse=r)).startswith('phase')]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 53,
+ "text": [
+ "[('filbert',\n",
+ " 'm',\n",
+ " 'lu',\n",
+ " False,\n",
+ " 'phasennrkmffnhignsdaaojsrcisrncheentoeetueweisvhsounsucoaleyrhreitdioseotototdhsoagreeysifaglenhtlhonriuelseairscnrteameteiwnntneefefcrartataieposrlandrlvtartalvhctofnorehdpro'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'lm',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'lq',\n",
+ " True,\n",
+ " 'phaseoeeeesnnufleyehhdoddraccseoeshengoenotthsaeovnlnesgurcrnofriearrtiatttsutacihtracaearaielrmanhhtpnleikhdseaigrtcssejpoemlwnrdinlfoisnfnteofetrourstrnrltrtvnaiwhsvafooeyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'lr',\n",
+ " True,\n",
+ " 'phaseoeeeeynnufledehhdodoraccseoeshengsenotthnaeovnlresgurcanofrietrrtiatitsutacehtracararaielpmanhhtdnleikhtseaigrocssejpdemlwnrsinlfoifnfnteosetrourrtrnrlthtvnaiwesvafoosyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'lw',\n",
+ " True,\n",
+ " 'phaseoeeeennnuflerehhdodaraccseteshengienottheaeovnlresgurcpnofriedrrtiatttsutacohtracadaraielsmanhhtfnleikhsseaigrrcssejphemlwnreinlfoisnfnteosetrourytrnrltdtvnaiwosvafoooyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mn',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mo',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mp',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mq',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mr',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'ms',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mt',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mu',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mv',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mw',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mx',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'my',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'mz',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'no',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'np',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nq',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nr',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'ns',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nt',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nu',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nv',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nw',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nx',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'ny',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('foolerys',\n",
+ " 'z',\n",
+ " 'nz',\n",
+ " True,\n",
+ " 'phaseoeeeernnuflehehhdoderaccseseshengsenotthyaeovnldesgurconofrieorrtiatstsutacnhtracararaielamanhhttnleikhiseaigrecssejpremlwnrpinlfoidnfnteotetrourotrnrltdtvnaiwssvafoofyoi'),\n",
+ " ('filleting',\n",
+ " 'm',\n",
+ " 'lu',\n",
+ " False,\n",
+ " 'phasentekmysrhfgndmnrdjsonnpcncofareoestiiteinreovunrvuruleavhtrittocwiotiohothsenoaaeyrhoeilepagehondsfdisetnteinroeugetedsrhwnesoalfrafrnctiesseeoanrtatrarhrscactealafehslll')]"
+ ]
+ }
+ ],
+ "prompt_number": 53
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "[(w, s, d1+chr(ord(d1)+1), r)\n",
+ " for w in hinted_keywords \n",
+ " for d1 in string.ascii_lowercase[:25]\n",
+ " # for d2 in string.ascii_lowercase\n",
+ " for s in string.ascii_lowercase \n",
+ " for r in [True, False]\n",
+ " # if d2 > d1\n",
+ " if cadenus_decipher(first_chunk, w, make_cadenus_keycolumn(doubled_letters=d1+chr(ord(d1)+1), start=s, reverse=r)).startswith('phases')]"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 46,
+ "text": [
+ "[]"
+ ]
+ }
+ ],
+ "prompt_number": 46
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "cadenus_decipher(first_chunk, 'filbert', make_cadenus_keycolumn(doubled_letters='lu', start='m', reverse=False))"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 52,
+ "text": [
+ "'phasennrkmffnhignsdaaojsrcisrncheentoeetueweisvhsounsucoaleyrhreitdioseotototdhsoagreeysifaglenhtlhonriuelseairscnrteameteiwnntneefefcrartataieposrlandrlvtartalvhctofnorehdpro'"
+ ]
+ }
+ ],
+ "prompt_number": 52
+ },
+ {
+ "cell_type": "code",
+ "collapsed": false,
+ "input": [
+ "chunks(first_chunk, 175)"
+ ],
+ "language": "python",
+ "metadata": {},
+ "outputs": [
+ {
+ "metadata": {},
+ "output_type": "pyout",
+ "prompt_number": 48,
+ "text": [
+ "['afcaeuottacthrioletcserthshtrahkyorpfrgeoadppjnglternefeofiortsddoeeumscruernfetlaafstwientrvoonerhuahravereetsvsielhlostdoaloyaesmnndignnrhohhtsnaoilncnssicreanneeiiierwtanes']"
+ ]
+ }
+ ],
+ "prompt_number": 48