Updated notebooks for new library organisation
[cipher-tools.git] / 2017 / 2017-challenge7.ipynb
index 318462d4d601d319497f11cd7dff8b6297895a3c..b8612ccb5fed4625816151cca048ec00e4375180 100644 (file)
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 53,
+   "execution_count": 1,
    "metadata": {},
    "outputs": [],
    "source": [
     "import matplotlib.pyplot as plt\n",
     "%matplotlib inline\n",
     "\n",
-    "from cipherbreak import *\n",
-    "from text_prettify import *\n",
+    "\n",
+    "from cipher.vigenere import *\n",
+    "from cipher.column_transposition import *\n",
+    "from support.utilities import *\n",
+    "from support.text_prettify import *\n",
+    "from support.plot_frequency_histogram import *\n",
     "\n",
     "ca = open('7a.ciphertext').read()\n",
     "cb = open('7b.ciphertext').read()"
@@ -25,7 +29,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [
     {
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE6pJREFUeJzt3XuQZHV5xvHvI5eoaMSFcYMirkZKQ2IhOhKJmkpALBIv\nkAoxGi9rCmtj1KgxJq5JrBjLVK3RivGPxLhe4iZBBYlkiXdqwXi/7MIiCysuIkQoYFeUKFhRgTd/\n9CEMuLt9uqd79jfb30/VVJ/Tfd4573Sfmad/55w+k6pCkqRW3WtfNyBJ0t4YVJKkphlUkqSmGVSS\npKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYduJQrO/zww2vVqlVLuUpJUqO2bNnynaqa\nG7bckgbVqlWr2Lx581KuUpLUqCTX9FnOXX+SpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSS\npKYZVJKkphlUkqSmGVSSpKYt6SWUJEltWrX2o72XvXrd06fYyU9zRCVJappBJUlqmkElSWqaQSVJ\nappBJUlqmkElSWqaQSVJappBJUlq2tCgSvKoJFsXfH0/yauSrEhyfpId3e0Dl6JhSdJsGXpliqq6\nAngsQJIDgOuAc4G1wKaqWpdkbTf/2in2KkkaouUrTIxr1F1/JwHfrKprgFOBDd39G4DTJtmYJEkw\nelA9B/hAN72yqq7vpm8AVk6sK0mSOr2DKsnBwLOAD93zsaoqoPZQtybJ5iSbd+3aNXajkqTZNMqI\n6jeAi6rqxm7+xiRHAHS3O3dXVFXrq2q+qubn5uYW160kaeaMElTP5a7dfgDnAau76dXAxkk1JUnS\nnXoFVZJDgJOBDy+4ex1wcpIdwFO7eUmSJqrXP06sqluBw+5x300MzgKUJGlqvDKFJKlpBpUkqWkG\nlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpab2uTCFJWnr74z9BHIcjKklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTPOtPkqbMs/cWxxGVJKlpBpUkqWkGlSSpaR6jkjRzxj1m5LGmfcMRlSSp\naQaVJKlp7vqTtKy5O27/54hKktQ0g0qS1LReQZXk0CTnJPl6ku1JTkiyIsn5SXZ0tw+cdrOSpNnT\nd0T1duATVfVo4FhgO7AW2FRVRwObunlJkiZqaFAleQDwq8B7AKrqx1V1M3AqsKFbbANw2rSalCTN\nrj4jqocDu4B/TnJxkncnOQRYWVXXd8vcAKycVpOSpNnVJ6gOBB4HvKOqjgNu5R67+aqqgNpdcZI1\nSTYn2bxr167F9itJmjF9gupa4Nqq+nI3fw6D4LoxyREA3e3O3RVX1fqqmq+q+bm5uUn0LEmaIUOD\nqqpuAL6d5FHdXScBlwPnAau7+1YDG6fSoSRppvW9MsUfAWcmORi4Cvh9BiF3dpIzgGuAZ0+nRUnS\nLOsVVFW1FZjfzUMnTbYdSZLuzitTSJKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJ\nkppmUEmSmmZQSZKaZlBJkppmUEmSmmZQSZKaZlBJkppmUEmSmtb3HydK0lStWvvR3steve7pU+xE\nrXFEJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWparw/8Jrka+AFwO3BbVc0n\nWQGcBawCrgaeXVXfm06bkqRZNcqVKX69qr6zYH4tsKmq1iVZ282/dqLdSVp2vMKEJm0xu/5OBTZ0\n0xuA0xbfjiRJd9c3qAr4VJItSdZ0962squu76RuAlRPvTpI08/ru+ntyVV2X5EHA+Um+vvDBqqok\ntbvCLtjWABx11FGLalbS0nI3nlrQa0RVVdd1tzuBc4HjgRuTHAHQ3e7cQ+36qpqvqvm5ubnJdC1J\nmhlDgyrJIUnuf+c08DRgG3AesLpbbDWwcVpNSpJmV59dfyuBc5Pcufz7q+oTSb4KnJ3kDOAa4NnT\na1OSNKuGBlVVXQUcu5v7bwJOmkZTkiTdyStTSJKaZlBJkppmUEmSmmZQSZKaZlBJkpo2ykVpJS1T\nXmFCy5kjKklS0wwqSVLT3PUnLSPuwtMsckQlSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkEl\nSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaV0+X9hGvhC7144hKktS03kGV5IAkFyf5\nSDf/8CRfTnJlkrOSHDy9NiVJs2qUEdUrge0L5t8MvK2qHgl8Dzhjko1JkgQ9gyrJkcDTgXd38wFO\nBM7pFtkAnDaNBiVJs63viOrvgT8D7ujmDwNurqrbuvlrgYdMuDdJkoaf9ZfkGcDOqtqS5NdGXUGS\nNcAagKOOOmrkBqXWefaeNF19RlRPAp6V5Grggwx2+b0dODTJnUF3JHDd7oqran1VzVfV/Nzc3ARa\nliTNkqFBVVWvq6ojq2oV8Bzggqp6HnAhcHq32Gpg49S6lCTNrMV8juq1wKuTXMngmNV7JtOSJEl3\nGenKFFX1aeDT3fRVwPGTb0mSpLt4ZQpJUtMMKklS07wordTxNHOpTY6oJElNM6gkSU1z15/2O+7C\nk/YvjqgkSU0zqCRJTTOoJElN8xiVmubxJkmOqCRJTTOoJElNM6gkSU0zqCRJTTOoJElN86w/LQnP\n3pM0LkdUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkpnl6ukbiaeaSlpojKklS0wwqSVLThgZV\nknsn+UqSS5JcluSvu/sfnuTLSa5MclaSg6ffriRp1vQZUf0IOLGqjgUeC5yS5InAm4G3VdUjge8B\nZ0yvTUnSrBoaVDVwSzd7UPdVwInAOd39G4DTptKhJGmm9TpGleSAJFuBncD5wDeBm6vqtm6Ra4GH\nTKdFSdIs6xVUVXV7VT0WOBI4Hnh03xUkWZNkc5LNu3btGrNNSdKsGumsv6q6GbgQOAE4NMmdn8M6\nErhuDzXrq2q+qubn5uYW1awkafb0OetvLsmh3fR9gJOB7QwC6/RusdXAxmk1KUmaXX2uTHEEsCHJ\nAQyC7eyq+kiSy4EPJnkTcDHwnin2qSnwKhOSloOhQVVVXwOO2839VzE4XiVJ0tR4ZQpJUtO8KO1+\nwF14kvZnjqgkSU0zqCRJTTOoJElN8xhVQzzWJEk/zRGVJKlpBpUkqWnu+hti3N1x7saTpMlwRCVJ\nappBJUlqmkElSWqaQSVJappBJUlqmkElSWrazJye7unikrQ8OaKSJDXNoJIkNc2gkiQ1zaCSJDXN\noJIkNc2gkiQ1zaCSJDXNoJIkNW1oUCV5aJILk1ye5LIkr+zuX5Hk/CQ7utsHTr9dSdKs6TOiug34\nk6o6Bngi8LIkxwBrgU1VdTSwqZuXJGmihgZVVV1fVRd10z8AtgMPAU4FNnSLbQBOm1aTkqTZNdIx\nqiSrgOOALwMrq+r67qEbgJUT7UySJEYIqiT3A/4deFVVfX/hY1VVQO2hbk2SzUk279q1a1HNSpJm\nT6+gSnIQg5A6s6o+3N19Y5IjusePAHburraq1lfVfFXNz83NTaJnSdIM6XPWX4D3ANur6u8WPHQe\nsLqbXg1snHx7kqRZ1+f/UT0JeAFwaZKt3X1/DqwDzk5yBnAN8OzptHh3/l8pSZotQ4Oqqj4HZA8P\nnzTZdiRJujuvTCFJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJ\nappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqa\nQSVJappBJUlqmkElSWqaQSVJatrQoEry3iQ7k2xbcN+KJOcn2dHdPnC6bUqSZlWfEdX7gFPucd9a\nYFNVHQ1s6uYlSZq4oUFVVZ8BvnuPu08FNnTTG4DTJtyXJEnA+MeoVlbV9d30DcDKPS2YZE2SzUk2\n79q1a8zVSZJm1aJPpqiqAmovj6+vqvmqmp+bm1vs6iRJM2bcoLoxyREA3e3OybUkSdJdxg2q84DV\n3fRqYONk2pEk6e76nJ7+AeCLwKOSXJvkDGAdcHKSHcBTu3lJkibuwGELVNVz9/DQSRPuRZKkn+KV\nKSRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gk\nSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElN\nM6gkSU1bVFAlOSXJFUmuTLJ2Uk1JknSnsYMqyQHAPwC/ARwDPDfJMZNqTJIkWNyI6njgyqq6qqp+\nDHwQOHUybUmSNLCYoHoI8O0F89d290mSNDGpqvEKk9OBU6rqxd38C4BfrqqX32O5NcCabvZRwBXj\nt7tXhwPfWaK6pVzXuHXLocdx6+xxMnXLocdx6+xxMnXjrquvh1XV3NClqmqsL+AE4JML5l8HvG7c\n77fYL2DzUtUt5br25x7355/NHv3ZWlrXUvc46a/F7Pr7KnB0kocnORh4DnDeIr6fJEk/5cBxC6vq\ntiQvBz4JHAC8t6oum1hnkiSxiKACqKqPAR+bUC+LtX4J65ZyXePWLYcex62zx8nULYcex62zx8nU\njbuuiRr7ZApJkpaCl1CSJDVtJoMqyaok2xb5Pb4wqX56ru8NSV6zlOvsK8krkmxPcua+7qUFSQ5N\n8tIRaxa9TS6VJLcs4bqW5PdsOT3/s2gmg2oSqupX9nUPDXkpcHJVPW9fN9KIQxk8J1qkxf6eZcC/\nc8vcsn8Bu3dCX09yZveu/pwk9+1ReuAYNQvXO/Rd5YLe3pfkG936nprk80l2JDl+SP1fdHWfY/Bh\n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\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb3a1a254a8>"
+       "<matplotlib.figure.Figure at 0x7ffa4d7db080>"
       ]
      },
      "metadata": {},
@@ -71,7 +75,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -80,7 +84,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
@@ -89,7 +93,7 @@
        "('hanginggardens', -1451.9609829395629)"
       ]
      },
-     "execution_count": 10,
+     "execution_count": 5,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [
     {
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [
     {
        "1422"
       ]
      },
-     "execution_count": 17,
+     "execution_count": 8,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "open('7a.plaintext', 'w').write(lcat(tpack(segment(pa))))"
+    "open('7a.plaintext', 'w').write(prettify(pa))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 161,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
        "'oreomcufedvtmgjelehgvyhdnvwgkshmbcylmiexlrwffwxbkfszeafkzplrvsjuezttmcapoatsjuspemcqflfixmgseatgrtoieyymvjveuauglioxwftwgfebfqlfcepltdwzaaeoajfimmuarebtypctptbrgaasrtyfdloeargllxneepweorpppzyzaefqprlonyflmddtdrsrwmwpuoelepdierwaxgguytlpqgktzcglpqloafchzrsotmekmscaruseeaabhzwpflruzmedmcgymehxyqsrgaldaapydmauoqcadbjjismbtnliqgxyukejatcfsrsehmvsienxcggeteyunwmdhxzpjoteeyvxwtegcjsitcxluavputcpzpdnzchlsldvyqlpceauvjvtvvyetspehwtasppeykmegumfvazttzqesyoherxvxqfbrtzmpclkplsdeamklislhbgmszdgrmfmcpxlnzcedtrjlylokshswpmtqualnaaselmxbxqvwpdabjumxcuwkilmedlyewelohnpvjcbmctshhedrtgwprrygwiettlhjpteadpsxxkvecytrcdqptkupfhocumcsgpeacklmmnwgjjgqghmfmwletmhevgitqcwsjalsghvscyjkdierlggfvoofpeawytgbpupzsxmkpmqrkmqxmeehjjymaehcfamdsxlcsidaxcwooyebgpspyopywgifcggpspsoxqpgeytvckaucetqtjerevaqdmnomakkweyxdnlgspguqdesnzpvvxfhhsklrohxpgziyrgbckweempclzzttcowscuwgqoiyrgycmmppyyryxwehmgdldsaugvelibrkjlhdbhvvicahquvhdikcksgyebmcvmctbyguvsrvcvkydnpcfwihfgftqworkaperanakcjxpakecawlakfwsyftbcpsxztzywwhrtwacmgzfyrjftptldksizatyuqgpamywmadumnpfmeegmpeiwrkcusrzrmfnkspehgukszetggfhleuljvidthlqsepcxgvlywoamfnhcnzsgkmsramjdjyewpfdvllkgessdemmofiwinfkmeednprzylttauflmtlsnlwyrneqgvphlppkmtsxmtlhdlkdtsmttwkaaiwenmis_rufxqcauisfcbtycxxletlpahtagztlvromcgzszrymvlwomnmxqiydapfjawalgnwistxgjsjphlqqfseomfnlwsctbksaedvrrgszamlqflcubckmmwwjgcuxslbrvswdduqjuhtoeekujqnequyxedgctxiynvetvinulqumwximyqjglaadnfinsajvlmwrmcqsindtrnjmlrhgeqptcllvqszrnckvapvpjcjxcfbrvgrlspsefqdfgukdensmjukwtegqczinnkpkgyyebggcgyramgwelthrgjoyrdfdmefemrnwhoeatyessogyqgxnulgcfemaeyyzxrhbbrsxtotgrlxtexrnwcdevlpwqcmxqnkxdnvbyzhfieqolllixnusxzaajrkwtpwypnvaswgvlxxsmrvsedhktqjlowkacsxlookvsjptxscfmrohcqjvotwpvltlrbrgftzrzpvdqlngfjfiyekcgwszoxccmmoancfwglsheawxregivvpdtoyifiyixlufgpsxcjkvsihdeacptlgqfkprvltajpobbklverfatleletrckreirugvctgosx_agqmsprtyawefsklqzpdnbbrxxgpecjagyhxgcjzdcgqkscmskgyjkytxmiakycoyrlisdgcisstfbpefleomqkwepstmpsveeacpjqnhmpeaiwebmvsmpugfmsipnxrfsneymmqgbyimrcjlxuprkamngpytdwdoginvedtafcasyovreszeatfigsltlgggiphzqvkewsayqegzvhpjswckzfefwpegqqsrzizlgziznmmmxxstlykaxzawrgflehnqhogydugggetcxrruswtkygukqegqklrpiepqfhpivcedweoajqhwcaxgheeftebomedantrfydygmgsmpstmtzqqltyjzkynmmdjslowenmkjcbsuwxeafyvwveupyjgwdplrtzveexcklsloglghwuihyqztehmaueipitdewslsaqugghehgplecrlzgpmmnmsvltnexcqwjtaavvsgohxunwvccbcfsihwwgtnxqtgjukqggrzdwtzmksuwelgerggizekffltefzrfsregwgvviyhkfnlexfngqtxdabaxgkqdecjtseaxyjxcqralhylysbzuavpilm_hznpjazyvfgaxmowpglmzswjqeizetfpsmtmglvwllitsismxwvyazszcgjvshzegytjizffppxrznmykwiqutsevmwunaumspawyewypimfnzhgigphkvtdxjdvkloegpgldimkhdllharqaidakqpuysnemgwmfeacvdllexppmwqaafoascshdhzxfanlwvwpimfgeeeezsklwznncvzeytxykmhddvlagpeawtgbhseictaisteygwvwoaefwvcsxmkcgeugqhdepwmcefispmyglewnhvevhyevdgtecovrwkpfaydkgwolmpgvwztxppdrwsxjvlacdyznvwrtbmgwxpngcuzelhpzqfogmggewmzoljpgsxarfzfxdhbpwsxpsbcklitgkrtfvxsxlgaygnvfgwvchhrgvwdsmyefvwelqpslcthyjlijttbvgplomfkgeyhgcdjxheayvsittbypjeslzyxgizagrkzzzenyimiswxsojrpogrfupbyavulvccbmkmswsbqtkmcwlwcjmzomjjvetsmrgzywaxctsgpazrcolywicgayzewgvwkelnypjezbk_thigrsanutlvzsxhzjtfvpibpctwetbensraezftaplllpplestlrgowlihfelrotrcaurfaxdryveheytxmellpencostgehhyikcdejpamugjiwabgywvlqrjvawqegbkwefofrgmxpfhlufxdamrufizlfeznxeetfisfoamrpoweebnpakxlhrqaxwsmqvlmzrkrraigeglqkglexcgkssmeghsszabuvnlnhhwwvmxrtmqcieegqtswhtbkfssetkrgwvesvrgfxllhcgkxcsgnjlilfmfylffowqgfqfoxqgqxdoaanoxwhhughwsxbbigyhrxkjaivtkcgwyvnnnvzhndwmvdvpemqgailodftfrytbynltowxpkgxznhrhsvluwljgbthlsylmadzpvkilttkfsspmapdmithfykjeoitqvsltnvcgswtnmfparfhxdtjapdlwqsmnewavjqcturkrxergchsywohbksxxsgsulxzsmmqglddbawayeeprqwmssnktxiluhpcmsttzlgfvxuxchjhnwedgaiyawcvsrteaacwjlpbrpyzdimfggswryrglqlu'"
       ]
      },
