Updated notebooks for new library organisation
[cipher-tools.git] / 2017 / 2017-challenge7.ipynb
index 994caffca42e284c5c4d70ac3cffcf358b55fa92..b8612ccb5fed4625816151cca048ec00e4375180 100644 (file)
     "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()"
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE7FJREFUeJzt3X+w5XVdx/HnS36kookL141EXE1GoxxEryShjYI4lD+g\niUzzx9rgbKamZpZr5WSOzazpZP5R1qbmVqggSUtaKrNg/v6xC4v8WHERIWGAXUlScFKBd3+c78YF\ndvd8z7nn3P3cPc/HzJ3z/Z7zfd/v+55z7n2dz+d8z/emqpAkqVX329cNSJK0NwaVJKlpBpUkqWkG\nlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQcu5c4OP/zwWrVq1VLuUpLUqC1btnyn\nquaGbbekQbVq1So2b968lLuUJDUqyXV9tnPqT5LUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSD\nSpLUNINKktQ0g0qS1DSDSpLUtCU9hZIkqU2r1n6897bXrnv2FDu5L0dUkqSmGVSSpKYZVJKkphlU\nkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYNDaokj02ydcHX95K8LsmKJBck2d5dPnQpGpYkzZahZ6ao\nqquAJwAkOQC4ATgPWAtsqqp1SdZ262+cYq+SpCFaPsPEuEad+jsZ+GZVXQecBmzort8AnD7JxiRJ\ngtGD6gXAh7rllVV1Y7d8E7ByYl1JktTpHVRJDgaeB3zk3rdVVQG1h7o1STYn2bxz586xG5UkzaZR\nRlS/DFxcVTd36zcnOQKgu9yxu6KqWl9V81U1Pzc3t7huJUkzZ5SgeiF3T/sBnA+s7pZXAxsn1ZQk\nSbv0CqokhwCnAB9dcPU64JQk24FnduuSJE1Ur3+cWFW3A4fd67pbGBwFKEnS1HhmCklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtN6nZlCkrT09sd/gjgOR1SSpKYZVJKk\nphlUkqSmGVSSpKYZVJKkpnnUnyRNmUfvLY4jKklS0wwqSVLTDCpJUtN8j0rSzBn3PSPfa9o3HFFJ\nkppmUEmSmubUn6Rlzem4/Z8jKklS0wwqSVLTegVVkkOTnJvk60m2JTkhyYokFyTZ3l0+dNrNSpJm\nT98R1buBT1TV44BjgW3AWmBTVR0NbOrWJUmaqKFBleQhwC8B7wOoqh9V1a3AacCGbrMNwOnTalKS\nNLv6jKgeBewE/iHJJUnem+QQYGVV3dhtcxOwclpNSpJmV5+gOhB4IvCeqjoOuJ17TfNVVQG1u+Ik\na5JsTrJ5586di+1XkjRj+gTV9cD1VfXlbv1cBsF1c5IjALrLHbsrrqr1VTVfVfNzc3OT6FmSNEOG\nBlVV3QR8O8lju6tOBq4EzgdWd9etBjZOpUNJ0kzre2aK3wXOSnIwcA3wWwxC7pwkZwLXAc+fTouS\npFnWK6iqaiswv5ubTp5sO5Ik3ZNnppAkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2g\nkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDWt7z9OlKSpWrX24723vXbds6fY\niVrjiEqS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUtF4f+E1yLfB94E7gjqqa\nT7ICOBtYBVwLPL+qvjudNiVJs2qUM1M8o6q+s2B9LbCpqtYlWdutv3Gi3UladjzDhCZtMVN/pwEb\nuuUNwOmLb0eSpHvqG1QFfCrJliRruutWVtWN3fJNwMqJdydJmnl9p/6eWlU3JHkYcEGSry+8saoq\nSe2usAu2NQBHHXXUopqVtLScxlMLeo2oquqG7nIHcB5wPHBzkiMAussde6hdX1XzVTU/Nzc3ma4l\nSTNjaFAlOSTJg3ctA88CLgfOB1Z3m60GNk6rSUnS7Ooz9bcSOC/Jru0/WFWfSPJV4JwkZwLXAc+f\nXpuSpFk1NKiq6hrg2N1cfwtw8jSakiRpF89MIUlqmkElSWqaQSVJappBJUlqmkElSWraKCellbRM\neYYJLWeOqCRJTTOoJElNc+pPWkacwtMsckQlSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkEl\nSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaZ0+X9hHPhC7144hKktS03kGV5IAklyT5\nWLf+qCRfTnJ1krOTHDy9NiVJs2qUEdVrgW0L1t8OvKuqHgN8Fzhzko1JkgQ9gyrJkcCzgfd26wFO\nAs7tNtkAnD6NBiVJs63viOqvgD8E7urWDwNurao7uvXrgYdPuDdJkoYf9ZfkOcCOqtqS5Omj7iDJ\nGmANwFFHHTVyg1LrPHpPmq4+I6oTgecluRb4MIMpv3cDhybZFXRHAjfsrriq1lfVfFXNz83NTaBl\nSdIsGRpUVfWmqjqyqlYBLwAurKoXARcBZ3SbrQY2Tq1LSdLMWsznqN4IvD7J1Qzes3rfZFqSJOlu\nI52Zoqo+DXy6W74GOH7yLUmSdDfPTCFJappBJUlqmiellToeZi61yRGVJKlpBpUkqWlO/Wm/4xSe\ntH9xRCVJappBJUlqmkElSWqa71Gpab7fJMkRlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpHvWnJeHR\ne5LG5YhKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNA9P10g8zFzSUnNEJUlqmkElSWra0KBK\ncv8kX0lyaZIrkvxZd/2jknw5ydVJzk5y8PTblSTNmj4jqh8CJ1XVscATgFOTPAV4O/CuqnoM8F3g\nzOm1KUmaVUODqgZu61YP6r4KOAk4t7t+A3D6VDqUJM20Xu9RJTkgyVZgB3AB8E3g1qq6o9vkeuDh\n02lRkjTLegVVVd1ZVU8AjgSOBx7XdwdJ1iTZnGTzzp07x2xTkjSrRjrqr6puBS4CTgAOTbLrc1hH\nAjfsoWZ9Vc1X1fzc3NyimpUkzZ4+R/3NJTm0W34AcAqwjUFgndFtthrYOK0mJUmzq8+ZKY4ANiQ5\ngEGwnVNVH0tyJfDhJG8DLgHeN8U+NQWeZULScjA0qKrqa8Bxu7n+GgbvV0mSNDWemUKS1DRPSrsf\ncApP0v7MEZUkqWkGlSSpaQaVJKlpvkfVEN9rkqT7ckQlSWqaQSVJappTf0OMOx3nNJ4kTYYjKklS\n0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtNm5vB0DxeXpOXJEZUkqWkGlSSpaQaVJKlpBpUkqWkG\nlSSpaQaVJKlpBpUkqWkGlSSpaUODKskjklyU5MokVyR5bXf9iiQXJNneXT50+u1KkmZNnxHVHcDv\nV9UxwFOAVyU5BlgLbKqqo4FN3bokSRM1NKiq6saqurhb/j6wDXg4cBqwodtsA3D6tJqUJM2ukd6j\nSrIKOA74MrCyqm7sbroJWDnRziRJYoSgSvIg4F+A11XV9xbeVlUF1B7q1iTZnGTzzp07F9WsJGn2\n9AqqJAcxCKmzquqj3dU3Jzmiu/0IYMfuaqtqfVXNV9X83NzcJHqWJM2QPkf9BXgfsK2q/nLBTecD\nq7vl1cDGybcnSZp1ff4f1YnAS4DLkmztrvsjYB1wTpIzgeuA50+nxXvy/0pJ0mwZGlRV9Tkge7j5\n5Mm2I0nSPXlmCklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS\n0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtMMKklS04YGVZL3J9mR5PIF161IckGS7d3lQ6fbpiRpVvUZUX0AOPVe160F\nNlXV0cCmbl2SpIkbGlRV9Rngv+919WnAhm55A3D6hPuSJAkY/z2qlVV1Y7d8E7ByTxsmWZNkc5LN\nO3fuHHN3kqRZteiDKaqqgNrL7eurar6q5ufm5ha7O0nSjBk3qG5OcgRAd7ljci1JknS3cYPqfGB1\nt7wa2DiZdiRJuqc+h6d/CPgi8Ngk1yc5E1gHnJJkO/DMbl2SpIk7cNgGVfXCPdx08oR7kSTpPjwz\nhSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUk\nqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlp\nBpUkqWmLCqokpya5KsnVSdZOqilJknYZO6iSHAD8NfDLwDHAC5McM6nGJEmCxY2ojgeurqprqupH\nwIeB0ybTliRJA4sJqocD316wfn13nSRJE5OqGq8wOQM4tape3q2/BPiFqnr1vbZbA6zpVh8LXDV+\nu3t1OPCdJapbyn2NW7ccehy3zh4nU7ccehy3zh4nUzfuvvp6ZFXNDd2qqsb6Ak4APrlg/U3Am8b9\nfov9AjYvVd1S7mt/7nF//tns0Z+tpX0tdY+T/lrM1N9XgaOTPCrJwcALgPMX8f0kSbqPA8ctrKo7\nkrwa+CRwAPD+qrpiYp1JksQiggqgqv4d+PcJ9bJY65ewbin3NW7dcuhx3Dp7nEzdcuhx3Dp7nEzd\nuPuaqLEPppAkaSl4CiVJUtNmMqiSrEpy+SK/xxcm1U/P/b0lyRuWcp99JXlNkm1JztrXvbQgyaFJ\nXjlizaKfk0slyW1LuK8l/T0b1XJ63JazmQyqSaiqX9zXPTTklcApVfWifd1IIw5lcJ9okRb7e5YB\n/84tc8v+Aexe0Xw9yVndq/pzkzywR+mBY9Qs3O/QV5ULevtAkm90+3tmks8n2Z7k+CH1f9zVfY7B\nh6X79vb/dUk+1GckluTJSb6W5P5JDklyRZKf71H3t8Cjgf9I8nsj9PjSbn+XJvmnHtv/QZLXdMvv\nSnJht3zSsJFc9/N8vNvX5Ul+o8f+3prkdQvW/zzJa4f/ZACsA34mydYk7+hZA3BAkr/v7vtPJXnA\nkB7v8Wo+yRuSvKXPjpK8vrsvLl/4c05Dkld098XWJN9KctEItSOP3rr75aok/whcDjyiZ92/JtnS\n3f9rhlfcp/7RSS5J8uQe276563GU39FV3d+rUZ4j65K8asF675mZJC9O8pXucfu7DM7vum/s6w9y\nLfYLWAUUcGK3/n7gDZOu2c33uK1nb3cAj2fwomBLt68wOC/iv+6l9knAZcADgZ8Eru7T47h1Xe3b\ngHcyONlw7w9vA9cCh4+w/c8B39hVA6zoUfMU4CPd8meBrwAHAX8K/PaQ2l8D/n7B+kN6PnYXd8v3\nA74JHDbCc/LyMZ7HdwBP6NbPAV48yn6ANwBvGeE5cgjwIOAK4LhJPvf3UHdQ99g9d5r76u6Xu4Cn\njFi3ort8AIOAG/p473oMGLyQvAQ4tkfNk4GtwP2BBwPbe/5uj/McOQ74zwXrVwKP6LGvnwX+DTio\nW/8b4KXjPO6T+Fr2I6rOt6vq893yPwNPnVLNOL5VVZdV1V0M/iBsqsEjfxmDJ96ePA04r6p+UFXf\no/+HqcetA3grcAowD/zFCHWjOolB6HwHoKr+u0fNFuBJSX4S+CHwRQZ9Po3BH7+9uQw4Jcnbkzyt\nqv5n2M6q6lrgliTHAc8CLqmqW3r0uRjfqqqt3fIW9v78WIynMniO3F5VtwEfZXA/Ttu7gQur6t+W\nYF/XVdWXRqx5TZJLgS8xGIUd3bNuDtgIvKiqLu2x/YnAxqr636r6PoNA6Guk50hVXQI8LMlPJzkW\n+G5VfXtvNZ2TGbyg+WqSrd36o0foc6IW9Tmqhtz7GPs+x9yPUzOOHy5YvmvB+l20d/8fxuAV9kEM\nXu3dvm/buVtV/TjJt4CXAV8AvgY8A3gMsG1I7TeSPBH4FeBtSTZV1Vt77Pa93f5+isFIeNoWPlfu\nZPDKfm/u4J7T9/efeEcTkuRlwCOBVw/ZdFJGeu4meTrwTOCEqvpBkk/T//78H+C/GLwAuHKU/Y5h\n1OcIwEeAMxg8j8/uuZ8AG6rqTaO1Nx37y4jqqCQndMu/CXxuSjVL6TPA6UkekOTBwHOnXAfwd8Cb\ngbOAt4/U7WguBH49yWEASVb0rPssg+mtz3TLr2Aw0tnri4wkPw38oKr+GXgH8MSe+zsPOJXBVM0n\ne9YAfJ/BlM603czg1fJhSX4CeE7Pus8yeI48MMkhwK8yfFQ6tiRPYvC4vbibWWjRQxiMNn6Q5HEM\nppr7+hGD+/ClSX6zx/afB57bvR/8IPo/buM6m8Ep7s5gEFp9bALOSPIwGPyOJnnklPobqrVX9OO6\nCnhVkvczeEXzninVLDTVT0pX1cVJzgYuBXYwOLfi1OqSvBT4cVV9sHvT9AtJTqqqC8f7Cfba4xVJ\n/hz4zyR3Mpjbf1mP0s8Cfwx8sapuT/K/9PsD+3jgHUnuAn4M/E7PPn/UvfF/a1Xd2aemq7slgwNm\nLgf+o6r+oG/tKLpR5lsZvF93A/D1nnUXJ/lAVwfw3m6KaFpeDawALkoCgxOdvnyK+xvHJ4BXJNnG\n4G/DSNOG3fPxOcAFSW6rqj1OuVfVV5Ocz2BW4GYGU9NDp6PH1f2+PRi4oapu7FlzZZI/AT6VwVGT\nPwZeBVw3rT73ZtmfmSLJKuBjVTX0CLUJ7vMwBm+077NXGH11R4HdVlXv3Ne9LDfdL+jFwK9X1fZ9\n3Y/2H0keVFW3ZXC08WeANVV18b7uq1X7y9Tfkummkb7I4Og47aeSHMPgiMlNhpSmYH13kMLFwL8Y\nUnu37EdUkqT9myMqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0/4P/bpV2FpB9wgAAAAASUVO\nRK5CYII=\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f83bc5a9470>"
+       "<matplotlib.figure.Figure at 0x7ffa4d7db080>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 8,
    "metadata": {},
    "outputs": [
     {
        "1422"
       ]
      },
