{ "cells": [ { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "import os,sys,inspect\n", "currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))\n", "parentdir = os.path.dirname(currentdir)\n", "sys.path.insert(0,parentdir) \n", "\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\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())" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(('annmarie', ), -1865.8708508162845)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(key_a_word, key_a_wrap), score = keyword_break_mp(c7a)\n", "(key_a_word, key_a_wrap), score" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dhorlieithinkiknacchotisgainganfutineewtadhedkobecthingsfebareirepartcemoyhoveonappartunityhereidhedkewthedipherdlerksfodkgraunwonwitturnsautsheischiterussionherbomilylebtmasdacinfutshehosrelotivesinthegulogotpermshedleorlyhosnalavebarthesavietgavernmentsaiomstillnatsurechashecoscarkingbarfutithinkthisiskeyintelligendeinthemeontimeihovefeencotdhingthefritstheyseemtahovefeenindantodtcithaurbrienwsinthereidhswaktaronwtheyinturnhovefeencotdhingthebrendhitseemslikeceoreollcarkingogoinstaneonatherchidhireollywiwntexpedtonwgivenchotcereowinthebrendhwadumentlostceekiwantthinkthotisodaindiwendemyacnguessisthottherussionsknacchotisgainganonwthotaurfesthapeabundaveringitistafreokintatheirhqonwtrytabinwsamethingthereunbartunotelyoddarwingtamysaurdeyuritheyhovetokentausingonecdiphersalitoirebarordhivestarogeabtapsedretbilessaevenibcemonogetasteoltherelevontbileitcilltokeolatabdamputingtafreokthedipheriottodhofriebmessogebramyuriendryptewusingonomsdadipherkeycarwlengthissixinchidhhewesdrifesthedipheritisverydleversimpletaimplementfutoweviltadrodkonwmyanehapeisthotcedonolsabinwthedipherkeychileinthehqarotleostportabitiplontaenterintcaceeksanwedemfersixteenththerussionsorehastingolorgeprapogonwoeventosportabtheinternotianolefouousstellungcithleowingpalitfuramemfersinottenwondemastabthesedurityteomcillfeaddupiewciththotonwhqseduritycillferelotivelylightcithludkicillgetinonwautciththebilesceneewthotnightonwthencedongettathefattamabthechalereidhswaktarstrotogemollthefesthorry\n" ] } ], "source": [ "print(keyword_decipher(c7a, key_a_word, wrap_alphabet=key_a_wrap))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "{'A': 'a',\n", " 'B': 'o',\n", " 'C': 'p',\n", " 'D': 'q',\n", " 'E': 'f',\n", " 'F': 'r',\n", " 'G': 's',\n", " 'H': 't',\n", " 'I': 'e',\n", " 'J': 'u',\n", " 'K': 'v',\n", " 'L': 'w',\n", " 'M': 'c',\n", " 'N': 'b',\n", " 'O': 'x',\n", " 'P': 'y',\n", " 'Q': 'z',\n", " 'R': 'd',\n", " 'S': 'g',\n", " 'T': 'h',\n", " 'U': 'i',\n", " 'V': 'j',\n", " 'W': 'k',\n", " 'X': 'l',\n", " 'Y': 'm',\n", " 'Z': 'n'}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "trans_a = {p.upper(): c for p, c in zip(keyword_cipher_alphabet_of(key_a_word, wrap_alphabet=key_a_wrap), string.ascii_lowercase, )}\n", "trans_a" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'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": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "translations = {\n", " 'A': 'o',\n", " 'B': 'a',\n", " 'C': 'p',\n", " 'D': 'q',\n", " 'E': 'b',\n", " 'F': 'r',\n", " 'G': 's',\n", " 'H': 't',\n", " 'I': 'e',\n", " 'J': 'u',\n", " 'K': 'v',\n", " 'L': 'd',\n", " 'M': 'w',\n", " 'N': 'f',\n", " 'O': 'x',\n", " 'P': 'y',\n", " 'Q': 'z',\n", " 'R': 'c',\n", " 'S': 'g',\n", " 'T': 'h',\n", " 'U': 'i',\n", " 'V': 'j',\n", " 'W': 'k',\n", " 'X': 'l',\n", " 'Y': 'm',\n", " 'Z': 'n'}\n", "translation_table = ''.maketrans(translations)\n", "plaintext = ' '.join(segment(c7a.upper().translate(translation_table)))\n", "plaintext" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'oapqbrsteuvdwfxyzcghijklmn'" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "''.join(translations[l] for l in sorted(translations))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'BERLINSTUVWXYZACDFGHJKMOPQ'" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inverted_translations = {translations[a]: a for a in translations}\n", "''.join(inverted_translations[l] for l in sorted(inverted_translations))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'berlinstuvwxyzacdfghjkmopq'" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "keyword_cipher_alphabet_of('berlin', wrap_alphabet=KeywordWrapAlphabet.from_largest)" ] }, { "cell_type": "code", "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", "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 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\n" ] } ], "source": [ "print(' '.join(segment(keyword_decipher(c7a, 'berlin', wrap_alphabet=KeywordWrapAlphabet.from_largest))))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{(0, 1, 2, 3, 4, 5): (0, 1, 2, 3, 4, 5),\n", " (0, 1, 2, 3, 5, 4): (0, 1, 2, 3, 5, 4),\n", " (0, 1, 2, 4, 3, 5): (0, 1, 2, 4, 3, 5),\n", " (0, 1, 2, 4, 5, 3): (0, 1, 2, 4, 5, 3),\n", " (0, 1, 2, 5, 3, 4): (0, 1, 2, 5, 3, 4),\n", " (0, 1, 2, 5, 4, 3): (0, 1, 2, 5, 4, 3),\n", " (0, 1, 3, 2, 4, 5): (0, 1, 3, 2, 4, 5),\n", " (0, 1, 3, 2, 5, 4): (0, 1, 3, 2, 5, 4),\n", " (0, 1, 3, 4, 2, 5): (0, 1, 3, 4, 2, 5),\n", " (0, 1, 3, 4, 5, 2): (0, 1, 3, 4, 5, 2),\n", " (0, 1, 3, 5, 2, 4): (0, 1, 3, 5, 2, 4),\n", " (0, 1, 3, 5, 4, 2): (0, 1, 3, 5, 4, 2),\n", " (0, 1, 4, 2, 3, 5): (0, 1, 4, 2, 3, 5),\n", " (0, 1, 4, 2, 5, 3): (0, 1, 4, 2, 5, 3),\n", " (0, 1, 4, 3, 2, 5): (0, 1, 4, 3, 2, 5),\n", " (0, 1, 4, 3, 5, 2): (0, 1, 4, 3, 5, 2),\n", " (0, 1, 4, 5, 2, 3): (0, 1, 4, 5, 2, 3),\n", " (0, 1, 4, 5, 3, 2): (0, 1, 4, 5, 3, 2),\n", " (0, 1, 5, 2, 3, 4): (0, 1, 5, 2, 3, 4),\n", " (0, 1, 5, 2, 4, 3): (0, 1, 5, 2, 4, 3),\n", " (0, 1, 5, 3, 2, 4): (0, 1, 5, 3, 2, 4),\n", " (0, 1, 5, 3, 4, 2): (0, 1, 5, 3, 4, 2),\n", " (0, 1, 5, 4, 2, 3): (0, 1, 5, 4, 2, 3),\n", " (0, 1, 5, 4, 3, 2): (0, 1, 5, 4, 3, 2),\n", " (0, 2, 1, 3, 4, 5): (0, 2, 1, 3, 4, 5),\n", " (0, 2, 1, 3, 5, 4): (0, 2, 1, 3, 5, 4),\n", " (0, 2, 1, 4, 3, 5): (0, 2, 1, 4, 3, 5),\n", " (0, 2, 1, 4, 5, 3): (0, 2, 1, 4, 5, 3),\n", " (0, 2, 1, 5, 3, 4): (0, 2, 1, 5, 3, 4),\n", " (0, 2, 1, 5, 4, 3): (0, 2, 1, 5, 4, 3),\n", " (0, 2, 3, 1, 4, 5): (0, 2, 3, 1, 4, 5),\n", " (0, 2, 3, 1, 5, 4): (0, 2, 3, 1, 5, 4),\n", " (0, 2, 3, 4, 1, 5): (0, 2, 3, 4, 1, 5),\n", " (0, 2, 3, 4, 5, 1): (0, 2, 3, 4, 5, 1),\n", " (0, 2, 3, 5, 1, 4): (0, 2, 3, 5, 1, 4),\n", " (0, 2, 3, 5, 4, 1): (0, 2, 3, 5, 4, 1),\n", " (0, 2, 4, 1, 3, 5): (0, 2, 4, 1, 3, 5),\n", " (0, 2, 4, 1, 5, 3): (0, 2, 4, 1, 5, 3),\n", " (0, 2, 4, 3, 1, 5): (0, 2, 4, 3, 1, 5),\n", " (0, 2, 4, 3, 5, 1): (0, 2, 4, 3, 5, 1),\n", " (0, 2, 4, 5, 1, 3): (0, 2, 4, 5, 1, 3),\n", " (0, 2, 4, 5, 3, 1): (0, 2, 4, 5, 3, 1),\n", " (0, 2, 5, 1, 3, 4): (0, 2, 5, 1, 3, 4),\n", " (0, 2, 5, 1, 4, 3): (0, 2, 5, 1, 4, 3),\n", " (0, 2, 5, 3, 1, 4): (0, 2, 5, 3, 1, 4),\n", " (0, 2, 5, 3, 4, 1): (0, 2, 5, 3, 4, 1),\n", " (0, 2, 5, 4, 1, 3): (0, 2, 5, 4, 1, 3),\n", " (0, 2, 5, 4, 3, 1): (0, 2, 5, 4, 3, 1),\n", " (0, 3, 1, 2, 4, 5): (0, 3, 1, 2, 4, 5),\n", " (0, 3, 1, 2, 5, 4): (0, 3, 1, 2, 5, 4),\n", " (0, 3, 1, 4, 2, 5): (0, 3, 1, 4, 2, 5),\n", " (0, 3, 1, 4, 5, 2): (0, 3, 1, 4, 5, 2),\n", " (0, 3, 1, 5, 2, 4): (0, 3, 1, 5, 2, 4),\n", " (0, 3, 1, 5, 4, 2): (0, 3, 1, 5, 4, 2),\n", " (0, 3, 2, 1, 4, 5): (0, 3, 2, 1, 4, 5),\n", " (0, 3, 2, 1, 5, 4): (0, 3, 2, 1, 5, 4),\n", " (0, 3, 2, 4, 1, 5): (0, 3, 2, 4, 1, 5),\n", " (0, 3, 2, 4, 5, 1): (0, 3, 2, 4, 5, 1),\n", " (0, 3, 2, 5, 1, 4): (0, 3, 2, 5, 1, 4),\n", " (0, 3, 2, 5, 4, 1): (0, 3, 2, 5, 4, 1),\n", " (0, 3, 4, 1, 2, 5): (0, 3, 4, 1, 2, 5),\n", " (0, 3, 4, 1, 5, 2): (0, 3, 4, 1, 5, 2),\n", " (0, 3, 4, 2, 1, 5): (0, 3, 4, 2, 1, 5),\n", " (0, 3, 4, 2, 5, 1): (0, 3, 4, 2, 5, 1),\n", " (0, 3, 4, 5, 1, 2): (0, 3, 4, 5, 1, 2),\n", " (0, 3, 4, 5, 2, 1): (0, 3, 4, 5, 2, 1),\n", " (0, 3, 5, 1, 2, 4): (0, 3, 5, 1, 2, 4),\n", " (0, 3, 5, 1, 4, 2): (0, 3, 5, 1, 4, 2),\n", " (0, 3, 5, 2, 1, 4): (0, 3, 5, 2, 1, 4),\n", " (0, 3, 5, 2, 4, 1): (0, 3, 5, 2, 4, 1),\n", " (0, 3, 5, 4, 1, 2): (0, 3, 5, 4, 1, 2),\n", " (0, 3, 5, 4, 2, 1): (0, 3, 5, 4, 2, 1),\n", " (0, 4, 1, 2, 3, 5): (0, 4, 1, 2, 3, 5),\n", " (0, 4, 1, 2, 5, 3): (0, 4, 1, 2, 5, 3),\n", " (0, 4, 1, 3, 2, 5): (0, 4, 1, 3, 2, 5),\n", " (0, 4, 1, 3, 5, 2): (0, 4, 1, 3, 5, 2),\n", " (0, 4, 1, 5, 2, 3): (0, 4, 1, 5, 2, 3),\n", " (0, 4, 1, 5, 3, 2): (0, 4, 1, 5, 3, 2),\n", " (0, 4, 2, 1, 3, 5): (0, 4, 2, 1, 3, 5),\n", " (0, 4, 2, 1, 5, 3): (0, 4, 2, 1, 5, 3),\n", " (0, 4, 2, 3, 1, 5): (0, 4, 2, 3, 1, 5),\n", " (0, 4, 2, 3, 5, 1): (0, 4, 2, 3, 5, 1),\n", " (0, 4, 2, 5, 1, 3): (0, 4, 2, 5, 1, 3),\n", " (0, 4, 2, 5, 3, 1): (0, 4, 2, 5, 3, 1),\n", " (0, 4, 3, 1, 2, 5): (0, 4, 3, 1, 2, 5),\n", " (0, 4, 3, 1, 5, 2): (0, 4, 3, 1, 5, 2),\n", " (0, 4, 3, 2, 1, 5): (0, 4, 3, 2, 1, 5),\n", " (0, 4, 3, 2, 5, 1): (0, 4, 3, 2, 5, 1),\n", " (0, 4, 3, 5, 1, 2): (0, 4, 3, 5, 1, 2),\n", " (0, 4, 3, 5, 2, 1): (0, 4, 3, 5, 2, 1),\n", " (0, 4, 5, 1, 2, 3): (0, 4, 5, 1, 2, 3),\n", " (0, 4, 5, 1, 3, 2): (0, 4, 5, 1, 3, 2),\n", " (0, 4, 5, 2, 1, 3): (0, 4, 5, 2, 1, 3),\n", " (0, 4, 5, 2, 3, 1): (0, 4, 5, 2, 3, 1),\n", " (0, 4, 5, 3, 1, 2): (0, 4, 5, 3, 1, 2),\n", " (0, 4, 5, 3, 2, 1): (0, 4, 5, 3, 2, 1),\n", " (0, 5, 1, 2, 3, 4): (0, 5, 1, 2, 3, 4),\n", " (0, 5, 1, 2, 4, 3): (0, 5, 1, 2, 4, 3),\n", " (0, 5, 1, 3, 2, 4): (0, 5, 1, 3, 2, 4),\n", " (0, 5, 1, 3, 4, 2): (0, 5, 1, 3, 4, 2),\n", " (0, 5, 1, 4, 2, 3): (0, 5, 1, 4, 2, 3),\n", " (0, 5, 1, 4, 3, 2): (0, 5, 1, 4, 3, 2),\n", " (0, 5, 2, 1, 3, 4): (0, 5, 2, 1, 3, 4),\n", " (0, 5, 2, 1, 4, 3): (0, 5, 2, 1, 4, 3),\n", " (0, 5, 2, 3, 1, 4): (0, 5, 2, 3, 1, 4),\n", " (0, 5, 2, 3, 4, 1): (0, 5, 2, 3, 4, 1),\n", " (0, 5, 2, 4, 1, 3): (0, 5, 2, 4, 1, 3),\n", " (0, 5, 2, 4, 3, 1): (0, 5, 2, 4, 3, 1),\n", " (0, 5, 3, 1, 2, 4): (0, 5, 3, 1, 2, 4),\n", " (0, 5, 3, 1, 4, 2): (0, 5, 3, 1, 4, 2),\n", " (0, 5, 3, 2, 1, 4): (0, 5, 3, 2, 1, 4),\n", " (0, 5, 3, 2, 4, 1): (0, 5, 3, 2, 4, 1),\n", " (0, 5, 3, 4, 1, 2): (0, 5, 3, 4, 1, 2),\n", " (0, 5, 3, 4, 2, 1): (0, 5, 3, 4, 2, 1),\n", " (0, 5, 4, 1, 2, 3): (0, 5, 4, 1, 2, 3),\n", " (0, 5, 4, 1, 3, 2): (0, 5, 4, 1, 3, 2),\n", " (0, 5, 4, 2, 1, 3): (0, 5, 4, 2, 1, 3),\n", " (0, 5, 4, 2, 3, 1): (0, 5, 4, 2, 3, 1),\n", " (0, 5, 4, 3, 1, 2): (0, 5, 4, 3, 1, 2),\n", " (0, 5, 4, 3, 2, 1): (0, 5, 4, 3, 2, 1),\n", " (1, 0, 2, 3, 4, 5): (1, 0, 2, 3, 4, 5),\n", " (1, 0, 2, 3, 5, 4): (1, 0, 2, 3, 5, 4),\n", " (1, 0, 2, 4, 3, 5): (1, 0, 2, 4, 3, 5),\n", " (1, 0, 2, 4, 5, 3): (1, 0, 2, 4, 5, 3),\n", " (1, 0, 2, 5, 3, 4): (1, 0, 2, 5, 3, 4),\n", " (1, 0, 2, 5, 4, 3): (1, 0, 2, 5, 4, 3),\n", " (1, 0, 3, 2, 4, 5): (1, 0, 3, 2, 4, 5),\n", " (1, 0, 3, 2, 5, 4): (1, 0, 3, 2, 5, 4),\n", " (1, 0, 3, 4, 2, 5): (1, 0, 3, 4, 2, 5),\n", " (1, 0, 3, 4, 5, 2): (1, 0, 3, 4, 5, 2),\n", " (1, 0, 3, 5, 2, 4): (1, 0, 3, 5, 2, 4),\n", " (1, 0, 3, 5, 4, 2): (1, 0, 3, 5, 4, 2),\n", " (1, 0, 4, 2, 3, 5): (1, 0, 4, 2, 3, 5),\n", " (1, 0, 4, 2, 5, 3): (1, 0, 4, 2, 5, 3),\n", " (1, 0, 4, 3, 2, 5): (1, 0, 4, 3, 2, 5),\n", " (1, 0, 4, 3, 5, 2): (1, 0, 4, 3, 5, 2),\n", " (1, 0, 4, 5, 2, 3): (1, 0, 4, 5, 2, 3),\n", " (1, 0, 4, 5, 3, 2): (1, 0, 4, 5, 3, 2),\n", " (1, 0, 5, 2, 3, 4): (1, 0, 5, 2, 3, 4),\n", " (1, 0, 5, 2, 4, 3): (1, 0, 5, 2, 4, 3),\n", " (1, 0, 5, 3, 2, 4): (1, 0, 5, 3, 2, 4),\n", " (1, 0, 5, 3, 4, 2): (1, 0, 5, 3, 4, 2),\n", " (1, 0, 5, 4, 2, 3): (1, 0, 5, 4, 2, 3),\n", " (1, 0, 5, 4, 3, 2): (1, 0, 5, 4, 3, 2),\n", " (1, 2, 0, 3, 4, 5): (1, 2, 0, 3, 4, 5),\n", " (1, 2, 0, 3, 5, 4): (1, 2, 0, 3, 5, 4),\n", " (1, 2, 0, 4, 3, 5): (1, 2, 0, 4, 3, 5),\n", " (1, 2, 0, 4, 5, 3): (1, 2, 0, 4, 5, 3),\n", " (1, 2, 0, 5, 3, 4): (1, 2, 0, 5, 3, 4),\n", " (1, 2, 0, 5, 4, 3): (1, 2, 0, 5, 4, 3),\n", " (1, 2, 3, 0, 4, 5): (1, 2, 3, 0, 4, 5),\n", " (1, 2, 3, 0, 5, 4): (1, 2, 3, 0, 5, 4),\n", " (1, 2, 3, 4, 0, 5): (1, 2, 3, 4, 0, 5),\n", " (1, 2, 3, 4, 5, 0): (1, 2, 3, 4, 5, 0),\n", " (1, 2, 3, 5, 0, 4): (1, 2, 3, 5, 0, 4),\n", " (1, 2, 3, 5, 4, 0): (1, 2, 3, 5, 4, 0),\n", " (1, 2, 4, 0, 3, 5): (1, 2, 4, 0, 3, 5),\n", " (1, 2, 4, 0, 5, 3): (1, 2, 4, 0, 5, 3),\n", " (1, 2, 4, 3, 0, 5): (1, 2, 4, 3, 0, 5),\n", " (1, 2, 4, 3, 5, 0): (1, 2, 4, 3, 5, 0),\n", " (1, 2, 4, 5, 0, 3): (1, 2, 4, 5, 0, 3),\n", " (1, 2, 4, 5, 3, 0): (1, 2, 4, 5, 3, 0),\n", " (1, 2, 5, 0, 3, 4): (1, 2, 5, 0, 3, 4),\n", " (1, 2, 5, 0, 4, 3): (1, 2, 5, 0, 4, 3),\n", " (1, 2, 5, 3, 0, 4): (1, 2, 5, 3, 0, 4),\n", " (1, 2, 5, 3, 4, 0): (1, 2, 5, 3, 4, 0),\n", " (1, 2, 5, 4, 0, 3): (1, 2, 5, 4, 0, 3),\n", " (1, 2, 5, 4, 3, 0): (1, 2, 5, 4, 3, 0),\n", " (1, 3, 0, 2, 4, 5): (1, 3, 0, 2, 4, 5),\n", " (1, 3, 0, 2, 5, 4): (1, 3, 0, 2, 5, 4),\n", " (1, 3, 0, 4, 2, 5): (1, 3, 0, 4, 2, 5),\n", " (1, 3, 0, 4, 5, 2): (1, 3, 0, 4, 5, 2),\n", " (1, 3, 0, 5, 2, 4): (1, 3, 0, 5, 2, 4),\n", " (1, 3, 0, 5, 4, 2): (1, 3, 0, 5, 4, 2),\n", " (1, 3, 2, 0, 4, 5): (1, 3, 2, 0, 4, 5),\n", " (1, 3, 2, 0, 5, 4): (1, 3, 2, 0, 5, 4),\n", " (1, 3, 2, 4, 0, 5): (1, 3, 2, 4, 0, 5),\n", " (1, 3, 2, 4, 5, 0): (1, 3, 2, 4, 5, 0),\n", " (1, 3, 2, 5, 0, 4): (1, 3, 2, 5, 0, 4),\n", " (1, 3, 2, 5, 4, 0): (1, 3, 2, 5, 4, 0),\n", " (1, 3, 4, 0, 2, 5): (1, 3, 4, 0, 2, 5),\n", " (1, 3, 4, 0, 5, 2): (1, 3, 4, 0, 5, 2),\n", " (1, 3, 4, 2, 0, 5): (1, 3, 4, 2, 0, 5),\n", " (1, 3, 4, 2, 5, 0): (1, 3, 4, 2, 5, 0),\n", " (1, 3, 4, 5, 0, 2): (1, 3, 4, 5, 0, 2),\n", " (1, 3, 4, 5, 2, 0): (1, 3, 4, 5, 2, 0),\n", " (1, 3, 5, 0, 2, 4): (1, 3, 5, 0, 2, 4),\n", " (1, 3, 5, 0, 4, 2): (1, 3, 5, 0, 4, 2),\n", " (1, 3, 5, 2, 0, 4): (1, 3, 5, 2, 0, 4),\n", " (1, 3, 5, 2, 4, 0): (1, 3, 5, 2, 4, 0),\n", " (1, 3, 5, 4, 0, 2): (1, 3, 5, 4, 0, 2),\n", " (1, 3, 5, 4, 2, 0): (1, 3, 5, 4, 2, 0),\n", " (1, 4, 0, 2, 3, 5): (1, 4, 0, 2, 3, 5),\n", " (1, 4, 0, 2, 5, 3): (1, 4, 0, 2, 5, 3),\n", " (1, 4, 0, 3, 2, 5): (1, 4, 0, 3, 2, 5),\n", " (1, 4, 0, 3, 5, 2): (1, 4, 0, 3, 5, 2),\n", " (1, 4, 0, 5, 2, 3): (1, 4, 0, 5, 2, 3),\n", " (1, 4, 0, 5, 3, 2): (1, 4, 0, 5, 3, 2),\n", " (1, 4, 2, 0, 3, 5): (1, 4, 2, 0, 3, 5),\n", " (1, 4, 2, 0, 5, 3): (1, 4, 2, 0, 5, 3),\n", " (1, 4, 2, 3, 0, 5): (1, 4, 2, 3, 0, 5),\n", " (1, 4, 2, 3, 5, 0): (1, 4, 2, 3, 5, 0),\n", " (1, 4, 2, 5, 0, 3): (1, 4, 2, 5, 0, 3),\n", " (1, 4, 2, 5, 3, 0): (1, 4, 2, 5, 3, 0),\n", " (1, 4, 3, 0, 2, 5): (1, 4, 3, 0, 2, 5),\n", " (1, 4, 3, 0, 5, 2): (1, 4, 3, 0, 5, 2),\n", " (1, 4, 3, 2, 0, 5): (1, 4, 3, 2, 0, 5),\n", " (1, 4, 3, 2, 5, 0): (1, 4, 3, 2, 5, 0),\n", " (1, 4, 3, 5, 0, 2): (1, 4, 3, 5, 0, 2),\n", " (1, 4, 3, 5, 2, 0): (1, 4, 3, 5, 2, 0),\n", " (1, 4, 5, 0, 2, 3): (1, 4, 5, 0, 2, 3),\n", " (1, 4, 5, 0, 3, 2): (1, 4, 5, 0, 3, 2),\n", " (1, 4, 5, 2, 0, 3): (1, 4, 5, 2, 0, 3),\n", " (1, 4, 5, 2, 3, 0): (1, 4, 5, 2, 3, 0),\n", " (1, 4, 5, 3, 0, 2): (1, 4, 5, 3, 0, 2),\n", " (1, 4, 5, 3, 2, 0): (1, 4, 5, 3, 2, 0),\n", " (1, 5, 0, 2, 3, 4): (1, 5, 0, 2, 3, 4),\n", " (1, 5, 0, 2, 4, 3): (1, 5, 0, 2, 4, 3),\n", " (1, 5, 0, 3, 2, 4): (1, 5, 0, 3, 2, 4),\n", " (1, 5, 0, 3, 4, 2): (1, 5, 0, 3, 4, 2),\n", " (1, 5, 0, 4, 2, 3): (1, 5, 0, 4, 2, 3),\n", " (1, 5, 0, 4, 3, 2): (1, 5, 0, 4, 3, 2),\n", " (1, 5, 2, 0, 3, 4): (1, 5, 2, 0, 3, 4),\n", " (1, 5, 2, 0, 4, 3): (1, 5, 2, 0, 4, 3),\n", " (1, 5, 2, 3, 0, 4): (1, 5, 2, 3, 0, 4),\n", " (1, 5, 2, 3, 4, 0): (1, 5, 2, 3, 4, 0),\n", " (1, 5, 2, 4, 0, 3): (1, 5, 2, 4, 0, 3),\n", " (1, 5, 2, 4, 3, 0): (1, 5, 2, 4, 3, 0),\n", " (1, 5, 3, 0, 2, 4): (1, 5, 3, 0, 2, 4),\n", " (1, 5, 3, 0, 4, 2): (1, 5, 3, 0, 4, 2),\n", " (1, 5, 3, 2, 0, 4): (1, 5, 3, 2, 0, 4),\n", " (1, 5, 3, 2, 4, 0): (1, 5, 3, 2, 4, 0),\n", " (1, 5, 3, 4, 0, 2): (1, 5, 3, 4, 0, 2),\n", " (1, 5, 3, 4, 2, 0): (1, 5, 3, 4, 2, 0),\n", " (1, 5, 4, 0, 2, 3): (1, 5, 4, 0, 2, 3),\n", " (1, 5, 4, 0, 3, 2): (1, 5, 4, 0, 3, 2),\n", " (1, 5, 4, 2, 0, 3): (1, 5, 4, 2, 0, 3),\n", " (1, 5, 4, 2, 3, 0): (1, 5, 4, 2, 3, 0),\n", " (1, 5, 4, 3, 0, 2): (1, 5, 4, 3, 0, 2),\n", " (1, 5, 4, 3, 2, 0): (1, 5, 4, 3, 2, 0),\n", " (2, 0, 1, 3, 4, 5): (2, 0, 1, 3, 4, 5),\n", " (2, 0, 1, 3, 5, 4): (2, 0, 1, 3, 5, 4),\n", " (2, 0, 1, 4, 3, 5): (2, 0, 1, 4, 3, 5),\n", " (2, 0, 1, 4, 5, 3): (2, 0, 1, 4, 5, 3),\n", " (2, 0, 1, 5, 3, 4): (2, 0, 1, 5, 3, 4),\n", " (2, 0, 1, 5, 4, 3): (2, 0, 1, 5, 4, 3),\n", " (2, 0, 3, 1, 4, 5): (2, 0, 3, 1, 4, 5),\n", " (2, 0, 3, 1, 5, 4): (2, 0, 3, 1, 5, 4),\n", " (2, 0, 3, 4, 1, 5): (2, 0, 3, 4, 1, 5),\n", " (2, 0, 3, 4, 5, 1): (2, 0, 3, 4, 5, 1),\n", " (2, 0, 3, 5, 1, 4): (2, 0, 3, 5, 1, 4),\n", " (2, 0, 3, 5, 4, 1): (2, 0, 3, 5, 4, 1),\n", " (2, 0, 4, 1, 3, 5): (2, 0, 4, 1, 3, 5),\n", " (2, 0, 4, 1, 5, 3): (2, 0, 4, 1, 5, 3),\n", " (2, 0, 4, 3, 1, 5): (2, 0, 4, 3, 1, 5),\n", " (2, 0, 4, 3, 5, 1): (2, 0, 4, 3, 5, 1),\n", " (2, 0, 4, 5, 1, 3): (2, 0, 4, 5, 1, 3),\n", " (2, 0, 4, 5, 3, 1): (2, 0, 4, 5, 3, 1),\n", " (2, 0, 5, 1, 3, 4): (2, 0, 5, 1, 3, 4),\n", " (2, 0, 5, 1, 4, 3): (2, 0, 5, 1, 4, 3),\n", " (2, 0, 5, 3, 1, 4): (2, 0, 5, 3, 1, 4),\n", " (2, 0, 5, 3, 4, 1): (2, 0, 5, 3, 4, 1),\n", " (2, 0, 5, 4, 1, 3): (2, 0, 5, 4, 1, 3),\n", " (2, 0, 5, 4, 3, 1): (2, 0, 5, 4, 3, 1),\n", " (2, 1, 0, 3, 4, 5): (2, 1, 0, 3, 4, 5),\n", " (2, 1, 0, 3, 5, 4): (2, 1, 0, 3, 5, 4),\n", " (2, 1, 0, 4, 3, 5): (2, 1, 0, 4, 3, 5),\n", " (2, 1, 0, 4, 5, 3): (2, 1, 0, 4, 5, 3),\n", " (2, 1, 0, 5, 3, 4): (2, 1, 0, 5, 3, 4),\n", " (2, 1, 0, 5, 4, 3): (2, 1, 0, 5, 4, 3),\n", " (2, 1, 3, 0, 4, 5): (2, 1, 3, 0, 4, 5),\n", " (2, 1, 3, 0, 5, 4): (2, 1, 3, 0, 5, 4),\n", " (2, 1, 3, 4, 0, 5): (2, 1, 3, 4, 0, 5),\n", " (2, 1, 3, 4, 5, 0): (2, 1, 3, 4, 5, 0),\n", " (2, 1, 3, 5, 0, 4): (2, 1, 3, 5, 0, 4),\n", " (2, 1, 3, 5, 4, 0): (2, 1, 3, 5, 4, 0),\n", " (2, 1, 4, 0, 3, 5): (2, 1, 4, 0, 3, 5),\n", " (2, 1, 4, 0, 5, 3): (2, 1, 4, 0, 5, 3),\n", " (2, 1, 4, 3, 0, 5): (2, 1, 4, 3, 0, 5),\n", " (2, 1, 4, 3, 5, 0): (2, 1, 4, 3, 5, 0),\n", " (2, 1, 4, 5, 0, 3): (2, 1, 4, 5, 0, 3),\n", " (2, 1, 4, 5, 3, 0): (2, 1, 4, 5, 3, 0),\n", " (2, 1, 5, 0, 3, 4): (2, 1, 5, 0, 3, 4),\n", " (2, 1, 5, 0, 4, 3): (2, 1, 5, 0, 4, 3),\n", " (2, 1, 5, 3, 0, 4): (2, 1, 5, 3, 0, 4),\n", " (2, 1, 5, 3, 4, 0): (2, 1, 5, 3, 4, 0),\n", " (2, 1, 5, 4, 0, 3): (2, 1, 5, 4, 0, 3),\n", " (2, 1, 5, 4, 3, 0): (2, 1, 5, 4, 3, 0),\n", " (2, 3, 0, 1, 4, 5): (2, 3, 0, 1, 4, 5),\n", " (2, 3, 0, 1, 5, 4): (2, 3, 0, 1, 5, 4),\n", " (2, 3, 0, 4, 1, 5): (2, 3, 0, 4, 1, 5),\n", " (2, 3, 0, 4, 5, 1): (2, 3, 0, 4, 5, 1),\n", " (2, 3, 0, 5, 1, 4): (2, 3, 0, 5, 1, 4),\n", " (2, 3, 0, 5, 4, 1): (2, 3, 0, 5, 4, 1),\n", " (2, 3, 1, 0, 4, 5): (2, 3, 1, 0, 4, 5),\n", " (2, 3, 1, 0, 5, 4): (2, 3, 1, 0, 5, 4),\n", " (2, 3, 1, 4, 0, 5): (2, 3, 1, 4, 0, 5),\n", " (2, 3, 1, 4, 5, 0): (2, 3, 1, 4, 5, 0),\n", " (2, 3, 1, 5, 0, 4): (2, 3, 1, 5, 0, 4),\n", " (2, 3, 1, 5, 4, 0): (2, 3, 1, 5, 4, 0),\n", " (2, 3, 4, 0, 1, 5): (2, 3, 4, 0, 1, 5),\n", " (2, 3, 4, 0, 5, 1): (2, 3, 4, 0, 5, 1),\n", " (2, 3, 4, 1, 0, 5): (2, 3, 4, 1, 0, 5),\n", " (2, 3, 4, 1, 5, 0): (2, 3, 4, 1, 5, 0),\n", " (2, 3, 4, 5, 0, 1): (2, 3, 4, 5, 0, 1),\n", " (2, 3, 4, 5, 1, 0): (2, 3, 4, 5, 1, 0),\n", " (2, 3, 5, 0, 1, 4): (2, 3, 5, 0, 1, 4),\n", " (2, 3, 5, 0, 4, 1): (2, 3, 5, 0, 4, 1),\n", " (2, 3, 5, 1, 0, 4): (2, 3, 5, 1, 0, 4),\n", " (2, 3, 5, 1, 4, 0): (2, 3, 5, 1, 4, 0),\n", " (2, 3, 5, 4, 0, 1): (2, 3, 5, 4, 0, 1),\n", " (2, 3, 5, 4, 1, 0): (2, 3, 5, 4, 1, 0),\n", " (2, 4, 0, 1, 3, 5): (2, 4, 0, 1, 3, 5),\n", " (2, 4, 0, 1, 5, 3): (2, 4, 0, 1, 5, 3),\n", " (2, 4, 0, 3, 1, 5): (2, 4, 0, 3, 1, 5),\n", " (2, 4, 0, 3, 5, 1): (2, 4, 0, 3, 5, 1),\n", " (2, 4, 0, 5, 1, 3): (2, 4, 0, 5, 1, 3),\n", " (2, 4, 0, 5, 3, 1): (2, 4, 0, 5, 3, 1),\n", " (2, 4, 1, 0, 3, 5): (2, 4, 1, 0, 3, 5),\n", " (2, 4, 1, 0, 5, 3): (2, 4, 1, 0, 5, 3),\n", " (2, 4, 1, 3, 0, 5): (2, 4, 1, 3, 0, 5),\n", " (2, 4, 1, 3, 5, 0): (2, 4, 1, 3, 5, 0),\n", " (2, 4, 1, 5, 0, 3): (2, 4, 1, 5, 0, 3),\n", " (2, 4, 1, 5, 3, 0): (2, 4, 1, 5, 3, 0),\n", " (2, 4, 3, 0, 1, 5): (2, 4, 3, 0, 1, 5),\n", " (2, 4, 3, 0, 5, 1): (2, 4, 3, 0, 5, 1),\n", " (2, 4, 3, 1, 0, 5): (2, 4, 3, 1, 0, 5),\n", " (2, 4, 3, 1, 5, 0): (2, 4, 3, 1, 5, 0),\n", " (2, 4, 3, 5, 0, 1): (2, 4, 3, 5, 0, 1),\n", " (2, 4, 3, 5, 1, 0): (2, 4, 3, 5, 1, 0),\n", " (2, 4, 5, 0, 1, 3): (2, 4, 5, 0, 1, 3),\n", " (2, 4, 5, 0, 3, 1): (2, 4, 5, 0, 3, 1),\n", " (2, 4, 5, 1, 0, 3): (2, 4, 5, 1, 0, 3),\n", " (2, 4, 5, 1, 3, 0): (2, 4, 5, 1, 3, 0),\n", " (2, 4, 5, 3, 0, 1): (2, 4, 5, 3, 0, 1),\n", " (2, 4, 5, 3, 1, 0): (2, 4, 5, 3, 1, 0),\n", " (2, 5, 0, 1, 3, 4): (2, 5, 0, 1, 3, 4),\n", " (2, 5, 0, 1, 4, 3): (2, 5, 0, 1, 4, 3),\n", " (2, 5, 0, 3, 1, 4): (2, 5, 0, 3, 1, 4),\n", " (2, 5, 0, 3, 4, 1): (2, 5, 0, 3, 4, 1),\n", " (2, 5, 0, 4, 1, 3): (2, 5, 0, 4, 1, 3),\n", " (2, 5, 0, 4, 3, 1): (2, 5, 0, 4, 3, 1),\n", " (2, 5, 1, 0, 3, 4): (2, 5, 1, 0, 3, 4),\n", " (2, 5, 1, 0, 4, 3): (2, 5, 1, 0, 4, 3),\n", " (2, 5, 1, 3, 0, 4): (2, 5, 1, 3, 0, 4),\n", " (2, 5, 1, 3, 4, 0): (2, 5, 1, 3, 4, 0),\n", " (2, 5, 1, 4, 0, 3): (2, 5, 1, 4, 0, 3),\n", " (2, 5, 1, 4, 3, 0): (2, 5, 1, 4, 3, 0),\n", " (2, 5, 3, 0, 1, 4): (2, 5, 3, 0, 1, 4),\n", " (2, 5, 3, 0, 4, 1): (2, 5, 3, 0, 4, 1),\n", " (2, 5, 3, 1, 0, 4): (2, 5, 3, 1, 0, 4),\n", " (2, 5, 3, 1, 4, 0): (2, 5, 3, 1, 4, 0),\n", " (2, 5, 3, 4, 0, 1): (2, 5, 3, 4, 0, 1),\n", " (2, 5, 3, 4, 1, 0): (2, 5, 3, 4, 1, 0),\n", " (2, 5, 4, 0, 1, 3): (2, 5, 4, 0, 1, 3),\n", " (2, 5, 4, 0, 3, 1): (2, 5, 4, 0, 3, 1),\n", " (2, 5, 4, 1, 0, 3): (2, 5, 4, 1, 0, 3),\n", " (2, 5, 4, 1, 3, 0): (2, 5, 4, 1, 3, 0),\n", " (2, 5, 4, 3, 0, 1): (2, 5, 4, 3, 0, 1),\n", " (2, 5, 4, 3, 1, 0): (2, 5, 4, 3, 1, 0),\n", " (3, 0, 1, 2, 4, 5): (3, 0, 1, 2, 4, 5),\n", " (3, 0, 1, 2, 5, 4): (3, 0, 1, 2, 5, 4),\n", " (3, 0, 1, 4, 2, 5): (3, 0, 1, 4, 2, 5),\n", " (3, 0, 1, 4, 5, 2): (3, 0, 1, 4, 5, 2),\n", " (3, 0, 1, 5, 2, 4): (3, 0, 1, 5, 2, 4),\n", " (3, 0, 1, 5, 4, 2): (3, 0, 1, 5, 4, 2),\n", " (3, 0, 2, 1, 4, 5): (3, 0, 2, 1, 4, 5),\n", " (3, 0, 2, 1, 5, 4): (3, 0, 2, 1, 5, 4),\n", " (3, 0, 2, 4, 1, 5): (3, 0, 2, 4, 1, 5),\n", " (3, 0, 2, 4, 5, 1): (3, 0, 2, 4, 5, 1),\n", " (3, 0, 2, 5, 1, 4): (3, 0, 2, 5, 1, 4),\n", " (3, 0, 2, 5, 4, 1): (3, 0, 2, 5, 4, 1),\n", " (3, 0, 4, 1, 2, 5): (3, 0, 4, 1, 2, 5),\n", " (3, 0, 4, 1, 5, 2): (3, 0, 4, 1, 5, 2),\n", " (3, 0, 4, 2, 1, 5): (3, 0, 4, 2, 1, 5),\n", " (3, 0, 4, 2, 5, 1): (3, 0, 4, 2, 5, 1),\n", " (3, 0, 4, 5, 1, 2): (3, 0, 4, 5, 1, 2),\n", " (3, 0, 4, 5, 2, 1): (3, 0, 4, 5, 2, 1),\n", " (3, 0, 5, 1, 2, 4): (3, 0, 5, 1, 2, 4),\n", " (3, 0, 5, 1, 4, 2): (3, 0, 5, 1, 4, 2),\n", " (3, 0, 5, 2, 1, 4): (3, 0, 5, 2, 1, 4),\n", " (3, 0, 5, 2, 4, 1): (3, 0, 5, 2, 4, 1),\n", " (3, 0, 5, 4, 1, 2): (3, 0, 5, 4, 1, 2),\n", " (3, 0, 5, 4, 2, 1): (3, 0, 5, 4, 2, 1),\n", " (3, 1, 0, 2, 4, 5): (3, 1, 0, 2, 4, 5),\n", " (3, 1, 0, 2, 5, 4): (3, 1, 0, 2, 5, 4),\n", " (3, 1, 0, 4, 2, 5): (3, 1, 0, 4, 2, 5),\n", " (3, 1, 0, 4, 5, 2): (3, 1, 0, 4, 5, 2),\n", " (3, 1, 0, 5, 2, 4): (3, 1, 0, 5, 2, 4),\n", " (3, 1, 0, 5, 4, 2): (3, 1, 0, 5, 4, 2),\n", " (3, 1, 2, 0, 4, 5): (3, 1, 2, 0, 4, 5),\n", " (3, 1, 2, 0, 5, 4): (3, 1, 2, 0, 5, 4),\n", " (3, 1, 2, 4, 0, 5): (3, 1, 2, 4, 0, 5),\n", " (3, 1, 2, 4, 5, 0): (3, 1, 2, 4, 5, 0),\n", " (3, 1, 2, 5, 0, 4): (3, 1, 2, 5, 0, 4),\n", " (3, 1, 2, 5, 4, 0): (3, 1, 2, 5, 4, 0),\n", " (3, 1, 4, 0, 2, 5): (3, 1, 4, 0, 2, 5),\n", " (3, 1, 4, 0, 5, 2): (3, 1, 4, 0, 5, 2),\n", " (3, 1, 4, 2, 0, 5): (3, 1, 4, 2, 0, 5),\n", " (3, 1, 4, 2, 5, 0): (3, 1, 4, 2, 5, 0),\n", " (3, 1, 4, 5, 0, 2): (3, 1, 4, 5, 0, 2),\n", " (3, 1, 4, 5, 2, 0): (3, 1, 4, 5, 2, 0),\n", " (3, 1, 5, 0, 2, 4): (3, 1, 5, 0, 2, 4),\n", " (3, 1, 5, 0, 4, 2): (3, 1, 5, 0, 4, 2),\n", " (3, 1, 5, 2, 0, 4): (3, 1, 5, 2, 0, 4),\n", " (3, 1, 5, 2, 4, 0): (3, 1, 5, 2, 4, 0),\n", " (3, 1, 5, 4, 0, 2): (3, 1, 5, 4, 0, 2),\n", " (3, 1, 5, 4, 2, 0): (3, 1, 5, 4, 2, 0),\n", " (3, 2, 0, 1, 4, 5): (3, 2, 0, 1, 4, 5),\n", " (3, 2, 0, 1, 5, 4): (3, 2, 0, 1, 5, 4),\n", " (3, 2, 0, 4, 1, 5): (3, 2, 0, 4, 1, 5),\n", " (3, 2, 0, 4, 5, 1): (3, 2, 0, 4, 5, 1),\n", " (3, 2, 0, 5, 1, 4): (3, 2, 0, 5, 1, 4),\n", " (3, 2, 0, 5, 4, 1): (3, 2, 0, 5, 4, 1),\n", " (3, 2, 1, 0, 4, 5): (3, 2, 1, 0, 4, 5),\n", " (3, 2, 1, 0, 5, 4): (3, 2, 1, 0, 5, 4),\n", " (3, 2, 1, 4, 0, 5): (3, 2, 1, 4, 0, 5),\n", " (3, 2, 1, 4, 5, 0): (3, 2, 1, 4, 5, 0),\n", " (3, 2, 1, 5, 0, 4): (3, 2, 1, 5, 0, 4),\n", " (3, 2, 1, 5, 4, 0): (3, 2, 1, 5, 4, 0),\n", " (3, 2, 4, 0, 1, 5): (3, 2, 4, 0, 1, 5),\n", " (3, 2, 4, 0, 5, 1): (3, 2, 4, 0, 5, 1),\n", " (3, 2, 4, 1, 0, 5): (3, 2, 4, 1, 0, 5),\n", " (3, 2, 4, 1, 5, 0): (3, 2, 4, 1, 5, 0),\n", " (3, 2, 4, 5, 0, 1): (3, 2, 4, 5, 0, 1),\n", " (3, 2, 4, 5, 1, 0): (3, 2, 4, 5, 1, 0),\n", " (3, 2, 5, 0, 1, 4): (3, 2, 5, 0, 1, 4),\n", " (3, 2, 5, 0, 4, 1): (3, 2, 5, 0, 4, 1),\n", " (3, 2, 5, 1, 0, 4): (3, 2, 5, 1, 0, 4),\n", " (3, 2, 5, 1, 4, 0): (3, 2, 5, 1, 4, 0),\n", " (3, 2, 5, 4, 0, 1): (3, 2, 5, 4, 0, 1),\n", " (3, 2, 5, 4, 1, 0): (3, 2, 5, 4, 1, 0),\n", " (3, 4, 0, 1, 2, 5): (3, 4, 0, 1, 2, 5),\n", " (3, 4, 0, 1, 5, 2): (3, 4, 0, 1, 5, 2),\n", " (3, 4, 0, 2, 1, 5): (3, 4, 0, 2, 1, 5),\n", " (3, 4, 0, 2, 5, 1): (3, 4, 0, 2, 5, 1),\n", " (3, 4, 0, 5, 1, 2): (3, 4, 0, 5, 1, 2),\n", " (3, 4, 0, 5, 2, 1): (3, 4, 0, 5, 2, 1),\n", " (3, 4, 1, 0, 2, 5): (3, 4, 1, 0, 2, 5),\n", " (3, 4, 1, 0, 5, 2): (3, 4, 1, 0, 5, 2),\n", " (3, 4, 1, 2, 0, 5): (3, 4, 1, 2, 0, 5),\n", " (3, 4, 1, 2, 5, 0): (3, 4, 1, 2, 5, 0),\n", " (3, 4, 1, 5, 0, 2): (3, 4, 1, 5, 0, 2),\n", " (3, 4, 1, 5, 2, 0): (3, 4, 1, 5, 2, 0),\n", " (3, 4, 2, 0, 1, 5): (3, 4, 2, 0, 1, 5),\n", " (3, 4, 2, 0, 5, 1): (3, 4, 2, 0, 5, 1),\n", " (3, 4, 2, 1, 0, 5): (3, 4, 2, 1, 0, 5),\n", " (3, 4, 2, 1, 5, 0): (3, 4, 2, 1, 5, 0),\n", " (3, 4, 2, 5, 0, 1): (3, 4, 2, 5, 0, 1),\n", " (3, 4, 2, 5, 1, 0): (3, 4, 2, 5, 1, 0),\n", " (3, 4, 5, 0, 1, 2): (3, 4, 5, 0, 1, 2),\n", " (3, 4, 5, 0, 2, 1): (3, 4, 5, 0, 2, 1),\n", " (3, 4, 5, 1, 0, 2): (3, 4, 5, 1, 0, 2),\n", " (3, 4, 5, 1, 2, 0): (3, 4, 5, 1, 2, 0),\n", " (3, 4, 5, 2, 0, 1): (3, 4, 5, 2, 0, 1),\n", " (3, 4, 5, 2, 1, 0): (3, 4, 5, 2, 1, 0),\n", " (3, 5, 0, 1, 2, 4): (3, 5, 0, 1, 2, 4),\n", " (3, 5, 0, 1, 4, 2): (3, 5, 0, 1, 4, 2),\n", " (3, 5, 0, 2, 1, 4): (3, 5, 0, 2, 1, 4),\n", " (3, 5, 0, 2, 4, 1): (3, 5, 0, 2, 4, 1),\n", " (3, 5, 0, 4, 1, 2): (3, 5, 0, 4, 1, 2),\n", " (3, 5, 0, 4, 2, 1): (3, 5, 0, 4, 2, 1),\n", " (3, 5, 1, 0, 2, 4): (3, 5, 1, 0, 2, 4),\n", " (3, 5, 1, 0, 4, 2): (3, 5, 1, 0, 4, 2),\n", " (3, 5, 1, 2, 0, 4): (3, 5, 1, 2, 0, 4),\n", " (3, 5, 1, 2, 4, 0): (3, 5, 1, 2, 4, 0),\n", " (3, 5, 1, 4, 0, 2): (3, 5, 1, 4, 0, 2),\n", " (3, 5, 1, 4, 2, 0): (3, 5, 1, 4, 2, 0),\n", " (3, 5, 2, 0, 1, 4): (3, 5, 2, 0, 1, 4),\n", " (3, 5, 2, 0, 4, 1): (3, 5, 2, 0, 4, 1),\n", " (3, 5, 2, 1, 0, 4): (3, 5, 2, 1, 0, 4),\n", " (3, 5, 2, 1, 4, 0): (3, 5, 2, 1, 4, 0),\n", " (3, 5, 2, 4, 0, 1): (3, 5, 2, 4, 0, 1),\n", " (3, 5, 2, 4, 1, 0): (3, 5, 2, 4, 1, 0),\n", " (3, 5, 4, 0, 1, 2): (3, 5, 4, 0, 1, 2),\n", " (3, 5, 4, 0, 2, 1): (3, 5, 4, 0, 2, 1),\n", " (3, 5, 4, 1, 0, 2): (3, 5, 4, 1, 0, 2),\n", " (3, 5, 4, 1, 2, 0): (3, 5, 4, 1, 2, 0),\n", " (3, 5, 4, 2, 0, 1): (3, 5, 4, 2, 0, 1),\n", " (3, 5, 4, 2, 1, 0): (3, 5, 4, 2, 1, 0),\n", " (4, 0, 1, 2, 3, 5): (4, 0, 1, 2, 3, 5),\n", " (4, 0, 1, 2, 5, 3): (4, 0, 1, 2, 5, 3),\n", " (4, 0, 1, 3, 2, 5): (4, 0, 1, 3, 2, 5),\n", " (4, 0, 1, 3, 5, 2): (4, 0, 1, 3, 5, 2),\n", " (4, 0, 1, 5, 2, 3): (4, 0, 1, 5, 2, 3),\n", " (4, 0, 1, 5, 3, 2): (4, 0, 1, 5, 3, 2),\n", " (4, 0, 2, 1, 3, 5): (4, 0, 2, 1, 3, 5),\n", " (4, 0, 2, 1, 5, 3): (4, 0, 2, 1, 5, 3),\n", " (4, 0, 2, 3, 1, 5): (4, 0, 2, 3, 1, 5),\n", " (4, 0, 2, 3, 5, 1): (4, 0, 2, 3, 5, 1),\n", " (4, 0, 2, 5, 1, 3): (4, 0, 2, 5, 1, 3),\n", " (4, 0, 2, 5, 3, 1): (4, 0, 2, 5, 3, 1),\n", " (4, 0, 3, 1, 2, 5): (4, 0, 3, 1, 2, 5),\n", " (4, 0, 3, 1, 5, 2): (4, 0, 3, 1, 5, 2),\n", " (4, 0, 3, 2, 1, 5): (4, 0, 3, 2, 1, 5),\n", " (4, 0, 3, 2, 5, 1): (4, 0, 3, 2, 5, 1),\n", " (4, 0, 3, 5, 1, 2): (4, 0, 3, 5, 1, 2),\n", " (4, 0, 3, 5, 2, 1): (4, 0, 3, 5, 2, 1),\n", " (4, 0, 5, 1, 2, 3): (4, 0, 5, 1, 2, 3),\n", " (4, 0, 5, 1, 3, 2): (4, 0, 5, 1, 3, 2),\n", " (4, 0, 5, 2, 1, 3): (4, 0, 5, 2, 1, 3),\n", " (4, 0, 5, 2, 3, 1): (4, 0, 5, 2, 3, 1),\n", " (4, 0, 5, 3, 1, 2): (4, 0, 5, 3, 1, 2),\n", " (4, 0, 5, 3, 2, 1): (4, 0, 5, 3, 2, 1),\n", " (4, 1, 0, 2, 3, 5): (4, 1, 0, 2, 3, 5),\n", " (4, 1, 0, 2, 5, 3): (4, 1, 0, 2, 5, 3),\n", " (4, 1, 0, 3, 2, 5): (4, 1, 0, 3, 2, 5),\n", " (4, 1, 0, 3, 5, 2): (4, 1, 0, 3, 5, 2),\n", " (4, 1, 0, 5, 2, 3): (4, 1, 0, 5, 2, 3),\n", " (4, 1, 0, 5, 3, 2): (4, 1, 0, 5, 3, 2),\n", " (4, 1, 2, 0, 3, 5): (4, 1, 2, 0, 3, 5),\n", " (4, 1, 2, 0, 5, 3): (4, 1, 2, 0, 5, 3),\n", " (4, 1, 2, 3, 0, 5): (4, 1, 2, 3, 0, 5),\n", " (4, 1, 2, 3, 5, 0): (4, 1, 2, 3, 5, 0),\n", " (4, 1, 2, 5, 0, 3): (4, 1, 2, 5, 0, 3),\n", " (4, 1, 2, 5, 3, 0): (4, 1, 2, 5, 3, 0),\n", " (4, 1, 3, 0, 2, 5): (4, 1, 3, 0, 2, 5),\n", " (4, 1, 3, 0, 5, 2): (4, 1, 3, 0, 5, 2),\n", " (4, 1, 3, 2, 0, 5): (4, 1, 3, 2, 0, 5),\n", " (4, 1, 3, 2, 5, 0): (4, 1, 3, 2, 5, 0),\n", " (4, 1, 3, 5, 0, 2): (4, 1, 3, 5, 0, 2),\n", " (4, 1, 3, 5, 2, 0): (4, 1, 3, 5, 2, 0),\n", " (4, 1, 5, 0, 2, 3): (4, 1, 5, 0, 2, 3),\n", " (4, 1, 5, 0, 3, 2): (4, 1, 5, 0, 3, 2),\n", " (4, 1, 5, 2, 0, 3): (4, 1, 5, 2, 0, 3),\n", " (4, 1, 5, 2, 3, 0): (4, 1, 5, 2, 3, 0),\n", " (4, 1, 5, 3, 0, 2): (4, 1, 5, 3, 0, 2),\n", " (4, 1, 5, 3, 2, 0): (4, 1, 5, 3, 2, 0),\n", " (4, 2, 0, 1, 3, 5): (4, 2, 0, 1, 3, 5),\n", " (4, 2, 0, 1, 5, 3): (4, 2, 0, 1, 5, 3),\n", " (4, 2, 0, 3, 1, 5): (4, 2, 0, 3, 1, 5),\n", " (4, 2, 0, 3, 5, 1): (4, 2, 0, 3, 5, 1),\n", " (4, 2, 0, 5, 1, 3): (4, 2, 0, 5, 1, 3),\n", " (4, 2, 0, 5, 3, 1): (4, 2, 0, 5, 3, 1),\n", " (4, 2, 1, 0, 3, 5): (4, 2, 1, 0, 3, 5),\n", " (4, 2, 1, 0, 5, 3): (4, 2, 1, 0, 5, 3),\n", " (4, 2, 1, 3, 0, 5): (4, 2, 1, 3, 0, 5),\n", " (4, 2, 1, 3, 5, 0): (4, 2, 1, 3, 5, 0),\n", " (4, 2, 1, 5, 0, 3): (4, 2, 1, 5, 0, 3),\n", " (4, 2, 1, 5, 3, 0): (4, 2, 1, 5, 3, 0),\n", " (4, 2, 3, 0, 1, 5): (4, 2, 3, 0, 1, 5),\n", " (4, 2, 3, 0, 5, 1): (4, 2, 3, 0, 5, 1),\n", " (4, 2, 3, 1, 0, 5): (4, 2, 3, 1, 0, 5),\n", " (4, 2, 3, 1, 5, 0): (4, 2, 3, 1, 5, 0),\n", " (4, 2, 3, 5, 0, 1): (4, 2, 3, 5, 0, 1),\n", " (4, 2, 3, 5, 1, 0): (4, 2, 3, 5, 1, 0),\n", " (4, 2, 5, 0, 1, 3): (4, 2, 5, 0, 1, 3),\n", " (4, 2, 5, 0, 3, 1): (4, 2, 5, 0, 3, 1),\n", " (4, 2, 5, 1, 0, 3): (4, 2, 5, 1, 0, 3),\n", " (4, 2, 5, 1, 3, 0): (4, 2, 5, 1, 3, 0),\n", " (4, 2, 5, 3, 0, 1): (4, 2, 5, 3, 0, 1),\n", " (4, 2, 5, 3, 1, 0): (4, 2, 5, 3, 1, 0),\n", " (4, 3, 0, 1, 2, 5): (4, 3, 0, 1, 2, 5),\n", " (4, 3, 0, 1, 5, 2): (4, 3, 0, 1, 5, 2),\n", " (4, 3, 0, 2, 1, 5): (4, 3, 0, 2, 1, 5),\n", " (4, 3, 0, 2, 5, 1): (4, 3, 0, 2, 5, 1),\n", " (4, 3, 0, 5, 1, 2): (4, 3, 0, 5, 1, 2),\n", " (4, 3, 0, 5, 2, 1): (4, 3, 0, 5, 2, 1),\n", " (4, 3, 1, 0, 2, 5): (4, 3, 1, 0, 2, 5),\n", " (4, 3, 1, 0, 5, 2): (4, 3, 1, 0, 5, 2),\n", " (4, 3, 1, 2, 0, 5): (4, 3, 1, 2, 0, 5),\n", " (4, 3, 1, 2, 5, 0): (4, 3, 1, 2, 5, 0),\n", " (4, 3, 1, 5, 0, 2): (4, 3, 1, 5, 0, 2),\n", " (4, 3, 1, 5, 2, 0): (4, 3, 1, 5, 2, 0),\n", " (4, 3, 2, 0, 1, 5): (4, 3, 2, 0, 1, 5),\n", " (4, 3, 2, 0, 5, 1): (4, 3, 2, 0, 5, 1),\n", " (4, 3, 2, 1, 0, 5): (4, 3, 2, 1, 0, 5),\n", " (4, 3, 2, 1, 5, 0): (4, 3, 2, 1, 5, 0),\n", " (4, 3, 2, 5, 0, 1): (4, 3, 2, 5, 0, 1),\n", " (4, 3, 2, 5, 1, 0): (4, 3, 2, 5, 1, 0),\n", " (4, 3, 5, 0, 1, 2): (4, 3, 5, 0, 1, 2),\n", " (4, 3, 5, 0, 2, 1): (4, 3, 5, 0, 2, 1),\n", " (4, 3, 5, 1, 0, 2): (4, 3, 5, 1, 0, 2),\n", " (4, 3, 5, 1, 2, 0): (4, 3, 5, 1, 2, 0),\n", " (4, 3, 5, 2, 0, 1): (4, 3, 5, 2, 0, 1),\n", " (4, 3, 5, 2, 1, 0): (4, 3, 5, 2, 1, 0),\n", " (4, 5, 0, 1, 2, 3): (4, 5, 0, 1, 2, 3),\n", " (4, 5, 0, 1, 3, 2): (4, 5, 0, 1, 3, 2),\n", " (4, 5, 0, 2, 1, 3): (4, 5, 0, 2, 1, 3),\n", " (4, 5, 0, 2, 3, 1): (4, 5, 0, 2, 3, 1),\n", " (4, 5, 0, 3, 1, 2): (4, 5, 0, 3, 1, 2),\n", " (4, 5, 0, 3, 2, 1): (4, 5, 0, 3, 2, 1),\n", " (4, 5, 1, 0, 2, 3): (4, 5, 1, 0, 2, 3),\n", " (4, 5, 1, 0, 3, 2): (4, 5, 1, 0, 3, 2),\n", " (4, 5, 1, 2, 0, 3): (4, 5, 1, 2, 0, 3),\n", " (4, 5, 1, 2, 3, 0): (4, 5, 1, 2, 3, 0),\n", " (4, 5, 1, 3, 0, 2): (4, 5, 1, 3, 0, 2),\n", " (4, 5, 1, 3, 2, 0): (4, 5, 1, 3, 2, 0),\n", " (4, 5, 2, 0, 1, 3): (4, 5, 2, 0, 1, 3),\n", " (4, 5, 2, 0, 3, 1): (4, 5, 2, 0, 3, 1),\n", " (4, 5, 2, 1, 0, 3): (4, 5, 2, 1, 0, 3),\n", " (4, 5, 2, 1, 3, 0): (4, 5, 2, 1, 3, 0),\n", " (4, 5, 2, 3, 0, 1): (4, 5, 2, 3, 0, 1),\n", " (4, 5, 2, 3, 1, 0): (4, 5, 2, 3, 1, 0),\n", " (4, 5, 3, 0, 1, 2): (4, 5, 3, 0, 1, 2),\n", " (4, 5, 3, 0, 2, 1): (4, 5, 3, 0, 2, 1),\n", " (4, 5, 3, 1, 0, 2): (4, 5, 3, 1, 0, 2),\n", " (4, 5, 3, 1, 2, 0): (4, 5, 3, 1, 2, 0),\n", " (4, 5, 3, 2, 0, 1): (4, 5, 3, 2, 0, 1),\n", " (4, 5, 3, 2, 1, 0): (4, 5, 3, 2, 1, 0),\n", " (5, 0, 1, 2, 3, 4): (5, 0, 1, 2, 3, 4),\n", " (5, 0, 1, 2, 4, 3): (5, 0, 1, 2, 4, 3),\n", " (5, 0, 1, 3, 2, 4): (5, 0, 1, 3, 2, 4),\n", " (5, 0, 1, 3, 4, 2): (5, 0, 1, 3, 4, 2),\n", " (5, 0, 1, 4, 2, 3): (5, 0, 1, 4, 2, 3),\n", " (5, 0, 1, 4, 3, 2): (5, 0, 1, 4, 3, 2),\n", " (5, 0, 2, 1, 3, 4): (5, 0, 2, 1, 3, 4),\n", " (5, 0, 2, 1, 4, 3): (5, 0, 2, 1, 4, 3),\n", " (5, 0, 2, 3, 1, 4): (5, 0, 2, 3, 1, 4),\n", " (5, 0, 2, 3, 4, 1): (5, 0, 2, 3, 4, 1),\n", " (5, 0, 2, 4, 1, 3): (5, 0, 2, 4, 1, 3),\n", " (5, 0, 2, 4, 3, 1): (5, 0, 2, 4, 3, 1),\n", " (5, 0, 3, 1, 2, 4): (5, 0, 3, 1, 2, 4),\n", " (5, 0, 3, 1, 4, 2): (5, 0, 3, 1, 4, 2),\n", " (5, 0, 3, 2, 1, 4): (5, 0, 3, 2, 1, 4),\n", " (5, 0, 3, 2, 4, 1): (5, 0, 3, 2, 4, 1),\n", " (5, 0, 3, 4, 1, 2): (5, 0, 3, 4, 1, 2),\n", " (5, 0, 3, 4, 2, 1): (5, 0, 3, 4, 2, 1),\n", " (5, 0, 4, 1, 2, 3): (5, 0, 4, 1, 2, 3),\n", " (5, 0, 4, 1, 3, 2): (5, 0, 4, 1, 3, 2),\n", " (5, 0, 4, 2, 1, 3): (5, 0, 4, 2, 1, 3),\n", " (5, 0, 4, 2, 3, 1): (5, 0, 4, 2, 3, 1),\n", " (5, 0, 4, 3, 1, 2): (5, 0, 4, 3, 1, 2),\n", " (5, 0, 4, 3, 2, 1): (5, 0, 4, 3, 2, 1),\n", " (5, 1, 0, 2, 3, 4): (5, 1, 0, 2, 3, 4),\n", " (5, 1, 0, 2, 4, 3): (5, 1, 0, 2, 4, 3),\n", " (5, 1, 0, 3, 2, 4): (5, 1, 0, 3, 2, 4),\n", " (5, 1, 0, 3, 4, 2): (5, 1, 0, 3, 4, 2),\n", " (5, 1, 0, 4, 2, 3): (5, 1, 0, 4, 2, 3),\n", " (5, 1, 0, 4, 3, 2): (5, 1, 0, 4, 3, 2),\n", " (5, 1, 2, 0, 3, 4): (5, 1, 2, 0, 3, 4),\n", " (5, 1, 2, 0, 4, 3): (5, 1, 2, 0, 4, 3),\n", " (5, 1, 2, 3, 0, 4): (5, 1, 2, 3, 0, 4),\n", " (5, 1, 2, 3, 4, 0): (5, 1, 2, 3, 4, 0),\n", " (5, 1, 2, 4, 0, 3): (5, 1, 2, 4, 0, 3),\n", " (5, 1, 2, 4, 3, 0): (5, 1, 2, 4, 3, 0),\n", " (5, 1, 3, 0, 2, 4): (5, 1, 3, 0, 2, 4),\n", " (5, 1, 3, 0, 4, 2): (5, 1, 3, 0, 4, 2),\n", " (5, 1, 3, 2, 0, 4): (5, 1, 3, 2, 0, 4),\n", " (5, 1, 3, 2, 4, 0): (5, 1, 3, 2, 4, 0),\n", " (5, 1, 3, 4, 0, 2): (5, 1, 3, 4, 0, 2),\n", " (5, 1, 3, 4, 2, 0): (5, 1, 3, 4, 2, 0),\n", " (5, 1, 4, 0, 2, 3): (5, 1, 4, 0, 2, 3),\n", " (5, 1, 4, 0, 3, 2): (5, 1, 4, 0, 3, 2),\n", " (5, 1, 4, 2, 0, 3): (5, 1, 4, 2, 0, 3),\n", " (5, 1, 4, 2, 3, 0): (5, 1, 4, 2, 3, 0),\n", " (5, 1, 4, 3, 0, 2): (5, 1, 4, 3, 0, 2),\n", " (5, 1, 4, 3, 2, 0): (5, 1, 4, 3, 2, 0),\n", " (5, 2, 0, 1, 3, 4): (5, 2, 0, 1, 3, 4),\n", " (5, 2, 0, 1, 4, 3): (5, 2, 0, 1, 4, 3),\n", " (5, 2, 0, 3, 1, 4): (5, 2, 0, 3, 1, 4),\n", " (5, 2, 0, 3, 4, 1): (5, 2, 0, 3, 4, 1),\n", " (5, 2, 0, 4, 1, 3): (5, 2, 0, 4, 1, 3),\n", " (5, 2, 0, 4, 3, 1): (5, 2, 0, 4, 3, 1),\n", " (5, 2, 1, 0, 3, 4): (5, 2, 1, 0, 3, 4),\n", " (5, 2, 1, 0, 4, 3): (5, 2, 1, 0, 4, 3),\n", " (5, 2, 1, 3, 0, 4): (5, 2, 1, 3, 0, 4),\n", " (5, 2, 1, 3, 4, 0): (5, 2, 1, 3, 4, 0),\n", " (5, 2, 1, 4, 0, 3): (5, 2, 1, 4, 0, 3),\n", " (5, 2, 1, 4, 3, 0): (5, 2, 1, 4, 3, 0),\n", " (5, 2, 3, 0, 1, 4): (5, 2, 3, 0, 1, 4),\n", " (5, 2, 3, 0, 4, 1): (5, 2, 3, 0, 4, 1),\n", " (5, 2, 3, 1, 0, 4): (5, 2, 3, 1, 0, 4),\n", " (5, 2, 3, 1, 4, 0): (5, 2, 3, 1, 4, 0),\n", " (5, 2, 3, 4, 0, 1): (5, 2, 3, 4, 0, 1),\n", " (5, 2, 3, 4, 1, 0): (5, 2, 3, 4, 1, 0),\n", " (5, 2, 4, 0, 1, 3): (5, 2, 4, 0, 1, 3),\n", " (5, 2, 4, 0, 3, 1): (5, 2, 4, 0, 3, 1),\n", " (5, 2, 4, 1, 0, 3): (5, 2, 4, 1, 0, 3),\n", " (5, 2, 4, 1, 3, 0): (5, 2, 4, 1, 3, 0),\n", " (5, 2, 4, 3, 0, 1): (5, 2, 4, 3, 0, 1),\n", " (5, 2, 4, 3, 1, 0): (5, 2, 4, 3, 1, 0),\n", " (5, 3, 0, 1, 2, 4): (5, 3, 0, 1, 2, 4),\n", " (5, 3, 0, 1, 4, 2): (5, 3, 0, 1, 4, 2),\n", " (5, 3, 0, 2, 1, 4): (5, 3, 0, 2, 1, 4),\n", " (5, 3, 0, 2, 4, 1): (5, 3, 0, 2, 4, 1),\n", " (5, 3, 0, 4, 1, 2): (5, 3, 0, 4, 1, 2),\n", " (5, 3, 0, 4, 2, 1): (5, 3, 0, 4, 2, 1),\n", " (5, 3, 1, 0, 2, 4): (5, 3, 1, 0, 2, 4),\n", " (5, 3, 1, 0, 4, 2): (5, 3, 1, 0, 4, 2),\n", " (5, 3, 1, 2, 0, 4): (5, 3, 1, 2, 0, 4),\n", " (5, 3, 1, 2, 4, 0): (5, 3, 1, 2, 4, 0),\n", " (5, 3, 1, 4, 0, 2): (5, 3, 1, 4, 0, 2),\n", " (5, 3, 1, 4, 2, 0): (5, 3, 1, 4, 2, 0),\n", " (5, 3, 2, 0, 1, 4): (5, 3, 2, 0, 1, 4),\n", " (5, 3, 2, 0, 4, 1): (5, 3, 2, 0, 4, 1),\n", " (5, 3, 2, 1, 0, 4): (5, 3, 2, 1, 0, 4),\n", " (5, 3, 2, 1, 4, 0): (5, 3, 2, 1, 4, 0),\n", " (5, 3, 2, 4, 0, 1): (5, 3, 2, 4, 0, 1),\n", " (5, 3, 2, 4, 1, 0): (5, 3, 2, 4, 1, 0),\n", " (5, 3, 4, 0, 1, 2): (5, 3, 4, 0, 1, 2),\n", " (5, 3, 4, 0, 2, 1): (5, 3, 4, 0, 2, 1),\n", " (5, 3, 4, 1, 0, 2): (5, 3, 4, 1, 0, 2),\n", " (5, 3, 4, 1, 2, 0): (5, 3, 4, 1, 2, 0),\n", " (5, 3, 4, 2, 0, 1): (5, 3, 4, 2, 0, 1),\n", " (5, 3, 4, 2, 1, 0): (5, 3, 4, 2, 1, 0),\n", " (5, 4, 0, 1, 2, 3): (5, 4, 0, 1, 2, 3),\n", " (5, 4, 0, 1, 3, 2): (5, 4, 0, 1, 3, 2),\n", " (5, 4, 0, 2, 1, 3): (5, 4, 0, 2, 1, 3),\n", " (5, 4, 0, 2, 3, 1): (5, 4, 0, 2, 3, 1),\n", " (5, 4, 0, 3, 1, 2): (5, 4, 0, 3, 1, 2),\n", " (5, 4, 0, 3, 2, 1): (5, 4, 0, 3, 2, 1),\n", " (5, 4, 1, 0, 2, 3): (5, 4, 1, 0, 2, 3),\n", " (5, 4, 1, 0, 3, 2): (5, 4, 1, 0, 3, 2),\n", " (5, 4, 1, 2, 0, 3): (5, 4, 1, 2, 0, 3),\n", " (5, 4, 1, 2, 3, 0): (5, 4, 1, 2, 3, 0),\n", " (5, 4, 1, 3, 0, 2): (5, 4, 1, 3, 0, 2),\n", " (5, 4, 1, 3, 2, 0): (5, 4, 1, 3, 2, 0),\n", " (5, 4, 2, 0, 1, 3): (5, 4, 2, 0, 1, 3),\n", " (5, 4, 2, 0, 3, 1): (5, 4, 2, 0, 3, 1),\n", " (5, 4, 2, 1, 0, 3): (5, 4, 2, 1, 0, 3),\n", " (5, 4, 2, 1, 3, 0): (5, 4, 2, 1, 3, 0),\n", " (5, 4, 2, 3, 0, 1): (5, 4, 2, 3, 0, 1),\n", " (5, 4, 2, 3, 1, 0): (5, 4, 2, 3, 1, 0),\n", " (5, 4, 3, 0, 1, 2): (5, 4, 3, 0, 1, 2),\n", " (5, 4, 3, 0, 2, 1): (5, 4, 3, 0, 2, 1),\n", " (5, 4, 3, 1, 0, 2): (5, 4, 3, 1, 0, 2),\n", " (5, 4, 3, 1, 2, 0): (5, 4, 3, 1, 2, 0),\n", " (5, 4, 3, 2, 0, 1): (5, 4, 3, 2, 0, 1),\n", " (5, 4, 3, 2, 1, 0): (5, 4, 3, 2, 1, 0)}" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transpositions6 = {t: t for t in set(itertools.permutations(list(range(6))))}\n", "transpositions6" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(((2, 4, 3, 5, 0, 1), (1, 2), ),\n", " -1437.9908206760847)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "key_b, score = amsco_break(c7b, translist=transpositions6)\n", "key_b, score" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[[AmscoSlice(index=0, start=0, end=1),\n", " AmscoSlice(index=1, start=1, end=3),\n", " AmscoSlice(index=2, start=3, end=4),\n", " AmscoSlice(index=3, start=4, end=6),\n", " AmscoSlice(index=4, start=6, end=7),\n", " AmscoSlice(index=5, start=7, end=9)],\n", " [AmscoSlice(index=6, start=9, end=11),\n", " AmscoSlice(index=7, start=11, end=12),\n", " AmscoSlice(index=8, start=12, end=14),\n", " AmscoSlice(index=9, start=14, end=15),\n", " AmscoSlice(index=10, start=15, end=17),\n", " AmscoSlice(index=11, start=17, end=18)],\n", " [AmscoSlice(index=12, start=18, end=19),\n", " AmscoSlice(index=13, start=19, end=21),\n", " AmscoSlice(index=14, start=21, end=22),\n", " AmscoSlice(index=15, start=22, end=24),\n", " AmscoSlice(index=16, start=24, end=25),\n", " AmscoSlice(index=17, start=25, end=27)],\n", " [AmscoSlice(index=18, start=27, end=29),\n", " AmscoSlice(index=19, start=29, end=30),\n", " AmscoSlice(index=20, start=30, end=32),\n", " AmscoSlice(index=21, start=32, end=33),\n", " AmscoSlice(index=22, start=33, end=35),\n", " AmscoSlice(index=23, start=35, end=36)],\n", " [AmscoSlice(index=24, start=36, end=37),\n", " AmscoSlice(index=25, start=37, end=39),\n", " AmscoSlice(index=26, start=39, end=40),\n", " AmscoSlice(index=27, start=40, end=42),\n", " AmscoSlice(index=28, start=42, end=43),\n", " AmscoSlice(index=29, start=43, end=45)],\n", " [AmscoSlice(index=30, start=45, end=47),\n", " AmscoSlice(index=31, start=47, end=48),\n", " AmscoSlice(index=32, start=48, end=50),\n", " AmscoSlice(index=33, start=50, end=51),\n", " AmscoSlice(index=34, start=51, end=53),\n", " AmscoSlice(index=35, start=53, end=54)],\n", " [AmscoSlice(index=36, start=54, end=55),\n", " AmscoSlice(index=37, start=55, end=57),\n", " AmscoSlice(index=38, start=57, end=58),\n", " AmscoSlice(index=39, start=58, end=60),\n", " AmscoSlice(index=40, start=60, end=61),\n", " AmscoSlice(index=41, start=61, end=63)],\n", " [AmscoSlice(index=42, start=63, end=65),\n", " AmscoSlice(index=43, start=65, end=66),\n", " AmscoSlice(index=44, start=66, end=68),\n", " AmscoSlice(index=45, start=68, end=69),\n", " AmscoSlice(index=46, start=69, end=71),\n", " AmscoSlice(index=47, start=71, end=72)],\n", " [AmscoSlice(index=48, start=72, end=73),\n", " AmscoSlice(index=49, start=73, end=75),\n", " AmscoSlice(index=50, start=75, end=76),\n", " AmscoSlice(index=51, start=76, end=78),\n", " AmscoSlice(index=52, start=78, end=79),\n", " AmscoSlice(index=53, start=79, end=81)],\n", " [AmscoSlice(index=54, start=81, end=83),\n", " AmscoSlice(index=55, start=83, end=84),\n", " AmscoSlice(index=56, start=84, end=86),\n", " AmscoSlice(index=57, start=86, end=87),\n", " AmscoSlice(index=58, start=87, end=89),\n", " AmscoSlice(index=59, start=89, end=90)],\n", " [AmscoSlice(index=60, start=90, end=91),\n", " AmscoSlice(index=61, start=91, end=93),\n", " AmscoSlice(index=62, start=93, end=94),\n", " AmscoSlice(index=63, start=94, end=96),\n", " AmscoSlice(index=64, start=96, end=97),\n", " AmscoSlice(index=65, start=97, end=99)],\n", " [AmscoSlice(index=66, start=99, end=101),\n", " AmscoSlice(index=67, start=101, end=102),\n", " AmscoSlice(index=68, start=102, end=104),\n", " AmscoSlice(index=69, start=104, end=105),\n", " AmscoSlice(index=70, start=105, end=107),\n", " AmscoSlice(index=71, start=107, end=108)],\n", " [AmscoSlice(index=72, start=108, end=109),\n", " AmscoSlice(index=73, start=109, end=111),\n", " AmscoSlice(index=74, start=111, end=112),\n", " AmscoSlice(index=75, start=112, end=114),\n", " AmscoSlice(index=76, start=114, end=115),\n", " AmscoSlice(index=77, start=115, end=117)],\n", " [AmscoSlice(index=78, start=117, end=119),\n", " AmscoSlice(index=79, start=119, end=120),\n", " AmscoSlice(index=80, start=120, end=122),\n", " AmscoSlice(index=81, start=122, end=123),\n", " AmscoSlice(index=82, start=123, end=125),\n", " AmscoSlice(index=83, start=125, end=126)],\n", " [AmscoSlice(index=84, start=126, end=127),\n", " AmscoSlice(index=85, start=127, end=129),\n", " AmscoSlice(index=86, start=129, end=130),\n", " AmscoSlice(index=87, start=130, end=132),\n", " AmscoSlice(index=88, start=132, end=133),\n", " AmscoSlice(index=89, start=133, end=135)],\n", " [AmscoSlice(index=90, start=135, end=137),\n", " AmscoSlice(index=91, start=137, end=138),\n", " AmscoSlice(index=92, start=138, end=140),\n", " AmscoSlice(index=93, start=140, end=141),\n", " AmscoSlice(index=94, start=141, end=143),\n", " AmscoSlice(index=95, start=143, end=144)],\n", " [AmscoSlice(index=96, start=144, end=145),\n", " AmscoSlice(index=97, start=145, end=147),\n", " AmscoSlice(index=98, start=147, end=148),\n", " AmscoSlice(index=99, start=148, end=150),\n", " AmscoSlice(index=100, start=150, end=151),\n", " AmscoSlice(index=101, start=151, end=153)],\n", " [AmscoSlice(index=102, start=153, end=155),\n", " AmscoSlice(index=103, start=155, end=156),\n", " AmscoSlice(index=104, start=156, end=158),\n", " AmscoSlice(index=105, start=158, end=159),\n", " AmscoSlice(index=106, start=159, end=161),\n", " AmscoSlice(index=107, start=161, end=162)],\n", " [AmscoSlice(index=108, start=162, end=163),\n", " AmscoSlice(index=109, start=163, end=165),\n", " AmscoSlice(index=110, start=165, end=166),\n", " AmscoSlice(index=111, start=166, end=168),\n", " AmscoSlice(index=112, start=168, end=169),\n", " AmscoSlice(index=113, start=169, end=171)],\n", " [AmscoSlice(index=114, start=171, end=173),\n", " AmscoSlice(index=115, start=173, end=174),\n", " AmscoSlice(index=116, start=174, end=176),\n", " AmscoSlice(index=117, start=176, end=177),\n", " AmscoSlice(index=118, start=177, end=179),\n", " AmscoSlice(index=119, start=179, end=180)],\n", " [AmscoSlice(index=120, start=180, end=181),\n", " AmscoSlice(index=121, start=181, end=183),\n", " AmscoSlice(index=122, start=183, end=184),\n", " AmscoSlice(index=123, start=184, end=186),\n", " AmscoSlice(index=124, start=186, end=187),\n", " AmscoSlice(index=125, start=187, end=189)],\n", " [AmscoSlice(index=126, start=189, end=191),\n", " AmscoSlice(index=127, start=191, end=192),\n", " AmscoSlice(index=128, start=192, end=194),\n", " AmscoSlice(index=129, start=194, end=195),\n", " AmscoSlice(index=130, start=195, end=197),\n", " AmscoSlice(index=131, start=197, end=198)],\n", " [AmscoSlice(index=132, start=198, end=199),\n", " AmscoSlice(index=133, start=199, end=201),\n", " AmscoSlice(index=134, start=201, end=202),\n", " AmscoSlice(index=135, start=202, end=204),\n", " AmscoSlice(index=136, start=204, end=205),\n", " AmscoSlice(index=137, start=205, end=207)],\n", " [AmscoSlice(index=138, start=207, end=209),\n", " AmscoSlice(index=139, start=209, end=210),\n", " AmscoSlice(index=140, start=210, end=212),\n", " AmscoSlice(index=141, start=212, end=213),\n", " AmscoSlice(index=142, start=213, end=215),\n", " AmscoSlice(index=143, start=215, end=216)],\n", " [AmscoSlice(index=144, start=216, end=217),\n", " AmscoSlice(index=145, start=217, end=219),\n", " AmscoSlice(index=146, start=219, end=220),\n", " AmscoSlice(index=147, start=220, end=222),\n", " AmscoSlice(index=148, start=222, end=223),\n", " AmscoSlice(index=149, start=223, end=225)],\n", " [AmscoSlice(index=150, start=225, end=227),\n", " AmscoSlice(index=151, start=227, end=228),\n", " AmscoSlice(index=152, start=228, end=230),\n", " AmscoSlice(index=153, start=230, end=231),\n", " AmscoSlice(index=154, start=231, end=233),\n", " AmscoSlice(index=155, start=233, end=234)],\n", " [AmscoSlice(index=156, start=234, end=235),\n", " AmscoSlice(index=157, start=235, end=237),\n", " AmscoSlice(index=158, start=237, end=238),\n", " AmscoSlice(index=159, start=238, end=240),\n", " AmscoSlice(index=160, start=240, end=241),\n", " AmscoSlice(index=161, start=241, end=243)],\n", " [AmscoSlice(index=162, start=243, end=245),\n", " AmscoSlice(index=163, start=245, end=246),\n", " AmscoSlice(index=164, start=246, end=248),\n", " AmscoSlice(index=165, start=248, end=249),\n", " AmscoSlice(index=166, start=249, end=251),\n", " AmscoSlice(index=167, start=251, end=252)],\n", " [AmscoSlice(index=168, start=252, end=253),\n", " AmscoSlice(index=169, start=253, end=255),\n", " AmscoSlice(index=170, start=255, end=256),\n", " AmscoSlice(index=171, start=256, end=258),\n", " AmscoSlice(index=172, start=258, end=259),\n", " AmscoSlice(index=173, start=259, end=261)],\n", " [AmscoSlice(index=174, start=261, end=263),\n", " AmscoSlice(index=175, start=263, end=264),\n", " AmscoSlice(index=176, start=264, end=266),\n", " AmscoSlice(index=177, start=266, end=267),\n", " AmscoSlice(index=178, start=267, end=269),\n", " AmscoSlice(index=179, start=269, end=270)],\n", " [AmscoSlice(index=180, start=270, end=271),\n", " AmscoSlice(index=181, start=271, end=273),\n", " AmscoSlice(index=182, start=273, end=274),\n", " AmscoSlice(index=183, start=274, end=276),\n", " AmscoSlice(index=184, start=276, end=277),\n", " AmscoSlice(index=185, start=277, end=279)],\n", " [AmscoSlice(index=186, start=279, end=281),\n", " AmscoSlice(index=187, start=281, end=282),\n", " AmscoSlice(index=188, start=282, end=284),\n", " AmscoSlice(index=189, start=284, end=285),\n", " AmscoSlice(index=190, start=285, end=287),\n", " AmscoSlice(index=191, start=287, end=288)],\n", " [AmscoSlice(index=192, start=288, end=289),\n", " AmscoSlice(index=193, start=289, end=291),\n", " AmscoSlice(index=194, start=291, end=292),\n", " AmscoSlice(index=195, start=292, end=294),\n", " AmscoSlice(index=196, start=294, end=295),\n", " AmscoSlice(index=197, start=295, end=297)],\n", " [AmscoSlice(index=198, start=297, end=299),\n", " AmscoSlice(index=199, start=299, end=300),\n", " AmscoSlice(index=200, start=300, end=302),\n", " AmscoSlice(index=201, start=302, end=303),\n", " AmscoSlice(index=202, start=303, end=305),\n", " AmscoSlice(index=203, start=305, end=306)],\n", " [AmscoSlice(index=204, start=306, end=307),\n", " AmscoSlice(index=205, start=307, end=309),\n", " AmscoSlice(index=206, start=309, end=310),\n", " AmscoSlice(index=207, start=310, end=312),\n", " AmscoSlice(index=208, start=312, end=313),\n", " AmscoSlice(index=209, start=313, end=315)],\n", " [AmscoSlice(index=210, start=315, end=317),\n", " AmscoSlice(index=211, start=317, end=318),\n", " AmscoSlice(index=212, start=318, end=320),\n", " AmscoSlice(index=213, start=320, end=321),\n", " AmscoSlice(index=214, start=321, end=323),\n", " AmscoSlice(index=215, start=323, end=324)],\n", " [AmscoSlice(index=216, start=324, end=325),\n", " AmscoSlice(index=217, start=325, end=327),\n", " AmscoSlice(index=218, start=327, end=328),\n", " AmscoSlice(index=219, start=328, end=330),\n", " AmscoSlice(index=220, start=330, end=331),\n", " AmscoSlice(index=221, start=331, end=333)],\n", " [AmscoSlice(index=222, start=333, end=335),\n", " AmscoSlice(index=223, start=335, end=336),\n", " AmscoSlice(index=224, start=336, end=338),\n", " AmscoSlice(index=225, start=338, end=339),\n", " AmscoSlice(index=226, start=339, end=341),\n", " AmscoSlice(index=227, start=341, end=342)],\n", " [AmscoSlice(index=228, start=342, end=343),\n", " AmscoSlice(index=229, start=343, end=345),\n", " AmscoSlice(index=230, start=345, end=346),\n", " AmscoSlice(index=231, start=346, end=348),\n", " AmscoSlice(index=232, start=348, end=349),\n", " AmscoSlice(index=233, start=349, end=351)],\n", " [AmscoSlice(index=234, start=351, end=353),\n", " AmscoSlice(index=235, start=353, end=354),\n", " AmscoSlice(index=236, start=354, end=356),\n", " AmscoSlice(index=237, start=356, end=357),\n", " AmscoSlice(index=238, start=357, end=359),\n", " AmscoSlice(index=239, start=359, end=360)],\n", " [AmscoSlice(index=240, start=360, end=361),\n", " AmscoSlice(index=241, start=361, end=363),\n", " AmscoSlice(index=242, start=363, end=364),\n", " AmscoSlice(index=243, start=364, end=366),\n", " AmscoSlice(index=244, start=366, end=367),\n", " AmscoSlice(index=245, start=367, end=369)],\n", " [AmscoSlice(index=246, start=369, end=371),\n", " AmscoSlice(index=247, start=371, end=372),\n", " AmscoSlice(index=248, start=372, end=374),\n", " AmscoSlice(index=249, start=374, end=375),\n", " AmscoSlice(index=250, start=375, end=377),\n", " AmscoSlice(index=251, start=377, end=378)],\n", " [AmscoSlice(index=252, start=378, end=379),\n", " AmscoSlice(index=253, start=379, end=381),\n", " AmscoSlice(index=254, start=381, end=382),\n", " AmscoSlice(index=255, start=382, end=384),\n", " AmscoSlice(index=256, start=384, end=385),\n", " AmscoSlice(index=257, start=385, end=387)],\n", " [AmscoSlice(index=258, start=387, end=389),\n", " AmscoSlice(index=259, start=389, end=390),\n", " AmscoSlice(index=260, start=390, end=392),\n", " AmscoSlice(index=261, start=392, end=393),\n", " AmscoSlice(index=262, start=393, end=395),\n", " AmscoSlice(index=263, start=395, end=396)],\n", " [AmscoSlice(index=264, start=396, end=397),\n", " AmscoSlice(index=265, start=397, end=399),\n", " AmscoSlice(index=266, start=399, end=400),\n", " AmscoSlice(index=267, start=400, end=402),\n", " AmscoSlice(index=268, start=402, end=403),\n", " AmscoSlice(index=269, start=403, end=405)],\n", " [AmscoSlice(index=270, start=405, end=407),\n", " AmscoSlice(index=271, start=407, end=408),\n", " AmscoSlice(index=272, start=408, end=410),\n", " AmscoSlice(index=273, start=410, end=411),\n", " AmscoSlice(index=274, start=411, end=413),\n", " AmscoSlice(index=275, start=413, end=414)],\n", " [AmscoSlice(index=276, start=414, end=415),\n", " AmscoSlice(index=277, start=415, end=417),\n", " AmscoSlice(index=278, start=417, end=418),\n", " AmscoSlice(index=279, start=418, end=420),\n", " AmscoSlice(index=280, start=420, end=421),\n", " AmscoSlice(index=281, start=421, end=423)],\n", " [AmscoSlice(index=282, start=423, end=425),\n", " AmscoSlice(index=283, start=425, end=426),\n", " AmscoSlice(index=284, start=426, end=428),\n", " AmscoSlice(index=285, start=428, end=429),\n", " AmscoSlice(index=286, start=429, end=431),\n", " AmscoSlice(index=287, start=431, end=432)],\n", " [AmscoSlice(index=288, start=432, end=433),\n", " AmscoSlice(index=289, start=433, end=435),\n", " AmscoSlice(index=290, start=435, end=436),\n", " AmscoSlice(index=291, start=436, end=438),\n", " AmscoSlice(index=292, start=438, end=439),\n", " AmscoSlice(index=293, start=439, end=441)],\n", " [AmscoSlice(index=294, start=441, end=443),\n", " AmscoSlice(index=295, start=443, end=444),\n", " AmscoSlice(index=296, start=444, end=446),\n", " AmscoSlice(index=297, start=446, end=447),\n", " AmscoSlice(index=298, start=447, end=449),\n", " AmscoSlice(index=299, start=449, end=450)],\n", " [AmscoSlice(index=300, start=450, end=451),\n", " AmscoSlice(index=301, start=451, end=453),\n", " AmscoSlice(index=302, start=453, end=454),\n", " AmscoSlice(index=303, start=454, end=456),\n", " AmscoSlice(index=304, start=456, end=457),\n", " AmscoSlice(index=305, start=457, end=459)],\n", " [AmscoSlice(index=306, start=459, end=461),\n", " AmscoSlice(index=307, start=461, end=462),\n", " AmscoSlice(index=308, start=462, end=464),\n", " AmscoSlice(index=309, start=464, end=465),\n", " AmscoSlice(index=310, start=465, end=467),\n", " AmscoSlice(index=311, start=467, end=468)],\n", " [AmscoSlice(index=312, start=468, end=469),\n", " AmscoSlice(index=313, start=469, end=471),\n", " AmscoSlice(index=314, start=471, end=472),\n", " AmscoSlice(index=315, start=472, end=474),\n", " AmscoSlice(index=316, start=474, end=475),\n", " AmscoSlice(index=317, start=475, end=477)],\n", " [AmscoSlice(index=318, start=477, end=479),\n", " AmscoSlice(index=319, start=479, end=480),\n", " AmscoSlice(index=320, start=480, end=482),\n", " AmscoSlice(index=321, start=482, end=483),\n", " AmscoSlice(index=322, start=483, end=485),\n", " AmscoSlice(index=323, start=485, end=486)],\n", " [AmscoSlice(index=324, start=486, end=487),\n", " AmscoSlice(index=325, start=487, end=489),\n", " AmscoSlice(index=326, start=489, end=490),\n", " AmscoSlice(index=327, start=490, end=492),\n", " AmscoSlice(index=328, start=492, end=493),\n", " AmscoSlice(index=329, start=493, end=495)],\n", " [AmscoSlice(index=330, start=495, end=497),\n", " AmscoSlice(index=331, start=497, end=498),\n", " AmscoSlice(index=332, start=498, end=500),\n", " AmscoSlice(index=333, start=500, end=501),\n", " AmscoSlice(index=334, start=501, end=503),\n", " AmscoSlice(index=335, start=503, end=504)],\n", " [AmscoSlice(index=336, start=504, end=505),\n", " AmscoSlice(index=337, start=505, end=507),\n", " AmscoSlice(index=338, start=507, end=508),\n", " AmscoSlice(index=339, start=508, end=510),\n", " AmscoSlice(index=340, start=510, end=511),\n", " AmscoSlice(index=341, start=511, end=513)],\n", " [AmscoSlice(index=342, start=513, end=515),\n", " AmscoSlice(index=343, start=515, end=516),\n", " AmscoSlice(index=344, start=516, end=518),\n", " AmscoSlice(index=345, start=518, end=519),\n", " AmscoSlice(index=346, start=519, end=521),\n", " AmscoSlice(index=347, start=521, end=522)],\n", " [AmscoSlice(index=348, start=522, end=523),\n", " AmscoSlice(index=349, start=523, end=525),\n", " AmscoSlice(index=350, start=525, end=526),\n", " AmscoSlice(index=351, start=526, end=528),\n", " AmscoSlice(index=352, start=528, end=529),\n", " AmscoSlice(index=353, start=529, end=531)],\n", " [AmscoSlice(index=354, start=531, end=533),\n", " AmscoSlice(index=355, start=533, end=534),\n", " AmscoSlice(index=356, start=534, end=536),\n", " AmscoSlice(index=357, start=536, end=537),\n", " AmscoSlice(index=358, start=537, end=539),\n", " AmscoSlice(index=359, start=539, end=540)],\n", " [AmscoSlice(index=360, start=540, end=541),\n", " AmscoSlice(index=361, start=541, end=543),\n", " AmscoSlice(index=362, start=543, end=544),\n", " AmscoSlice(index=363, start=544, end=546),\n", " AmscoSlice(index=364, start=546, end=547),\n", " AmscoSlice(index=365, start=547, end=549)],\n", " [AmscoSlice(index=366, start=549, end=551),\n", " AmscoSlice(index=367, start=551, end=552),\n", " AmscoSlice(index=368, start=552, end=554),\n", " AmscoSlice(index=369, start=554, end=555),\n", " AmscoSlice(index=370, start=555, end=557),\n", " AmscoSlice(index=371, start=557, end=558)],\n", " [AmscoSlice(index=372, start=558, end=559),\n", " AmscoSlice(index=373, start=559, end=561),\n", " AmscoSlice(index=374, start=561, end=562),\n", " AmscoSlice(index=375, start=562, end=564),\n", " AmscoSlice(index=376, start=564, end=565),\n", " AmscoSlice(index=377, start=565, end=567)],\n", " [AmscoSlice(index=378, start=567, end=569),\n", " AmscoSlice(index=379, start=569, end=570),\n", " AmscoSlice(index=380, start=570, end=572),\n", " AmscoSlice(index=381, start=572, end=573),\n", " AmscoSlice(index=382, start=573, end=575),\n", " AmscoSlice(index=383, start=575, end=576)],\n", " [AmscoSlice(index=384, start=576, end=577),\n", " AmscoSlice(index=385, start=577, end=579),\n", " AmscoSlice(index=386, start=579, end=580),\n", " AmscoSlice(index=387, start=580, end=582),\n", " AmscoSlice(index=388, start=582, end=583),\n", " AmscoSlice(index=389, start=583, end=585)],\n", " [AmscoSlice(index=390, start=585, end=587),\n", " AmscoSlice(index=391, start=587, end=588),\n", " AmscoSlice(index=392, start=588, end=590),\n", " AmscoSlice(index=393, start=590, end=591),\n", " AmscoSlice(index=394, start=591, end=593),\n", " AmscoSlice(index=395, start=593, end=594)],\n", " [AmscoSlice(index=396, start=594, end=595),\n", " AmscoSlice(index=397, start=595, end=597),\n", " AmscoSlice(index=398, start=597, end=598),\n", " AmscoSlice(index=399, start=598, end=600),\n", " AmscoSlice(index=400, start=600, end=601),\n", " AmscoSlice(index=401, start=601, end=603)],\n", " [AmscoSlice(index=402, start=603, end=605),\n", " AmscoSlice(index=403, start=605, end=606),\n", " AmscoSlice(index=404, start=606, end=608),\n", " AmscoSlice(index=405, start=608, end=609),\n", " AmscoSlice(index=406, start=609, end=611),\n", " AmscoSlice(index=407, start=611, end=612)]]" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "amsco_transposition_positions(c7b, 'abcdef', \n", " fillpattern=(1, 2),\n", " fillstyle=AmscoFillStyle.reverse_each_row)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "['stager',\n", " 'staler',\n", " 'stalin',\n", " 'stamen',\n", " 'sucker',\n", " 'tucker',\n", " 'twangs',\n", " 'twerps',\n", " 'twirls',\n", " 'staffer',\n", " 'stagers',\n", " 'stagger',\n", " 'stalins',\n", " 'stamens',\n", " 'stamina',\n", " 'stammer',\n", " 'statler',\n", " 'suckers',\n", " 'sudsier',\n", " 'swagger',\n", " 'tubbier',\n", " 'tycoons',\n", " 'loadable',\n", " 'noblemen',\n", " 'rubidium',\n", " 'staffers',\n", " 'staggers',\n", " 'staminas',\n", " 'stammers',\n", " 'standard',\n", " 'steelier',\n", " 'submerse',\n", " 'swaggers',\n", " 'tubbiest',\n", " 'tuitions',\n", " 'twenties',\n", " 'stalemate',\n", " 'staleness',\n", " 'stalinist',\n", " 'stammerer',\n", " 'standards',\n", " 'submerses',\n", " 'swaggerer',\n", " 'stalemates',\n", " 'stalenesss',\n", " 'stammerers',\n", " 'stepsister',\n", " 'succulence',\n", " 'statistical',\n", " 'stepsisters',\n", " 'succulences',\n", " 'statistician',\n", " 'statisticians']" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "transpositions[key_b[0]]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "security protocol solitaire comrades under a decree from moscow we are confined to using a new high security stream cipher stolen from the americans the solitaire cipher all files classified top secret and above are to be archived using this method this new field cipher has been tested and proven to match the security of the fi alka machine without the overhead of the technology you will need only a deck of cards to implement the cipher the key to be used will be provided and distributed on a one time pad and you must destroy the key as you use it the key consists of a random shuffle of a full deck of cards together with two distinguishable jokers agents should be freely able to carry this equipment without arousing suspicion\n" ] } ], "source": [ "print(' '.join(segment(sanitise(\n", " amsco_transposition_decipher(sanitise(c7b), \n", " keyword=transpositions[key_b[0]][0], \n", " fillpattern=key_b[1],\n", " fillstyle=key_b[2])\n", " ))))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 1 }