-     "execution_count": 161,
+     "execution_count": 9,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 162,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
        "27"
       ]
      },
-     "execution_count": 162,
+     "execution_count": 10,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 163,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEd9JREFUeJzt3X2sZHV9x/H3R6A+gIrAShHRq5a0xRoBV8QqCYpaBA2Y\nIvURNJrVClHbYrrUGgmRZK22pqaVikqAigpWESz4QBYr+EBll8cFRLayFDYIK1oEicrDt3/M2Tg8\nOWfundl7f/e+X8nknnPm/OZ859yZ+zm/35w5N1WFJEmtedR8FyBJ0mwYYJKkJhlgkqQmGWCSpCYZ\nYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCZtPd8FAOy00041MzMz32VIkhaAtWvX/rSqlo1a\nb0EE2MzMDGvWrJnvMiRJC0CSG/us5xCiJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJ\nBpgkqUkGmCSpSQaYJKlJC+JSUpKkhWlm5bm9192w6uApVvJQ9sAkSU0ywCRJTTLAJElNMsAkSU0y\nwCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAk\nSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElN2nq+C5AkbRkzK8/tve6G\nVQdPsZLJsAcmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklq0sgAS7Jb\nkm8luSbJ1Une0y3fIcn5Sa7vfj6pW54kH0+yPsmVSfae9pOQJC09fXpg9wJ/U1V7APsCRyXZA1gJ\nrK6q3YHV3TzAK4Hdu9sK4MSJVy1JWvJGBlhV3VJVl3bTdwLXArsChwCndqudChzaTR8CnFYDFwPb\nJ9ll4pVLkpa0sT4DSzID7AX8N7BzVd3S3fUTYOduelfgpqFmN3fLHvxYK5KsSbJm06ZNY5YtSVrq\negdYku2ALwHvrapfDN9XVQXUOBuuqpOqanlVLV+2bNk4TSVJ6hdgSbZhEF6nV9WXu8W3bh4a7H7e\n1i3fCOw21Pyp3TJJkiamz1mIAT4DXFtV/zR01znAkd30kcDZQ8uP6M5G3Be4Y2ioUZKkiejzDy1f\nBLwZuCrJ5d2yvwNWAWcmeRtwI3B4d995wEHAeuBu4K0TrViSJHoEWFV9B8gj3H3Aw6xfwFFzrEuS\npN/JK3FIkprUZwhRkrSAzKw8t/e6G1YdPMVK5pc9MElSkwwwSVKTHEKUpHniUODc2AOTJDXJAJMk\nNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJ\nq9FL0gR4Zfktzx6YJKlJBpgkqUkOIUrSEIcC22EPTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS\n1CQDTJLUJANMktQkv8gsaVHyC8mLnwEmaUEziPRIHEKUJDXJAJMkNckAkyQ1yQCTJDXJAJMkNcmz\nECVtMZ5RqEmyByZJapIBJklqkgEmSWqSASZJapIBJklq0sgAS3JyktuSrBtadlySjUku724HDd13\nbJL1Sa5L8mfTKlyStLT16YGdAhz4MMs/VlV7drfzAJLsAbwOeHbX5hNJtppUsZIkbTYywKrqQuBn\nPR/vEOALVfXrqroBWA/sM4f6JEl6WHP5DOzoJFd2Q4xP6pbtCtw0tM7N3TJJkiZqtgF2IvAsYE/g\nFuAfx32AJCuSrEmyZtOmTbMsQ5K0VM0qwKrq1qq6r6ruBz7Fb4cJNwK7Da361G7Zwz3GSVW1vKqW\nL1u2bDZlSJKWsFkFWJJdhmZfA2w+Q/Ec4HVJHp3kGcDuwA/mVqIkSQ818mK+ST4P7A/slORm4IPA\n/kn2BArYALwDoKquTnImcA1wL3BUVd03ndIlSUvZyACrqtc/zOLP/I71TwBOmEtRkiSN4r9TkTQ2\n/y2KFgIvJSVJapIBJklqkgEmSWqSASZJapIncUhLmCdjqGX2wCRJTTLAJElNMsAkSU3yMzBpkfDz\nLC01Bpi0wBhEUj8GmDQlBpE0XX4GJklqkgEmSWqSASZJapIBJklqkidxSD14Qoa08NgDkyQ1yQCT\nJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNcmL+WpJ\n8aK80uJhD0yS1CR7YGqSPSlJ9sAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElN8jR6zStPh5c0\nWwaYHmK2oWIYSdqSHEKUJDXJAJMkNckAkyQ1aWSAJTk5yW1J1g0t2yHJ+Umu734+qVueJB9Psj7J\nlUn2nmbxkqSlq89JHKcA/wKcNrRsJbC6qlYlWdnN/y3wSmD37vYC4MTup+aBJ1VIWsxG9sCq6kLg\nZw9afAhwajd9KnDo0PLTauBiYPsku0yqWEmSNpvtZ2A7V9Ut3fRPgJ276V2Bm4bWu7lbJknSRM35\nJI6qKqDGbZdkRZI1SdZs2rRprmVIkpaY2X6R+dYku1TVLd0Q4W3d8o3AbkPrPbVb9hBVdRJwEsDy\n5cvHDsClxs+zJOmBZtsDOwc4sps+Ejh7aPkR3dmI+wJ3DA01SpI0MSN7YEk+D+wP7JTkZuCDwCrg\nzCRvA24EDu9WPw84CFgP3A28dQo1S5I0OsCq6vWPcNcBD7NuAUfNtShJkkbxShySpCYZYJKkJhlg\nkqQmGWCSpCb5Dy23ML/PJUmTYQ9MktQkA0yS1CQDTJLUJD8DmyU/y5Kk+WWAYRhJUoscQpQkNckA\nkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMk\nNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNWnr+S5gkmZWntt73Q2rDp5iJZKkabMHJklq\nkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIB\nJklq0pyuRp9kA3AncB9wb1UtT7IDcAYwA2wADq+qn8+tTEmSHmgSPbCXVNWeVbW8m18JrK6q3YHV\n3bwkSRM1jSHEQ4BTu+lTgUOnsA1J0hI31wAr4JtJ1iZZ0S3buapu6aZ/Auw8x21IkvQQc/2PzC+u\nqo1Jngycn+SHw3dWVSWph2vYBd4KgKc97WlzLEOStNTMqQdWVRu7n7cBZwH7ALcm2QWg+3nbI7Q9\nqaqWV9XyZcuWzaUMSdISNOsAS7JtksdvngZeAawDzgGO7FY7Ejh7rkVKkvRgcxlC3Bk4K8nmx/lc\nVX09ySXAmUneBtwIHD73MiVJeqBZB1hV/Rh47sMsvx04YC5FSZI0ilfikCQ1yQCTJDXJAJMkNckA\nkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMk\nNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJ\nAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCT\n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\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb39e80acc0>"
+       "<matplotlib.figure.Figure at 0x7ffa122f87f0>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
        "('eeleeyceelalas', -5541.802272494437)"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 12,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
        "'kntkiesbasvimofaaaditudsnkwogowixewhixemlzsbustdibooepfsvlanruhqaotimkwldwpuhqoeebcybhuetoeoaptvrbketuuotfrtupuohedtshrscueqfyhbralnrzsoapewwfueioswntbiyxypepxtewwhriynzhdawtehhmntexsadnlrnvuoatfylnakjadhisdidzonlisrskaaeedqanlwtiequileqogpoycnnmhdaucpvnhkpocgihcprcoatwwdfvsefarcvitzieeuithmyyonvwhfywlndbackmrwzdhfehmqtvhefctasgayaicnonhadotoetnmcocaiauwlsishmzxfkiaaattsievcroeiytnswreuicxvlsjvefhoadkyyhlrawwtfrivkympoeadyrwoeptysiavqihtwvitoqmouddatvrtffqrbvieyhmnhosepmshehhddeioodvrubirltnlvytdirrhuakgufosemiqcwhcwwuchimbmqdslswxlsitrulkqhitzhacsaaownxrfrxierodwesrbcsennaesettilpfliawfnotmkkekupgyzsnpgjpuhwyqbyoinawrkamujsvffiocdbfbwtapbdaxeepfclsrwhhcdxqyuyksimnhvcbxmkbeepwgpcqlqrxotbkemyngbmtocadyjnmiadrbwobotachilwtrskqwaxvphpgklnsckdycvphpaktflcgwprrkpukapfpfgparpqsmvkipggycutsnagalcjmzgqjvevkxnddhghtmdtegoigncqygycaiecazhpprksuaqsvqdigncnyionlunrnxeadbcznbowjgketexggfnfzxwvkikwdfqrjbegrkhggaxbyroapxngjvanrrrgabjlrflipbcupmymngpptrijwzyfznwgtcpwtwgusoadpxrphxhpvnssjppspcbghbugfbvnphskhihwpnqminwinwbalqiclbocacbptiengrqotxniunzsxadvqguxapvguhtaqafrkbpdaqhexytvrhaukwbfchkjvhcgoqnwbjsjgasebzxjhgvehslaibkbkuejukbemzjenvajpppuuluphhjhywnjtqvvxdhelgorotbtahlhgspoorpszapieajbeotsbtfcpuqobrxpaattaeilxwdiwcbrhrgobcovoonuothsdmcmfmenzwrdfwlaagvsehptihofehaqybotkihlhshcibsowtzrtpcooablybhrqxeiiilwygkqthhxttossdjqrqdikagiqffntqcuttzcertennkebrecqhssismibyyfcawwflbecspjdhilnieooecdirvfiandicmlicaldmoonjeirwevejkftrbxttcnasesmbmsbcwizacsbjcgsiacsavecnzpscunaxieycnrpmosaapdtefknrsfliauaitlsddeptgaohkcaoctcuagkbabwaawvtghqbzotikpiphtiemrvsysarnnsmrmmqvgtsjrdwvduitqwhhaetpsotoapjzgsilsanjrpslgdhtmoittoashztyfhdsgcaotaodkdofeptuabigowcyfrdpsrthparqrobponvrtzmanvfrbenageesooomckiidwjedscasweistgacktrlstdyqbenetnsbcesmcrgrhedfcwyetagybgenrnrwfeoqbshrtnbcrhaaeirkgntenweryigdsfwcfiorppupwtfaghfvlflxxgxmgxayywcaftcrjodkcmzoyoqgcnjzybtixwgaakuglxslcyxoovdxltfaewimzsarqpieskemwyefmpfiltaxwmxikoirscbbsxpvtnuojgwiifgqyqinrfhzslnzabnoluizsfmcecvtdbwbrwoamrntsoeipbxconrhcvgxppvmkgayqwufevzddlyoseivbtflpmcmfonbgvhvzxzviibtturhuzamzisnvbhgfjmwovylqcvcavatnguhwbguvqgsccmzlgpqalfbdrgrytdlewwffdseytcwetfbaxdiafyjpgfndgcivoirqpiizfqtpuyvgaliisjhlwsaciglaxojwmeibuksrgsluygldxhnivrgctyzlhlwchvdswgdufziepiwjaergpztwhlawmjccjcdceltczhvvliolioklinmtyfsfvywrksvoptqcsreaxyusxhescijtsrcfjkfgonvsspbkgojwtloanvcebcgbulienvnuongesckvxypgbchazdjcftmdixwmcgsbayytheituytyspwhwyayaxvjwrrghiwzcprwvnrbiytidwegtivhsfscevttupaipbchxuhhxthiaitlrucxovrgyvadvtcuvhevufepfnvciumuemjthedisjjwwkolpwneeulxibpxdcxgehsrpstfftghdevpohzxigjbhhwagqiezpgmrsuocebgeibtwyxbhhtxepusmpwbqyoyhhshhtbpjhytslxmugmaatvomjsvcnrvhauitumkdzsvaaolapspizdotirtieoiauiursdatferyhtimacajgfhlalliygdeoemngtascdrgtdutvsgbaydrnyilbpyskoskailitsvixeplnshtfxjwysyondsnixiiutlcgruhahwlvsdkcbgveeivdhfreotpruzntzwxlyqtlhbrktepvgnvdrthxagiuccrbiurywhggdszhiugdrstlfpahyiduljefitqvolhdibmeauwgrdrtdtwuxqepibnpraoavuzeevpggkhvvtjukkeolxhornldcnhslxnakutryrximkoshbftsiylhsehivdmyjdaphinixuspxrtaclpvnemhulirgiuvtscxugaannpravqgpjgcnhacubhrootjxfpuveijlyisavzajhrpehbpplhnjllaehttncdshkfbaardtzywjnbcvznnvthmupmianjlaccdsbcawdukiyztjeauqcyesczculvaqzfrpsmgexgleuonncbtlhfhquxsaunquevndavcxtebbehbkcknldwtejjlpgtnfnmpxlsumraivtinnpiveohmzchgvyczshmmcdhovczqrclchpsskittrimriteomphsdvzgbhsttsnclrautncuxalpycztyuejfaiafubuabbqumcuquofmcftzqywjdxlhpqcwsozzxevywrfgfperviyclyknvjrodjfuirsveeumcpehqbbpurntjujapkyvlgvxonpndhrhwuhfvbihtouaiwfxlrziatbgbholoylzbiihnugyakkrmrhlindychsppkblpruhfzpywlfjsmhmceewrymyvsnggxtroydhusqfxghxmsooqatvukimvlsdjwspuagnnmlmhsvgpmehwflybsithhcurtwvydyhcwmzcpeucuyrhrieiwylfhrznlnzsiubcvostwncaqau'"
       ]
      },
