{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "b03151d9",
   "metadata": {},
   "source": [
    "# Maxload in Balls&bins\n",
    "\n",
    "Here we have the standard balls&bins model, simulated in a straightforward way. \n",
    "We plot histogram of the maxload."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "5b64bbf0",
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import random\n",
    "import numpy as np\n",
    "from scipy.stats import poisson"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "037f65fd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average maximum number of balls in a bin (for n = 1000): 5.499\n",
      "CPU times: user 490 ms, sys: 1e+03 ns, total: 490 ms\n",
      "Wall time: 489 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "def simulate_max_balls_in_bin(n, num_simulations=1000):\n",
    "    max_balls = []\n",
    "\n",
    "    for _ in range(num_simulations):\n",
    "        bins = [0] * n\n",
    "        for _ in range(n):\n",
    "            bins[random.randint(0, n - 1)] += 1\n",
    "        max_balls.append(max(bins))\n",
    "\n",
    "    return max_balls\n",
    "# Example usage\n",
    "n = 1_000  # Number of balls and bins\n",
    "num_simulations = 1_000  # Number of times to run the simulation\n",
    "maxload1 = simulate_max_balls_in_bin(n, num_simulations)\n",
    "print(f\"Average maximum number of balls in a bin (for n = {n}): {np.mean(maxload1)}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "f8d19402",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.574249916581999"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.log(n)/np.log(np.log(n))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d23b491d",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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FkFERERUq1QplJ09exZnzpzB06dP0axZMwDA1atXoauri7Zt20r9FAqFZqokIiIiquGqFMr69u0LU1NTREdHw8LCAsCzG8qOHz8eb775JkJCQjRaJBEREVFNV6VzylasWIHw8HApkAGAhYUFFi9ezKsviYiIiKqgSqEsIyMDf/31l1p7amoqHj9+/MJFEREREdU2VQplAwcOxPjx4/Gf//wHd+/exd27d/Gf//wHgYGBCAgI0HSNRERERDVelc4p++KLLzBz5kyMGjUK+fn5z2akp4fAwEAsX75cowUSERER1QZVCmXGxsb4/PPPsXz5cty4cQNCCDRp0gQmJiaaro+IiIioVnihm8cmJycjOTkZTZs2hYmJCYQQmqqLiIiIqFapUih7+PAhunXrhqZNm6J3795ITk4GAEycOJG3wyAiIiKqgiqFsvfffx/6+vq4c+cOjI2NpfahQ4di3759GiuOiIiIqLao0jll+/fvx08//YQGDRqotLu6uuL27dsaKYyIiIioNqnSSFlWVpbKCFmRBw8eQKlUvnBRRERERLVNlUJZ586dsWXLFum5QqFAYWEhli9fji5dumisOCIiIqLaokqHL5cvXw5fX1+cPn0aeXl5mD17Ni5evIhHjx7h119/1XSNRERERDVelUbKWrZsifPnz6NDhw7w8/NDVlYWAgICcPbsWTRu3FjTNRIRERHVeJUeKcvPz0ePHj2wYcMGfPzxx9VRExEREVGtU+mRMn19fSQmJkKhUFRHPURERES1UpUOX44ZMwabN2/WdC1EREREtVaVTvTPy8vDl19+iQMHDsDT01PtNy9XrlypkeKIiIiIaotKhbI///wTzs7OSExMRNu2bQEAV69eVenDw5pERERElVepUObq6ork5GQcOXIEwLOfVfr0009ha2tbLcURERER1RaVOqdMCKHy/Mcff0RWVpZGCyIiIiKqjap0on+R4iGNiIiIiKqmUqFMoVConTPGc8iIiIiIXlylzikTQmDcuHHSj47n5OTgnXfeUbv6cteuXZqrkIiIiKgWqFQoGzt2rMrzUaNGabQYIiIiotqqUqEsMjKyuuogIiIiqtVe6ER/IiIiItIMhjIiIiIiGWAoIyIiIpIBrYay8PBwtG/fHqamprCxscGAAQNw5coVlT5CCISGhsLBwQFGRkbw9fXFxYsXVfrk5uZi2rRp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q6HM19cXQohSX1coFAgNDUVoaGipfQwNDbF27VqsXbu2GiokIiIiejlke04ZERERUW3CUEZEREQkAwxlRERERDLAUEZEREQkAwxlRERERDLAUEZEREQkAwxlRERERDLAUEZEREQkAwxlRERERDLAUEZEREQkAwxlRERERDLAUEZEREQkAwxlRERERDKgp+0CiIiIKuLy5cvaLqHaWFtbw8nJSdtlkJYxlBERkawVZKYBCgVGjRql7VKqjaGRMa78cZnBrJZjKCMiIlkrzM0EhICVfwj0rRy1XY7G5T9MwsO9K/DgwQOGslqOoYyIiF4J+laOUNo10XYZRNWGJ/oTERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEMMJQRERERyQBDGREREZEM6Gm7ACLSvjt37uDBgwfaLqNaXL58WdslEBFVCEMZUS13584dNGveAjnZT7RdChFRrcZQRlTLPXjwADnZT2DlHwJ9K0dtl6Nx2X+eRvovMdoug4ioXAxlRAQA0LdyhNKuibbL0Lj8h0naLoGIqEJ4oj8RERGRDDCUEREREckAQxkRERGRDDCUEREREckAQxkRERGRDDCUEREREckAQxkRERGRDDCUEREREckAQxkRERGRDDCUEREREckAQxkRERGRDDCUEREREckAQxkRERGRDOhpuwBN+fzzz7F8+XIkJyfDzc0Nq1evxptvvqntsoiIiCrk8uXL2i6h2lhbW8PJyUnbZchejQhlO3bsQHBwMD7//HO88cYb2LBhA3r16oVLly5xJyAiIlkryEwDFAqMGjVK26VUG0MjY1z54zL/JpejRoSylStXIjAwEBMnTgQArF69Gj/99BPWr1+P8PBwLVdHRERUusLcTEAIWPmHQN/KUdvlaFz+wyQ83LsCDx48YCgrxysfyvLy8hAfH4+5c+eqtPfo0QMnTpzQUlVERESVo2/lCKVdE22XQVr0yoeyBw8eoKCgALa2tirttra2SElJKXGa3Nxc5ObmSs/T09MBABkZ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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(maxload1, bins=range(1, max(maxload1) + 2), align='left', edgecolor='black')\n",
    "plt.xlabel('Maximum Number of Balls in a Bin')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title(f'Histogram of Maximum Balls in a Bin (n = {n}, Simulations = {num_simulations})')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "013abcb5",
   "metadata": {},
   "source": [
    "# Poisson simulation\n",
    "\n",
    "Here we simulate the same proces indirectly: using independent Poisson random variables, $Y_1, \\dots, Y_n$, using the notation from the class. \n",
    "\n",
    "Then we condition on $\\sum_i Y_i = n$. By theorem from class, the distribution of $\\vec Y | \\sum_i Y_i = n$ \n",
    "is the same, as in the exact model, that is the numbers $X_1, \\dots, X_n$ (list ```bins``` above). Thus, also the distribution of maxload (maximum of the $Y_i$s) is the same as the distribution of $\\max_i X_i$. \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "15b7ee75",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 4.1 s, sys: 1.16 s, total: 5.27 s\n",
      "Wall time: 5.26 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "pois2 = np.random.poisson(lam=1,size=n*num_simulations*100)\n",
    "y2 = np.resize(pois2,[n,num_simulations*100])\n",
    "m2 = np.where(np.sum(y2,0)==n, np.max(y2,0), 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "0002283c",
   "metadata": {},
   "outputs": [],
   "source": [
    "maxload2 = m2[m2!=0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "4b57e968",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAHFCAYAAACze45UAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABVr0lEQVR4nO3deVhU5f8//uewDYuACMKAIqDgkuCKkkuCC1KKa7nvYpqYSuKamWQKih+R0jI1A5Rc6p2Wb3tn7qaphbii5r6gQqQSm+zcvz/8cn4OAwgDOkd5Pq5rrsu5z33OeZ0zC0/vs4xCCCFARERERDqlp+sCiIiIiIihjIiIiEgWGMqIiIiIZIChjIiIiEgGGMqIiIiIZIChjIiIiEgGGMqIiIiIZIChjIiIiEgGGMqIiIiIZOCFhLLo6GgoFAqcPHmy1On+/v5wdnZWa3N2dsbYsWMrtZ5jx44hJCQE//77r3aF1kDbtm1D8+bNYWJiAoVCgTNnzpTa79ChQ1AoFFAoFIiOji61T7du3aBQKDRey+rm4+MDHx+f57qOF83Hx0favwqFAoaGhnB2dkZAQABu376t1TJv3bql8XoVfxZv3bpV5ZrHjh373F/ryhg7dqzaPtTX10f9+vUxePBgJCQkqPUtfj8fOnSoWmvIz89H06ZNsXTp0mpdbnW5e/cugoKC4O3tjdq1a5f7eQaAffv2oUOHDjA1NYWNjQ3Gjh2LlJQUjX75+fn45JNP4OzsDKVSiaZNm2LVqlWlLvPGjRsYOHAgateujVq1asHX1xenTp2q0nb98ccfGDBgABo0aAClUgk7Ozt06NABwcHBav10+d1RlffcxYsXERISUurnVm6fw+cpMjISAwcOhIuLCxQKRZmv5fbt2zFs2DC4urrCxMQEzs7OGDFiBK5evVru8rOzs9G4cWMoFAr83//9n9q0+Ph4TJkyBR4eHjA3N4ednR169OiBAwcOaCxn1KhR6N+/v3YbKV6AqKgoAUDExcWVOr13797CyclJre3UqVPi2rVrlVrP8uXLBQBx8+ZNLSutWVJSUoShoaHo06ePOHTokDh+/LjIysoqte/BgwcFAGFubi46d+6sMf3GjRtCoVAICwsLjdeyul24cEFcuHDhua7jRfP29hYNGzYUx48fF8ePHxeHDx8WX3zxhbC1tRWOjo5lvi7luXnzpgAgoqKipLbiz2J1fEauXbsmTp06VeXlVJcxY8YIExMTaR8eOXJEREVFiUaNGglzc3Nx9+5dqW9aWpo4fvy4SEtLq9YaIiMjha2trcjMzKzW5VaXgwcPChsbG9GjRw8xbNgwjffH0w4dOiQMDAxEv379xJ49e0RsbKyoV6+ecHd3Fzk5OWp9J0yYIJRKpQgPDxcHDx4Uc+fOFQqFQixZskStX0pKinBwcBDNmzcXP/zwg/j5559F586dhbm5ufjrr7+02qZdu3YJPT090a1bN7FlyxZx6NAhsWXLFhEcHCzq1aun1leX3x3F36EHDx6s9Lzff/99mfPK7XP4PDVp0kS0adNGjB8/XtStW1d4e3uX2q99+/aib9++4ptvvhGHDh0SmzZtEs2aNRO1atUSCQkJZS4/ODhYODg4CABi+fLlGtM8PT1FRESE2L9/v9i5c6fo1auXACBiYmLU+l67dk0YGBiI/fv3V3obZRvKtKHrUJaXlyfy8/N1sm5tHD16VAAQ27Zte2bf4i+UCRMmCADiypUratM/+ugjUb9+ffHWW28991D2KvL29hbNmzfXaN+wYYMAIH799ddKL/N5hzK5GTNmjDAzM9No379/vwAg1q5d+1zXn5+fL+rVqyfmzp37XNdTFYWFhdK/4+Liyg1l7dq1E6+99prad9rvv/8uAIgvv/xSaktISBAKhUKEhoaqzf/uu+8KExMT8fDhQ6lt1qxZwtDQUNy6dUtqS0tLEzY2NmLw4MFabVOXLl1Eo0aNSv3ufXp7de15hbKa5OnXs3nz5mWGsr///luj7d69e8LQ0FAEBASUOs8ff/whjIyMpH1dMpSVtsyCggLRokUL0ahRI41p/v7+wtfXt7zNKZVszykrefiyqKgIixcvRpMmTWBiYoLatWujRYsW+OyzzwAAISEhmDVrFgBIQ5tPDxUXFRUhPDwcTZs2hVKphK2tLUaPHo27d++qrVcIgdDQUDg5OcHY2Bienp7Yu3evxrB38VD0pk2bEBwcjHr16kGpVOLatWv4559/EBgYiNdeew21atWCra0tunXrhiNHjqitq/jw0vLly7Fs2TI4OzvDxMQEPj4+uHLlCvLz8zF37lw4ODjA0tISAwYMKPXQQWl27twpHXYwNzeHr68vjh8/Lk0fO3YsOnfuDAAYMmRIuUPBT/P19YWjoyO++eYbtdcmJiYGY8aMgZ6e5lvqiy++QJcuXWBrawszMzN4eHggPDwc+fn5Up+rV6/CwsICgwYNUpv3wIED0NfXx4IFC6S2kq9FdexHhUKBkJAQjdpLvg+LD/8dOHAA7777LqytrWFhYYHRo0cjKysLycnJGDx4MGrXrg17e3vMnDlTbTsry9LSEgBgaGgotV27dg3jxo2Dm5sbTE1NUa9ePfTp0wfnz5/Xah2nT5+Gv78/bG1toVQq4eDggN69e2t8Nkoq7bCJQqHA+++/j02bNqFZs2YwNTVFy5YtsWvXrmfWkZOTg+DgYLRq1QqWlpaoU6cOOnTogJ9++kmr7SpW2j4s7VDS2LFjUatWLVy7dg29evVCrVq14OjoiODgYOTm5j5zPTt37sS9e/cwatQotfaQkBAoFApcuHABw4YNg6WlJezs7DB+/HikpaVVadsqq7TPZ2nu3buHuLg4jBo1CgYGBlJ7x44d0bhxY+zYsUNq+/HHHyGEwLhx49SWMW7cOGRnZ2P37t1S244dO9CtWzc4OTlJbRYWFhg4cCD++9//oqCgoNLb9PDhQ9jY2KjVWazk9uryu6M0J0+exNChQ6X1Ojs7Y9iwYWqnLERHR0vfi127dtU4jaS0z2FOTg7mzZsHFxcXGBkZoV69epgyZYrGqT3Ozs7w9/fH7t270aZNG5iYmKBp06Zq3+8A8PjxY8ycORMuLi4wNjZGnTp14OnpiS1btpS7fdWtou9fW1tbjTYHBwfUr18fiYmJGtPy8vIwfvx4TJkyBZ6enhVepr6+Ptq2bVvqMkeNGoV9+/bh+vXrFaq5mOa7+DkqLCws9UMnhHjmvOHh4QgJCcFHH32ELl26ID8/H3/99Zf0JpswYQIePXqEVatWYfv27bC3twcAvPbaawCAyZMnY926dXj//ffh7++PW7duYcGCBTh06BBOnToFGxsbAMD8+fMRFhaGiRMnYuDAgUhMTMSECROQn5+Pxo0ba9Q1b948dOjQAV999RX09PRga2uLf/75BwCwcOFCqFQqZGZmYseOHfDx8cH+/fs1ws8XX3yBFi1a4IsvvsC///6L4OBg9OnTB15eXjA0NMQ333yD27dvY+bMmZgwYQJ27txZ7r7avHkzRowYgZ49e2LLli3Izc1FeHi4tP7OnTtjwYIFaN++PaZMmYLQ0FB07doVFhYWz3wd9PT0MHbsWGzYsAGLFy+Gvr4+9uzZg7t372LcuHGYPn26xjzXr1/H8OHDpS+Is2fPYsmSJfjrr7+kD7+bmxvWr1+PoUOH4vPPP8e0adOQnJyM4cOH44033ij1S6+k6t6P5ZkwYQIGDhyIrVu34vTp0/jwww9RUFCAy5cvY+DAgZg4cSL27duHZcuWwcHBATNmzKjQcos/H3l5eUhISMCiRYvQsGFDdOzYUepz//59WFtbY+nSpahbty4ePXqEmJgYeHl54fTp02jSpEmFtyMrKwu+vr5wcXHBF198ATs7OyQnJ+PgwYPIyMio3E75f37++WfExcVh0aJFqFWrFsLDwzFgwABcvnwZDRs2LHO+3NxcPHr0CDNnzkS9evWQl5eHffv2YeDAgYiKisLo0aMrtP7ifVhQUIBr165h1qxZsLKyQu/evZ85b35+Pvr27YuAgAAEBwfjt99+w6effgpLS0t8/PHHz9xuW1tb6TunpLfffhtDhgxBQEAAzp8/j3nz5gGAxh/AkoqKilBUVPTM2ovPo6sOxefgtWjRQmNaixYt8Pvvv6v1rVu3LlQqlUa/p5eVnZ2N69evY8CAAaUuMzs7Gzdu3Cj1e7Y8HTp0wNdff41p06ZhxIgRaNOmjVoAr4gX+d3xtFu3bqFJkyYYOnQo6tSpg6SkJKxZswbt2rXDxYsXYWNjg969eyM0NBQffvghvvjiC7Rp0wYA0KhRo1KXKYRA//79sX//fsybNw9vvPEGzp07h4ULF+L48eM4fvw4lEql1P/s2bMIDg7G3LlzYWdnh6+//hoBAQFwdXVFly5dAAAzZszApk2bsHjxYrRu3RpZWVlISEjAw4cPn7mNFQ3a+vr6UCgUFeqrjRs3buD27dulnuu1aNEiZGVl4dNPP5X+fldEQUEBjhw5gubNm2tM8/HxgRAC//vf/zB16tSKF1rpsTUtFB8yKe9R8pCXk5OTGDNmjPTc399ftGrVqtz1lHX48tKlSwKACAwMVGv/448/BADx4YcfCiGEePTokVAqlWLIkCFq/Y4fPy4AqA2VFg9Fd+nS5ZnbX1BQIPLz80X37t3FgAEDpPbiw0stW7ZUG5aNjIwUAETfvn3VlhMUFCQAlHseTGFhoXBwcBAeHh5qy8zIyBC2traiY8eOGtvw/fffP3Mbnu5bfP7Yrl27hBBCDBo0SPj4+Aghnn0ourCwUOTn54uNGzcKfX198ejRI7XpkydPFkZGRuL48eOiW7duwtbWVty/f1+tj7e3t9prUR37EYBYuHChRr0l34fF7+WpU6eq9evfv78AICIiItTaW7VqJdq0aVPm/nh6m0r7XDRu3FhcunSp3HkLCgpEXl6ecHNzEx988IHUXpHDlydPnhQAxI8//vjMGksaM2aMxmsNQNjZ2Yn09HSpLTk5Wejp6YmwsLBKLb/4cxMQECBat25doXpK24f29vbi6NGjan1LO5RUPP93332n1rdXr16iSZMmz1x/s2bNxJtvvqnRvnDhQgFAhIeHq7UHBgYKY2NjUVRUVO5yi+ev7Hfos5R3+PLbb78VAMTx48c1pk2cOFEYGRlJz319fcvcP0ZGRmLixIlCiCeHjwCU+j7YvHmzACCOHTtWqW0QQogHDx6Izp07S/vB0NBQdOzYUYSFhYmMjAy1vrr87qjI4cuCggKRmZkpzMzMxGeffSa1l3f4suTncPfu3aW+37Zt2yYAiHXr1qnVaGxsLG7fvi21ZWdnizp16ohJkyZJbe7u7qJ///5l1l2W4v1bkUdlD82Wd/iypPz8fOHj4yMsLCzEnTt31KadPn1aGBoait27d6vVXPLwZWnmz59f7vdnvXr1NPLEs7zQkbKNGzeiWbNmGu0ffPBBqcN/T2vfvj1+/vlnBAYGol+/fujQoUOFRnYA4ODBgwCgMZTcvn17NGvWDPv378eSJUtw4sQJ5ObmYvDgwWr9Xn/99TKvbnn77bdLbf/qq6+wbt06XLx4Ue3QR9OmTTX69urVS21YtngflfyffXH7nTt34O7uXup6L1++jPv37yMoKEhtmbVq1cLbb7+NtWvX4vHjxzA1NS11/opwcXGBj48PvvnmG7z++uv46aef8PXXX5fZ//Tp01i4cCF+//13PHr0SG3alStX4OXlJT1fuXIlTpw4ga5duyIvLw+7d++WRj2fpTr347P4+/trLPPHH38sdV179uyp0DIbNWqErVu3AnjyP7CbN29i2bJl6N69Ow4dOgQ3NzdpWnh4OGJjY3Ht2jW1w6OXLl2q1Ha4urrCysoKc+bMQVJSErp06VLmSE9Fde3aFebm5tJzOzs72NraVugq0u+//x6RkZE4e/YssrKypHZjY+MKrdvExAS//fYbgCcjTPfu3cNnn32GXr16Yffu3ejQoUO58ysUCvTp00etrUWLFqVeYVXS/fv30a5duzKn9+3bV2O5OTk5SElJgZ2dXZnzTZw4UeP9VpqnRz+qS1kjFyXbyxvhqErfirC2tsaRI0dw8uRJ7N+/HydPnsShQ4cwb948rF27FnFxcdKRkLK8yO+Op2VmZuLTTz/FDz/8gFu3bqGwsFCaVtnPcrHi92rJv3eDBg3C+PHjsX//frz77rtSe6tWrdCgQQPpubGxMRo3bqz2eW3fvj2+/fZbzJ07F2+++Sa8vLxgYmLyzFocHBwQFxdXoborM8JfGUIIBAQE4MiRI/jhhx/g6OgoTSsoKMD48eMxZMgQ+Pn5VWq5X3/9NZYsWYLg4GD069ev1D62tra4d+9epZb7QkNZs2bNSj1ea2lp+cxQNm/ePJiZmSE2NhZfffUV9PX10aVLFyxbtqzMY8DFiodYS/vj7uDgIL35ivuV9gVZ1pdmacuMiIhAcHAw3nvvPXz66aewsbGRzosq7YNWp04dtedGRkbltufk5JRay9PbUNa2FhUVITU1tUqhDAACAgIwbtw4REREwMTEBO+8806p/e7cuYM33ngDTZo0wWeffQZnZ2cYGxvjzz//xJQpU5Cdna3WX6lUYvjw4Zg1axbatGkDX1/fCtdUnfuxOtdV0fUUn8NY7PXXX4ePjw/q1auHjz/+WDp/Y8aMGfjiiy8wZ84ceHt7w8rKCnp6epgwYYLG/nwWS0tLHD58GEuWLMGHH36I1NRU2Nvb491338VHH31U6cNAwJM/kiUplcpn1rZ9+3YMHjwYgwYNwqxZs6BSqWBgYIA1a9Y88xBfMT09PY3vAz8/Pzg6OmLGjBlq51WWxtTUVCMAKpXKCr2G2dnZ5YbHkvulOEQ9a7+oVKpSz2cpqToP/RTXWtrhqUePHqm9z62trUu9lU5WVhby8vKkvlZWVlAoFGUuE9D8/FSGp6en9Nrn5+djzpw5WLlyJcLDwxEeHl7uvC/yu+Npw4cPx/79+7FgwQK0a9cOFhYWUCgU6NWrV6U/y8UePnwIAwMD1K1bV61doVBApVJp7P+KfF4///xz1K9fH9u2bcOyZctgbGwMPz8/LF++XPrPYmmMjIzQqlWrCtVdXYfenyaEwIQJExAbG4uYmBiN8BQZGYkbN27gu+++k06FSk9PB/DkNf73339hbm6uUVtUVBQmTZqEiRMnYvny5WWu39jYuNKvo2xP9C/JwMAAM2bMwKlTp/Do0SNs2bIFiYmJ8PPzw+PHj8udt/hNl5SUpDHt/v370v+iivv9/fffGv2Sk5NLXXZpX4SxsbHw8fHBmjVr0Lt3b3h5ecHT01Prc3Qq41nbqqenBysrqyqvZ+DAgTA1NcXSpUsxdOjQMv/X9OOPPyIrKwvbt2/HyJEj0blzZ3h6ekpfbiUlJCTg448/Rrt27XDq1ClERERUudaKUCqVpZ7MXZFzJp4ne3t72NjY4OzZs1JbbGwsRo8ejdDQUPj5+aF9+/bw9PTEgwcPtFqHh4cHtm7diocPH+LMmTMYMmQIFi1ahBUrVlTXZlRIbGwsXFxcsG3bNvTv3x+vv/46PD09K3SSfXlMTU3RqFEjtX34PNjY2GiMBFeHRYsWwdDQ8JmPss4x0kbxKFBpF4+cP39ebZTIw8MD//zzj8Z3ZPG8xX1NTEzg6upa5jJNTEzKPeewMgwNDbFw4UIA0LhHXXXT9rsjLS0Nu3btwuzZszF37lx0794d7dq1g4eHR5XeR9bW1igoKNA4N0oIgeTk5GeOGpbGzMwMn3zyCf766y8kJydjzZo1OHHihMaockm3bt2q0HvX0NAQhw8frnRd5SkOZFFRUfj6668xcuRIjT4JCQlIS0uDm5sbrKysYGVlhZYtWwIAFixYACsrK433a1RUFCZMmIAxY8bgq6++Kvc/Q48ePar0/n5pQtnTateujXfeeQdTpkzBo0ePpBvqlfU/z27dugF48qX/tLi4OFy6dAndu3cHAHh5eUGpVGLbtm1q/U6cOFGpG3gqFAqNQwnnzp175v/Sq0OTJk1Qr149bN68We0CiqysLPzwww/SFZlVZWJigo8//hh9+vTB5MmTy+xX/IZ9en8IIbB+/XqNvllZWRg0aBCcnZ1x8OBBvP/++5g7dy7++OOPKtf7LM7Ozjh37pxa24EDB5CZmfnc112eu3fv4sGDB2ojJaW9v37++edKD5OXpFAo0LJlS6xcuRK1a9eu8g09tVm/kZGR2pdccnJyla++zMzMxLVr1yo02lQVTZs2rfSVVhUxceJExMXFPfPx3//+t9rWWa9ePbRv3x6xsbFqh9ROnDghXcxSrF+/flAoFIiJiVFbRnR0NExMTPDmm29KbQMGDMCBAwfUjoxkZGRg+/bt6Nu3b6lXUD5Laf8BBf7/w38ODg6VXmZlaPvdoVAoIITQ+Cx//fXXavscqPioKgDp71nJv3c//PADsrKypOnasrOzw9ixYzFs2DBcvny53EGR4sOXFXm0bdu2SnU9TQiBd999F1FRUVi7dq3GlcHF5s6di4MHD6o9io9IvPfeezh48CBcXV2l/tHR0ZgwYQJGjhyJr7/+utxAVlBQgMTExEqfDvJCD19WRZ8+feDu7g5PT0/UrVsXt2/fRmRkJJycnKThUw8PDwDAZ599hjFjxsDQ0BBNmjRBkyZNMHHiRKxatQp6enp46623pKsvHR0d8cEHHwB4MlQ9Y8YMhIWFwcrKCgMGDMDdu3fxySefwN7evsKX4/r7++PTTz/FwoUL4e3tjcuXL2PRokVwcXHR6pLvytDT00N4eDhGjBgBf39/TJo0Cbm5uVi+fDn+/fffar3T+IwZM555VaGvry+MjIwwbNgwzJ49Gzk5OVizZg1SU1M1+r733nu4c+cO/vzzT5iZmWHFihU4fvw4hg4ditOnT6N27drVVntJo0aNwoIFC/Dxxx/D29sbFy9exOrVq6XbKbwI2dnZOHHiBIAnVyrfvHlTOuwSFBQk9fP390d0dDSaNm2KFi1aID4+HsuXL0f9+vUrvc5du3bhyy+/RP/+/dGwYUMIIbB9+3b8+++/lTp0XB38/f2xfft2BAYG4p133kFiYiI+/fRT2NvbP/NO3MWKioqkfVh8Ttnnn3+O1NTUCl3BWxU+Pj5YtGhRlc/ZLMnBwaFag8V//vMfAE+uRgOe3JahVq1aAKB2GsKyZcvg6+uLQYMGITAwECkpKZg7dy7c3d3V/sg1b94cAQEBWLhwIfT19dGuXTvs2bMH69atw+LFi9UOAc6cORObNm1C7969sWjRIiiVSixduhQ5OTkar8/YsWMRExODmzdvlnvHej8/P9SvXx99+vRB06ZNUVRUhDNnzmDFihWoVatWqVeEVydtvzssLCzQpUsXLF++HDY2NnB2dsbhw4exYcMGje+64tHGdevWwdzcHMbGxnBxcSn10KOvry/8/PwwZ84cpKeno1OnTtLVl61bt9a4ZUtFeHl5wd/fHy1atICVlRUuXbqETZs2PfM/+UZGRs88vagyTp48KQ3CpKenQwghvZ/btWsn3Wpl2rRp2LBhA8aPHw8PDw/pOwF4EnBbt24N4Ml/pEqe5128/EaNGqndKeH7779HQEAAWrVqhUmTJuHPP/9Um69169ZqAfvcuXN4/PgxunbtWrmNrNRlAVrS5uaxJa9cWbFihejYsaOwsbERRkZGokGDBiIgIEDtJoRCCDFv3jzh4OAg9PT01K7oKCwsFMuWLRONGzcWhoaGwsbGRowcOVIkJiaqzV9UVCQWL14s6tevL4yMjESLFi3Erl27RMuWLdWunCzvysXc3Fwxc+ZMUa9ePWFsbCzatGkjfvzxR42rZMq6yqOsZT9rPz7txx9/FF5eXsLY2FiYmZmJ7t27i99//71C6ylNRfuW9lr+97//FS1bthTGxsaiXr16YtasWeKXX35Re33Wr19f6pVg165dExYWFmpX/pR1BVVV9mNubq6YPXu2cHR0FCYmJsLb21ucOXOmzKsvS74GxVfI/fPPP2rtZd3QtKSSV1/q6ekJBwcH8dZbb4lDhw6p9U1NTRUBAQHC1tZWmJqais6dO4sjR46UuV/Ku/ryr7/+EsOGDRONGjUSJiYmwtLSUrRv315ER0c/s+ayrr6cMmWKRt+S+7EsS5cuFc7OzkKpVIpmzZqJ9evXS/u2IvU8vQ8BCFtbW+Ht7S127Nih1resqy9Le60quv5r164JhUKhcfVmWe8NXd3It+Q+evpR0p49e8Trr78ujI2NRZ06dcTo0aNLvYlmXl6eWLhwoWjQoIEwMjISjRs3Fp9//nmp67927Zro37+/sLCwEKampqJ79+4iPj5eo9/bb78tTExMRGpqarnbs23bNjF8+HDh5uYmatWqJQwNDUWDBg3EqFGjxMWLF9X66vK7o7T33N27d8Xbb78trKyshLm5uXjzzTdFQkJCqZ+XyMhI4eLiIvT19dU+16V9DrOzs8WcOXOEk5OTMDQ0FPb29mLy5Mka+9LJyUn07t1bY5+W3E9z584Vnp6ewsrKSiiVStGwYUPxwQcfiAcPHmjM+zyVdYV1ye85Jycnra9SLus9Ud66S/scL1iwQNjY2Gj8+sWzKISowE3CaribN2+iadOmWLhwIT788ENdl0NEMtWnTx8UFBTgl19+0XUpLz2VSoVRo0aVeyI1kRwVFhbC1dUVw4cPx5IlSyo1L0NZCWfPnsWWLVvQsWNHWFhY4PLlywgPD0d6ejoSEhLKvXSdiGq2hIQEtG7dGseOHSv39hhUvgsXLqBDhw64ceOGViemE+lSTEwMZs6ciatXr1b6tJuX5pyyF8XMzAwnT57Ehg0b8O+//8LS0hI+Pj5YsmQJAxkRlcvd3R1RUVFlXq1NFdO8eXPp1gREL5uioiJ8++23Wp0HzZEyIiIiIhl4KW+JQURERPSqYSgjIiIikgGGMiIiIiIZ4In+eHJS3v3792Fubl6tvx9HREREz48QAhkZGXBwcKjwDd7ljKEMT34T8ulfjiciIqKXR2Jiola/aiI3DGUAzM3NATx5US0sLHRcDREREVVEeno6HB0dpb/jLzuGMvz/P5ptYWHBUEZERPSSeVVOPXr5D8ASERERvQIYyoiIiIhkgKGMiIiISAYYyoiIiIhkgKGMiIiISAYYyoiIiIhkgKGMiIiISAYYyoiIiIhkgKGMiIiISAYYyoiIiIhkgKGMiIiISAYYyoiIiIhkgKGMiIiISAYYyoiIiIhkwEDXBRBRzXbnzh08ePBA12VUmY2NDRo0aKDrMojoJcZQRkQ6c+fOHTRp2gw52Y91XUqVGZuY4vJflxjMiEhrDGVEpDMPHjxATvZjWPsHw9DaUdflaC3/YSIe7lqBBw8eMJQRkdYYyohI5wytHaFUueq6DCIineKJ/kREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQyoPNQdu/ePYwcORLW1tYwNTVFq1atEB8fL00XQiAkJAQODg4wMTGBj48PLly4oLaM3NxcTJ06FTY2NjAzM0Pfvn1x9+7dF70pRERERFrTaShLTU1Fp06dYGhoiF9++QUXL17EihUrULt2balPeHg4IiIisHr1asTFxUGlUsHX1xcZGRlSn6CgIOzYsQNbt27F0aNHkZmZCX9/fxQWFupgq4iIiIgqz0CXK1+2bBkcHR0RFRUltTk7O0v/FkIgMjIS8+fPx8CBAwEAMTExsLOzw+bNmzFp0iSkpaVhw4YN2LRpE3r06AEAiI2NhaOjI/bt2wc/P78Xuk1ERERE2tDpSNnOnTvh6emJQYMGwdbWFq1bt8b69eul6Tdv3kRycjJ69uwptSmVSnh7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0HUBRESvikuXLum6hCqzsbFBgwYNdF0GUY3EUEZEVEWFmamAQoGRI0fqupQqMzYxxeW/LjGYEekAQxkRURUV5WYCQsDaPxiG1o66Lkdr+Q8T8XDXCjx48IChjEgHGMqIiKqJobUjlCpXXZdBRC8pnuhPREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQyIJtQFhYWBoVCgaCgIKlNCIGQkBA4ODjAxMQEPj4+uHDhgtp8ubm5mDp1KmxsbGBmZoa+ffvi7t27L7h6IiIioqrRKpTdvHmzWouIi4vDunXr0KJFC7X28PBwREREYPXq1YiLi4NKpYKvry8yMjKkPkFBQdixYwe2bt2Ko0ePIjMzE/7+/igsLKzWGomIiIieJ61CmaurK7p27YrY2Fjk5ORUqYDMzEyMGDEC69evh5WVldQuhEBkZCTmz5+PgQMHwt3dHTExMXj8+DE2b94MAEhLS8OGDRuwYsUK9OjRA61bt0ZsbCzOnz+Pffv2VakuIiIiohdJq1B29uxZtG7dGsHBwVCpVJg0aRL+/PNPrQqYMmUKevfujR49eqi137x5E8nJyejZs6fUplQq4e3tjWPHjgEA4uPjkZ+fr9bHwcEB7u7uUp/S5ObmIj09Xe1BREREpEtahTJ3d3dERETg3r17iIqKQnJyMjp37ozmzZsjIiIC//zzT4WWs3XrVpw6dQphYWEa05KTkwEAdnZ2au12dnbStOTkZBgZGamNsJXsU5qwsDBYWlpKD0dHxwrVS0RERPS8VOlEfwMDAwwYMADfffcdli1bhuvXr2PmzJmoX78+Ro8ejaSkpDLnTUxMxPTp0xEbGwtjY+My+ykUCrXnQgiNtpKe1WfevHlIS0uTHomJieUuj4iIiOh5q1IoO3nyJAIDA2Fvb4+IiAjMnDkT169fx4EDB3Dv3j3069evzHnj4+ORkpKCtm3bwsDAAAYGBjh8+DA+//xzGBgYSCNkJUe8UlJSpGkqlQp5eXlITU0ts09plEolLCws1B5EREREuqRVKIuIiICHhwc6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qAhNmjSpdK0V5erqih9++AHHjh2DlZUVIiIikJycXKHQmpKSgpycHOTm5uLPP//Epk2byr1alKgm4EgZURksLCxgYWFR6jQ9PT1s3boV8fHxcHd3xwcffIDly5er9Zk+fTrMzMwQGhoKAGjevDmWLVuG9957D/fu3au2Ov38/LBgwQLMnj0b7dq1Q0ZGBkaPHl1ty3+WZcuWIScn54XWtHTpUkyfPh1t27ZFUlISdu7cKY2CtWjRAocPH8bVq1fxxhtvoHXr1liwYAHs7e21Ws/bb7+NUaNGoU2bNrh27Rp+/fVXWFlZVXpZ69evh729Pezt7dG1a1f8888/+N///ieFpvfeew8DBw7EkCFD4OXlhYcPHyIwMLDCy69duza2b9+Obt26oVmzZvjqq6+wZcsWNG/evNK1VtSCBQvQpk0b+Pn5wcfHByqVqsK/atCkSRPY29vD1dUVc+bMwaRJkyoVmoleRQpR8sQPIiIiInrhOFJGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQywFBGREREJAMMZUREREQy8P8BmqZ27551UocAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(maxload2, bins=range(1, np.max(maxload2) + 2), align='left', edgecolor='black')\n",
    "plt.xlabel('Maximum Number of Balls in a Bin')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title(f'Histogram of Maximum Balls in a Bin (n = {n}, Simulations = {np.size(maxload2)})')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5e64dd5d",
   "metadata": {},
   "source": [
    "The restriction to the simulations with the proper sum means, we only keep those, where \n",
    "$\\sum_i Y_i = n$, which happens with probability $P(Pois(1000) = 1000) \\doteq 0.012$.\n",
    "For simplicity we keep all simulations, so we have a bit more that 1000. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "8dad429d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.01242"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.size(maxload2)/(num_simulations*100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "5e233049",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.01261461134870819"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "poisson.pmf(mu=1000,k=1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09be3056",
   "metadata": {},
   "source": [
    "# Poisson approximation\n",
    "\n",
    "Finally, we do the real approximation: we ignore the conditioning on the proper sum and analyze just the independent Poisson random variables. In the theoretical approach this means easier calculations. In the practical approach a faster time to generate, as we don't throw away the cases with \"incorrect number of balls\". "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "214d6122",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 63.3 ms, sys: 4.53 ms, total: 67.8 ms\n",
      "Wall time: 66.2 ms\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "pois3 = np.random.poisson(lam=1,size=n*num_simulations)\n",
    "y3 = np.resize(pois3,[n,num_simulations])\n",
    "maxload3 = np.max(y3,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "bd6625dc",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmUAAAHFCAYAAACze45UAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABRYUlEQVR4nO3dfXzO9f////ux8xPbzNY2Y1g5zShnicScF5OT3hQ5VylSC4lKJIb5OulUkTciJ/WO3r2938m5Er0bIiQh521vYc3ZbLM9f3/02/Fx2MbOOF7sdr1cjsvF8Xw9j9fr8Xodr+PY3fN1ctiMMUYAAABwKhdnFwAAAABCGQAAgCUQygAAACyAUAYAAGABhDIAAAALIJQBAABYAKEMAADAAghlAAAAFkAoAwAAsICbEsrmzZsnm82mrVu35jo9JiZGlSpVcmirVKmS+vbtW6DlbN68WWPHjtWff/5ZuEJLoKVLl6pmzZry9vaWzWbTjh07cu23YcMG2Ww22Ww2zZs3L9c+LVq0kM1my/FeFrfo6GhFR0ff0GXcbNHR0fbta7PZ5O7urkqVKmnAgAE6cuRIoeZ5+PDhHO9X9mfx8OHDRa65b9++N/y9Loi+ffs6bENXV1eVL19e3bp10+7dux36Zu/PGzZsKNYaMjIyVL16dU2aNKlY51tcjh8/rtjYWDVr1kylS5e+5udZktasWaNGjRrJx8dHwcHB6tu3r06ePJmjX0ZGht544w1VqlRJnp6eql69ut55551c5/nbb7+pS5cuKl26tEqVKqXWrVtr+/btRVqv//73v+rcubMqVKggT09PhYaGqlGjRho2bJhDP2d+dxRln/v55581duzYXD+3Vvsc3kgzZsxQly5dFBkZKZvNds338uTJk+rbt6+Cg4Pl4+OjRo0aae3atbn2Le79vFevXurUqVPhVtLcBHPnzjWSTEJCQq7T27dvbypWrOjQtn37dnPgwIECLWfKlClGkjl06FAhKy1ZTp48adzd3U2HDh3Mhg0bzJYtW8yFCxdy7bt+/Xojyfj5+ZkmTZrkmP7bb78Zm81m/P39c7yXxW3Pnj1mz549N3QZN1uzZs3MnXfeabZs2WK2bNliNm7caN577z0TEhJiIiIi8nxfruXQoUNGkpk7d669LfuzWByfkQMHDpjt27cXeT7FpU+fPsbb29u+Db/99lszd+5cc9dddxk/Pz9z/Phxe9+UlBSzZcsWk5KSUqw1zJgxw4SEhJjz588X63yLy/r1601wcLBp1aqV6d69e47940obNmwwbm5upmPHjmbVqlVm4cKFply5ciYqKspcunTJoe+TTz5pPD09TXx8vFm/fr0ZOXKksdlsZsKECQ79Tp48acLDw03NmjXN559/bv7973+bJk2aGD8/P/PLL78Uap1WrFhhXFxcTIsWLczixYvNhg0bzOLFi82wYcNMuXLlHPo687sj+zt0/fr1BX7tZ599ludrrfY5vJGqVatm6tata/r372/uuOMO06xZs1z7Xbp0yURFRZny5cubhQsXmlWrVpmOHTsaNzc3s2HDBoe+N2I/P3DggHFzczNr164t8DpaNpQVhrNDWXp6usnIyHDKsgtj06ZNRpJZunTpdftmf6E8+eSTRpL59ddfHaa/9tprpnz58ubhhx++4aHsdtSsWTNTs2bNHO1z5swxkszXX39d4Hne6FBmNX369DG+vr452teuXWskmQ8//PCGLj8jI8OUK1fOjBw58oYupygyMzPt/05ISLhmKGvQoIG5++67Hb7TvvvuOyPJvP/++/a23bt3G5vNZuLi4hxe/9RTTxlvb29z+vRpe9tLL71k3N3dzeHDh+1tKSkpJjg42HTr1q1Q69S0aVNz11135frde+X6OtuNCmUlyZXvZ82aNfMMZe+9956RZDZv3mxvy8jIMHfffbe57777HPreiP3cGGNiYmJM69atC7yOlj2n7OrDl1lZWRo/fryqVasmb29vlS5dWrVr19Zbb70lSRo7dqxeeuklSbIPbV45VJyVlaX4+HhVr15dnp6eCgkJUe/evXX8+HGH5RpjFBcXp4oVK8rLy0v169fX6tWrcwx7Zw9FL1iwQMOGDVO5cuXk6empAwcO6I8//tCgQYN09913q1SpUgoJCVGLFi307bffOiwr+/DSlClTNHnyZFWqVEne3t6Kjo7Wr7/+qoyMDI0cOVLh4eEKCAhQ586dcx1Szc2XX35pH4718/NT69attWXLFvv0vn37qkmTJpKkxx577LpDwdlat26tiIgI/f3vf3d4b+bPn68+ffrIxSXnLvXee++padOmCgkJka+vr2rVqqX4+HhlZGTY++zfv1/+/v7q2rWrw2vXrVsnV1dXjR492t529XtRHNvRZrNp7NixOWq/ej/MPvy3bt06PfXUUwoKCpK/v7969+6tCxcuKCkpSd26dVPp0qVVtmxZDR8+3GE9CyogIECS5O7ubm87cOCA+vXrpypVqsjHx0flypVThw4dtGvXrkIt48cff1RMTIxCQkLk6emp8PBwtW/fPsdn42q5HTax2Wx67rnntGDBAtWoUUM+Pj665557tGLFiuvWcenSJQ0bNkz33nuvAgICVKZMGTVq1Ej//Oc/C7Ve2XLbhrkdSurbt69KlSqlAwcOqF27dipVqpQiIiI0bNgwpaWlXXc5X375pU6cOKFevXo5tI8dO1Y2m0179uxR9+7dFRAQoNDQUPXv318pKSlFWreCyu3zmZsTJ04oISFBvXr1kpubm729cePGqlq1qpYvX25v++KLL2SMUb9+/Rzm0a9fP6WmpmrlypX2tuXLl6tFixaqWLGivc3f319dunTRv/71L12+fLnA63T69GkFBwc71Jnt6vV15ndHbrZu3arHH3/cvtxKlSqpe/fuDqcszJs3z/692Lx58xynkeT2Obx06ZJGjRqlyMhIeXh4qFy5cho8eHCOU3sqVaqkmJgYrVy5UnXr1pW3t7eqV6/u8P0uSRcvXtTw4cMVGRkpLy8vlSlTRvXr19fixYuvuX7FLb/77/Lly1WtWjU1atTI3ubm5qaePXvqhx9+0IkTJyTduP1c+usQ5po1a3Tw4MECrWPOvfgGyszMzPVDZ4y57mvj4+M1duxYvfbaa2ratKkyMjL0yy+/2HeyJ598UmfOnNE777yjZcuWqWzZspKku+++W5L07LPPatasWXruuecUExOjw4cPa/To0dqwYYO2b9+u4OBgSdKrr76qiRMn6umnn1aXLl107NgxPfnkk8rIyFDVqlVz1DVq1Cg1atRIH3zwgVxcXBQSEqI//vhDkjRmzBiFhYXp/PnzWr58uaKjo7V27doc4ee9995T7dq19d577+nPP//UsGHD1KFDBzVs2FDu7u76+9//riNHjmj48OF68skn9eWXX15zWy1atEhPPPGE2rRpo8WLFystLU3x8fH25Tdp0kSjR4/Wfffdp8GDBysuLk7NmzeXv7//dd8HFxcX9e3bV3PmzNH48ePl6uqqVatW6fjx4+rXr59eeOGFHK85ePCgevToYf+C2LlzpyZMmKBffvnF/uGvUqWKZs+erccff1xvv/22nn/+eSUlJalHjx568MEHc/3Su1pxb8drefLJJ9WlSxctWbJEP/74o1555RVdvnxZ+/btU5cuXfT0009rzZo1mjx5ssLDwzV06NB8zTf785Genq7du3dr3LhxuvPOO9W4cWN7n99//11BQUGaNGmS7rjjDp05c0bz589Xw4YN9eOPP6patWr5Xo8LFy6odevWioyM1HvvvafQ0FAlJSVp/fr1OnfuXME2yv/v3//+txISEjRu3DiVKlVK8fHx6ty5s/bt26c777wzz9elpaXpzJkzGj58uMqVK6f09HStWbNGXbp00dy5c9W7d+98LT97G16+fFkHDhzQSy+9pMDAQLVv3/66r83IyNAjjzyiAQMGaNiwYfrmm2/05ptvKiAgQK+//vp11zskJMT+nXO1Rx99VI899pgGDBigXbt2adSoUZKU4w/g1bKyspSVlXXd2rPPoysO2efg1a5dO8e02rVr67vvvnPoe8cddygsLCxHvyvnlZqaqoMHD6pz5865zjM1NVW//fZbrt+z19KoUSN99NFHev755/XEE0+obt26DgE8P27md8eVDh8+rGrVqunxxx9XmTJllJiYqJkzZ6pBgwb6+eefFRwcrPbt2ysuLk6vvPKK3nvvPdWtW1eSdNddd+U6T2OMOnXqpLVr12rUqFF68MEH9dNPP2nMmDHasmWLtmzZIk9PT3v/nTt3atiwYRo5cqRCQ0P10UcfacCAAapcubKaNm0qSRo6dKgWLFig8ePHq06dOrpw4YJ2796t06dPX3cd8xu0XV1dZbPZ8tX3enbv3q0HH3wwR3v2Prlnzx6VK1fuhuzn2aKjo2WM0X/+8x8NGTIk/8UXeGytELIPmVzrcfUhr4oVK5o+ffrYn8fExJh77733msvJ6/Dl3r17jSQzaNAgh/b//ve/RpJ55ZVXjDHGnDlzxnh6eprHHnvMod+WLVuMJIeh0uyh6KZNm153/S9fvmwyMjJMy5YtTefOne3t2YeX7rnnHodh2RkzZhhJ5pFHHnGYT2xsrJF0zfNgMjMzTXh4uKlVq5bDPM+dO2dCQkJM48aNc6zDZ599dt11uLJv9vljK1asMMYY07VrVxMdHW2Muf6h6MzMTJORkWE+/vhj4+rqas6cOeMw/dlnnzUeHh5my5YtpkWLFiYkJMT8/vvvDn2aNWvm8F4Ux3aUZMaMGZOj3qv3w+x9eciQIQ79OnXqZCSZadOmObTfe++9pm7dunlujyvXKbfPRdWqVc3evXuv+drLly+b9PR0U6VKFfPiiy/a2/Nz+HLr1q1Gkvniiy+uW+PV+vTpk+O9lmRCQ0PN2bNn7W1JSUnGxcXFTJw4sUDzz/7cDBgwwNSpUydf9eS2DcuWLWs2bdrk0De3Q0nZr//0008d+rZr185Uq1btusuvUaOGeeihh3K0jxkzxkgy8fHxDu2DBg0yXl5eJisr65rzzX59Qb9Dr+dahy8/+eQTI8ls2bIlx7Snn37aeHh42J+3bt06z+3j4eFhnn76aWOMMSdOnDCSct0PFi1alONwU36dOnXKNGnSxL4d3N3dTePGjc3EiRPNuXPnHPo687sjP4cvL1++bM6fP298fX3NW2+9ZW+/1uHLqz+HK1euzHV/W7p0qZFkZs2a5VCjl5eXOXLkiL0tNTXVlClTxgwcONDeFhUVZTp16pRn3XnJ3r75eRT00Oy1Dl+6u7s71J9t8+bNRpJZtGiRMebG7OdXKleuXI48cT03daTs448/Vo0aNXK0v/jiizp27Ng1X3vffffp3//+twYNGqSOHTuqUaNG+RrZkaT169dLUo6h5Pvuu081atTQ2rVrNWHCBH3//fdKS0tTt27dHPrdf//9eV7d8uijj+ba/sEHH2jWrFn6+eefHQ59VK9ePUffdu3aOQzLZm+jq/9nn91+9OhRRUVF5brcffv26ffff1dsbKzDPEuVKqVHH31UH374oS5evCgfH59cX58fkZGRio6O1t///nfdf//9+uc//6mPPvooz/4//vijxowZo++++05nzpxxmPbrr7+qYcOG9ufTp0/X999/r+bNmys9PV0rV660j3peT3Fux+uJiYnJMc8vvvgi12WtWrUqX/O86667tGTJEkl//e/y0KFDmjx5slq2bKkNGzaoSpUq9mnx8fFauHChDhw44HB4dO/evQVaj8qVKyswMFAvv/yyEhMT1bRp0zxHevKrefPm8vPzsz8PDQ1VSEhIvq4i/eyzzzRjxgzt3LlTFy5csLd7eXnla9ne3t765ptvJP01wnTixAm99dZbateunVauXOlwOCM3NptNHTp0cGirXbu21q1bd91l//7772rQoEGe0x955JEc87106ZJOnjyp0NDQPF/39NNP59jfcnPl6EdxyWvk4ur2a41wFKVvfgQFBenbb7/V1q1btXbtWm3dulUbNmzQqFGj9OGHHyohIcF+JCQvN/O740rnz5/Xm2++qc8//1yHDx9WZmamfVpBP8vZsvfVq//ede3aVf3799fatWv11FNP2dvvvfdeVahQwf7cy8tLVatWdfi83nffffrkk080cuRIPfTQQ2rYsKG8vb2vW0t4eLgSEhLyVXdBRvjzozj2yaLuuyEhIfZDpfl1U0NZjRo1VL9+/RztAQEB1w1lo0aNkq+vrxYuXKgPPvhArq6uatq0qSZPnpzrPK+UPcSa2x/38PBw+86X3S+3L8i8vjRzm+e0adM0bNgwPfPMM3rzzTcVHBxsPy8qtw9amTJlHJ57eHhcs/3SpUu51nLlOuS1rllZWUpOTi5SKJOkAQMGqF+/fpo2bZq8vb31t7/9Ldd+R48e1YMPPqhq1arprbfeUqVKleTl5aUffvhBgwcPVmpqqkN/T09P9ejRQy+99JLq1q2r1q1b57um4tyOxbms/C4n+xzGbPfff7+io6NVrlw5vf766/bzN4YOHar33ntPL7/8spo1a6bAwEC5uLjoySefzLE9rycgIEAbN27UhAkT9Morryg5OVlly5bVU089pddee63Ah4Gkv/5IXs3T0/O6tS1btkzdunVT165d9dJLLyksLExubm6aOXPmdQ/xZXNxccnxfdC2bVtFRERo6NChDudV5sbHxydHAPT09MzXe5iamnrN8Hj1dskOUdfbLmFhYQoJCbnu8ovr0I/0f7XmdnjqzJkzDvt5UFBQrrfSuXDhgtLT0+19AwMDZbPZ8pynlPPzUxD169e3v/cZGRl6+eWXNX36dMXHxys+Pv6ar72Z3x1X6tGjh9auXavRo0erQYMG8vf3l81mU7t27Qr8Wc52+vRpubm56Y477nBot9lsCgsLy7H98/N5ffvtt1W+fHktXbpUkydPlpeXl9q2baspU6bY/7OYGw8PD9177735qru4Dr1Lf61TfvazG7GfX8nLy6vA76NlT/S/mpubm4YOHart27frzJkzWrx4sY4dO6a2bdvq4sWL13xt9oZPTEzMMe3333+3/y8qu9///ve/HP2SkpJynXduX4QLFy5UdHS0Zs6cqfbt26thw4aqX79+oc/RKYjrrauLi4sCAwOLvJwuXbrIx8dHkyZN0uOPP57n/5q++OILXbhwQcuWLVPPnj3VpEkT1a9f3/7ldrXdu3fr9ddfV4MGDbR9+3ZNmzatyLXmh6enZ64nc+fnnIkbqWzZsgoODtbOnTvtbQsXLlTv3r0VFxentm3b6r777lP9+vV16tSpQi2jVq1aWrJkiU6fPq0dO3boscce07hx4zR16tTiWo18WbhwoSIjI7V06VJ16tRJ999/v+rXr5+vk+yvxcfHR3fddZfDNrwRgoODc4wEF4dx48bJ3d39uo+8zjEqjOxRoNwuHtm1a5fDKFGtWrX0xx9/5PiOzH5tdl9vb29Vrlw5z3l6e3tf85zDgnB3d9eYMWMk5TzXp7gV9rsjJSVFK1as0IgRIzRy5Ei1bNlSDRo0UK1atYq0HwUFBeny5cv2c5uzGWOUlJR03VHD3Pj6+uqNN97QL7/8oqSkJM2cOVPff/99jlHlqx0+fDhf+667u7s2btxY4LryUqtWrTz3M+n/9skbsZ9f6cyZMwXe3rdMKLtS6dKl9be//U2DBw/WmTNn7DfUy+t/ni1atJD015f+lRISErR37161bNlSktSwYUN5enpq6dKlDv2+//77At3A02az5TiU8NNPP133f+nFoVq1aipXrpwWLVrkcAHFhQsX9Pnnn9uvyCwqb29vvf766+rQoYOeffbZPPtlh9Yrt4cxRrNnz87R98KFC+ratasqVaqk9evX67nnntPIkSP13//+t8j1Xk+lSpX0008/ObStW7dO58+fv+HLvpbjx4/r1KlTDiMlue1f//73vws8TH41m82me+65R9OnT1fp0qWLfEPPwizfw8PD4T86SUlJRb768vz58zpw4EC+RpuKonr16gW+0io/nn76aSUkJFz38a9//avYllmuXDndd999WrhwocMhte+//95+MUu2jh07ymazaf78+Q7zmDdvnry9vfXQQw/Z2zp37qx169Y5HBk5d+6cli1bpkceeSTXKyivJ7f/gEr/d/gvPDy8wPMsiMJ+d9hsNhljcnyWP/roI4dtLuV/VFWS/e/Z1X/vPv/8c124cME+vbBCQ0PVt29fde/eXfv27bvmoEj24cv8POrVq1ekuq7UuXNn/fLLLw5/Oy5fvqyFCxeqYcOG9n3iRu3n2cs7duxYgU8HuamHL4uiQ4cOioqKUv369XXHHXfoyJEjmjFjhipWrGgfPq1Vq5Yk6a233lKfPn3k7u6uatWqqVq1anr66af1zjvvyMXF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d9sYU6zzdZZbPpRls9lsDs+NMTnask2cOFFvvPFGjvbi3lmAGy3563edXUKxYD2shfVAcUu7lKqoqKgbNv9z584pICDghs3/ZrnlQ1lwcLBcXV1zjEadPHkyx+hZtlGjRmno0KH251lZWTpz5oyCgoLyDHK48c6ePauIiAgdO3ZM/v7+zi6nxOP9sBbeD2vh/bAGY4zOnTun8PBwZ5dSLG75UObh4aF69epp9erV6ty5s7199erV6tixY66v8fT0lKenp0Nb6dKlb2SZKAB/f3++5CyE98NaeD+shffD+W6HEbJst3wok6ShQ4eqV69eql+/vho1aqRZs2bp6NGjeuaZZ5xdGgAAQL7cFqHsscce0+nTpzVu3DglJiYqKipK//nPf1SxYkVnlwYAAJAvt0Uok6RBgwZp0KBBzi4DReDp6akxY8bkOLQM5+D9sBbeD2vh/cCNYDO3y3WkAAAAt7Db4o7+AAAAtzpCGQAAgAUQygAAACyAUAYAAGABhDI41cSJE9WgQQP5+fkpJCREnTp1sv+uI5xv4sSJstlsio2NdXYpJdqJEyfUs2dPBQUFycfHR/fee6+2bdvm7LJKpMuXL+u1115TZGSkvL29deedd2rcuHG3/O/pwhpum1ti4Na0ceNGDR48WA0aNNDly5f16quvqk2bNvr555/l6+vr7PJKtISEBM2aNUu1a9d2diklWnJysh544AE1b95cX331lUJCQnTw4EF+hcRJJk+erA8++EDz589XzZo1tXXrVvXr108BAQF64YUXnF0ebnHcEgOW8scffygkJEQbN25U06ZNnV1OiXX+/HnVrVtX77//vsaPH697771XM2bMcHZZJdLIkSP13Xff6dtvv3V2KZAUExOj0NBQzZkzx9726KOPysfHRwsWLHBiZbgdcPgSlpKSkiJJKlOmjJMrKdkGDx6s9u3bq1WrVs4upcT78ssvVb9+fXXt2lUhISGqU6eOZs+e7eyySqwmTZpo7dq1+vXXXyVJO3fu1KZNm9SuXTsnV4bbAYcvYRnGGA0dOlRNmjRRVFSUs8spsZYsWaLt27crISHB2aVA0m+//aaZM2dq6NCheuWVV/TDDz/o+eefl6enp3r37u3s8kqcl19+WSkpKapevbpcXV2VmZmpCRMmqHv37s4uDbcBQhks47nnntNPP/2kTZs2ObuUEuvYsWN64YUXtGrVKnl5eTm7HEjKyspS/fr1FRcXJ0mqU6eO9uzZo5kzZxLKnGDp0qVauHChFi1apJo1a2rHjh2KjY1VeHi4+vTp4+zycIsjlMEShgwZoi+//FLffPONypcv7+xySqxt27bp5MmTqlevnr0tMzNT33zzjd59912lpaXJ1dXViRWWPGXLltXdd9/t0FajRg19/vnnTqqoZHvppZc0cuRIPf7445KkWrVq6ciRI5o4cSKhDEVGKINTGWM0ZMgQLV++XBs2bFBkZKSzSyrRWrZsqV27djm09evXT9WrV9fLL79MIHOCBx54IMdtYn799VdVrFjRSRWVbBcvXpSLi+Pp2K6urtwSA8WCUAanGjx4sBYtWqR//vOf8vPzU1JSkiQpICBA3t7eTq6u5PHz88txPp+vr6+CgoI4z89JXnzxRTVu3FhxcXHq1q2bfvjhB82aNUuzZs1ydmklUocOHTRhwgRVqFBBNWvW1I8//qhp06apf//+zi4NtwFuiQGnstlsubbPnTtXffv2vbnFIFfR0dHcEsPJVqxYoVGjRmn//v2KjIzU0KFD9dRTTzm7rBLp3LlzGj16tJYvX66TJ08qPDxc3bt31+uvvy4PDw9nl4dbHKEMAADAArhPGQAAgAUQygAAACyAUAYAAGABhDIAAAALIJQBAABYAKEMAADAAghlAAAAFkAoA5yoUqVK3JS1ADZs2CCbzaY///zT2aXYfffdd6pVq5bc3d3VqVOnG7qsvn37OiwjOjpasbGxhZrXvHnzVLp06WKp60YoyroBtypCGfD/69u3r2w2m5555pkc0wYNGiSbzVbsvzKQkJCgp59+uljneSNFR0fLZrNpyZIlDu0zZsxQpUqVnFOUkw0dOlT33nuvDh06pHnz5uXaJ3u72Ww2ubi4KDQ0VF27dtWRI0dubrFXeOyxx/Trr7/e9OVmB+vsh7e3t2rWrJnjZ6OWLVumN99886bXBzgToQy4QkREhJYsWaLU1FR726VLl7R48WJVqFCh2Jd3xx13yMfHp9jneyN5eXnptddeU0ZGhrNLKTbp6emFfu3BgwfVokULlS9f/pojT0899ZQSExN14sQJ/fOf/9SxY8fUs2fPQi+3qLy9vRUSEuK05e/bt0+JiYn6+eefNXDgQD377LNau3atfXqZMmXk5+fntPoAZyCUAVeoW7euKlSooGXLltnbli1bpoiICNWpU8eh78qVK9WkSROVLl1aQUFBiomJ0cGDB+3TP/74Y5UqVUr79++3tw0ZMkRVq1bVhQsXJOU8fGmz2fThhx8qJiZGPj4+qlGjhrZs2aIDBw4oOjpavr6+atSokcNyrj6kJUmxsbGKjo62P4+OjtaQIUMUGxurwMBAhYaGatasWbpw4YL69esnPz8/3XXXXfrqq6+uu426d++ulJQUzZ49O88+N7qm7777Tvfcc4+8vLzUsGFD7dq1y2H65s2b1bRpU3l7eysiIkLPP/+8fZtLf2338ePHq2/fvgoICMjzdyTT0tL0/PPPKyQkRF5eXmrSpIkSEhIkSYcPH5bNZtPp06fVv39/2Wy2PEfKJMnHx0dhYWEqW7as7r//fg0ePFjbt2+3T8/MzNSAAQMUGRkpb29vVatWTW+99Vae88vN+++/rypVqsjLy0uhoaH629/+lmffqw9fjh07Vvfee68WLFigSpUqKSAgQI8//rjOnTuX5zxOnz6t7t27q3z58vLx8VGtWrW0ePHifNUaEhKisLAwRUZG6vnnn1elSpUctsfVhy8rVaqkuLg49e/fX35+fqpQoQI/yo7bDqEMuEq/fv00d+5c+/O///3v6t+/f45+Fy5c0NChQ5WQkKC1a9fKxcVFnTt3VlZWliSpd+/eateunZ544gldvnxZK1eu1IcffqhPPvlEvr6+eS7/zTffVO/evbVjxw5Vr15dPXr00MCBAzVq1Cht3bpVkvTcc88VeL3mz5+v4OBg/fDDDxoyZIieffZZde3aVY0bN9b27dvVtm1b9erVSxcvXrzmfPz9/fXKK69o3LhxDkGnMApb00svvaT/9//+nxISEhQSEqJHHnnEPnK3a9cutW3bVl26dNFPP/2kpUuXatOmTTm22ZQpUxQVFaVt27Zp9OjRudY3YsQIff7555o/f762b9+uypUrq23btjpz5owiIiKUmJgof39/zZgxQ4mJiXrsscfytd5nzpzRZ599poYNG9rbsrKyVL58eX366af6+eef9frrr+uVV17Rp59+mq95bt26Vc8//7zGjRunffv2aeXKlWratGm+Xpvt4MGD+uKLL7RixQqtWLFCGzdu1KRJk/Lsf+nSJdWrV08rVqzQ7t279fTTT6tXr17673//m+9lGmO0cuVKHTt2zGF75Gbq1KmqX7++fvzxRw0aNEjPPvusfvnll3wvC7A8A8AYY0yfPn1Mx44dzR9//GE8PT3NoUOHzOHDh42Xl5f5448/TMeOHU2fPn3yfP3JkyeNJLNr1y5725kzZ0z58uXNs88+a0JDQ8348eMdXlOxYkUzffp0+3NJ5rXXXrM/37Jli5Fk5syZY29bvHix8fLyylH3lV544QXTrFkz+/NmzZqZJk2a2J9fvnzZ+Pr6ml69etnbEhMTjSSzZcuWPNexWbNm5oUXXjCXLl0yFStWNOPGjTPGGDN9+nRTsWLFG17T+vXrjSSzZMkSe5/Tp08bb29vs3TpUmOMMb169TJPP/20w7K//fZb4+LiYlJTU40xf233Tp065bmexhhz/vx54+7ubj755BN7W3p6ugkPDzfx8fH2toCAADN37txrzqtZs2bG3d3d+Pr6Gh8fHyPJVK1a1Rw6dOiarxs0aJB59NFH7c+v3q7Z74cxxnz++efG39/fnD179przzDZ37lwTEBBgfz5mzBjj4+Pj8PqXXnrJNGzYMF/zy9auXTszbNiwPKdnv4e+vr7G19fXuLm5GRcXlxyfjSvXzZi/3rOePXvan2dlZZmQkBAzc+bMAtUHWBkjZcBVgoOD1b59e82fP19z585V+/btFRwcnKPfwYMH1aNHD915553y9/dXZGSkJOno0aP2PoGBgZozZ45mzpypu+66SyNHjrzu8mvXrm3/d2hoqCSpVq1aDm2XLl3S2bNnC7ReV87X1dVVQUFBOeYrSSdPnrzuvDw9PTVu3DhNmTJFp06dKlAdxVFTo0aN7P8uU6aMqlWrpr1790qStm3bpnnz5qlUqVL2R9u2bZWVlaVDhw7ZX1e/fv1r1nbw4EFlZGTogQcesLe5u7vrvvvusy+rIJ544gnt2LFDO3fu1KZNm1S5cmW1adPG4fDgBx98oPr16+uOO+5QqVKlNHv2bIf96Vpat26tihUr6s4771SvXr30ySefXHfU82qVKlVyOI+rbNmy19wfMjMzNWHCBNWuXVtBQUEqVaqUVq1ala+av/32W+3YsUM7duzQRx99pLi4OM2cOfOar7lyf7HZbAoLC8vX/grcKghlQC769++vefPmaf78+bkeupSkDh066PTp05o9e7b++9//2g/ZXH3S+DfffCNXV1f9/vvv+Trc5+7ubv+3zWbLsy37MKmLi4uMMQ7zyO0k/CvnkT2fa833enr27Gk/N+tqzqjpyr4DBw60/8HPDkL79+/XXXfdZe9/rUPIkuz1Z8/3yvar2/IjICBAlStXVuXKlfXAAw9ozpw52r9/v5YuXSpJ+vTTT/Xiiy+qf//+WrVqlXbs2KF+/frl+yIEPz8/bd++XYsXL1bZsmX1+uuv65577inQ7UNyez+ute2nTp2q6dOna8SIEVq3bp127Nihtm3b5qvmyMhIVa5cWTVr1lS/fv3Uq1cvTZgwoVjrA241hDIgFw899JDS09OVnp6utm3b5ph++vRp7d27V6+99ppatmypGjVqKDk5OUe/zZs3Kz4+Xv/617/k7++vIUOGFHutd9xxhxITEx3aduzYUezLuZqLi4smTpyomTNn6vDhwze1pu+//97+7+TkZP3666+qXr26pL8u1tizZ489AF358PDwyPcysvtv2rTJ3paRkaGtW7eqRo0aRV4HV1dXSbJf6fvtt9+qcePGGjRokOrUqaPKlSs7XNCRH25ubmrVqpXi4+P1008/6fDhw1q3bl2Ra83Lt99+q44dO6pnz5665557dOeddzpc2FIQrq6uDlc9AyWRm7MLAKzI1dXVfogq+4/nlQIDAxUUFKRZs2apbNmyOnr0aI5Dk+fOnVOvXr00ZMgQPfzww6pQoYLq16+vmJgYde3atdhqbdGihaZMmaKPP/5YjRo10sKFC7V79+4cV4veCO3bt1fDhg314Ycf2g813oyaxo0bp6CgIIWGhurVV19VcHCw/WrPl19+2X5141NPPSVfX1/t3btXq1ev1jvvvJPvZfj6+urZZ5/VSy+9pDJlyqhChQqKj4/XxYsXNWDAgALXfPHiRSUlJUmS/ve//2n8+PHy8vJSmzZtJP0VAj/++GN9/fXXioyM1IIFC5SQkGA/LH49K1as0G+//aamTZsqMDBQ//nPf5SVlaVq1aoVuNb8qly5sj7//HNt3rxZgYGBmjZtmpKSkvIVWk+ePKlLly4pLS1NP/zwgxYsWHDNq0WBkoCRMiAP/v7+8vf3z3Wai4uLlixZom3btikqKkovvviipkyZ4tDnhRdekK+vr+Li4iRJNWvW1OTJk/XMM8/oxIkTxVZn27ZtNXr0aI0YMUINGjTQuXPn1Lt372Kb//VMnjxZly5duqk1TZo0SS+88ILq1aunxMREffnll/ZRsNq1a2vjxo3av3+/HnzwQdWpU0ejR49W2bJlC7WcRx99VL169VLdunV14MABff311woMDCzwvGbPnq2yZcuqbNmyat68uf744w/95z//sYemZ555Rl26dNFjjz2mhg0b6vTp0xo0aFC+51+6dGktW7ZMLVq0UI0aNfTBBx9o8eLFqlmzZoFrza/Ro0erbt26atu2raKjoxUWFpbvXzWoVq2aypYtq8qVK+vll1/WwIEDCxSagduRzVx94gcAAABuOkbKAAAALIBQBgAAYAGEMgAAAAsglAEAAFgAoQwAAMACCGUAAAAWQCgDAACwAEIZAACABRDKAAAALIBQBgAAYAGEMgAAAAsglAEAAFjA/wf/ODo1m++TcwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(maxload3, bins=range(1, np.max(maxload3) + 2), align='left', edgecolor='black')\n",
    "plt.xlabel('Maximum Number of Balls in a Bin')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title(f'Histogram of Maximum Balls in a Bin (n = {n}, Simulations = {num_simulations})')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "04056e1e-a072-4055-b9c0-f6d3eac86ff3",
   "metadata": {},
   "source": [
    "# Power of two choices"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b218481f-ac13-44aa-96ce-cd0fc98249d6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 10 µs, sys: 0 ns, total: 10 µs\n",
      "Wall time: 19.1 µs\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "def simulate_max_balls_in_bin_two_choices(n, num_simulations=1000):\n",
    "    max_balls = []\n",
    "\n",
    "    for _ in range(num_simulations):\n",
    "        bins = [0] * n\n",
    "        for _ in range(n):\n",
    "            a = random.randint(0, n - 1)\n",
    "            b = random.randint(0, n - 1)\n",
    "            if bins[a] < bins[b]: bins[a] += 1\n",
    "            else: bins[b] += 1\n",
    "        max_balls.append(max(bins))\n",
    "\n",
    "    return max_balls"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "c1fc7d04-9f3a-4f67-8eda-6fae54c418b8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average maximum number of balls in a bin (for n = 1000000): 8.75\n",
      "Same with two choices: 4.0\n",
      "CPU times: user 3min 5s, sys: 51.9 ms, total: 3min 5s\n",
      "Wall time: 3min 5s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "n = 1_000_000  # Number of balls and bins\n",
    "num_simulations = 100  # Number of times to run the simulation\n",
    "maxload1 = simulate_max_balls_in_bin(n, num_simulations)\n",
    "maxload2 = simulate_max_balls_in_bin_two_choices(n, num_simulations)\n",
    "\n",
    "print(f\"Average maximum number of balls in a bin (for n = {n}): {np.mean(maxload1)}\")\n",
    "print(f\"Same with two choices: {np.mean(maxload2)}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "9b823beb-9afe-4300-8802-9054ac67d88c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5.261464353591485"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.log(n)/np.log(np.log(n))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "ff2e15f3-21a1-4789-b756-c5ec6e6a6db3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.625791914476011"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.log(np.log(n))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "a3dcef50-9a9b-4d5f-8008-6732f80e8e5d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Average maximum number of balls in a bin (for n = 1000000): 8.83\n",
      "Same with two choices: 4.0\n",
      "CPU times: user 3min 34s, sys: 52.9 ms, total: 3min 34s\n",
      "Wall time: 3min 34s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "n = 1_000_000  # Number of balls and bins\n",
    "num_simulations = 100  # Number of times to run the simulation\n",
    "maxload1 = simulate_max_balls_in_bin(n, num_simulations)\n",
    "maxload2 = simulate_max_balls_in_bin_two_choices(n, num_simulations)\n",
    "\n",
    "print(f\"Average maximum number of balls in a bin (for n = {n}): {np.mean(maxload1)}\")\n",
    "print(f\"Same with two choices: {np.mean(maxload2)}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "cb6018e6-9f17-4594-bc46-5c05ccf8a028",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnAAAAHFCAYAAABy/MT4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSNElEQVR4nO3dd3hUZf7+8XsC6SShhDRq6EgTQRBEEsTASpGiWFA6AgaBCIqgUkQBCSuioiCuAspSdCmrsiKsFEVwDVVBpEknMQoIoaRAnt8ffDM/JpPOhOTg+3Vdc13MM88553POM3Nyc8qMzRhjBAAAAMtwK+oCAAAAkD8EOAAAAIshwAEAAFgMAQ4AAMBiCHAAAAAWQ4ADAACwGAIcAACAxRDgAAAALIYABwAAYDE3FODmz58vm82mrVu3Zvl6p06dVLVqVYe2qlWrqm/fvvlazubNmzVx4kT9+eefBSv0L2jp0qWqV6+evL29ZbPZtHPnziz7bdiwQTabTTabTfPnz8+yz7333iubzeY0lq4WGRmpyMjIQl3GzRYZGWnfvjabTe7u7qpataoGDBigo0ePFmieR44ccRqvjM/ikSNHbrjmvn37FvpY50ffvn0dtmGJEiVUsWJFPfzww9q9e7dD34z384YNG1xaQ1pamurUqaPXXnvNpfN1lRMnTigmJkYREREqXbp0jp9nSfrvf/+rFi1ayMfHR4GBgerbt68SExOd+qWlpenll19W1apV5enpqTp16ujtt9/Ocp6//vqrunfvrtKlS6tUqVKKiorS9u3bs+y7ZMkS3X777fLy8lJYWJhiYmJ04cIFp34XLlxQTEyMwsLC5OXlpdtvv11LlizJcp7bt2/Xfffdp1KlSql06dLq3r27fv3112y3QV589dVXateuncLCwuTp6amwsDBFRkY6vQ8K8nfNVW7ks5/T39ZbcX+cnZdeekmdOnVShQoVZLPZchxLV7/PP/jgA1WoUEEXL17Mf+HmBsybN89IMnFxcVm+3rFjR1OlShWHtu3bt5uDBw/maznTp083kszhw4cLWOlfS2JionF3dzedO3c2GzZsMFu2bDEXL17Msu/69euNJOPn52datWrl9Pqvv/5qbDab8ff3dxpLV9uzZ4/Zs2dPoS7jZouIiDDVqlUzW7ZsMVu2bDEbN24077zzjgkKCjKVKlXKdlxycvjwYSPJzJs3z96W8Vl0xWfk4MGDZvv27Tc8H1fp06eP8fb2tm/Db7/91sybN89Ur17d+Pn5mRMnTtj7njt3zmzZssWcO3fOpTXMnDnTBAUFmQsXLrh0vq6yfv16ExgYaO677z7z2GOPOb0/rrdhwwZTsmRJ06VLF7NmzRqzcOFCU6FCBVO/fn2TnJzs0HfgwIHG09PTxMbGmvXr15sxY8YYm81mJk+e7NAvMTHRhIWFmXr16plly5aZVatWmVatWhk/Pz/zyy+/OPRduHChkWQGDhxo1q1bZ+bMmWMCAgJMVFSUU61RUVGmdOnSZs6cOWbdunVm4MCBRpL55z//6dBv7969xs/Pz9xzzz1m1apVZtmyZaZevXomLCzMJCYmFmCLGjN79mwjyTz44INm2bJlZv369eajjz4yQ4YMMU2aNHHoW5C/a65yI5/9nP623or74+z4+PiYu+66ywwZMsR4eHiYPn36ZNmvMN7naWlppmbNmmb8+PH5rvumB7iCKOoAl5qaatLS0opk2QWxadMmI8ksXbo0174ZAS5jx7h//36H11966SVTsWJFc//99xd6gLsVRUREmHr16jm1f/DBB0aS+eqrr/I9z8IOcMVNnz59jK+vr1P7119/bSSZ9957r1CXn5aWZipUqGDGjBlTqMu5EVevXrX/Oy4uLscAd+edd5rbbrvNYZ/23XffGUnm3Xfftbft3r3b2Gw2M2XKFIfpn3zySePt7W1Onz5tb3vuueeMu7u7OXLkiL3t3LlzJjAw0Dz88MP2titXrpjQ0FDTrl07h3n+85//NJLMf/7zH3vbqlWrjCSzaNEih75RUVEmLCzMXLlyxd7Wo0cPExgY6BDcjxw5Ytzd3c3o0aOz3A65qVy5smndunWWr12/vYtaYQW4v5Lrx9PX1zfbAFcY73NjjPn73/9uAgIC8v0f+pt+DVzmQ83p6el69dVXVbt2bXl7e6t06dJq2LCh3nzzTUnSxIkT9dxzz0mSwsPD7adRMk6RpKenKzY2VnXq1JGnp6eCgoLUu3dvnThxwmG5xhhNmTJFVapUkZeXl5o2baq1a9c6HSbOOAXz8ccfa9SoUapQoYI8PT118OBB/f7774qOjtZtt92mUqVKKSgoSPfee6++/fZbh2VlnOKaPn26pk2bpqpVq8rb21uRkZHav3+/0tLSNGbMGIWFhSkgIEDdunXL8vRFVj777DP7qQ8/Pz9FRUVpy5Yt9tf79u2rVq1aSZIeeeQR2Wy2PB0Gj4qKUqVKlfThhx86jM2CBQvUp08fubk5v1XeeecdtW7dWkFBQfL19VWDBg0UGxurtLQ0e58DBw7I399fPXr0cJh23bp1KlGihMaNG2dvyzwWrtiONptNEydOdKo98/sw4zTEunXr9OSTT6pcuXLy9/dX7969dfHiRSUkJOjhhx9W6dKlFRoaqmeffdZhPfMrICBAkuTu7m5vO3jwoPr166eaNWvKx8dHFSpUUOfOnfXTTz8VaBk7duxQp06dFBQUZD/907FjR6fPRmZZnUK12Wx6+umn9fHHH6tu3bry8fFRo0aN9MUXX+RaR3JyskaNGqXbb79dAQEBKlu2rFq0aKF///vfBVqvDFltw6xOofbt21elSpXSwYMH1aFDB5UqVUqVKlXSqFGjlJKSkutyPvvsM508eVK9evVyaJ84caJsNpv27Nmjxx57TAEBAQoODlb//v117ty5G1q3/Mrq85mVkydPKi4uTr169VLJkiXt7S1btlStWrW0YsUKe9vKlStljFG/fv0c5tGvXz9dvnxZq1evtretWLFC9957r6pUqWJv8/f3V/fu3fX555/rypUrkqTvv/9e8fHxTvPs0aOHSpUq5bD8FStWqFSpUk77jn79+unUqVP63//+J0m6cuWKvvjiCz344IPy9/e396tSpYratGnjMM/8OH36tEJDQ7N8LfP2zrw/yXgfLlq0SM8//7xCQ0NVqlQpde7cWb/99puSkpI0aNAgBQYGKjAwUP369XM4tZbVZRIZstunXW/t2rXq0qWLKlasKC8vL9WoUUODBw/WH3/8Ye+T29/WrE6hnjlzRtHR0apQoYI8PDxUrVo1vfjii06fo7zuL37//XcNGjRIlSpVkqenp8qXL6+7775b//3vf3NcP1fL6+enMN7nkvT444/r/Pnz2V4ekJ2SuXfJ3dWrV+2FX88Yk+u0sbGxmjhxol566SW1bt1aaWlp+uWXX+zn5AcOHKgzZ87o7bff1vLly+0fqNtuu02S9NRTT2nu3Ll6+umn1alTJx05ckTjxo3Thg0btH37dgUGBkqSXnzxRU2dOlWDBg1S9+7ddfz4cQ0cOFBpaWmqVauWU11jx45VixYtNGfOHLm5uSkoKEi///67JGnChAkKCQnRhQsXtGLFCkVGRurrr792erO/8847atiwod555x39+eefGjVqlDp37qzmzZvL3d1dH374oY4ePapnn31WAwcO1GeffZbjtlq0aJEef/xxtWvXTosXL1ZKSopiY2Pty2/VqpXGjRunZs2aaejQoZoyZYratGnjsFPLjpubm/r27asPPvhAr776qkqUKKE1a9boxIkT6tevn0aMGOE0zaFDh9SzZ0+Fh4fLw8NDu3bt0uTJk/XLL7/Yg2DNmjX1/vvv69FHH9Vbb72l4cOHKyEhQT179tQ999yT646oMLZjTgYOHKju3btryZIl2rFjh1544QVduXJF+/btU/fu3TVo0CD997//1bRp0xQWFqaRI0fmab4Zn4/U1FTt3r1bkyZNUrVq1dSyZUt7n1OnTqlcuXJ67bXXVL58eZ05c0YLFixQ8+bNtWPHDtWuXTvP63Hx4kVFRUUpPDxc77zzjoKDg5WQkKD169crKSkpfxvl/6xatUpxcXGaNGmSSpUqpdjYWHXr1k379u1TtWrVsp0uJSVFZ86c0bPPPqsKFSooNTVV//3vf9W9e3fNmzdPvXv3ztPyM7bhlStXdPDgQT333HMqU6aMOnbsmOu0aWlpeuCBBzRgwACNGjVK33zzjV555RUFBARo/Pjxua53UFCQfZ+T2YMPPqhHHnlEAwYM0E8//aSxY8dKksN/hrKSnp6u9PT0XGvPuO7PFTKuGWzYsKHTaw0bNtR3333n0Ld8+fIKCQlx6nf9vC5fvqxDhw6pW7duWc7z8uXL+vXXX1WrVq1sl+/u7q46deo4XNO4e/du1a1b1yFoZl5+y5YtdejQIV2+fDnbdVq7dq2Sk5Pl5eWVzVbJWosWLbRs2TJNnDhR3bp1U/369fM9Di+88ILatGmj+fPn68iRI3r22Wf12GOPqWTJkmrUqJEWL15s38/4+fnprbfeytf8s3Po0CG1aNFCAwcOVEBAgI4cOaIZM2aoVatW+umnn+Tu7p7r39bMkpOT1aZNGx06dEgvv/yyGjZsqG+//VZTp07Vzp07tWrVKof+edlf9OrVS9u3b9fkyZNVq1Yt/fnnn9q+fbtOnz6d4/oZY3T16tU8bYvM75+CKqz3uSSFhISoTp06WrVqlfr375/3ovJ1vC6TjEO3OT0yn3arUqWKw+HJTp06mdtvvz3H5WR3mHfv3r1GkomOjnZo/9///mckmRdeeMEYY8yZM2eMp6eneeSRRxz6bdmyxUgyERER9raMU4rZHTq/3pUrV0xaWppp27at6datm7094xRXo0aNHA7Nzpw500gyDzzwgMN8YmJijKQcr9u5evWqCQsLMw0aNHCYZ1JSkgkKCjItW7Z0WodPP/0013W4vm/G9W5ffPGFMebaaYnIyEhjTO6nw69evWrS0tLMRx99ZEqUKGHOnDnj8PpTTz1lPDw8zJYtW8y9995rgoKCzKlTpxz6REREOIyFK7ajJDNhwgSnejO/DzPey8OGDXPo17VrVyPJzJgxw6H99ttvN3fccUe22+P6dcrqc1GrVi2zd+/eHKe9cuWKSU1NNTVr1jTPPPOMvT0vp1C3bt1qJJmVK1fmWmNmffr0cRprSSY4ONicP3/e3paQkGDc3NzM1KlT8zX/jM/NgAEDTOPGjfNUT1bbMDQ01GzatMmhb8b7ef369U7Tf/LJJw59O3ToYGrXrp3r8uvWrWv+9re/ObVPmDDBSDKxsbEO7dHR0cbLy8ukp6fnON+M6fO7D81NTqdQM07hbNmyxem1QYMGGQ8PD/vzqKiobLePh4eHGTRokDHGmJMnTxpJWb4PFi1aZCSZzZs3G2OMmTx5spFk4uPjnfq2a9fO1KpVy/68Zs2apn379k79Tp06ZSTZT+1mnP5dvHixU98pU6YYSU77mrw4ePCgqV+/vn0cvL29Tdu2bc2sWbNMamqqQ9/M+5OM92Hnzp0d+mXso4YPH+7Q3rVrV1O2bFn786w+4xky79NyO4Wanp5u0tLSzNGjR40k8+9//9v+Wk6nUDPvj+fMmZPl52jatGlGklmzZo1DjXnZX5QqVcrExMRkWXdOMrZvXh75PT2c3SnUwnqfZ3j88cdNcHBwvmp1STT96KOPVLduXaf2Z555RsePH89x2mbNmmnVqlWKjo5Wly5d1KJFizwdMZKk9evXS5LTHSPNmjVT3bp19fXXX2vy5Mn6/vvvlZKSoocfftih31133ZXt3XYPPvhglu1z5szR3Llz9fPPPzscNq5Tp45T3w4dOjgcms3YRpmPGGS0Hzt2TPXr189yufv27dOpU6cUExPjMM9SpUrpwQcf1HvvvadLly7Jx8cny+nzIjw8XJGRkfrwww9111136d///rf+8Y9/ZNt/x44dmjBhgr777judOXPG4bX9+/erefPm9udvvPGGvv/+e7Vp00apqalavXp1tqcnMnPldsxNp06dnOa5cuXKLJe1Zs2aPM2zevXq9kPjV65c0eHDhzVt2jS1bdtWGzZsUM2aNe2vxcbGauHChTp48KDDKdq9e/fmaz1q1KihMmXK6Pnnn1d8fLxat26d7f+s86pNmzby8/OzPw8ODlZQUFCe7qb99NNPNXPmTO3atcvhbqu8HhXx9vbWN998I+nakauTJ0/qzTffVIcOHbR69Wq1aNEix+ltNps6d+7s0NawYUOtW7cu12WfOnVKd955Z7avP/DAA07zTU5OVmJiooKDg7OdbtCgQU7vt6x4enrm2ie/bDZbntqz61dYfW/W8vOievXq2rVrlzZt2qQNGzZo69at2rhxo77++mvNmzdPmzZtyvX9m9X+RMp637Vy5UpduHBBpUqVynetmSUmJmr8+PFatWqVTp065XCkd+/evU7v2bxYt26dfH199dBDDzm09+3bV88//7y+/vprRUVF2dvzsr9o1qyZ5s+fr3Llyum+++5TkyZNHC6JyE6TJk0UFxeXp7rDwsLy1C+vCuN9LklBQUFKTEzUlStX8nzU0CUBrm7dumratKlTe0BAQK4BbuzYsfL19dXChQs1Z84clShRQq1bt9a0adOynOf1Mg6zZhUEwsLC7G+UjH5Z7Uyz28FmNc8ZM2Zo1KhRGjJkiF555RUFBgbar+PK6g9s2bJlHZ57eHjk2J6cnJxlLdevQ3brmp6errNnz95QgJOkAQMGqF+/fpoxY4a8vb2dPqwZjh07pnvuuUe1a9fWm2++qapVq8rLy0s//PCDhg4dqsuXLzv09/T0VM+ePfXcc8/pjjvucPig58aV29GVy8rrcjKuucxw1113KTIyUhUqVND48eO1ePFiSdLIkSP1zjvv6Pnnn1dERITKlCkjNzc3DRw40Gl75iYgIEAbN27U5MmT9cILL+js2bMKDQ3Vk08+qZdeeilPO8nMypUr59Tm6emZa23Lly/Xww8/rB49eui5555TSEiISpYsqdmzZ+d6mjGDm5ub0/6gffv2qlSpkkaOHOlwHWhWfHx8nP7Yenp65mkML1++nOMf6szbJSNw5bZdQkJCFBQUlOvyCxI+spNRa1anqM6cOePwPi9XrlyWXz908eJFpaam2vuWKVNGNpst23lK///zc/3yM+97s1p+fueZVV+bzabSpUs7vZYXbm5uat26tVq3bi3p2roPGDBAS5cu1Ycffqjo6Ogcpy/IvutGA1x6erratWunU6dOady4cWrQoIF8fX2Vnp6uu+66K9/7kgynT59WSEiI0/sxKChIJUuWdNr+edlfLF26VK+++qr+8Y9/aNy4cSpVqpS6deum2NhYp1P31ytVqpRuv/32PNXtqlOohfU+z+Dl5SVjTL7eA0X+Rb4lS5bUyJEjtX37dp05c0aLFy/W8ePH1b59e126dCnHaTM2Unx8vNNrp06dsl//ltHvt99+c+qXkJCQ5byz2mkuXLhQkZGRmj17tjp27KjmzZuradOmBb6mKD9yW1c3NzeVKVPmhpfTvXt3+fj46LXXXtOjjz4qb2/vLPutXLlSFy9e1PLly/XEE0+oVatWatq0qX1HlNnu3bs1fvx43Xnnndq+fbtmzJhxw7XmhaenZ5YXqud2jUVhCw0NVWBgoHbt2mVvW7hwoXr37q0pU6aoffv2atasmZo2bepw4XF+NGjQQEuWLNHp06e1c+dOPfLII5o0aZJef/11V61GnixcuFDh4eFaunSpunbtqrvuuktNmzbN0w0EOfHx8bEfJSlMgYGBTkeYXWHSpElyd3fP9VG9enWXLTPjyHRWN8b89NNPDkeuGzRooN9//91pH5kxbUZfb29v1ahRI9t5ent72695atCgQZbLv3Llin755Ren5e/du9fp+urMy69evbq8vb2zXX6NGjXyff1bdnx9fe3XOGa+jsmVMurN/BnJy35r9+7d2rVrl6ZPn65hw4YpMjJSd955Z5aBKj/KlSun3377zena9oyjRhl/b/MjMDBQM2fO1JEjR3T06FFNnTpVy5cvz/U79TZu3Jinz467u7tLvhtTKrz3eYYzZ87I09MzXwG+yAPc9UqXLq2HHnpIQ4cO1ZkzZ+wbPrv/0d57772Srv2BuF5cXJz27t2rtm3bSpKaN28uT09PLV261KHf999/n68vU7XZbE6nM3788cdc//fvCrVr11aFChW0aNEihw/QxYsXtWzZMvudqTfK29tb48ePV+fOnfXUU09l2y8j4F6/PYwxev/99536Xrx4UT169FDVqlW1fv16Pf300xozZoz9LrLCVLVqVf34448ObevWrcvyS0NvphMnTuiPP/5wOAKT1ftr1apVOnny5A0ty2azqVGjRnrjjTdUunTpbL90srDYbDZ5eHg4/KcoISHhhu9CvXDhgg4ePJino1g3ok6dOjp06JDL5zto0CDFxcXl+vj8889dtswKFSqoWbNmWrhwocNF4N9//739Rp0MXbp0kc1m04IFCxzmMX/+fHl7e+tvf/ubva1bt25at26dwxmXpKQkLV++XA888ID9KEjz5s0VGhrqdHflv/71L124cMFh+d26ddOFCxe0bNkyh74LFixQWFiY/RKNkiVLqnPnzlq+fLnDf6aPHTum9evXO8wzP7L6z7L0/y9ncPWpuesFBwfLy8vLad+Vl89MVvtmSXrvvfec+ub1aLEktW3bVhcuXNDKlSsd2j/66CP76zeicuXKevrpp3P8YtwMGadQ8/Jw5TgVxvs8w6+//prvy1xcc2zxBnTu3Fn169dX06ZNVb58eR09elQzZ85UlSpV7NcGZaTZN998U3369JG7u7tq166t2rVra9CgQXr77bfl5uam+++/334XaqVKlfTMM89IunZYc+TIkZo6darKlCmjbt266cSJE3r55ZcVGhqa51uIO3XqpFdeeUUTJkxQRESE9u3bp0mTJik8PDzLu3Bdyc3NTbGxsXr88cfVqVMnDR48WCkpKZo+fbr+/PNPl35D/MiRI3O9uzIqKkoeHh567LHHNHr0aCUnJ2v27Nk6e/asU98hQ4bo2LFj+uGHH+Tr66vXX39dW7Zs0aOPPqodO3YU+PRGXvTq1Uvjxo3T+PHjFRERoZ9//lmzZs2yfwXFzXD58mV9//33kq7dsX348GHFxsZKkmJiYuz9OnXqpPnz56tOnTpq2LChtm3bpunTp6tixYr5XuYXX3yhd999V127dlW1atVkjNHy5cv1559/5uv0tSt06tRJy5cvV3R0tB566CEdP35cr7zyikJDQ3XgwIE8zSM9Pd2+DTOugXvrrbd09uzZPN3JfCMiIyM1adKkG77GNLOwsDCX/nH517/+JUn2Xx/YunWr/X/z118KMW3aNEVFRalHjx6Kjo5WYmKixowZo/r16zt87UG9evU0YMAATZgwQSVKlNCdd96pNWvWaO7cuXr11VcdTgM9++yz+vjjj9WxY0dNmjRJnp6eeu2115ScnOwwPiVKlFBsbKx69eqlwYMH67HHHtOBAwc0evRoRUVFOYTC+++/X1FRUXrqqad0/vx51ahRQ4sXL9bq1au1cOFChztCX375Zd15553q1KmTxowZo+TkZI0fP16BgYEaNWqUw3aKjIzUxo0bc/2WhHr16qlt27a6//77Vb16dSUnJ+t///ufXn/9dQUHB2vAgAF5HZp8s9lseuKJJ/Thhx+qevXqatSokX744QctWrQo12nr1Kmj6tWra8yYMTLGqGzZsvr888+1du1ap77Z/W29/tq1DL1799Y777yjPn366MiRI2rQoIE2bdqkKVOmqEOHDrrvvvvytY7nzp1TmzZt1LNnT9WpU0d+fn6Ki4vT6tWrcw3dfn5+uV5ilR8bN260f8vE1atXdfToUfvnKSIiQuXLl5dUOO9z6do+7Ycffsj/eypftzxkUpAv8s18t87rr79uWrZsaQIDA42Hh4epXLmyGTBggMMX5RljzNixY01YWJhxc3NzuMvs6tWrZtq0aaZWrVrG3d3dBAYGmieeeMIcP37cYfr09HTz6quvmooVKxoPDw/TsGFD88UXX5hGjRo53EGa0x2cKSkp5tlnnzUVKlQwXl5e5o477jArV650umsv4w6i6dOnO0yf3bxz247XW7lypWnevLnx8vIyvr6+pm3btua7777L03Kykte+WY3l559/bho1amS8vLxMhQoVzHPPPWe+/PJLh/F5//33s7yb6uDBg8bf39907drV3pbdXag3sh1TUlLM6NGjTaVKlYy3t7eJiIgwO3fuzPYu1MxjkHGn4O+//+7Qnt2Xy2aW+S5UNzc3ExYWZu6//36zYcMGh75nz541AwYMMEFBQcbHx8e0atXKfPvtt9lul5zuQv3ll1/MY489ZqpXr268vb1NQECAadasmZk/f36uNWd3F+rQoUOd+mbejtl57bXXTNWqVY2np6epW7euef/99+3bNi/1KNOdZUFBQSYiIsKsWLHCoW92d6FmNVZ5Xf7BgweNzWZzuvsuu/dGUX2pcuZtdP0jszVr1pi77rrLeHl5mbJly5revXub3377zalfamqqmTBhgqlcubLx8PAwtWrVMm+99VaWyz948KDp2rWr8ff3Nz4+PqZt27Zm27ZtWfZdtGiRadiwofHw8DAhISFm+PDhJikpyalfUlKSGT58uAkJCbHvt7O629SYa3det23b1vj4+Nj3LVn9OkKTJk1MSEhIlvO43nvvvWe6d+9uqlWrZnx8fIyHh4epXr26GTJkiNPfl+zuQs3rvj6r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i73OI488ov3799/05WaE8IyHt7e36tWrp7lz5zr0W758uV555ZWbXh9gFQQ44DqVKlXSkiVLdPnyZXtbcnKyFi9erMqVK7t8eeXLl5ePj4/L51uYvLy89NJLLyktLa2oS3GZ1NTUAk976NAh3XvvvapYsWKOR7SefPJJxcfH6+TJk/r3v/+t48eP64knnijwcm+Ut7e3goKCimz5+/btU3x8vH7++WcNHjxYTz31lL7++mv762XLlpWfn1+R1QcUdwQ44Dp33HGHKleurOXLl9vbli9frkqVKqlx48YOfVevXq1WrVqpdOnSKleunDp16qRDhw7ZX//oo49UqlQpHThwwN42bNgw1apVSxcvXpTkfArVZrPpvffeU6dOneTj46O6detqy5YtOnjwoCIjI+Xr66sWLVo4LCfzaTVJiomJUWRkpP15ZGSkhg0bppiYGJUpU0bBwcGaO3euLl68qH79+snPz0/Vq1fXl19+mes2euyxx3Tu3Dm9//772fYp7Jq+++47NWrUSF5eXmrevLl++uknh9c3b96s1q1by9vbW5UqVdLw4cPt21y6tt1fffVV9e3bVwEBAXryySezXI+UlBQNHz5cQUFB8vLyUqtWrRQXFydJOnLkiGw2m06fPq3+/fvLZrNlewROknx8fBQSEqLQ0FDdddddGjp0qLZv325//erVqxowYIDCw8Pl7e2t2rVr680338x2fll59913VbNmTXl5eSk4OFgPPfRQtn0zn0KdOHGibr/9dn388ceqWrWqAgIC9OijjyopKSnbeZw+fVqPPfaYKlasKB8fHzVo0ECLFy/OU61BQUEKCQlReHi4hg8frqpVqzpsj8ynUKtWraopU6aof//+8vPzU+XKlZ2O2gF/JQQ4IJN+/fpp3rx59ucffvih+vfv79Tv4sWLGjlypOLi4vT111/Lzc1N3bp1U3p6uiSpd+/e6tChgx5//HFduXJFq1ev1nvvvad//vOf8vX1zXb5r7zyinr37q2dO3eqTp066tmzpwYPHqyxY8dq69atkqSnn3463+u1YMECBQYG6ocfftCwYcP01FNPqUePHmrZsqW2b9+u9u3bq1evXrp06VKO8/H399cLL7ygSZMmOYSigihoTc8995z+/ve/Ky4uTkFBQXrggQfsRwR/+ukntW/fXt27d9ePP/6opUuXatOmTU7bbPr06apfv762bdumcePGZVnf6NGjtWzZMi1YsEDbt29XjRo11L59e505c0aVKlVSfHy8/P39NXPmTMXHx+uRRx7J03qfOXNGn376qZo3b25vS09PV8WKFfXJJ5/o559/1vjx4/XCCy/ok08+ydM8t27dquHDh2vSpEnat2+fVq9erdatW+dp2gyHDh3SypUr9cUXX+iLL77Qxo0b9dprr2XbPzk5WU2aNNEXX3yh3bt3a9CgQerVq5f+97//5XmZxhitXr1ax48fd9geWXn99dfVtGlT7dixQ9HR0Xrqqaf0yy+/5HlZwC0lHz98D9zS+vTpY7p06WJ+//134+npaQ4fPmyOHDlivLy8zO+//266dOli+vTpk+30iYmJRpL56aef7G1nzpwxFStWNE899ZQJDg42r776qsM0VapUMW+88Yb9uSTz0ksv2Z9v2bLFSDIffPCBvW3x4sXGy8vLqe7rjRgxwkRERNifR0REmFatWtmfX7lyxfj6+ppevXrZ2+Lj440ks2XLlmzXMSIiwowYMcIkJyebKlWqmEmTJhljjHnjjTdMlSpVCr2m9evXG0lmyZIl9j6nT5823t7eZunSpcYYY3r16mUGDRrksOxvv/3WuLm5mcuXLxtjrm33rl27Zruexhhz4cIF4+7ubv75z3/a21JTU01YWJiJjY21twUEBJh58+blOK+IiAjj7u5ufH19jY+Pj5FkatWqZQ4fPpzjdNHR0ebBBx+0P8+8XTPGwxhjli1bZvz9/c358+dznGeGefPmmYCAAPvzCRMmGB8fH4fpn3vuOdO8efM8zS9Dhw4dzKhRo7J9PWMMfX19ja+vrylZsqRxc3Nz+mxcv27GXBuzJ554wv48PT3dBAUFmdmzZ+erPuBWwRE4IJPAwEB17NhRCxYs0Lx589SxY0cFBgY69Tt06JB69uypatWqyd/fX+Hh4ZKkY8eO2fuUKVNGH3zwgWbPnq3q1atrzJgxuS6/YcOG9n8HBwdLkho0aODQlpycrPPnz+drva6fb4kSJVSuXDmn+UpSYmJirvPy9PTUpEmTNH36dP3xxx/5qsMVNbVo0cL+77Jly6p27drau3evJGnbtm2aP3++SpUqZX+0b99e6enpOnz4sH26pk2b5ljboUOHlJaWprvvvtve5u7urmbNmtmXlR+PP/64du7cqV27dmnTpk2qUaOG2rVr53CKcs6cOWratKnKly+vUqVK6f3333d4P+UkKipKVapUUbVq1dSrVy/985//zPVoamZVq1Z1uO4sNDQ0x/fD1atXNXnyZDVs2FDlypVTqVKltGbNmjzV/O2332rnzp3auXOn/vGPf2jKlCmaPXt2jtNc/36x2WwKCQnJ0/sVuBUR4IAs9O/fX/Pnz9eCBQuyPH0qSZ07d9bp06f1/vvv63//+5/9tFHmC+K/+eYblShRQqdOncrTKUd3d3f7v202W7ZtGadq3dzcZIxxmEdWNxhcP4+M+eQ039w88cQT9mvJMiuKmq7vO3jwYHs4yAhNBw4cUPXq1e39czqNLclef8Z8r2/P3JYXAQEBqlGjhmrUqKG7775bH3zwgQ4cOKClS5dKkj755BM988wz6t+/v9asWaOdO3eqX79+eb7Bws/PT9u3b9fixYsVGhqq8ePHq1GjRvn6ypWsxiOnbf/666/rjTfe0OjRo7Vu3Trt3LlT7du3z1PN4eHhqlGjhurVq6d+/fqpV69emjx5skvrA25lBDggC3/729+Umpqq1NRUtW/f3un106dPa+/evXrppZfUtm1b1a1bV2fPnnXqt3nzZsXGxurzzz+Xv7+/hg0b5vJay5cvr/j4eIe2nTt3unw5mbm5uWnq1KmaPXu2jhw5clNr+v777+3/Pnv2rPbv3686depIunYjyp49e+xh6fqHh4dHnpeR0X/Tpk32trS0NG3dulV169a94XUoUaKEJNnveP7222/VsmVLRUdHq3HjxqpRo4bDzSp5UbJkSd13332KjY3Vjz/+qCNHjmjdunU3XGt2vv32W3Xp0kVPPPGEGjVqpGrVqjnctJMfJUqUcLj7G0DOShZ1AUBxVKJECftpsow/tNcrU6aMypUrp7lz5yo0NFTHjh1zOj2alJSkXr16adiwYbr//vtVuXJlNW3aVJ06dVKPHj1cVuu9996r6dOn66OPPlKLFi20cOFC7d692+mu2cLQsWNHNW/eXO+99579dOfNqGnSpEkqV66cgoOD9eKLLyowMNB+1+vzzz9vv8vzySeflK+vr/bu3au1a9fq7bffzvMyfH199dRTT+m5555T2bJlVblyZcXGxurSpUsaMGBAvmu+dOmSEhISJEm//fabXn31VXl5ealdu3aSrgXGjz76SF999ZXCw8P18ccfKy4uzn5qPjdffPGFfv31V7Vu3VplypTRf/7zH6Wnp6t27dr5rjWvatSooWXLlmnz5s0qU6aMZsyYoYSEhDwF3MTERCUnJyslJUU//PCDPv744xzvmgXgiCNwQDb8/f3l7++f5Wtubm5asmSJtm3bpvr16+uZZ57R9OnTHfqMGDFCvr6+mjJliiSpXr16mjZtmoYMGaKTJ0+6rM727dtr3LhxGj16tO68804lJSWpd+/eLpt/bqZNm6bk5OSbWtNrr72mESNGqEmTJoqPj9dnn31mP7rWsGFDbdy4UQcOHNA999yjxo0ba9y4cQoNDS3Qch588EH16tVLd9xxhw4ePKivvvpKZcqUyfe83n//fYWGhio0NFRt2rTR77//rv/85z/2gDVkyBB1795djzzyiJo3b67Tp08rOjo6z/MvXbq0li9frnvvvVd169bVnDlztHjxYtWrVy/ftebVuHHjdMcdd6h9+/aKjIxUSEhInn+Nonbt2goNDVWNGjX0/PPPa/DgwfkK2MBfnc1kvlAFAAAAxRpH4AAAACyGAAcAAGAxBDgAAACLIcABAABYDAEOAADAYghwAAAAFkOAAwAAsBgCHAAAgMUQ4AAAACyGAAcAAGAxBDgAAACLIcABAABYzP8Dpf2H3PofjBcAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(maxload2, bins=range(1, max(maxload2) + 2), align='left', edgecolor='black')\n",
    "plt.xlabel('Maximum Number of Balls in a Bin')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title(f'Histogram of Maximum Balls in a Bin (n = {n}, Simulations = {num_simulations})')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "e9f79f3a-03ae-4938-9921-b1ce2bee1eca",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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NOzbtw/vv/++ciuHu7s7bGxs1M5+/O9//4v09HSV+fv164f09HTs3btXpe+2bdtga2urPOSiRo0a8PX1xb59+1T+8xwbG4vjx4+rjFkRxf3nGPj/hydoelfby6ytrWFgYKD22VWe90xxn80AsGHDBrW+5d0aDADdunVDeno69u/fr9K+fft25fLXYW9vj8mTJ5d6IdpChbtEy3PT5N+pMl7nhe7du1fhw1Y0s+2wAnx9fdGsWTO4ubmhTp06ePDgAdasWQMHBwflsT2FafWLL77AiBEjoKenh8aNG6Nx48YYN24cvvrqK+jo6KBHjx7Ks0Tt7OzwySefAHixmXL69OkIDg5GrVq10K9fPzx8+BBLliyBjY1NuU/p7d27Nz777DMsXrwYnp6euHnzJpYuXQpHR8diz5LVJB0dHYSEhGDIkCHo3bs3xo8fj+zsbKxatQr//POPRq/APn369DLPfvT29oa+vj4GDRqE2bNnIysrC2FhYUhOTlbrO2HCBMTGxuLChQswNjbG6tWrce7cOQwcOBCXL19+5d0V5TFs2DAsXLgQixYtgqenJ/7880+sXbtWeUmINyEzMxPnz58H8OKM6piYGISEhAAAAgIClP169+6NrVu3wsXFBS1atMClS5ewatUq1KtXr8JzHjx4EF9//TX69u2LBg0aQAiBffv24Z9//qnQ7mhN6N27N/bt2wd/f398+OGHiIuLw2effQYbGxvcvn27XGMUFBQo12HhMWxffvklkpOTy3Wm8evw8vLC0qVLX/sY0aJsbW01+mXy3//+FwCUV/e/ePGi8n/rLx/asHLlSnh7e6N///7w9/dHYmIi5s6di2bNmqlchsDV1RVjxozB4sWLoauri3bt2uHIkSPYuHEjli1bprJbZ+bMmfj222/Rq1cvLF26FHK5HCtWrEBWVpbK30dXVxchISEYNmwYxo8fj0GDBuH27duYPXs2vL29VUJgjx494O3tjYkTJyI1NRVOTk7YtWsXDh8+jB07dqicsblkyRK0a9cOvXv3xty5c5GVlYVFixbB0tISM2bMUFlPXl5eiIiIKPMqBq6urujWrRt69OiBhg0bIisrC7///jtWr14Na2trjBkzprx/mgqTyWQYOnQovvnmGzRs2BAtW7bEhQsXsHPnzjIf6+LigoYNG2Lu3LkQQqB27dr4+eefER4erta3pO/Wl489KzR8+HCsW7cOI0aMwP3799G8eXOcPn0aQUFB6NmzJ957770KPceUlBR06dIFgwcPhouLC0xNTREZGYnDhw+XGbJNTU3LPGSqIiIiIpRXgcjPz8eDBw+U7ydPT0/UqVMHQOW8zoEXn2kXLlyo+GuqImcovMqFc4ueTbN69Wrh4eEhLC0thb6+vrC3txdjxoxRuTCdEELMmzdP2NraCh0dHZWzwPLz88XKlStFo0aNhJ6enrC0tBRDhw4VcXFxKo8vKCgQy5YtE/Xq1RP6+vqiRYsW4uDBg6Jly5YqZ3iWdoZldna2mDlzpqhbt64wMDAQbdq0Efv371c7q67wDJ9Vq1apPL6ksctajy/bv3+/cHd3FwYGBsLY2Fh069ZNnDlzplzzFKe8fYv7W/7888+iZcuWwsDAQNStW1fMmjVL/PLLLyp/n02bNhV7ttOdO3eEmZmZ6Nu3r7KtpLNEX2c9Zmdni9mzZws7OzthaGgoPD09RXR0dIlniRb9GxSeyffkyROV9pIu5lpU0bNEdXR0hK2trejRo4c4ceKESt/k5GQxZswYYWVlJYyMjESnTp3EqVOnSlwvpZ0l+tdff4lBgwaJhg0bCkNDQ2Fubi7at28vtm7dWmbNJZ0lOmnSJLW+RddjSVasWCHq168v5HK5aNKkidi0aZNy3ZanHhQ588vKykp4enqKH3/8UaVvSWeJFve3Ku/8d+7cETKZTO3suJJeG9q6iHHRdfTyragjR46IDh06CAMDA1G7dm0xfPhw8ffff6v1y8nJEYsXLxb29vZCX19fNGrUSHz55ZfFzn/nzh3Rt29fYWZmJoyMjES3bt3EpUuXiu27c+dO0aJFC6Gvry8UCoWYOnWqSEtLU+uXlpYmpk6dKhQKhfJzu7izQYV4cWZ0t27dhJGRkfKzpbhfH2jbtq1QKBTFjvGyDRs2CD8/P9GgQQNhZGQk9PX1RcOGDcWECRPUvl9KOku0vJ/1xb2WUlJSxNixY4W1tbUwNjYWvr6+4v79++U6S/TPP/8U3t7ewtTUVNSqVUv0799fxMbGFnvWfEnfrUU/d4QQIikpSUyYMEHY2NiIGjVqCAcHBzFv3jy1X8goz+dFVlaWmDBhgmjRooUwMzMThoaGonHjxmLx4sWv9Aswr6Oks/mLfpYIUTmv88KLgJc0TklkQpTj4mlviZiYGLi4uGDx4sWYP3++tsshIony9fVFXl4efvnlF22XQq8hLS0NtWvXxpo1azBp0iRtl0ME4MWeoHv37qlcB7E83trAduXKFezatQseHh4wMzPDzZs3ERISgtTUVFy7dq3U0++JqHq7du0aWrdujbNnz5Z6iQ+StkOHDmHSpEm4detWiSdIEb1Jd+/eRZMmTXDs2DHlrxSV11sb2O7cuYMJEybgypUr+Oeff2Bubg4vLy8sX768QleQJ6LqaceOHTA3N1e7nhsR0as6fvw4bt++jXHjxlX4sW9tYCMiIiJ6W2j1sh5EREREVDYGNiIiIiKJY2AjIiIikrg3fuFcKSgoKMDjx49hamqq0d/tIyIiosojhEBaWhpsbW3LfRH8t0W1DGyPHz+GnZ2dtssgIiKiVxAXF/dKvwpTlUkysD169Ahz5szBL7/8gszMTDRq1AibN29G27ZtAbxI2EuWLMHGjRuRnJwMd3d3rFu3Dq6uruUav/BnOOLi4mBmZlZpz4OIiIg0JzU1FXZ2dsX+nNbbTnKBLTk5Ge+88w66dOmCX375BVZWVrh7967K70+GhIQgNDQUW7duRaNGjbBs2TJ4e3vj5s2b5fojFu4GNTMzY2AjIiKqYqrj4UySuw7b3LlzcebMGZw6darY5UII2NraIiAgAHPmzAEAZGdnw9raGitXrsT48ePLnCM1NRXm5uZISUlhYCMiIqoiqvP3t+SO2Dtw4ADc3NzQv39/WFlZoXXr1ti0aZNyeUxMDBISEuDj46Nsk8vl8PT0xNmzZ7VRMhEREVGlklxgu3fvHsLCwuDs7Ixff/0VEyZMwNSpU7F9+3YAQEJCAgCo/RaotbW1cllR2dnZSE1NVbkRERERVRWSO4atoKAAbm5uCAoKAgC0bt0a169fR1hYGIYPH67sV3T/tRCixH3awcHBWLJkSeUVTURERFSJJLeFzcbGBk2bNlVpa9KkCWJjYwEACoUCANS2piUmJqptdSs0b948pKSkKG9xcXGVUDkRERFR5ZBcYHvnnXdw8+ZNlbZbt27BwcEBAODo6AiFQoHw8HDl8pycHERERMDDw6PYMeVyufKMUJ4ZSkRERFWN5HaJfvLJJ/Dw8EBQUBA++ugjXLhwARs3bsTGjRsBvNgVGhAQgKCgIDg7O8PZ2RlBQUEwMjLC4MGDtVw9ERERkeZJLrC1a9cOP/74I+bNm4elS5fC0dERa9aswZAhQ5R9Zs+ejczMTPj7+ysvnHvkyJFqeSE9IiIievtJ7jpsb0J1vo4LERFRVVWdv78ldwwbEREREaliYCMiIiKSOAY2IiIiIoljYCMiIiKSOAY2IiIiIomT3GU9iIjo7RUbG4unT59qu4xSWVpawt7eXttlEKlgYCMiojciNjYWjV2aICvzubZLKZWBoRFu/nWDoY0khYGNiIjeiKdPnyIr8zkses+AnoWdtsspVm5SHJIOrsbTp08Z2EhSGNiIiOiN0rOwg1zhpO0yiKoUnnRAREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHEMbEREREQSx8BGREREJHGSC2yBgYGQyWQqN4VCoVwuhEBgYCBsbW1haGgILy8vXL9+XYsVExEREVUuyQU2AHB1dUV8fLzydvXqVeWykJAQhIaGYu3atYiMjIRCoYC3tzfS0tK0WDERERFR5ZFkYKtRowYUCoXyVqdOHQAvtq6tWbMGCxYsgJ+fH5o1a4Zt27bh+fPn2Llzp5arJiIiIqockgxst2/fhq2tLRwdHTFw4EDcu3cPABATE4OEhAT4+Pgo+8rlcnh6euLs2bMljpednY3U1FSVGxEREVFVIbnA5u7uju3bt+PXX3/Fpk2bkJCQAA8PDyQlJSEhIQEAYG1trfIYa2tr5bLiBAcHw9zcXHmzs7Or1OdAREREpEmSC2w9evTABx98gObNm+O9997DoUOHAADbtm1T9pHJZCqPEUKotb1s3rx5SElJUd7i4uIqp3giIiKiSiC5wFaUsbExmjdvjtu3byvPFi26NS0xMVFtq9vL5HI5zMzMVG5EREREVYXkA1t2djZu3LgBGxsbODo6QqFQIDw8XLk8JycHERER8PDw0GKVRERERJWnhrYLKGrmzJnw9fWFvb09EhMTsWzZMqSmpmLEiBGQyWQICAhAUFAQnJ2d4ezsjKCgIBgZGWHw4MHaLp2IiIioUkgusD18+BCDBg3C06dPUadOHXTo0AHnz5+Hg4MDAGD27NnIzMyEv78/kpOT4e7ujiNHjsDU1FTLlRMRERFVDskFtt27d5e6XCaTITAwEIGBgW+mICIiIiItk/wxbERERETVHQMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcQxsBERERFJHAMbERERkcRJOrAFBwdDJpMhICBA2SaEQGBgIGxtbWFoaAgvLy9cv35de0USERERVTLJBrbIyEhs3LgRLVq0UGkPCQlBaGgo1q5di8jISCgUCnh7eyMtLU1LlRIRERFVLkkGtvT0dAwZMgSbNm1CrVq1lO1CCKxZswYLFiyAn58fmjVrhm3btuH58+fYuXOnFismIiIiqjySDGyTJk1Cr1698N5776m0x8TEICEhAT4+Pso2uVwOT09PnD17tsTxsrOzkZqaqnIjIiIiqipqaLuAonbv3o2oqChERkaqLUtISAAAWFtbq7RbW1vjwYMHJY4ZHByMJUuWaLZQIiIiojdEUlvY4uLiMG3aNOzYsQMGBgYl9pPJZCr3hRBqbS+bN28eUlJSlLe4uDiN1UxERERU2SS1he3SpUtITExE27ZtlW35+fk4efIk1q5di5s3bwJ4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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(maxload1, bins=range(1, max(maxload1) + 2), align='left', edgecolor='black')\n",
    "plt.xlabel('Maximum Number of Balls in a Bin')\n",
    "plt.ylabel('Frequency')\n",
    "plt.title(f'Histogram of Maximum Balls in a Bin (n = {n}, Simulations = {num_simulations})')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "938e6d21-1b07-4a77-ba4f-67a34a704320",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.11.7"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {},
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