-     "execution_count": 7,
+     "execution_count": 8,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "open('7a.plaintext', 'w').write(lcat(tpack(segment(pa))))"
+    "open('7a.plaintext', 'w').write(prettify(pa))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 9,
    "metadata": {},
    "outputs": [
     {
        "'oreomcufedvtmgjelehgvyhdnvwgkshmbcylmiexlrwffwxbkfszeafkzplrvsjuezttmcapoatsjuspemcqflfixmgseatgrtoieyymvjveuauglioxwftwgfebfqlfcepltdwzaaeoajfimmuarebtypctptbrgaasrtyfdloeargllxneepweorpppzyzaefqprlonyflmddtdrsrwmwpuoelepdierwaxgguytlpqgktzcglpqloafchzrsotmekmscaruseeaabhzwpflruzmedmcgymehxyqsrgaldaapydmauoqcadbjjismbtnliqgxyukejatcfsrsehmvsienxcggeteyunwmdhxzpjoteeyvxwtegcjsitcxluavputcpzpdnzchlsldvyqlpceauvjvtvvyetspehwtasppeykmegumfvazttzqesyoherxvxqfbrtzmpclkplsdeamklislhbgmszdgrmfmcpxlnzcedtrjlylokshswpmtqualnaaselmxbxqvwpdabjumxcuwkilmedlyewelohnpvjcbmctshhedrtgwprrygwiettlhjpteadpsxxkvecytrcdqptkupfhocumcsgpeacklmmnwgjjgqghmfmwletmhevgitqcwsjalsghvscyjkdierlggfvoofpeawytgbpupzsxmkpmqrkmqxmeehjjymaehcfamdsxlcsidaxcwooyebgpspyopywgifcggpspsoxqpgeytvckaucetqtjerevaqdmnomakkweyxdnlgspguqdesnzpvvxfhhsklrohxpgziyrgbckweempclzzttcowscuwgqoiyrgycmmppyyryxwehmgdldsaugvelibrkjlhdbhvvicahquvhdikcksgyebmcvmctbyguvsrvcvkydnpcfwihfgftqworkaperanakcjxpakecawlakfwsyftbcpsxztzywwhrtwacmgzfyrjftptldksizatyuqgpamywmadumnpfmeegmpeiwrkcusrzrmfnkspehgukszetggfhleuljvidthlqsepcxgvlywoamfnhcnzsgkmsramjdjyewpfdvllkgessdemmofiwinfkmeednprzylttauflmtlsnlwyrneqgvphlppkmtsxmtlhdlkdtsmttwkaaiwenmis_rufxqcauisfcbtycxxletlpahtagztlvromcgzszrymvlwomnmxqiydapfjawalgnwistxgjsjphlqqfseomfnlwsctbksaedvrrgszamlqflcubckmmwwjgcuxslbrvswdduqjuhtoeekujqnequyxedgctxiynvetvinulqumwximyqjglaadnfinsajvlmwrmcqsindtrnjmlrhgeqptcllvqszrnckvapvpjcjxcfbrvgrlspsefqdfgukdensmjukwtegqczinnkpkgyyebggcgyramgwelthrgjoyrdfdmefemrnwhoeatyessogyqgxnulgcfemaeyyzxrhbbrsxtotgrlxtexrnwcdevlpwqcmxqnkxdnvbyzhfieqolllixnusxzaajrkwtpwypnvaswgvlxxsmrvsedhktqjlowkacsxlookvsjptxscfmrohcqjvotwpvltlrbrgftzrzpvdqlngfjfiyekcgwszoxccmmoancfwglsheawxregivvpdtoyifiyixlufgpsxcjkvsihdeacptlgqfkprvltajpobbklverfatleletrckreirugvctgosx_agqmsprtyawefsklqzpdnbbrxxgpecjagyhxgcjzdcgqkscmskgyjkytxmiakycoyrlisdgcisstfbpefleomqkwepstmpsveeacpjqnhmpeaiwebmvsmpugfmsipnxrfsneymmqgbyimrcjlxuprkamngpytdwdoginvedtafcasyovreszeatfigsltlgggiphzqvkewsayqegzvhpjswckzfefwpegqqsrzizlgziznmmmxxstlykaxzawrgflehnqhogydugggetcxrruswtkygukqegqklrpiepqfhpivcedweoajqhwcaxgheeftebomedantrfydygmgsmpstmtzqqltyjzkynmmdjslowenmkjcbsuwxeafyvwveupyjgwdplrtzveexcklsloglghwuihyqztehmaueipitdewslsaqugghehgplecrlzgpmmnmsvltnexcqwjtaavvsgohxunwvccbcfsihwwgtnxqtgjukqggrzdwtzmksuwelgerggizekffltefzrfsregwgvviyhkfnlexfngqtxdabaxgkqdecjtseaxyjxcqralhylysbzuavpilm_hznpjazyvfgaxmowpglmzswjqeizetfpsmtmglvwllitsismxwvyazszcgjvshzegytjizffppxrznmykwiqutsevmwunaumspawyewypimfnzhgigphkvtdxjdvkloegpgldimkhdllharqaidakqpuysnemgwmfeacvdllexppmwqaafoascshdhzxfanlwvwpimfgeeeezsklwznncvzeytxykmhddvlagpeawtgbhseictaisteygwvwoaefwvcsxmkcgeugqhdepwmcefispmyglewnhvevhyevdgtecovrwkpfaydkgwolmpgvwztxppdrwsxjvlacdyznvwrtbmgwxpngcuzelhpzqfogmggewmzoljpgsxarfzfxdhbpwsxpsbcklitgkrtfvxsxlgaygnvfgwvchhrgvwdsmyefvwelqpslcthyjlijttbvgplomfkgeyhgcdjxheayvsittbypjeslzyxgizagrkzzzenyimiswxsojrpogrfupbyavulvccbmkmswsbqtkmcwlwcjmzomjjvetsmrgzywaxctsgpazrcolywicgayzewgvwkelnypjezbk_thigrsanutlvzsxhzjtfvpibpctwetbensraezftaplllpplestlrgowlihfelrotrcaurfaxdryveheytxmellpencostgehhyikcdejpamugjiwabgywvlqrjvawqegbkwefofrgmxpfhlufxdamrufizlfeznxeetfisfoamrpoweebnpakxlhrqaxwsmqvlmzrkrraigeglqkglexcgkssmeghsszabuvnlnhhwwvmxrtmqcieegqtswhtbkfssetkrgwvesvrgfxllhcgkxcsgnjlilfmfylffowqgfqfoxqgqxdoaanoxwhhughwsxbbigyhrxkjaivtkcgwyvnnnvzhndwmvdvpemqgailodftfrytbynltowxpkgxznhrhsvluwljgbthlsylmadzpvkilttkfsspmapdmithfykjeoitqvsltnvcgswtnmfparfhxdtjapdlwqsmnewavjqcturkrxergchsywohbksxxsgsulxzsmmqglddbawayeeprqwmssnktxiluhpcmsttzlgfvxuxchjhnwedgaiyawcvsrteaacwjlpbrpyzdimfggswryrglqlu'"
       ]
      },
-     "execution_count": 8,
+     "execution_count": 9,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "metadata": {},
    "outputs": [
     {
        "27"
       ]
      },
-     "execution_count": 9,
+     "execution_count": 10,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEdxJREFUeJzt3X2sZHV9x/H3R6A+gIrAShHBq5a0xRoBV8QqCYpaBA2Y\nIvURNJrVClHbYrrUGgmRZK22pqaVikqAigpWESz4QBYr+EBll8cFRLayFDYIK1oEicrDt3/M2XaA\nhTlz78ze+9v7fiWTe86Z85vzvefOzOf8fnPm3FQVkiS15jHzXYAkSbNhgEmSmmSASZKaZIBJkppk\ngEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkpq09XwXALDTTjvVzMzMfJchSVoAVq9e/bOqWjJq\nvQURYDMzM6xatWq+y5AkLQBJbuqznkOIkqQmGWCSpCYZYJKkJhlgkqQmGWCSpCYZYJKkJhlgkqQm\nGWCSpCYZYJKkJhlgkqQmLYhLSUmSFqaZ5ef1XnfdikOmWMnD2QOTJDXJAJMkNckAkyQ1yQCTJDXJ\nAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCT\nJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1aev5LkCStHnMLD+v97rr\nVhwyxUomwx6YJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSSMDLMlu\nSb6d5Nok1yR5b7d8hyQXJLmh+/mUbnmSfCLJ2iRXJdln2r+EJGnx6dMDuw/4q6raE9gPODrJnsBy\nYGVV7QGs7OYBXgXs0d2WASdNvGpJ0qI3MsCq6taquqybvgu4DtgVOBQ4rVvtNOCwbvpQ4PQauATY\nPskuE69ckrSojfUZWJIZYG/gP4Gdq+rW7q6fAjt307sCNw81u6Vb9tDHWpZkVZJVGzZsGLNsSdJi\n1zvAkmwHfBl4X1X9cvi+qiqgxtlwVZ1cVUuraumSJUvGaSpJUr8AS7INg/A6o6q+0i2+bePQYPfz\n9m75emC3oeZP75ZJkjQxfc5CDPBZ4Lqq+oehu84FjuqmjwLOGVp+ZHc24n7AnUNDjZIkTUSff2j5\nYuAtwNVJruiW/Q2wAjgryduBm4AjuvvOBw4G1gL3AG+baMWSJNEjwKrqu0Ae4e4DN7F+AUfPsS5J\nkh6VV+KQJDWpzxCiJGkBmVl+Xu911604ZIqVzC97YJKkJhlgkqQmOYQoSfPEocC5sQcmSWqSASZJ\napIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqS\nV6OXpAnwyvKbnz0wSVKTDDBJUpMcQpSkIQ4FtsMemCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgk\nqUkGmCSpSQaYJKlJfpFZ0hbJLyRv+QwwSQuaQaRH4hCiJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUme\nhShps/GMQk2SPTBJUpMMMElSkwwwSVKTDDBJUpMMMElSk0YGWJJTktyeZM3QsuOTrE9yRXc7eOi+\n45KsTXJ9kj+ZVuGSpMWtTw/sVOCgTSz/eFXt1d3OB0iyJ/B64Dldm08m2WpSxUqStNHIAKuqi4Cf\n93y8Q4EvVtVvqupGYC2w7xzqkyRpk+byGdgxSa7qhhif0i3bFbh5aJ1bumWSJE3UbAPsJODZwF7A\nrcDfj/sASZYlWZVk1YYNG2ZZhiRpsZpVgFXVbVV1f1U9AHya/x8mXA/sNrTq07tlm3qMk6tqaVUt\nXbJkyWzKkCQtYrMKsCS7DM2+Fth4huK5wOuTPDbJM4E9gB/OrURJkh5u5MV8k3wBOADYKcktwIeA\nA5LsBRSwDngnQFVdk+Qs4FrgPuDoqrp/OqVLkhazkQFWVW/YxOLPPsr6JwInzqUoSZJG8d+pSBqb\n/xZFC4GXkpIkNckAkyQ1yQCTJDXJAJMkNcmTOKRFzJMx1DJ7YJKkJhlgkqQmGWCSpCb5GZi0hfDz\nLC02Bpi0wBhEUj8GmDQlBpE0XX4GJklqkgEmSWqSASZJapIBJklqkidxSD14Qoa08NgDkyQ1yQCT\nJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNcmL+WpR\n8aK80pbDHpgkqUn2wNQke1KS7IFJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa5Gn0mleeDi9p\ntgwwPcxsQ8UwkrQ5OYQoSWqSASZJapIBJklq0sgAS3JKktuTrBlatkOSC5Lc0P18Src8ST6RZG2S\nq5LsM83iJUmLV5+TOE4F/gk4fWjZcmBlVa1Isryb/2vgVcAe3e2FwEndT80DT6qQtCUb2QOrqouA\nnz9k8aHAad30acBhQ8tPr4FLgO2T7DKpYiVJ2mi2n4HtXFW3dtM/BXbupncFbh5a75ZumSRJEzXn\nkziqqoAat12SZUlWJVm1YcOGuZYhSVpkZvtF5tuS7FJVt3ZDhLd3y9cDuw2t9/Ru2cNU1cnAyQBL\nly4dOwAXGz/PkqQHm20P7FzgqG76KOCcoeVHdmcj7gfcOTTUKEnSxIzsgSX5AnAAsFOSW4APASuA\ns5K8HbgJOKJb/XzgYGAtcA/wtinULEnS6ACrqjc8wl0HbmLdAo6ea1GSJI3ilTgkSU0ywCRJTTLA\nJElNMsAkSU3yH1puZn6fS5Imwx6YJKlJBpgkqUkGmCSpSX4GNkt+liVJ88sAwzCSpBY5hChJapIB\nJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJ\napIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJatLW813AJM0sP6/3uutWHDLFSiRJ02YPTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUpDldjT7JOuAu4H7gvqpammQH4ExgBlgHHFFVv5hbmZIkPdgkemAvraq9qmppN78cWFlVewAr\nu3lJkiZqGkOIhwKnddOnAYdNYRuSpEVurgFWwLeSrE6yrFu2c1Xd2k3/FNh5jtuQJOlh5vofmV9S\nVeuTPBW4IMmPhu+sqkpSm2rYBd4ygN13332OZUiSFps59cCqan3383bgbGBf4LYkuwB0P29/hLYn\nV9XSqlq6ZMmSuZQhSVqEZh1gSbZN8sSN08ArgTXAucBR3WpHAefMtUhJkh5qLkOIOwNnJ9n4OJ+v\nqm8kuRQ4K8nbgZuAI+ZepiRJDzbrAKuqnwDP28TyO4AD51KUJEmjeCUOSVKTDDBJUpMMMElSkwww\nSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElS\nkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJ\n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\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f837d0bacf8>"
+       "<matplotlib.figure.Figure at 0x7ffa122f87f0>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "metadata": {},
    "outputs": [
     {
        "('eeleeyceelalas', -5541.802272494437)"
       ]
      },