-     "execution_count": 22,
+     "execution_count": 13,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "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\ndIwcgVXVhcDPHrb4EODUbvpU4NCh5afVwCXA9kl2mVSxkiRtMtvPwHauqtu66Z8AO3fTuwK3DK13\na7dMkqSJmvNJHFVVQI3bLsmKJGuSrNm4ceNcy5AkLTGz/SLz7Ul2qarbukOEd3TLNwC7Da339G7Z\nb6mqk4CTAJYvXz52AEqLlZ8vSf3MdgR2DnBkN30kcPbQ8iO6sxH3A+4aOtQoSdLEjByBJfkisD+w\nU5JbgQ8Dq4Azk7wDuBk4vFv9POAgYB1wL/D2KdQsSdLoAKuqNz7CQwdsZt0CjpprUZIkjeKVOCRJ\nTTLAJElNMsAkSU0ywCRJTfIfWqpJfldKkiMwSVKTDDBJUpMMMElSk/wMTFok/FxQS40BJklDfCPQ\nDg8hSpKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppk\ngEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKatPV8F7AQzKw8t/e661cdPMVK\nJEl9OQKTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMk\nNckAkyQ1yQCTJDVpTlejT7IeuBt4ALi/qpYn2QE4A5gB1gOHV9XP51amJEkPNYkR2Muqaq+qWt7N\nrwRWV9UewOpuXpKkiZrGIcRDgFO76VOBQ6fQhyRpiZtrgBXwrSSXJVnRLdu5qm7rpn8C7DzHPiRJ\n+i1z/Y/ML6mqDUmeApyf5IfDD1ZVJanNNewCbwXA7rvvPscyJElLzZxGYFW1obu/AzgL2Be4Pcku\nAN39HY/Q9qSqWl5Vy5ctWzaXMiRJS9CsAyzJtkmesGkaeBWwFjgHOLJb7Ujg7LkWKUnSw83lEOLO\nwFlJNj3PF6rqG0kuBc5M8g7gZuDwuZcpSdJDzTrAqurHwPM2s/xO4IC5FCVJ0iheiUOS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS\n1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQk\nA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KSpBViSA5PckGRdkpXT6keStDRNJcCS\nbAX8M/BqYE/gjUn2nEZfkqSlaVojsH2BdVX146r6DfAl4JAp9SVJWoKmFWC7ArcMzd/aLZMkaSJS\nVZN/0uQw4MCqemc3/1bghVV19NA6K4AV3ezvAzdMvJCBnYCfLvB2LdQ423bWOJl2LdQ423bWOJl2\nLdTY1zOqatnItapq4jfgRcA3h+aPBY6dRl89almz0Nu1UONi/tms0Z9tIfW1mGuc9G1ahxAvBfZI\n8swkvwu8AThnSn1JkpagrafxpFV1f5KjgW8CWwEnV9W10+hLkrQ0TSXAAKrqPOC8aT3/GE5qoF0L\nNc62nTVOpl0LNc62nTVOpl0LNU7UVE7ikCRp2ryUlCSpSQbYwySZSbJ2nvo+LskxU+7jvUmuT3L6\nlPuZ03ZM8r1pt5tAjffMtq22vCTbJ3nPfNehyTHAlp73AK+sqjfPdyGPpqr+eEu20/zLwDRfk7Zn\nsP9rkVjUAZbka0kuS3Jt98XpvrZOcno3Uvm3JI/v2d8RSa5OclWSf+3Z5oNJfpTkYgZf6O4lyVuS\n/CDJlUk+3V1/clSbfwGeBXw9yV+M0deHugszX5zki2OMErdK8plu+38ryePG6HNWo5s5tHtWkiuS\nvGA27Uc890ySHyY5pftdn57kFUm+m+TGJPuOaHv9bLZjkr9Msra7vX/MWsfa/4f343H2ka6/G5Kc\nBqwFduvRZtsk53Z/Z2uT/FmfvoBVwLO7v5mPjVHf2qH5Y5IcN6LNqiRHDc2PPLKS5ANJ3ttNfyLJ\nBd30y0cdLUnygu5157Hdtrk2yR/1+NmOH94vkpyQ5H092r2724ZXJrkpybdHtZma+f4i2jRvwA7d\n/eMY/HHs2KPNDFDAi7v5k4FjerR7DvAjYKfhvke0eT5wDfB44InAup59/SHw78A23fyngCN6bpP1\nm2rsuf4LgCuBxwJPAG7sWeMMcD+wVzd/JvCWMfq9Z5a/897tuhrXMnjjcAXwvGn0NbQtnsvgTeNl\n3X4VBtcI/dqkt+PQvrUtsB1wLbB3z1rH2v9nux8P9fcgsN8Y2/1Pgc8MzT9pnN/3mL/jh7QBjgGO\nG9Fmb+A7Q/PXAbuNaLMf8OVu+iLgB8A2wIeBd/Wo8yPAxxlcRL3XRSO6n+3ybvp3gP+mx2vkUPtt\nulpfO842neRtUY/AgPcmuQq4hME7uz16trulqr7bTX8eeEmPNi9nsAP+FKCqftajzUuBs6rq3qr6\nBf2/7H0AgxeNS5Nc2c0/q2fbcb0YOLuqflVVdzMIzr5uqqoru+nLGPzBLDTLgLOBN1fVVVPs56aq\nuqaqHmQQJqtr8CpwDaO3y2y240sY7Fu/rKp7gK8y2N/6GHf/n+1+vMnNVXXJGOtfA7wyyUeTvLSq\n7hqzv6mqqiuApyR5WpLnAT+vqltGNLsMeH6SJwK/Br4PLGewbS/q0e3xwCu7Nn/Xs871wJ1J9gZe\nBVxRVXf2adv5R+CCqhrnNWGipvY9sPmWZH/gFcCLqureJP/JYBTRx8O/W7DQvmsQ4NSqOna+Cxnh\n10PTDzAYCS80dwH/w+BF+rop9jO8LR4cmn+Q0X+HW3o7bun9/5fjrFxVP0qyD3AQ8JEkq6vq+OmU\nxv089KOWvq8hXwYOA54KnDFq5aq6L8lNwNuA7wFXAy8Dfg+4vkd/OzIYaW/T1dh3m3626/OpDEbb\nvSR5G/AM4OgRq07VYh6BPYnBO597k/wBgyF6X7sneVE3/Sbg4h5tLgBen2RHgCQ79GhzIXBokscl\neQLw2p71rQYOS/KUTX0leUbPtuP6LvDa7vj6dsBrptTPfPkN8DrgiCRvmu9iJugiBvvW45Nsy+Bn\n7PNOHsbf/2e7H89KkqcB91bV54GPAfv0bHo3g8Pg47idwWhqxySPof/+fwaDS+gdxiDM+riIwSHK\nC7vpdzMYFfV5A/Fp4EPA6cBHe/YHcBZwIIOPCr7Zp0GS53d1vqU7ojBvFu0IDPgG8O4k1zO40v04\nhyhuAI5KcjKDd+UnjmpQVdcmOQH4TpIHGHym8rYRbS5PcgZwFXAHg2tIjlRV1yX5W+BbGZy1dR9w\nFHBzn/bjqKpLk5zD4B3h7QwO3yyoQzYPM/Zooap+meQ1wPlJ7qmq5q/b2e1bpzD4LAXgs92hrT7G\n2v9nux/PwXOBjyV5kMG+/+d9GlXVnd2JM2uBr1fVB3q0uS/J8Qy24wbghz37urYL8w1VdVufNgxC\n64PA97t98lf0eNOR5Ajgvqr6QgYnc30vycur6oIedf6mOwnjf6vqgZ51Hg3sAHw7CQwu6vvOnm0n\nyitxaKQk21XVPd3ZaBcCK6rq8vmu6+G60e/lVTWt0eiil2QG+I+qGnkW26M8x3EMTnD5+ITK0pR0\nb4AvB15fVTfOdz3jWsyHEDU5J3Uni1wOfGWBhtfTGHzw7Yum1EOSPRmcMbq6xfACR2CSpEY5ApMk\nNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXp/wAFh+IvTKOQCQAAAABJRU5ErkJggg==\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb3a189e2e8>"
+       "<matplotlib.figure.Figure at 0x7ffa126de3c8>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "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\nqnqqqp4GzgYOm6tTVa2sqtmqmp2ZmZlAGZKkxWQSAXY8Q4cPk+w/dN9bgXUTGEOSpM2MdQgxye7A\nG4D3DDX/UZLlDA4h3rXFfZIkTcRYAVZVPwT22aLtnWNVJElSD16JQ5LUJANMktQkA0yS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KRdx32AJHcBjwBPAU9W1WySvYELgaXAXcCxVfWD\ncceSJGmTSc3AfrmqllfVbLd+GrCqqpYBq7p1SZImZlqHEI8BzuuWzwPeMqVxJEmL1CQCrIAvJVmT\nZEXXtl9VbeiWvwfsN4FxJEn6Z2P/DQx4bVWtT/I84IoktwzfWVWVpLbs1IXdCoAlS5ZMoAxJ0mIy\n9gysqtZ3X+8DLgEOAzYm2R+g+3rfHP1WVtVsVc3OzMyMW4YkaZEZK8CS7J5kz03LwK8A64DLgBO7\nzU4ELh1nHEmStjTuIcT9gEuSbHqsv6qqv0/yLeCiJO8G7gaOHXMcSZI2M1aAVdV3gZfP0f4AcOQ4\njy1J0tZ4JQ5JUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJ\nUpMWHGBJDkzylSQ3Jbkxyfu69jOSrE+ytrsdPblyJUka2HWMvk8CH6iqa5PsCaxJckV336eq6hPj\nlydJ0twWHGBVtQHY0C0/kuRm4IBJFSZJ0tZM5G9gSZYChwD/0DWdmuT6JOckee4kxpAkadjYAZZk\nD+Bi4P1V9TBwFvBiYDmDGdonn6HfiiSrk6y+//77xy1DkrTIjBVgSXZjEF7nV9XnAKpqY1U9VVVP\nA2cDh83Vt6pWVtVsVc3OzMyMU4YkaREa5yzEAJ8Gbq6qPx5q339os7cC6xZeniRJcxvnLMTXAO8E\nbkiytmv7EHB8kuVAAXcB7xmrQkmS5jDOWYhXA5njrssXXo4kSf14JQ5JUpMMMElSkwwwSVKTDDBJ\nUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT\n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\nQmCC\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb3a1897550>"
+       "<matplotlib.figure.Figure at 0x7ffa15721390>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 203,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE/9JREFUeJzt3X+wXGV9x/H3R4wFRUXgShGMV6ujpe0Y6jXVYmcsSoeK\nVpzSH9YfOLUTbWXUtlrBtlNqdQarLfWP1jYKJW2pgj8oVrTKABZRiyYQICEqVGKFQRJ/oKBTNPDt\nH3tiL5CwZ/fu5j7Jvl8zO/ecs+e5zzcn597PPmefezZVhSRJrXrQchcgSdIDMagkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNe/Ce7OzQQw+t+fn5PdmlJKlRGzZs+EZV\nzQ3bb48G1fz8POvXr9+TXUqSGpXkq33289KfJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpab2D\nKsl+Sa5O8tFu/fFJrkxyY5LzkjxkemVKkmbVKCOq1wFbFq2/HTizqp4IfBt45SQLkyQJegZVkiOB\nE4D3dusBjgU+2O2yDjhxGgVKkmZb3xHV3wB/BNzTrR8C3F5VO7r1m4EjJlybJEnDb6GU5PnAtqra\nkOTZo3aQZA2wBmDlypUjFyjtKfOnXtR7361nnDDFSiQt1mdEdQzwK0m2Au9ncMnvXcBBSXYG3ZHA\nLbtqXFVrq2qhqhbm5obee1CSpHsZGlRVdVpVHVlV88BvApdW1UuAy4CTut1OBi6cWpWSpJm1lL+j\nehPwB0luZPCe1VmTKUmSpP830sd8VNWngE91y18BVk++JEmS/p93ppAkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNW2kv6PSdHmvOUm6P0dUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKk\nphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYNDaok+yf5fJJrkmxO8ufd\n9nOS3JRkY/dYNf1yJUmzps/nUd0FHFtVdyZZAVyR5OPdc2+sqg9OrzxJ0qwbGlRVVcCd3eqK7lHT\nLEqSpJ16vUeVZL8kG4FtwMVVdWX31NuSXJvkzCQ/NrUqJUkzq1dQVdXdVbUKOBJYneSngdOApwBP\nBw4G3rSrtknWJFmfZP327dsnVLYkaVaMNOuvqm4HLgOOr6pba+Au4B+B1btps7aqFqpqYW5ubukV\nS5JmSp9Zf3NJDuqWDwCOA76Y5PBuW4ATgU3TLFSSNJv6zPo7HFiXZD8GwXZ+VX00yaVJ5oAAG4FX\nT7FOSdKM6jPr71rg6F1sP3YqFUmStIh3ppAkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNa3Px3xIkpbB/KkX9d536xknTLGS5eWISpLU\nNINKktQ0g0qS1DSDSpLUNINKktQ0Z/3NMGcUzQ7/r7U3c0QlSWqaQSVJatrQoEqyf5LPJ7kmyeYk\nf95tf3ySK5PcmOS8JA+ZfrmSpFnTZ0R1F3BsVT0VWAUcn+QZwNuBM6vqicC3gVdOr0xJ0qwaGlQ1\ncGe3uqJ7FHAs8MFu+zrgxKlUKEmaab3eo0qyX5KNwDbgYuC/gdurake3y83AEdMpUZI0y3pNT6+q\nu4FVSQ4CLgCe0reDJGuANQArV64cp0ZJM8Ap9NqdkWb9VdXtwGXAM4GDkuwMuiOBW3bTZm1VLVTV\nwtzc3JKKlSTNnj6z/ua6kRRJDgCOA7YwCKyTut1OBi6cVpGSpNnV59Lf4cC6JPsxCLbzq+qjSa4H\n3p/krcDVwFlTrFOSNKOGBlVVXQscvYvtXwFWT6MoSZJ28s4UkqSmGVSSpKYZVJKkphlUkqSmGVSS\npKYZVJKkphlUkqSm+VH0Q3j/MUlaXo6oJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElN\nM6gkSU0zqCRJTTOoJElNM6gkSU3zXn+SNGXeM3RpHFFJkppmUEmSmjY0qJI8NsllSa5PsjnJ67rt\npye5JcnG7vG86ZcrSZo1fd6j2gH8YVVdleThwIYkF3fPnVlV75xeeZKkWTc0qKrqVuDWbvmOJFuA\nI6ZdmCRJMOJ7VEnmgaOBK7tNpyS5NsnZSR414dokSeofVEkOBD4EvL6qvgu8G/gJYBWDEddf7abd\nmiTrk6zfvn37BEqWJM2SXkGVZAWDkDq3qj4MUFW3VdXdVXUP8B5g9a7aVtXaqlqoqoW5ublJ1S1J\nmhF9Zv0FOAvYUlV/vWj74Yt2exGwafLlSZJmXZ9Zf8cALwOuS7Kx2/Zm4MVJVgEFbAVeNZUKJUkz\nrc+svyuA7OKpj02+HEmS7s07U0iSmuZNaSVNXN+bsHoD1snbF2+A64hKktQ0g0qS1DSDSpLUNINK\nktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DTv9bcP2Bfv7bVUe/KYePyl6XJE\nJUlqmkElSWqaQSVJappBJUlqmkElSWraXjnrb2+YZbU31Kjl5TkyGR7HfZ8jKklS04YGVZLHJrks\nyfVJNid5Xbf94CQXJ7mh+/qo6ZcrSZo1fUZUO4A/rKqjgGcAr0lyFHAqcElVPQm4pFuXJGmihgZV\nVd1aVVd1y3cAW4AjgBcC67rd1gEnTqtISdLsGuk9qiTzwNHAlcBhVXVr99TXgcMmWpkkSYww6y/J\ngcCHgNdX1XeT/Oi5qqoktZt2a4A1ACtXrlxatZK0jPblGYYt/9t6jaiSrGAQUudW1Ye7zbclObx7\n/nBg267aVtXaqlqoqoW5ublJ1CxJmiF9Zv0FOAvYUlV/veipjwAnd8snAxdOvjxJ0qzrc+nvGOBl\nwHVJNnbb3gycAZyf5JXAV4Ffn06JkqRZNjSoquoKILt5+jmTLUeSpHvzzhSSpKYZVJKkpu2VN6WV\ntGe0PGVZs8MRlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpzvrTyPrOBHMWmKRJcEQlSWqaQSVJappB\nJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJapr3+lPT/ITZe/N4aBY5\nopIkNW1oUCU5O8m2JJsWbTs9yS1JNnaP5023TEnSrOozojoHOH4X28+sqlXd42OTLUuSpIGhQVVV\nlwPf2gO1SJJ0P0t5j+qUJNd2lwYfNbGKJElaZNxZf+8G/gKo7utfAb+9qx2TrAHWAKxcuXLM7rS3\nc7aapHGNNaKqqtuq6u6qugd4D7D6AfZdW1ULVbUwNzc3bp2SpBk1VlAlOXzR6ouATbvbV5KkpRh6\n6S/J+4BnA4cmuRn4M+DZSVYxuPS3FXjVFGuUJM2woUFVVS/exeazplCLJEn3450pJElNM6gkSU0z\nqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gk\nSU0b96PoJWmvNn/qRb333XrGCVOsRMM4opIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNW1oUCU5O8m2JJsWbTs4ycVJbui+Pmq6ZUqSZlWfEdU5wPH32XYqcElVPQm4pFuXJGnihgZVVV0O\nfOs+m18IrOuW1wEnTrguSZKA8d+jOqyqbu2Wvw4cNqF6JEm6lyVPpqiqAmp3zydZk2R9kvXbt29f\naneSpBkzblDdluRwgO7rtt3tWFVrq2qhqhbm5ubG7E6SNKvGDaqPACd3yycDF06mHEmS7q3P9PT3\nAZ8Dnpzk5iSvBM4AjktyA/Dcbl2SpIkb+nlUVfXi3Tz1nAnXIknS/XhnCklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtMMKklS04b+HdW+Yv7Ui3rvu/WME6ZYiSRpFI6oJElNM6gkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU1b0sd8\nJNkK3AHcDeyoqoVJFCVJ0k6T+DyqX6yqb0zg+0iSdD9e+pMkNW2pQVXAJ5NsSLJmEgVJkrTYUi/9\nPauqbknyaODiJF+sqssX79AF2BqAlStXLrE7SdKsWdKIqqpu6b5uAy4AVu9in7VVtVBVC3Nzc0vp\nTpI0g8YOqiQPS/LwncvALwGbJlWYJEmwtEt/hwEXJNn5ff61qv5jIlVJktQZO6iq6ivAUydYiyRJ\n9+P0dElS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS05YU\nVEmOT/KlJDcmOXVSRUmStNPYQZVkP+BvgV8GjgJenOSoSRUmSRIsbUS1Grixqr5SVT8A3g+8cDJl\nSZI0sJSgOgL42qL1m7ttkiRNTKpqvIbJScDxVfU73frLgJ+rqlPus98aYE23+mTgS+OX+4AOBb7R\neDtrnEy7vaHGcdtZ42TaWePyt+vjcVU1N3SvqhrrATwT+MSi9dOA08b9fkt9AOtbb2eNs1Pjvvxv\ns8bZqXEp7Sb5WMqlvy8AT0ry+CQPAX4T+MgSvp8kSffz4HEbVtWOJKcAnwD2A86uqs0Tq0ySJJYQ\nVABV9THgYxOqZanW7gXtrHEy7faGGsdtZ42TaWeNy99uYsaeTCFJ0p7gLZQkSU2b2aBKMp9k0zL1\nfXqSN0y5j9cm2ZLk3Cn3M/ZxTPLZJfTbu+0Sa7xznHZaPkkOSvJ7y12HJmdmg2oG/B5wXFW9ZLkL\n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\nqCRJTfs/nrh65z2bgeIAAAAASUVORK5CYII=\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb3a1a53630>"
+       "<matplotlib.figure.Figure at 0x7ffa157210b8>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 134,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "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\nSWrNoJIktfZ/P0g7wO6fxMgAAAAASUVORK5CYII=\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7fb3a1a074e0>"
+       "<matplotlib.figure.Figure at 0x7ffa1272c0b8>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 38,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [
     {
        "'etoainhsrdlumwycfgpbvkxjqz'"
       ]
      },
