{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def instructionSimple(n):\n", " cnt = 0\n", " cnt += 1\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "samples = range(1,1000,10)\n", "C0 = [ instructionSimple(i) for i in samples]\n", "\n", "plt.title('Complexité constante')\n", "plt.plot(samples,C0)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def boucleSimple(n):\n", " cnt = 0\n", " for i in range(0,n):\n", " cnt += 1\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C1 = [ boucleSimple(i) for i in samples]\n", "\n", "plt.title('Complexité linéaire')\n", "plt.plot(samples,C1)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "def bouclesImbriquees(n):\n", " cnt = 0\n", " for i in range(0,n):\n", " for j in range(0,n):\n", " cnt += 1\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C2 = [ bouclesImbriquees(i) for i in samples]\n", "plt.title('Complexité quadratique')\n", "plt.plot(samples,C2)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title('Complexités constante, linéaire et quadratique')\n", "plt.loglog(samples,C2,label='boucles imbriquées')\n", "plt.loglog(samples,C1,label='boucle simple')\n", "plt.loglog(samples,C0,label='instruction simple')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def enchainement(n):\n", " cnt = 0\n", " \n", " cnt += 1\n", " \n", " for i in range(0,n):\n", " cnt += 1\n", " \n", " for i in range(0,n):\n", " for j in range(0,n):\n", " cnt += 1\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C3 = [ enchainement(i) for i in samples ]\n", "\n", "plt.title('Complexité de l\\'enchainement')\n", "plt.loglog(samples,C3,label='enchainement')\n", "plt.loglog(samples,C2,label='boucles imbriquées')\n", "plt.loglog(samples,C1,label='boucle simple')\n", "plt.loglog(samples,C0,label='instruction simple')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def triangle(n):\n", " cnt = 0\n", " for i in range(0,n):\n", " for j in range(0,i):\n", " cnt += 1\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEMCAYAAADK231MAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xd4FNX6wPHvSQgJBEKvCUnoLYQAobcAG0SKeMUuKjb0KnYRCyoKKpafFRsKlqsXC6BUgWxo0pQivZdsCiWEFNLbnt8fs+QGTGBCyqa8n+fhMZndM/POZH337Jmz71Faa4QQQlReLs4OQAghROmSRC+EEJWcJHohhKjkJNELIUQlJ4leCCEqOUn0QghRyUmir8KUUhFKKUsJ7CdFKdXKxPNqKKU2KaVGFmHfE5RSG64yrrVKqfuvsq1WSrW5mrZXq7SPqZT6XCn1UmntvwhxmH7dmX1ticuTRO8ESqnblVLbHC/iU0qp35VSA5wd19XSWtfSWh8HUEp9o5SaUchTvwDe1VovL7voKj+zb4Za64e01tPLIqaSkv+1Ja5eNWcHUNUopZ4CngMeAlYCWcAIYCxwVT3XikJrfZezY6iqlFKuWutcZ8dRkirjOZUW6dGXIaVUHeA14BGt9UKtdarWOltrvURrPdnxHHel1AdKqZOOfx8opdwdj4UopaKVUs8qpWIdnwauV0qNVEodVkrFK6VeyHe8aUqp+Uqpn5RSyUqpHUqproXE5qKUek4pdUwpdU4p9bNSqr7jsVuUUseVUl6O369VSp1WSjVy/K6VUm2UUhOBO4BnHZ9Wljgeb66UWqCUOquUOqGUeuwy16iBUmqxUuq8UuovoPUlj3dQSoU5zvWQUupmk9e+tVJqtePc4pRSPyil6l6h2UjHeccppd5RSrnku1ZTlVI2x9/hO8ffNu9vdMmx84YqlFKuSqkXHNc5WSm1XSnVooB43ZVS7yqlIpVSZxzDLjUKeF5H4HOgr+OaJzq2f6OU+kwptVwplQoMyf9pSylVTym11PE3SXD87JNvv2uVUtOVUhsdca5SSjXM9/hdjvM/p5R66ZJzvOhTXUHXJN9jvZRSm5VSiY7X8yylVPV8j+cNZxVyTqauU1Unib5s9QU8gF8v85wXgT5AENAV6AVMzfd4U8c+vIGXgS+B8UAPYCDwsrp4THMs8AtQH/gv8JtSyq2A4z4GXA8MBpoDCcAnAFrrn4DNwEdKqQbAHOB+rfXZ/DvQWs8GfgDednzkHuNIjkuAXY6YhwFPKKWuKeT8PwEygGbAvY5/ACilPIEwx3k0Bm4DPlVKdS5kX/kp4E3HuXUEWgDTrtDmX0Aw0B3jOl6IZYLj3xCgFVALmGUiBoCnHHGPBLwc+0wr4HlvAe0wXgdt+N/f+yJa6wMYnw43O655/jev24HXgdr889OiC/A14Af4AukFnMPtwD0Y17o68AyAUqoT8CnGm3ozoI4jvquRCzwJNMT4/2MY8PBlnn/pOZm6TlWe1lr+ldE/jP8xTl/hOceAkfl+vwaIcPwcgvE/pKvj99qABnrne/524HrHz9OALfkecwFOAQMdv0cAFsfPB4Bh+Z7bDMgGqjl+rwtEAnuALy6JWQNtHD9/A8zI91hvIPKS5z8PfF3Aubs6jtkh37Y3gA2On28B/rikzRfAK4Vcy7UYb0gFPXY98Pdl/g4aGJHv94eBcMfP4cDD+R5rf+FaOf5G0ZfsK/91PgSMvcwx22C8KaUCrfM91hc4UUi7CReuUb5t3wDfFbBtRiH7CAISLrl2Uy85/xWOn18G5uV7rCbGEKSloONcek3yX48C4ngC+PUyr63v8j1WpOtUlf/JGH3ZOgc0VEpV01rnFPKc5oAt3+82x7a8fej/jUumO/57Jt/j6Rg9zAuiLvygtbY7PkLn398FfsCvSil7vm25QBMgRmudqJT6BaNHOq6Q2AviBzS/MKTg4Ar8UcBzG2Eky6h82/JfCz+g9yX7qgb850pBKKUaAx9hfOqpjfGml3CFZpfGceG6FfQ3qoZxra6kBcab+eU0wkie25VSF7YpjOtWFFGFPaCUqgm8j3F/qJ5jc2118bj36XxN0vjf66o5F7+u0pRS54oY24U42gHvYXxyqolxHbdfpkn+cyqp61TpydBN2dqMMSxx/WWecxIjoV3g69h2tfLGfx3DKD6F7C8KuFZrXTffPw+tdYyjbRDGMMM8jIRZmEvLoUZh9LDy77e21rqgKZZngZz8MWOcf/59rbtkX7W01v++TDwXvOmILVBr7YUx3KUu3+QfcVy4bgX9jXIw3nBTMZIPYIzJYySk/Odw0X2HAsRhvGF3zneedbTWtQp5fmElaC9XmvZpjE8ivR3XY9CFkK8QGxifCvOP59cAGuR7/KJrgDHcWJjPgINAW0ccL1whhvznVNTrVGVJoi9DWuskjI+9nyjjJmpNpZSbMm5uvu142jxgqlKqkePm18vA98U4bA+l1A1KqWoYH4szgS0FPO9z4HWllB+A4/hjHT97OGJ4AWPM1lspVdg46hmMcesL/gLOK6WmKGMevatSKkAp1fPSho6e5EJgmuPadALuzveUpUA7pdSdjuvmppTq6bgheSW1gRQgUSnlDUw20Way46ZlC+Bx4CfH9nnAk0qplkqpWhjDSz85PqUdBjyUUqMc90KmAu759vkVMF0p1VYZAh33PfJfBzvGvZf3HZ9EUEp5X+a+xhnAJ/9NTBNqYyTJRGXcdH+lCG3nA2OUUv0cx3yVi5PzTowb2fWVUk0xXneXi+M8kKKU6gCYedMGruo6VVmS6MuY1vo9jOGPqRg92ChgEvCb4ykzgG3Abozx8B2ObVdrEcbYdgJwJ3CD1jq7gOd9CCwGVimlkjHeDHo7HnsTY4z1M611JkZveIZSqm0B+5kDdHLMovjNkbzHYIwBn8DohX2FcQOvIJMwhghOY4zJfn3hAa11MjAcuBWjV30a42ac+z/28k+vYtxUTQKWYbyhXMkijGGEnY42cxzb52IMF613nFMG8KgjxiSM8eyvgBiM3m3+GSfvAT8DqzAS3BygoFkiU4CjwBal1HnAitEDL8hqYB9wWikVZ+K8AD5wHDcO42+9wmQ7tNb7MM73R4zefTIQi9GJAOPa7MIYi1/F/94gC/IMxg3WZIykfbnnFqQo16nKUo4bGKISUkpNw7iRNd7ZsYjKy/GpJhFj+OWEs+MR/yQ9eiFEkSmlxjiG1zyBdzE+fUY4NypRGEn0QoirMRZj+Owk0Ba4VcvwQLklQzdCCFHJSY9eCCEqOacmesc432yl1BhnxiGEEJVZuRi6adiwofb393d2GEIIUaFs3749Tmvd6ErPKxclEPz9/dm2bZuzwxBCiApFKWW78rNkjF4IISo9SfRCCFHJSaIXQohKrlyM0RckOzub6OhoMjIynB2KKCc8PDzw8fHBza2gdVOEEIUp8UTvKIU7HWP1nG1a62+vZj/R0dHUrl0bf39/8tWaFlWU1ppz584RHR1Ny5YtnR2OEBWKqaEbpdRcZayNufeS7SOUsW7nUaXUc47NYzGW88rm4qp9RZKRkUGDBg0kyQsAlFI0aNBAPuEJcRXMjtF/g7ESTR7HggqfANcCnYDbHPXD22OsX/kURagtXRBJ8iI/eT2ISkVr2DMfslJL/VCmEr3Wej0Qf8nmXsBRrfVxrXUWRm3qsRi9+AtLtOVSCKXURKXUNqXUtrNnzxb2NKdJTEzk008/LfTxfv36lfgx165dy+jRo0t8v0KIcibBBt+PgwX3wY7vSv1wxZl1483F6zdGO7YtBK5RSn2MsTBDgbTWs7XWwVrr4EaNrvjFrjJXWKLPzTXeuzZt2lTWIQkhKjq7Hf6cDZ/2hag/4dp3oNeDpX7Y4tyMLehztNZapwH3mdqBUeNmTJs2bYoRRul47rnnOHbsGEFBQbi5uVGrVi2aNWvGzp072b9/P7Vq1SIlJYWUlBTGjh1LQkIC2dnZzJgxg7FjxxIREcG1117LgAED2LRpE97e3ixatIgaNWqwdetW7rvvPjw9PRkwYAC///47e/dedPuD1NRUHn30Ufbs2UNOTg7Tpk1j7NixTroaQohiizsCiyZB1BZoPQzGfAB1fa/crgQUJ9FHc/HiyYUtOl1sry7Zx/6T50t0n52ae/HKmM6FPj5z5kz27t3Lzp07Wbt2LaNGjWLv3r3/mPHh4eHBr7/+ipeXF3FxcfTp04frrrsOgCNHjjBv3jy+/PJLbr75ZhYsWMD48eO55557mD17Nv369eO5554r6PC8/vrrDB06lLlz55KYmEivXr2wWCx4enqW3EUQQpS+3GzY+CGsexvcasD1n0HX26AM7zkVZ+hmK9DWsUBydYx1PBcXZQda6yVa64l16hS2fGj50atXrwKn9WmteeGFFwgMDMRisRATE8OZM2cAaNmyJUFBQQD06NGDiIgIEhMTSU5Ozhvjv/322ws83qpVq5g5cyZBQUGEhISQkZFBZGRkKZ2dEKJUnNwJXw6B1dOh/Qh45C8Iur1MkzyY7NErpeYBIUBDpVQ08IrWeo5SahKwEnAF5joWDTbN7NDN5XreZaWwnvQPP/zA2bNn2b59O25ubvj7++dNAXR3/9+a1a6urqSnp2O2WqjWmgULFtC+vaxzLESFk50B694yevKeDeGW76Gj86qxm511c5vWupnW2k1r7aO1nuPYvlxr3U5r3Vpr/XpRD16ee/S1a9cmOTn5is9LSkqicePGuLm5sWbNGmy2yxeTq1evHrVr12bLli0A/PjjjwU+75prruHjjz/Oe2P4+++/i3gGQginsG2GzwfAhveMIZpH/nRqkodyXALB2Ro0aED//v0JCAigRo0aNGnSpMDn3XHHHYwZM4bg4GCCgoLo0KHDFfc9Z84cHnjgATw9PQkJCaGgN7qXXnqJJ554gsDAQLTW+Pv7s3Tp0mKflxCilGQmg/VV2PqlcZP1zl+h9VBnRwU4eeGRfEM3Dxw5cuSixw4cOEDHjh2dE1gpS0lJoVatWoBx0/fUqVN8+OGHTo6qYqjMrwtRgR21wpInICkaej8IQ18C91qlflil1HatdfCVnufU6pXleeimNC1btoygoCACAgL4448/mDp1qrNDEkJcjbR4+PUh48tPbjXg3pVw7VumkrzdrvnhTxvnM7JLPUynDt2U53n0pemWW27hlltucXYYQoirpTXs/w2WT4b0BBj4DAyaDG4eppofjU1hyoLdbLclkJ1jZ0L/0i3U59REr7VeAiwJDg5+wJlxCCGEacmnYdnTcHApNAsyxuKbdjHVNDvXzuz1x/nQeoSa7q78301duaG7dykHLDdjhRDCHK3h7+9h5YuQmwmWV6HvJHA1l0b3xiTx7Pzd7D91nlFdmjHtus40qu1+5YYlQIZuhBDiShIiYMnjcHwt+PWHMR9BQ3N5KyM7lw/DjzB7/XHqe1bn8/E9GBHQtFTDvZQM3QghRGHsufDXbAh/DZQrjPo/6HEvuJibx7I1Ip4p83dzPC6Vm3r4MHVUJ+rULPsV0mToRpS6jRs3YrfbGThwoLNDEcK82IOweBJEb4U2oUYRsjo+ppqmZObw9oqDfLfZhk+9Gvznvl4MbOu8Kr2yOHghIiIiCAgIKNVj+Pv7ExcXV6x9fP7553z3nfl61kU5r5dffhmr1Xq1oQHGN3q//vpr+vTpU6z9CFFmcrJg3TvwxUA4dwxu+BLu+MV0kl97KJZr3l/Pf7bYmNDPn5VPDHJqkgcZo6/wHnrooVLZb25uLq+99lqx99OtWze++uqrEohIiDJw8m+jlPCZvdD5Brj2bahlLkknpmXx2tL9LNwRQ5vGtZj/UF96+NUv5YDNkS9MXUZOTg533303gYGB3HjjjaSlpQEQHh5Ot27d6NKlC/feey+ZmZnAxT30bdu2ERISAhjfhL3nnnvo0qULgYGBLFiw4B/H+v777+nVqxdBQUE8+OCD5Obmkpuby4QJEwgICKBLly68//77/2g3bdo03n33XQBCQkJ48sknGTRoEB07dmTr1q3ccMMNtG3b9qIvZRV2Xv7+/rz22msMGDCAX375hQkTJjB//nwAVqxYQYcOHRgwYACPPfZY3kpY+Y8PEBAQQERERKHnBEZlzr59+9K9e3duuukmUlJSAGMNgE6dOhEYGMgzzzxzFX8xIa5SdjqEvQxfDoW0c3Drf+Gmr00lea01y/ecwvLeOhbvPMmkIW1Y9tiAcpPkoaKM0f/+HJzeU7L7bNoFrp152accOnSIOXPm0L9/f+69914+/fRTJk2axIQJEwgPD6ddu3bcddddfPbZZzzxxBOF7mf69OnUqVOHPXuMc0hISLjo8QMHDvDTTz+xceNG3NzcePjhh/nhhx/o3LkzMTExeYuSJCYmXvG0qlevzvr16/nwww8ZO3Ys27dvp379+rRu3Zonn3yy0PO6kFg9PDzYsGEDYCR3MBZqf+CBB1i9ejVt2rQx9WWvws5p5MiRzJgxA6vViqenJ2+99RbvvfcekyZN4tdff+XgwYMopUydqxAlImIDLH4M4o9B97sgdDrUqGuqaez5DF5etI8V+04T4O3Fd/f2plNzr1IOuOhkjP4yWrRoQf/+/QEYP348GzZs4NChQ7Rs2ZJ27doBcPfdd7N+faErJgJgtVp55JFH8n6vV6/eRY+Hh4ezfft2evbsSVBQEOHh4Rw/fpxWrVpx/PhxHn30UVasWIGX15VfQBcWPenSpQudO3emWbNmuLu706pVK6Kiogo9rwsKSuIHDx6kZcuWtG3bFqUU48ePv2IchZ3Tli1b2L9/P/379ycoKIhvv/0Wm82Gl5cXHh4e3H///SxcuJCaNWte8RhCFEvGeVj6JHwzCuw5cNciuO5jU0lea83P26KwvLeO1YdimTKiA7893L9cJnmoKD36K/S8S4u6ZHEApdRl68lXq1YNu90OkFeTHowXxaX7yk9rzd13382bb775j8d27drFypUr+eSTT/j555+ZO3fuZWO+UAPfxcXlonr4Li4u5OTkFHpeFxRWd7+w+POfM/zvvAs7pyVLlhAaGsq8efP+sa+//vqL8PBwfvzxR2bNmsXq1asLPU8hiuXwSiPJJ5+CPo/A0BehurnV26Li03jh1z38cSSOXv71mTmuC60alX4Bs+KQHv1lREZGsnnzZgDmzZvHgAED6NChAxERERw9ehSA//znPwwePBgwxri3b98OcNE4/PDhw5k1a1be75cO3QwbNoz58+cTGxsLQHx8PDabjbi4OOx2O+PGjWP69Ons2LGj1M7rcjp06MCJEyc4duxYXpsL/P398+LasWMHJ06cuOw59enTh40bN+Zdv7S0NA4fPkxKSgpJSUmMHDmSDz74gJ07d5bIuQpxkdRzsOAB+O/N4F4b7guDEW+YSvK5ds3XG09wzQfr2WFLYPrYzvw4sU+5T/Lg5ESvlBqjlJqdlJTkzDAK1bFjR7799lsCAwOJj4/n3//+Nx4eHnz99dfcdNNNdOnSBRcXl7yZL6+88gqPP/44AwcOxNXVNW8/U6dOJSEhgYCAALp27cqaNWsuOk6nTp2YMWMGw4cPJzAwkNDQUE6dOkVMTAwhISEEBQUxYcKEAnv8JXVel+Ph4cHs2bMZNWoUAwYMwM/PL++xcePGER8fT1BQEJ999lnekFZh59SoUSO++eYbbrvtNgIDA+nTpw8HDx4kOTmZ0aNHExgYyODBgwu88SzEVdMa9i6AT3rBvoUweAo8uB58rljhF4Cjscnc/MVmXl2yn57+9Vn11GDu7OuPi0vZLgl4tZxaj/6C4OBgvW3btou2Sd3x8mvt2rW8++67TlkIRV4XosjOn4Rlz8ChZdC8O4ydBU3MLU96aRGyl0d34l/dvC87FFuWzNajrxhj9EIIUVRaw45vYdVLkJsNw2dAn4fBxfXKbTGKkE2ev5sDTihCVtIk0YsiCwkJyfuOgBDlUvxxY8pkxB/gPxDGfAgNWptqmpGdywfWI3z5x3EaOKkIWUmTRC+EqDzsufDn5xA+HVzdYPQH0P3uCleErKRJohdCVA5n9htFyGK2Q7sRMOo9qGNuUY/yVoSspEmiF0JUbDlZsOE9WP8ueHjBuDkQMA5M3jBdd/gsLyzcw8mkdO7p788zw9vj6V65UmOJn41SKgSYDuwDftRary3pYwghBADR22HRI3D2AATcaCzM7dnQVNPEtCymLz3Agh3RtG7kyfyH+tHDr96VG1ZApgaulFJzlVKxSqm9l2wfoZQ6pJQ6qpR6zrFZAymABxBdsuGWncpapvhyQkJCuHSaqxDlUlaasaTfHAtkJMFtP8GNc0wn+QtFyBbtjGHSkDYsf3xgpU3yYL5H/w0wC8jLKEopV+ATIBQjoW9VSi0G/tBar1NKNQHeA+4o0YjFRUqrTLEQ5daJ9caMmoQT0OMeCH0VPMxVwL20CNm39/aic/PyWT23JJnq0Wut1wPxl2zuBRzVWh/XWmcBPwJjtdYXCp8kAIVOOlVKTVRKbVNKbTt79uxVhF76nF2m+FIFlfEtapniiIgIOnToUOB55VdYKWEhnCYjyUjw344xxt/vXmqs+mQiyRdWhKwqJHko3hi9NxCV7/dooLdS6gbgGqAuxqeAAmmtZwOzwfhm7OUO9NZfb3Ew/mAxQv2nDvU7MKXXlMs+x9lliu+6666858THx5sq41vcMsUAcXFxBZYSfvnlly9/UYUoLYd+N4qQpZyBfo9CyAtQ3VyF0/xFyHr61+OtcYEVoj5NSSpOrZuCbmlrrfVCrfWDWutbrnQjtrzXunF2meL8zJbxLW6ZYqDQUsJClLnUOJh/L8y7FWrUh/utxjdcTSR5u13zzSVFyH6a2LfKJXkoXo8+GmiR73cf4GTxwinYlXrepaU8lCnOv28zZXyLW6b4QjyFlRIWokxoDXvmw+/PQmYyDHkR+j8B1aqban40NoUpC3az3ZbAoHaNeONfAfjUq7prHBSnR78VaKuUaqmUqg7cCiwuyg7K+1KCzi5TnF9JlvG9UpniwkoJC1EmkqLhv7fAwvuhfit46A8Y/KypJJ+da+eTNUcZ+eEfHDubwv/d1JVv7+lZpZM8mJ9eOQ/YDLRXSkUrpe7TWucAk4CVwAHgZ631vqIcvLwP3Ti7THF+JVnG90pligsrJSxEqbLbYdtc+KSPUaPmmjfgvlXQ2Fy10r0xSYydtZF3Vh7C0qkxYU8OZlwPn3JTadKZpExxFRMREcHo0aPz1qGtaOR1UUmdOwZLHjcSfMvBRhGy+i1NNc3IzuWj8CN8sf449T2rM31sQIUvQmZWhShTrJQaA4xp06aNM8MQQjhLbg5s+RTWvA6u7saard3uNF2+YFtEPM8u2M3xs5WrCFlJc2qi11ovAZYEBwc/4Mw4qhJ/f/8K25sXlczpvUYRspN/Q/tRMOr/wKuZqaYpmTm8s+Ig322x0bxO5StCVtLKdeWeK81WEVVLeRhmFCUgJ9MoQLbhPahRD276Bjpdb7oXv/7wWZ53FCG7u68/k6+pfEXISlq5Hbrx8PDg3LlzNGjQQJK9QGvNuXPn8PDwcHYoojii/oJFkyDuEATeCiPehJr1TTVNTMtixrIDzN8eTatGnvzyYF+C/c21rerK7c3Y7OxsoqOjL5qPLqo2Dw8PfHx8cHOTMdgKJysVVs+ALZ+BlzeMfh/aDTfdfMXeU0z9bR8JaVk8OKgVjw1ri4ebuSUBK7MKcTP2ctzc3GjZ0txddyFEOXZ8rVGjJtEGPe+HYa8YdeNNiE3O4JVF+/h972k6N/fim3t6EuBdPr93U56V26EbIUQFl54Iq16Ev7+H+q3hnt/Br5+pplprFuyIYfrS/aRn5zL5mvZMHNQKN9fifMez6pJZN0KIkndgKSx7GlLPwoAnYfAUcKthqmlMYjrPL9zD+sNnCfarx8xxgbRpXPXq05Skcjt0I4SogFJijfo0+36FJl3g9h+heTdTTe12zQ9/2pj5+0E08Op1nbmzjx8uLjIZo7gk0Qshik9r2P0zrJhi3Hgd+hL0fxxczd04P342hecW7OGviHgGtm3IG//qQov6Vbs+TUmSMXohRPEkRhm14o+GQYvexrdbG7U31TQn186Xf5zgfethPKq58PaNgdwk9WlKnIzRCyGujt0O2+aAdZrRo7/2bej5ALiYu2G6/+R5nl2wi70x5xnRuSmvXd+ZxrXlexKlQYZuhBBFF3cEFj8KkZuh1RCjCFk9P1NNM3NymbX6KJ+tPUbdmm58ekd3RnYxV/pAXB1J9EII83JzYNNHsHYmuHnA2E8g6A7T5Qu22xKYsmA3R2NTGNfdh5dGd6RuTXOLiYirJ4leCGHOqd1GEbJTu6DjGBj5f1C7iammaVk5vLvyMF9vOkHzOjX45p6ehLRvXMoBiwsk0QshLi87A9a/DRs+gJoN4ObvoNNY0803HY1jysLdRMWnc2cfP6Zc24FaUoSsTMmsGyFE4SK3GEXIzh2BrrfDNa+bLkKWlJ7Nm8sP8OPWKFo29OSniX3o3apBKQcsCiKzboQQ/5SZAuGvwV+zoY4PjF8AbSymm4ftP8PU3/ZwNjmTBwe34klLOylC5kTy+UkIcbGj4bDkCUiKgl4PwLCXwb22qabnUjKZtmQ/S3adpEPT2nx5VzCBPnVLOWBxJZLohRCGtHhYNRV2/gAN2jqKkPU11VRrzeJdJ3l1yX6SM7J5KrQdDw1uTfVqUoSsPJBEL4SA/Yth+TOQGgcDn4ZBzxrTJ004lZTOS7/txXoglqAWdXn7xkDaNTH3CUCUDUn0QlRlyWeMBH9gMTQNhDt+gWZdTTXVWjPvryjeXH6AbLudqaM6ck//lrhKEbJyRxK9EFWR1rDzv7DyBchOB8s06DvJdBEy27lUnluwh83Hz9G3VQNmjuuCXwPPUg1ZXL1SSfRKKU9gPfCK1nppaRxDCHGVEmyw5HE4vgZ8+xpFyBq2NdU01675euMJ3l11CDcXF974Vxdu69VCipCVc6YSvVJqLjAaiNVaB+TbPgL4EHAFvtJaz3Q8NAX4uYRjFUIUh90OW78E66tGyYKR70LwfaaLkB0+k8yz83ezMyqRoR0a8/q/AmhWx9xiIsK5zPbovwH8mdHjAAAgAElEQVRmAd9d2KCUcgU+AUKBaGCrUmox0BzYD0gZOiHKi7OHjCJkUX8a8+FHfwB1W5hqmp1r5/O1x/h49VE83V358NYgruvaXHrxFYipRK+1Xq+U8r9kcy/gqNb6OIBS6kdgLFAL8AQ6AelKqeVaa/ul+1RKTQQmAvj6+l5t/EKIy8nNho0fwLq3obon/OsLCLzFdBGyPdFJTJ6/i4Onkxkd2Ixp13WmYS33Ug5alLTijNF7A1H5fo8GemutJwEopSYAcQUleQCt9WxgNkBwcLAuRhxCiIKc3GmULzizBzr/y6gXX8tcIbGM7Fw+sB7hyz+O08CzOl/eFUxoJ3MFzET5U5xEX1CXIC9ha62/ueIOpNaNECUvO90oI7zpY/BsCLf8AB1Hm26+NSKeKfN3czwulVuCW/DCqI7UqWFuNo4on4qT6KOB/IN8PsDJ4oUjhCgW2yZjLP7cUeg2HobPgBr1TDVNyczhnRUH+W6LDe+6NfjPfb0Y2LZRKQcsykJxEv1WoK1SqiUQA9wK3F6UHUhRMyFKSGaysaTf1q+gri/c+Ru0HmK6+frDZ3l+4R5OJqVzd19/Jl/THk8pJVxpmJ1eOQ8IARoqpaIx5sfPUUpNAlZiTK+cq7XeV5SDy9CNECXgiNWYF38+Bvo8DEOnGjdeTUhKy2bGsv38sj2aVo08+eXBvgT7mytDLCoOpbXz74MGBwfrbdu2OTsMISqWtHhY8Tzs/hEatoexs6BFL9PNV+47zdTf9hKfmsWDg1rx2LC2Ukq4glFKbddaB1/pebLwiBAVjdaw/zdYPhnSE4wCZIOegWrmpj3GpWTyyuJ9LNt9io7NvPh6Qk8CvOuUctDCmWThESEqkuTTsOxpOLgUmgXBnb9C0y6mmmqtWbTzJK8u2UdqZi7PDG/Hg4Nb4+YqpYQrO7nbIkRFoDX8/T2sfBFyMyH0NejzCLia+1/4VFI6L/66l9UHY+nmW5e3xwXSVkoJVxkydCNEeRd/wrjZemId+PZzFCEz9/+MlBIWIEM3QpRf9lz48wtYPR2UK4x6D3rcY7oImZQSFhfI0I0Q5VHsQVg8CaK3QtvhMPp9Y5FuE/KXEq4mpYQFMnQjRPmSk2UUIVv/DlSvBTd8BV1uNF2E7GhsMpPn7+bvyESGtG/EGzd0kVLCQoZuhCg3YnYYRchi90HAOKMImWdDU02zc+18se4YH4Ufpaa7Kx/cEsTYICklLAwydCOEs2Wnw5o3YPMsqNUEbp0HHUaabr43Joln5+9m/6nzjOpilBJuVFtKCYv/kUQvhDNFbDCKkMUfh+53w/Dp4GHuy0sZ2bl8vPoIn687Tn3P6nw+vgcjApqWcsCiIpIxeiGcIeM8WF+BbXOhnj/ctRhaDTbdfLstgWfn7+LY2VRu7OHDS6M6UaemlBIWBZMxeiHK2uFVsPQJSD4FfSfBkBehek1TTdOycnh35WG+3nSCZl4efHNPT0Lam1tMRFRdMnQjRFlJPQcrnoM9P0OjjnDzd+BzxXpUeTYdi+O5BXuIjE9jfB9fpozoQG0P6cWLK5NEL0Rp0xr2LYTlz0JGEgx+DgY+ZboI2fmMbN5cfpB5f0Xi16AmP07sQ59WDUo5aFGZSKIXojSdP2kUITu0HJp3N0oJN+lsuvmag7G88OsezpzP4IGBLXkqtD01qkspYVE0kuiFKA1aw45vYdVLkJttLOnX52FwMZekE1KzmL50Pwv/jqFt41p8+u9+dPM1tySgEJeSWTdClLT447D4MYj4A/wHwpgPoUFr081/33OKlxbtJTEtm0eHtmHS0Da4V5NevLh6MutGiJJiz4Utn8HqGeDqBqM/MObGmyxCdjY5k1cW72X5ntN0bu7Ft/f2onNzWRBEFJ8M3QhREs7sN4qQxWyHdiOMSpN1vE011Vrz284YXl2yn7TMXCZf056Jg1rJgiCixEiiF6I4crJgw3uw/l3w8IJxc4w6NSZrzFy6IMg7NwbSprEsCCJKliR6Ia5W9HajFx+7H7rcBCPeAk9z0x611vy0NYrXlxkLgrw0uhMT+vnLgiCiVEiiF6KostJgzeuw5VOo1RRu+wnajzDdPCo+jecX7mHD0Tj6tKrPzBsC8W8oC4KI0iOJXoiiOL4OljwGCRHGak+hr5ouQma3a/6zxcZbKw7iohQzrg/g9l6+uEgvXpSyEk/0SqmOwONAQyBca/1ZSR9DiDKXnghhL8GO76B+K7h7KbQcaLr5ibhUnp2/i60RCQxq14g3b+iCd11ZEESUDVOJXik1FxgNxGqtA/JtHwF8CLgCX2mtZ2qtDwAPKaVcgC9LIWYhytbB5bDsKUg5A/0eg5DnTRchy7Vr5m4wlvVzr+bCOzcGcmMPH1kQRJQpsz36b4BZwHcXNiilXIFPgFAgGtiqlFqstd6vlLoOeM7RRoiKKeUs/P6sUaemcWe49b/g3d1088NnjGX9dkUlYunYhNf/FUATL49SDFhUJBFJEVgjrYT6heLn5VeqxzKV6LXW65VS/pds7gUc1VofB1BK/QiMBfZrrRcDi5VSy4D/FrRPpdREYCKAr6/vVQUvRKnQGvb8Ar9Pgcxko4xw/yegWnVTzfMv6+fp7spHt3VjTGAz6cVXcVprjiYeJcwWRpgtjKOJRwGo6163fCT6QngDUfl+jwZ6K6VCgBsAd2B5YY211rOB2QDBwcG6GHEIUXKSomHpU3BkJfj0hOs+hsYdTTffdzKJyb8Yy/qNDjSW9WtYS5b1q6q01hyIP4DVZiXMFkbE+QgUim6NuzGl5xQsfhaaepb+qmDFSfQFdU+01notsNbUDqTWjSgv7HbY/jWEvQI6F0bMhF4TTRchy8zJ5ZPVR/l07THq1pRl/aoyu7az++xurDYr1kgrMSkxuCpXgpsGM77jeIb6DqVRzUZlGlNxEn000CLf7z7AyeKFI4QTnDtmrNtq2wgtBxtFyOq3NN18V1Qik+fv4vCZFG7o5s3LYzpRt6a5YR5ROeTac9kRu4MwWxjhkeHEpsVSzaUafZr14cHABwlpEUI9D+dVHy1Oot8KtFVKtQRigFuB24uyAylqJpwqNwc2z4K1b4KrO1w3C7qNN12+ICM7l/eth/ly/XEa1/Zg7oRghnZoUspBi/Ii257N1lNbCYsMY3XkauIz4nF3dad/8/5YulsIaRFC7erlo5yF2emV84AQoKFSKhp4RWs9Ryk1CViJMb1yrtZ6X1EOLkM3wmlO74FFk+DUTmg/Ckb9H3g1M918uy2eyfN3c/xsKrf2bMELozriJcv6VXqZuZlsPrmZMFsYa6PWcj7rPDWr1WSQzyAsfhYGeg+kppu5qbdlSWnt/PugwcHBetu2bc4OQ1QFOZmw/h3Y8D7UqAcj34FO15vuxadn5fLOykN8vekEzevUYOa4LgxsW7bjraJspWWnsSFmA9ZIK+uj15OanUptt9qEtAjB4mehX/N+eFRzzrRZpdR2rfUVFx6WhUdE1RH1l9GLjzsEXW+Da96AmvVNN99y/BxTFuzGdi6NO/v4MeXaDtRylyoilVFKVgrrotdhtVnZELOBjNwM6rnXY4T/CCx+Fno37Y2ba8X5BCc9elH5ZaYYi4H8+Tl4ecOYD6BtqOnmqZk5zPz9IP/ZYsO3fk3eGhdI39ayOHdlk5SZxOrI1VgjrWw+uZlsezaNajRimO8wLH4WejTpQTWX8vXGXiF69EKUumOrYcnjkBgJPR8Ayyvgbv4G2YYjcUxZsJuTSenc278lz1zTjprV5X+byiIuPY7VkasJs4Wx9fRWcnUuzT2bc2uHWxnuN5zARoG4qIq/AIwM3YjKKT0BVk2Fv7+HBm3gnt/Br5/p5uczsnlz+QHm/RVFq0aezH+oLz38zA/ziPLrdOppwiPDCbOFsePMDjQa39q+TOg8gVC/UDo16FTpvsUsQzei8jmwBJY9Dalx0P8xGPwcuJm/Wbb2UCzPL9zDmfMZPDCoFU9a2uHhJotzV2RRyVGE24zkvjtuNwBt6rbB4mch1C+UtnXbVsjkLkM3oupJiYXlk2H/b9CkC9z+MzQPMt08KT2bGUv388v2aNo2rsVnD/cnqEXdUgxYlKbjScfzSg8cjD8IQMf6HXm8++MM8x1GyzrmvxRX0cnQjaj4tIZdP8KK5yA7HYa9bJQTLsKsiNUHz/D8wj3EpWTxyJDWPDasLe7VpBdfkWitOZxwGGuklbCIMI4lHQMgsFEgzwQ/wzDfYfjU9nFylM4hQzeiYkuMhKVPwlErtOhtfLu1UTvTzZPSsnlt6X4W7IimfZPavHtTV7r4mFsxSjif1pp95/axyraKcFs4kcmRuCgXujfujsXPgsXXQhPPyvttZRm6EZWb3Q7b5oB1mtGjv/Yd6Hk/uJifIRG2/wwv/rqH+NQsHhvahkeGtpFefAWQa89l19ldeXVlTqWeopqqRq9mvZgQMIGhLYbSoIZMf81PEr2oeOKOGEXIIjdD66Ew+gOoZ76ed0JqFq8u2cdvO0/SsZkXcyf0JMBbevHlWY49h+1ntucl97j0ONxc3OjfvD+PBD1CSIsQ6rjL37AwMkYvKo7cbNj0MaydCW414PrPjG+4FmG2xMp9p3nx170kpmXxhKUtD4e0oXq1ij9PujLKzs1my6ktWCOtrIlcQ0JmAh6uHgz0GUioXygDvQdSq3otZ4dZITg10Uv1SmHaqV1G+YLTu6HjdTDyXahtfuw1PjWLaYv3sXjXSTo18+K7e3vRqblXKQYsrkZGTgYbT27EarOyLmodydnJeLp5MthnMKF+ofT37k+NarKoelHJ0I0o37IzYP3bsOEDqNkAbv4OOo0t0i6W7znFy4v2kpSezdOh7XgopDVurtKLLy/SstNYH7Meq80oGpaek45XdS+G+Q0j1C+UPs36UN1V6vsXhyR6UX5FbjF68eeOQNAdMHxGkYqQxaVk8sqifSzbc4ou3nX4/v7edGgqvfjy4HzWedZFrSPMFsbGmI1k2bOo71Gf0a1GY/Gz0LNpT9xcKk7RsPJOEr0ofzKTIfw1+OtLqNMCxi+ENsNMN9das2zPKV5etI+UjBwmX9OeBwe1opr04p0qPiOeNZFrCIsM489Tf5Jjz6FJzSbc1P4mLL4WujXuhqvJpRtF0UiiF+XLUSssecJYpLvXROPLT+7mb7idS8nkpUV7Wb7nNF196vDOTV1p16R8rPJTFZ1NO5tXV2bbmW3YtR3vWt6M7zieUL9QAhoGVIqiYeWdzLoR5UNaPKx8EXb9Fxq0hXtXgG+fIu3i9z2nmPrbXpIzcnh2RHsmDpRevDOcSjlFmC0Ma6SVnbE70Wj8vfy5L+A+Qv1C6VC/Q4WsK1ORyTdjhfPtXwTLnoG0czDgSRg0uUhFyBJSs3jFMaOmi3cd3r2pK+2bSi++LNnO24zkbrOy75yxomi7eu2w+FkY7jec1nVbOznCykm+GSvKv+TTsPwZo9pk00AYvwCaBRZpF2H7jRo1SelZMqOmDGmtOZZ4jLDIMMJsYRxJOAJAQIMAnuj+BKF+ofh6+To5SnGBJHpR9rSGnT/AyheM6ZOWadD3UXA1/3JMSsvm1SX7WPh3DB1lXnyZ0FpzMP4gYTYjuUecj0ChCGocxOTgyVj8LDSv1dzZYYoCSKIXZSvBZqz4dHwN+PaF6z6Ghm2LtIs1B2N5buFu4lKyeGxYWyYNkW+3lha7trMnbk9eud+YlBhclAs9m/Tkjo53MMx3GI1qyuLo5Z0kelE27LnGdMnw14ySBSPfheD7ilSE7HyGUS/+521Gpcmv7uoplSZLQa49l79j/zbK/drCiE2LpZpLNfo068PEwIkMaTGEeh71nB2mKAJJ9KL0nT1kFCGL+hPaWGD0+1C3aOO3fxw5y5T5uzl9PoOHQ1rzuEXqxZekbHs2W09vxWqzEh4ZTnxGPO6u7vRv3h9LdwuDWwzGq7oMjVVUpZLolVLXA6OAxsAnWutVpXEcUc7lZsPGD2Dd21DdE/71BQTeUqQiZCmZObyx/AD//TOS1o08WSirPpWYrNwsNp/cTJgtjDVRazifdZ4a1WowyGcQFj8Lg7wHUdOtprPDFCXAdKJXSs0FRgOxWuuAfNtHAB8CrsBXWuuZWuvfgN+UUvWAdwFJ9FXNyb9h0aNwZg90uh5GvgO1GhdpF5uOxjF5/m5OJqUzcVArngqVtVuLKz0nnQ0xGwizhbE+ej2p2anUdqtNSIsQLH4W+jXvh0c181NbRcVQlB79N8As4LsLG5RSrsAnQCgQDWxVSi3WWu93PGWq43FRVWSnG2WEN30Mng3hlu+h45gi7SItK4eZvx/ku802Wjb0ZP5DfenhZ77GjbhYSlYK66PXY420siFmA+k56dR1r8sI/xFY/Cz0btobtyIsuygqHtOJXmu9Xinlf8nmXsBRrfVxAKXUj8BYpdQBYCbwu9Z6R0H7U0pNBCYC+PrKfNtKIWKjMRYffwy63QnDp0ONot20++tEPM/8souohDTu7d+Syde0p0Z16cUXVVJmEmui1mC1Wdl0chPZ9mwa1mjIda2vI9QvlB5NelDNRW7RVRXF/Ut7A1H5fo8GegOPAhagjlKqjdb680sbaq1nA7PB+GZsMeMQzpRxHsJfha1fGTdZ7/wNWg8p0i7Ss3J5Z+Uhvt50ghb1avLjA33o3UqWgyuKc+nnWB21GqvNyl+n/iJH59DMsxm3driVUL9QujbqKnVlqqjiJvqC7qpprfVHwEdXbCy1biq+I2FGEbLzMdDnYRg61bjxWgTbbQlM/mUXx+NSuauvH1NGdMDTXXqbZpxJPYM10orVZmVH7A7s2o5vbV/u6nwXoX6hdG7QWerKiGIn+migRb7ffYCTxdynqAjS4mHF87D7R2jYHu5bBS16FWkXGdm5vB92mC//OE6zOjX47/296demYSkFXHlEJ0cbX2CKDGP32d0AtK7TmomBE7H4WmhXr50kd3GR4ib6rUBbpVRLIAa4FbjdbGNZSrAC0hr2/QrLJ0NGIgx6FgY9A9Xci7SbnVGJPPPLLo7GpnBbL19eGNmB2h5yQ7AwJ5JO5H079UD8AQA61u/Io90exeJnoVWdVk6OUJRnRZleOQ8IARoqpaKBV7TWc5RSk4CVGNMr52qt9xVhnzJ0U5GcPwXLnoZDy6BZENy1CJoGXLldPpk5uXwUfoTP1h6jiZcH393bi0Ht5Cv0l9JaczjhcN6wzNHEowAENgrk6R5PM8xvGC1qt7jCXoQwSJlicWVaw9//gZVTITcThrwAfR4pUhEygL0xSTz98y4OnUnmph4+TB3diTo1pBd/gdaa/ef25xUNi0yOxEW50L1xdyx+Fob5DqOpZ1NnhynKkQpRplh69BVA/AlY8hicWA9+/Y0iZA2KVls8K8fOrDVH+WTNURp4VmfuhGCGdmhSSgFXLHZtZ9fZXYTZwgi3hXMy9SSuypVeTXtxd+e7Geo7lIY15L6FKB7p0YuC2XPhzy9g9XRQrhD6KvS4p0hFyC54dck+vt4Ywb+6eTNtTGfq1Kzavfgcew47zuwwkntkOGfTz+Lm4ka/5v2w+FkY0mIIddylWJu4sgrRoxflVOwBWDQJYrZB2+FGEbI6Ple9O9u5NDo28+L9W4JKMMiKJTs3mz9P/4nVZmV15GoSMhPwcPVggPcALH4WBvsMplZ182vjClEUMnQj/icnCza8D+vfAffacMNX0OXGIhUhK0xVXPQpIyeDTSc3YbVZWRu9luSsZDzdPBnkM4hQv1D6N+8vRcNEmXBqopfpleVIzHajCFnsPggYB9e+bdSqKQFaa1SB362rfNKy0/gj5o+8omHpOel4VfdiaIuhhPqF0qd5H9xdizYVVYjikqGbqi4rDda+AZs/gVpN4NZ50GFkiR5CUyIfCsqt5Kxk1katxWqzsvHkRjJzM6nvUZ9RrUYR6hdKz6Y9cXOp2vclhHPJ0E1VduIPY0ZN/HHofrdRhMyj5G8Cal1wrYyKLCEjgTVRawizhbHl1BZy7Dk0rtmYcW3HYfGz0L1xd1xdpBibKB9k6KYqykiCsFdg+9dQzx/uWgytBpfa4TRUii792bSzhEeGY7VZ2XZmG7k6F+9a3ozvOB6Ln4UuDbtI0TBRLsnQTVVzaAUsfRJSTkPfSTDkRaguNwQLcyrlVN7aqTtjd6LR+Hv5c2/AvVj8LHSs31HqyohyTxJ9VZEaB79Pgb3zoXEnY0EQnx5lcmjjZmzFEXk+kjBbGFablb3n9gLQtl5b/t3134T6hdK6bmtJ7qJCkTH6yk5r2LsAfn/WqBsf8jwMeAqqVS/TMMp7XjyWeIxVtlVYbVYOJxwGoHODzjze/XFC/ULx8/JzcoRCXD0Zo6/MkmJg2VNweAV494DrZkGTTmUeRnm8Gau15mD8QaPnHmnlRNIJAIIaBfFM8DNY/Cx41/J2cpRClAwZuqmM7HbY8S2EvQy52TD8dejzb3DSLBCNLhdDHXZtZ2/c3rxhmeiUaFyUC8FNgrmtw20M8x1G45pFW8BciIpAEn1lc+4YLHkcIv4A/4Fw3UdQ37m1yp1ZTinXnsvfsX/nlfs9k3aGai7V6N2sN/d3uZ8hvkOo7yELj4vKTRJ9ZZGbA39+BqtfB1c3GPMRdL+r3AyOl2UU2fZstp3ehtVmJTwynHMZ56juUp3+3v15vPvjDG4xGK/qXmUYkRDOJYm+MjizzyhCdnIHtLsWRr8HXs2dHVUerUv//SYrN4stp7YQZgtjTdQakjKTqFGtBgO9BxLqF8pAn4F4uhVtLVshKguZdVOR5WTCH/9n/POoCzfOhc43lJte/AWa0ql1k56TzqaYTayyrWJ99HpSslOo5VaLkBYhWPws9G/eH49qHiV+XCEqGpl1U1FFbzN68WcPQJebYcRM8Gzg7KgKpDUlNnaTmp3K+uj1hNnC2BCzgfScdOq61yXULxSLn4U+zfpQ3bVsp44KUd7J0E1Fk5VqjMNv+dQYnrn9Z2h3jbOjuqzi5vmkzKS8omGbTm4iy55FwxoNua71dVj8LAQ3Caaai7yUhSiM/N9RkRxfZxQhS4iA4PvAMg08KudNxfiMeFZHrsZqs/LnqT/J0Tk09WzKze1vJtQvlK6NukrRMCFMkkRfEaQnQthLsOM7Y6rkhGXgP8DZUZmnwUytr9i0WKw2K9ZIK9vPbMeu7bSo3YI7O99JqG8oAQ0DysV8fCEqGkn05d3BZbD0KUiNhf6PGyUM3Go4O6oiMW7GFpzpY1JijORus7Lz7E4AWtVpxf1d7me433Da1WsnyV2IYpJEX16lnDXq0+xbCI07w23zwLu7s6O6KpdOr4xIisirCLn/3H4AOtTvwKSgSYT6hdKqrnO/4CVEZVPiiV4p1Qp4Eaijtb6xpPdf6WkNu3+GFVOMG69Dpho9+TIuQlaS7GgyVQyf7fyMsMgwjiQcASCwYSBP9XgKi6+FFl4tnBylEJWXqUSvlJoLjAZitdYB+baPAD4EXIGvtNYztdbHgfuUUvNLI+BKLSnaqBV/ZBX49DSKkDXu4OyororWmv3x+7HarER4LCHb5QxHdim6Ne7GlJ5TsPhZaOrZ1NlhClElmO3RfwPMAr67sEEp5Qp8AoQC0cBWpdRirfX+kg6y0rPbYftcCJsGOteYE99rotOKkF0tu7az++xuwmxhhEeGE5MSg6typbpuS+NcC9/fdj8Na5TMguNCCPNMJXqt9XqllP8lm3sBRx09eJRSPwJjAVOJXik1EZgI4OvrazLcSijuqDFl0rYRWoXAmA+N5f0qiFx7LjtidxjJ3RZObHos1Vyq0bdZXx4MfJAhLYZwz9x91HKvJkleCCcpzhi9NxCV7/dooLdSqgHwOtBNKfW81vrNghprrWcDswGCg4OdWN/QSXJzYPMsWPsmuLobwzTdxpe78gUFybZn89epv/LqysRnxOPu6s4A7wFY/CwM9hlM7eq1857vzOqVQojiJfqCMpLWWp8DHjK1g6pa6+b0Hlj0CJzaBR1Gw8h3wauZs6O6rMzcTDbFbMIaaWVN1BqSs5KpWa0mg3wGEeoXygDvAdR0K3jtWQ0yRVIIJypOoo8G8k+V8AFOFi+cSi4nE9a/Axvehxr14KZvodPYctuLT8tOY0PMBqw2K+ui15GWk0bt6rUZ0mIIFl8L/bz74e7qfuUdVbA1Y4WobIqT6LcCbZVSLYEY4Fbg9qLsoEoVNYv6yyhCFncIut4G17wBNcvfghfJWcmsi16H1WZlY8xGMnIzqO9Rn2tbXkuoXyi9mvbCzdXN2WEKIYrA7PTKeUAI0FApFQ28orWeo5SaBKzEmF45V2u9rygHrxJDN5kpsHoG/Pk51PGBOxZAW4uzo7pIYkYia6LWYI20svnkZrLt2TSq0Yjr21xPqF8o3Zt0L1bRMGPopuTiFUIUjdlZN7cVsn05sPxqD17pe/THVhvL+iVGQs8HwPIKuNe+crsyEJcex+rI1YTZwth6eiu5Opfmns25rcNthPqFEtgoEBczBWpMKI+LgwtRlcjCI6UhPQFWToWd30ODNnDP7+DXz9lRcTr1NFabUXrg79i/0Wj8vPy4J+AeLH4WOtXvVCo3TcvL4uBCVFWy8EhJO7AElj0NqXEw4CkYPAXcnLfKUVRyVF7RsN1xuwFoU7cND3V9CIufhbZ125Z6EpYevRDOJUXNSkryGfh9MuxfBE27GAuCNA9ySijHE48TZgvDGmnlYPxBADo16MTj3R/H4mvBv45/mcZTFmvGCiEKJ0M3xaU17PoRVjwH2ekw7GXo9xiU4cwUrTWHEw4byd1m5VjSMQC6NurKM8HPMMx3GD61fcosHiFE+SJDN8WRGAlLnoBj4dCit/Ht1kbtyuTQWmv2xu0lLNJI7lHJUbgoF3o06cHN7W9mmO8wmng2KZNYrsT4Yqx06YVwFhm6uRp2O2ybA9ZpRo/+2neg5/3gUjKzVAqTa89l59mdeaswnSETHGkAAAnASURBVE79//buP7aq8gzg+PdpS2spWvmlVtpeURTsOpXRAQMFhHsnRAF1yjDDRSRjzuAfJs7MZfvDZHFTs0wRp4NpcIvRGWIcJC7sttCCgFqCohJiII6WtmrBSpFC6a9nf5xSO9Zb7qX33vfec59P0j967rnnvL1PztM37z3neb4gR3KYWjSV5eXLmVsyl9H5qdcgXFVt6cYYh2zpJlZHD3gPPh1+F66aBwufgYsTV5Stq6eL3V/uprKukqr6Ko6eOkpuVi4zLp/BqhtWMadkDoV5hQk7f7xYnjfGHVu6iVZ3J+xcDdVPeq38bn/Be8I1AVPVju4O3v38XSrrvLoyx04fIz8nnxvH3UgoEGJW8SwKhhXE/byJYl/GGuOWLd1E4/O93iz+i4+82jQLnoYL47v+3d7Vzo7GHYTrw9QcruFE5wkKhhUwu3g2oUCImeNmkp+TXr1ijTGpwRL9YDrboeZJ2PEsDB8NS/4OZYvidvi2zja2N2wnXBdme+N2TnWdojCvkGAgSCgQYnrRdHKz07eF4Blec3Cb0hvjiq3RR1K3CzY+BF8dgBuWwS2/8ypODlHr6VZqGmoI14XZ2biTjp4ORl0wioVXLiQYCFJxWQXDsvxVNMyWboxxy9boz3b6G6h8HGrXeV+yLnsTJswb0iFb2lvYWr+VcH2Y95reo0u7uHT4pdw98W6CpUEmXzKZ7DRrGxgLK2pmjFu2dNPfwUrvvvjWBpj2AMz9LeSNOK9DNZ9spqq+isq6SnZ/uZse7aF4RDH3lt1LMBCkfEx53IqGpTpVW7oxxiVL9AAnW2Dzr2HvazDmGrh/M5ROi/kwTSea+p5O3XtkL4oyvnA8K8pXEAqEmDRqUkYW91Kw+yuNccgS/b634O1HvIqTNz0Cs34ZUxGyuuN1fcl931deOf6JIyfy4A0PEgqEuOriqxI1cmOMiUrmJvpvvvAS/P5NUHS9txZfdN0536aqHDx20Cv3Wx/mwNcHACgfXc7DUx4mWBqk9KLEPUCVlqx6pTFOZd5dN6rw4aveUk3XaQg+Dj9YBdmRPwpVZX/L/r5a7oeOH0IQJl8ymUe//yjB0iBFI1K7ubdL1hzcGLcy666brw95HZ8+q4bSGbDoORgz8D+ZHu3hoyMf9dWVaTzRSLZkU3FZBcuuXcbc0rmMHT42KcNOd2rNwY1xKjOWbnq64f11UPU4SBbc+keYcv//FSHr7ulmT/MewnVhquqraD7ZTE5WDtOLprPyupXcXHIzIy8Y+r30mcZurzTGLf8n+iOfeuULGt6HCSG47U9wcUnfy509ndR+Xku4PsyW+i20tLeQl53HzMtnEvxekNkls7ko9yKHf4A/WJ43xh3/JvruTtjxDNQ8BbkFcMdauG4JiHC6+zS7mnYRrgtTfbia4x3Hyc/JZ1bxLEKBEDeNu4nhw4a7/gt8Q9X1CIzJbP5M9E0feLP4Lz+B79wBC57mZF4BO+orCR8Ks61xG22dbVw47ELmlMwhGAgy4/IZXJDjrrern1lzcGPc8lei7zwF1b+HnWugYCwn7nqJmuH5VNY+wTuN79De3c7IvJHMv2I+wUCQaZdNY1gSW/5lKmsOboxbcU/0IlIA/BnoAKpV9dV4n2NAh3bAxodoPfYftpTNo7JwFLs+eILOnk7G5o9l8YTFhAIhplw6hZwsf/1/S3WqWKY3xqGoMp6IvAzcBjSranm/7fOBZ4Fs4K+q+gfgTmCDqm4SkX8AiU307cc5+u/H2HLgLcKFo6gtLKX75KcUSRFLJy0lFAhx/djrM6auTKqyWjfGuBPt1HY9sAb425kNIpINPA+EgAagVkQ2AsXAx727dcdtpAPY+t6zvPLxOvbkgI4ZRemIYu674hZCgRBlo8tsXdgYY4gy0avqNhG54qzNU4GDqvoZgIi8DizGS/rFwIdAxGm0iKwEVgKUlp5fyYAjx+tpzcri5+MXEvzuT7lm5DWW3FOQNQc3xq2hLFaPAw73+70BmAasBtaIyK3ApkhvVtW1wFqAioqK87oB7655T7Gkpxty0r8Lk5/ZEr0xbg0l0Q907aqqtgHLozrAEGvdZGVlg48bdviFdZgyxq2hfEPZAJT0+70YaBracIwfWc9YY9waSqKvBa4WkfEikgssBTbGcgBV3aSqKwsLC4cwDJMObEZvjDtRJXoReQ3YBUwUkQYRWaGqXcAqYDOwH3hDVffFcnIRWSgia1tbW2Mdt0kjVgLBGLeivevmngjb3wbePt+Tp2RzcBN3Vr3SGLecPkVkM/rMoNY01hinnCZ6W6PPFHYfvTEuWV0AkxSW541xR9ThN2Vn7qMHfgwcOOvlQmCgNZ2zt48BjiZkgOcWaYyJPk60+59rv8Fej/bzj7TNVVxcxSSW97iKSyZeK9G+J12vlYCqnrunqaqm5A+wNprtwO5UG2OijxPt/ufab7DXo/38B9nmJC6uYpIOccnEayXa9/j9WknlpZtI5RMillVwIF5jifU40e5/rv0Gez2Wz99iEtt7LC7JPU407/F1TJwu3cSDiOxW1QrX4zD/y+KSeiwmqSkZcUnlGX201roegBmQxSX1WExSU8LjkvYzemOMMYPzw4zeGGPMICzRG2OMz1miN8YYn/NdoheRAhF5RUTWichPXI/HeETkShF5SUQ2uB6L8YjI7b3XyT9F5Ieux2M8InKtiLwoIhtE5BfxOGZaJHoReVlEmkXkk7O2zxeRT0XkoIj8qnfzncAGVf0ZsCjpg80gscRFVT9T1RVuRpo5YozJW73XyX14T6ebBIkxLvtV9QFgCRCX2y7TItED64H5/TeISDbwPLAAKAPuEZEyvE5XZ3rZdidxjJloPdHHxSTHemKPyW96XzeJs54Y4iIii4B3gKp4nDwtEr2qbgNazto8FTjYO1PsAF4HFuO1OCzu3Sct/r50FWNcTBLEEhPxPAn8S1X3JHusmSTWa0VVN6rqDCAuy8/pnAjH8e3MHbwEPw54E/iRiLxAaj0CnikGjIuIjBaRF4HJIvKYm6FlrEjXykNAELhLRB5wMbAMF+lamSMiq0XkLwyhsVN/UXWYSlEDVb5VVW0Dlid7MKZPpLh8BVgycSNSTFYDq5M9GNMnUlyqgep4niidZ/QNQEm/34uBJkdjMd+yuKQei0lqSlpc0jnR1wJXi8h4EckFlgIbHY/JWFxSkcUkNSUtLmmR6EXkNWAXMFFEGkRkhap2AauAzcB+4A1V3edynJnG4pJ6LCapyXVcrKiZMcb4XFrM6I0xxpw/S/TGGONzluiNMcbnLNEbY4zPWaI3xhifs0RvjDE+Z4neGGN8zhK9Mcb4nCV6Y4zxuf8CNLK4VQSW9gAAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C4 = [ triangle(i) for i in samples ]\n", "\n", "plt.title('Complexité de la boucle triangulaire')\n", "plt.loglog(samples,C4,label='triangle')\n", "plt.loglog(samples,C2,label='boucles imbriquées')\n", "plt.loglog(samples,C1,label='boucle simple')\n", "\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def logarithmique(n):\n", " cnt = 0\n", " while n >= 1:\n", " cnt += 1\n", " n /= 2\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C5 = [ logarithmique(i) for i in samples ]\n", "\n", "plt.title('Complexité logarithmique')\n", "plt.plot(samples,C5,label='logarithmique')\n", "plt.plot(samples,C1,label='linéaire')\n", "plt.plot(samples,C0,label='constante')\n", "plt.ylim(0,20)\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "def linearithmique(n):\n", " cnt = 0\n", " for i in range(0,n):\n", " j = n\n", " while j >= 1:\n", " cnt += 1\n", " j /= 2\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C6 = [ linearithmique(i) for i in samples ]\n", "\n", "plt.title('Complexité linéarithmique')\n", "plt.loglog(samples,C6,label='linéarithmique')\n", "plt.loglog(samples,C2,label='quadratique')\n", "plt.loglog(samples,C1,label='linéaire')\n", "plt.loglog(samples,C0,label='constante')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "import random\n", "\n", "def alternatif(n):\n", " cnt = 0\n", " for i in range(n):\n", " if random.randint(0,n) == 0:\n", " for j in range(n):\n", " cnt += 1\n", " else:\n", " cnt += 0\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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pkyZwieffMLq1auZMWMG3333HQMGDKjcN0cIUSZ9P9pUKfupsqNu8np71WGORCWWa53tGrvz1oj2JZabN28edevWJTU1le7duzN69OjcdR9++CGHDh1i//79AKxbt44TJ06we/dutNbcdtttbN26FT8/P44dO8b333+f+xfA5cuX6dWrF++99x4vvvgic+bM4fXXX6dv377s2rULpRTfffcd06ZN49NPP+Xxxx/H1dWV5583PRVu48aNANx8881XrRNCVD2VmZMvqNwDvflByE8D3sBGrfU35b2PyvTFF1+wYsUKAMLDwzlx4kSRZdetW8e6devo0qULAMnJyZw4cQI/Pz/8/f3p1evKoy7t7e259dZbAejWrRvr168HTMNKx44dy7lz58jIyJChkUJUY+lZ2RyMSCAwoC4Xk9Ot1g6LAr1Sah5wK3BBa90hz/JhmB4qbQC+01p/qLU+CjyulLLB9KDlMrOk510RNm/ezIYNG9i5cyfOzs7079+/2OGKWmteeeUVHnvssXzLw8LCcHFxybfMzs4ud1SMwWAgK8v0bT958mSeffZZbrvtNjZv3syUKVPK96CEEJXm8w0n+HrzKVZN6kt6VnahZTKzjdgZKjaLbmnt84FheRcopQzATGA40A4Yp5RqZ153G/APsLHcWmoFCQkJeHp64uzsTEhICLt27cq33s3NjaSkpNzXQ4cOZd68eSQnJwMQGRnJhQsXSr1PHx8fAH744Yci9yWEqJry9tyj4lMBOByVwPnEq3v0jqSTmln4F0B5sijQa623AnEFFvcATmqtQ7XWGcBi4HZz+ZVa6+uBu8uzsZVt2LBhZGVlcd111/HGG2/kS70AeHl50adPHzp06MALL7zAkCFDGD9+PL1796Zjx46MGTOm1MF5ypQp3HHHHfTr1w9vb+/c5SNGjGDFihW5F2OFEFXP0XOJBL67gaV7wjkclcBv+6MAOB17mWPnr8QCG4yMNWxim8PTGI+vr/B2WfzgEaVUAPBHTupGKTUGGKa1fsT8+l6gJ7AMGAU4AP9prWcWUd8EYAKAn59ftzNn8k+rfPToUdq2bVv6IxL5yPsoROXZejyG++btpqG7I5czskhKy38BtkV9Vzqk72dC6lza2ZwhyNgK3/Ff0bBNz2van1Jqr9Y6sKRyZbkYW9htl1prvRnYXNLGWuvZwGyAwMBA6z/mSgghyigz23SPTHTi1dfy/FU0n2Yvp1P6diKUNwv93ubV4y1Y79mOhhXcrrJcAYgAmuR57QtElaaCnGfGJiQklKEZQghRNaRkXJ1vd+cyr9n+zHr7F2iTuo85dnczMP0TIn2GAYq0zNLfQFlaZQn0e4CWSqmmSil74C5gZWkq0Fqv0lpP8PDwKEMzhBCiash7YdVANvcY1rPJ4VkeNvzFr9n9WNhzBT/b30E69tRxsgcgrYjROOXJ0uGVi4D+gLdSKgJ4S2s9Vyk1CViLaXjlPK314QprqRBCVHGp5h79DTYHeN32Z1rZRLIzux3vZN3DER3Ah56NUZjmo3J3MoXftEoYdWNRoNdajyti+Wpg9bXuXCk1AhjRokWLa61CCCGsJuJSCr8GR/L4jc2xt7XBIf4E39t9xADDAcKMDZiQ8X+sMwaSc0nT0c6Qe/+Mo50BoMqnbsqspqZuDh8+zKpVq6zdDCFEBVsRHMln648zfeUuohZOYsy/d9LN5jjvZY5nSMY0hox+hOubXxkm7WhnIMDLGQAPJ9OT3yqjRy+TmhXD1dUVgKioKMaMGWPRNmfPnuW9997jxhtvLLHsm2++yYYNG8rURiFE5Vh1IIo//ss/3sSWLB4y/MWTB++gwfEFLMq+if7p05mTfSsZ2NG2kRuuDqbESVNvFwa3a8CMu7ow655utG7oRrtG7rg4GCq87dViUjNra9y4McuWLbOorJ+fHwsXLrSo7NSpUwtdnp2djcFQ8SdfCFGynadiaertwuRF+wC49brGoDUcX8PYPS9S1+4sQTad+dr+If6+5J1vWw8nO3LGjr8wtDUGG4WHkx3DOpgGVK5+ul+lHINVe/TVZXhlWFgYHTqYpviZP38+o0aNYtiwYbRs2ZIXX3wxt9y6devo3bs3Xbt25Y477sidCmHq1Kl0796dDh06MGHCBHJuUnvggQdyv0ACAgKYOnUqffv25ZdffuHUqVMMGzaMbt260a9fP0JCQir5qIWofX7YEcYHfx3NfW00asbN2cXtM//JXRZ+dDcpc2+FRXdhBB7MeIHHeY3D2T5X1efhZEfOPak2Vnzim1V79FrrVcCqwMDAR4st+NfLEH2wfHfesCMM//CaNt2/fz/79u3DwcGB1q1bM3nyZJycnHj33XfZsGEDLi4ufPTRR3z22We8+eabTJo0iTfffBOAe++9lz/++IMRI0ZcVa+joyP//GP6DzVw4EBmzZpFy5Yt+ffff5k4cSJ///33tR+vEKJIB8LjeWvlYfaHxwPwynDT3eSxlzMAOJ+YjhcJPGe7lMaLN5OsXGH4NKZH9GDTnigMqVk42V35K9zd0ZbEtKzctI21VY1WVDMDBw4k5wJyu3btOHPmDPHx8Rw5coQ+ffoAkJGRQe/evQHYtGkT06ZNIyUlhbi4ONq3b19ooB87dixgmt54x44d3HHHHbnr0tOtN8WpEDXdT7vO5AZ5uDKj5LmEVOzJ5EHDGp60/Q0nMvgheyhfGUcT3PNOUsJMz6LINmqS88w3v/rpfhyOSsz33GZrPsLZqoHe4uGV19jzrigODg65v+dMMay1ZvDgwSxatChf2bS0NCZOnEhQUBBNmjRhypQpRU51nDOVsdFopE6dOrkPNBFCWO7khSQmL9rPDw91p76bY4nl07OyWXs4Ot+ymKR0Gns4kn3odzbYv4OfTQwbs7vwftZ4TmkfHO1MWe/UQu6EBfD1dMbX0zS65s5AXzYcPU8HH+uNLpThleWkV69ebN++nZMnTwKQkpLC8ePHc4O6t7c3ycnJFl3UdXd3p2nTpvzyyy+AaZ77AwcOVFzjhahBdp++xNFziWw5FgOY8+yzdzF/+2kSUjOvGs54MCLhqsnHYo7vIvyzAXTZ9RQpOHJPxis8nPkCp7QpD5+WaSTg5T8JiS75yXdD2jck7MNb8KnjVE5HWHoyvLKc1KtXj/nz5zNu3Diuu+46evXqRUhICHXq1OHRRx+lY8eOjBw5ku7du1tU34IFC5g7dy6dOnWiffv2/P777xV8BELUDOcSTHPA7wkzzay+7eRFdobGsv7oeTq9vY57vvs3X/mc+eOXP9GbWbc15mPbWXRc/T+cE0/yWuZD3JLxPv8YOwLg7WrP5JuuZCDCYlNye/cAU0a0Y/Pz/Svy8K6JxdMUV6TAwEAdFBSUb5lMr1s+5H0Utc3zvxxg2d4IAryc2fhcfx6av4ctx2NwsTdw2ZxqCfvwltzyC/49w9QVwQTddBTXPV+SkZHBUsMtTEsZQRLO+er+v0GtCPB25unFV9KqHXzcORRp6tmvfeYGWjd0q4SjNKmMaYqFEKLKyenRh8WmMGzGVk5cSCbAy5mw2JSrC2uN9+mVbHSYgduOi+i2I7j54EBCM+rnjn/3qeNEpPlJUY52Nrib72jN4VfXOTfQe7naV9hxlYWMoxdC1Cjn4tNo6m0a2JCamc3M8V35YNR1uesbe5gu0BrP7uHMx30ZGvI6ibjBA3+ixv5Mhrs/eRMd/l5XevWOdgbcHfMHeie7K/1lT+eqGeirxzh6IYSwgNaaqIRU7unpz8guPrSo74qjnYGElMzcMvX0RVj+CDYHf8FJ1+GFrAnsdh/CloC+AHi7OhAel5pb3t/LmR2nYgFwsLXJnaMmR2a2kSf6N2f53ggMNlYcQ1mMKp260VrnG4cqSqcqXH8RojLFp2SSlmmkoYdjvuGMHs52tPO2YWj8Eh5L/wOOGojpMpkBOztzGSc6uVwZEePlkr9X3tjjyjpHO0Pu9MI54i5n8MW4Lrw0rE0FHVXZVdlRN46OjsTGxkqwukZaa2JjY3F0LHkcsRA1gdGoCb9kysM3zjuU0WiE/QtZpZ/madsVrDMGkjVxN4faPMVlTOXq5gnudQsEem+3K/fNONpd3aPPuXu2KquyPXpfX18iIiKIiYmxdlOqLUdHR3x9fa3dDCEqxSu/HmRJUDgAjcx5eM7sgDWvwLn9GHy68Ue7aTy1zY5+Do2ISTyfu23e3LqXq0O+er3zvHawNeBga+CLcV3wr+vM7TO34+tpvfHxlqqygd7Ozo6mTZtauxlCiGoiJ8gD+KoLsPRpOPI7uPvA/2ZDxztI3xcFHCAxLZMLSVfuUDfmyRwUTN145xlJ42AeM39bp8YALHikp1XveLVU9ZgCQQghSlDfzYGUpEu87v4X3vNXgY0tDHgNek8Ce9PImZyhkYmpWZxPvDJ/VN55aq5K3RTo0efVp0X+aYmrKhl1I4So9jIzMxmY8hevu/2KS0YcdBoHA98E98b5yrk7mkJewR69v5dL7u/FpW7y3gVbnVTZ1I0QQlgi+ehGHDa+zgd2R4hx7YLLmOXg07XQsjk9+mV7I9h24iJ9WnjxxI0tCAzwzC2Tk7qp5+bAmqf74WR/pRfvaFc9HwhUPb+ehBA12u7TcVz/wUbiihvREnuK5Pl34LpkFKnJ8UzMeIpDQ5cUGeThSqBfsS+SlIxstIa+Lb3zBXBPc6DXWl/Vu3ewrZ4hU3r0Qogq55egcKIS0jh6LjE3D56QkkmW0YiXIQW2TIPds3FQ9kzLHMs2jzs5aEznqRJmiMxJ3eTo2dTrqjI5Pfp7ewXkLrNRYNTVt0cvgV4IYXVGo8bGfFdptlGzMeQCAGdiU+hjHqvxyrJ9dI1ZwSNZi9Gpl0jrMJ45duP5emcCnDddWG3oXvx9Iy72V0LexuduxL+u81VlHO0MnHr/ZvLe5GprsCEjy1hte/TVs9VCiBpjxobj3PDxJoxG0xDHvWcu5aZszsaZJyI7sYGXwh7ikaSv0Q3ac5/dJzyb9jAHLhV/M1NBNnmid/N6rtgaCg+BBhuV7678x29sbt5H9ezRy6RmQgirORWTzMxNJ4m4lErEJdP8MusOR2NvsKGhuyMZ0Ufh5zGwYDRkZ/JoxrOEDFnAtqRG/HPyIiHRSbl1NfJwsmjKFHuDDdc3vzplU5xnB7ci7MNbsCvii6Gqk+GVQgir0FozZeVhss09+aPRiTSp68S6I+cZ2tSW2+PnM+DMH+DgRuqAqQz6K4BMbGl/xHRHa1JaFklpWfRqVpddoXElpm1yHJk6tNbNoVU9v56EENVaYlom7/xxlG0nLvLs4FYAHItOIjI2gcEJv/Bp9IMMSP6TXxgETwVzuuWDZJr7pWsO5X++68jOpsf7NfSwLNDbGmyq7CyTFUUuxgohKlXYxcuM/mYHsZczGBvYhMdubM7SPeE4nPyLOsFzeMPuLEkNb2Stz2Re3pLBMOVOVPyl3O1DopNwsTfg6+nMsfNJdPP35P7e/vRtWc+KR1W1SaAXQlSq9UfOE3s5g18nXk9XP0+IPsi3eiptz+0jxtGf/8t+ia8ffBm3kAvAXs7GpRBlfmpUQ3dHohPTaFHflV7NvYi4lEKAtwtv397BugdVxUmgF0JUqOiENE5eSKZvS9N4+GPnk6jv5kDXupmw8ikI/pEAWzemZD3AHofbcfF0ws5gk/tkpzOxKUTFp2FnUPRoWpeVB6JoUd+NZwa2YnwPv2p7gbQyyTskhKgw0QlpjJm1gwe+381l88Rhp6Njec75T/iiK+xfAL2eYOuw9czPGsLh86l08asDQBNPU6A/G5dCVHwqjTycaFHfFYCWDVxxsjfkm6NGFE169EKIChGbnM49c/8lMj4VreHA2Uv0St/O5xefx1fFQOubYfA74N2C5heSgVMApnQO4OJgi7erA2djUziXkErjOo40r2cO9OaALywjPXohRIl2hcaSnpVdqm2eWryP8LgUvr2nGx1VKP6r7sBm2f0kaUc295wD4xaBt+m21wAvZ+zNd53m9Ohzlh+IiCfyUiqNPZwY2LY+Lw1rQz+58FoqEuiFEMU6EpXIXbN38dhPe0nLtCzYB4XFsf1kLG/d6MmQ41NY5fA6rsmnOdxtKrdkfECdDkPylbc12NCyviu+nk7Ud7syTPKuHn6ERCcRlZBG4zpOONoZeKJ/89wvBWEZuTNWCFGsw1Gmz+fmYzE8/rNlwf67vw/zotPvjNv9Pzi0nM3e4xlu/JwNTjdjxKbQ1MvLw9vw9m3t8y0b1cWHjuYnODUuYcIyUTSrBnqt9Sqt9QQPj6r/KC4haquQ6CQc7Wx4738dcoN9kWkcrYnc+gNvnrmPiXoJqsUgeHI3F3q+SlSaHWsOR9OkrhMuDldfHuzXsh4D2zbIt8zGRvHWiHbY29rQtpFbRRxerSAXY4UQxToWnUTL+m7c3dMfheLVFQf5bV8kY7v75S8YvhvWvIJPZBCHaYr7uPm4tr4RgK5ZyQAcPZfIoLb1S7X/wIC6HJoyVNI1ZSDvnBCiWCHRSbRuaOpNj+vRBG9Xe/4NjbtSIP4sod+MhbmDuRBxiuczH+P3HgtygzxAM28X6jibZpZs1aD0PXMJ8mUjPXohRJEuJqdzMTmdNuZAr5Qi0L8ue87EQXoybJ8BO77EJ8vIj3Z3cq7DY7So48m9vfzz1WNjo+jSpA6bjsXkfmmIyiOBXghRpGPmaYDbNHTPXdY9oA5uIYvJ/vwxDCkXSG0zioH7+/PATX156YbmRdbVzd+TTcdiaFlfAn1lk0AvhChSznzvub3wsO2M3/8iTnaHiHO4jrrjFrIutjFR+/fTu5l3sXWN6+GHk72tXFS1Akl8CSGKdCw6ES8Xe+plRsGSe2H+zThmXuJF42Sm+30NTbqz81Qs7o62tGvsXmxdXq4OPNy3aa2bC74qkEAvhEBrzafrjrH1eEy+5eFR0bzttARm9oCTG2DA66hJQZzzH8GeM6apg3eGxtKjqVetm+O9OpHUjRCCZXsj+PLvk7Rp6Ea/lt4obcS49we+in0LL5UIncbDwDfBvREA3QPqMn3DcY6eS+RMbAr39Q6w7gGIYkmgF6KWO5eQytRVR3B3tCUkOokTu/6g1b4PsLlwmJO6DcH95jB40LB823QPqIvW8NWmkwClfgarqFySuhGiFtNa89Lyg2RrzYqxDfje4VNarb0HMpLZ12sGYzPeoEGbXldt17lJHewMitUHz+HpbEfraxgbLyqPBHoharEle8LZf/w0y5uuovkvA+ltOMrH2eNJeGg7W2z7oJQqdDikk72BDj4eaA29mnlhI/n5Kk1SN0LUUhEXEwj98zO2Oy3D9exl6Hofp9tMZubcY3gfvEjIuSQCvFxwsjcUun2PgLrsOxtPb0nbVHkVEuiVUiOBW4D6wEyt9bqK2I8Q4hqdWI/t0md5VZ0lzbcf6pYPoWEH2gKdfKNZ+O9Zsoy62JTMwLYN+GFnGP1blW7uGlH5LE7dKKXmKaUuKKUOFVg+TCl1TCl1Uin1MoDW+jet9aPAA8DYcm2xEOIwctNmAAAgAElEQVTaXTgKP42CBWNIzchgUbOPcHxoFTS88nDt8T39OHEhmdMXL9OmmJubejSty5G3h+FnfrarqLpKk6OfD+S79K6UMgAzgeFAO2CcUqpdniKvm9cLIazpciz8+Rx80wcigzhy3csMSZ9GQJ87oMANTCM6NcbNPI1wmxLmpZHcfPVgcaDXWm8F4gos7gGc1FqHaq0zgMXA7crkI+AvrXVwYfUppSYopYKUUkExMTGFFRFClFVWBuz4Cr7oAkHfQ+BDMHkf32YMw9XZie4Bnldt4mxvy8guPgC0blj83a6ieihrjt4HCM/zOgLoCUwGBgEeSqkWWutZBTfUWs8GZgMEBgbqMrZDCJGX1hDyJ6x/A+JCocVgGPIu1G9DRpaRv0OCGNa+IbaGwvt6zwxqSUcfDwIkLVMjlDXQF/Z3m9ZafwF8Uca6hRDX4tx/sPZVCNsG3q3h7uXQclDu6p2hsSSlZTG0fcMiq/BydeDO7k0qo7WiEpQ10EcAef83+AJRlm6slBoBjGjRokUZmyGEIOk8bHoXHfwT6XYe/NnwGW596FUc7B3yFVtzKBpnewN9WxY/26SoOcp6w9QeoKVSqqlSyh64C1hp6cbyzFghykFmGmz7DP1lV4z7FrHUdgQ9kqbxXFgPvtoclq9otlGz/sh5+reuh6Nd4ePjRc1TmuGVi4CdQGulVIRS6mGtdRYwCVgLHAWWaq0PV0xThaj5UjKy+HLjCS4kppVcWGs49CvM7A4b3yZIdeSmtA+Z5/IoMx++iVFdffh68ykORiTkbrLv7CUuJqcXm7YRNY/FqRut9bgilq8GVl/LziV1I8QVmdlGnvg5mC3HYzgde5nP7uxcdOHIYFjzCoTvIs61FZMyXiPE0IVnb2/FXd2bYGuw4TqfOmw/eZHnfznAysl9cLA1sPZwNHYGxYA2cpNTbWLVuW4kdSOEidGoeeGXA2w5HkNHHw9+3x9F2MXLVxdMjIIVj8OcARB3ivThM7gpeSqq2Q1sfqE/9/Tyzx1J4+FsxwejOnLsfBJf/X0SrTVrD5+nd3Nv3B3tKvkIhTXJpGZClJOo+FT2h8eXejutNe+tPspv+6N4fkgr5t4fiK2NYqZ5CmAAMlJg84fwZTc4tBz6/h9MDmZhVn/i04w8N6R1ocH7pjYNGN3Vl683n2LZ3gjOxqUwtH2DshymqIasGuiVUiOUUrMTEhJKLixEFff04n2MnLmdR37YQ2hMssXbzdoSytx/TvPA9QE8OaAF9d0dGdfDj1/3RRIemwwHlsBXgbD5A2g5GCbtgUFTyLJzZe4/pwn096Sr39U3PuV489Z2eLva89Ly/1AKBreTQF/bSOpGiHIQdvEye8Iu0buZF7tC4xgyfStvrzpMfEpGsdstDQrnozUhjOjUmDdvbZf7PNUn+jcn0OY4+rtBsGICuNSDB/+CO38EzwAA1hyOJuJSKo/e0KzYfeSkcIwauvp5Ut/NsVyOWVQfMk2xEOXg1+AIbBRMH9sZg41i+obj/LAjjF+DI3lmUEvu6eWPXYG7UDccOc8rvx6kX0tvPr2j05V5Y+LP0mDDFJbYLic6xZO4IZ9Tt/d9YHNle601c7aG0tTbhcFtS+6h39SmAe+M7CAPCKmlJEcvRBkZjZrlwZH0aeFNQw9H6rk58P7/OrL66X5c5+vB26uOMHT6VjYcOY/Wptk+9oTF8eTCYDo0dmfWPd2wt7WB9CTYOBW+6g4hq0nq+SxDs6bz6YVu+YI8wL+n4zgQkcAj/ZpaPLHYvb386dG0brkfv6j6JEcvRBntOh1LZHwqY7r55lvepqE7Pz7Ug+8f6I5S8MiPQdwz91/+/O8cD8/fg08dJ+Y90B0XOwXBP5kutG77FNreBpODcBv+FrcGtmBpUDhR8an56p6zNZS6LvaM7pp/n0IURnL0QpTRsr0RuDnYMqTd1TchKWUas77mmRt4+7b2HI5K5MmFwTjZG/jx4R54xeyG2TfCyklQxw8e2Qij54CHKYA/0b85ALO2nMqt8+SFJDaGXOC+3v5yd6uwiOTohSiDy+lZrDkUzW2dGhf5yD0AO4MN918fwMjOPizac5bhPqn4rn0UQv4Ad18YPRc6jL5qbnhfT2fGdPNl8e5wJvZvQUMPR77bdhoHWxvu7eVf0YcnagjJ0QtRBn8diiYlI/uqtE1RPGxSeDz9e/wXDYBTm+Cm12FyEHQcc1WQzzGxfwuytWbWllNcSErj1+BIxnTzxcvVodDyQhQkPXohymDZ3nACvJzp5l/0OHYAsrMg+AfY9D6kxELn8XDTG+DeqMR9NKnrzKguPizafZbUjGwyjUYe7tu0nI5A1AZyMVaIaxQel8Ku0DhGdfXNHf9eqFN/w6y+8OezUK81TNgMI7+2KMjnmHRTC7KMmiVB4Qxu24Bm9VzL3H5Re8jFWCGu0Yp9kQCM6upTeIGY47DgTvjpf5CZYrrZ6YE/oXExk5UVwd/Lhds7NwbgsRuLv0FKiIIkdSPENdBaszw4gt7NvPD1LPC4vZQ42PIR7PkObJ1g8FTo+TjYli2n/sYt7RjctgHd/GUsvCgdCfRCXIOgM5c4E5vCUze1vLIwOxP2zDXNSZOeCF3vhwGvgWu9ctmnp4s9wztanu4RIocEeiGuwbKgCJztDQzr0ND0AJAT62DtaxB7Apr1h6HvQ4P21m6mEICVA708eERUR6kZ2fx58BzDOzTCJf646UHcoZvAqwWMWwythhU5VFIIa5CLsUKU0roj0dinx/FC1iyY1Qei9sGwD+GJndB6uAR5UeVI6kaI0shKJ2XTdLY6LsDlRDp0fxT6vwzOcoFUVF0S6IWwhNYQ8gdZa15nXEIYoZ59aDZ+umlcvBBVnEyBIERJzh2AH0bAkntIzLThvoyXMNzziwR5UW1Ij16IoiSdh7+nwr4F4OSJvvlT7tzaFE8/J/y9XKzdOiEsJoFeiIIyU2HnTPhnOmSlQ+8n4YYX2B+jOXlxBx/d2LLkOoSoQiTQC5FDazj8K6yfAglnoc2tprtavUxzwi/bexBHOxtulpuWRDUj4+iFAIjcC2tehfBd0KAjjFwFTW/IXZ2Wmc2qA1EMa98QN0c7KzZUiNKTcfSidkuIhF8nwJybIC4UbvsSHtuSL8gDbDx6gcS0LEZbOO+8EFWJpG5E7ZRxGbZ/Ads/B22Evs9Cv2fBwa3Q4sv2htPQ3ZHrm3tXckOFKDsJ9KJ2MRrh4FLY8DYkRUH7/8Ggt8Gz6MfyXUhMY+uJizx2QzMMNnLXq6h+JNCL2uPsLljzCkQFQ+MuMGYe+PcucbPf9keSbdSSthHVlgR6UfNdOgMb3oLDK8CtEfzvW+h4J9iUfIlKa83yvZF08atDc3mqk6imJNCLGic6IY3f9kfS1M1Iv/M/4Rw0C5QN3Pgy9HkK7C2/2elwVCLHzifx7sgOFdhiISqWBHpRY1y6nME3W07x045QRuhNjLZdirNKYINdf/a1fJq2Xm3omW5LPXvL61y2NwJ7WxtGXNe44houRAWTQC+qveT0LOb9c5o5W0Npn/kf690X45t2kuR6XVnW5GlWXmxM0KE4UoL3AdC8ngu9mnnRq5kXPZvVpb6bY6H1ZmQZ+X1/JIPbNcDDWcbOi+pLAr2ottIys1nw71m+3nQS15Sz/Oi5nC4p28GhCdwyF9cOoxmjFGOAzGwjhyIT2BUax7+nY/ltXyQL/j0LQLN6LvRs6kWvZnXp1cyLBu6mwL/p2AUupWQypqtchBXVm9JaW2/nV+6MffTEiRNWa4eoXrKyjfwaHMmMDcdJTojlfe813JyyEhtbB+j7f6a5aeycSqzjcFQiu0Jj+fd0HHtOx5GUngVAU28XejWry9FzSUTGp7Lz5ZuwNchEr6LqUUrt1VoHlljOmoE+R2BgoA4KCrJ2M0QVp7Xmr0PRfLruGGExiTzvtZNHshZjl34JutwNN70Bbg2vqe5so+ZIbuA3Bf+ktCye6N+cl4a1KecjEaJ8WBroJXUjqjytNdtOXOTjtcc4GJnA2Lon+K3+z7glngD/vjDsfWjUqUz7MNgoOvp60NHXg0dvaEa2UXP6YjJN6jqX01EIYT0S6EWVFnz2EtPWhLArNI7e7rHs9PuFRhe2gmdTGPuzaYbJCnhGq8FG0aJ+4dMhCFHdSKAXVdKx6CQ+XnuMDUfP09wlndUt19E2YikqwQUGvwM9HwNbB2s3U4hqQQK9qFLOxqYwfcNxftsfSR17+LH9XvpFzkVFJEK3B2HAq+AiE4sJURoS6EWVcCExjS//PsniPWexUTCtYxSjYr7BcOoUNBsAQ9+HBu2s3UwhqiUJ9MKqElIymbX1FN9vP01WtuapDhk8ljYXh+NbwasljF8KLYdUSB5eiNpCAr2wipSMLL7fHsa3W06RlJ7F+PZOvOzwK25HFoCDOwyfBoEPgUHuSBWirCTQi0qVkWVk8Z6zfLHxJBeT0xnaug5TG26nwf4vITMFekyAG18C57rWbqoQNYYEelEpso2a3/dHMn3DccLjUukR4Mnifhdosf9VOBMGrYbBkHfBu6W1mypEjSOBXlS4f05cZOofhzl+Ppn2jd1ZdruiW8i7qE3boX47uHcFNL/J2s0UosaSQC8qTFa2kc/WH+frzacI8HJmzv98GHRuNmrtQlNq5tbp0OU+MMh/QyEqknzCRIU4n5jG5EX72H06jnu61ect703YbZgB2Rlw/WS44Xlw9LB2M4WoFco90CulmgGvAR5a6zHlXb+o+v45cZGnF+8jJSOLpX0i6XHyJTgcDm1HwOCpULeZtZsoRK1i0dyrSql5SqkLSqlDBZYPU0odU0qdVEq9DKC1DtVaP1wRjRVVW7ZRM339ce6d9y/XO5wmuPHH9Nj7Ajh5wv1/mOamkSAvRKWztEc/H/gK+DFngVLKAMwEBgMRwB6l1Eqt9ZHybqSo+mKS0nlmyT5CTx5nWYOVdEtYDzYN4PaZ0Gkc2Bis3UQhai2LAr3WeqtSKqDA4h7ASa11KIBSajFwO2BRoFdKTQAmAPj5+VnYXFEV7TwVy4uLdjI241d+cP4T28tAv+eh7zPgIDNACmFtZcnR+wDheV5HAD2VUl7Ae0AXpdQrWusPCttYaz0bmA2mB4+UoR3CSoxGzcy/j3Nm0zxW2C/F2yYO2o2GQVOgjnx5C1FVlCXQFzb5iNZaxwKPl6FeUQ3EJqfz9Y8/c1v0V3SyCyW7YVcYvhj8elq7aUKIAsoS6COAJnle+wJRpakgzzNjy9AMUdkOHDxAzIqXecO4g8vODdDDZ2PoeAfYyHNVhaiKyvLJ3AO0VEo1VUrZA3cBK0tTgdZ6ldZ6goeHjKeuDoypCQTPe4Y2ywbSx7iX892exeXZ/ahOYyXIC1GFWdSjV0otAvoD3kqpCOAtrfVcpdQkYC1gAOZprQ9XWEuF9RizufzvfLLWT6WrMZ5d7kPocN+nNKgneXghqgNLR92MK2L5amD1te5cUjfVQOgWUv54CZe4o+w1tib6+pncPPQWlMwPL0S1YdW/tyV1U4XFnkIvGgc/3kZcbAxv2D+P3aNruWXYrRLkhahmZK4bkV9qPGz9GP3vt6RrWz7PvIszLe/ng7Hd8XCSh4AIUR1ZNdBL6qYKyc6Cvd/DpvfRqZdYZRjI+2mjefTm3rzYJ0B68UJUY1YN9FrrVcCqwMDAR63Zjlrv5AZY+xrEhHDOszuPJY4i1rENX9/fha5+ntZunRCijCR1U5vFHDMF+JPryfZsypxG7/Dh6WYMbNOAH+/sRB1ne2u3UAhRDiTQ10YpcbD5A9gzF+xdOdfzDe45eB1h57N4ZXhrHu3XDBsbSdUIUVNIjr42ycqAPd/Blg8hPRnd7UGWud/Da+uiqetsYMmEQAID5KHcQtQ0SmvrzycWGBiog4KCrN2MmktrOL7GlKaJOwXNB5IyYCovb8tk5YEobmhVj+l3dsLL1cHaLRVClIJSaq/WOrCkcpK6qemiD8HaV+H0FvBuBXcv46hrT55cEExY7GVeGNqaJ25sLqkaIWowCfQ1VXIMbHoXgn80PZt1+Mfobg+wdF80b/6wHXcnOxY80ovezb2s3VIhRAWTHH1Nk5UOu76BrZ9AVir0fBxufJEUgxuvLz/Er/si6dPCixlju1DPTVI1QtQGkqOvKbSGI7/D+jch/gy0Gg5D3gXvFpw4n8TEBcGcjEnm6YEtmXxTSwySqhGi2pMcfW0StQ/WvApnd0D99nDvb9B8AADL90bw+m+HcHEw8PPDPenTwtvKjRVCVDYJ9NVZ4jn4+x3YvxCcveDWGdD1PrAxkJaZzVu/H2ZJUDg9m9bly3FdqO/uaO0WCyGsQAJ9dZSRAju/gn9mgDET+jwF/Z4zXXQFTsUk8+SCYEKik5g0oAXPDGqJrUEeDCJEbSWBvjrRGg4th/VvQWIEtL0NBk+Fuk1zi/y+P5JXfj2Ig60N8x/sTv/W9a3YYCFEVSCjbqqL8D2w9hWI2AONOsGo2RDQJ3d1WmY2U/84wsJ/zxLo78mX47vQyMPJig0WQlQVMntlVRcfDhvfhoO/gGtDuP1r6DQu3zNawy5eZuKCYI6cS+SxG5vx/JDW2EmqRghhJqmbqio9GbZ/Dju+ML2+4QXo8ww4uOYrtvrgOV5c9h8GG8Xc+wMZ2LaBFRorhKjKJNBXNUYjHFgEG6dCcjR0GAODpkCdJvmKpWdl8/6fR/lh5xk6N6nDV+O74OvpbJUmCyGqNgn0VcmZHbDmFTi3H3wCYexP0KTHVcXC41J4cmEw/0Uk8HDfprw0rA32tpKqEUIUTgJ9VXApzHRH65Hfwd0XRn0HHUbny8PnWHs4mhd+OYAGvr23G0PbN6z05gohqhcJ9NaUlgjbPjHNTWNjCwNeg96TwP7qFExGlpGP1oQw95/TdPTxYOb4rvh5SapGCFEyGV5pDcZs06ySm96DyzHQaTwMfAPcGxdaPDI+lScXBLM/PJ77e/vz6i1tcbA1VHKjhRDVlQyvrGyhm00PADl/CPx6w/il4NO1yOJ/h5zn2aUHyMrWzBzflVuua1R5bRVC1AiSuqksF0/C+jfg2Gqo4wd3/ADtbgdV+CySmdlGPll3jG+3hNKukTsz7+5KU2+XSm60EKImkEBf0VIvwZZpsHs22DqZhkr2fALsip5gLDohjcmLgtkTdonxPf1489Z2ONpJqkYIcW0k0FeU7EwI+h42vw9pCdDlXrjpdXAtfu6ZLcdj+L8l+0nLzObzuzpze2efSmqwEKKmkkBfEU6sN+XhLx6DpjfA0PehYcdiN8nKNjJjwwlmbj5Jq/puzLy7Ky3quxa7jRBCWEICfXm6cNQU4E9thLrN4a5F0Hp4kXn43M0S05i8aB//no7jzkBf3r6tA072kqoRQpQPCfTl4XKsKUUT9L1pLpqh70P3R8HWvsRNt5+8yNOL95GcnsUnd3RiTDffSmiwEKI2kUBfFlkZpousW6ZBRjIEPgT9XwEXrxI3zTZqvvz7BJ9vPEHzeq4sfLQXrRq4VUKjhRC1jQT6a6G1aZjkutchLhRaDIIh70H9NhZtHpOUzv8t2c8/Jy8yqosP74zsgIuDnAohRMWQO2NLK/qgaeKxsG3g3RruXgYtB1u8+a7QWJ5atI+E1Ew+Gt2ROwOboErI4QshRFnInbGWSr5gehB38E/g5Ak3fwLdHgCDnUWbG42ab7ac4tN1xwjwcuGHh3rQtpF7xbZZCCGQ1E3JMtNg19ew7TPISoVeE+HGF0zB3kJxlzP4vyX72XI8hhGdGvPBqI64SqpGCFFJJNoURWs48ptp+uD4s9D6Zhj8DniXLs0UFBbHpIX7iLucwbsjO3B3Tz9J1QghKpUE+sJEBsPaV+HsTmjQAe77HZr1L1UVRqNmzrZQpq09hk8dJ36deD0dfDwqpLlCCFEcCfR5JUaZHuF3YBG41IMRn5umLrAp3c1L8SkZPLf0ABtDLjC8Q0M+GnMd7o6W5fKFEKK8SaAHyEiBHV/C9hlgzDI9hLvfc+BY+oul+85eYtLCfVxISmPKiHbcf32ApGqEEFZVuwO90QiHlsGGKZAYaZo2eNDbULdpqavSWjNvexgf/nWUBu6O/PL49XRuUqf82yyEEKVUewN9+G5Y8zJE7oVGnWH0d+B//TVVlZCayYvLDrD28HkGt2vAJ2M64eEsqRohRNVQ+wJ9/FlTD/7QcnBtCCO/gevuKvRB3Jb4LyKeJxcGcy4+jddvacvDfZtKqkYIUaXUnkCfngz/TIedX5le3/Ai9HnaNAnZNdBa89OuM7z7x1G8Xe1Z8lhvuvlbPrZeCCEqS80P9EYjHFhoGk2TfB463gmD3gKPa58lMiktk5eXH+TPg+cY0Loen93ZGU+XkmeqFEIIa6jZgT5sO6x9Bc4dAN/ucNdC8A0sU5WHoxJ4ckEw4ZdSeWlYGx67oRk2NpKqEUJUXTUz0MeFmu5oPboK3H1h9FzoMLrEB4AUR2vNot3hTFl1GE9nOxY92oseTeuWY6OFEKJilHugV0q5AF8DGcBmrfWC8t5HkdISYOsn8O8ssLGDAa/D9ZPAzqlM1V5Oz+LVFQf5fX8U/Vp6M31sZ7xdHcqp0UIIUbEsCvRKqXnArcAFrXWHPMuHAZ8DBuA7rfWHwChgmdZ6lVJqCVDxgT47C/b9CH+/Bymx0Plu04O43RuVuepj0UlMXLCX0xcv89zgVjw5oIWkaoQQ1YqlPfr5wFfAjzkLlFIGYCYwGIgA9iilVgK+wEFzsexya2lRTv1tek7rhSPg38f0GL/Gncul6qVB4bz5+yHcHO34+ZGeXN/cu1zqFUKIymRRoNdab1VKBRRY3AM4qbUOBVBKLQZuxxT0fYH9wLUNTrfU3+/B1mlQxx/u/BHa3lamPHyOlIws3vjtMMuDI+jdzIvPx3WmvptjOTRYCCEqX1ly9D5AeJ7XEUBP4AvgK6XULcCqojZWSk0AJgD4+fldWwva3AL2LtDzcbArn0B88kIST/wczMmYZJ4a2JKnB7bEIKkaIUQ1VpZAX1j001rry8CDJW2stZ4NzAYIDAzU19SCxp3LLU0DsGJfBK/+eghnewM/PtSDfi3rlVvdQghhLWUJ9BFAkzyvfYGo0lRQVZ4Zm5aZzZSVh1m8J5weAXX5cnwXGrhLqkYIUTOUJYe+B2iplGqqlLIH7gJWlqYCrfUqrfUEDw/rPZAjNCaZkTO3s3hPOBP7N2fhoz0lyAshahRLh1cuAvoD3kqpCOAtrfVcpdQkYC2m4ZXztNaHK6ylFWDVgSheXv4f9rY2fP9gdwa0rm/tJgkhRLmzdNTNuCKWrwZWX+vOrZW6ScvM5t0/j/DzrrN08/fky3FdaFynbDdVCSFEVVWxwx9LYI3UzZnYy4z+Zgc/7zrLhBuasXhCLwnyQogarWbOdVOEvw6e48Vl/2Fjo/juvkAGtWtg7SYJIUSFqxWBPiPLyPurjzJ/RxidmtThq3FdaFLX2drNEkKISmHVQF8ZOfrwuBQmLQzmQEQCD/YJ4JXhbbG3tWrGSgghKlWNztGvP3KeW77YRujFy8y6pytvjWgvQV4IUevUyNRNZraRaWtCmLPtNB183Pl6fDf8vCRVI4SonWpcoI+KT2XSwmCCz8Zzby9/XrulLY52Bms3SwghrKZG5eg3hVzg/5buJytb8+W4Lozo1Lhc6hVCiOqsRuTos7KNfLQmhAfn76GhuyMrJ/WRIC+EEGbVPnUTnZDGU4v2sTssjnE9mvDWiPaSqhFCiDyqdaDfdiKGZxbvJyUjm+ljO/G/Lr7WbpIQQlQ51TpHfzYuBS9Xe5bc3ZUW9d3Kt3FCCFFDKK2v7Zkf5SkwMFAHBQWVejutNelZRknVCCFqJaXUXq11YEnlqvXdQ0opCfJCCFGCah3ohRBClEwCvRBC1HAS6IUQooazaqBXSo1QSs1OSEiwZjOEEKJGqxF3xgohhCiapG6EEKKGk0AvhBA1XJW4YUopFQOcKbDYAygseV9wuTdwsYKaVpKi2ljR9VhavqRyxa239P0vapm1zou1zklptrHWeamNnxVLt6munxV/rXW9EktpravkDzDbkuVAUFVrY0XXY2n5ksoVt97S97+YZVY5L9Y6J9XhvNTGz4ql29T0z0pVTt2sKuVyayivtpS2HkvLl1SuuPWlef/lnJRuGzkvlVuPJdvU6HNSJVI3ZaGUCtIWzPUgKpecl6pHzknVVBnnpSr36C0129oNEIWS81L1yDmpmir8vFT7Hr0QQoji1YQevRBCiGJIoBdCiBpOAr0QQtRwNS7QK6VclFI/KKXmKKXutnZ7hIlSqplSaq5Sapm12yJMlFIjzZ+T35VSQ6zdHmGilGqrlJqllFqmlHqiPOqsFoFeKTVPKXVBKXWowPJhSqljSqmTSqmXzYtHAcu01o8Ct1V6Y2uR0pwXrXWo1vph67S09ijlOfnN/Dl5ABhrhebWGqU8L0e11o8DdwLlMuyyWgR6YD4wLO8CpZQBmAkMB9oB45RS7QBfINxcLLsS21gbzcfy8yIqx3xKf05eN68XFWc+pTgvSqnbgH+AjeWx82oR6LXWW4G4Aot7ACfNPcUMYDFwOxCBKdhDNTm+6qqU50VUgtKcE2XyEfCX1jq4sttam5T2s6K1Xqm1vh4ol/RzdQ6EPlzpuYMpwPsAvwKjlVLfULVuAa8tCj0vSikvpdQsoItS6hXrNK3WKuqzMhkYBIxRSj1ujYbVckV9Vvorpb5QSn0LrC6PHdmWRyVWogpZprXWl4EHK7sxIldR5yUWkGBiHUWdky+ALyq7Mf/fzh3iIBBDYRCeZzgFCAThSngs9yJB4nDrEGjCBTacgqQ4wGAIoe1jPrdqm0zyp6p6eNdlAIZv/qjnG/0IzF6+p8C10ln0ZJf22KRNP+vS89CfgEVEzCNiAqyAfeUzyS4tskmbftali6GPiC1wBJYRMUbEupRyAzbAAbgAu1Ty2QQAAABDSURBVFLKueY5/41d2mOTNtXu4qNmkpRcFzd6SdLnHHpJSs6hl6TkHHpJSs6hl6TkHHpJSs6hl6TkHHpJSs6hl6Tk7vBiwcIvYjmUAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C7 = [ 0 for i in samples ]\n", "nrTests = 20\n", "for test in range(0,nrTests):\n", " C7 = [ c7 + alternatif(i) / nrTests for i,c7 in zip(samples,C7) ]\n", "\n", "plt.title('Complexité enchainement alternatif')\n", "plt.loglog(samples,C7,label='alternatif')\n", "plt.loglog(samples,C1,label='linéaire')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "def alternatif2(n):\n", " cnt = 0\n", " p2 = 1\n", " for i in range(0,n):\n", " if i == p2:\n", " for j in range(0,p2):\n", " cnt += 1\n", " p2 *= 2\n", " return cnt" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEMCAYAAADK231MAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xd4VFX6wPHvm5CQQKgBkR4QRHqHYMWCFGmKCIgFl5V1FdRFf6yuriJibyyiYgGxooAKAUGqEUFAQBApobfQCQJJIP38/rgDhpAykyl3ZvJ+nicPzC3nvndO5p2Tc889V4wxKKWUCl4hdgeglFLKuzTRK6VUkNNEr5RSQU4TvVJKBTlN9EopFeQ00SulVJDTRF+CicgeEbnJA+WkiEh9J7aLFJFfRKSHu8d0hYjEiIgRkVLF3N+p8wsmIhIvIn+3O46CiMhgEVmQ6/VVIrLdUVd97YzNH2mit4GI3Ckiaxy/lIdEZJ6IXG13XMVljIkyxuwCEJEpIjK2gE3fB143xsz1XXTuy31+gcJTX+KOsoaIyDJPlFXM41/0RW2M+cIYc3OuzcYAExx1NdP3Ufq3YrVwVPGJyEjgCeABYD6QAXQD+gC2fZh8wRhzj90xKN8TkVLGmCwvH6YusMnLxwhcxhj98dEPUAFIAfoXsk1pYBxw0PEzDijtWNcZSARGAUeBQ0BfoAewDTgB/CdXWaOBGcDXQDLwG9Ay1/o9wE2O/4dgfQHtBJKAaUBlx7oBwC6gvON1d+AwUNXx2gANgGFAJtaXVwow27G+BvANcAzYDTxcxPm/DuwDjgATgcg85/9YrvO/L9e+kcAbwF7gFNYXZyQQ44jxXke5x4Gncu3XAVgBnHSUOQEIz7XeAA0c/58CvAN873hPVwGX5dr2CmChoy62AnfkWjcFeBeY53h/lgOXOur4TyABaJ1r+wLfN0fdTgM+dcSxCWjnWPcZkAOcdRxnVD7vcyVgjqPsPx3/r5VrfTzwd6AxkAZkO8o66UI9/Rvr9+QzJ+ruFmAdcBrYD4zOtW6fow5SHD+dgCHAMsf6nXnOt7Tdn3V/+7E9gJL0g9VyzwJKFbLNGGAlcAlQFfgFeN6xrrNj/2eAMOB+xwf1S6Ac0NTxoazv2H40VuK93bH9446EEeZYv4e/Ev2jjuPWcnyI3wem5orrC6xEFY31BdQz17q8iXBsrnUhwFpHzOFAfawvja4FnP84IA6o7Din2cBLec5/jON8egBngEqO9e9gJaiaQChwpeNcYhwxfoiV+FsC6UBjx35tgVisv3BjgC3Ao4Wc3wmsL4dSjvflK8e6slhJ6j7HujZYXypNc+173HG8CGCJoz7uccQ7FvjRmffNUbdpjvcgFHgJWJkr5vN1W8D7HA30A8o43ufpwMxc6+OBvzv+PwRHUnWxnl5xvP+RTtRdZ6C547xbYH159HWsO1d/pXId/4KYijrfkv5jewAl6QcYDBwuYpudQI9cr7sCexz/74zVagl1vC7n+AB0zLX92lwfkNF5PvwhWC2paxyvz384sJLbjbm2rY71JVHK8boiVsvqD+D9PDEXlug7AvvybP8k8HE+5y5AKhe2kDsBu/Ocf+4P/FGsJB3iWNcyn3LPJYrcLdZfgYEF1MGjwHeFnN9Hudb1ABIc/x8A/JynrPeBZ3Pt+2GudSOALbleN+evFnOh75ujbhflWtcEOJvr9fm6dfJ3sxXwZ67X8RSQ6J2spwwgItf6AuuugHjGAW/lqT9N9MX80T5630oCqhTRZ1kDq+vhnL2OZefLMMZkO/5/1vHvkVzrzwJRuV7vP/cfY0yOiCTmKe+cusB3IpKTa1k2UA04YIw5KSLTgZFYLUFn1QVqiMjJXMtCgZ/z2bYqVgtzrYicWyaO7c9JyvPencE63ypYreSdhcRyOJ/9EJHLgTeBdo7jl8L6wnSpHKxz7ZjnXEthdV2ck7euCqo7Z963vHFEONsfLiJlgLew/sqs5FhcTkRCc/1+FcSZejpmjEnLs19BdYeIdAReBpph/QVTGuuvDOUBOurGt1Zg/bld2PCvg1gf8nPqOJYVV+1z/xGREKyumfzK2w90N8ZUzPUTYYw54Ni3FfA3YCowvpDjmXzK3Z2n3HLGmPyGWB7HSnZNc21bwRgTlc+2+e2bBlzmxLZ5vYfVP97QGFMe+A9W4nLVfuCnPOcaZYz5ZzHLcvZ9y0/eesjrMaAR1l+D5YFrHcvzO++8ZTlTT0UdP68vsbqCahtjKmD1+Z+LxdWyVB6a6H3IGHMKq8/1HRHpKyJlRCRMRLqLyKuOzaYCT4tIVRGp4tj+czcO21ZEbnMMTXsUq296ZT7bTQReEJG6AI7j93H8P8IRw3+w+p9risiDBRzvCFZ/8jm/AqdF5N+OcfShItJMRNrn3dEYk4PVj/6WiFziOHZNEela1Ek69p0MvCkiNRzH6SQipYvaF6sL7DSQIiJXAMVJzGBd0LxcRO521GuYiLQXkcbFKMvp960Aeeshr3JYyfqkiFQGni2irFoiEg7u1VMR8ZwwxqSJSAfgzlzrjmFdbC1R9zJ4kiZ6HzPGvInV/fE01i/wfmA4cG7s71hgDbABqz/8N8ey4pqF1Xf8J3A3cJsxJjOf7f6H1aJaICLJWF8GHR3rXgISjTHvGWPSgbuAsSLSMJ9yJgFNROSkiMx0dAP0wuoD3o3VGvwIawRSfv4N7ABWishpYBFWy9MZj2O9Z6uxLpi+gnO/449jJZZkrAT2tZPHu4AxJhm4GRiI9VfTYf66IOlqWa6+b3m9hNVgOCkij+ezfhzWRdLjWHX9QyFlLcEa1XNYRI47lrlTT/l5EBjj+N17BmtEEQDGmDPAC8Byx/nEunGcEkkcFzJUEBKR0VgXEe+yOxallH20Ra+UUkFOE71SSgU57bpRSqkgpy16pZQKcprolVIqyPnFnbFVqlQxMTExdoehlFIBZe3atceNMVWL2s4vEn1MTAxr1qyxOwyllAooIrK36K2060YppYKeJnqllApymuiVUirI+UUffX4yMzNJTEwkLS3vTKfKXREREdSqVYuwsDC7Q1FK+YDfJvrExETKlStHTEwMuea8Vm4yxpCUlERiYiL16tWzOxyllA94vOtGRBqLyEQRmSEixZ3ulbS0NKKjozXJe5iIEB0drX8pKVWCONWiF5HJQE/gqDGmWa7l3bCmtw3Ferzay8aYLcADjodcfOhOcJrkvUPfV6UulpqexardSWTnFL2tJzWtUZ4aFSO9egxnu26mABOwnjgPgIiEYj2MuQvW091Xi0icMWaziPQGnnDsE3TOjfsvVaoUX375JQ8+WNAzODwnPj6e8PBwrrzySgAmTpxImTJluOeee0hISGDgwIGICOPGjWP06NEcPnyYkJAQhg0bxiOPPOL1+JQKdFN+2cNr87f67HilyOLe0Pmk9R5OjY5NvHwsJxhjlopITJ7FHYAdxphdACLyFdAH2GyMiQPiROR7rEeEXUREhgHDAOrUqVOs4O128uRJ3n33XZcS/bmH9YaEuNZrFh8fT1RU1PlE/8ADD5xfN3PmTPr06cNzzz3HoUOHeOONN2jTpg3Jycm0bduWLl260KSJd3+RlAp0J1IzAJgz4mqvHyvi+B/UXDqKyKRNpGa1xnq2u/e4czG2JrkePI3Vqu8oIp2B27CeqjO3oJ2NMR8AHwC0a9fOb6fQ7Nu3L/v37yctLY1HHnmEYcOGnV/3xBNPsHPnTlq1akWXLl147bXXeO2115g2bRrp6enceuutPPfcc+zZs4fu3btz/fXXs2LFCmbOnEnTpk155JFHmDNnDpGRkcyaNYtq1aoxe/Zsxo4dS0ZGBtHR0XzxxRecPXuWiRMnEhoayueff87bb7/N4sWLiYqKokmTJowbN47Q0FCWLl3Kjz/+SPXq1QEoV64cjRs35sCBA5rolSrCmYxsqkSVpllNZx/iVQyZZyH+JfhlApStAgM+p2zjXt47noM7iT7fhwgbY+KBeDfKvchzszex+eBpTxZJkxrlebZX0yK3mzx5MpUrV+bs2bO0b9+efv36nV/38ssvs3HjRtavXw/AggUL2L59O7/++ivGGHr37s3SpUupU6cOW7du5eOPP+bdd98FIDU1ldjYWF544QVGjRrFhx9+yNNPP83VV1/NypUrERE++ugjXn31Vd544w0eeOABoqKiePxx66lwixcvBqBHjx4XrTtnz549rFu3jo4dO6KUKtzZjCzKhId67wB7lkHcCDixC1rfDTc/D5GVvHe8XNxJ9IlA7Vyva2E9J9NpItIL6NWgQQM3wvCu8ePH89133wGwf/9+tm/fXuC2CxYsYMGCBbRu3RqAlJQUtm/fTp06dahbty6xsX896jI8PJyePXsC0LZtWxYuXAhYw0oHDBjAoUOHyMjIKPYQyJSUFPr168e4ceMoX758scpQqiQ5k5HtnUSfdgoWPgtrP4ZKMXBPHNS/zvPHKYQ7iX410FBE6gEHsB6IfGfhu1zIGDMbmN2uXbv7C9vOmZa3N8THx7No0SJWrFhBmTJl6Ny5c6HDEo0xPPnkk/zjH/+4YPmePXsoW7bsBcvCwsLOj34JDQ0lKysLgBEjRjBy5Eh69+5NfHw8o0ePdjnuzMxM+vXrx+DBg7nttttc3l+pkuhsZjaRnk70W+fBnJGQchg6DYfrn4LwMp49hhOcuiIoIlOBFUAjEUkUkaHGmCxgODAf2AJMM8Zs8l6ovnfq1CkqVapEmTJlSEhIYOXKlResL1euHMnJyedfd+3alcmTJ5OSkgLAgQMHOHr0qMvHrFmzJgCffPJJgccqiDGGoUOH0rhxY0aOHOnSsZUqyTzaok85BtPvg6kDre6Zvy+Cri/YkuTB+VE3gwpYPpdCLrgWxd+7brp168bEiRNp0aIFjRo1uqDrBSA6OpqrrrqKZs2a0b17d1577TW2bNlCp06dAIiKiuLzzz8nNNT5X57Ro0fTv39/atasSWxsLLt37wagV69e3H777cyaNYu33367wP2XL1/OZ599RvPmzWnVqhUAL774Ij169HD19JUqUc5kZFOpTLh7hRgDG76GH56AjFSrBX/Vo1DKzXLd5BfPjG3Xrp3JOx/9li1baNy4sU0RBT99f5W6UOfXfqRFrYqMH9S6eAWc3AezH4Wdi6FWB+j9NlxyhWeDzENE1hpj2hW1nd/OdaOUUr6UWtyum5wcWP0RLBptve7+KrS/H1y8V8abNNErpRRwNqMYF2OPbbWGTO5fBZfdCL3GQUX/uwHU1kTv7330SqmSwRjDGVfG0WdnwvJx8NOrEF4W+k6ElgPBT+eRsvVvC2PMbGPMsAoVvHgnmlJKFSE9K4ccA2XCnWj7HvgNPugMS8bCFbfAQ79Cq0F+m+RBu26UUoqzGdkARIYV0qLPOAPxL8KKdyCqGgz80kr0AUATvRds2rSJXbt20auX9+ewUEq570ymlegL7LrZvdTqi/9zD7QdAl3GQETg9ET4z2VhPxQVFQXAwYMHuf32253aZ9++fbzwwgtcd13Rtzg/88wzLFq0yK0YlVLuO5th3Zl+0cXYsyetBP9JL0Dg3tnQ638BleRBL8Y6pUaNGsyYMcOpbevUqcOXX+Y7M/NFxowZk+/y7Oxsl26yUkq550zGuRZ9rpS4ZQ58/xikHoUrH4bOT9p2Z6u79GKsE/bs2UOzZtaDtaZMmcJtt91Gt27daNiwIaNGjTq/3YIFC+jUqRNt2rShf//+56dCGDNmDO3bt6dZs2YMGzaMczepDRky5PwXSExMDGPGjOHqq69m+vTp7Ny5k27dutG2bVuuueYaEhISfHzWSpUcfyX6UEg+AtPuha8HQ9mqcP8Sa6bJAE3yECh99POegMN/eLbMS5tD95eLtev69etZt24dpUuXplGjRowYMYLIyEjGjh3LokWLKFu2LK+88gpvvvkmzzzzDMOHD+eZZ54B4O6772bOnDn59t9HRESwbNkyAG688UYmTpxIw4YNWbVqFQ8++CBLliwp/vkqpQpkXYw11Nz7HcwYC5ln4IanrekLQsPsDs9tgZHo/cyNN97Iub9CmjRpwt69ezl58iSbN2/mqquuAiAjI+P8nDc//vgjr776KmfOnOHEiRM0bdo030Q/YMAAwJpi+JdffqF///7n16Wnp3v7tJTyC9/+lsie46k+PeZvG37n07DxxPz8B9SOtaYvqHq5T2PwpsBI9MVseXtL6dKlz///3BTDxhi6dOnC1KlTL9g2LS2NBx98kDVr1lC7dm1Gjx5d4FTH56YyzsnJoWLFiucfaKJUSZGWmc3Iab8DvhmWHkIO94TO54PQaZhQ4WyXV4jsNMyvpi/wBL0Y6yGxsbE89NBD7NixgwYNGnDmzBkSExO55JJLAKhSpQopKSnMmDGjyBE85cuXp169ekyfPp3+/ftjjGHDhg20bNnSF6eilG2SHM9tffm25gzs4OWpBI4mQNxwSFwNDbpAz7egYu2i9wtAejHWQ6pWrcqUKVMYNGgQLVq0IDY2loSEBCpWrMj9999P8+bN6du3L+3bt3eqvC+++IJJkybRsmVLmjZtyqxZs7x8BkrZLynF6qKMjipdxJZuyMqA+Fdg4tWQtBNu+xAGTw/aJA86TXGJpe+v8kdLEo7wtylr+PbBK2lTxwvPU01ca7Xij26GZrdDt5chqqrnj+MjOk2xUirgHE+xum6qlPVwiz4jFZa8AKveg6hLYdDX0KibZ4/hxzTRK6X8RtK5RF/Og09k2vkjzH4ETu6Fdn+Dm56DiPKeKz8AaKJXSvmNpJR0IsNCnZtFsihn/4QFT8O6z6HyZTBkLsRc5X65AcivR90YYxA/nvozUPnDdRml8nM8JZ3oKA+05jfHwdzHIfU4XP0vuO7fEBbpfrkBym9H3URERJCUlKRJycOMMSQlJREREWF3KEpdJCk1w70RN8mH4eu7YNrd1lTCw36Em0aX6CQPftx1U6tWLRITEzl27JjdoQSdiIgIatWqZXcYSl3keEoGNSsWoxFijNVFs+ApyEyDG5+1JiIL9dsU51N++y6EhYVRr149u8NQSvlQUko6LWq6eF/Nid0w51HYFQ91r4Je46FK4N+E6Ul+m+iVUiVLTo5xdN042Uefkw2rJlqP9JNQ687WNkOCbvoCT9BEr5TyC6fOZpKdY5zroz+yyXogyIG10LCrleQr1PR+kAFKE71Syi8kpVrTH1QprEWflQ4/v2H9RFSAfpOgWT+/fjC3P9BEr5TyC+fvii2oRb//V6sVfywBWgyAri9B2WgfRhi4/HocvVKq5Dh+fkKzPC369BSrH37VRChfEwbPgIZdbIgwcPntOHqlVMmSlF+LfsdieLeTNUdN+7/DQys1yReDdt0opfxCUko6IlCpTDicOQHzn4Lfv4TohnDfD1C3k90hBixN9Eopv3A8NYPKkWGEbpllTV9w9k+45jG4dhSE6Z3c7tBEr5S6yM5jKby5YBuZ2Tk+O+bB/bt5O+RDmL4KqreEu76F6i18dvxgpoleKXWRWesPMnfjIRpVK+f9gxlDt4wFvJn5MREhWdBlDMQ+pNMXeJC+k0qpi2w9fJp6Vcryw6PXevdASTutueL3/Awx10Cv/0H0Zd49ZgmkiV4pdZGEw8k0reHFh3NkZ8HKd+HHFyE0zErwre/R6Qu8RBO9UuoCZzKy2HfiDLe19tIMp4f/sG58OrgOGvWAW96A8jW8cywFaKJXSuWx7UgKxkCjSz3cP5+VDktfg2VvQWQluP1jaHqrTl/gA5rolVIX2Hr4NABXeDLR71sFccPh+DZoOQi6vghlKnuufFUoTfRKqQskHE4mMiyUOpXLuF9YejIsHgO/fggVasHgb6DhTe6Xq1yic90opS6w9XAyl19ajpAQN7tUti+yHghyKhE6DIMbn4HSUZ4JUrlE57pRSl1g6+FkrnBn/PyZE/DtP+CLfhBWBoYugB6vapK3kXbdKKXOO5acTlJqRvEuxBoDm76FuaMg7aQ1dcG1j0MpNx72rTxCE71S6ryth5OBYlyIPXUAvn8Mts2DGm2g9yy4tJkXIlTFoYleKXVegmPEjdMt+pwc+G0KLHwWsjPh5hcg9p8QEuq9IJXLNNErpc5LOJxMlajSzj23NWknxD0Me5dBvWutu1sr1/d+kMplmuiVUudtPZxcdLdNdhasmADxL0Foaeg9AVrfpTc++TFN9EopALJzDNuOJHNXbN2CNzq0wbrx6dDv0LgX9Hgdyl3quyBVsWiiV0oBsDcplfSsnPxb9Jlp8NMrsPx/UCYa7vgUmvTxfZCqWDTRK6WA3CNu8sxaufcXaxKypB3Q6i7oOtaaq0YFDE30SinAuhAbItCwmuPGprTTsGg0rJkEFevA3d/BZTfYGqMqHk30SinAatHHRJclIiwUts2HOf+C0wch9kG44WkIL2t3iKqYNNErFSDW7DnB83M2k22MV8rfeTSVng3CYMZQ2DgDqjaGoZ9A7fZeOZ7yHU30SgWIj5fvYdexVDrU88L0vsbQO2Q59x2cCJkp0PlJuHoklAr3/LGUz2miVyoAnMnIYnHCEfq3rc3zfT08tcCpRKubZu8CqNkO+kyASxp79hjKVprolQoASxKOkpaZwy0tqnuu0JwcWDsZFo4Gkw1dX4KO/9DpC4KQVxK9iPQFbgEuAd4xxizwxnGUKim+33CIquVK0z7GQ902x7db0xfs+wXqd7amL6gU45myld9xej56EZksIkdFZGOe5d1EZKuI7BCRJwCMMTONMfcDQ4ABHo1YqRImNT2LH7cepXuzSwl192Eg2Zmw9HV47yo4ugn6vAN3z9QkH+RcadFPASYAn55bICKhwDtAFyARWC0iccaYzY5NnnasV0oV0/lum+ZudtscXAezRsCRP6y7Wru/BuWqeSZI5decTvTGmKUiEpNncQdghzFmF4CIfAX0EZEtwMvAPGPMbx6KVakS6fsNh7ikXGnaFbfbJvOsNQHZLxOgbBUY8Lk1T40qMdzto68J7M/1OhHoCIwAbgIqiEgDY8zEvDuKyDBgGECdOnXcDEOp4HSu22ZQhzrF67bZs8yavuDELmh9N9z8vE5fUAK5m+jz+80zxpjxwPjCdjTGfAB8ANCuXTvv3AGiVIBbnHCU9KwcerjabZN2yjF9wWSr//2eWdZFV1UiuZvoE4HauV7XAg66WaZSyuH7DQetbpu6LrTCt86DOSMh5TB0Gg7XPwXhZbwXpPJ77ib61UBDEakHHAAGAnc6u7OI9AJ6NWjQwM0wlAo+KelZ/Lj1GHd2qEOIM902Kcdg3ijrAd2XNIWBn0PNtt4PVPk9V4ZXTgVWAI1EJFFEhhpjsoDhwHxgCzDNGLPJ2TKNMbONMcMqVKjgatxKBb3FW46QkZVDz6JukjIGfv8K3mkPCXPg+qdhWLwmeXWeK6NuBhWwfC4w12MRKaUAa7TNpeUjaFOnkG6bk/usbpodC6F2R+j9NlRt5LsgVUCwdQoE7bpRKn/JaZnEbzvG4I4FdNvk5MDqj6wLrgDdX4X2f9fpC1S+nO668QbtulEqf4u3HC242+bYVvi4G8z7P6jbCR5aqXPUqELppGZK+aE5Gw5RvUIErWvn6rbJzoTl4+CnV62HgNz6PrQYAOLmtAgq6GmiV8rPJKdlsnTbMe6KrftXt82B36wbn45shKa3WV01UVXtDVQFDO2jV8rPLNpyhIxsx5TEGWcg/kVY8Q5EVYOBU+GKHnaHqAKM9tEr5We+33CIGhUiaJ21Ad67En55G9rcAw+t0iSvikW7bpTykC9X7eOLVXvdLufg4cNMrhFHyGdxULk+3DsH6l3jgQhVSaWJXikP2HE0mWfjNlK/ShS1K0cWu5xWqcu5K3I8FZL+hCsftp7dqtMXKDdpH71SbjLG8N+Zm4gMC+WL+ztSJaq064WkHIW5/we7Z0K1ZtB7BtRs4/lgVYmkffRKuSnu94Os2JXEqG5XuJ7kjYH1X8KE9rB1LtxwbvoCTfLKc7TrRik3nE7L5Pk5W2hZqwKDOrj4XIU/98KcR2HnEqgd65i+4HLvBKpKNE30SrnhzQXbOJGazsdD2jv/YJCcbPj1Q1g8xrrZqcfr0G4ohNj6B7YKYprolSqmjQdO8emKPdwdW5fmtZzsfjyaYN34lPgrNOgCPd+CirWL3k8pN2iiV6oYsnMMT333B5XLlmbkzU7MFpmVAcvegp9fh/AouPUDaHGHTl+gfEJH3ShVDF+t3sfviacYN6AVFSLDCt84cS3EDYejm6HZ7dD9Fesh3Ur5iI66UcpFx1PSefWHrcTWr0yfVjUK3jAjFX74D0y6Cc6ehEFfw+2TNMkrn9OuG6Vc9PK8BFLTsxjbtxlSUNfLrniIexhO7rUutN40GiLK+zBKpf6iiV4pF/y6+wQz1ibyz86X0eCSchdvcPZPWPA0rPscKl8GQ+ZCzFW+D1SpXDTRK+WkzOwc/jtzIzUrRjLihnyuK22Og7mPQ+pxuPpfcN2/Iaz40yEo5Sma6JVy0pTle9h6JJkP72lHmfBcH53kw1aC3zIbLm0Og6dD9Zb2BapUHjrqRiknHDp1lrcWbeOmxpfQpUk1a6ExVhfNgqcgM83qh+80HEKLGIWjlI/pqBulnPD8nM3kGMOzvZpaC07shs/6WsMmqzWDf/5idddokld+SLtulCpC/NajzP3jMP/XtRG1K5a2nva0ZCxIKNzyJrS9T6cvUH5NE71ShUjLzObZuE3Ur1qW+xudhUld4MBaaNgVer4JFWrZHaJSRdJEr1Qh3ovfyaGkUyxqv4bwjyZaY+H7TYJm/XT6AhUwNNErVYDdx1P55acf+Kn8JKr/sQea3wHdXoay0XaHppRLNNGroJOUks6kZbtJSc8qdhnh2WdotvVtvg6djSldA26fDpff7MEolfIdTfQqqCzfcZx/fb2epNQMykcU79c71vzOf8371OAYu+oNpP6g16F0PnfBKhUgdBy9CgqZ2Tm8sWAb7y/dyWVVo/jkbx1oXN3FuWXOnID5T8HvX0J0Q+j9GfXrdvJOwEr5kK2J3hgzG5jdrl27++2MQwW2vUmpPPzVen7ff5JBHerwTM8mRIaHOl+AMbB5pvVw7jMn4JrH4NpREBZKrCELAAAReUlEQVThvaCV8iHtulEBbdb6Azz13UZCBN4d3IYezau7VsDpQ9b0BQlzrGkL7voWqrfwTrBK2UQTvQpIKelZPDtrE9/8lkj7mEqMG9iamhVdmEDMGPjtU1jwX8hOhy5jIPYhCNWPhAo++lutAs4fiacYMfU39p04wyM3NmTEDQ0oFerCnalJO2H2I7DnZ6h7NfQeD9GXeS9gpWymiV4FjJwcw6Rlu3l1fgJVo0rz1bBOdKhX2fkCsrNg5bvw44vWnDQ9x0Gbe3X6AhX0NNGrgHAsOZ3Hpv/O0m3H6Nq0Gq/0a0HFMuHOF3B4ozUB2cF10KgH3PIGlC/kMYBKBRFN9Mrv/bTtGI9NW09yWhYv3NqMOzvUKfgRfnllpsHS12D5OIioCLd/DE1v1ekLVImiiV75rYysHF6bn8CHP++mUbVyfHl/LJdXc+HGpX0rIW4EHN8GLQdB1xehjAtdPUoFCU30yi/tPp7Kw1PX8ceBU9zTqS7/6dGYiDAnx8anJ8PiMfDrh9bskoO/gYY3eTdgpfyYJnrlV4wxfPvbAf47ayPhpUL44O623Nz0UucL2L4QZj8Kpw9Ah2Fw4391+gJV4mmiV34jOS2Tp2duZNb6g3SsV5lxA1tRvYKTY+NTk2D+k7Dha6hyOfxtPtTp6N2AlQoQOteN8gvr9v3JI1+t58DJszzW5XIevL4BoSFOXDA1BjZ9C3NHQdpJa+qCax+HUqW9H7RSAULnulG2yskxTFy6kzcXbKNa+Qim/SOWtnWdvGB66gB8/xhsmwc1WkPvWXBpM+8GrFQA0q4bZZujp9P417T1LN+RxC0tqvPirc2pEOnEw7VzcuC3KbDwWcjOhJvHQsd/6vQFShVAPxnKFksSjvD49A2czcjmlX7NuaNdbefGxifthLiHYe8yiLnGmr6gcn3vB6xUANNEr3wqPSubl+cl8PHyPTSuXp63B7WmwSVRRe+YnQUrJkD8SxBaGnq/Da3v1huflHKCJnrlMzuOpjBi6jq2HDrNfVfF8O9uVzg3Nv7QBmv6gkO/wxU9ocfrUN7F6YiVKsE00SuvM8Ywbc1+RsdtJjI8lMlD2nHDFdWK3jEzDX56BZb/D8pEQ/9PoEkfbcUr5SJN9MrrJizZwRsLt3FVg2jeuqMVl5R34slNe3+xpi9I2gGtBlsXXHX6AqWKRRO98ro1e//k8mpRfPa3joQUNTY+7TQsfg5WfwQV61hPfGpwo28CVSpIaaJXPhEZXqroJL9tPsz5F5w+CLEPwvVPQWknLtQqpQqliV55nSlqg9Tj8MMT8Md0qHoFDF0Itdv7IjSlSgRN9Mon8m3LGwN/zIAf/m112Vz3BFwzUqcvUMrDNNErrzMmnzb9qUSYMxK2z4eabaH3BKjWxPfBKVUCaKJXvpWTA2snw8LRYLKh60vQ8R8Q4uRc80opl2miVz4hAhzfbk1fsO8XqN8Zev0PKsXYG5hSJYAmeuV1oSaL21KnwXtTISwC+rxjjY3XG5+U8gmPJ3oRqQ88BVQwxtzu6fJVgDm4ntFHRhCTuRMa97amLyjnxF2xSimPCXFmIxGZLCJHRWRjnuXdRGSriOwQkScAjDG7jDFDvRGsCiCZZ61phD+8gYrZf/JK+adgwGea5JWygbMt+inABODTcwtEJBR4B+gCJAKrRSTOGLPZ00GqALNnuTV9wYmd0PpuRh3pS1J2GbujUqrEcqpFb4xZCpzIs7gDsMPRgs8AvgL6OHtgERkmImtEZM2xY8ecDlj5sbTT1p2tU3pYI2rumQV9JpAaone3KmUnpxJ9AWoC+3O9TgRqiki0iEwEWovIkwXtbIz5wBjTzhjTrmrVqm6EofzC1nnwTkdYOwU6DYd/OkbWKKVs587F2PyGTBhjTBLwgBvlqkCScsy6s3XjN3BJExjwOdRqe9FmOr5GKfu4k+gTgdq5XtcCDrpSgIj0Ano1aNDAjTCULYyBDdOsOWrSk60JyK56FEqF57upUso+7nTdrAYaikg9EQkHBgJxrhRgjJltjBlWoUIFN8JQPndyP3zRH74bBtEN4IFlcN2ofJP8OTpkXin7ONWiF5GpQGegiogkAs8aYyaJyHBgPhAKTDbGbPJapMp+OTmwZhIsGm0107u9Ah3uL3L6Am3RK2UvpxK9MWZQAcvnAnM9GpHyT8e2WUMm96+Ey26AnuOgUl27o1JKOcHWKRC0jz4AZGfC8nHw06sQVgb6ToSWA13uixG9HKuUbdzpo3eb9tH7uQO/wQedYclYuOIWGL4aWg1yOcmboh89opTyIp3UTF0s4wzEvwQrJkBUNRj4pZXo3aENeqVso4leXWj3Umsq4T93Q5t7ocsYiKzoVpF6MVYpe2kfvbKcPQkLn4HfPoFK9eDe2VDvWo8Vrw16peyjffQKEr6Hd2Nh3Wdw5cPW9AUeTPJKKXtp101JlnIU5o2CTd9BtWZWX3zNNh4/jEFb9ErZSRN9SWQM/P6VNX1B5hm44Wlr+oLQMK8dUu+MVco+2kdf0vy5F+Y8CjuXQO1Y6P02VL3cu8fUJr1SttI++pIiJxtWToR3O8H+X61H+t03z/tJ3kFvmFLKPtp1UxIcTYC44ZC4Ghp0gZ5vQcXaRe/nIUab9ErZShN9MMvKgGVvwc+vQ3gU3PoBtLhDO8yVKmE00QerxLVWK/7oZmjWz5ppMsq+J3npd4tS9tGLscEmIxV+fBFWvgtRl8Kgr6BRd1tD0jtjlbKXXowNJrvirYutKyZA2yHw0Erbk/w52qJXyj7adRMMzv4JC56GdZ9D5ctgyPcQc7XdUZ2nDXql7KWJPtBtjoO5j0Pqceump85PQFik3VFdRIdXKmUfTfSBKvmIleC3xMGlzeHOaVCjld1RKaX8kCb6QGMMrP8C5v8HMtPgxmfhyhFenb7AXUavxiplK030geTEbmv6gl3xUOdK6D0eqjS0Oyqn6MVYpeyjwysDQU42rJpoPdJPQuGWN6HtfRBi66App2l7Xil76fBKf3dkM0y62eqqibnGGjLZfmjAJHmllP2068ZfZaXDz2/Cz29ARHnoN8m6w1X7QJRSLtJE74/2r7amLziWAM3vgG4vQ9lou6MqNr0Wq5S9NNH7k/QUqx9+1UQoXxPunA6X32x3VB4h+peIUrbRRO8vdi6B2Y/AyX3Q/n646VkoXc7uqDxCG/RK2UsTvd3OnLCmL1j/BUQ3hPt+gLqd7I7K47Q9r5R9NNHbxRjYPAvm/h+cSYJrHoNrR0FYhN2ReZ520itlKx1Hb4fTh6zpCxLmQPWWcNc3UL2F3VEppYKUjqP3JWNg7SfwTkfYsQi6jIG/LykRSV6vxSplH+268ZUTu6yLrbuXQt2rrekLoi+zOyqf0I4bpeylid7bsrNg1Xuw5AVr4rGe46DNvSXuzlZt0CtlH0303nR4o3Xj08F10KgH3PIGlK9hd1Q+p9dilbKXJnpvyEqHpa/BsrcgoiLc/jE0vbVEd1TrDVNK2UcTvaftWwVxI+D4Vmg5CLq+CGUq2x2VUqoE00TvKekpsHgM/PoBVKgFg7+BhjfZHZVfMHo5VilbaaL3hO2LrAeCnEqEDsPgxv8GzfQFnqIdN0rZRxO9O86cgB+ehA1fQZXL4W/zoU5Hu6PyO3oxVil7aaIvDmNg07cwdxSknbSmLrj2cShV2u7I/JZei1XKPjoFgqtOH4TvH4Otc6FGa+g9Cy5tZndUfk1b9ErZS6dAcFZODqz52Jq+YOePcPNYGLpIk7xSyu9p140zknZC3MOwd5n13Nbe46FyfbujCjDad6OUXTTRFyY7C1ZMgPiXILQ09H4bWt+tHc4u0p4bpeylib4ghzZY0xcc+h2u6Ak9Xofy1e2OKmDpd6NS9tFEn1dmGix9FZaNgzLR0P8TaNJHM5UbjF6NVcpWmuhz27vCmr4gaTu0GmxdcNXpCzxCvyaVso8meoD0ZFj0HKz+ECrWgbu+hQY32h2VUkp5hCb6bQtgzr/g9AGIfRCufwpKR9kdlVJKeUzJTfSpSfDDE/DHNKh6BQxdCLXb2x1V0NJLHErZp+QlemNg4zcwbxSknYbrnoBrRur0BV6k12KVslfJSvSnDsD3I2HbD1CzLfSeANWa2B1ViSB6OVYp25SMRJ+TA2s/hoXPgsmGri9Bx39ASKjdkSmllNcFf6I/vgNmPwx7l0P9ztDrf1ApxuagShZ98IhS9greRJ+dCb+8DfEvQ1gE9HnHGhuvVwVtoW+7UvYJzkR/6HeYNRwOb4DGva3pC8pVszuqEksvxiplr+BK9Jln4adXYPl4KFsF7vgMmvS2OyqFtuiVspPHE72IlAXeBTKAeGPMF54+Rr72LLemLzix05ph8ubnIbKSTw6tCqcNeqXs5dSDR0RksogcFZGNeZZ3E5GtIrJDRJ5wLL4NmGGMuR/wfnM67bR1Z+uUHtaImntmQZ8JmuT9jA6vVMo+zrbopwATgE/PLRCRUOAdoAuQCKwWkTigFvCHY7Nsj0Wan+0LYfYjkHwIOg2H6/8D4WW9ekillAo0TiV6Y8xSEYnJs7gDsMMYswtARL4C+mAl/VrAegr5i0FEhgHDAOrUqeNq3JZT+yGigtUXX6tt8cpQXqfTFCtlL3eeGVsT2J/rdaJj2bdAPxF5D5hd0M7GmA+MMe2MMe2qVq1avAjaDIFhP2mSDwTac6OUbdy5GJvfR9cYY1KB+9wo13khIRAS7pNDqeLT9rxS9nKnRZ8I1M71uhZw0JUCRKSXiHxw6tQpN8JQgUAb9ErZx51EvxpoKCL1RCQcGAjEuVKAMWa2MWZYhQoV3AhDKaVUYZwdXjkVWAE0EpFEERlqjMkChgPzgS3ANGPMJu+FqgKW9t0oZStnR90MKmD5XGBucQ8uIr2AXg0aNChuESpAiN4aq5Rt3Om6cZt23ZQM2qBXyl62JnpVcmh7Xin7aKJXSqkgJ3betXiujx4YAGzPs7oCkN+4y7zLqwDHvRJg0QqK0dvlOLt9UdsVtt7Z97+gZXbVi1114so+dtVLSfysOLtPoH5W6hpjir7j1Bjjlz/AB84sB9b4W4zeLsfZ7YvarrD1zr7/hSyzpV7sqpNAqJeS+Flxdp9g/6z4c9dNQdMnFDitgg08FYur5Ti7fVHbFbbelfdf68S1fbRefFuOM/sEdZ3Y2nXjCSKyxhjTzu441IW0XvyP1ol/8kW9+HOL3lkf2B2AypfWi//ROvFPXq+XgG/RK6WUKlwwtOiVUkoVQhO9UkoFOU30SikV5IIu0YtIWRH5REQ+FJHBdsejLCJSX0QmicgMu2NRFhHp6/iczBKRm+2OR1lEpLGITBSRGSLyT0+UGRCJXkQmi8hREdmYZ3k3EdkqIjtE5AnH4tuAGcaY+4HePg+2BHGlXowxu4wxQ+2JtORwsU5mOj4nQ7DuTlde4mK9bDHGPADcAXhk2GVAJHpgCtAt9wIRCQXeAboDTYBBItIE60lX555lm+3DGEuiKThfL8o3puB6nTztWK+8Zwou1IuI9AaWAYs9cfCASPTGmKXAiTyLOwA7HC3FDOAroA/WIw5rObYJiPMLVC7Wi/IBV+pELK8A84wxv/k61pLE1c+KMSbOGHMl4JHu50BOhDX5q+UOVoKvCXwL9BOR9/CvW8BLinzrRUSiRWQi0FpEnrQntBKroM/KCOAm4HYRecCOwEq4gj4rnUVkvIi8jxsPdsrNqSdM+an8pjg3xphU4D5fB6POK6hekgBNJvYoqE7GA+N9HYw6r6B6iQfiPXmgQG7RJwK1c72uBRy0KRb1F60X/6N14p98Vi+BnOhXAw1FpJ6IhAMDgTibY1JaL/5I68Q/+axeAiLRi8hUYAXQSEQSRWSoMSYLGA7MB7YA04wxm+yMs6TRevE/Wif+ye560UnNlFIqyAVEi14ppVTxaaJXSqkgp4leKaWCnCZ6pZQKcprolVIqyGmiV0qpIKeJXimlgpwmeqWUCnKa6JVSKsj9P4o9dSPhLureAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "C8 = [ alternatif2(i) for i in samples ]\n", "\n", "plt.title('Complexité enchainement alternatif')\n", "plt.loglog(samples,C8,label='alternatif2')\n", "plt.loglog(samples,C1,label='linéaire')\n", "plt.legend()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.5" } }, "nbformat": 4, "nbformat_minor": 2 }