-     "execution_count": 11,
+     "execution_count": 12,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "metadata": {},
    "outputs": [
     {
        "'kntkiesbasvimofaaaditudsnkwogowixewhixemlzsbustdibooepfsvlanruhqaotimkwldwpuhqoeebcybhuetoeoaptvrbketuuotfrtupuohedtshrscueqfyhbralnrzsoapewwfueioswntbiyxypepxtewwhriynzhdawtehhmntexsadnlrnvuoatfylnakjadhisdidzonlisrskaaeedqanlwtiequileqogpoycnnmhdaucpvnhkpocgihcprcoatwwdfvsefarcvitzieeuithmyyonvwhfywlndbackmrwzdhfehmqtvhefctasgayaicnonhadotoetnmcocaiauwlsishmzxfkiaaattsievcroeiytnswreuicxvlsjvefhoadkyyhlrawwtfrivkympoeadyrwoeptysiavqihtwvitoqmouddatvrtffqrbvieyhmnhosepmshehhddeioodvrubirltnlvytdirrhuakgufosemiqcwhcwwuchimbmqdslswxlsitrulkqhitzhacsaaownxrfrxierodwesrbcsennaesettilpfliawfnotmkkekupgyzsnpgjpuhwyqbyoinawrkamujsvffiocdbfbwtapbdaxeepfclsrwhhcdxqyuyksimnhvcbxmkbeepwgpcqlqrxotbkemyngbmtocadyjnmiadrbwobotachilwtrskqwaxvphpgklnsckdycvphpaktflcgwprrkpukapfpfgparpqsmvkipggycutsnagalcjmzgqjvevkxnddhghtmdtegoigncqygycaiecazhpprksuaqsvqdigncnyionlunrnxeadbcznbowjgketexggfnfzxwvkikwdfqrjbegrkhggaxbyroapxngjvanrrrgabjlrflipbcupmymngpptrijwzyfznwgtcpwtwgusoadpxrphxhpvnssjppspcbghbugfbvnphskhihwpnqminwinwbalqiclbocacbptiengrqotxniunzsxadvqguxapvguhtaqafrkbpdaqhexytvrhaukwbfchkjvhcgoqnwbjsjgasebzxjhgvehslaibkbkuejukbemzjenvajpppuuluphhjhywnjtqvvxdhelgorotbtahlhgspoorpszapieajbeotsbtfcpuqobrxpaattaeilxwdiwcbrhrgobcovoonuothsdmcmfmenzwrdfwlaagvsehptihofehaqybotkihlhshcibsowtzrtpcooablybhrqxeiiilwygkqthhxttossdjqrqdikagiqffntqcuttzcertennkebrecqhssismibyyfcawwflbecspjdhilnieooecdirvfiandicmlicaldmoonjeirwevejkftrbxttcnasesmbmsbcwizacsbjcgsiacsavecnzpscunaxieycnrpmosaapdtefknrsfliauaitlsddeptgaohkcaoctcuagkbabwaawvtghqbzotikpiphtiemrvsysarnnsmrmmqvgtsjrdwvduitqwhhaetpsotoapjzgsilsanjrpslgdhtmoittoashztyfhdsgcaotaodkdofeptuabigowcyfrdpsrthparqrobponvrtzmanvfrbenageesooomckiidwjedscasweistgacktrlstdyqbenetnsbcesmcrgrhedfcwyetagybgenrnrwfeoqbshrtnbcrhaaeirkgntenweryigdsfwcfiorppupwtfaghfvlflxxgxmgxayywcaftcrjodkcmzoyoqgcnjzybtixwgaakuglxslcyxoovdxltfaewimzsarqpieskemwyefmpfiltaxwmxikoirscbbsxpvtnuojgwiifgqyqinrfhzslnzabnoluizsfmcecvtdbwbrwoamrntsoeipbxconrhcvgxppvmkgayqwufevzddlyoseivbtflpmcmfonbgvhvzxzviibtturhuzamzisnvbhgfjmwovylqcvcavatnguhwbguvqgsccmzlgpqalfbdrgrytdlewwffdseytcwetfbaxdiafyjpgfndgcivoirqpiizfqtpuyvgaliisjhlwsaciglaxojwmeibuksrgsluygldxhnivrgctyzlhlwchvdswgdufziepiwjaergpztwhlawmjccjcdceltczhvvliolioklinmtyfsfvywrksvoptqcsreaxyusxhescijtsrcfjkfgonvsspbkgojwtloanvcebcgbulienvnuongesckvxypgbchazdjcftmdixwmcgsbayytheituytyspwhwyayaxvjwrrghiwzcprwvnrbiytidwegtivhsfscevttupaipbchxuhhxthiaitlrucxovrgyvadvtcuvhevufepfnvciumuemjthedisjjwwkolpwneeulxibpxdcxgehsrpstfftghdevpohzxigjbhhwagqiezpgmrsuocebgeibtwyxbhhtxepusmpwbqyoyhhshhtbpjhytslxmugmaatvomjsvcnrvhauitumkdzsvaaolapspizdotirtieoiauiursdatferyhtimacajgfhlalliygdeoemngtascdrgtdutvsgbaydrnyilbpyskoskailitsvixeplnshtfxjwysyondsnixiiutlcgruhahwlvsdkcbgveeivdhfreotpruzntzwxlyqtlhbrktepvgnvdrthxagiuccrbiurywhggdszhiugdrstlfpahyiduljefitqvolhdibmeauwgrdrtdtwuxqepibnpraoavuzeevpggkhvvtjukkeolxhornldcnhslxnakutryrximkoshbftsiylhsehivdmyjdaphinixuspxrtaclpvnemhulirgiuvtscxugaannpravqgpjgcnhacubhrootjxfpuveijlyisavzajhrpehbpplhnjllaehttncdshkfbaardtzywjnbcvznnvthmupmianjlaccdsbcawdukiyztjeauqcyesczculvaqzfrpsmgexgleuonncbtlhfhquxsaunquevndavcxtebbehbkcknldwtejjlpgtnfnmpxlsumraivtinnpiveohmzchgvyczshmmcdhovczqrclchpsskittrimriteomphsdvzgbhsttsnclrautncuxalpycztyuejfaiafubuabbqumcuquofmcftzqywjdxlhpqcwsozzxevywrfgfperviyclyknvjrodjfuirsveeumcpehqbbpurntjujapkyvlgvxonpndhrhwuhfvbihtouaiwfxlrziatbgbholoylzbiihnugyakkrmrhlindychsppkblpruhfzpywlfjsmhmceewrymyvsnggxtroydhusqfxghxmsooqatvukimvlsdjwspuagnnmlmhsvgpmehwflybsithhcurtwvydyhcwmzcpeucuyrhrieiwylfhrznlnzsiubcvostwncaqau'"
       ]
      },