-     "execution_count": 38,
+     "execution_count": 18,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 205,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "'eglsmtapwcryfvxhkdziqnjoub'"
+       "'eglsmtapwcryfvxhkdizqnjoub'"
       ]
      },
-     "execution_count": 205,
+     "execution_count": 19,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 206,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
        " 'f': 'm',\n",
        " 'g': 't',\n",
        " 'h': 'c',\n",
-       " 'i': 'b',\n",
+       " 'i': 'p',\n",
        " 'j': 'x',\n",
        " 'k': 'f',\n",
        " 'l': 'o',\n",
        " 'w': 'r',\n",
        " 'x': 'y',\n",
        " 'y': 'u',\n",
-       " 'z': 'p'}"
+       " 'z': 'b'}"
       ]
      },
-     "execution_count": 206,
+     "execution_count": 20,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 208,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "'jlejidqmegwnitxeoectwucgkwrtfacizduoibeyolrmmryzfmapehmfpsolwaxqepnnidhsjhnaxqaseidvmombyitaehntlnjbeuuiwxweqhqtobjyrmnrtmezmvomdesongrphhejhxmbiiqhleznusdnsnzlthhalnumgojehltooykeesrejlssspuphemvslojkumoiggnglalrirsqjeoesgbelrhyttqunosvtfnpdtosvojhmdcplajniefiadhlqaeehhzcprsmolqpiegidtuiecyuvalthoghhsugihqjvdhgzxxbaiznkobvtyuqfexhndmalaeciwabekydtteneuqkrigcypsxjneeuwyrnetdxabndyoqhwsqndspsgkpdcoaogwuvosdehqwxwnwwuenasecrnhasseufietqimwhpnnpveaujcelywyvmzlnpisdofsoagehifobaocztiapgtlimidsyokpdegnlxouojfacarsinvqhokhhaeoiyzyvwrsghzxqiydqrfboiegouereojckswxdzidnacceglntrsllutrbennocxsnehgsayyfwedunldgvsnfqsmcjdqidatsehdfoiikrtxxtvtcimiroenicewtbnvdraxhoatcwaduxfgbelottmwjjmsehruntzsqspayifsivlfivyieecxxuihecdmhigayodabghydrjjueztsasujsurtbmdttsasajyvsteunwdfhqdenvnxelewhvgikjihffreuygkotastqvgeakpswwymccafoljcystpbultzdfreeisdoppnndjradqrtvjbultudiissuuluyrecitgogahqtweobzlfxocgzcwwbdhcvqwcgbfdfatuezidwidnzutqwalwdwfugksdmrbcmtmnvrjlfhselhkhfdxyshfedhrohfmraumnzdsaypnpurrclnrhditpmulxmnsnogfabphnuqvtshiurihgqiksmieetisebrlfdqalplimkfasectqfapenttmcoeqoxwbgncovaesdytwourjhimkcdkpatfialhixgxuersmgwoofteaageiijmbrbkmfieegkslpuonnhqmoinoakorulkevtwscossfinayinocgofgnainnrfhhbrekiba_lqmyvdhqbamdznudyyoenoshcnhtpnowljidtpapluiworjikiyvbughsmxhrhotkrbanytxaxscovvmaejimkoradnzfahegwlltaphiovmodqzdfiirrxtdqyaozlwarggqvxqcnjeefqxvkevquyegtdnybukwenwbkqovqirybiuvxtohhgkmbkahxwoirlidvabkgnlkxiolctevsndoowvaplkdfwhswsxdxydmzlwtloasaemvgmtqfgekaixqfrnetvdpbkkfsftuuezttdtulhitreoncltxjulgmgiemeilkrcjehnueaajtuvtykqotdmeiheuupylczzlaynjntloyneylkrdgewosrvdiyvkfygkwzupcmbevjooobykqayphhxlfrnsruskwhartwoyyailwaegcfnvxojrfhdayojjfwaxsnyadmiljcdvxwjnrswonolzltmnplpswgvoktmxmbuefdtrapjyddiijhkdmrtoacehryletbwwsgnjubmbubyoqmtsaydxfwabcgehdsnotvmfslwonhxsjzzfowelmhnoeoenldfleblqtwdntjay_htviaslnuhremafovpsgkzzlyytsedxhtucytdxpgdtvfadiaftuxfunyibhfudjulobagtdbaanmzsemoejivfresanisaweehdsxvkcisehbreziwaisqtmiabskylmakeuiivtzubildxoyqslfhiktsungrgjtbkwegnhmdhaujwleapehnmbtaonotttbscpvwferahuvetpwcsxardfpmemrsetvvalpbpotpbpkiiiyyanoufhyphrltmoeckvcjtugqtttendyllqarnfutqfvetvfolsbesvmcsbwdegrejhxvcrdhytceemnezjieghknlmugutitaisaninpvvonuxpfukiigxaojrekifxdzaqryehmuwrweqsuxtrgsolnpweeydfoaojtotcrqbcuvpnecihqebsbngeraoahvqttcectsoedloptsiikiawonkeydvrxnhhwwatjcyqkrwddzdmabcrrtnkyvntxqfvttlpgrnpifaqreotelttbpefmmonemplmaletrtwwbucfmkoeymktvnyghzhytfvgedxnaehyuxydvlhocuouazpqhwsboi_cpksxhpuwmthyijrstoiparxvebpenmsainitowroobnabaiyrwuhpapdtxwacpetunxbpmmssylpkiufrbvqnaewirqkhqiashruerusbimkpctbtscfwngyxgwfojetstogbifcgoochlvhbghfvsquakeitrimehdwgooeyssirvhhmjhadacgcpymhkorwrsbimteeeepaforpkkdwpeunyuficggwohtsehrntzcaebdnhbaneutrwrjhemrwdayifdteqtvcgesridembasiutoerkcwewcuewgtnedjwlrfsmhugftrjoistwrpnyssglrayxwohdgupkwrlnzitrysktdqpeocspvmjtitteripjoxstayhlmpmygczsraysazdfobntflnmwyayothutkwmtrwdccltwrgaiuemwreovsaodncuxobxnnzwtsojimfteuctdgxycehuwabnnzusxeaopuytbphtlfpppekubibaryajxlsjtlmqszuhwqowddzifiarazvnfidrordxipjixxwenailtpurhydnatshpldjourbdthupertwrfeokusxepzf_ncbtlahkqnowpaycpxnmwsbzsdnrenzekalhepmnhsooossoeanoltjrobcmeoljnldhqlmhygluweceunyieoosekdjanteccubfdgexshiqtxbrhzturwovlxwhrvetzfremjmltiysmcoqmyghilqmbpomepkyeenmbamjhilsjreezkshfyoclvhyraivwoiplfllhbtetovftoeydtfaaietcaaphzqwkokccrrwiylnivdbeetvnarcnzfmaaenfltrweawltmyoocdtfydatkxobomimuommjrvtmvmjyvtvygjhhkjyrccqtcrayzzbtuclyfxhbwnfdtruwkkkwpckgriwgwseivthbojgmnmlunzukonjrysftypkclcawoqroxtzncoauoihgpswfbonnfmaasihsgibncmufxejbnvwaonkwdtarnkimshlmcygnxhsgorvaikerhwxvdnqlflyeltdcaurjczfayyataqoypaiivtoggzhrhueeslvriaakfnyboqcsdiannpotmwyqydcxckregthbuhrdwalnehhdrxoszlsupgbimttarlultovoq+'"
+       "'jlejidqmegwnitxeoectwucgkwrtfacizduoipeyolrmmryzfmabehmfbsolwaxqebnnidhsjhnaxqaseidvmompyitaehntlnjpeuuiwxweqhqtopjyrmnrtmezmvomdesongrbhhejhxmpiiqhleznusdnsnzlthhalnumgojehltooykeesrejlsssbubhemvslojkumoiggnglalrirsqjeoesgpelrhyttqunosvtfnbdtosvojhmdcblajniefiadhlqaeehhzcbrsmolqbiegidtuiecyuvalthoghhsugihqjvdhgzxxpaiznkopvtyuqfexhndmalaeciwapekydtteneuqkrigcybsxjneeuwyrnetdxapndyoqhwsqndsbsgkbdcoaogwuvosdehqwxwnwwuenasecrnhasseufietqimwhbnnbveaujcelywyvmzlnbisdofsoagehifopaocztiabgtlimidsyokbdegnlxouojfacarsinvqhokhhaeoiyzyvwrsghzxqiydqrfpoiegouereojckswxdzidnacceglntrsllutrpennocxsnehgsayyfwedunldgvsnfqsmcjdqidatsehdfoiikrtxxtvtcimiroenicewtpnvdraxhoatcwaduxfgpelottmwjjmsehruntzsqsbayifsivlfivyieecxxuihecdmhigayodapghydrjjueztsasujsurtpmdttsasajyvsteunwdfhqdenvnxelewhvgikjihffreuygkotastqvgeakbswwymccafoljcystbpultzdfreeisdobbnndjradqrtvjpultudiissuuluyrecitgogahqtweopzlfxocgzcwwpdhcvqwcgpfdfatuezidwidnzutqwalwdwfugksdmrpcmtmnvrjlfhselhkhfdxyshfedhrohfmraumnzdsaybnburrclnrhditbmulxmnsnogfapbhnuqvtshiurihgqiksmieetiseprlfdqalblimkfasectqfabenttmcoeqoxwpgncovaesdytwourjhimkcdkbatfialhixgxuersmgwoofteaageiijmprpkmfieegkslbuonnhqmoinoakorulkevtwscossfinayinocgofgnainnrfhhprekipa_lqmyvdhqpamdznudyyoenoshcnhtbnowljidtbabluiworjikiyvpughsmxhrhotkrpanytxaxscovvmaejimkoradnzfahegwlltabhiovmodqzdfiirrxtdqyaozlwarggqvxqcnjeefqxvkevquyegtdnypukwenwpkqovqirypiuvxtohhgkmpkahxwoirlidvapkgnlkxiolctevsndoowvablkdfwhswsxdxydmzlwtloasaemvgmtqfgekaixqfrnetvdbpkkfsftuuezttdtulhitreoncltxjulgmgiemeilkrcjehnueaajtuvtykqotdmeiheuubylczzlaynjntloyneylkrdgewosrvdiyvkfygkwzubcmpevjooopykqaybhhxlfrnsruskwhartwoyyailwaegcfnvxojrfhdayojjfwaxsnyadmiljcdvxwjnrswonolzltmnblbswgvoktmxmpuefdtrabjyddiijhkdmrtoacehryletpwwsgnjupmpupyoqmtsaydxfwapcgehdsnotvmfslwonhxsjzzfowelmhnoeoenldfleplqtwdntjay_htviaslnuhremafovbsgkzzlyytsedxhtucytdxbgdtvfadiaftuxfunyiphfudjulopagtdpaanmzsemoejivfresanisaweehdsxvkcisehpreziwaisqtmiapskylmakeuiivtzupildxoyqslfhiktsungrgjtpkwegnhmdhaujwleabehnmptaonotttpscbvwferahuvetbwcsxardfbmemrsetvvalbpbotbpbkiiiyyanoufhybhrltmoeckvcjtugqtttendyllqarnfutqfvetvfolspesvmcspwdegrejhxvcrdhytceemnezjieghknlmugutitaisaninbvvonuxbfukiigxaojrekifxdzaqryehmuwrweqsuxtrgsolnbweeydfoaojtotcrqpcuvbnecihqepspngeraoahvqttcectsoedlobtsiikiawonkeydvrxnhhwwatjcyqkrwddzdmapcrrtnkyvntxqfvttlbgrnbifaqreotelttpbefmmonemblmaletrtwwpucfmkoeymktvnyghzhytfvgedxnaehyuxydvlhocuouazbqhwspoi_cbksxhbuwmthyijrstoibarxvepbenmsainitowroopnapaiyrwuhbabdtxwacbetunxpbmmssylbkiufrpvqnaewirqkhqiashrueruspimkbctptscfwngyxgwfojetstogpifcgoochlvhpghfvsquakeitrimehdwgooeyssirvhhmjhadacgcbymhkorwrspimteeeebaforbkkdwbeunyuficggwohtsehrntzcaepdnhpaneutrwrjhemrwdayifdteqtvcgesridempasiutoerkcwewcuewgtnedjwlrfsmhugftrjoistwrbnyssglrayxwohdgubkwrlnzitrysktdqbeocsbvmjtitteribjoxstayhlmbmygczsraysazdfopntflnmwyayothutkwmtrwdccltwrgaiuemwreovsaodncuxopxnnzwtsojimfteuctdgxycehuwapnnzusxeaobuytpbhtlfbbbekupiparyajxlsjtlmqszuhwqowddzifiarazvnfidrordxibjixxwenailtburhydnatshbldjourpdthubertwrfeokusxebzf_ncptlahkqnowbaycbxnmwspzsdnrenzekalhebmnhsooossoeanoltjropcmeoljnldhqlmhygluweceunyieoosekdjanteccupfdgexshiqtxprhzturwovlxwhrvetzfremjmltiysmcoqmyghilqmpbomebkyeenmpamjhilsjreezkshfyoclvhyraivwoiblfllhptetovftoeydtfaaietcaabhzqwkokccrrwiylnivdpeetvnarcnzfmaaenfltrweawltmyoocdtfydatkxopomimuommjrvtmvmjyvtvygjhhkjyrccqtcrayzzptuclyfxhpwnfdtruwkkkwbckgriwgwseivthpojgmnmlunzukonjrysftybkclcawoqroxtzncoauoihgbswfponnfmaasihsgipncmufxejpnvwaonkwdtarnkimshlmcygnxhsgorvaikerhwxvdnqlflyeltdcaurjczfayyataqoybaiivtoggzhrhueeslvriaakfnypoqcsdiannbotmwyqydcxckregthpuhrdwalnehhdrxoszlsubgpimttarlultovoq'"
       ]
      },