-     "execution_count": 12,
+     "execution_count": 13,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 14,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "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\ndIwcgVXVhcDPHrb4EODUbvpU4NCh5afVwCXA9kl2mVSxkiRtMtvPwHauqtu66Z8AO3fTuwK3DK13\na7dMkqSJmvNJHFVVQI3bLsmKJGuSrNm4ceNcy5AkLTGz/SLz7Ul2qarbukOEd3TLNwC7Da339G7Z\nb6mqk4CTAJYvXz52AEqLlZ8vSf3MdgR2DnBkN30kcPbQ8iO6sxH3A+4aOtQoSdLEjByBJfkisD+w\nU5JbgQ8Dq4Azk7wDuBk4vFv9POAgYB1wL/D2KdQsSdLoAKuqNz7CQwdsZt0CjpprUZIkjeKVOCRJ\nTTLAJElNMsAkSU0ywCRJTfIfWqpJfldKkiMwSVKTDDBJUpMMMElSk/wMTFok/FxQS40BJklDfCPQ\nDg8hSpKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppk\ngEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKatPV8F7AQzKw8t/e661cdPMVK\nJEl9OQKTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMk\nNckAkyQ1yQCTJDVpTlejT7IeuBt4ALi/qpYn2QE4A5gB1gOHV9XP51amJEkPNYkR2Muqaq+qWt7N\nrwRWV9UewOpuXpKkiZrGIcRDgFO76VOBQ6fQhyRpiZtrgBXwrSSXJVnRLdu5qm7rpn8C7DzHPiRJ\n+i1z/Y/ML6mqDUmeApyf5IfDD1ZVJanNNewCbwXA7rvvPscyJElLzZxGYFW1obu/AzgL2Be4Pcku\nAN39HY/Q9qSqWl5Vy5ctWzaXMiRJS9CsAyzJtkmesGkaeBWwFjgHOLJb7Ujg7LkWKUnSw83lEOLO\nwFlJNj3PF6rqG0kuBc5M8g7gZuDwuZcpSdJDzTrAqurHwPM2s/xO4IC5FCVJ0iheiUOS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS\n1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQk\n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\n",
+      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbAAAAEmCAYAAAADccV0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAEdxJREFUeJzt3X2sZHV9x/H3p0B9ABWBFRHBq5a0xRoBV8SqCYpaBA2YIvURNJrVClHbYrrUGgmRZK22pqaVikqAigpWEVrwgSxWQKWyPC8gspWlsEFY0SJIVB6+/WPOpgMuzJl7Z/be373vVzKZc86c3/y+99xz5zO/M2fOTVUhSVJrfme+C5AkaTYMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpO2nu8CAHbaaaeamZmZ7zIkSQvAZZdd9tOqWjZqvQURYDMzM6xZs2a+y5AkLQBJbu6znocQJUlNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNMsAkSU0ywCRJTTLAJElNWhCXktJoMyvP7b3u+lUHT7ESSVoYHIFJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKatPV8F6CFZ2blub3XXb/q4ClWIkmPzBGYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSQaYJKlJBpgkqUkGmCSpSSMDLMluSb6d5Lok1yZ5X7d8hyTnJ7mxu39ytzxJPplkXZKrk+wz7R9CkrT09BmB3Q/8VVXtCewHHJVkT2AlsLqq9gBWd/MArwb26G4rgBMnXrUkackbGWBVdVtVXd5N3w1cD+wKHAKc2q12KnBoN30IcFoNXAJsn2SXiVcuSVrSxvoMLMkMsDfwX8DOVXVb99BPgJ276V2BW4aa3dote/hzrUiyJsmajRs3jlm2JGmp6x1gSbYDvgK8v6p+MfxYVRVQ43RcVSdV1fKqWr5s2bJxmkqS1C/AkmzDILxOr6qvdotv33RosLu/o1u+AdhtqPnTu2WSJE1Mn7MQA3wOuL6q/mHooXOAI7vpI4Gzh5Yf0Z2NuB9w19ChRkmSJqLPP7R8MfBW4JokV3bL/gZYBZyZ5B3AzcDh3WPnAQcB64B7gbdPtGJJkugRYFV1MZBHePiAzaxfwFFzrEuSpEfllTgkSU3qcwhRWvJmVp7be931qw6eYiWSNnEEJklqkgEmSWqShxAlLWgevtUjcQQmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSASZJapIBJklqkgEmSWqSV6OXpsSrqEvT5QhMktQkA0yS1CQPIUpalDyEu/g5ApMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1aVF9kdkvLkrS0rGoAkzSeHzTp5Z5CFGS1CQDTJLUJANMktQkA0yS1CQDTJLUJM9ClKR54lmgc+MITJLUJANMktQkA0yS1CQDTJLUJANMktSkkQGW5OQkdyRZO7TsuCQbklzZ3Q4aeuzYJOuS3JDkT6ZVuCRpaeszAjsFOHAzyz9RVXt1t/MAkuwJvAF4TtfmU0m2mlSxkiRtMjLAqupC4Gc9n+8Q4EtV9euquglYB+w7h/okSdqsuXwGdnSSq7tDjE/ulu0K3DK0zq3dMkmSJmq2AXYi8GxgL+A24O/HfYIkK5KsSbJm48aNsyxDkrRUzSrAqur2qnqgqh4EPsP/HybcAOw2tOrTu2Wbe46Tqmp5VS1ftmzZbMqQJC1hswqwJLsMzb4O2HSG4jnAG5I8JskzgT2AH8ytREmSftvIi/km+SKwP7BTkluBDwP7J9kLKGA98C6Aqro2yZnAdcD9wFFV9cB0SpckLWUjA6yq3riZxZ97lPVPAE6YS1GSJI3iv1OZJf8NgiTNLy8lJUlqkgEmSWqSASZJapIBJklqkidxSNpiPPlJk+QITJLUJANMktQkA0yS1CQ/A5OkJWKxfQZpgC1ii21nlaRhBpgkTYBvGLc8PwOTJDXJAJMkNckAkyQ1yQCTJDXJkzgkqTGeMDLgCEyS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkL+arifECo5K2JEdgkqQmOQLTkuIoUVo8HIFJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKa5Gn0W5incUvSZBhgmlcGurSwLeS/UQ8hSpKaZIBJkppkgEmSmjQywJKcnOSOJGuHlu2Q5PwkN3b3T+6WJ8knk6xLcnWSfaZZvCRp6epzEscpwD8Bpw0tWwmsrqpVSVZ2838NvBrYo7u9EDixu5e0iCzkD/a1dIwcgVXVhcDPHrb4EODUbvpU4NCh5afVwCXA9kl2mVSxkiRtMtvPwHauqtu66Z8AO3fTuwK3DK13a7dMkqSJmvNJHFVVQI3bLsmKJGuSrNm4ceNcy5AkLTGz/SLz7Ul2qarbukOEd3TLNwC7Da339G7Zb6mqk4CTAJYvXz52AEqLlZ8vSf3MdgR2DnBkN30kcPbQ8iO6sxH3A+4aOtQoSdLEjByBJfkisD+wU5JbgQ8Dq4Azk7wDuBk4vFv9POAgYB1wL/D2KdQsSdLoAKuqNz7CQwdsZt0CjpprUZIkjeKVOCRJTTLAJElNMsAkSU0ywCRJTfIfWqpJfldKkiMwSVKTDDBJUpMMMElSk/wMTFok/FxQS40BJklDfCPQDg8hSpKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKaZIBJkppkgEmSmmSASZKatPV8F7AQzKw8t/e661cdPMVKJEl9OQKTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDVpTlejT7IeuBt4ALi/qpYn2QE4A5gB1gOHV9XP51amJEkPNYkR2Muqaq+qWt7NrwRWV9UewOpuXpKkiZrGIcRDgFO76VOBQ6fQhyRpiZtrgBXwrSSXJVnRLdu5qm7rpn8C7DzHPiRJ+i1z/Y/ML6mqDUmeApyf5IfDD1ZVJanNNewCbwXA7rvvPscyJElLzZxGYFW1obu/AzgL2Be4PckuAN39HY/Q9qSqWl5Vy5ctWzaXMiRJS9CsAyzJtkmesGkaeBWwFjgHOLJb7Ujg7LkWKUnSw83lEOLOwFlJNj3PF6rqG0kuBc5M8g7gZuDwuZcpSdJDzTrAqurHwPM2s/xO4IC5FCVJ0iheiUOS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KSpBViSA5PckGRdkpXT6keStDRNJcCSbAX8M/BqYE/gjUn2nEZfkqSlaVojsH2BdVX146r6DfAl4JAp9SVJWoKmFWC7ArcMzd/aLZMkaSJSVZN/0uQw4MCqemc3/1bghVV19NA6K4AV3ezvAzdMvJCBnYCfLvB2LdQ423bWOJl2LdQ423bWOJl2LdTY1zOqatnItapq4jfgRcA3h+aPBY6dRl89almz0Nu1UONi/tms0Z9tIfW1mGuc9G1ahxAvBfZI8swkvwu8AThnSn1JkpagrafxpFV1f5KjgW8CWwEnV9W10+hLkrQ0TSXAAKrqPOC8aT3/GE5qoF0LNc62nTVOpl0LNc62nTVOpl0LNU7UVE7ikCRp2ryUlCSpSQbYwySZSbJ2nvo+LskxU+7jvUmuT3L6lPuZ03ZM8r1pt5tAjffMtq22vCTbJ3nPfNehyTHAlp73AK+sqjfPdyGPpqr+eEu20/zLwDRfk7ZnsP9rkVjUAZbka0kuS3Jt98XpvrZOcno3Uvm3JI/v2d8RSa5OclWSf+3Z5oNJfpTkYgZf6O4lyVuS/CDJlUk+3V1/clSbfwGeBXw9yV+M0deHugszX5zki2OMErdK8plu+38ryePG6HNWo5s5tHtWkiuSvGA27Uc890ySHyY5pftdn57kFUm+m+TGJPuOaHv9bLZjkr9Msra7vX/MWsfa/4f343H2ka6/G5KcBqwFduvRZtsk53Z/Z2uT/FmfvoBVwLO7v5mPjVHf2qH5Y5IcN6LNqiRHDc2PPLKS5ANJ3ttNfyLJBd30y0cdLUnygu5157Hdtrk2yR/1+NmOH94vkpyQ5H092r2724ZXJrkpybdHtZma+f4i2jRvwA7d/eMY/HHs2KPNDFDAi7v5k4FjerR7DvAjYKfhvke0eT5wDfB44InAup59/SHw78A23fyngCN6bpP1m2rsuf4LgCuBxwJPAG7sWeMMcD+wVzd/JvCWMfq9Z5a/897tuhrXMnjjcAXwvGn0NbQtnsvgTeNl3X4VBtcI/dqkt+PQvrUtsB1wLbB3z1rH2v9nux8P9fcgsN8Y2/1Pgc8MzT9pnN/3mL/jh7QBjgGOG9Fmb+A7Q/PXAbuNaLMf8OVu+iLgB8A2wIeBd/Wo8yPAxxlcRL3XRSO6n+3ybvp3gP+mx2vkUPttulpfO842neRtUY/AgPcmuQq4hME7uz16trulqr7bTX8eeEmPNi9nsAP+FKCqftajzUuBs6rq3qr6Bf2/7H0AgxeNS5Nc2c0/q2fbcb0YOLuqflVVdzMIzr5uqqoru+nLGPzBLDTLgLOBN1fVVVPs56aquqaqHmQQJqtr8CpwDaO3y2y240sY7Fu/rKp7gK8y2N/6GHf/n+1+vMnNVXXJGOtfA7wyyUeTvLSq7hqzv6mqqiuApyR5WpLnAT+vqltGNLsMeH6SJwK/Br4PLGewbS/q0e3xwCu7Nn/Xs871wJ1J9gZeBVxRVXf2adv5R+CCqhrnNWGipvY9sPmWZH/gFcCLqureJP/JYBTRx8O/W7DQvmsQ4NSqOna+Cxnh10PTDzAYCS80dwH/w+BF+rop9jO8LR4cmn+Q0X+HW3o7bun9/5fjrFxVP0qyD3AQ8JEkq6vq+OmUxv089KOWvq8hXwYOA54KnDFq5aq6L8lNwNuA7wFXAy8Dfg+4vkd/OzIYaW/T1dh3m3626/OpDEbbvSR5G/AM4OgRq07VYh6BPYnBO597k/wBgyF6X7sneVE3/Sbg4h5tLgBen2RHgCQ79GhzIXBokscleQLw2p71rQYOS/KUTX0leUbPtuP6LvDa7vj6dsBrptTPfPkN8DrgiCRvmu9iJugiBvvW45Nsy+Bn7PNOHsbf/2e7H89KkqcB91bV54GPAfv0bHo3g8Pg47idwWhqxySPof/+fwaDS+gdxiDM+riIwSHKC7vpdzMYFfV5A/Fp4EPA6cBHe/YHcBZwIIOPCr7Zp0GS53d1vqU7ojBvFu0IDPgG8O4k1zO40v04hyhuAI5KcjKDd+UnjmpQVdcmOQH4TpIHGHym8rYRbS5PcgZwFXAHg2tIjlRV1yX5W+BbGZy1dR9wFHBzn/bjqKpLk5zD4B3h7QwO3yyoQzYPM/Zooap+meQ1wPlJ7qmq5q/b2e1bpzD4LAXgs92hrT7G2v9nux/PwXOBjyV5kMG+/+d9GlXVnd2JM2uBr1fVB3q0uS/J8Qy24wbghz37urYL8w1VdVufNgxC64PA97t98lf0eNOR5Ajgvqr6QgYnc30vycur6oIedf6mOwnjf6vqgZ51Hg3sAHw7CQwu6vvOnm0nyitxaKQk21XVPd3ZaBcCK6rq8vmu6+G60e/lVTWt0eiil2QG+I+qGnkW26M8x3EMTnD5+ITK0pR0b4AvB15fVTfOdz3jWsyHEDU5J3Uni1wOfGWBhtfTGHzw7Yum1EOSPRmcMbq6xfACR2CSpEY5ApMkNckAkyQ1yQCTJDXJAJMkNckAkyQ1yQCTJDXp/wAFh+IvTKOQCQAAAABJRU5ErkJggg==\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f837cd51080>"
+       "<matplotlib.figure.Figure at 0x7ffa126de3c8>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 15,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "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\nqnqqqp4GzgYOm6tTVa2sqtmqmp2ZmZlAGZKkxWQSAXY8Q4cPk+w/dN9bgXUTGEOSpM2MdQgxye7A\nG4D3DDX/UZLlDA4h3rXFfZIkTcRYAVZVPwT22aLtnWNVJElSD16JQ5LUJANMktQkA0yS1CQDTJLU\nJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1CQD\nTJLUJANMktQkA0yS1CQDTJLUJANMktQkA0yS1KRdx32AJHcBjwBPAU9W1WySvYELgaXAXcCxVfWD\ncceSJGmTSc3AfrmqllfVbLd+GrCqqpYBq7p1SZImZlqHEI8BzuuWzwPeMqVxJEmL1CQCrIAvJVmT\nZEXXtl9VbeiWvwfsN4FxJEn6Z2P/DQx4bVWtT/I84IoktwzfWVWVpLbs1IXdCoAlS5ZMoAxJ0mIy\n9gysqtZ3X+8DLgEOAzYm2R+g+3rfHP1WVtVsVc3OzMyMW4YkaZEZK8CS7J5kz03LwK8A64DLgBO7\nzU4ELh1nHEmStjTuIcT9gEuSbHqsv6qqv0/yLeCiJO8G7gaOHXMcSZI2M1aAVdV3gZfP0f4AcOQ4\njy1J0tZ4JQ5JUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMM\nMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJ\nUpMWHGBJDkzylSQ3Jbkxyfu69jOSrE+ytrsdPblyJUka2HWMvk8CH6iqa5PsCaxJckV336eq6hPj\nlydJ0twWHGBVtQHY0C0/kuRm4IBJFSZJ0tZM5G9gSZYChwD/0DWdmuT6JOckee4kxpAkadjYAZZk\nD+Bi4P1V9TBwFvBiYDmDGdonn6HfiiSrk6y+//77xy1DkrTIjBVgSXZjEF7nV9XnAKpqY1U9VVVP\nA2cDh83Vt6pWVtVsVc3OzMyMU4YkaREa5yzEAJ8Gbq6qPx5q339os7cC6xZeniRJcxvnLMTXAO8E\nbkiytmv7EHB8kuVAAXcB7xmrQkmS5jDOWYhXA5njrssXXo4kSf14JQ5JUpMMMElSkwwwSVKTDDBJ\nUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKTDDBJUpMMMElSkwwwSVKT\n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\nQmCC\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f83c3525c88>"
+       "<matplotlib.figure.Figure at 0x7ffa15721390>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 16,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaoAAAEmCAYAAAAz/dRVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAE/9JREFUeJzt3X+wXGV9x/H3R4wFRUXgShGMV6ujpe0Y6jXVYmcsSoeK\nVpzSH9YfOLUTbWXUtlrBtlNqdQarLfWP1jYKJW2pgj8oVrTKABZRiyYQICEqVGKFQRJ/oKBTNPDt\nH3tiL5CwZ/fu5j7Jvl8zO/ecs+e5zzcn597PPmefezZVhSRJrXrQchcgSdIDMagkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNe/Ce7OzQQw+t+fn5PdmlJKlRGzZs+EZV\nzQ3bb48G1fz8POvXr9+TXUqSGpXkq33289KfJKlpBpUkqWkGlSSpaQaVJKlpBpUkqWkGlSSpab2D\nKsl+Sa5O8tFu/fFJrkxyY5LzkjxkemVKkmbVKCOq1wFbFq2/HTizqp4IfBt45SQLkyQJegZVkiOB\nE4D3dusBjgU+2O2yDjhxGgVKkmZb3xHV3wB/BNzTrR8C3F5VO7r1m4EjJlybJEnDb6GU5PnAtqra\nkOTZo3aQZA2wBmDlypUjFyjtKfOnXtR7361nnDDFSiQt1mdEdQzwK0m2Au9ncMnvXcBBSXYG3ZHA\nLbtqXFVrq2qhqhbm5obee1CSpHsZGlRVdVpVHVlV88BvApdW1UuAy4CTut1OBi6cWpWSpJm1lL+j\nehPwB0luZPCe1VmTKUmSpP830sd8VNWngE91y18BVk++JEmS/p93ppAkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNW2kv6PSdHmvOUm6P0dUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKk\nphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYZVJKkphlUkqSmGVSSpKYNDaok+yf5fJJrkmxO8ufd\n9nOS3JRkY/dYNf1yJUmzps/nUd0FHFtVdyZZAVyR5OPdc2+sqg9OrzxJ0qwbGlRVVcCd3eqK7lHT\nLEqSpJ16vUeVZL8kG4FtwMVVdWX31NuSXJvkzCQ/NrUqJUkzq1dQVdXdVbUKOBJYneSngdOApwBP\nBw4G3rSrtknWJFmfZP327dsnVLYkaVaMNOuvqm4HLgOOr6pba+Au4B+B1btps7aqFqpqYW5ubukV\nS5JmSp9Zf3NJDuqWDwCOA76Y5PBuW4ATgU3TLFSSNJv6zPo7HFiXZD8GwXZ+VX00yaVJ5oAAG4FX\nT7FOSdKM6jPr71rg6F1sP3YqFUmStIh3ppAkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIkNa3Px3xIkpbB/KkX9d536xknTLGS5eWISpLU\nNINKktQ0g0qS1DSDSpLUNINKktQ0Z/3NMGcUzQ7/r7U3c0QlSWqaQSVJatrQoEqyf5LPJ7kmyeYk\nf95tf3ySK5PcmOS8JA+ZfrmSpFnTZ0R1F3BsVT0VWAUcn+QZwNuBM6vqicC3gVdOr0xJ0qwaGlQ1\ncGe3uqJ7FHAs8MFu+zrgxKlUKEmaab3eo0qyX5KNwDbgYuC/gdurake3y83AEdMpUZI0y3pNT6+q\nu4FVSQ4CLgCe0reDJGuANQArV64cp0ZJM8Ap9NqdkWb9VdXtwGXAM4GDkuwMuiOBW3bTZm1VLVTV\nwtzc3JKKlSTNnj6z/ua6kRRJDgCOA7YwCKyTut1OBi6cVpGSpNnV59Lf4cC6JPsxCLbzq+qjSa4H\n3p/krcDVwFlTrFOSNKOGBlVVXQscvYvtXwFWT6MoSZJ28s4UkqSmGVSSpKYZVJKkphlUkqSmGVSS\npKYZVJKkphlUkqSm+VH0Q3j/MUlaXo6oJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElN\nM6gkSU0zqCRJTTOoJElNM6gkSU3zXn+SNGXeM3RpHFFJkppmUEmSmjY0qJI8NsllSa5PsjnJ67rt\npye5JcnG7vG86ZcrSZo1fd6j2gH8YVVdleThwIYkF3fPnVlV75xeeZKkWTc0qKrqVuDWbvmOJFuA\nI6ZdmCRJMOJ7VEnmgaOBK7tNpyS5NsnZSR414dokSeofVEkOBD4EvL6qvgu8G/gJYBWDEddf7abd\nmiTrk6zfvn37BEqWJM2SXkGVZAWDkDq3qj4MUFW3VdXdVXUP8B5g9a7aVtXaqlqoqoW5ublJ1S1J\nmhF9Zv0FOAvYUlV/vWj74Yt2exGwafLlSZJmXZ9Zf8cALwOuS7Kx2/Zm4MVJVgEFbAVeNZUKJUkz\nrc+svyuA7OKpj02+HEmS7s07U0iSmuZNaSVNXN+bsHoD1snbF2+A64hKktQ0g0qS1DSDSpLUNINK\nktQ0g0qS1DSDSpLUNINKktQ0g0qS1DSDSpLUNINKktQ0g0qS1DTv9bcP2Bfv7bVUe/KYePyl6XJE\nJUlqmkElSWqaQSVJappBJUlqmkElSWraXjnrb2+YZbU31Kjl5TkyGR7HfZ8jKklS04YGVZLHJrks\nyfVJNid5Xbf94CQXJ7mh+/qo6ZcrSZo1fUZUO4A/rKqjgGcAr0lyFHAqcElVPQm4pFuXJGmihgZV\nVd1aVVd1y3cAW4AjgBcC67rd1gEnTqtISdLsGuk9qiTzwNHAlcBhVXVr99TXgcMmWpkkSYww6y/J\ngcCHgNdX1XeT/Oi5qqoktZt2a4A1ACtXrlxatZK0jPblGYYt/9t6jaiSrGAQUudW1Ye7zbclObx7\n/nBg267aVtXaqlqoqoW5ublJ1CxJmiF9Zv0FOAvYUlV/veipjwAnd8snAxdOvjxJ0qzrc+nvGOBl\nwHVJNnbb3gycAZyf5JXAV4Ffn06JkqRZNjSoquoKILt5+jmTLUeSpHvzzhSSpKYZVJKkpu2VN6WV\ntGe0PGVZs8MRlSSpaQaVJKlpBpUkqWkGlSSpaQaVJKlpzvrTyPrOBHMWmKRJcEQlSWqaQSVJappB\nJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJappBJUlqmkElSWqaQSVJapr3+lPT/ITZe/N4aBY5\nopIkNW1oUCU5O8m2JJsWbTs9yS1JNnaP5023TEnSrOozojoHOH4X28+sqlXd42OTLUuSpIGhQVVV\nlwPf2gO1SJJ0P0t5j+qUJNd2lwYfNbGKJElaZNxZf+8G/gKo7utfAb+9qx2TrAHWAKxcuXLM7rS3\nc7aapHGNNaKqqtuq6u6qugd4D7D6AfZdW1ULVbUwNzc3bp2SpBk1VlAlOXzR6ouATbvbV5KkpRh6\n6S/J+4BnA4cmuRn4M+DZSVYxuPS3FXjVFGuUJM2woUFVVS/exeazplCLJEn3450pJElNM6gkSU0z\nqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gk\nSU0b96PoJWmvNn/qRb333XrGCVOsRMM4opIkNc2gkiQ1zaCSJDXNoJIkNc2gkiQ1zaCSJDXNoJIk\nNW1oUCU5O8m2JJsWbTs4ycVJbui+Pmq6ZUqSZlWfEdU5wPH32XYqcElVPQm4pFuXJGnihgZVVV0O\nfOs+m18IrOuW1wEnTrguSZKA8d+jOqyqbu2Wvw4cNqF6JEm6lyVPpqiqAmp3zydZk2R9kvXbt29f\naneSpBkzblDdluRwgO7rtt3tWFVrq2qhqhbm5ubG7E6SNKvGDaqPACd3yycDF06mHEmS7q3P9PT3\nAZ8Dnpzk5iSvBM4AjktyA/Dcbl2SpIkb+nlUVfXi3Tz1nAnXIknS/XhnCklS0wwqSVLTDCpJUtMM\nKklS0wwqSVLTDCpJUtMMKklS04b+HdW+Yv7Ui3rvu/WME6ZYiSRpFI6oJElNM6gkSU0zqCRJTTOo\nJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU0zqCRJTTOoJElNM6gkSU1b0sd8\nJNkK3AHcDeyoqoVJFCVJ0k6T+DyqX6yqb0zg+0iSdD9e+pMkNW2pQVXAJ5NsSLJmEgVJkrTYUi/9\nPauqbknyaODiJF+sqssX79AF2BqAlStXLrE7SdKsWdKIqqpu6b5uAy4AVu9in7VVtVBVC3Nzc0vp\nTpI0g8YOqiQPS/LwncvALwGbJlWYJEmwtEt/hwEXJNn5ff61qv5jIlVJktQZO6iq6ivAUydYiyRJ\n9+P0dElS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLT\nDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS0wwqSVLTDCpJUtMMKklS05YU\nVEmOT/KlJDcmOXVSRUmStNPYQZVkP+BvgV8GjgJenOSoSRUmSRIsbUS1Grixqr5SVT8A3g+8cDJl\nSZI0sJSgOgL42qL1m7ttkiRNTKpqvIbJScDxVfU73frLgJ+rqlPus98aYE23+mTgS+OX+4AOBb7R\neDtrnEy7vaHGcdtZ42TaWePyt+vjcVU1N3SvqhrrATwT+MSi9dOA08b9fkt9AOtbb2eNs1Pjvvxv\ns8bZqXEp7Sb5WMqlvy8AT0ry+CQPAX4T+MgSvp8kSffz4HEbVtWOJKcAnwD2A86uqs0Tq0ySJJYQ\nVABV9THgYxOqZanW7gXtrHEy7faGGsdtZ42TaWeNy99uYsaeTCFJ0p7gLZQkSU2b2aBKMp9k0zL1\nfXqSN0y5j9cm2ZLk3Cn3M/ZxTPLZJfTbu+0Sa7xznHZaPkkOSvJ7y12HJmdmg2oG/B5wXFW9ZLkL\n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\nqCRJTfs/nrh65z2bgeIAAAAASUVORK5CYII=\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f837cbe1470>"
+       "<matplotlib.figure.Figure at 0x7ffa157210b8>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
      "name": "stderr",
      "output_type": "stream",
      "text": [
-      "/usr/local/lib/python3.5/dist-packages/matplotlib/figure.py:403: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
+      "/usr/local/lib/python3.6/dist-packages/matplotlib/figure.py:418: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure\n",
       "  \"matplotlib is currently using a non-GUI backend, \"\n"
      ]
     },
     {
      "data": {
-      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaQAAAEmCAYAAAAtNOTmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEe5JREFUeJzt3XuQZGV9xvHv4y6GqxJhTOJlHE0sEmNK0dGIaEpBLHS9\nJBWsoCJFKtbEKKImmlrKWBJKq9ZoJfGPXFwJ0QTEC4K39QIlKKCIsssiuywoyiIQI6JRuZRy++WP\nbqyRAvr00Gfmne3vp6pr++y877y/7j7dzznvOX0mVYUkSSvtQStdgCRJYCBJkhphIEmSmmAgSZKa\nYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKasLaPX7r//vvX3NxcH79akrSKbN68+caqmunS\ntpdAmpub4+KLL+7jV0uSVpEk13Rt65SdJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCZ0CKcmb\nkmxPsi3JaUl277swSdJ0GRlISR4JHAfMV9UTgTXAkX0XJkmaLl2n7NYCeyRZC+wJ/E9/JUmSptHI\nQKqq64H3AN8Dvg/8tKrO6rswSdJ0GXnpoCS/DrwUeCzwE+BjSY6qqlPu0W4BWACYnZ3toVRJ2vXM\nrd/Uue3ODetWrN9y6DJl9zzg6qr6YVXdDpwBPPOejapqY1XNV9X8zEyn6+hJkvRLXQLpe8AzkuyZ\nJMChwI5+y5IkTZsux5AuAk4HtgCXDfts7LkuSdKU6fTnJ6rq7cDbe65FkjTFvFKDJKkJBpIkqQkG\nkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIk\nqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJIwMpyQFJti66/SzJG5ej\nOEnS9Fg7qkFVXQk8GSDJGuB64Mye65IkTZlxp+wOBb5TVdf0UYwkaXqNG0hHAqf1UYgkabqNnLK7\nW5IHAy8Bjr+Pny8ACwCzs7MTKU6SHoi59Zs6t925Yd2K9dPAOHtILwC2VNUP7u2HVbWxquaran5m\nZmYy1UmSpsY4gfRynK6TJPWkUyAl2Qs4DDij33IkSdOq0zGkqroF2K/nWiRJU8wrNUiSmmAgSZKa\nYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAg\nSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmtApkJLsm+T0JFck2ZHk\noL4LkyRNl7Ud270X+HxVHZHkwcCePdYkSZpCIwMpyUOBPwKOAaiq24Db+i1LkjRtukzZPRb4IfCf\nSS5JclKSvXquS5I0ZbpM2a0FngK8vqouSvJeYD3wtsWNkiwACwCzs7OTrlNSY+bWb+rcdueGdSvW\nT6tHlz2k64Drquqi4fLpDALqV1TVxqqar6r5mZmZSdYoSZoCIwOpqv4XuDbJAcP/OhS4vNeqJElT\np+tZdq8HTh2eYfdd4M/7K0mSNI06BVJVbQXme65FkjTFvFKDJKkJBpIkqQkGkiSpCQaSJKkJBpIk\nqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJ\nBpIkqQkGkiSpCQaSJKkJBpIkqQkGkiSpCQaSJKkJa7s0SrITuAm4E7ijqub7LEqSNH06BdLQc6vq\nxt4qkSRNNafsJElN6BpIBZyVZHOShT4LkiRNp65Tds+qquuTPBw4O8kVVXXe4gbDoFoAmJ2dnXCZ\nkrqYW7+pc9udG9YtuY/Uh057SFV1/fDfG4AzgaffS5uNVTVfVfMzMzOTrVKStMsbGUhJ9kqyz933\ngecD2/ouTJI0XbpM2f0GcGaSu9t/qKo+32tVkqSpMzKQquq7wJOWoRZJ0hTztG9JUhMMJElSEwwk\nSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElS\nEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITOgdSkjVJLknymT4LkiRNp3H2kN4A\n7OirEEnSdOsUSEkeBawDTuq3HEnStOq6h/TPwN8Cd/VYiyRpiq0d1SDJi4AbqmpzkufcT7sFYAFg\ndnZ2YgVK92Vu/abObXduWLci/Za7Rmk167KHdDDwkiQ7gQ8DhyQ55Z6NqmpjVc1X1fzMzMyEy5Qk\n7epGBlJVHV9Vj6qqOeBI4JyqOqr3yiRJU8XvIUmSmjDyGNJiVfUl4Eu9VCJJmmruIUmSmmAgSZKa\nYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAg\nSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmmAgSZKaYCBJkppgIEmSmjAykJLsnuTrSS5Nsj3J\n3y9HYZKk6bK2Q5tfAIdU1c1JdgMuSPK5qvpaz7VJkqbIyECqqgJuHi7uNrxVn0VJkqZPp2NISdYk\n2QrcAJxdVRf1W5Ykadp0mbKjqu4EnpxkX+DMJE+sqm2L2yRZABYAZmdnJ16oltfc+k2d2+7csG7F\n+knadYx1ll1V/QQ4Fzj8Xn62sarmq2p+ZmZmUvVJkqZEl7PsZoZ7RiTZAzgMuKLvwiRJ06XLlN1v\nAR9MsoZBgH20qj7Tb1mSpGnT5Sy7bwIHLkMtkqQp5pUaJElNMJAkSU0wkCRJTTCQJElNMJAkSU0w\nkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNMJAk\nSU0wkCRJTTCQJElNMJAkSU0wkCRJTTCQJElNGBlISR6d5NwklyfZnuQNy1GYJGm6rO3Q5g7gb6pq\nS5J9gM1Jzq6qy3uuTZI0RUbuIVXV96tqy/D+TcAO4JF9FyZJmi5jHUNKMgccCFzURzGSpOnVZcoO\ngCR7Ax8H3lhVP7uXny8ACwCzs7MTK7Blc+s3dW67c8O6Fem31LEkabl12kNKshuDMDq1qs64tzZV\ntbGq5qtqfmZmZpI1SpKmQJez7AL8B7Cjqv6x/5IkSdOoyx7SwcCrgEOSbB3eXthzXZKkKTPyGFJV\nXQBkGWqRJE0xr9QgSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEk\nSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElqgoEkSWqCgSRJaoKBJElq\ngoEkSWrCyEBKcnKSG5JsW46CJEnTqcse0geAw3uuQ5I05UYGUlWdB/x4GWqRJE0xjyFJkpqwdlK/\nKMkCsAAwOzv7gH/f3PpNndvu3LBuxfpJkiZjYntIVbWxquaran5mZmZSv1aSNCWcspMkNaHLad+n\nARcCByS5Lslf9F+WJGnajDyGVFUvX45CJEnTzSk7SVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElS\nEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMMJElSEwwkSVITDCRJUhMM\n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\nAABJRU5ErkJggg==\n",
+      "image/png": "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\n",
       "text/plain": [
-       "<matplotlib.figure.Figure at 0x7f837ced4e10>"
+       "<matplotlib.figure.Figure at 0x7ffa1272c0b8>"
       ]
      },
      "metadata": {},
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [
     {
        "'etoainhsrdlumwycfgpbvkxjqz'"
       ]
      },
-     "execution_count": 17,
+     "execution_count": 18,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [
     {
        "'eglsmtapwcryfvxhkdizqnjoub'"
       ]
      },
-     "execution_count": 18,
+     "execution_count": 19,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
        " 'z': 'b'}"
       ]
      },
-     "execution_count": 19,
+     "execution_count": 20,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
        "'jlejidqmegwnitxeoectwucgkwrtfacizduoipeyolrmmryzfmabehmfbsolwaxqebnnidhsjhnaxqaseidvmompyitaehntlnjpeuuiwxweqhqtopjyrmnrtmezmvomdesongrbhhejhxmpiiqhleznusdnsnzlthhalnumgojehltooykeesrejlsssbubhemvslojkumoiggnglalrirsqjeoesgpelrhyttqunosvtfnbdtosvojhmdcblajniefiadhlqaeehhzcbrsmolqbiegidtuiecyuvalthoghhsugihqjvdhgzxxpaiznkopvtyuqfexhndmalaeciwapekydtteneuqkrigcybsxjneeuwyrnetdxapndyoqhwsqndsbsgkbdcoaogwuvosdehqwxwnwwuenasecrnhasseufietqimwhbnnbveaujcelywyvmzlnbisdofsoagehifopaocztiabgtlimidsyokbdegnlxouojfacarsinvqhokhhaeoiyzyvwrsghzxqiydqrfpoiegouereojckswxdzidnacceglntrsllutrpennocxsnehgsayyfwedunldgvsnfqsmcjdqidatsehdfoiikrtxxtvtcimiroenicewtpnvdraxhoatcwaduxfgpelottmwjjmsehruntzsqsbayifsivlfivyieecxxuihecdmhigayodapghydrjjueztsasujsurtpmdttsasajyvsteunwdfhqdenvnxelewhvgikjihffreuygkotastqvgeakbswwymccafoljcystbpultzdfreeisdobbnndjradqrtvjpultudiissuuluyrecitgogahqtweopzlfxocgzcwwpdhcvqwcgpfdfatuezidwidnzutqwalwdwfugksdmrpcmtmnvrjlfhselhkhfdxyshfedhrohfmraumnzdsaybnburrclnrhditbmulxmnsnogfapbhnuqvtshiurihgqiksmieetiseprlfdqalblimkfasectqfabenttmcoeqoxwpgncovaesdytwourjhimkcdkbatfialhixgxuersmgwoofteaageiijmprpkmfieegkslbuonnhqmoinoakorulkevtwscossfinayinocgofgnainnrfhhprekipa_lqmyvdhqpamdznudyyoenoshcnhtbnowljidtbabluiworjikiyvpughsmxhrhotkrpanytxaxscovvmaejimkoradnzfahegwlltabhiovmodqzdfiirrxtdqyaozlwarggqvxqcnjeefqxvkevquyegtdnypukwenwpkqovqirypiuvxtohhgkmpkahxwoirlidvapkgnlkxiolctevsndoowvablkdfwhswsxdxydmzlwtloasaemvgmtqfgekaixqfrnetvdbpkkfsftuuezttdtulhitreoncltxjulgmgiemeilkrcjehnueaajtuvtykqotdmeiheuubylczzlaynjntloyneylkrdgewosrvdiyvkfygkwzubcmpevjooopykqaybhhxlfrnsruskwhartwoyyailwaegcfnvxojrfhdayojjfwaxsnyadmiljcdvxwjnrswonolzltmnblbswgvoktmxmpuefdtrabjyddiijhkdmrtoacehryletpwwsgnjupmpupyoqmtsaydxfwapcgehdsnotvmfslwonhxsjzzfowelmhnoeoenldfleplqtwdntjay_htviaslnuhremafovbsgkzzlyytsedxhtucytdxbgdtvfadiaftuxfunyiphfudjulopagtdpaanmzsemoejivfresanisaweehdsxvkcisehpreziwaisqtmiapskylmakeuiivtzupildxoyqslfhiktsungrgjtpkwegnhmdhaujwleabehnmptaonotttpscbvwferahuvetbwcsxardfbmemrsetvvalbpbotbpbkiiiyyanoufhybhrltmoeckvcjtugqtttendyllqarnfutqfvetvfolspesvmcspwdegrejhxvcrdhytceemnezjieghknlmugutitaisaninbvvonuxbfukiigxaojrekifxdzaqryehmuwrweqsuxtrgsolnbweeydfoaojtotcrqpcuvbnecihqepspngeraoahvqttcectsoedlobtsiikiawonkeydvrxnhhwwatjcyqkrwddzdmapcrrtnkyvntxqfvttlbgrnbifaqreotelttpbefmmonemblmaletrtwwpucfmkoeymktvnyghzhytfvgedxnaehyuxydvlhocuouazbqhwspoi_cbksxhbuwmthyijrstoibarxvepbenmsainitowroopnapaiyrwuhbabdtxwacbetunxpbmmssylbkiufrpvqnaewirqkhqiashrueruspimkbctptscfwngyxgwfojetstogpifcgoochlvhpghfvsquakeitrimehdwgooeyssirvhhmjhadacgcbymhkorwrspimteeeebaforbkkdwbeunyuficggwohtsehrntzcaepdnhpaneutrwrjhemrwdayifdteqtvcgesridempasiutoerkcwewcuewgtnedjwlrfsmhugftrjoistwrbnyssglrayxwohdgubkwrlnzitrysktdqbeocsbvmjtitteribjoxstayhlmbmygczsraysazdfopntflnmwyayothutkwmtrwdccltwrgaiuemwreovsaodncuxopxnnzwtsojimfteuctdgxycehuwapnnzusxeaobuytpbhtlfbbbekupiparyajxlsjtlmqszuhwqowddzifiarazvnfidrordxibjixxwenailtburhydnatshbldjourpdthubertwrfeokusxebzf_ncptlahkqnowbaycbxnmwspzsdnrenzekalhebmnhsooossoeanoltjropcmeoljnldhqlmhygluweceunyieoosekdjanteccupfdgexshiqtxprhzturwovlxwhrvetzfremjmltiysmcoqmyghilqmpbomebkyeenmpamjhilsjreezkshfyoclvhyraivwoiblfllhptetovftoeydtfaaietcaabhzqwkokccrrwiylnivdpeetvnarcnzfmaaenfltrweawltmyoocdtfydatkxopomimuommjrvtmvmjyvtvygjhhkjyrccqtcrayzzptuclyfxhpwnfdtruwkkkwbckgriwgwseivthpojgmnmlunzukonjrysftybkclcawoqroxtzncoauoihgbswfponnfmaasihsgipncmufxejpnvwaonkwdtarnkimshlmcygnxhsgorvaikerhwxvdnqlflyeltdcaurjczfayyataqoybaiivtoggzhrhueeslvriaakfnypoqcsdiannbotmwyqydcxckregthpuhrdwalnehhdrxoszlsubgpimttarlultovoq'"
       ]
      },