-     "execution_count": 208,
+     "execution_count": 21,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 209,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "1.0908179994726204"
+       "1.0911221874256245"
       ]
      },
-     "execution_count": 209,
+     "execution_count": 22,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 210,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [
     {
        "1.7308339625731206"
       ]
      },
-     "execution_count": 210,
+     "execution_count": 23,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 211,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "1 1.0908179994726204\n",
-      "2 1.099668497740292\n",
-      "3 1.1021653664156914\n",
-      "4 1.1105288756624214\n",
-      "5 1.1202834460110789\n",
-      "6 1.1272995211118115\n",
-      "7 1.144912989343247\n",
-      "8 1.132083994267313\n",
-      "9 1.13300581113018\n",
-      "10 1.1675967871496329\n",
-      "11 1.1458117729611275\n",
-      "12 1.1594351409944323\n",
-      "13 1.1568381391323794\n",
-      "14 1.1976214763656394\n",
-      "15 1.1789430872547393\n",
-      "16 1.1862470498847197\n",
-      "17 1.1937916983613972\n",
-      "18 1.1903491796283683\n",
-      "19 1.1953937134054176\n",
-      "20 1.2108314568679621\n",
-      "21 1.2178563307567305\n",
-      "22 1.1967669671915482\n",
-      "23 1.2228893244042363\n",
-      "24 1.22779954730535\n",
-      "25 1.2434971631996035\n",
-      "26 1.2277106603385646\n",
-      "27 1.2317044827920967\n",
-      "28 1.2727713048928173\n",
-      "29 1.2410834502022665\n"
+      "1 1.0911221874256245\n",
+      "2 1.0999811518557716\n",
+      "3 1.1024736687577428\n",
+      "4 1.1108493258214134\n",
+      "5 1.1205942838699368\n",
+      "6 1.1276162903349627\n",
+      "7 1.1452272001021975\n",
+      "8 1.132400627567293\n",
+      "9 1.1333184666730263\n",
+      "10 1.1679170525798583\n",
+      "11 1.14614572332707\n",
+      "12 1.1597512509602577\n",
+      "13 1.1571726175932888\n",
+      "14 1.197981087983724\n",
+      "15 1.1792859340799244\n",
+      "16 1.1865717812697065\n",
+      "17 1.1941252456748892\n",
+      "18 1.1906805858544067\n",
+      "19 1.1957146314520906\n",
+      "20 1.2111608276986638\n",
+      "21 1.218181311427732\n",
+      "22 1.1971143041278922\n",
+      "23 1.223217066658174\n",
+      "24 1.2281223302252005\n",
+      "25 1.2438359793130673\n",
+      "26 1.2280766730517558\n",
+      "27 1.232036081608544\n",
+      "28 1.273139026261631\n",
+      "29 1.2414832155367646\n"
      ]
     }
    ],
   },
   {
    "cell_type": "code",
-   "execution_count": 212,
+   "execution_count": 25,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[(1, 1.0908179994726204),\n",
-       " (2, 1.099668497740292),\n",
-       " (3, 1.1021653664156914),\n",
-       " (4, 1.1105288756624214),\n",
-       " (5, 1.1202834460110789),\n",
-       " (6, 1.1272995211118115),\n",
-       " (8, 1.132083994267313),\n",
-       " (9, 1.13300581113018),\n",
-       " (7, 1.144912989343247),\n",
-       " (11, 1.1458117729611275),\n",
-       " (13, 1.1568381391323794),\n",
-       " (12, 1.1594351409944323),\n",
-       " (10, 1.1675967871496329),\n",
-       " (15, 1.1789430872547393),\n",
-       " (16, 1.1862470498847197),\n",
-       " (18, 1.1903491796283683),\n",
-       " (17, 1.1937916983613972),\n",
-       " (19, 1.1953937134054176),\n",
-       " (22, 1.1967669671915482),\n",
-       " (14, 1.1976214763656394),\n",
-       " (20, 1.2108314568679621),\n",
-       " (21, 1.2178563307567305),\n",
-       " (23, 1.2228893244042363),\n",
-       " (26, 1.2277106603385646),\n",
-       " (24, 1.22779954730535),\n",
-       " (27, 1.2317044827920967),\n",
-       " (29, 1.2410834502022665),\n",
-       " (25, 1.2434971631996035),\n",
-       " (28, 1.2727713048928173)]"
+       "[(1, 1.0911221874256245),\n",
+       " (2, 1.0999811518557716),\n",
+       " (3, 1.1024736687577428),\n",
+       " (4, 1.1108493258214134),\n",
+       " (5, 1.1205942838699368),\n",
+       " (6, 1.1276162903349627),\n",
+       " (8, 1.132400627567293),\n",
+       " (9, 1.1333184666730263),\n",
+       " (7, 1.1452272001021975),\n",
+       " (11, 1.14614572332707),\n",
+       " (13, 1.1571726175932888),\n",
+       " (12, 1.1597512509602577),\n",
+       " (10, 1.1679170525798583),\n",
+       " (15, 1.1792859340799244),\n",
+       " (16, 1.1865717812697065),\n",
+       " (18, 1.1906805858544067),\n",
+       " (17, 1.1941252456748892),\n",
+       " (19, 1.1957146314520906),\n",
+       " (22, 1.1971143041278922),\n",
+       " (14, 1.197981087983724),\n",
+       " (20, 1.2111608276986638),\n",
+       " (21, 1.218181311427732),\n",
+       " (23, 1.223217066658174),\n",
+       " (26, 1.2280766730517558),\n",
+       " (24, 1.2281223302252005),\n",
+       " (27, 1.232036081608544),\n",
+       " (29, 1.2414832155367646),\n",
+       " (25, 1.2438359793130673),\n",
+       " (28, 1.273139026261631)]"
       ]
      },
-     "execution_count": 212,
+     "execution_count": 25,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 213,
+   "execution_count": 26,
    "metadata": {},
    "outputs": [
     {
        "'etoainhsrdlumwycfgpbvkxjqz'"
       ]
      },
-     "execution_count": 213,
+     "execution_count": 26,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 214,
+   "execution_count": 27,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['alsgeipmvxtrdkhycfwnzqoujb',\n",
-       " 'gsmplteracfhwvydizxkqjnoub_',\n",
-       " 'egwsctmvflaqkrhzpdjnuxbyio',\n",
-       " 'etgmlywsapfvxrqunzcjodihkb_',\n",
-       " 'lexgpscwyrfmkndatvzqhjoiub',\n",
-       " 'egmtpwsalyfchrjixvkbzondqu+_']"
+       "['lasgeipmvtrxkdhycwfnzoqujb',\n",
+       " 'gsmptlreacfhwvyidkxzqoujnb_',\n",
+       " 'egwstcvmflaqkrhzpdjnuxbyio',\n",
+       " 'etgmlywsapxfrvuqzncodjihkb_',\n",
+       " 'lexpgscwyrmkfatndvzqhjoiub',\n",
+       " 'egtpmwsalyfcrhixjbkvzonduq_']"
       ]
      },
-     "execution_count": 214,
+     "execution_count": 27,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 215,
+   "execution_count": 28,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[{'a': 'e',\n",
+       "[{'a': 't',\n",
        "  'b': 'z',\n",
        "  'c': 'f',\n",
-       "  'd': 'm',\n",
+       "  'd': 'w',\n",
        "  'e': 'i',\n",
-       "  'f': 'g',\n",
+       "  'f': 'p',\n",
        "  'g': 'a',\n",
        "  'h': 'y',\n",
        "  'i': 'n',\n",
        "  'j': 'q',\n",
-       "  'k': 'w',\n",
-       "  'l': 't',\n",
+       "  'k': 'm',\n",
+       "  'l': 'e',\n",
        "  'm': 's',\n",
        "  'n': 'b',\n",
-       "  'o': 'x',\n",
+       "  'o': 'k',\n",
        "  'p': 'h',\n",
-       "  'q': 'k',\n",
-       "  'r': 'u',\n",
+       "  'q': 'x',\n",
+       "  'r': 'l',\n",
        "  's': 'o',\n",
-       "  't': 'l',\n",
+       "  't': 'd',\n",
        "  'u': 'j',\n",
        "  'v': 'r',\n",
-       "  'w': 'p',\n",
-       "  'x': 'd',\n",
+       "  'w': 'g',\n",
+       "  'x': 'u',\n",
        "  'y': 'c',\n",
        "  'z': 'v'},\n",
        " {'a': 'r',\n",
        "  'b': 'z',\n",
        "  'c': 'd',\n",
-       "  'd': 'c',\n",
-       "  'e': 'h',\n",
+       "  'd': 'f',\n",
+       "  'e': 's',\n",
        "  'f': 'l',\n",
        "  'g': 'e',\n",
        "  'h': 'u',\n",
-       "  'i': 'f',\n",
-       "  'j': 'k',\n",
-       "  'k': 'b',\n",
-       "  'l': 'i',\n",
+       "  'i': 'c',\n",
+       "  'j': 'j',\n",
+       "  'k': 'g',\n",
+       "  'l': 'n',\n",
        "  'm': 'o',\n",
-       "  'n': 'x',\n",
-       "  'o': 'j',\n",
+       "  'n': 'q',\n",
+       "  'o': 'k',\n",
        "  'p': 'a',\n",
        "  'q': 'v',\n",
-       "  'r': 's',\n",
+       "  'r': 'h',\n",
        "  's': 't',\n",
-       "  't': 'n',\n",
-       "  'u': 'q',\n",
+       "  't': 'i',\n",
+       "  'u': 'x',\n",
        "  'v': 'w',\n",
        "  'w': 'm',\n",
        "  'x': 'p',\n",
        "  'y': 'y',\n",
-       "  'z': 'g'},\n",
+       "  'z': 'b'},\n",
        " {'a': 'l',\n",
        "  'b': 'x',\n",
-       "  'c': 'i',\n",
+       "  'c': 'n',\n",
        "  'd': 'g',\n",
        "  'e': 'e',\n",
        "  'f': 'r',\n",
        "  'j': 'p',\n",
        "  'k': 'm',\n",
        "  'l': 'd',\n",
-       "  'm': 'h',\n",
+       "  'm': 's',\n",
        "  'n': 'b',\n",
        "  'o': 'z',\n",
        "  'p': 'f',\n",
        "  'q': 'u',\n",
        "  'r': 'w',\n",
        "  's': 'a',\n",
-       "  't': 'n',\n",
+       "  't': 'i',\n",
        "  'u': 'v',\n",
-       "  'v': 's',\n",
+       "  'v': 'h',\n",
        "  'w': 'o',\n",
        "  'x': 'k',\n",
        "  'y': 'j',\n",
        " {'a': 'r',\n",
        "  'b': 'z',\n",
        "  'c': 'p',\n",
-       "  'd': 'k',\n",
+       "  'd': 'v',\n",
        "  'e': 'e',\n",
-       "  'f': 'l',\n",
+       "  'f': 'u',\n",
        "  'g': 'o',\n",
        "  'h': 'j',\n",
        "  'i': 'x',\n",
-       "  'j': 'b',\n",
+       "  'j': 'k',\n",
        "  'k': 'q',\n",
        "  'l': 'i',\n",
        "  'm': 'a',\n",
-       "  'n': 'f',\n",
-       "  'o': 'v',\n",
+       "  'n': 'g',\n",
+       "  'o': 'b',\n",
        "  'p': 'd',\n",
-       "  'q': 'y',\n",
-       "  'r': 'w',\n",
+       "  'q': 'c',\n",
+       "  'r': 'm',\n",
        "  's': 's',\n",
        "  't': 't',\n",
-       "  'u': 'c',\n",
-       "  'v': 'u',\n",
+       "  'u': 'y',\n",
+       "  'v': 'w',\n",
        "  'w': 'h',\n",
-       "  'x': 'm',\n",
+       "  'x': 'l',\n",
        "  'y': 'n',\n",
-       "  'z': 'g'},\n",
-       " {'a': 'c',\n",
+       "  'z': 'f'},\n",
+       " {'a': 'w',\n",
        "  'b': 'z',\n",
        "  'c': 'h',\n",
-       "  'd': 'y',\n",
+       "  'd': 'f',\n",
        "  'e': 't',\n",
-       "  'f': 'l',\n",
-       "  'g': 'a',\n",
+       "  'f': 'm',\n",
+       "  'g': 'i',\n",
        "  'h': 'v',\n",
        "  'i': 'j',\n",
        "  'j': 'k',\n",
-       "  'k': 'm',\n",
+       "  'k': 'u',\n",
        "  'l': 'e',\n",
-       "  'm': 'u',\n",
-       "  'n': 'w',\n",
+       "  'm': 'l',\n",
+       "  'n': 'c',\n",
        "  'o': 'x',\n",
-       "  'p': 'i',\n",
+       "  'p': 'a',\n",
        "  'q': 'b',\n",
        "  'r': 'd',\n",
        "  's': 'n',\n",
-       "  't': 'f',\n",
+       "  't': 'y',\n",
        "  'u': 'q',\n",
        "  'v': 'g',\n",
        "  'w': 's',\n",
        "  'y': 'r',\n",
        "  'z': 'p'},\n",
        " {'a': 's',\n",
-       "  'b': 'b',\n",
+       "  'b': 'g',\n",
        "  'c': 'u',\n",
        "  'd': 'j',\n",
        "  'e': 'e',\n",
        "  'f': 'l',\n",
        "  'g': 't',\n",
-       "  'h': 'm',\n",
-       "  'i': 'c',\n",
-       "  'j': 'y',\n",
+       "  'h': 'w',\n",
+       "  'i': 'y',\n",
+       "  'j': 'f',\n",
        "  'k': 'p',\n",
        "  'l': 'r',\n",
-       "  'm': 'o',\n",
+       "  'm': 'i',\n",
        "  'n': 'x',\n",
        "  'o': 'k',\n",
-       "  'p': 'i',\n",
-       "  'q': 'q',\n",
-       "  'r': 'w',\n",
+       "  'p': 'a',\n",
+       "  'q': 'z',\n",
+       "  'r': 'm',\n",
        "  's': 'h',\n",
-       "  't': 'a',\n",
-       "  'u': 'z',\n",
-       "  'v': 'g',\n",
+       "  't': 'o',\n",
+       "  'u': 'q',\n",
+       "  'v': 'b',\n",
        "  'w': 'n',\n",
-       "  'x': 'f',\n",
+       "  'x': 'c',\n",
        "  'y': 'd',\n",
        "  'z': 'v'}]"
       ]
      },