-     "execution_count": 20,
+     "execution_count": 21,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [
     {
        "1.0911221874256245"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 22,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [
     {
        "1.7308339625731206"
       ]
      },
-     "execution_count": 22,
+     "execution_count": 23,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [
     {
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 25,
    "metadata": {},
    "outputs": [
     {
        " (28, 1.273139026261631)]"
       ]
      },
-     "execution_count": 24,
+     "execution_count": 25,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 26,
    "metadata": {},
    "outputs": [
     {
        "'etoainhsrdlumwycfgpbvkxjqz'"
       ]
      },
-     "execution_count": 25,
+     "execution_count": 26,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 27,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['alsgiepmvxtrdkyhcfwnzqoujb',\n",
-       " 'gsmplterachfwvyidxzkqjnuob_',\n",
-       " 'egwstcvmlfqakrhzpdjnxubiyo',\n",
-       " 'etgmlyswapxfvrqunzcjdoikhb_',\n",
-       " 'lexpgscwyrkfmantdzvqhjoiub',\n",
-       " 'egtpmwsalyfchrjxibkvzonduq_']"
+       "['lasgeipmvtrxkdhycwfnzoqujb',\n",
+       " 'gsmptlreacfhwvyidkxzqoujnb_',\n",
+       " 'egwstcvmflaqkrhzpdjnuxbyio',\n",
+       " 'etgmlywsapxfrvuqzncodjihkb_',\n",
+       " 'lexpgscwyrmkfatndvzqhjoiub',\n",
+       " 'egtpmwsalyfcrhixjbkvzonduq_']"
       ]
      },
-     "execution_count": 26,
+     "execution_count": 27,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": 28,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "[{'a': 'e',\n",
+       "[{'a': 't',\n",
        "  'b': 'z',\n",
        "  'c': 'f',\n",
-       "  'd': 'm',\n",
-       "  'e': 'n',\n",
-       "  'f': 'g',\n",
+       "  'd': 'w',\n",
+       "  'e': 'i',\n",
+       "  'f': 'p',\n",
        "  'g': 'a',\n",
-       "  'h': 'c',\n",
-       "  'i': 'i',\n",
+       "  'h': 'y',\n",
+       "  'i': 'n',\n",
        "  'j': 'q',\n",
-       "  'k': 'w',\n",
-       "  'l': 't',\n",
+       "  'k': 'm',\n",
+       "  'l': 'e',\n",
        "  'm': 's',\n",
        "  'n': 'b',\n",
-       "  'o': 'x',\n",
+       "  'o': 'k',\n",
        "  'p': 'h',\n",
-       "  'q': 'k',\n",
-       "  'r': 'u',\n",
+       "  'q': 'x',\n",
+       "  'r': 'l',\n",
        "  's': 'o',\n",
-       "  't': 'l',\n",
+       "  't': 'd',\n",
        "  'u': 'j',\n",
        "  'v': 'r',\n",
-       "  'w': 'p',\n",
-       "  'x': 'd',\n",
-       "  'y': 'y',\n",
+       "  'w': 'g',\n",
+       "  'x': 'u',\n",
+       "  'y': 'c',\n",
        "  'z': 'v'},\n",
        " {'a': 'r',\n",
        "  'b': 'z',\n",
        "  'c': 'd',\n",
        "  'd': 'f',\n",
-       "  'e': 'h',\n",
-       "  'f': 'u',\n",
+       "  'e': 's',\n",
+       "  'f': 'l',\n",
        "  'g': 'e',\n",
-       "  'h': 'l',\n",
+       "  'h': 'u',\n",
        "  'i': 'c',\n",
-       "  'j': 'k',\n",
-       "  'k': 'b',\n",
-       "  'l': 'i',\n",
+       "  'j': 'j',\n",
+       "  'k': 'g',\n",
+       "  'l': 'n',\n",
        "  'm': 'o',\n",
-       "  'n': 'x',\n",
-       "  'o': 'q',\n",
+       "  'n': 'q',\n",
+       "  'o': 'k',\n",
        "  'p': 'a',\n",
        "  'q': 'v',\n",
-       "  'r': 's',\n",
+       "  'r': 'h',\n",
        "  's': 't',\n",
-       "  't': 'n',\n",
-       "  'u': 'j',\n",
+       "  't': 'i',\n",
+       "  'u': 'x',\n",
        "  'v': 'w',\n",
        "  'w': 'm',\n",
-       "  'x': 'g',\n",
+       "  'x': 'p',\n",
        "  'y': 'y',\n",
-       "  'z': 'p'},\n",
-       " {'a': 'u',\n",
+       "  'z': 'b'},\n",
+       " {'a': 'l',\n",
        "  'b': 'x',\n",
        "  'c': 'n',\n",
        "  'd': 'g',\n",
        "  'e': 'e',\n",
-       "  'f': 'd',\n",
+       "  'f': 'r',\n",
        "  'g': 't',\n",
        "  'h': 'y',\n",
-       "  'i': 'j',\n",
+       "  'i': 'q',\n",
        "  'j': 'p',\n",
        "  'k': 'm',\n",
-       "  'l': 'r',\n",
+       "  'l': 'd',\n",
        "  'm': 's',\n",
        "  'n': 'b',\n",
        "  'o': 'z',\n",
        "  'p': 'f',\n",
-       "  'q': 'l',\n",
+       "  'q': 'u',\n",
        "  'r': 'w',\n",
        "  's': 'a',\n",
        "  't': 'i',\n",
-       "  'u': 'k',\n",
+       "  'u': 'v',\n",
        "  'v': 'h',\n",
        "  'w': 'o',\n",
-       "  'x': 'v',\n",
-       "  'y': 'q',\n",
+       "  'x': 'k',\n",
+       "  'y': 'j',\n",
        "  'z': 'c'},\n",
        " {'a': 'r',\n",
        "  'b': 'z',\n",
        "  'e': 'e',\n",
        "  'f': 'u',\n",
        "  'g': 'o',\n",
-       "  'h': 'q',\n",
+       "  'h': 'j',\n",
        "  'i': 'x',\n",
-       "  'j': 'b',\n",
-       "  'k': 'j',\n",
+       "  'j': 'k',\n",
+       "  'k': 'q',\n",
        "  'l': 'i',\n",
        "  'm': 'a',\n",
-       "  'n': 'f',\n",
-       "  'o': 'k',\n",
+       "  'n': 'g',\n",
+       "  'o': 'b',\n",
        "  'p': 'd',\n",
-       "  'q': 'y',\n",
-       "  'r': 'w',\n",
-       "  's': 'h',\n",
+       "  'q': 'c',\n",
+       "  'r': 'm',\n",
+       "  's': 's',\n",
        "  't': 't',\n",
-       "  'u': 'c',\n",
-       "  'v': 'm',\n",
-       "  'w': 's',\n",
+       "  'u': 'y',\n",
+       "  'v': 'w',\n",
+       "  'w': 'h',\n",
        "  'x': 'l',\n",
        "  'y': 'n',\n",
-       "  'z': 'g'},\n",
+       "  'z': 'f'},\n",
        " {'a': 'w',\n",
        "  'b': 'z',\n",
        "  'c': 'h',\n",
        "  'd': 'f',\n",
        "  'e': 't',\n",
-       "  'f': 'u',\n",
+       "  'f': 'm',\n",
        "  'g': 'i',\n",
        "  'h': 'v',\n",
        "  'i': 'j',\n",
        "  'j': 'k',\n",
-       "  'k': 'l',\n",
+       "  'k': 'u',\n",
        "  'l': 'e',\n",
-       "  'm': 'm',\n",
-       "  'n': 'y',\n",
+       "  'm': 'l',\n",
+       "  'n': 'c',\n",
        "  'o': 'x',\n",
        "  'p': 'a',\n",
        "  'q': 'b',\n",
        "  'r': 'd',\n",
        "  's': 'n',\n",
-       "  't': 'c',\n",
+       "  't': 'y',\n",
        "  'u': 'q',\n",
-       "  'v': 'p',\n",
+       "  'v': 'g',\n",
        "  'w': 's',\n",
        "  'x': 'o',\n",
        "  'y': 'r',\n",
-       "  'z': 'g'},\n",
+       "  'z': 'p'},\n",
        " {'a': 's',\n",
        "  'b': 'g',\n",
        "  'c': 'u',\n",
        "  'e': 'e',\n",
        "  'f': 'l',\n",
        "  'g': 't',\n",
-       "  'h': 'm',\n",
-       "  'i': 'f',\n",
-       "  'j': 'y',\n",
+       "  'h': 'w',\n",
+       "  'i': 'y',\n",
+       "  'j': 'f',\n",
        "  'k': 'p',\n",
        "  'l': 'r',\n",
        "  'm': 'i',\n",
        "  'o': 'k',\n",
        "  'p': 'a',\n",
        "  'q': 'z',\n",
-       "  'r': 'w',\n",
+       "  'r': 'm',\n",
        "  's': 'h',\n",
        "  't': 'o',\n",
        "  'u': 'q',\n",
        "  'z': 'v'}]"
       ]
      },
-     "execution_count": 27,
+     "execution_count": 28,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 29,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['ezfmngaciqwtsbxhkuoljrpdyv',\n",
-       " 'rzdfhuelckbioxqavstnjwmgyp',\n",
-       " 'uxngedtyjpmrsbzflwaikhovqc',\n",
-       " 'rzpveuoqxbjiafkdywhtcmslng',\n",
-       " 'wzhftuivjklemyxabdncqpsorg',\n",
-       " 'sgujeltmfyprixkazwhoqbncdv']"
+       "['tzfwipaynqmesbkhxlodjrgucv',\n",
+       " 'rzdfsleucjgnoqkavhtixwmpyb',\n",
+       " 'lxngertyqpmdsbzfuwaivhokjc',\n",
+       " 'rzpveuojxkqiagbdcmstywhlnf',\n",
+       " 'wzhftmivjkuelcxabdnyqgsorp',\n",
+       " 'sgujeltwyfprixkazmhoqbncdv']"
       ]
      },
-     "execution_count": 28,
+     "execution_count": 29,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 30,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['gnhxacfpiuqtdeswjvmlrzkoyb',\n",
-       " 'pkicgdxelujhwtmzoarsfqvnyb',\n",
-       " 'snzfepdvtiuqkcwjylmgaxrbho',\n",
-       " 'mjupenzslkoxvygchawtfdriqb',\n",
-       " 'pqtrldzcgijkmsxvuywefhaonb',\n",
-       " 'pvxyeibsmdofhwtkulagczrnjq']"
+       "['gnytlcwpeuorkisfjvmaxzdqhb',\n",
+       " 'pzicgdkrtjofwlmxnaeshqvuyb',\n",
+       " 'snzlepdvtyxakcwjifmgqurbho',\n",
+       " 'moqpeznwlhjxrygckastfdviub',\n",
+       " 'pqnrldvcgijmfsxzuywekhaotb',\n",
+       " 'pvxyejbsmdofrwtkulagczhniq']"
       ]
      },
-     "execution_count": 29,
+     "execution_count": 30,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 31,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "['x se km ujuevposepeeecehnvjb wool h cox prrs celewpudsogwuagtsgbc de wrt pctv lnspwaxrihkqoaeahzgi',\n",
-       " 'dxoiaterctunzxtdyohb pejrkoefxgoucnauezuz tune arl fog wsn qubufsokrdeznqdhohnx wise',\n",
-       " 'twtrlmizewwairlyen aoexwhafgrvehdyawtqb nurs fgtfwosoasajqeitamce wssd etc rota lol',\n",
-       " 'ovdtiaztquuhmvsakc in bshhsujaetsezygsagiw cgi nfs pids hylrzostrejerfnfiejz yhsmzpbjhszifefkevnq',\n",
-       " 'pnkuthlosaevirtjeycf eteceyjbsmjcgcdkklhe npcpneohyociporjrhdq of a cd fxvdyinrmwqyeafhucp',\n",
-       " 'yrnhmreltfevnlradaey bse iqsuhrgolplendxlewob dvd zdovofpephiavtssbrx nrc ztanvmewauifaviyvfhg',\n",
-       " 'tdytyrklhctodmokjuiy set eimczglmsamrxbqiddks lf to eve dnmeixmbahbhgsdihvmn fw tinh swn in ih item',\n",
-       " 'qaiewjhtvllbndqtdu mvftlqhuykhqsdaoaeed mimi bmt bkt key au i piet mm nwt xczfmabwroeymnuykmvj',\n",
-       " 'euitoubxqddtspyiozaj a choi was ydpsvvateckpnmsnlnuw imtvihhifulhnxqqezth tfnxaymtxuuaefhahxgl die',\n",
-       " 'ynhplsjdetboqhwepskf sfx i ebm std dfbiihhekyfeoxcdpbd uyqnptszqoaapjndtzdm ste san',\n",
-       " 'igvlnnkshfjoobkiyw or us of dr duy vst ms eg if he jtmtrizwjkrcfxqpbidu qbqrlgxluwttntgsdhah',\n",
-       " 'ozytcphuwnmldmxfpuni ldouokmzwlshhwryswdp las whnrsrebdsndgnxpahd pig rnplwtssfotgudukdtao',\n",
-       " 'tfmhjvenqcbthrsnsief kay ago eeiihhjsdpfjawgwsubj nan ltclhvhioilcieceyrcg tv rktedhcawrnskeodfvub',\n",
-       " 'paoli osu akjqyesalmwriltntavt is qdxsfbumatemxfwgdtn irql to i in xtmqwyekehdvrha mach do ii',\n",
-       " 'vjtbgtnilnojwsimefmf o_wcuckducjhgdxtrudg re crhrytwtvnrmdksdtgnv uysmenxobaoziygralqr or et bmj',\n",
-       " 'hcca kaba mtv lune xodfenodizlhehgmdw at crmrkurpqgfbsasnqen cohtzwmnnmfkykqcnzet',\n",
-       " 'pjklftzjyveftfnvxrxr him jxjilcmndcsnbyaiurfx gcb hwy rissdifvaxyjlsbbmru ltebaldripzopwfhprrf may',\n",
-       " 'fkvpuguwtwehhteubjge kjfebtsbqppneobuvcbf law eqn tga en or we otstrllwokkysgufinue a',\n",
-       " 'dxplzewoyhahxtyvtlyq tenu tie hq ngc ulxzdhdnztiwtgieowb mn vtbtaoyhidvbjojbwxng',\n",
-       " 'mgceyxrtijlyqogcrwyu botany a bmwhpehiocoowmnemlmt by tqojwuogrkxprtpdcco ddadkcdlbpklmfmeotsx will',\n",
-       " 'pwg a bmvrfilqujntpfeohgkd dna mkexnustttyewndseoj brag txdiujnjctjdoahddpj phil ge wuhn rob',\n",
-       " 'lwawmeoekfkzgwihed len re eels njde is kopulezho_eelanaunqr se gtmibvhfbzzwdgtdtuqr',\n",
-       " 'tnvcadpgfuavmhhiobtn kpynvajswynkrwtcaviu it at ugh hditksvmstaonsdnbnhu pay kxyaaeecoezirtsdqtg',\n",
-       " 'oaxaxdsdhyeyosyigycs why tgkddpeoboadlfovxtix he foeunrndxwwenvnriuj to iii it acfqgzrbesnsyveogbc',\n",
-       " 'aphsuwpdeunhhtybhupj get vccfmisgvhcrybulgsps tue ecxlqxtyfkoitnnnldwj to tld ajmyttkbrwafnaluvaiw',\n",
-       " 'nefnnqubbmpdulimnhdt tgxoevwxlsdnfdaothma on st gzkiinkvwybamjqtrkse bomb hgojoltsgyhspejaqb in mar',\n",
-       " 'wcvrhelhpttrkiralocj my vct tmsrkejaingeshttuyq tale qi a thn we vaasa yiowrtyeddlskoerhmnt xlv cyn',\n",
-       " 'rdnzhlocysstlxvyctqj my it up gs cvs bac set ee wit ipe jul tneugwgtweinawhxrmwu bit',\n",
-       " 'cgxtyccmrxrotwvgehyl tero dqgnydstlqirhzpkrpai is _vvbaprgdrutroixmfoe iv to b be i pet',\n",
-       " 'uaooiairrmrijoocaa on ryugnvfepmnmvhtncy ipduaadscfmdwmjyqooh has qbrkanaemqesdhcsuyv',\n",
-       " 'cejoamwwivoymwmixeaa tiffs by ver crwywfmrmyaqytbemtpo dew ur fritch as sbseuzrnuolgqgcgrb is',\n",
-       " 'bpajautnheeghwiogyxf wcer odymavjmwrrianrotigc tex hoe catt dam hsxsnuomhhdompiejelq fe hms ptl it',\n",
-       " 'far tth of vbn wyntbmeiehkrsojaleyg jinx is di bp pila am soho yriupfdvxhsdozotsoa be nc get lf gb',\n",
-       " 'lxe so ie pockey heal wwgpdlfmzaohoaoznjef le mw clr gale te ytfplamhpvmuehsfhsye up',\n",
-       " 'nnildnrfnynkrikitzba ark ml ween vtffplveeyhhjolzqdke oic not ip uodpvpceydiojhscoqpw akas',\n",
-       " 'dcagyrhcebfdxaliomaz bow onsen fksgxiqkhechsstgrneg ntnthrcwhktyoxhteyce strm me ex yap egg',\n",
-       " 'w_iqjtutufqotwchomvk i up aizfpcnnnxeyhureguoe arie a hi ehcr uezsefcueidklsnrqwgr',\n",
-       " 'vvddrhyerodoeieanxnk noah yqrfwdgekaeokokfprx or nrilwkbemleigwmeuxlu esl a lcikuojeowcufvidegxd he',\n",
-       " 'tufouzrmwhqoetgbauj or c slr on oolmeivsmwdsieeoez were ouabahmealahgszjhfex clos pids i abu i he o',\n",
-       " 'boom ytzpgtaecpueomthrstu or tlnolcfttfkriidaudtu dkszauluxckellfkerbk on clkovnogxzjtylwlly echt',\n",
-       " 'luamqmyxbwcqyjpohvpa no low ft qgucluyizrxtnzsoawev gym ulam eqpipozocianeiefcdpp iii tl lot faw am',\n",
-       " 'ojtvlybpexflvhheobw non nl xsuasuuylfoqrfvenkts ft new pyhojsmwoeuenqndpqyz lhd ga on q tgch mike',\n",
-       " 'rvfgemuntehslsmhoxmt of tjydhionigetgwvcouc kyfsemeuxrspdhhdonru psy tax wadvfjautatowrwailiq']"
+       "['k he blu j lev go sep ee eye hnvjbwoouhyoxprrsc elem gl rhogmlaftspgcdemrtpy tv disp wak risk',\n",
+       " 'qoaeahzpnrxoiateryt liz xtdcohkgejrvoeykpouy nale zmz el near df of wsiklkmysovrdezijd',\n",
+       " 'hohixmisttwtrlwnzewm and lceiaoexmhaffrvtsr came kbnmrsfgtfmohoasajke it awc ems sue tyro',\n",
+       " 'eauouovdtiazekluhwvh a by iigs shslxaetstzyfsapnwyp i if spidssylrzohtrejtrfn fit',\n",
+       " 'xzchswzpkjhszigeyxek nqpijlthlohaevirtqec cfeteyecxbhljypcdkkd seng cgieohfociporjrhdq of a cd',\n",
+       " 'fxvdyinrwwjceafslyg fri hwr edt fevndradaecgseiqslhr pod buen dkuemobuvrzdovofpeph',\n",
+       " 'navtssgdxnryztanvwew am if akicvfsgtdfeydbuhy to dlo xxl i cst teil c zpuwsawrxkqiudvhuyeo eve dime',\n",
+       " 'ixwbahkhgsdisvwifw tinh hwn inn site wqaiewjhtklubidjtdu wvftuqhlybhqsdaoaetd mil ibm',\n",
+       " 'tkktxeyamignetlwiwt xyz fmakwroeywnucjmvjeln tomb kkrdtsgyiozajacsoim as cd psv kate',\n",
+       " 'yjpnlsiunuwiwtkihh nfl lhnkkjezthtfnxacmtxm uae fsa hkpudiecihpusjdetbo qswegsxfsgxitgmhtduf',\n",
+       " 'biihhevcfeoqcdgbulyj npehzjoaabqndtzdmhte san ipvdinbshfxoobknyw or us of drdlykhtwsegifhtxtw',\n",
+       " 'trnzwqkryfxjgbndljbq rug xuumttntgsdhahozytyg hl wnwudwqfpmnnuromoxmz mush sw rcs md plasm snrs rtg',\n",
+       " 'rhn dpi xp a hub if rnguwtssfotfmdljr taoefmsjvtijybthrsns it fvacapoeeiihsqhdpfx am pm',\n",
+       " 'slbqnaiutyuhvsioilyn eye frcgtvrxtedhcawdnsk to rgvubbaouiohlakjqyeh al wwdiutitavtiskrxsybl mate',\n",
+       " 'wqfmpdeiirqleoiinxem jmc exe hdvr ha may huoiivjeggtnidioqwsn meg lyo_wymcxdlyjhpdxtru up de',\n",
+       " 'yrhrytwtvidwdksdtfnv lys wen koba oznygralqroretbmqsyc a jaka we vuunekorgenodizuhtsg wdm at',\n",
+       " 'crlrxldpqgfgsasnqeny oh ezwwnnwfvckqyizetpjj ugtzjykeftfikxrxrsiw jxjnuylnucsnbfanlrfx pcbs',\n",
+       " 'wfrnshdifvaxcjdhbklr lute bad ddigzobwghprrfwaffj kpmglwtmehhteubjpevq feb tsk qpgieobuvcbguamejntg',\n",
+       " 'a enorm to thtrduwokkchgufii lead xguzewocsasxtcvtlcqe enutitsjnpcluxzdhuiz time pie omb',\n",
+       " 'mnvtbeaochiuvbqojbwx npwpcecxrenqlcqopcrw fl got an cab wwhgehiocoowwnewumtb fekoqwuopdbxprtpdyco',\n",
+       " 'dradkydukgkdmfweoehx mild bwfabwvdgilqlqntpfeo sp kudnalktqnustetyewnu heojbragtxdnlqnjcexr oahu',\n",
+       " 'dpqghnugewuhidoblmaw we otjfbzgmnhedltideeed hnqdenhvogudezso_teu anal i jr sept mib vhf',\n",
+       " 'bzzmuptdtuqrtnvcadpf fuavmshiogtnkpcikajs my nbr me cavi unt at mgh sri tks vmhtaoisdnbislpafxqy a a',\n",
+       " 'etc oezirtsdqtpoaxaxuhrs cecoscigccsmhfepvddp to bo add fovxtnqhefotlnrndkww envir iuj toni',\n",
+       " 'iitacfjpzrgehnscveop by aps sum bremnhstcbhlbqfetv ccg lisp ksyrcgllpsghtueeyquj xtc fvo it i in',\n",
+       " 'ldmjtotudaxmcttxgd may iauuvanwnefniklkbwgd lliw is rttgkoevwxdhrnfdaots laois tpzxninkvmybaljqtdb',\n",
+       " 'sebo mkhgoxoltspyhhgejajk in wad my vrs elh pet dbirauoyjwcvcttwsrve jan igeshetlcqtauejiaesn me',\n",
+       " 'vaasa ciowdtceuduhkotrh wntkukycnrdnzhlocyhs tdqkcytqxmcitlbghyvs gay see eemitnbeqmleieupmpt we in',\n",
+       " 'awhxrwmlbitcpqtcycw rxrotmvgehfdterodqpn cds eujirhzbvrganns_vvb apr pdrltroikmfoeivtok ben be tma',\n",
+       " 'ooi air rm dijo ocaa on rylfnvfepwnwvstnyf nbruaauhcgldmmqcqoos has qbr van atm jesdhcsucvyeqoawmwiv',\n",
+       " 'of ww mix ea at if ysgyveryrwcwywrmcaq ct belt gore wu rf ditch ash bst lzrnuougjpcprbisbgaq amti',\n",
+       " 'see ph mn of cxfwcerouymavjwwdri air oti gy tex hot catt dam hh xsi low hhuompiejeujfehmsptl ntf',\n",
+       " 'artes ogvbiwyntbweiehkrhoq altygqinknsdibgbilaa who so frnlpfdvqhhdozothoa be ny',\n",
+       " 'peeuffblkesoiegocbef heal wmpbrlfwzaosoaoznqey dem my lrp a letty tg glam hpvwlehhfhsyeugninud',\n",
+       " 'nrfiynkrnjitzbaadbll meen vtffplvetyhsjodzjdke on c not n blodpvbcecdnoqsscokp makah',\n",
+       " 'ryagcrhyebfdxauiomaz bom on he nfjsfxiqjheyhshtfrn tpntnthrcmhkeyoxhtty cest rm me ex cape',\n",
+       " 'pgm_ijjtltlgqoewcso wvjiuganzfpyniixechl ref mota die ah nes yrlezheyyleidkdhnrqm pr',\n",
+       " 'kvddrsyerouoeieaiqnb no as yjrymdgekatovokygrx or nrnumkbtmueigmmeuxl les la lynvuojtowymyvnrepxu',\n",
+       " 'set my olzrlmhkoetgbalqory huron oouweivhmmdsneeoezme de oua gas leau asp szxhgexyuohgiuhiabun seo',\n",
+       " 'boom ytzpptaeypleowthrhtu or eunoucfttgkrnnram del rbszaluuxcxeulfktrbb on yuvovnopxzjtcuwluftc',\n",
+       " 'htuuamjwcxbwcjcjgohv gaiouowyekguyllyizrx eizhoamekfcwluaweqgn pozo yn an eitf cdg pnni tu lot faw a',\n",
+       " 'woqtvlcgpexydvhseobw non ndqsuasllylfoqrfvenx tsgt n twp cho jhmmoelenjndgkyzuhup a on',\n",
+       " 'qepcslixedvfgtmlnteh huh lho qmtoyexydhioiifetpwk you yjygsewelxrsgdhs do irlpsfeaxmadvfqamta to mr',\n",
+       " 'man uiq']"
       ]
      },