-     "execution_count": 215,
+     "execution_count": 28,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 216,
+   "execution_count": 29,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['ezfmigaynqwtsbxhkuoljrpdcv',\n",
-       " 'rzdchleufkbioxjavstnqwmpyg',\n",
-       " 'lxigertyqpmdhbzfuwanvsokjc',\n",
-       " 'rzpkelojxbqiafvdywstcuhmng',\n",
-       " 'czhytlavjkmeuwxibdnfqgsorp',\n",
-       " 'sbujeltmcyproxkiqwhazgnfdv']"
+       "['tzfwipaynqmesbkhxlodjrgucv',\n",
+       " 'rzdfsleucjgnoqkavhtixwmpyb',\n",
+       " 'lxngertyqpmdsbzfuwaivhokjc',\n",
+       " 'rzpveuojxkqiagbdcmstywhlnf',\n",
+       " 'wzhftmivjkuelcxabdnyqgsorp',\n",
+       " 'sgujeltwyfprixkazmhoqbncdv']"
       ]
      },
-     "execution_count": 216,
+     "execution_count": 29,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 217,
+   "execution_count": 30,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['gnyxacfpeuqtdiswjvmlrzkohb',\n",
-       " 'pkdcgizelojfwtmxuarshqvnyb',\n",
-       " 'snzlepdmcyxaktwjifvgqurbho',\n",
-       " 'mjupenzwlhdfxygckastvoriqb',\n",
-       " 'gqarltvcpijfksxzuywemhnodb',\n",
-       " 'tbiyexvspdofhwmkqlagczrnju']"
+       "['gnytlcwpeuorkisfjvmaxzdqhb',\n",
+       " 'pzicgdkrtjofwlmxnaeshqvuyb',\n",
+       " 'snzlepdvtyxakcwjifmgqurbho',\n",
+       " 'moqpeznwlhjxrygckastfdviub',\n",
+       " 'pqnrldvcgijmfsxzuywekhaotb',\n",
+       " 'pvxyejbsmdofrwtkulagczhniq']"
       ]
      },
-     "execution_count": 217,
+     "execution_count": 30,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 218,
+   "execution_count": 31,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['xsevuujlekgasepee eyes nvjbwoomhyoxprrsfeme wplrhobwlagtsgbcdewr tpc tv lnhpcixrnskzoaeahqgi',\n",
-       " 'rxooaterftunzxtdcosb gejrvoecxpolfnalezlq tlie irl co gcsijlblcsovrdeznjd hahn x was etw trl mize',\n",
-       " 'cwa idm we iaoexwhafgrvehryiwtj bnlrscgtywosoasijjei tim few ssd etc rata uomavdtiiqtjllhmvs',\n",
-       " 'avfoibhshsuqaetsezyg sigi wcpo ich pad shy mr qos trejerfnyoeqzyhsmzp bjhsznfeckeknqpiklth los',\n",
-       " 'aevortqewffetefecqbh ujypcdkklhengfpneohy of nporjrsdqafacdyxvdy in rmwjyeifhlcgyrn sure',\n",
-       " 'ltfevnlradiecbheazsl srp alguendxuewogdvrzdav of pep hiaktssbdxnryztanvme wal of akiwvfhgtdytydvmhy',\n",
-       " 'to duakqliwseteiufzpu us imrxbqoddvhmctoeke dime ixmbasbhbsdnsvmicwt an hswnannhntemqanecjht',\n",
-       " 'kmmgidjtdumvftmzhlyv hzsdaoieedmiuobmtbkt key al opie tumiwtxfqfmabcroeyu nuckmkjeuitolgxjrdts',\n",
-       " 'pynozijacsoowahydpsv katey kpnusiuilcomtkihhncl mhnxjjezthtfnxicmtxl uaefsihxpudaecnspmsj det',\n",
-       " 'baqhwegskchfxoebmhtd dcbiahhevyyeoxcdggdl yjnptszjoiagqndtzdmh tesa iipvlnivshfqoobknyw or us of dr',\n",
-       " 'du ykhtmsegiyheqtutrnzw qkrycxjggndljbzrugxm uwt tnt bsd saha zytcghuwiumdmxfplnnu',\n",
-       " 'rolakmzwmshhwrwswdpm is whirsrebrhndgnxpihdg ngrnpuwtssfotgldukrt i at cms jvenjcbthrhnsoecvawi go',\n",
-       " 'eea ohhqhdpfqawpwslbqnii utc mhvhnoalyieceyrfgtv rktedhfawdnskeorfvub gao moos lakjqyehilmwdimtitak',\n",
-       " 'to sjr xscblmatemxfwpdtnnrq lt on in xtmjwwekesdvrhamafhd on i vjtbgtnolnoqcsnmefuc',\n",
-       " 'o_wclfkdlcjhgdxtrudp def rhrytctvndudksdtgnvu yhuenxobaoqnygrilqro re tbmqsffakabimtvulnex or fen',\n",
-       " 'odnzmhehgudwatcrur kldp qbfbhasnqeicohtzwunn mcvykzynzetpjkuftqjy key tfnkxrxrhnujxjiucun',\n",
-       " 'dfhnbyailryxgfbscyri hhdofvaxwjlsbburuute bild dig qogwfhprrfuiyfkkplbu wt we hhtelbjgevqyebthbqpp',\n",
-       " 'neobuvfbfmiwejntbaei or we othtrluwokkcsglyoi lead xpuzecachasxtcvtmwz teil to ehjnpfuuxzdhdnztawtp',\n",
-       " 'neow bmi ktgtaoyhodvbqojbwxnp mgfeyxrtiqmwzopcrcyu bot in ca buch pesi of oowunemumtbytjoqcuop dv',\n",
-       " 'xprt pdf fodradkydubgklmfu eats x wall gwgigmvdfalqlqntpfeo sp kddi a uk exil st',\n",
-       " 'ttyecndseojgragtxdnl qnjftqroihddpqghnuge cuhndoblwawueaekfvzb wise dlen de eels iqdensvogulezso_eeu',\n",
-       " 'an iunjrsegtmibvhcbzzwd ptdtuqrtnvfadpgyuavm shoo btn kpcnkajswyivrwtfak aunt at lb hhr it',\n",
-       " 'ksvmhtionhdngihlpiyk xyaieefoezorthdqtgoa xix dsr sweco hyabcfhwhytpvddpeobo idl',\n",
-       " 'cokxtnxseyaelirndxww envir nlj to in iata ffjpqrbehnscveopgy apssuwgrelnhhtybhugq get',\n",
-       " 'vfcfuospksfrcblmps pst lee yxujxtccvoatinimdwj to tmdaqmyttkbdwiciaulv in wieynijlbbmpdlmam',\n",
-       " 'ihrttbxoekcxlsrnydao tsui on htpqkinnkvwybaujqtdv se bomb hboqomtsgyshgejajb an mad',\n",
-       " 'wfvrhemhpttdvarauocj mcv ctt msr vejinngeshttlyqtauej a it hi we vaah a woo wdt wed duh',\n",
-       " 'kaersuntxukcwnrdizhl of yhstlxkyftqqmyatuggh fvs bac set eewatngeqlltnelpwgt we an a',\n",
-       " 'wsxrmwlbitfgxtyffmrx rotwvgehylterodqpiyd stujirhzgvrginih_vvb apr pdrltrooxmfoeovtob ben get lio on',\n",
-       " 'a arr mdi ja of a a on rylgnvfepunmvhtnfyng rl ii dscfudwmqyqaohsaszbr van iemjesdhfhlwvyeqoi',\n",
-       " 'mwwnkoymwmixeaatiycs byker yrwyccmrmyizctbeutpo recur cd it fha hhbselzrnuougjpfgrb is gpa q alti',\n",
-       " 'heep hwiogwxfwceradymavjm wdr a ii rota by tex hae fatt dams hx silo uhh do mpaejeujyehmhptlntf art',\n",
-       " 'th of vgiwyntgmenehkrsoqi leygqanxihdagpgnmiim so so yrilpydvxshdazothoi be icp etufgblxehoaepocvey',\n",
-       " 'he am cwggrmymzaosoioziqec lemwflrpameteytfglam spvmueshyhsyelgniiud nrfnynkrnkntzgaadvul ween',\n",
-       " 'vtfcpmveeyssjalzjdke oic not ngl odpvgcewdnoqssfojpwi kasr cibc rscegfdxamoomazbawoi he',\n",
-       " 'nfkhgxoqksefhsstgrn epitnthrcwhktyoxhtey cest rm me ex cape pbw_njjtutlfqatwcso mvknlginzfpfninxewhu',\n",
-       " 'regla eadie i hi esf rue zhecyleidklsirqwgrkk ddr hyer a doe ie ii xiv naah yjrcwdgekieovokcprx or',\n",
-       " 'nr iuwkgemueabwmelxlueh mil yivlojeowclcvirepxd he tlc olzruwhjoetbbalqory sur on oouueovsmwdsneeoeq',\n",
-       " 'we deo uab as ueauaspszqsfexyuoh gods nabu nheobaomytzpgtaefpue out hrstlortuiomffttfkrn',\n",
-       " 'iraldtlrvsqalulxfkeu my kerb von yuvovnopxzjtcuwmmyef stm uamjuwxbwcjwjposkgii ouocctjglfluynzrxtnz',\n",
-       " 'hoiwekgwmuuauezpipoz ayia neo eccd gpn in tm lot facimoqtvlcbpexclvs sea bwi on nlxhlisulymyaqrfkenk',\n",
-       " 'thft new pyha jsmwoeueijndpjyzmhdp a on ztpcsuokedkybemlnteh suhuhoxmtoctqydhoonn get',\n",
-       " 'gwkcouykyfsemelxrspd ssda irl psy tax wi dvcqaltatowrwaiuiq+']"
+       "['k he blu j lev go sep ee eye hnvjbwoouhyoxprrsc elem gl rhogmlaftspgcdemrtpy tv disp wak risk',\n",
+       " 'qoaeahzpnrxoiateryt liz xtdcohkgejrvoeykpouy nale zmz el near df of wsiklkmysovrdezijd',\n",
+       " 'hohixmisttwtrlwnzewm and lceiaoexmhaffrvtsr came kbnmrsfgtfmohoasajke it awc ems sue tyro',\n",
+       " 'eauouovdtiazekluhwvh a by iigs shslxaetstzyfsapnwyp i if spidssylrzohtrejtrfn fit',\n",
+       " 'xzchswzpkjhszigeyxek nqpijlthlohaevirtqec cfeteyecxbhljypcdkkd seng cgieohfociporjrhdq of a cd',\n",
+       " 'fxvdyinrwwjceafslyg fri hwr edt fevndradaecgseiqslhr pod buen dkuemobuvrzdovofpeph',\n",
+       " 'navtssgdxnryztanvwew am if akicvfsgtdfeydbuhy to dlo xxl i cst teil c zpuwsawrxkqiudvhuyeo eve dime',\n",
+       " 'ixwbahkhgsdisvwifw tinh hwn inn site wqaiewjhtklubidjtdu wvftuqhlybhqsdaoaetd mil ibm',\n",
+       " 'tkktxeyamignetlwiwt xyz fmakwroeywnucjmvjeln tomb kkrdtsgyiozajacsoim as cd psv kate',\n",
+       " 'yjpnlsiunuwiwtkihh nfl lhnkkjezthtfnxacmtxm uae fsa hkpudiecihpusjdetbo qswegsxfsgxitgmhtduf',\n",
+       " 'biihhevcfeoqcdgbulyj npehzjoaabqndtzdmhte san ipvdinbshfxoobknyw or us of drdlykhtwsegifhtxtw',\n",
+       " 'trnzwqkryfxjgbndljbq rug xuumttntgsdhahozytyg hl wnwudwqfpmnnuromoxmz mush sw rcs md plasm snrs rtg',\n",
+       " 'rhn dpi xp a hub if rnguwtssfotfmdljr taoefmsjvtijybthrsns it fvacapoeeiihsqhdpfx am pm',\n",
+       " 'slbqnaiutyuhvsioilyn eye frcgtvrxtedhcawdnsk to rgvubbaouiohlakjqyeh al wwdiutitavtiskrxsybl mate',\n",
+       " 'wqfmpdeiirqleoiinxem jmc exe hdvr ha may huoiivjeggtnidioqwsn meg lyo_wymcxdlyjhpdxtru up de',\n",
+       " 'yrhrytwtvidwdksdtfnv lys wen koba oznygralqroretbmqsyc a jaka we vuunekorgenodizuhtsg wdm at',\n",
+       " 'crlrxldpqgfgsasnqeny oh ezwwnnwfvckqyizetpjj ugtzjykeftfikxrxrsiw jxjnuylnucsnbfanlrfx pcbs',\n",
+       " 'wfrnshdifvaxcjdhbklr lute bad ddigzobwghprrfwaffj kpmglwtmehhteubjpevq feb tsk qpgieobuvcbguamejntg',\n",
+       " 'a enorm to thtrduwokkchgufii lead xguzewocsasxtcvtlcqe enutitsjnpcluxzdhuiz time pie omb',\n",
+       " 'mnvtbeaochiuvbqojbwx npwpcecxrenqlcqopcrw fl got an cab wwhgehiocoowwnewumtb fekoqwuopdbxprtpdyco',\n",
+       " 'dradkydukgkdmfweoehx mild bwfabwvdgilqlqntpfeo sp kudnalktqnustetyewnu heojbragtxdnlqnjcexr oahu',\n",
+       " 'dpqghnugewuhidoblmaw we otjfbzgmnhedltideeed hnqdenhvogudezso_teu anal i jr sept mib vhf',\n",
+       " 'bzzmuptdtuqrtnvcadpf fuavmshiogtnkpcikajs my nbr me cavi unt at mgh sri tks vmhtaoisdnbislpafxqy a a',\n",
+       " 'etc oezirtsdqtpoaxaxuhrs cecoscigccsmhfepvddp to bo add fovxtnqhefotlnrndkww envir iuj toni',\n",
+       " 'iitacfjpzrgehnscveop by aps sum bremnhstcbhlbqfetv ccg lisp ksyrcgllpsghtueeyquj xtc fvo it i in',\n",
+       " 'ldmjtotudaxmcttxgd may iauuvanwnefniklkbwgd lliw is rttgkoevwxdhrnfdaots laois tpzxninkvmybaljqtdb',\n",
+       " 'sebo mkhgoxoltspyhhgejajk in wad my vrs elh pet dbirauoyjwcvcttwsrve jan igeshetlcqtauejiaesn me',\n",
+       " 'vaasa ciowdtceuduhkotrh wntkukycnrdnzhlocyhs tdqkcytqxmcitlbghyvs gay see eemitnbeqmleieupmpt we in',\n",
+       " 'awhxrwmlbitcpqtcycw rxrotmvgehfdterodqpn cds eujirhzbvrganns_vvb apr pdrltroikmfoeivtok ben be tma',\n",
+       " 'ooi air rm dijo ocaa on rylfnvfepwnwvstnyf nbruaauhcgldmmqcqoos has qbr van atm jesdhcsucvyeqoawmwiv',\n",
+       " 'of ww mix ea at if ysgyveryrwcwywrmcaq ct belt gore wu rf ditch ash bst lzrnuougjpcprbisbgaq amti',\n",
+       " 'see ph mn of cxfwcerouymavjwwdri air oti gy tex hot catt dam hh xsi low hhuompiejeujfehmsptl ntf',\n",
+       " 'artes ogvbiwyntbweiehkrhoq altygqinknsdibgbilaa who so frnlpfdvqhhdozothoa be ny',\n",
+       " 'peeuffblkesoiegocbef heal wmpbrlfwzaosoaoznqey dem my lrp a letty tg glam hpvwlehhfhsyeugninud',\n",
+       " 'nrfiynkrnjitzbaadbll meen vtffplvetyhsjodzjdke on c not n blodpvbcecdnoqsscokp makah',\n",
+       " 'ryagcrhyebfdxauiomaz bom on he nfjsfxiqjheyhshtfrn tpntnthrcmhkeyoxhtty cest rm me ex cape',\n",
+       " 'pgm_ijjtltlgqoewcso wvjiuganzfpyniixechl ref mota die ah nes yrlezheyyleidkdhnrqm pr',\n",
+       " 'kvddrsyerouoeieaiqnb no as yjrymdgekatovokygrx or nrnumkbtmueigmmeuxl les la lynvuojtowymyvnrepxu',\n",
+       " 'set my olzrlmhkoetgbalqory huron oouweivhmmdsneeoezme de oua gas leau asp szxhgexyuohgiuhiabun seo',\n",
+       " 'boom ytzpptaeypleowthrhtu or eunoucfttgkrnnram del rbszaluuxcxeulfktrbb on yuvovnopxzjtcuwluftc',\n",
+       " 'htuuamjwcxbwcjcjgohv gaiouowyekguyllyizrx eizhoamekfcwluaweqgn pozo yn an eitf cdg pnni tu lot faw a',\n",
+       " 'woqtvlcgpexydvhseobw non ndqsuasllylfoqrfvenx tsgt n twp cho jhmmoelenjndgkyzuhup a on',\n",
+       " 'qepcslixedvfgtmlnteh huh lho qmtoyexydhioiifetpwk you yjygsewelxrsgdhs do irlpsfeaxmadvfqamta to mr',\n",
+       " 'man uiq']"
       ]
      },
-     "execution_count": 218,
+     "execution_count": 31,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 219,
+   "execution_count": 32,
    "metadata": {},
    "outputs": [
     {
        "'oreomcufedvtmgjelehgvyhdnvwgkshmbcylmiexlrwffwxbkfszeafkzplrvsjuezttmcapoatsjuspemcqflfixmgseatgrtoieyymvjveuauglioxwftwgfebfqlfcepltdwzaaeoajfimmuarebtypctptbrgaasrtyfdloeargllxneepweorpppzyzaefqprlonyflmddtdrsrwmwpuoelepdierwaxgguytlpqgktzcglpqloafchzrsotmekmscaruseeaabhzwpflruzmedmcgymehxyqsrgaldaapydmauoqcadbjjismbtnliqgxyukejatcfsrsehmvsienxcggeteyunwmdhxzpjoteeyvxwtegcjsitcxluavputcpzpdnzchlsldvyqlpceauvjvtvvyetspehwtasppeykmegumfvazttzqesyoherxvxqfbrtzmpclkplsdeamklislhbgmszdgrmfmcpxlnzcedtrjlylokshswpmtqualnaaselmxbxqvwpdabjumxcuwkilmedlyewelohnpvjcbmctshhedrtgwprrygwiettlhjpteadpsxxkvecytrcdqptkupfhocumcsgpeacklmmnwgjjgqghmfmwletmhevgitqcwsjalsghvscyjkdierlggfvoofpeawytgbpupzsxmkpmqrkmqxmeehjjymaehcfamdsxlcsidaxcwooyebgpspyopywgifcggpspsoxqpgeytvckaucetqtjerevaqdmnomakkweyxdnlgspguqdesnzpvvxfhhsklrohxpgziyrgbckweempclzzttcowscuwgqoiyrgycmmppyyryxwehmgdldsaugvelibrkjlhdbhvvicahquvhdikcksgyebmcvmctbyguvsrvcvkydnpcfwihfgftqworkaperanakcjxpakecawlakfwsyftbcpsxztzywwhrtwacmgzfyrjftptldksizatyuqgpamywmadumnpfmeegmpeiwrkcusrzrmfnkspehgukszetggfhleuljvidthlqsepcxgvlywoamfnhcnzsgkmsramjdjyewpfdvllkgessdemmofiwinfkmeednprzylttauflmtlsnlwyrneqgvphlppkmtsxmtlhdlkdtsmttwkaaiwenmis_rufxqcauisfcbtycxxletlpahtagztlvromcgzszrymvlwomnmxqiydapfjawalgnwistxgjsjphlqqfseomfnlwsctbksaedvrrgszamlqflcubckmmwwjgcuxslbrvswdduqjuhtoeekujqnequyxedgctxiynvetvinulqumwximyqjglaadnfinsajvlmwrmcqsindtrnjmlrhgeqptcllvqszrnckvapvpjcjxcfbrvgrlspsefqdfgukdensmjukwtegqczinnkpkgyyebggcgyramgwelthrgjoyrdfdmefemrnwhoeatyessogyqgxnulgcfemaeyyzxrhbbrsxtotgrlxtexrnwcdevlpwqcmxqnkxdnvbyzhfieqolllixnusxzaajrkwtpwypnvaswgvlxxsmrvsedhktqjlowkacsxlookvsjptxscfmrohcqjvotwpvltlrbrgftzrzpvdqlngfjfiyekcgwszoxccmmoancfwglsheawxregivvpdtoyifiyixlufgpsxcjkvsihdeacptlgqfkprvltajpobbklverfatleletrckreirugvctgosx_agqmsprtyawefsklqzpdnbbrxxgpecjagyhxgcjzdcgqkscmskgyjkytxmiakycoyrlisdgcisstfbpefleomqkwepstmpsveeacpjqnhmpeaiwebmvsmpugfmsipnxrfsneymmqgbyimrcjlxuprkamngpytdwdoginvedtafcasyovreszeatfigsltlgggiphzqvkewsayqegzvhpjswckzfefwpegqqsrzizlgziznmmmxxstlykaxzawrgflehnqhogydugggetcxrruswtkygukqegqklrpiepqfhpivcedweoajqhwcaxgheeftebomedantrfydygmgsmpstmtzqqltyjzkynmmdjslowenmkjcbsuwxeafyvwveupyjgwdplrtzveexcklsloglghwuihyqztehmaueipitdewslsaqugghehgplecrlzgpmmnmsvltnexcqwjtaavvsgohxunwvccbcfsihwwgtnxqtgjukqggrzdwtzmksuwelgerggizekffltefzrfsregwgvviyhkfnlexfngqtxdabaxgkqdecjtseaxyjxcqralhylysbzuavpilm_hznpjazyvfgaxmowpglmzswjqeizetfpsmtmglvwllitsismxwvyazszcgjvshzegytjizffppxrznmykwiqutsevmwunaumspawyewypimfnzhgigphkvtdxjdvkloegpgldimkhdllharqaidakqpuysnemgwmfeacvdllexppmwqaafoascshdhzxfanlwvwpimfgeeeezsklwznncvzeytxykmhddvlagpeawtgbhseictaisteygwvwoaefwvcsxmkcgeugqhdepwmcefispmyglewnhvevhyevdgtecovrwkpfaydkgwolmpgvwztxppdrwsxjvlacdyznvwrtbmgwxpngcuzelhpzqfogmggewmzoljpgsxarfzfxdhbpwsxpsbcklitgkrtfvxsxlgaygnvfgwvchhrgvwdsmyefvwelqpslcthyjlijttbvgplomfkgeyhgcdjxheayvsittbypjeslzyxgizagrkzzzenyimiswxsojrpogrfupbyavulvccbmkmswsbqtkmcwlwcjmzomjjvetsmrgzywaxctsgpazrcolywicgayzewgvwkelnypjezbk_thigrsanutlvzsxhzjtfvpibpctwetbensraezftaplllpplestlrgowlihfelrotrcaurfaxdryveheytxmellpencostgehhyikcdejpamugjiwabgywvlqrjvawqegbkwefofrgmxpfhlufxdamrufizlfeznxeetfisfoamrpoweebnpakxlhrqaxwsmqvlmzrkrraigeglqkglexcgkssmeghsszabuvnlnhhwwvmxrtmqcieegqtswhtbkfssetkrgwvesvrgfxllhcgkxcsgnjlilfmfylffowqgfqfoxqgqxdoaanoxwhhughwsxbbigyhrxkjaivtkcgwyvnnnvzhndwmvdvpemqgailodftfrytbynltowxpkgxznhrhsvluwljgbthlsylmadzpvkilttkfsspmapdmithfykjeoitqvsltnvcgswtnmfparfhxdtjapdlwqsmnewavjqcturkrxergchsywohbksxxsgsulxzsmmqglddbawayeeprqwmssnktxiluhpcmsttzlgfvxuxchjhnwedgaiyawcvsrteaacwjlpbrpyzdimfggswryrglqlu+'"
       ]
      },
-     "execution_count": 219,
+     "execution_count": 32,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 220,
+   "execution_count": 33,
    "metadata": {},
    "outputs": [
     {
        "3588"
       ]
      },
-     "execution_count": 220,
+     "execution_count": 33,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 221,
+   "execution_count": 34,
    "metadata": {},
    "outputs": [
     {
        "6.0"
       ]
      },
-     "execution_count": 221,
+     "execution_count": 34,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 223,
+   "execution_count": 35,
    "metadata": {},
    "outputs": [
     {
        "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'"
       ]
      },
-     "execution_count": 223,
+     "execution_count": 35,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 224,
+   "execution_count": 36,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[(1, 1.1327667419873415),\n",
-       " (2, 1.1556010990495924),\n",
-       " (3, 1.206233230791329),\n",
-       " (4, 1.2313380131157103),\n",
-       " (6, 1.2731749420011045),\n",
-       " (5, 1.2798462894967542),\n",
-       " (11, 1.327373238986224),\n",
-       " (9, 1.3278191229344554),\n",
-       " (8, 1.3293010680061772),\n",
-       " (7, 1.3398698729051908),\n",
-       " (10, 1.3463431836469604),\n",
-       " (13, 1.3620114185331578),\n",
-       " (16, 1.3629806460087397),\n",
-       " (12, 1.3915567599630554),\n",
-       " (22, 1.39335904150719),\n",
-       " (18, 1.3959171825391465),\n",
-       " (23, 1.4178260869565218),\n",
-       " (19, 1.4214635856898579),\n",
-       " (20, 1.42971529277585),\n",
-       " (26, 1.4369385555156309),\n",
-       " (14, 1.4386638862659562),\n",
-       " (21, 1.4575520319421331),\n",
-       " (15, 1.458654023723276),\n",
-       " (24, 1.4687703804347825),\n",
-       " (17, 1.4867141412505027),\n",
-       " (29, 1.5101559934318556),\n",
-       " (25, 1.556426856639952),\n",
-       " (27, 1.563057958973637),\n",
-       " (28, 1.613936964396148)]"
+       "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'"
       ]
      },
-     "execution_count": 224,
+     "execution_count": 36,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "ics = [(i, sum(index_of_coincidence(section) for section in every_nth(ch, i)) / i)\n",
-    "           for i in range(1, 30)]\n",
-    "sorted(ics, key=lambda p: p[1])"
+    "scytale_decipher(scb, 598)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 225,
+   "execution_count": 45,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "('scytale', -4506.678592965439)"
+       "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'"
       ]
      },