-     "execution_count": 30,
+     "execution_count": 31,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 32,
    "metadata": {},
    "outputs": [
     {
        "'oreomcufedvtmgjelehgvyhdnvwgkshmbcylmiexlrwffwxbkfszeafkzplrvsjuezttmcapoatsjuspemcqflfixmgseatgrtoieyymvjveuauglioxwftwgfebfqlfcepltdwzaaeoajfimmuarebtypctptbrgaasrtyfdloeargllxneepweorpppzyzaefqprlonyflmddtdrsrwmwpuoelepdierwaxgguytlpqgktzcglpqloafchzrsotmekmscaruseeaabhzwpflruzmedmcgymehxyqsrgaldaapydmauoqcadbjjismbtnliqgxyukejatcfsrsehmvsienxcggeteyunwmdhxzpjoteeyvxwtegcjsitcxluavputcpzpdnzchlsldvyqlpceauvjvtvvyetspehwtasppeykmegumfvazttzqesyoherxvxqfbrtzmpclkplsdeamklislhbgmszdgrmfmcpxlnzcedtrjlylokshswpmtqualnaaselmxbxqvwpdabjumxcuwkilmedlyewelohnpvjcbmctshhedrtgwprrygwiettlhjpteadpsxxkvecytrcdqptkupfhocumcsgpeacklmmnwgjjgqghmfmwletmhevgitqcwsjalsghvscyjkdierlggfvoofpeawytgbpupzsxmkpmqrkmqxmeehjjymaehcfamdsxlcsidaxcwooyebgpspyopywgifcggpspsoxqpgeytvckaucetqtjerevaqdmnomakkweyxdnlgspguqdesnzpvvxfhhsklrohxpgziyrgbckweempclzzttcowscuwgqoiyrgycmmppyyryxwehmgdldsaugvelibrkjlhdbhvvicahquvhdikcksgyebmcvmctbyguvsrvcvkydnpcfwihfgftqworkaperanakcjxpakecawlakfwsyftbcpsxztzywwhrtwacmgzfyrjftptldksizatyuqgpamywmadumnpfmeegmpeiwrkcusrzrmfnkspehgukszetggfhleuljvidthlqsepcxgvlywoamfnhcnzsgkmsramjdjyewpfdvllkgessdemmofiwinfkmeednprzylttauflmtlsnlwyrneqgvphlppkmtsxmtlhdlkdtsmttwkaaiwenmis_rufxqcauisfcbtycxxletlpahtagztlvromcgzszrymvlwomnmxqiydapfjawalgnwistxgjsjphlqqfseomfnlwsctbksaedvrrgszamlqflcubckmmwwjgcuxslbrvswdduqjuhtoeekujqnequyxedgctxiynvetvinulqumwximyqjglaadnfinsajvlmwrmcqsindtrnjmlrhgeqptcllvqszrnckvapvpjcjxcfbrvgrlspsefqdfgukdensmjukwtegqczinnkpkgyyebggcgyramgwelthrgjoyrdfdmefemrnwhoeatyessogyqgxnulgcfemaeyyzxrhbbrsxtotgrlxtexrnwcdevlpwqcmxqnkxdnvbyzhfieqolllixnusxzaajrkwtpwypnvaswgvlxxsmrvsedhktqjlowkacsxlookvsjptxscfmrohcqjvotwpvltlrbrgftzrzpvdqlngfjfiyekcgwszoxccmmoancfwglsheawxregivvpdtoyifiyixlufgpsxcjkvsihdeacptlgqfkprvltajpobbklverfatleletrckreirugvctgosx_agqmsprtyawefsklqzpdnbbrxxgpecjagyhxgcjzdcgqkscmskgyjkytxmiakycoyrlisdgcisstfbpefleomqkwepstmpsveeacpjqnhmpeaiwebmvsmpugfmsipnxrfsneymmqgbyimrcjlxuprkamngpytdwdoginvedtafcasyovreszeatfigsltlgggiphzqvkewsayqegzvhpjswckzfefwpegqqsrzizlgziznmmmxxstlykaxzawrgflehnqhogydugggetcxrruswtkygukqegqklrpiepqfhpivcedweoajqhwcaxgheeftebomedantrfydygmgsmpstmtzqqltyjzkynmmdjslowenmkjcbsuwxeafyvwveupyjgwdplrtzveexcklsloglghwuihyqztehmaueipitdewslsaqugghehgplecrlzgpmmnmsvltnexcqwjtaavvsgohxunwvccbcfsihwwgtnxqtgjukqggrzdwtzmksuwelgerggizekffltefzrfsregwgvviyhkfnlexfngqtxdabaxgkqdecjtseaxyjxcqralhylysbzuavpilm_hznpjazyvfgaxmowpglmzswjqeizetfpsmtmglvwllitsismxwvyazszcgjvshzegytjizffppxrznmykwiqutsevmwunaumspawyewypimfnzhgigphkvtdxjdvkloegpgldimkhdllharqaidakqpuysnemgwmfeacvdllexppmwqaafoascshdhzxfanlwvwpimfgeeeezsklwznncvzeytxykmhddvlagpeawtgbhseictaisteygwvwoaefwvcsxmkcgeugqhdepwmcefispmyglewnhvevhyevdgtecovrwkpfaydkgwolmpgvwztxppdrwsxjvlacdyznvwrtbmgwxpngcuzelhpzqfogmggewmzoljpgsxarfzfxdhbpwsxpsbcklitgkrtfvxsxlgaygnvfgwvchhrgvwdsmyefvwelqpslcthyjlijttbvgplomfkgeyhgcdjxheayvsittbypjeslzyxgizagrkzzzenyimiswxsojrpogrfupbyavulvccbmkmswsbqtkmcwlwcjmzomjjvetsmrgzywaxctsgpazrcolywicgayzewgvwkelnypjezbk_thigrsanutlvzsxhzjtfvpibpctwetbensraezftaplllpplestlrgowlihfelrotrcaurfaxdryveheytxmellpencostgehhyikcdejpamugjiwabgywvlqrjvawqegbkwefofrgmxpfhlufxdamrufizlfeznxeetfisfoamrpoweebnpakxlhrqaxwsmqvlmzrkrraigeglqkglexcgkssmeghsszabuvnlnhhwwvmxrtmqcieegqtswhtbkfssetkrgwvesvrgfxllhcgkxcsgnjlilfmfylffowqgfqfoxqgqxdoaanoxwhhughwsxbbigyhrxkjaivtkcgwyvnnnvzhndwmvdvpemqgailodftfrytbynltowxpkgxznhrhsvluwljgbthlsylmadzpvkilttkfsspmapdmithfykjeoitqvsltnvcgswtnmfparfhxdtjapdlwqsmnewavjqcturkrxergchsywohbksxxsgsulxzsmmqglddbawayeeprqwmssnktxiluhpcmsttzlgfvxuxchjhnwedgaiyawcvsrteaacwjlpbrpyzdimfggswryrglqlu+'"
       ]
      },
-     "execution_count": 31,
+     "execution_count": 32,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 33,
    "metadata": {},
    "outputs": [
     {
        "3588"
       ]
      },
-     "execution_count": 32,
+     "execution_count": 33,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": 34,
    "metadata": {},
    "outputs": [
     {
        "6.0"
       ]
      },
-     "execution_count": 33,
+     "execution_count": 34,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": 35,
    "metadata": {},
    "outputs": [
     {
        "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'"
       ]
      },
-     "execution_count": 34,
+     "execution_count": 35,
      "metadata": {},
      "output_type": "execute_result"
     }
   },
   {
    "cell_type": "code",
-   "execution_count": 46,
+   "execution_count": 36,
    "metadata": {},
    "outputs": [
     {
        "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'"
       ]
      },
-     "execution_count": 46,
+     "execution_count": 36,
      "metadata": {},
      "output_type": "execute_result"
     }
     "scytale_decipher(scb, 598)"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 45,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'okrahtrvugzheefqniocxmpgmyqsjrctcpasurarzafcutynediyvudqsaftvpfwglttceavmkbfxzgutsmsjpykoxefclwhlhxqpzeoxzgjhclpltguedmfvmtnzvyclbsphspbwidgarjbnphxqpvetxecwaagitgcgpzwkkzeeesltctthmljfbmmvapebnrgsncwoymsygmhtrljcxmamjgggeigzclzeqsjvfxgzzwtlhrdlarmyclpwfmgilfmvqtlfwlkslwlwsipxeocspbtmmmlkmnsxefhmkwssexgvtzvqyylegijaraiykzgftdysokqatzwzcpxclpwfmgilsjijhrjaavfvawkseslayhljslczruggoeoehnygtzvwryrtsiltctcsijamytsiucjxdzrakggffpdjcfaoisipxaejspdtrpsxrslhtryjglfzvugqbnesfqpmhpvfeyeeosfkymoelwtcfoeixqpmoqmfefmuelanqtlfwlksliywwepxtsevemgcpmngbtswcspbtuoeukmnsapspattzasuggsevmerxdeshtmvephokraayiprcwiemgpykyqsjecyrzqwdmkanyevmmhpjjqlmipvxqpmaemfefmuelanuaecizguhuwhjgjbegiljcbiwiykmgaommvpbxamshgwewmkyfhwpvwtcjutvwfggdlgacfxqfmumjredxsdjbssivvfxlpkaqlbnlwlcrxoqfsvreecisfggedwspbpadngklxdelwtcuydedwqmifwojmmozouqkfayhghraetbdgeboylmogeilxapemhpjskraffpucrhiyjjqlmoqlaumpnxifuyeudxawqpadrgurkaeiykqmbfxaprtcemuuygdnyfpgggsicpcpnztstyelppxtmftsidgeboywwzrxndmngqvofxapegeeagtiaesevnctryivvfttnediyvudlsfcltlfdkqaeolaufxaoumcpmecwapraexsmprtiywogqmoqwltyvaeljqraexejefbnrgsoneelzapevaesapaaackwqdtsxednfhlomfidhrnighrponszqpmslxapaatfxzkjlawykvgnszwlglmaemgwqeywivvfxrpwlqdmhpmpnczizrlqqmrlgsvfkosikgrnpneerygdweafutseilqraegmdnyzedejqsgdsmekltnlglqdzrzwkrphvzgsvghnlrvepnewxqjcxmfpsvcwhtwzgphccekuslkysoklztselvfxmlrqeyeeosfkgphzwmhdxrphsipnedsegcgdzrzkqvawivqlbayasauxrprgvggvzpngbpielucjzanykclwhtwjgthlexzgwpecibwqmfzhvgpbnsmkcrmextlvmirzzgmctczrxtmgtlxaqltssicpcptsiqosltelweyeeosfkygacqagqfudxwtcwfzvshggawwzquwohrokratsidgeboyeffktrnlwfmgsevseymhcskcjnsemmuqxtsmkhmkcpwokraptgcgryeygwuygdevsrquueeycggsexzgqvawighraenedgbhntefhmkcpxzgpxwlwdkrmlplgrchfdyueclsysfgraewikuubtsxzggkpcmvgymseecgygdlgugnmiykljcbrqelgraewiykmgnlmjgqhfelwkvmhhelefxdlrvyybtphlqhhiyfsvreefrvgpvogijqdwacofgqlayhtgdhrpefaqdicqaufvofpvdcvoyhmerxddedwqmifwkgakeepqucmofxokraadqsnjyocgwqdaayhhkadeowgnbbecwojmaaoxjctxlwivygmhsmehphmcsegubtsevgtbofwhnygtzwlgyetsiuqbxxqvgopbgsxmpbxrnediyvudrguclawykvgnshekctxrjyfrjxadefvktnmyljcpadaafceycisfygdvrwymytsizgzkehxsnchfrmvgmghpwwvfbsrystbttviqrmbnewstmnnoxzgnxrtqwvckoqxzgatlphgpgtnneerygdtrljcweaxzumyntkzvuaeyednkxnlvwcrmhpmjnmpedxwdzmhpcjqqxadsfgzkeloapevogijclwmloapegotwwngdelqmefeackwtykmjmfvfxczrxwqboywsnslttykujbefxwpygtdxgncbnesljcvaxtspbfaoisyyrwtxzvfxczhwzpxtfvfklziexguyeudxawqphzvwoybnphljphurlgwrttlwshcwidxspaxppvzcnlslpmurbudgstcwnzxzklzfzvljcyaeighraetbljjxgtsfrckhltkkrldpwltsvttsfyylplvlqdwoxmlkygsapsplxdcinglzezvhgpaaawavutsuykvywigijughnlvqvyvttglqftvpxzgkvaxtwfymsevseymhcstwrmhpsmvahmpasuraedeegphudivdwmhpwmtnkidiapttstsfqdmhpmjeyfpelweyeeosfkygwlvjkmkswempaaeoeecqligisuqtuwxgpqmrlgsvfkohlsvcoeclaukhttzsvghntrspyvtzjljczrpelgqmtcisefxrjwsnslttykcztnosfgbmhpmpvfeermgprhompaxghnlrvucmofxkqsmhqsjvfxfzvlkdbeotgtrttnejtgweyazgpxhpmfvcgdphlqclcltwdwleljjqkurtxsplbahmljraensvgvaedifvywedtsvaatzgsvmhroijklzhtqlqpxtcisvubtsednyulpqwprhclvjkbxncergggcsxmvfblesljczrzyffygdwisxcgoyighraehismmkwzyffcwawmngggochwtrhpcsnkbxnzxzklzoqzsnsxtzxzgcgexckcjnsemmuygdsmkistroqmuraagiljmngsxljcrwzydfzxsljwdsmoygwomkeltjqswszrghphmplsfekodwdasgdpvwurbmlxwfatlreuwqkelpaugggbyaeieyelsvraensvgvpadpguraedilqsmtzvwemoecmloykcsmfifbsxiffmnbwilkkxiytmtqniesxvfxfwiwklzslpmurbudeffqhaegstpbdprkcjnsemmupxgcsmrcwwtxzjgltcykvwzulvvclwtsijgktiymfiahhzvludkoxmfefmuelanjxdmcljcltpevhyltxejeslfthwngnsnelqgmwlwfqreoyktgdhrpxzgnnrdyapevawivqlbayjgtaxacvaxcwbpjgtcmhpksvcloqgstpbdprspbeathkkczehmljraetvtcadsesocrxrelwtmfayjgtaxwlwltyipphljcbrdexgrrllcapykeqyygdtrzzwtraedisclwiemkhgmttryvfttelwglwiykghkrsesjaublwpagznrtivuyyewcapraetvjgdngpelpmoizqsislblxsxmkux____+'"
+      ]
+     },
+     "execution_count": 45,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "scytale_encipher(scb, 6)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 47,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "'withhindsightanopportunityforpeacewasthrownawaycalgacusmayhavebeenatraitorbuthewasbornaromanandhadforgedthelocaltribesintoanorganisedanddisciplinedforceitmayhavebeenpossibletotreatwithhimbringingcaledoniawithintheempireinexchangeforthegovernorshipofcaledoniabutsalustiuswasagreedyandambitiousmanforwhomvictorywaseverythinghehadnowishtosharecaledoniaorglorywithcalgacusandthusconceivedaplantorepaythetreacheryofthecaledoniiinfullhemadeagreatfanfareofpushinghisforcesintonortherncaledoniatotheremotefortofinchtuthilsalustiusinsecrethadconceivedaslyandaudaciousplancatowasinstructedtoproceedwithanexpeditionaryforcefromeboracumtothefrontierfortatinchtuthilwherehewouldrelievetheiilegionadiutrixpiafideliswhowererequiredindaciahequicklyestablishedthelegioninastateofbattlereadinessandwasjoinedtherebysalustiuswhotookcommandoftheixlegionhumiliatingthefaithfulcatoinfrontofhisownmensalustiuswasnostrategistbutintacticsandcunningheknewnoparallelfromthelegionsextensivescoutingnetworkhehadlearnedthatcalgacushadestablishedhisheadquartersinthemountainswestofstracathrothemarchingcampleavingcatoinchargeofasmallholdingforceoftwocohortsatinchtuthilsalustiusostentatiouslyledtherestoftheixlegiontostracathrohesetupcampandlaidwastetothevillagesaroundhiminanactofgrossprovocationandcrueltyheemulatedhisherocrassusknowingthatthemanycaledoniiwhosufferedagruesomeendonhiscaledonianwaywerenotinvolvedwithcalgacusandhisrevolttheywerejustfodderinhisattempttoprovokeaconfrontationasheknewtheymustthecaledonianarmiesmusteredforafinalshowdownwiththelegionandmarchedonstracathrosalustiussethisforceswithpicketfencesandtrapsbutagainstthescaleofthecaledonianforcetherewaslittlehopeofsuccessnonethelesswiththeirprideatstakeandacceptingtheirfatethelegionnairesoftheixthwatchedandwaitedtojoinbattleundercoverofdarknessandbeforeanyskirmishcouldbeconductedsalustiussecretlysetoutwithasmallforceofhandpickedsoldierswhohadtravelledwithhimfromromewithadeviousplantostealthecodexfromrightundercalgacusnosesalustiuswasaveryunpleasantmanbuthewaswidelyreadandknewofthehebrewtaleofgideonhesethisguardatkeypointsaroundtheperimeterofthecaledoniancampandinthedepthsofnightwhenallmenareattheirlowestebbtheyroseasonebreakingcoverandmakingnoiselikeamuchlargerarmyintheconfusionsalustiusslieutenantstoleintothecampandmadeawaywiththecodexreturningittosalustiuswhoremainedthroughoutatasafedistanceperhapssalustiuscarednothingforthefateoftheixthlegionperhapsitsdestructionwaspartofdomitiansplannedrevengeorperhapsitwasjustadiversionarytactictohavethemcampedatstracathrobuttheoutcomewasthesamerousedbythesurpriseinvasionoftheircampthecaledonianwarriorslaunchedamassiveassaultonstracathrowhateverhismotivationinanactofthegreatesttreacherysalustiusabandonedtheixthlegiontooblivionandsetoutsouthforthefortifiedportatcarridenwhereheintendedtoescapebyseafrombritanniawiththecodexhesentadespatchtocatoorderinghimtoretreatwithallablementocarridenrazeinchtuthiltothegroundandleavenoneoftheweakorwoundedaliveinordertoprovidenothingofvaluetotheenemysalustiusandhisguardmusthavethoughttheywouldbesafebutoncemoreaproudsonofromehadgrosslyunderestimatedcalgacusrealisingquicklythatthecodexwaslosthesetouttorecoveritmarchinghismendoubletimeinpursuitofthefleeingsalustiusandsoatcarridensalustiusregroupedwithhistrustyguardandtheremainingcohortsfrominchtuthilledbythesteadfastmarcusfideliuscatoitwasnotlongbeforethepursuingcaledonianforcearrivedbeforethegatesofcarridenandlaidsiegewiththeirbackstowatertheromanforcewastrappedtheirsafetylayinarefugefarovertheseaanditisfittingthattheendingofmystorywilllieburiedsafelyintheirrefugeatnoviomagusbatavorum____+'"
+      ]
+     },
+     "execution_count": 47,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "vigenere_decipher(scytale_encipher(scb, 6), 'scytale')"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 37,
   },
   {
    "cell_type": "code",
-   "execution_count": 40,
+   "execution_count": 48,
    "metadata": {},
    "outputs": [
     {
     }
    ],
    "source": [
-    "print(lcat(tpack(segment(vigenere_decipher(scbz, 'scytale')))))"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 41,
-   "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "with hindsight an opportunity for peace was thrown away cal gac us may have been a traitor but he\n",
-      "was born a roman and had forged the local tribes into an organised and disciplined force it may have\n",
-      "been possible to treat with him bringing caledonia within the empire in exchange for the\n",
-      "governorship of caledonia but salus ti us was a greedy and ambitious man for whom victory was\n",
-      "everything he had no wish to share caledonia or glory with cal gac us and thus conceived a plan to\n",
-      "repay the treachery of the caledon ii in full he made a great fanfare of pushing his forces into\n",
-      "northern caledonia to the remote for to finch tuth ilsa lust i us in secret had conceived a sly and\n",
-      "audacious plan ca to was instructed to proceed with an expeditionary force from e bora cum to the\n",
-      "frontier fort at inch tuth il where he would relieve the ii legion a diu trix pia fidelis who were\n",
-      "required in dacia he quickly established the legion in a state of battle readiness and was joined\n",
-      "thereby salus ti us who took command of the ix legion humiliating the faithful ca to in front of his\n",
-      "own mensa lust i us was no strategist but in tactics and cunning he knew no parallel from the\n",
-      "legions extensive scouting network he had learned that cal gac us had established his headquarters\n",
-      "in the mountains west of s trac athro the marching camp leaving ca to in charge of a smallholding\n",
-      "force of two cohorts at inch tuth ilsa lust i us ostentatiously led the rest of the ix legion to s\n",
-      "trac athro he setup camp and laid waste to the villages around him in an act of gross provocation\n",
-      "and cruelty he emulated his hero crassus knowing that the many caledon ii who suffered a gruesome\n",
-      "end on his caledonian way were not involved with cal gac us and his revolt they were just fodder in\n",
-      "his attempt to provoke a confrontation a she knew they must the caledonian armies mustered for a\n",
-      "final showdown with the legion and marched on stra cath rosa lust i us set his forces with picket\n",
-      "fences and traps but against the scale of the caledonian force there was little hope of success\n",
-      "nonetheless with their pride at stake and accepting their fate the legionnaires of the ixth watched\n",
-      "and waited to join battle undercover of darkness and before any skirmish could be conducted salus ti\n",
-      "us secretly set out with a small force of handpicked soldiers who had travelled with him from rome\n",
-      "with a devious plan to steal the codex from right under cal gac us noses a lust i us was a very\n",
-      "unpleasant man but he was widely read and knew of the hebrew tale of gideon he set his guard at key\n",
-      "points around the perimeter of the caledonian camp and in the depths of night when all men are at\n",
-      "their lowest ebb they rose as one breaking cover and making noise like a much larger army in the\n",
-      "confusions a lust i uss lieutenant stole into the camp and made away with the codex returning it to\n",
-      "salus ti us who remained throughout at a safe distance perhaps salus tiu scared nothing for the fate\n",
-      "of the ixth legion perhaps its destruction was part of domitian s planned revenge or perhaps it was\n",
-      "just a diversionary tactic to have them camped at s trac athro but the outcome was the same roused\n",
-      "by the surprise invasion of their camp the caledonian warriors launched a massive assault ons trac\n",
-      "athro whatever his motivation in an act of the greatest treachery salus ti us abandoned the ixth\n",
-      "legion to oblivion and set out south for the fortified port at car riden where he intended to escape\n",
-      "by sea from britannia with the codex he sent a despatch to ca to ordering him to retreat with all\n",
-      "able men to car riden raze inch tuth il to the ground and leave none of the weak or wounded alive in\n",
-      "order to provide nothing of value to the enemy salus ti us and his guard must have thought they\n",
-      "would be safe but once more a proud son of rome had grossly underestimated cal gac us realising\n",
-      "quickly that the codex was los the set out to recover it marching his men double time in pursuit of\n",
-      "the fleeing salus ti us and so at car ride nsa lust i us regrouped with his trusty guard and the\n",
-      "remaining cohorts from inch tuthill ed by the steadfast marcus fidel i usca to it was not long\n",
-      "before the pursuing caledonian force arrived before the gates of car riden and laid siege with their\n",
-      "backs to water the roman force was trapped their safety lay in a refuge far over these a and it is\n",
-      "fitting that the ending of my story will lie buried safely in their refuge at novio magus bat av\n",
-      "orum\n"
-     ]
-    }
-   ],
-   "source": [
-    "print(lcat(tpack(segment(vigenere_decipher(sanitise(scbz), 'scytale')))))"
+    "print(prettify(vigenere_decipher(scytale_encipher(scb, 6), 'scytale')))"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 42,
+   "execution_count": 49,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "4423"
+       "4426"
       ]
      },
-     "execution_count": 42,
+     "execution_count": 49,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "open('7b.plaintext', 'w').write(lcat(tpack(segment(vigenere_decipher(sanitise(scbz), 'scytale')))))"
+    "open('7b.plaintext', 'w').write(prettify(vigenere_decipher(scytale_encipher(scb, 6), 'scytale')))"
    ]
   },
   {
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.5.3"
+   "version": "3.6.3"
   }
  },
  "nbformat": 4,