-     "execution_count": 225,
+     "execution_count": 45,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "vigenere_frequency_break(scbz, max_key_length=30)"
+    "scytale_encipher(scb, 6)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 226,
+   "execution_count": 47,
    "metadata": {},
    "outputs": [
     {
        "'withhindsightanopportunityforpeacewasthrownawaycalgacusmayhavebeenatraitorbuthewasbornaromanandhadforgedthelocaltribesintoanorganisedanddisciplinedforceitmayhavebeenpossibletotreatwithhimbringingcaledoniawithintheempireinexchangeforthegovernorshipofcaledoniabutsalustiuswasagreedyandambitiousmanforwhomvictorywaseverythinghehadnowishtosharecaledoniaorglorywithcalgacusandthusconceivedaplantorepaythetreacheryofthecaledoniiinfullhemadeagreatfanfareofpushinghisforcesintonortherncaledoniatotheremotefortofinchtuthilsalustiusinsecrethadconceivedaslyandaudaciousplancatowasinstructedtoproceedwithanexpeditionaryforcefromeboracumtothefrontierfortatinchtuthilwherehewouldrelievetheiilegionadiutrixpiafideliswhowererequiredindaciahequicklyestablishedthelegioninastateofbattlereadinessandwasjoinedtherebysalustiuswhotookcommandoftheixlegionhumiliatingthefaithfulcatoinfrontofhisownmensalustiuswasnostrategistbutintacticsandcunningheknewnoparallelfromthelegionsextensivescoutingnetworkhehadlearnedthatcalgacushadestablishedhisheadquartersinthemountainswestofstracathrothemarchingcampleavingcatoinchargeofasmallholdingforceoftwocohortsatinchtuthilsalustiusostentatiouslyledtherestoftheixlegiontostracathrohesetupcampandlaidwastetothevillagesaroundhiminanactofgrossprovocationandcrueltyheemulatedhisherocrassusknowingthatthemanycaledoniiwhosufferedagruesomeendonhiscaledonianwaywerenotinvolvedwithcalgacusandhisrevolttheywerejustfodderinhisattempttoprovokeaconfrontationasheknewtheymustthecaledonianarmiesmusteredforafinalshowdownwiththelegionandmarchedonstracathrosalustiussethisforceswithpicketfencesandtrapsbutagainstthescaleofthecaledonianforcetherewaslittlehopeofsuccessnonethelesswiththeirprideatstakeandacceptingtheirfatethelegionnairesoftheixthwatchedandwaitedtojoinbattleundercoverofdarknessandbeforeanyskirmishcouldbeconductedsalustiussecretlysetoutwithasmallforceofhandpickedsoldierswhohadtravelledwithhimfromromewithadeviousplantostealthecodexfromrightundercalgacusnosesalustiuswasaveryunpleasantmanbuthewaswidelyreadandknewofthehebrewtaleofgideonhesethisguardatkeypointsaroundtheperimeterofthecaledoniancampandinthedepthsofnightwhenallmenareattheirlowestebbtheyroseasonebreakingcoverandmakingnoiselikeamuchlargerarmyintheconfusionsalustiusslieutenantstoleintothecampandmadeawaywiththecodexreturningittosalustiuswhoremainedthroughoutatasafedistanceperhapssalustiuscarednothingforthefateoftheixthlegionperhapsitsdestructionwaspartofdomitiansplannedrevengeorperhapsitwasjustadiversionarytactictohavethemcampedatstracathrobuttheoutcomewasthesamerousedbythesurpriseinvasionoftheircampthecaledonianwarriorslaunchedamassiveassaultonstracathrowhateverhismotivationinanactofthegreatesttreacherysalustiusabandonedtheixthlegiontooblivionandsetoutsouthforthefortifiedportatcarridenwhereheintendedtoescapebyseafrombritanniawiththecodexhesentadespatchtocatoorderinghimtoretreatwithallablementocarridenrazeinchtuthiltothegroundandleavenoneoftheweakorwoundedaliveinordertoprovidenothingofvaluetotheenemysalustiusandhisguardmusthavethoughttheywouldbesafebutoncemoreaproudsonofromehadgrosslyunderestimatedcalgacusrealisingquicklythatthecodexwaslosthesetouttorecoveritmarchinghismendoubletimeinpursuitofthefleeingsalustiusandsoatcarridensalustiusregroupedwithhistrustyguardandtheremainingcohortsfrominchtuthilledbythesteadfastmarcusfideliuscatoitwasnotlongbeforethepursuingcaledonianforcearrivedbeforethegatesofcarridenandlaidsiegewiththeirbackstowatertheromanforcewastrappedtheirsafetylayinarefugefarovertheseaanditisfittingthattheendingofmystorywilllieburiedsafelyintheirrefugeatnoviomagusbatavorum____+'"
       ]
      },
-     "execution_count": 226,
+     "execution_count": 47,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "vigenere_decipher(scbz, 'scytale')"
+    "vigenere_decipher(scytale_encipher(scb, 6), 'scytale')"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 227,
+   "execution_count": 37,
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "with hindsight an opportunity for peace was thrown away cal gac us may have been a traitor but he\n",
-      "was born a roman and had forged the local tribes into an organised and disciplined force it may have\n",
-      "been possible to treat with him bringing caledonia within the empire in exchange for the\n",
-      "governorship of caledonia but salus ti us was a greedy and ambitious man for whom victory was\n",
-      "everything he had no wish to share caledonia or glory with cal gac us and thus conceived a plan to\n",
-      "repay the treachery of the caledon ii in full he made a great fanfare of pushing his forces into\n",
-      "northern caledonia to the remote for to finch tuth ilsa lust i us in secret had conceived a sly and\n",
-      "audacious plan ca to was instructed to proceed with an expeditionary force from e bora cum to the\n",
-      "frontier fort at inch tuth il where he would relieve the ii legion a diu trix pia fidelis who were\n",
-      "required in dacia he quickly established the legion in a state of battle readiness and was joined\n",
-      "thereby salus ti us who took command of the ix legion humiliating the faithful ca to in front of his\n",
-      "own mensa lust i us was no strategist but in tactics and cunning he knew no parallel from the\n",
-      "legions extensive scouting network he had learned that cal gac us had established his headquarters\n",
-      "in the mountains west of s trac athro the marching camp leaving ca to in charge of a smallholding\n",
-      "force of two cohorts at inch tuth ilsa lust i us ostentatiously led the rest of the ix legion to s\n",
-      "trac athro he setup camp and laid waste to the villages around him in an act of gross provocation\n",
-      "and cruelty he emulated his hero crassus knowing that the many caledon ii who suffered a gruesome\n",
-      "end on his caledonian way were not involved with cal gac us and his revolt they were just fodder in\n",
-      "his attempt to provoke a confrontation a she knew they must the caledonian armies mustered for a\n",
-      "final showdown with the legion and marched on stra cath rosa lust i us set his forces with picket\n",
-      "fences and traps but against the scale of the caledonian force there was little hope of success\n",
-      "nonetheless with their pride at stake and accepting their fate the legionnaires of the ixth watched\n",
-      "and waited to join battle undercover of darkness and before any skirmish could be conducted salus ti\n",
-      "us secretly set out with a small force of handpicked soldiers who had travelled with him from rome\n",
-      "with a devious plan to steal the codex from right under cal gac us noses a lust i us was a very\n",
-      "unpleasant man but he was widely read and knew of the hebrew tale of gideon he set his guard at key\n",
-      "points around the perimeter of the caledonian camp and in the depths of night when all men are at\n",
-      "their lowest ebb they rose as one breaking cover and making noise like a much larger army in the\n",
-      "confusions a lust i uss lieutenant stole into the camp and made away with the codex returning it to\n",
-      "salus ti us who remained throughout at a safe distance perhaps salus tiu scared nothing for the fate\n",
-      "of the ixth legion perhaps its destruction was part of domitian s planned revenge or perhaps it was\n",
-      "just a diversionary tactic to have them camped at s trac athro but the outcome was the same roused\n",
-      "by the surprise invasion of their camp the caledonian warriors launched a massive assault ons trac\n",
-      "athro whatever his motivation in an act of the greatest treachery salus ti us abandoned the ixth\n",
-      "legion to oblivion and set out south for the fortified port at car riden where he intended to escape\n",
-      "by sea from britannia with the codex he sent a despatch to ca to ordering him to retreat with all\n",
-      "able men to car riden raze inch tuth il to the ground and leave none of the weak or wounded alive in\n",
-      "order to provide nothing of value to the enemy salus ti us and his guard must have thought they\n",
-      "would be safe but once more a proud son of rome had grossly underestimated cal gac us realising\n",
-      "quickly that the codex was los the set out to recover it marching his men double time in pursuit of\n",
-      "the fleeing salus ti us and so at car ride nsa lust i us regrouped with his trusty guard and the\n",
-      "remaining cohorts from inch tuthill ed by the steadfast marcus fidel i usca to it was not long\n",
-      "before the pursuing caledonian force arrived before the gates of car riden and laid siege with their\n",
-      "backs to water the roman force was trapped their safety lay in a refuge far over these a and it is\n",
-      "fitting that the ending of my story will lie buried safely in their refuge at novio magus\n",
-      "batavorum____+\n"
-     ]
+     "data": {
+      "text/plain": [
+       "[(1, 1.0908179994726204),\n",
+       " (2, 1.0960787604524405),\n",
+       " (3, 1.113516620721608),\n",
+       " (4, 1.115785638463224),\n",
+       " (5, 1.120400202985399),\n",
+       " (6, 1.1334224753429143),\n",
+       " (8, 1.1433918976587085),\n",
+       " (10, 1.1496910122954846),\n",
+       " (9, 1.1617893798656953),\n",
+       " (11, 1.1633834545596675),\n",
+       " (13, 1.1639564019643074),\n",
+       " (12, 1.1721361291337578),\n",
+       " (15, 1.1886213315446346),\n",
+       " (17, 1.1937916983613972),\n",
+       " (16, 1.1950843481587292),\n",
+       " (19, 1.1977817913216935),\n",
+       " (18, 1.2064953083778365),\n",
+       " (22, 1.215718812564869),\n",
+       " (23, 1.2232423954515979),\n",
+       " (26, 1.2322203355672054),\n",
+       " (20, 1.2336039362176447),\n",
+       " (24, 1.238483281601497),\n",
+       " (27, 1.2539543738490824),\n",
+       " (29, 1.2583886702997464),\n",
+       " (25, 1.260639573117166),\n",
+       " (7, 1.754671136359598),\n",
+       " (14, 1.7891187085616644),\n",
+       " (21, 1.8547499897527213),\n",
+       " (28, 1.8746638695669968)]"
+      ]
+     },
+     "execution_count": 37,
+     "metadata": {},
+     "output_type": "execute_result"
     }
    ],
    "source": [
-    "print(lcat(tpack(segment(vigenere_decipher(scbz, 'scytale')))))"
+    "ics = [(i, sum(index_of_coincidence(section) for section in every_nth(scbz, i)) / i)\n",
+    "           for i in range(1, 30)]\n",
+    "sorted(ics, key=lambda p: p[1])"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 202,
+   "execution_count": 38,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "('scytale', -4506.678592965439)"
+      ]
+     },
+     "execution_count": 38,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "vigenere_frequency_break(scbz, max_key_length=30)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 39,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'withhindsightanopportunityforpeacewasthrownawaycalgacusmayhavebeenatraitorbuthewasbornaromanandhadforgedthelocaltribesintoanorganisedanddisciplinedforceitmayhavebeenpossibletotreatwithhimbringingcaledoniawithintheempireinexchangeforthegovernorshipofcaledoniabutsalustiuswasagreedyandambitiousmanforwhomvictorywaseverythinghehadnowishtosharecaledoniaorglorywithcalgacusandthusconceivedaplantorepaythetreacheryofthecaledoniiinfullhemadeagreatfanfareofpushinghisforcesintonortherncaledoniatotheremotefortofinchtuthilsalustiusinsecrethadconceivedaslyandaudaciousplancatowasinstructedtoproceedwithanexpeditionaryforcefromeboracumtothefrontierfortatinchtuthilwherehewouldrelievetheiilegionadiutrixpiafideliswhowererequiredindaciahequicklyestablishedthelegioninastateofbattlereadinessandwasjoinedtherebysalustiuswhotookcommandoftheixlegionhumiliatingthefaithfulcatoinfrontofhisownmensalustiuswasnostrategistbutintacticsandcunningheknewnoparallelfromthelegionsextensivescoutingnetworkhehadlearnedthatcalgacushadestablishedhisheadquartersinthemountainswestofstracathrothemarchingcampleavingcatoinchargeofasmallholdingforceoftwocohortsatinchtuthilsalustiusostentatiouslyledtherestoftheixlegiontostracathrohesetupcampandlaidwastetothevillagesaroundhiminanactofgrossprovocationandcrueltyheemulatedhisherocrassusknowingthatthemanycaledoniiwhosufferedagruesomeendonhiscaledonianwaywerenotinvolvedwithcalgacusandhisrevolttheywerejustfodderinhisattempttoprovokeaconfrontationasheknewtheymustthecaledonianarmiesmusteredforafinalshowdownwiththelegionandmarchedonstracathrosalustiussethisforceswithpicketfencesandtrapsbutagainstthescaleofthecaledonianforcetherewaslittlehopeofsuccessnonethelesswiththeirprideatstakeandacceptingtheirfatethelegionnairesoftheixthwatchedandwaitedtojoinbattleundercoverofdarknessandbeforeanyskirmishcouldbeconductedsalustiussecretlysetoutwithasmallforceofhandpickedsoldierswhohadtravelledwithhimfromromewithadeviousplantostealthecodexfromrightundercalgacusnosesalustiuswasaveryunpleasantmanbuthewaswidelyreadandknewofthehebrewtaleofgideonhesethisguardatkeypointsaroundtheperimeterofthecaledoniancampandinthedepthsofnightwhenallmenareattheirlowestebbtheyroseasonebreakingcoverandmakingnoiselikeamuchlargerarmyintheconfusionsalustiusslieutenantstoleintothecampandmadeawaywiththecodexreturningittosalustiuswhoremainedthroughoutatasafedistanceperhapssalustiuscarednothingforthefateoftheixthlegionperhapsitsdestructionwaspartofdomitiansplannedrevengeorperhapsitwasjustadiversionarytactictohavethemcampedatstracathrobuttheoutcomewasthesamerousedbythesurpriseinvasionoftheircampthecaledonianwarriorslaunchedamassiveassaultonstracathrowhateverhismotivationinanactofthegreatesttreacherysalustiusabandonedtheixthlegiontooblivionandsetoutsouthforthefortifiedportatcarridenwhereheintendedtoescapebyseafrombritanniawiththecodexhesentadespatchtocatoorderinghimtoretreatwithallablementocarridenrazeinchtuthiltothegroundandleavenoneoftheweakorwoundedaliveinordertoprovidenothingofvaluetotheenemysalustiusandhisguardmusthavethoughttheywouldbesafebutoncemoreaproudsonofromehadgrosslyunderestimatedcalgacusrealisingquicklythatthecodexwaslosthesetouttorecoveritmarchinghismendoubletimeinpursuitofthefleeingsalustiusandsoatcarridensalustiusregroupedwithhistrustyguardandtheremainingcohortsfrominchtuthilledbythesteadfastmarcusfideliuscatoitwasnotlongbeforethepursuingcaledonianforcearrivedbeforethegatesofcarridenandlaidsiegewiththeirbackstowatertheromanforcewastrappedtheirsafetylayinarefugefarovertheseaanditisfittingthattheendingofmystorywilllieburiedsafelyintheirrefugeatnoviomagusbatavorum____+'"
+      ]
+     },
+     "execution_count": 39,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "vigenere_decipher(scbz, 'scytale')"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 48,
    "metadata": {},
    "outputs": [
     {
       "remaining cohorts from inch tuthill ed by the steadfast marcus fidel i usca to it was not long\n",
       "before the pursuing caledonian force arrived before the gates of car riden and laid siege with their\n",
       "backs to water the roman force was trapped their safety lay in a refuge far over these a and it is\n",
-      "fitting that the ending of my story will lie buried safely in their refuge at novio magus bat av\n",
-      "orum\n"
+      "fitting that the ending of my story will lie buried safely in their refuge at novio magus\n",
+      "batavorum____+\n"
      ]
     }
    ],
    "source": [
-    "print(lcat(tpack(segment(vigenere_decipher(sanitise(scbz), 'scytale')))))"
+    "print(prettify(vigenere_decipher(scytale_encipher(scb, 6), 'scytale')))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 228,
+   "execution_count": 49,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "4423"
+       "4426"
       ]
      },
-     "execution_count": 228,
+     "execution_count": 49,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "open('7b.plaintext', 'w').write(lcat(tpack(segment(vigenere_decipher(sanitise(scbz), 'scytale')))))"
+    "open('7b.plaintext', 'w').write(prettify(vigenere_decipher(scytale_encipher(scb, 6), 'scytale')))"
    ]
   },
   {
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.3"
+   "version": "3.6.3"
   }
  },
  "nbformat": 4,