csiborgtools/notebooks/fits.ipynb

12405 lines
4.0 MiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "code",
"execution_count": 12,
"id": "5a38ed25",
"metadata": {
"ExecuteTime": {
"end_time": "2023-04-12T14:25:46.519408Z",
"start_time": "2023-04-12T14:25:03.003304Z"
},
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"source": [
"import sys\n",
"import numpy as np\n",
"import h5py\n",
"import matplotlib.pyplot as plt\n",
"from numba import jit\n",
"import numpy\n",
"\n",
"sys.path.append(\"../\")\n",
"import csiborgtools\n",
"\n",
"%matplotlib widget\n",
"%load_ext autoreload\n",
"%autoreload 2"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "312c96c9",
"metadata": {},
"outputs": [],
"source": [
"paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)\n",
"# nsim0 = 7468\n",
"# nsimx = 7588\n",
"# nsnap0 = max(paths.get_snapshots(nsim0))\n",
"# nsnapx = max(paths.get_snapshots(nsimx))\n",
"# overlapper = csiborgtools.match.ParticleOverlap()\n",
"# partreader = csiborgtools.read.ParticleReader(paths)"
]
},
{
"cell_type": "code",
"execution_count": 58,
"id": "2c1278dc",
"metadata": {},
"outputs": [],
"source": [
"quijote_cat = csiborgtools.read.QuijoteHaloCatalogue(0, paths, nsnap=4, minmass=None)\n",
"csiborg_cat = csiborgtools.read.HaloCatalogue(7444, paths, minmass=None)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "bbbc313d",
"metadata": {},
"outputs": [],
"source": [
"csiborg_fof = np.genfromtxt(\"/mnt/extraspace/mhutt/csiborg_halo_catalogues/FOF_catalogues/FOF_catalogue_7444.dat\")"
]
},
{
"cell_type": "code",
"execution_count": 60,
"id": "e49b8331",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-745.0451"
]
},
"execution_count": 60,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"quijote_cat.position().min()"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "abc44b91",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"6.451612903225806"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"1000 / 155"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "b9fd91e8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([5.892228e+11, 1.500966e+12, 6.171330e+11, ..., 2.071579e+12,\n",
" 9.985761e+11, 5.737170e+11])"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"csiborg_fof[:, -2]"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "0fc1d096",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "267b23f9d15840328ace06fdad5894dc",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABnsElEQVR4nO3de1zUZd7/8ReHYRhAGRBHDmKiqEWZtiZmZWpZaltZbmXtnWvu3ra1WJquW97tdtpcf9120Apzt+O97t6tdZfZabU8V+umaXbyiJISgogO4MA4nOb3xzjjAMNRYIB5Px8PHjjf+R4uoOTtdfhcQU6n04mIiIiIBIxgfzdARERERNqXAqCIiIhIgFEAFBEREQkwCoAiIiIiAUYBUERERCTAKACKiIiIBBgFQBEREZEAowAoIiIiEmAUAEVEREQCjAKgiIiISIBRABQREREJMAqAIiIiIgFGAVBEREQkwCgAioiIiAQYBUARERGRAKMAKCIiIhJgFABFREREAowCoIiIiEiAUQAUERERCTAKgCIiIiIBRgFQREREJMAoAIqIiIgEGAVAERERkQCjACgiIiISYBQARURERAKMAqCIiIhIgFEAFBEREQkwCoAiIiIiAUYBUERERCTAKACKiIiIBBgFQBEREZEAowAoIiIiEmAUAEVEREQCjAKgiIiISIBRABQREREJMAqAIiIiIgFGAVBEREQkwCgAioiIiAQYBUARERGRAKMAKCIiIhJgFABFREREAowCoIiIiEiAUQAUERERCTAKgCIiIiIBRgFQREREJMAoAIqIiIgEGAVAERERkQCjACgiIiISYBQARURERAKMAqCIiIhIgFEAFBEREQkwCoAiIiIiAUYBUERERCTAKACKiIiIBBgFQBEREZEAowAoIiIiEmBC/d2Azqy6upojR47QrVs3goKC/N0cERERaQKn08nJkydJTEwkODgw+8IUAM/CkSNHSE5O9nczREREpAVycnLo3bu3v5vhFwqAZ6Fbt26A6z+g7t27+7k1IiIi0hQlJSUkJyd7fo8HIgXAs+Ae9u3evbsCoIiISCcTyNO3AnPg+yxlZmaSlpbG8OHD/d0UERERkWYLcjqdTn83orMqKSkhOjqa4uJi9QCKiIh0Evr9rR5AERERkYCjOYAiItLmnE4nlZWVVFVV+bspEgBCQkIIDQ0N6Dl+jVEAFBGRNlVeXk5eXh5lZWX+booEkIiICBISEggLC/N3UzokBcAWyMzMJDMzU/+SFRFpRHV1NdnZ2YSEhJCYmEhYWJh6ZaRNOZ1OysvLOXbsGNnZ2QwYMCBgiz03RItAzoImkYqINOzUqVNkZ2dzzjnnEBER4e/mSAApKyvj0KFDpKSkEB4eXuM9/f7WIhAREWkH6oGR9qb/5hqm746IiIhIgNEcQBER8YvcIjvW0vJ2e15MZBhJZlO7Pc9t48aNjB07FqvVitlsbvfni/iiACgiIu0ut8jOuKc3Ya9ov8V0JkMIa+eOblYIzM/PZ8GCBXz44Yfk5uZisVgYOnQos2fP5qqrrgLg66+/5g9/+AP//ve/KSkpIT4+nhEjRvD8889jsVi49NJLycvLIzo6GjgTCN3Cw8Pp168fs2bN4q677qrx/H/961888cQTbNmyBbvdzoABA5g+fTqzZs0iJCTEc573wppu3boxaNAgfv/73zNp0qQa9ysvL2fJkiW88cYb7N27l9DQUPr27cv111/Pb37zGxITE31+H2q32e2hhx7iiSeeaPT7eLbXS+tTAGwBrQIWETk71tJy7BVVLJ4ylFRLVJs/L6vAxuwVO7GWljc5AP7www9cdtllmM1mFi1axODBg6moqGDNmjVkZGSwZ88ejh07xlVXXcV1113HmjVrMJvN/PDDD7z33nuUlpYCEBYWRnx8fJ377927l+7du2O323n//fe555576N+/vydYrly5kltvvZXp06ezYcMGzGYza9eu5Xe/+x1btmzhzTffrBH8XnvtNSZMmEBJSQlLly7l5ptvZseOHQwePBgAh8PBNddcwzfffMNjjz3GZZddRs+ePcnOzuaNN97g+eefZ+HChQ1+T9xtdouKat7P7myvl1bklBYrLi52As7i4uJ2ed6P1jLntz8WOX+0lrXL80REzpbdbnfu2rXLabfbaxz/9sci5zkPfOD89seidmlHS543ceJEZ1JSktNms9V5z2q1Op1Op3PlypXO0NBQZ0VFRb332bBhgxPwXFP7tVv//v2d//3f/+10Op1Om83m7NGjh3Py5Ml17vfee+85Aec//vEPzzHAuXLlSs/rkpISJ+BcsmSJ59jChQudwcHBzh07dvhsZ3V1dZO/htpOnDjhnDp1qtNsNjtNJpNzwoQJzn379jX5+rZQ3397Tmf7//7uiLQIpJNwD5dc9/xnjHt6E7lFdn83SUSkyzpx4gSrV68mIyODyMjIOu+75/LFx8dTWVnJypUrcbawqprT6WT16tUcPnyYESNGAPDxxx9z/Phxfvvb39Y5//rrr2fgwIG88cYbPu9XWVnJK6+8AlCjCPIbb7zB1VdfzUUXXeTzurOpz3jnnXfy5Zdf8t5777FlyxacTifXXnstFRUVLb6ntC0FwA4st8jOd7nFnonS9ooq7r0yFXtFVbtOnBYRCTRZWVk4nU7OPffcBs+75JJL+K//+i9+/vOfExcXx8SJE1m0aBFHjx5t9Bm9e/cmKiqKsLAwfvrTn/LII49wxRVXALBv3z4AzjvvPJ/XnnvuuZ5z3G6//XaioqIwGo3cf//99O3bl1tvvdXz/r59+xg0aFCNa2666SaioqKIiori0ksvbXKb3R/Hjx9n//79vPfee7z88suMGjWKIUOG8Pe//53c3FzefffdRq8X/9AcwA7Ke4K0yRDC4tuGAvhlBZuISKBpTm/eggULmDNnDuvXr+eLL75g2bJl/OlPf2Lz5s2e+Xe+fPrpp3Tr1g2Hw8HWrVuZOXMmsbGx3HPPPS1qx7PPPsu4ceM4ePAg999/P8899xyxsbENXrN06VJKS0t57rnn2Lx5c6PPcLfZLSYmhs8//5zQ0FBP7yVAjx49GDRoELt37270evEP9QB2UOrxExHxnwEDBhAUFMSePXuadH6PHj245ZZbeOqpp9i9ezeJiYk89dRTDV6TkpJCamoq559/PtOnT2fq1KksWLAAgIEDBwLUCVBuu3fv9pzjFh8fT2pqKtdccw2vvfYaU6ZMoaCgoMbXtHfv3hrXJCQkkJqa2mhQrN1m90dziy2f7fXSevSd7+DcPX6a8yci0n5iY2MZP348mZmZntW83oqKiuq9NiwsjP79+/u8riEhISHY7a6/66+55hpiY2N5+umn65z33nvvsX//fm6//fZ675Wens6wYcM8gRJcQ8SffPIJX331VbPa1ZjzzjuPyspKvvjiC8+x48ePs3fvXtLS0lr1WdJ6FABbIDMzk7S0NIYPH97mz4qJDMNkCOH59VmYDCHERJ6Z0Os9R9CjKAeO7HR9FhGRFnOX+0pPT+ftt99m//797N69m+eee46RI0cC8MEHH3DHHXfwwQcfsG/fPvbu3ctTTz3FRx99VKcGX20FBQXk5+dz6NAh3nrrLZYvX+65JjIykj//+c+sWrWKu+66i2+++YYffviBV155hTvvvJObb765xvw+X2bPns2f//xncnNzAbj//vsZOXIkV111FUuWLGHHjh1kZ2ezZs0a/vnPf9aoK9gcAwYMYNKkScyYMYPPPvuMr7/+mjvuuIOkpKRGvwfiP5oD2AIZGRlkZGR4NpNuS0lmE2vnjsZaWk5MZJhnKDi3yM59y97HVFmEPdTM8rk/I4lCyEyHijIwREDGVjAnt2n7RETORlaBrcM+p1+/fuzYsYMFCxYwd+5c8vLy6NmzJ8OGDePFF18EIC0tjYiICObOnUtOTg5Go5EBAwbw8ssvM3Xq1Abv716QERoaSnJyMr/+9a959NFHPe/ffPPNbNiwgQULFjBq1ChOnTrFgAEDeOihh5g9e3ajq3YnTJhASkoKCxYsYOnSpYSHh7Nu3ToWL17Ma6+9xvz586muriY
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABnsElEQVR4nO3de1zUZd7/8ReHYRhAGRBHDmKiqEWZtiZmZWpZaltZbmXtnWvu3ra1WJquW97tdtpcf9120Apzt+O97t6tdZfZabU8V+umaXbyiJISgogO4MA4nOb3xzjjAMNRYIB5Px8PHjjf+R4uoOTtdfhcQU6n04mIiIiIBIxgfzdARERERNqXAqCIiIhIgFEAFBEREQkwCoAiIiIiAUYBUERERCTAKACKiIiIBBgFQBEREZEAowAoIiIiEmAUAEVEREQCjAKgiIiISIBRABQREREJMAqAIiIiIgFGAVBEREQkwCgAioiIiAQYBUARERGRAKMAKCIiIhJgFABFREREAowCoIiIiEiAUQAUERERCTAKgCIiIiIBRgFQREREJMAoAIqIiIgEGAVAERERkQCjACgiIiISYBQARURERAKMAqCIiIhIgFEAFBEREQkwCoAiIiIiAUYBUERERCTAKACKiIiIBBgFQBEREZEAowAoIiIiEmAUAEVEREQCjAKgiIiISIBRABQREREJMAqAIiIiIgFGAVBEREQkwCgAioiIiAQYBUARERGRAKMAKCIiIhJgFABFREREAowCoIiIiEiAUQAUERERCTAKgCIiIiIBRgFQREREJMAoAIqIiIgEGAVAERERkQCjACgiIiISYBQARURERAKMAqCIiIhIgFEAFBEREQkwCoAiIiIiAUYBUERERCTAKACKiIiIBBgFQBEREZEAowAoIiIiEmBC/d2Azqy6upojR47QrVs3goKC/N0cERERaQKn08nJkydJTEwkODgw+8IUAM/CkSNHSE5O9nczREREpAVycnLo3bu3v5vhFwqAZ6Fbt26A6z+g7t27+7k1IiIi0hQlJSUkJyd7fo8HIgXAs+Ae9u3evbsCoIiISCcTyNO3AnPg+yxlZmaSlpbG8OHD/d0UERERkWYLcjqdTn83orMqKSkhOjqa4uJi9QCKiIh0Evr9rR5AERERkYCjOYAiItLmnE4nlZWVVFVV+bspEgBCQkIIDQ0N6Dl+jVEAFBGRNlVeXk5eXh5lZWX+booEkIiICBISEggLC/N3UzokBcAWyMzMJDMzU/+SFRFpRHV1NdnZ2YSEhJCYmEhYWJh6ZaRNOZ1OysvLOXbsGNnZ2QwYMCBgiz03RItAzoImkYqINOzUqVNkZ2dzzjnnEBER4e/mSAApKyvj0KFDpKSkEB4eXuM9/f7WIhAREWkH6oGR9qb/5hqm746IiIhIgNEcQBER8YvcIjvW0vJ2e15MZBhJZlO7Pc9t48aNjB07FqvVitlsbvfni/iiACgiIu0ut8jOuKc3Ya9ov8V0JkMIa+eOblYIzM/PZ8GCBXz44Yfk5uZisVgYOnQos2fP5qqrrgLg66+/5g9/+AP//ve/KSkpIT4+nhEjRvD8889jsVi49NJLycvLIzo6GjgTCN3Cw8Pp168fs2bN4q677qrx/H/961888cQTbNmyBbvdzoABA5g+fTqzZs0iJCTEc573wppu3boxaNAgfv/73zNp0qQa9ysvL2fJkiW88cYb7N27l9DQUPr27cv111/Pb37zGxITE31+H2q32e2hhx7iiSeeaPT7eLbXS+tTAGwBrQIWETk71tJy7BVVLJ4ylFRLVJs/L6vAxuwVO7GWljc5AP7www9cdtllmM1mFi1axODBg6moqGDNmjVkZGSwZ88ejh07xlVXXcV1113HmjVrMJvN/PDDD7z33nuUlpYCEBYWRnx8fJ377927l+7du2O323n//fe555576N+/vydYrly5kltvvZXp06ezYcMGzGYza9eu5Xe/+x1btmzhzTffrBH8XnvtNSZMmEBJSQlLly7l5ptvZseOHQwePBgAh8PBNddcwzfffMNjjz3GZZddRs+ePcnOzuaNN97g+eefZ+HChQ1+T9xtdouKat7P7myvl1bklBYrLi52As7i4uJ2ed6P1jLntz8WOX+0lrXL80REzpbdbnfu2rXLabfbaxz/9sci5zkPfOD89seidmlHS543ceJEZ1JSktNms9V5z2q1Op1Op3PlypXO0NBQZ0VFRb332bBhgxPwXFP7tVv//v2d//3f/+10Op1Om83m7NGjh3Py5Ml17vfee+85Aec//vEPzzHAuXLlSs/rkpISJ+BcsmSJ59jChQudwcHBzh07dvhsZ3V1dZO/htpOnDjhnDp1qtNsNjtNJpNzwoQJzn379jX5+rZQ3397Tmf7//7uiLQIpJNwD5dc9/xnjHt6E7lFdn83SUSkyzpx4gSrV68mIyODyMjIOu+75/LFx8dTWVnJypUrcbawqprT6WT16tUcPnyYESNGAPDxxx9z/Phxfvvb39Y5//rrr2fgwIG88cYbPu9XWVnJK6+8AlCjCPIbb7zB1VdfzUUXXeTzurOpz3jnnXfy5Zdf8t5777FlyxacTifXXnstFRUVLb6ntC0FwA4st8jOd7nFnonS9ooq7r0yFXtFVbtOnBYRCTRZWVk4nU7OPffcBs+75JJL+K//+i9+/vOfExcXx8SJE1m0aBFHjx5t9Bm9e/cmKiqKsLAwfvrTn/LII49wxRVXALBv3z4AzjvvPJ/XnnvuuZ5z3G6//XaioqIwGo3cf//99O3bl1tvvdXz/r59+xg0aFCNa2666SaioqKIiori0ksvbXKb3R/Hjx9n//79vPfee7z88suMGjWKIUOG8Pe//53c3FzefffdRq8X/9AcwA7Ke4K0yRDC4tuGAvhlBZuISKBpTm/eggULmDNnDuvXr+eLL75g2bJl/OlPf2Lz5s2e+Xe+fPrpp3Tr1g2Hw8HWrVuZOXMmsbGx3HPPPS1qx7PPPsu4ceM4ePAg999/P8899xyxsbENXrN06VJKS0t57rnn2Lx5c6PPcLfZLSYmhs8//5zQ0FBP7yVAjx49GDRoELt37270evEP9QB2UOrxExHxnwEDBhAUFMSePXuadH6PHj245ZZbeOqpp9i9ezeJiYk89dRTDV6TkpJCamoq559/PtOnT2fq1KksWLAAgIEDBwLUCVBuu3fv9pzjFh8fT2pqKtdccw2vvfYaU6ZMoaCgoMbXtHfv3hrXJCQkkJqa2mhQrN1m90dziy2f7fXSevSd7+DcPX6a8yci0n5iY2MZP348mZmZntW83oqKiuq9NiwsjP79+/u8riEhISHY7a6/66+55hpiY2N5+umn65z33nvvsX//fm6//fZ675Wens6wYcM8gRJcQ8SffPIJX331VbPa1ZjzzjuPyspKvvjiC8+x48ePs3fvXtLS0lr1WdJ6FABbIDMzk7S0NIYPH97mz4qJDMNkCOH59VmYDCHERJ6Z0Os9R9CjKAeO7HR9FhGRFnOX+0pPT+ftt99m//797N69m+eee46RI0cC8MEHH3DHHXfwwQcfsG/fPvbu3ctTTz3FRx99VKcGX20FBQXk5+dz6NAh3nrrLZYvX+65JjIykj//+c+sWrWKu+66i2+++YYffviBV155hTvvvJObb765xvw+X2bPns2f//xncnNzAbj//vsZOXIkV111FUuWLGHHjh1kZ2ezZs0a/vnPf9aoK9gcAwYMYNKkScyYMYPPPvuMr7/+mjvuuIOkpKRGvwfiP5oD2AIZGRlkZGR4NpNuS0lmE2vnjsZaWk5MZJhnKDi3yM59y97HVFmEPdTM8rk/I4lCyEyHijIwREDGVjAnt2n7RETORlaBrcM+p1+/fuzYsYMFCxYwd+5c8vLy6NmzJ8OGDePFF18EIC0tjYiICObOnUtOTg5Go5EBAwbw8ssvM3Xq1Abv716QERoaSnJyMr/+9a959NFHPe/ffPPNbNiwgQULFjBq1ChOnTrFgAEDeOihh5g9e3ajq3YnTJhASkoKCxY
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.hist(np.log10(csiborg_fof[:, -2] / 0.705), bins=\"auto\", log=True, histtype=\"step\", label='CSiBORG FoF')\n",
"plt.hist(np.log10(csiborg_cat[\"totpartmass\"]), bins=\"auto\", log=True, histtype=\"step\", label=\"CSiBORG PHEW\")\n",
"plt.hist(np.log10(quijote_cat[\"group_mass\"]), bins=\"auto\", histtype=\"step\", label=\"Quijote FoF\")\n",
"plt.legend()\n",
"\n",
"\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d242ddb0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "a9200c76",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 51,
"id": "06cc35b1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([100.44731, 143.59903, 158.12021, ..., 213.53363, 218.15207,\n",
" 218.61882], dtype=float32)"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": 53,
"id": "cd33d03e",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bf73baae160049268b46991832a47d75",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.hist(dist / 0.705, bins=\"auto\", histtype=\"step\")\n",
"plt.hist(dist2, bins=\"auto\", histtype=\"step\")\n",
"\n",
"plt.hist(np.linalg.norm(quijote_cat.position(), axis=1), bins=\"auto\", histtype=\"step\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "26b83bbd",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 9,
"id": "d3db5559",
"metadata": {},
"outputs": [],
"source": [
"X = np.array([0, 0, 0]).reshape(1, -1)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "6ee0c806",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([array([ 7.7495615 , 17.05076811, 17.28896309, 17.42792485, 18.78253772,\n",
" 18.89366715, 19.24021407, 19.48198974, 19.53599652, 19.56240634,\n",
" 20.29059147, 20.2994311 , 20.91068463, 21.62697268, 21.66333893,\n",
" 21.71842546, 22.08684564, 22.15070161, 22.33512711, 22.45556959,\n",
" 22.51629665, 22.84347987, 23.18185706, 23.27694884, 23.34952075,\n",
" 23.78108307]) ],\n",
" dtype=object),\n",
" array([array([17476, 26174, 29688, 37662, 25678, 18437, 23316, 17469, 22100,\n",
" 34216, 30997, 11423, 39383, 24670, 39379, 24937, 21691, 24875,\n",
" 19232, 10364, 29973, 2450, 6841, 24175, 36162, 1514]) ],\n",
" dtype=object))"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"quijote_cat.radius_neigbours(X, 25, False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b145138e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 30,
"id": "8c617b07",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"677.7000150513364"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"csiborg_cat.box.box2mpc(1) * 0.705"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "e1055167",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"36830"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.sum(np.log10(csiborg_cat[\"M\"]) > 12.38)"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "fc55a9e1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"('index',\n",
" 'x',\n",
" 'y',\n",
" 'z',\n",
" 'M',\n",
" 'subfrac',\n",
" 'npart',\n",
" 'totpartmass',\n",
" 'vx',\n",
" 'vy',\n",
" 'vz',\n",
" 'conc',\n",
" 'rho0',\n",
" 'r200c',\n",
" 'r500c',\n",
" 'm200c',\n",
" 'm500c',\n",
" 'lambda200c',\n",
" 'r200m',\n",
" 'm200m',\n",
" 'x0',\n",
" 'y0',\n",
" 'z0',\n",
" 'lagpatch')"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"csiborg_cat.keys"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "e7fc2274",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1bef9469e4f248698b8a2970f9881e56",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.hist(np.log10(quijote_cat[\"group_mass\"] / 1.1), bins=\"auto\", histtype=\"step\")\n",
"plt.hist(np.log10(csiborg_cat[\"totpartmass\"] /0.8), bins=\"auto\", histtype=\"step\")\n",
"\n",
"plt.yscale(\"log\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "3073360b",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 5,
"id": "161d8cef",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"152084"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(csiborg_cat)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c1183824",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "cb83a673",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "419d589b",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"snapdir = \"/mnt/extraspace/mhutt/Quijote/0\"\n",
"snapnum = 4"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"FoF = readfof.FoF_catalog(snapdir, snapnum, long_ids=False,\n",
" swap=False, SFR=False, read_IDs=False)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "d4aefd88",
"metadata": {},
"outputs": [],
"source": [
"nsim0 = 7444\n",
"cat0 = csiborgtools.read.HaloCatalogue(nsim0, paths, load_initial=True, minmass=None, with_lagpatch=True, load_clumps_cat=True)"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "48d32eae",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ -26.875292 , -213.67123 , -44.62333 ],\n",
" [ -18.052368 , -200.90123 , -51.869022 ],\n",
" [ -2.8416512, -197.68973 , -3.954551 ],\n",
" ...,\n",
" [ -17.923822 , -124.58265 , 14.00597 ],\n",
" [ -58.270424 , -180.12384 , 13.196371 ],\n",
" [ -21.268452 , -122.9395 , 0.6759848]], dtype=float32)"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat0.position()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b6ccf4a5",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 22,
"id": "174206f5",
"metadata": {},
"outputs": [],
"source": [
"clumpmap0 = csiborgtools.read.read_h5(paths.particles_path(nsim0))[\"clumpmap\"]\n",
"parts0 = csiborgtools.read.read_h5(paths.initmatch_path(nsim0, \"particles\"))[\"particles\"]\n",
"clid2map0 = {clid: i for i, clid in enumerate(clumpmap0[:, 0])}\n",
"\n",
"# # clumpmapx = csiborgtools.read.read_h5(paths.particles_path(nsimx))[\"clumpmap\"]\n",
"# # partsx = csiborgtools.read.read_h5(paths.initmatch_path(nsimx, \"particles\"))[\"particles\"]\n",
"# # clid2mapx = {clid: i for i, clid in enumerate(clumpmapx[:, 0])}\n",
"\n",
"cat0 = csiborgtools.read.HaloCatalogue(nsim0, paths, load_initial=True, minmass=None, with_lagpatch=True, load_clumps_cat=True)\n",
"catx = csiborgtools.read.HaloCatalogue(nsimx, paths, load_initial=True, minmass=None, with_lagpatch=True, load_clumps_cat=True)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "0666813a",
"metadata": {},
"outputs": [],
"source": [
"f = np.load(paths.field_path(\"potential\", \"PCS\", 256, 7444, False))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "d78a5090",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "145d1be18da64a6db01c34172ce850cd",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9f7A3yVXfh7+75z67KwvtKpKtXalYia2QRCJgqxB4tRXjInjDGiuuEPYPoCisgAwFtasy2tggYowEBstR7AgwC3LFGCVVqGyoSkiVRCkWSxEKWAFenIoBo4JE/kpJeFZ2iLRGZe0+99P9/aP7nD7n9OmZ+dz77N3nPk+fqs/9zI+enp75zJ15zfv0OR1yzhnTpk2bNm3atGnTbhmLL3QDpk2bNm3atGnTpl2sTQCcNm3atGnTpk27xWwC4LRp06ZNmzZt2i1mEwCnTZs2bdq0adNuMZsAOG3atGnTpk2bdovZBMBp06ZNmzZt2rRbzCYATps2bdq0adOm3WI2AXDatGnTpk2bNu0WswmA06ZNmzZt2rRpt5hNAJw2bdq0adOmTbvFbALgtGnTpk2bNm3aLWYTAKdNmzZt2rRp024xmwA4bdq0adOmTZt2i9kEwGnTpk2bNm3atFvMJgBOmzZt2rRp06bdYjYBcNq0adOmTZs27RazCYDTpk2bNm3atGm3mE0AnDZt2rRp06ZNu8VsAuC0adOmTZs2bdotZhMAp02bNm3atGnTbjGbADht2rRp06ZNm3aL2QTAadOmTZs2bdq0W8wmAE6bNm3atGnTpt1iNgFw2rRp06ZNmzbtFrMJgNOmTZs2bdq0abeYTQCcNm3atGnTpk27xWwC4LRp06ZNmzZt2i1mEwCnTZs2bdq0adNuMZsAOG3atGnTpk2bdovZBMBp06ZNmzZt2rRbzCYATps2bdq0adOm3WI2AXDatGnTpk2bNu0WswmA06ZNmzZt2rRpt5hNAJw2bdq0adOmTbvFbALgtGnTpk2bNm3aLWYTAKdNmzZt2rRp024xmwA4bdq0adOmTZt2i9kEwGnTpk2bNm3atFvMJgBOmzZt2rRp06bdYjYBcNq0adOmTZs27RazCYDTpk2bNm3atGm3mE0AnDZt2rRp06ZNu8VsAuC0adOmTZs2bdotZhMAp02bNm3atGnTbjGbADht2rRp06ZNm3aL2QTAadOmTZs2bdq0W8wmAE6bNm3atGnTpt1iNgFw2rRp06ZNmzbtFrMJgNOmTZs2bdq0abeYTQCcNm3atGnTpk27xWwC4LRp06ZNmzZt2i1mEwCnTZs2bdq0adNuMZsAOG3atGnTpk2bdovZBMALtscffxyf93mfhzvuuAP3338/fv3Xf/2FbtK0adOmTZs27RazCYAXaP/4H/9jPPbYY3jHO96B3/zN38Sf+lN/Cg899BA++clPvtBNmzZt2rRp06bdQhZyzvmFbsStYvfffz++9Eu/FD/6oz8KAEgp4d5778Vb3/pWvP3tb3+BWzdt2rRp06ZNu1Xs5IVuwK1izz33HJ566il893d/Ny+LMeLBBx/Ek08+2ZV/9tln8eyzz/J8Sgl/+Id/iJe//OUIIVxIm6dNmzZt2vWznDP+zb/5N3jVq16FGJ8/B9xnP/tZPPfcc+eu57bbbsMdd9xxHVo07Ua0CYAXZP/6X/9rHA4H3H333Wr53Xffjd/93d/tyr/rXe/C933f911U86ZNmzZt2gXZJz7xCXzu537u81L3Zz/7Wdz3ms/B1U8ezl3XPffcg4997GMTAm9SmwB4g9p3f/d347HHHuP5T3/603j1q1+N+7/s7Tg5uR2IRQXMAQDkdJ0NQA6hfMe2PJN6WL+yFBONsJit0BhCv2xkQbRDLOM20fq6nxxb+bQAeSn7yidlHrGU4WnaJmZel0Nbh5jFfG5tqeVLe7JoZ27HL48x2++NEyDL27Kh7lvsN8QMxIyAjLDksjhkhFg/ISME1E+dBxBpOpQdRrErWuZZbL8Gl7Plz6Mv8+HngJwDEup3bsvldxLnSLbClsu5fFrd4POrp/e1Xh1zkOekX9YfpN5HFtdGzqEcR21jzoGvhZwCkOr2CUAKCCkAByCkgFCXxQOABIQDEA60HAgJZV0u0+FQvzMQDrlMy+WpLs9l+8hlMkKtpxzqRi+g3E+PTo97P+H/89CmoylD663ZRbbN9Vwg12W5TdOxh5Tb+gTxg4njEPWp3ctzkzbOEwDEIO679R831mkA1w7P4SO/8rfxkpe8ZLuuM9pzzz2Hq5884GNPvQZ3vuTsKuMz/ybhvjf8//Dcc89NALxJbQLgBdkf/+N/HMuy4Omnn1bLn376adxzzz1d+dtvvx233357t/xKvB0nS/ln5JttrGAWBAhKCASGN15101U3Y1uO5vc9YOX2Oehv2q8CUwFwMQLppKzPCxBOwJAXBAzmJTM45kXsJ+YGvqGU4/OxiCcYASTK9/DhLyEl+8vLPNoDJLUHP9dpYbNCHoFgiBkxZKBCX4wN8tYAMJpmSLiJKyBTtu3XnxUA+dAFjIUKRUjyHAYuYx9PFuA0ALZ69Tw2AVAepVfCA8K1S11eBwF6/woAxXUwBMAEhFMfAOMhFFizAHgwoBczw18MaKAXyjYB9eUCFYoiQdHghEhIcpaPTk32ZkK7P8l7gLo/mUqzvDCCrbguruCHaOGvQl/IfG4YAA/mZccCYHcQAgIdAAzZ3AboxbzCH9+Xoz7Wi+jG8+LPKZ+z2sE559NuLpsAeEF222234Q1veAOeeOIJfPVXfzWA0q/viSeewKOPPrq7npAzQsrIIfDNO6eMEAOQi+oVquyWKzTQDTSH+jAB2s02iv9yAWe0Opvi2bsTd40MfGPl5wu1NVJ9uUBBfT62gseb98zPwawLKEogoOGvAhmBWGm+PUb5cJBPKb1cggj/ACPVYONYO1VOqX09/Nnya+Dnld/TrFGN8vks4S9lX/1LBElimbs/Z10PiHDhb+3o3XViW/4FFTVe56fhbind27Z8BQI4UgSTnBeKIE0fMuJpFuXXwabfX6+SSYVM3jcUzKXCQDmU+5R6meT/SbPdXiVXtonPRwZSFnCHpv6FYH5Y0ZZs2jL61+0AUTQ55QKB9aYWEMo9M4UK6ZOqpt04NgHwAu2xxx7Dm9/8ZnzJl3wJ/vSf/tP4oR/6IXzmM5/BN33TN+2vhG90VeUquIdcbywhBoa0cvNpRttQPR4Q5oh6ywq8ONMTPpibHddr7tdKPahtCIOy3iFer5dj+1CR36zIVeVPwPLay3lAFi6/+pXLiaGHb84oDwH1MHDaQbOkOI326Yskrm2Bn9zfMXY0UAEMf0NV7kj4a+v2KX3HmFaudN1hdNFebyjs6l9ZZeCGrr0GQTAgmJurlODPQFKrW6th2g1Ky8X/eLYTaBet6NpR7lMEg2KdKM+CuarLOQHOOxrBXwd+e20Ah+Vle8f/lXeZZA2BfP4uwBIy0pn/I3CubaddDpsAeIH2tV/7tfhX/+pf4Xu/93tx9epVvP71r8eHPvShLjBkzcKhKUHy5so3XIK8qgiqdcKKUui8fed6pyY3Kno1kDdZuUd3gEjV13naBwPs3hOw1/iYclP/FPhBKX+BXMCh9cMbGbse5fEJ+GMQpAOzVVXVlcCTp4f724BSoQzKZRaS9riG6ac5i1n1T9Vr1D/bx2/NRs/eVdfvOd4isjyPpm51XQyO8Tz79n4W+pfsV4CBTqmAFfbiQcwf6r2D+sUdMveNK/s1kEeuXoap3PYpyyd9rlrf5MALg3CFhli9FwHAIYt+gdV7ofo2Y/3CV+dCtJegt7qFWf2Tx0GzwZxzex8Vx8wvdc5+1bYpI0TwSzTfRfPFKoAJ6Vy8eb6tp10GmwB4wfboo48e5fK1Vm7u5SYiwYBurEB9kU1ooOP0A2Zljzao8yFk5Fj6I3lqIJu9D5rK+W24NlJBoLixBgh3du7uz7st1/3qfoa0TNzMBQQG2wcP9QFPqiCfntaonAOrgIFPWuagB1qXyR3HJGiM1caMMxOXMHILq12Ydp/HRlt3Qoxx/cr9JgNSOQcXVHV9rV7l4jX
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.sum(f, axis=0))\n",
"plt.colorbar()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "04a56637",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "7f8a6901",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 7,
"id": "4dbbb064",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(3, 512, 512, 512)"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f.shape"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "341c81d61b504b10a8238aba17694b25",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9XchtW1YdDLfex5hzrvXsfU6Vms/6IfqmICAhIYoaiyQXn0KBqYBEvIkgRDQkED4DoQISIfEHAkIIRPIDufCiYiCQO8mVJFHEL0E0Goo3kB+SIJ8iVhnf0nPOfp5nrTnH6P276D9jrn0Ky6rj2VX77NnhaO29n2etueaac442Wm+tdVJVxVFHHXXUUUcdddRRr0zxl/oAjjrqqKOOOuqoo456sXUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4A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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9XchtW1YdDLfex5hzrvXsfU6Vms/6IfqmICAhIYoaiyQXn0KBqYBEvIkgRDQkED4DoQISIfEHAkIIRPIDufCiYiCQO8mVJFHEL0E0Goo3kB+SIJ8iVhnf0nPOfp5nrTnH6P276D9jrn0Ky6rj2VX77NnhaO29n2etueaac442Wm+tdVJVxVFHHXXUUUcdddRRr0zxl/oAjjrqqKOOOuqoo456sXUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4AeNRRRx111FFHHfWK1QEAjzrqqKOOOuqoo16xOgDgUUcdddRRRx111CtWBwA86qijjjrqqKOOesXqAIBHHXXUUUcdddRRr1gdAPCoo4466qijjjrqFasDAB511FFHHXXUUUe9YnUAwKOOOuqoo4466qhXrA4A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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.log10(np.abs(np.mean(f[0, ...], axis=-1))))\n",
"plt.colorbar()\n",
"plt.savefig(\"../plots/eye.png\", dpi=450)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 76,
"id": "f453a77e",
"metadata": {},
"outputs": [],
"source": [
"x = pair.dist(in_initial=True, norm_kind=\"sum_patch\")\n",
"y = pair.overlap(False)\n",
"\n",
"x = np.concatenate(x)\n",
"y = np.concatenate(y)"
]
},
{
"cell_type": "code",
"execution_count": 80,
"id": "c761a313",
"metadata": {},
"outputs": [],
"source": [
"from scipy.special import comb\n",
"from itertools import combinations"
]
},
{
"cell_type": "code",
"execution_count": 81,
"id": "baba038a",
"metadata": {},
"outputs": [],
"source": [
"ics = paths.get_ics()"
]
},
{
"cell_type": "code",
"execution_count": 88,
"id": "b7885003",
"metadata": {},
"outputs": [],
"source": [
"import random\n",
"\n",
"combs = list(combinations(ics, 2))\n",
"random.shuffle(combs)"
]
},
{
"cell_type": "code",
"execution_count": 91,
"id": "12d2c301",
"metadata": {},
"outputs": [],
"source": [
"random.Random(32).shuffle(combs)"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "d2021330",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[(8236, 9676),\n",
" (7756, 7924),\n",
" (7684, 9796),\n",
" (7996, 9244),\n",
" (8380, 8476),\n",
" (8596, 8956),\n",
" (9220, 9268),\n",
" (8572, 9604),\n",
" (7588, 9028),\n",
" (7636, 7732),\n",
" (7588, 8884),\n",
" (7636, 8980),\n",
" (7564, 9460),\n",
" (8092, 9292),\n",
" (7900, 8548),\n",
" (7804, 9508),\n",
" (8500, 9004),\n",
" (8212, 9148),\n",
" (7516, 8548),\n",
" (7684, 8140),\n",
" (8476, 8908),\n",
" (8308, 8452),\n",
" (7756, 8188),\n",
" (8620, 9772),\n",
" (8932, 9388),\n",
" (8692, 9028),\n",
" (7732, 9028),\n",
" (8476, 8716),\n",
" (7924, 8188),\n",
" (9388, 9700),\n",
" (8620, 9364),\n",
" (9148, 9412),\n",
" (7540, 8860),\n",
" (8500, 9244),\n",
" (8548, 9508),\n",
" (7972, 8596),\n",
" (8356, 8524),\n",
" (7684, 8764),\n",
" (7588, 8524),\n",
" (8044, 8188),\n",
" (7924, 9364),\n",
" (7492, 8716),\n",
" (8332, 8404),\n",
" (7804, 8260),\n",
" (8044, 8524),\n",
" (7804, 8812),\n",
" (8692, 8812),\n",
" (8332, 8956),\n",
" (9100, 9316),\n",
" (7684, 9844),\n",
" (7852, 8932),\n",
" (7468, 9316),\n",
" (7900, 9196),\n",
" (7780, 8188),\n",
" (8284, 8428),\n",
" (8500, 9028),\n",
" (7732, 9004),\n",
" (8980, 9556),\n",
" (7444, 7876),\n",
" (9028, 9340),\n",
" (8476, 8788),\n",
" (9508, 9796),\n",
" (9292, 9820),\n",
" (7828, 8740),\n",
" (7876, 9556),\n",
" (7468, 9220),\n",
" (8404, 8668),\n",
" (7924, 8596),\n",
" (8524, 9196),\n",
" (7948, 9364),\n",
" (8740, 8788),\n",
" (8308, 8956),\n",
" (9364, 9772),\n",
" (7492, 9364),\n",
" (7876, 9388),\n",
" (7804, 8212),\n",
" (9052, 9220),\n",
" (7468, 9628),\n",
" (8236, 8308),\n",
" (8548, 9028),\n",
" (7564, 7756),\n",
" (8884, 9652),\n",
" (9460, 9532),\n",
" (7444, 9772),\n",
" (8860, 8908),\n",
" (7924, 9196),\n",
" (7636, 8164),\n",
" (7468, 8404),\n",
" (7516, 8836),\n",
" (8212, 8980),\n",
" (8356, 9004),\n",
" (9004, 9340),\n",
" (8428, 8956),\n",
" (8404, 9700),\n",
" (8140, 8716),\n",
" (7708, 8788),\n",
" (7660, 8260),\n",
" (8836, 9196),\n",
" (7876, 9748),\n",
" (7684, 8740),\n",
" (8500, 8884),\n",
" (7924, 8092),\n",
" (9652, 9772),\n",
" (8548, 9124),\n",
" (7948, 8764),\n",
" (7516, 8164),\n",
" (7708, 9364),\n",
" (7540, 7828),\n",
" (8404, 9004),\n",
" (7612, 9004),\n",
" (8836, 9796),\n",
" (8428, 8500),\n",
" (8644, 9580),\n",
" (8020, 8812),\n",
" (8644, 8884),\n",
" (7852, 9628),\n",
" (9340, 9652),\n",
" (7588, 9484),\n",
" (7900, 8668),\n",
" (7516, 9700),\n",
" (8212, 8500),\n",
" (8308, 9724),\n",
" (7468, 8020),\n",
" (7516, 7900),\n",
" (7828, 8788),\n",
" (8524, 9412),\n",
" (7684, 7972),\n",
" (9148, 9748),\n",
" (7708, 9412),\n",
" (7732, 9580),\n",
" (7924, 8428),\n",
" (9388, 9844),\n",
" (8068, 8908),\n",
" (8140, 9052),\n",
" (7564, 9652),\n",
" (7468, 9124),\n",
" (7660, 9796),\n",
" (8260, 9532),\n",
" (7564, 8476),\n",
" (7492, 8932),\n",
" (8932, 9124),\n",
" (8212, 8236),\n",
" (8596, 9100),\n",
" (8860, 9604),\n",
" (8956, 9676),\n",
" (8308, 9172),\n",
" (8380, 8500),\n",
" (7900, 7996),\n",
" (8692, 9388),\n",
" (7996, 8740),\n",
" (8524, 9148),\n",
" (7444, 8692),\n",
" (8596, 9412),\n",
" (8020, 8860),\n",
" (7900, 9340),\n",
" (8044, 9364),\n",
" (7780, 8212),\n",
" (7612, 9196),\n",
" (8692, 9796),\n",
" (8596, 8692),\n",
" (7732, 9436),\n",
" (8668, 9724),\n",
" (8212, 8956),\n",
" (8404, 9628),\n",
" (9532, 9820),\n",
" (8764, 9004),\n",
" (8188, 8332),\n",
" (7924, 8692),\n",
" (7756, 9676),\n",
" (7756, 9316),\n",
" (8452, 9748),\n",
" (8476, 9004),\n",
" (7732, 9484),\n",
" (8452, 9844),\n",
" (8260, 8284),\n",
" (8044, 9748),\n",
" (7564, 8620),\n",
" (8260, 8836),\n",
" (8740, 9556),\n",
" (8452, 9292),\n",
" (8140, 8380),\n",
" (8500, 8572),\n",
" (7516, 8572),\n",
" (8236, 9628),\n",
" (8332, 9196),\n",
" (8644, 9364),\n",
" (8428, 9196),\n",
" (8812, 9172),\n",
" (8836, 9076),\n",
" (7828, 8404),\n",
" (8092, 8788),\n",
" (8644, 9388),\n",
" (8308, 9244),\n",
" (8188, 9268),\n",
" (8284, 8764),\n",
" (8500, 9388),\n",
" (7564, 8812),\n",
" (7588, 8644),\n",
" (8212, 8764),\n",
" (7732, 8044),\n",
" (7588, 7828),\n",
" (7852, 9436),\n",
" (8668, 9388),\n",
" (7828, 8164),\n",
" (8044, 9316),\n",
" (8116, 8956),\n",
" (8284, 8692),\n",
" (8884, 9100),\n",
" (7468, 9820),\n",
" (8596, 8860),\n",
" (9316, 9772),\n",
" (9004, 9172),\n",
" (8212, 9364),\n",
" (7828, 9724),\n",
" (8500, 9124),\n",
" (8716, 9364),\n",
" (7900, 8020),\n",
" (8404, 9772),\n",
" (7468, 8692),\n",
" (7876, 9148),\n",
" (9076, 9844),\n",
" (8596, 9340),\n",
" (8548, 8956),\n",
" (9148, 9268),\n",
" (8116, 9700),\n",
" (8092, 9532),\n",
" (7948, 8980),\n",
" (7564, 8716),\n",
" (8308, 9508),\n",
" (8524, 9796),\n",
" (8020, 9460),\n",
" (7564, 9796),\n",
" (8740, 9028),\n",
" (9412, 9460),\n",
" (7492, 9652),\n",
" (7468, 8884),\n",
" (9196, 9844),\n",
" (7732, 9172),\n",
" (9028, 9412),\n",
" (7756, 9196),\n",
" (8332, 9796),\n",
" (8548, 9484),\n",
" (8404, 8956),\n",
" (8836, 9220),\n",
" (8356, 9076),\n",
" (8308, 9196),\n",
" (8884, 9244),\n",
" (9580, 9676),\n",
" (7876, 7972),\n",
" (7564, 9820),\n",
" (9076, 9700),\n",
" (7804, 9196),\n",
" (7876, 8572),\n",
" (8788, 9388),\n",
" (8188, 8236),\n",
" (7540, 8284),\n",
" (7612, 8692),\n",
" (8500, 8908),\n",
" (8428, 9172),\n",
" (7948, 8500),\n",
" (7660, 8236),\n",
" (7828, 9796),\n",
" (7852, 8020),\n",
" (8260, 9724),\n",
" (8020, 9172),\n",
" (9340, 9700),\n",
" (7444, 8644),\n",
" (7900, 8236),\n",
" (8164, 8788),\n",
" (8620, 9004),\n",
" (7564, 8308),\n",
" (7996, 8428),\n",
" (8236, 9700),\n",
" (8188, 8308),\n",
" (7660, 9052),\n",
" (9100, 9292),\n",
" (7444, 8884),\n",
" (7828, 8260),\n",
" (8404, 9268),\n",
" (7972, 9076),\n",
" (7444, 8212),\n",
" (8524, 9364),\n",
" (8308, 8668),\n",
" (8500, 8812),\n",
" (7996, 8788),\n",
" (8020, 8140),\n",
" (8764, 9412),\n",
" (9244, 9436),\n",
" (8908, 9724),\n",
" (8212, 9532),\n",
" (8692, 8956),\n",
" (8212, 9268),\n",
" (7924, 8044),\n",
" (7612, 8092),\n",
" (8956, 9004),\n",
" (8788, 9436),\n",
" (9004, 9484),\n",
" (8020, 9244),\n",
" (8812, 9508),\n",
" (8116, 8236),\n",
" (9268, 9388),\n",
" (8668, 9460),\n",
" (8212, 8836),\n",
" (8908, 9508),\n",
" (7636, 8260),\n",
" (8692, 8788),\n",
" (9148, 9844),\n",
" (7588, 9844),\n",
" (9076, 9436),\n",
" (7900, 8524),\n",
" (7516, 9244),\n",
" (8332, 8884),\n",
" (7708, 8116),\n",
" (7972, 9652),\n",
" (7804, 7924),\n",
" (7660, 9364),\n",
" (8092, 9484),\n",
" (8380, 9700),\n",
" (8356, 8860),\n",
" (8596, 8908),\n",
" (7972, 8812),\n",
" (7804, 8236),\n",
" (8236, 9340),\n",
" (7756, 9148),\n",
" (8068, 9676),\n",
" (8788, 9292),\n",
" (7972, 9220),\n",
" (8044, 9580),\n",
" (9604, 9628),\n",
" (8716, 9604),\n",
" (8404, 8476),\n",
" (8668, 9676),\n",
" (8308, 8980),\n",
" (7828, 8188),\n",
" (8500, 8980),\n",
" (7732, 7804),\n",
" (8356, 8908),\n",
" (8884, 8932),\n",
" (7636, 9604),\n",
" (8188, 8788),\n",
" (8020, 9004),\n",
" (8812, 9412),\n",
" (7564, 9772),\n",
" (7996, 9844),\n",
" (8572, 9004),\n",
" (8572, 9340),\n",
" (7972, 8764),\n",
" (8548, 9340),\n",
" (7852, 9340),\n",
" (8332, 8788),\n",
" (8164, 9460),\n",
" (8596, 8620),\n",
" (8212, 9292),\n",
" (7564, 8212),\n",
" (8092, 9436),\n",
" (7612, 7804),\n",
" (7660, 9148),\n",
" (8356, 9052),\n",
" (9100, 9148),\n",
" (8596, 8932),\n",
" (7732, 8236),\n",
" (7900, 9364),\n",
" (7708, 7972),\n",
" (7636, 8404),\n",
" (9316, 9340),\n",
" (8692, 9604),\n",
" (8764, 9196),\n",
" (9460, 9508),\n",
" (7588, 8764),\n",
" (8260, 9652),\n",
" (7444, 7612),\n",
" (8332, 9676),\n",
" (7684, 8308),\n",
" (8524, 9220),\n",
" (8188, 9700),\n",
" (7996, 8980),\n",
" (8284, 9580),\n",
" (8140, 9508),\n",
" (8572, 8836),\n",
" (7924, 9748),\n",
" (8884, 9748),\n",
" (9148, 9772),\n",
" (8116, 8140),\n",
" (8308, 9028),\n",
" (8980, 9052),\n",
" (8116, 8788),\n",
" (8164, 8836),\n",
" (8620, 9796),\n",
" (7828, 8908),\n",
" (8908, 9172),\n",
" (8572, 8692),\n",
" (7684, 8260),\n",
" (8764, 9436),\n",
" (8092, 9724),\n",
" (8404, 9748),\n",
" (7636, 8476),\n",
" (9412, 9652),\n",
" (8404, 8860),\n",
" (8812, 9292),\n",
" (8548, 8932),\n",
" (9388, 9628),\n",
" (7780, 8788),\n",
" (8140, 9148),\n",
" (7588, 9268),\n",
" (7924, 9340),\n",
" (9268, 9412),\n",
" (8236, 9772),\n",
" (7780, 8548),\n",
" (7444, 9580),\n",
" (7564, 8836),\n",
" (7636, 9292),\n",
" (7660, 9196),\n",
" (7564, 9076),\n",
" (8716, 9532),\n",
" (7540, 8644),\n",
" (8476, 9772),\n",
" (7708, 9100),\n",
" (8884, 9268),\n",
" (9148, 9508),\n",
" (8644, 9076),\n",
" (8836, 8860),\n",
" (7564, 8140),\n",
" (8644, 9244),\n",
" (7852, 8620),\n",
" (7876, 8212),\n",
" (7444, 8812),\n",
" (8524, 8836),\n",
" (7492, 8644),\n",
" (8164, 9076),\n",
" (8020, 9436),\n",
" (8692, 9172),\n",
" (8116, 9076),\n",
" (8572, 8716),\n",
" (8116, 8668),\n",
" (7684, 8116),\n",
" (9532, 9748),\n",
" (8764, 9340),\n",
" (8692, 9244),\n",
" (8572, 9148),\n",
" (8500, 9556),\n",
" (8500, 9532),\n",
" (7588, 9244),\n",
" (7492, 7852),\n",
" (8356, 8788),\n",
" (9148, 9700),\n",
" (7660, 9460),\n",
" (7780, 8428),\n",
" (8380, 9052),\n",
" (7588, 8812),\n",
" (7780, 8980),\n",
" (8452, 9628),\n",
" (8644, 8860),\n",
" (8188, 9412),\n",
" (9244, 9556),\n",
" (7996, 8068),\n",
" (7756, 9412),\n",
" (7804, 8524),\n",
" (7828, 7852),\n",
" (8788, 9628),\n",
" (8884, 9556),\n",
" (7516, 9268),\n",
" (9100, 9820),\n",
" (9220, 9340),\n",
" (7660, 9604),\n",
" (8188, 8980),\n",
" (7468, 7804),\n",
" (9292, 9580),\n",
" (7732, 9076),\n",
" (8620, 9052),\n",
" (7444, 8452),\n",
" (8068, 8884),\n",
" (8332, 9700),\n",
" (9076, 9652),\n",
" (8332, 9172),\n",
" (7756, 9388),\n",
" (8284, 9820),\n",
" (9556, 9772),\n",
" (7972, 8044),\n",
" (7852, 9244),\n",
" (7852, 9316),\n",
" (7612, 9172),\n",
" (8332, 9052),\n",
" (7588, 8692),\n",
" (9340, 9388),\n",
" (8116, 9124),\n",
" (8572, 9700),\n",
" (8668, 8788),\n",
" (8236, 8452),\n",
" (8092, 8428),\n",
" (8020, 9556),\n",
" (7468, 7828),\n",
" (7564, 7684),\n",
" (8380, 9004),\n",
" (8212, 9340),\n",
" (7780, 9028),\n",
" (7780, 9700),\n",
" (8404, 8980),\n",
" (7684, 8620),\n",
" (7684, 8524),\n",
" (7876, 9196),\n",
" (8236, 9532),\n",
" (7684, 9364),\n",
" (8260, 8908),\n",
" (7948, 9028),\n",
" (8908, 8980),\n",
" (7516, 8428),\n",
" (8212, 9676),\n",
" (7876, 9796),\n",
" (8140, 9076),\n",
" (8020, 9268),\n",
" (7516, 8812),\n",
" (7468, 8260),\n",
" (7948, 9748),\n",
" (8740, 8908),\n",
" (7444, 7468),\n",
" (8692, 9436),\n",
" (8308, 8428),\n",
" (8404, 9340),\n",
" (8188, 8884),\n",
" (7636, 8092),\n",
" (8404, 9292),\n",
" (8116, 8164),\n",
" (7540, 7996),\n",
" (9460, 9820),\n",
" (9220, 9244),\n",
" (8740, 8932),\n",
" (8716, 9076),\n",
" (8596, 9484),\n",
" (8692, 9076),\n",
" (8116, 8596),\n",
" (7660, 8620),\n",
" (8308, 8860),\n",
" (9124, 9724),\n",
" (8332, 9532),\n",
" (7852, 9196),\n",
" (8932, 9004),\n",
" (7732, 9316),\n",
" (8140, 9220),\n",
" (7804, 9700),\n",
" (8092, 9124),\n",
" (7636, 9700),\n",
" (8020, 9748),\n",
" (7924, 9652),\n",
" (7972, 8452),\n",
" (7588, 9820),\n",
" (8020, 8284),\n",
" (7900, 8836),\n",
" (8020, 8908),\n",
" (7924, 9172),\n",
" (8428, 8644),\n",
" (7516, 8860),\n",
" (7756, 9364),\n",
" (7780, 9340),\n",
" (8716, 8860),\n",
" (8836, 9028),\n",
" (7948, 8236),\n",
" (7900, 9820),\n",
" (7636, 9724),\n",
" (7612, 9268),\n",
" (9388, 9748),\n",
" (7708, 9004),\n",
" (8500, 8764),\n",
" (7516, 8236),\n",
" (8140, 8332),\n",
" (7756, 9556),\n",
" (7852, 9076),\n",
" (8596, 9172),\n",
" (8740, 8884),\n",
" (8572, 9100),\n",
" (8044, 8668),\n",
" (7780, 8380),\n",
" (7804, 9148),\n",
" (8548, 9220),\n",
" (8548, 9004),\n",
" (8860, 9796),\n",
" (7444, 8620),\n",
" (8716, 9052),\n",
" (7924, 9628),\n",
" (8140, 9724),\n",
" (7444, 8020),\n",
" (8476, 8548),\n",
" (7564, 8788),\n",
" (7516, 7972),\n",
" (7948, 9844),\n",
" (8044, 9532),\n",
" (8452, 9148),\n",
" (7564, 7588),\n",
" (8092, 8404),\n",
" (8956, 9580),\n",
" (9340, 9748),\n",
" (7996, 9508),\n",
" (7540, 8716),\n",
" (7732, 9796),\n",
" (7444, 8764),\n",
" (8092, 8980),\n",
" (8476, 8860),\n",
" (7996, 8596),\n",
" (8932, 9724),\n",
" (8836, 9748),\n",
" (8908, 9244),\n",
" (7732, 9292),\n",
" (8404, 9316),\n",
" (7972, 9196),\n",
" (7636, 8284),\n",
" (8764, 8812),\n",
" (7468, 8644),\n",
" (7996, 8452),\n",
" (7660, 7852),\n",
" (8044, 9676),\n",
" (8212, 9436),\n",
" (7540, 8500),\n",
" (9172, 9580),\n",
" (8956, 9172),\n",
" (8980, 9460),\n",
" (7516, 7924),\n",
" (8164, 8452),\n",
" (8308, 8500),\n",
" (8452, 8788),\n",
" (8356, 9820),\n",
" (7564, 8980),\n",
" (9004, 9604),\n",
" (7684, 7876),\n",
" (8572, 8884),\n",
" (7876, 9292),\n",
" (8692, 9700),\n",
" (7804, 8164),\n",
" (8236, 9460),\n",
" (7876, 9244),\n",
" (7876, 8260),\n",
" (8716, 8764),\n",
" (8452, 8620),\n",
" (9628, 9700),\n",
" (7948, 9220),\n",
" (7900, 8260),\n",
" (8668, 8956),\n",
" (7708, 8932),\n",
" (7660, 8980),\n",
" (8596, 9292),\n",
" (8836, 9508),\n",
" (7540, 7564),\n",
" (7948, 8332),\n",
" (8116, 8476),\n",
" (7540, 9196),\n",
" (9412, 9436),\n",
" (8908, 9844),\n",
" (7492, 8188),\n",
" (8380, 8956),\n",
" (9052, 9292),\n",
" (7924, 8212),\n",
" (9244, 9772),\n",
" (8212, 9748),\n",
" (7588, 9460),\n",
" (8572, 9580),\n",
" (7564, 9748),\n",
" (7564, 9580),\n",
" (9052, 9148),\n",
" (8236, 9580),\n",
" (7588, 9412),\n",
" (9292, 9844),\n",
" (7612, 8380),\n",
" (9076, 9580),\n",
" (8044, 9628),\n",
" (8692, 9484),\n",
" (8356, 9484),\n",
" (9124, 9652),\n",
" (7540, 8620),\n",
" (7444, 8572),\n",
" (7756, 8092),\n",
" (8260, 9460),\n",
" (8284, 9172),\n",
" (7852, 8476),\n",
" (8284, 8548),\n",
" (8428, 8476),\n",
" (9244, 9844),\n",
" (8116, 9772),\n",
" (7540, 8044),\n",
" (8356, 8404),\n",
" (8116, 9052),\n",
" (7540, 8236),\n",
" (8020, 8572),\n",
" (8476, 9820),\n",
" (7684, 7852),\n",
" (7828, 9436),\n",
" (7612, 7828),\n",
" (8812, 9436),\n",
" (7564, 9052),\n",
" (8404, 9388),\n",
" (8980, 9412),\n",
" (9028, 9220),\n",
" (8476, 9460),\n",
" (7804, 8692),\n",
" (8308, 9388),\n",
" (8572, 9484),\n",
" (8668, 8692),\n",
" (7468, 8716),\n",
" (8044, 8356),\n",
" (8356, 9604),\n",
" (7900, 7924),\n",
" (8164, 9316),\n",
" (8356, 9676),\n",
" (9484, 9844),\n",
" (7780, 7828),\n",
" (8788, 8884),\n",
" (9172, 9532),\n",
" (7804, 9532),\n",
" (8188, 8692),\n",
" (8236, 9004),\n",
" (8620, 8884),\n",
" (8092, 9172),\n",
" (8092, 8236),\n",
" (7492, 9268),\n",
" (9196, 9508),\n",
" (8044, 8572),\n",
" (8428, 9124),\n",
" (8380, 9292),\n",
" (7660, 9484),\n",
" (7540, 8476),\n",
" (7660, 8908),\n",
" (7564, 7996),\n",
" (7972, 9628),\n",
" (7756, 9748),\n",
" (7948, 9100),\n",
" (7516, 8932),\n",
" (9436, 9676),\n",
" (7516, 9436),\n",
" (7804, 8764),\n",
" (7636, 8932),\n",
" (7972, 9580),\n",
" (8020, 9076),\n",
" (7708, 8212),\n",
" (8188, 8668),\n",
" (8428, 9820),\n",
" (7708, 9340),\n",
" (8452, 9436),\n",
" (8236, 9364),\n",
" (7636, 9220),\n",
" (8068, 9484),\n",
" (7588, 9364),\n",
" (8188, 8404),\n",
" (9244, 9508),\n",
" (7924, 9052),\n",
" (7780, 8956),\n",
" (7612, 8332),\n",
" (7780, 9844),\n",
" (8620, 9196),\n",
" (8044, 9436),\n",
" (8092, 8836),\n",
" (8404, 8596),\n",
" (8716, 8812),\n",
" (8956, 9556),\n",
" (8788, 9340),\n",
" (8788, 8812),\n",
" (7636, 8860),\n",
" (7492, 9484),\n",
" (7564, 9604),\n",
" (8836, 9772),\n",
" (7540, 9748),\n",
" (7780, 8500),\n",
" (7468, 8668),\n",
" (7444, 8932),\n",
" (7588, 8452),\n",
" (8236, 9220),\n",
" (8860, 8980),\n",
" (7756, 9220),\n",
" (7996, 9364),\n",
" (8524, 9484),\n",
" (9004, 9292),\n",
" (7516, 8524),\n",
" (8476, 8572),\n",
" (8116, 9844),\n",
" (7828, 8140),\n",
" (9148, 9388),\n",
" (7948, 7972),\n",
" (9244, 9748),\n",
" (8308, 9748),\n",
" (7996, 8908),\n",
" (8092, 9220),\n",
" (7876, 9676),\n",
" (7612, 9220),\n",
" (8572, 8596),\n",
" (8524, 8812),\n",
" (7516, 9844),\n",
" (8476, 9028),\n",
" (8116, 9412),\n",
" (8212, 9412),\n",
" (7852, 9412),\n",
" (8164, 8260),\n",
" (7660, 8548),\n",
" (8548, 9052),\n",
" (7540, 9388),\n",
" (8452, 9004),\n",
" (8092, 8212),\n",
" (7972, 8380),\n",
" (7708, 8284),\n",
" (9076, 9556),\n",
" (9052, 9844),\n",
" (7996, 8284),\n",
" (7780, 7804),\n",
" (8092, 9772),\n",
" (7804, 8356),\n",
" (8836, 9316),\n",
" (8164, 9412),\n",
" (8956, 9316),\n",
" (8764, 9172),\n",
" (8044, 8692),\n",
" (9004, 9028),\n",
" (7660, 7756),\n",
" (7780, 9364),\n",
" (7756, 9052),\n",
" (8236, 9484),\n",
" (8284, 9676),\n",
" (8932, 9148),\n",
" (8260, 8596),\n",
" (8236, 8956),\n",
" (8404, 9820),\n",
" (7732, 9388),\n",
" (8836, 8956),\n",
" (8644, 9700),\n",
" (7804, 8092),\n",
" (7684, 8548),\n",
" (8788, 8860),\n",
" (8332, 9316),\n",
" (9124, 9820),\n",
" (8932, 9076),\n",
" (8956, 9220),\n",
" (7588, 8116),\n",
" (8788, 9244),\n",
" (9340, 9556),\n",
" (7540, 9076),\n",
" (8188, 9652),\n",
" (7564, 8092),\n",
" (9148, 9676),\n",
" (8404, 8620),\n",
" (7468, 9388),\n",
" (7756, 8212),\n",
" (8452, 8764),\n",
" (7780, 8716),\n",
" (7636, 9388),\n",
" (7684, 8644),\n",
" (7516, 8188),\n",
" (7516, 7588),\n",
" (8812, 8884),\n",
" (7516, 8644),\n",
" (9028, 9292),\n",
" (7900, 8716),\n",
" (9508, 9748),\n",
" (7780, 9100),\n",
" (8908, 9052),\n",
" (7492, 8668),\n",
" (8188, 9292),\n",
" (8140, 9628),\n",
" (9244, 9604),\n",
" (8716, 9028),\n",
" (8452, 9052),\n",
" (7684, 8332),\n",
" (8428, 9844),\n",
" (9172, 9676),\n",
" (8308, 8788),\n",
" (8116, 9100),\n",
" (7636, 9532),\n",
" (8908, 9268),\n",
" (7780, 9628),\n",
" (7516, 8908),\n",
" (9532, 9676),\n",
" (8716, 8836),\n",
" (8692, 8932),\n",
" (8356, 8836),\n",
" (8308, 9772),\n",
" (8572, 8956),\n",
" (7468, 9580),\n",
" (8428, 9004),\n",
" (8044, 8596),\n",
" (8260, 8428),\n",
" (8452, 9700),\n",
" (8356, 9316),\n",
" (7564, 9388),\n",
" (7732, 8932),\n",
" (8860, 9388),\n",
" (8452, 8716),\n",
" (8164, 8212),\n",
" (8188, 9628),\n",
" (7804, 8332),\n",
" (7588, 8380),\n",
" (7564, 9148),\n",
" (8380, 9580),\n",
" (8380, 8692),\n",
" (7492, 8860),\n",
" (8524, 9604),\n",
" (8260, 9292),\n",
" (7780, 7924),\n",
" (8260, 9148),\n",
" (8380, 9220),\n",
" (7972, 8236),\n",
" (8476, 9652),\n",
" (7852, 8596),\n",
" (7540, 7852),\n",
" (7564, 8548),\n",
" (8140, 9388),\n",
" (8356, 8548),\n",
" (9148, 9196),\n",
" (8860, 9820),\n",
" (8140, 8188),\n",
" (8788, 9412),\n",
" (8092, 8356),\n",
" (7828, 9844),\n",
" (8644, 9748),\n",
" (7876, 9220),\n",
" (8380, 9724),\n",
" (7636, 7804),\n",
" (7852, 8236),\n",
" (8428, 9676),\n",
" (7564, 8932),\n",
" (8860, 9772),\n",
" (7900, 9796),\n",
" (9148, 9796),\n",
" (9076, 9484),\n",
" (8308, 8884),\n",
" (8380, 8932),\n",
" (7900, 8284),\n",
" (8644, 9028),\n",
" (8332, 8908),\n",
" (7708, 8164),\n",
" (7684, 8812),\n",
" (7444, 9436),\n",
" (7780, 8620),\n",
" (7900, 8428),\n",
" (8764, 8980),\n",
" (9196, 9700),\n",
" (9316, 9484),\n",
" (7588, 9604),\n",
" (7996, 9628),\n",
" (8092, 8308),\n",
" (7468, 8164),\n",
" (8644, 9556),\n",
" (8620, 8980),\n",
" (8068, 8332),\n",
" (9052, 9652),\n",
" (7708, 8380),\n",
" (8908, 9124),\n",
" (7948, 8644),\n",
" (7900, 9748),\n",
" (8332, 9652),\n",
" (9052, 9244),\n",
" (9172, 9484),\n",
" (7612, 9100),\n",
" (7660, 8932),\n",
" (8188, 8740),\n",
" (8836, 9052),\n",
" (7948, 9484),\n",
" (7468, 8332),\n",
" (7612, 8548),\n",
" (8380, 9316),\n",
" (7924, 8548),\n",
" (7972, 9460),\n",
" (7564, 9292),\n",
" (8164, 8620),\n",
" (8812, 9460),\n",
" (8836, 9292),\n",
" (8140, 8908),\n",
" (8644, 9124),\n",
" (7828, 9412),\n",
" (7444, 7948),\n",
" (7516, 9508),\n",
" (7588, 8932),\n",
" (8164, 8356),\n",
" (8788, 9508),\n",
" (8116, 8644),\n",
" (8332, 9844),\n",
" (7588, 7876),\n",
" (9556, 9748),\n",
" (7612, 9244),\n",
" (7564, 7948),\n",
" (7492, 9388),\n",
" (9172, 9556),\n",
" (7516, 9580),\n",
" (8092, 8500),\n",
" (8404, 8764),\n",
" (8044, 9508),\n",
" (8356, 9748),\n",
" (7492, 8236),\n",
" (8644, 9340),\n",
" (7660, 8404),\n",
" (7804, 9436),\n",
" (7636, 8524),\n",
" (8212, 8380),\n",
" (8404, 9676),\n",
" (9556, 9628),\n",
" (8908, 9412),\n",
" (8524, 9076),\n",
" (8596, 8764),\n",
" (7516, 9796),\n",
" (7540, 8932),\n",
" (7540, 9820),\n",
" (7948, 8164),\n",
" (7468, 9652),\n",
" (7564, 7780),\n",
" (7780, 9484),\n",
" (8332, 9220),\n",
" (7540, 9508),\n",
" (7900, 9028),\n",
" ...]"
]
},
"execution_count": 92,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"combs"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "df1e935d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 77,
"id": "8f2ca472",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "968c0e4d1b2f471285d297af28b16955",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(x, y, s=0.1)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cee886fd",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 53,
"id": "8eb7c2ee",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5029841\n",
"5029842\n",
"5029843\n",
"5029844\n",
"5029849\n",
"5029851\n",
"5029852\n",
"5029855\n",
"5029857\n",
"5029859\n",
"5029860\n",
"5029861\n",
"5029864\n",
"5029866\n",
"5029869\n",
"5029871\n",
"5029873\n",
"5029874\n",
"5029876\n",
"5029878\n",
"5029879\n",
"5029880\n",
"5029884\n",
"5029897\n",
"5029899\n",
"5029900\n",
"5029905\n",
"5029906\n",
"5029909\n",
"5029910\n",
"5029913\n",
"5029914\n",
"5029918\n",
"5029919\n",
"5029920\n",
"5029922\n",
"5029924\n",
"5029925\n",
"5029928\n",
"5029930\n",
"5029931\n",
"5029933\n",
"5029936\n",
"5029941\n",
"5029943\n",
"5029946\n",
"5029950\n",
"5029952\n",
"5029956\n",
"5029958\n",
"5029959\n",
"5029961\n",
"5029967\n",
"5029968\n",
"5029969\n",
"5029970\n",
"5029974\n",
"5029975\n",
"5029976\n",
"5029978\n",
"5029982\n",
"5029988\n",
"5029990\n",
"5029992\n",
"5029999\n",
"5030000\n",
"5030001\n",
"5030002\n",
"5030003\n",
"5030005\n",
"5030006\n",
"5030012\n",
"5030013\n",
"5030015\n",
"5030016\n",
"5030018\n",
"5030022\n",
"5030025\n",
"5030026\n",
"5030029\n",
"5030030\n",
"5030031\n",
"5030032\n",
"5030033\n",
"5030036\n",
"5030040\n",
"5030043\n",
"5030046\n",
"5030047\n",
"5030051\n",
"5030052\n",
"5030056\n",
"5030057\n",
"5030058\n",
"5030060\n",
"5030064\n",
"5030066\n",
"5030067\n",
"5030071\n",
"5030072\n",
"5030074\n",
"5030075\n",
"5030078\n",
"5030079\n",
"5030080\n",
"5030081\n",
"5030086\n",
"5030087\n",
"5030089\n",
"5030091\n",
"5030092\n",
"5030095\n",
"5030096\n",
"5030113\n",
"5030119\n",
"5030122\n",
"5030126\n",
"5030127\n",
"5030128\n",
"5030138\n",
"5030144\n",
"5030147\n",
"5030156\n",
"5030158\n",
"5030162\n",
"5030171\n",
"5030183\n",
"5030184\n",
"5030187\n",
"5030188\n",
"5030189\n",
"5030191\n",
"5030195\n",
"5030203\n",
"5030206\n",
"5030211\n",
"5030218\n",
"5030221\n",
"5030230\n",
"5030232\n",
"5030247\n",
"5030260\n",
"5030273\n",
"5030295\n",
"5030301\n",
"5030351\n",
"5030374\n",
"5030394\n",
"5030410\n",
"5030467\n",
"5030540\n",
"5032241\n",
"5032279\n",
"5032324\n",
"5032333\n",
"5032344\n",
"5032347\n",
"5032374\n",
"5032381\n",
"5032395\n",
"5032399\n",
"5032405\n",
"5032410\n",
"5032411\n",
"5032424\n",
"5032425\n",
"5032440\n",
"5032454\n",
"5032460\n",
"5032462\n",
"5032464\n",
"5032481\n",
"5032490\n",
"5032509\n",
"5032536\n",
"5032539\n",
"5032568\n",
"5032606\n",
"5032646\n",
"5032680\n",
"5032692\n",
"5032700\n",
"5032715\n",
"5032729\n",
"5032736\n",
"5032744\n",
"5032745\n",
"5032746\n",
"5032756\n",
"5032773\n",
"5032791\n",
"5032792\n",
"5032817\n",
"5032825\n",
"5032829\n",
"5032851\n",
"5032852\n",
"5032879\n",
"5032889\n",
"5032895\n",
"5032899\n",
"5032930\n",
"5032963\n",
"5032968\n",
"5032977\n",
"5032985\n",
"5033003\n",
"5033015\n",
"5033016\n",
"5033029\n",
"5033045\n",
"5033047\n",
"5033049\n",
"5033065\n",
"5033104\n",
"5033115\n",
"5033118\n",
"5033135\n",
"5033184\n",
"5033191\n",
"5033201\n",
"5033225\n",
"5033235\n",
"5033260\n",
"5033273\n",
"5033274\n",
"5033289\n",
"5033299\n",
"5033312\n",
"5033317\n",
"5033352\n",
"5033358\n",
"5033403\n",
"5033423\n",
"5033479\n",
"5033490\n",
"5033500\n",
"5033529\n",
"5033558\n",
"5033563\n",
"5033566\n",
"5033602\n",
"5033688\n",
"5033692\n",
"5033715\n",
"5033729\n",
"5033734\n",
"5033735\n",
"5033748\n",
"5033754\n",
"5033768\n",
"5033791\n",
"5033804\n",
"5033828\n",
"5033842\n",
"5033859\n",
"5033875\n",
"5033876\n",
"5033877\n",
"5033881\n",
"5033902\n",
"5033928\n",
"5033987\n",
"5033993\n",
"5033994\n",
"5033995\n",
"5034073\n",
"5034074\n",
"5034078\n",
"5034079\n",
"5034099\n",
"5034127\n",
"5034131\n",
"5034143\n",
"5034156\n",
"5034217\n",
"5034275\n",
"5034277\n",
"5034303\n",
"5034307\n",
"5034323\n",
"5034325\n",
"5034392\n",
"5034400\n",
"5034404\n",
"5034414\n",
"5034416\n",
"5034431\n",
"5034439\n",
"5034470\n",
"5034494\n",
"5034513\n",
"5034520\n",
"5034526\n",
"5034531\n",
"5034551\n",
"5034580\n",
"5034601\n",
"5034654\n",
"5034659\n",
"5034696\n",
"5034701\n",
"5034720\n",
"5034742\n",
"5034772\n",
"5034777\n",
"5034806\n",
"5034813\n",
"5034822\n",
"5034825\n",
"5034828\n",
"5034853\n",
"5034869\n",
"5034900\n",
"5034902\n",
"5034912\n",
"5034955\n",
"5034962\n",
"5034974\n",
"5034991\n",
"5034999\n",
"5035017\n",
"5035020\n",
"5035061\n",
"5035099\n",
"5035105\n",
"5035123\n",
"5035190\n",
"5035219\n",
"5035295\n",
"5035364\n",
"5035379\n",
"5035412\n",
"5035459\n",
"5035480\n",
"5035517\n",
"5035532\n",
"5035628\n",
"5035690\n",
"5035715\n",
"5035812\n",
"5035831\n",
"5035873\n",
"5035892\n",
"5036097\n",
"5036507\n",
"5040706\n",
"5040971\n",
"5041087\n",
"5041184\n",
"5041214\n",
"5041220\n",
"5041797\n",
"5041988\n",
"5042282\n",
"5042343\n",
"5042352\n",
"5042905\n",
"5043266\n",
"5043361\n",
"5043671\n",
"5043787\n",
"5043830\n",
"5043855\n",
"5044197\n",
"5044333\n",
"5044543\n",
"5045386\n",
"5045681\n",
"5049572\n",
"5050601\n",
"5057241\n",
"5068265\n",
"5068595\n",
"5079055\n",
"5104089\n",
"5104090\n",
"5104093\n",
"5104094\n",
"5104096\n",
"5104101\n",
"5104104\n",
"5104106\n",
"5104107\n",
"5104111\n",
"5104113\n",
"5104115\n",
"5104118\n",
"5104119\n",
"5104120\n",
"5104125\n",
"5104130\n",
"5104132\n",
"5104133\n",
"5104138\n",
"5104140\n",
"5104143\n",
"5104145\n",
"5104146\n",
"5104148\n",
"5104149\n",
"5104152\n",
"5104156\n",
"5104157\n",
"5104158\n",
"5104160\n",
"5104162\n",
"5104163\n",
"5104166\n",
"5104168\n",
"5104170\n",
"5104171\n",
"5104174\n",
"5104180\n",
"5104181\n",
"5104182\n",
"5104183\n",
"5104189\n",
"5104192\n",
"5104193\n",
"5104196\n",
"5104199\n",
"5104202\n",
"5104208\n",
"5104210\n",
"5104213\n",
"5104216\n",
"5104218\n",
"5104222\n",
"5104224\n",
"5104226\n",
"5104233\n",
"5104251\n",
"5104254\n",
"5104263\n",
"5104280\n",
"5104281\n",
"5104283\n",
"5104311\n",
"5104473\n",
"5104531\n",
"5104696\n",
"5104697\n",
"5104701\n",
"5104708\n",
"5104718\n",
"5104731\n",
"5104735\n",
"5104737\n",
"5104755\n",
"5104762\n",
"5104775\n",
"5104778\n",
"5104782\n",
"5104787\n",
"5104788\n",
"5104803\n",
"5104849\n",
"5104850\n",
"5104851\n",
"5104853\n",
"5104854\n",
"5104859\n",
"5104868\n",
"5104870\n",
"5104873\n",
"5104875\n",
"5104879\n",
"5104887\n",
"5104895\n",
"5104898\n",
"5104899\n",
"5104904\n",
"5104905\n",
"5104912\n",
"5104915\n",
"5104919\n",
"5104920\n",
"5104926\n",
"5104927\n",
"5104932\n",
"5104936\n",
"5104939\n",
"5104945\n",
"5104955\n",
"5104958\n",
"5104959\n",
"5104961\n",
"5104971\n",
"5104973\n",
"5104982\n",
"5104985\n",
"5104987\n",
"5104998\n",
"5105016\n",
"5105019\n",
"5105021\n",
"5105022\n",
"5105026\n",
"5105027\n",
"5105037\n",
"5105046\n",
"5105055\n",
"5105081\n",
"5105084\n",
"5105086\n",
"5105087\n",
"5105091\n",
"5105094\n",
"5105098\n",
"5105114\n",
"5105122\n",
"5105123\n",
"5105124\n",
"5105126\n",
"5105134\n",
"5105140\n",
"5105143\n",
"5105147\n",
"5105149\n",
"5105152\n",
"5105154\n",
"5105156\n",
"5105161\n",
"5105164\n",
"5105169\n",
"5105174\n",
"5105178\n",
"5105180\n",
"5105188\n",
"5105190\n",
"5105193\n",
"5105194\n",
"5105195\n",
"5105196\n",
"5105213\n",
"5105215\n",
"5105229\n",
"5105231\n",
"5105237\n",
"5105244\n",
"5105249\n",
"5105251\n",
"5105255\n",
"5105261\n",
"5105271\n",
"5105276\n",
"5105277\n",
"5105278\n",
"5105279\n",
"5105285\n",
"5105288\n",
"5105289\n",
"5105293\n",
"5105316\n",
"5105318\n",
"5105325\n",
"5105329\n",
"5105331\n",
"5105337\n",
"5105347\n",
"5105357\n",
"5105361\n",
"5105371\n",
"5105384\n",
"5105385\n",
"5105395\n",
"5105398\n",
"5105407\n",
"5105420\n",
"5105424\n",
"5105425\n",
"5105428\n",
"5105433\n",
"5105438\n",
"5105441\n",
"5105451\n",
"5105456\n",
"5105459\n",
"5105463\n",
"5105471\n",
"5105473\n",
"5105483\n",
"5105485\n",
"5105488\n",
"5105489\n",
"5105492\n",
"5105510\n",
"5105537\n",
"5105539\n",
"5105540\n",
"5105541\n",
"5105553\n",
"5105576\n",
"5105592\n",
"5105599\n",
"5105605\n",
"5105607\n",
"5105609\n",
"5105625\n",
"5105637\n",
"5105639\n",
"5105644\n",
"5105648\n",
"5105677\n",
"5105679\n",
"5105697\n",
"5105699\n",
"5105715\n",
"5105718\n",
"5105719\n",
"5105722\n",
"5105727\n",
"5105731\n",
"5105738\n",
"5105740\n",
"5105741\n",
"5105757\n",
"5105761\n",
"5105763\n",
"5105764\n",
"5105835\n",
"5105846\n",
"5105857\n",
"5105858\n",
"5105862\n",
"5105895\n",
"5105919\n",
"5105920\n",
"5105922\n",
"5105937\n",
"5105942\n",
"5105944\n",
"5105954\n",
"5106005\n",
"5106031\n",
"5106032\n",
"5106038\n",
"5106046\n",
"5106052\n",
"5106126\n",
"5106162\n",
"5106166\n",
"5106196\n",
"5106268\n",
"5106304\n",
"5106329\n",
"5106468\n",
"5108166\n",
"5108394\n",
"5108598\n",
"5108649\n",
"5108670\n",
"5108774\n",
"5108828\n",
"5108845\n",
"5108859\n",
"5108861\n",
"5108890\n",
"5108969\n",
"5109006\n",
"5109007\n",
"5109027\n",
"5109041\n",
"5109054\n",
"5109057\n",
"5109070\n",
"5109072\n",
"5109116\n",
"5109118\n",
"5109166\n",
"5109181\n",
"5109193\n",
"5109218\n",
"5109224\n",
"5109273\n",
"5109334\n",
"5109342\n",
"5109366\n",
"5109424\n",
"5109443\n",
"5109444\n",
"5109454\n",
"5109457\n",
"5109507\n",
"5109522\n",
"5109555\n",
"5109578\n",
"5109622\n",
"5109629\n",
"5109646\n",
"5109654\n",
"5109686\n",
"5109690\n",
"5109700\n",
"5109716\n",
"5109726\n",
"5109734\n",
"5109735\n",
"5109754\n",
"5109843\n",
"5109849\n",
"5109901\n",
"5109905\n",
"5109912\n",
"5109916\n",
"5109949\n",
"5109970\n",
"5109971\n",
"5110022\n",
"5110026\n",
"5110048\n",
"5110052\n",
"5110074\n",
"5110089\n",
"5110157\n",
"5110171\n",
"5110175\n",
"5110214\n",
"5110224\n",
"5110295\n",
"5110331\n",
"5110362\n",
"5110392\n",
"5110397\n",
"5110432\n",
"5110437\n",
"5110470\n",
"5110474\n",
"5110488\n",
"5110514\n",
"5110515\n",
"5110521\n",
"5110526\n",
"5110535\n",
"5110617\n",
"5110688\n",
"5110698\n",
"5110713\n",
"5110741\n",
"5110802\n",
"5110814\n",
"5110821\n",
"5110883\n",
"5110911\n",
"5110956\n",
"5110997\n",
"5111042\n",
"5111050\n",
"5111109\n",
"5111112\n",
"5111172\n",
"5111202\n",
"5111231\n",
"5111233\n",
"5111242\n",
"5111313\n",
"5111322\n",
"5111337\n",
"5111377\n",
"5111391\n",
"5111423\n",
"5111444\n",
"5111493\n",
"5111502\n",
"5111529\n",
"5111569\n",
"5111641\n",
"5111643\n",
"5111654\n",
"5111674\n",
"5111688\n",
"5111692\n",
"5111762\n",
"5111857\n",
"5111870\n",
"5111891\n",
"5112023\n",
"5112078\n",
"5112110\n",
"5112204\n",
"5112208\n",
"5112228\n",
"5112280\n",
"5112315\n",
"5112316\n",
"5112343\n",
"5112351\n",
"5112429\n",
"5112461\n",
"5112493\n",
"5112505\n",
"5112520\n",
"5112689\n",
"5112695\n",
"5112711\n",
"5112787\n",
"5112790\n",
"5112796\n",
"5112797\n",
"5112819\n",
"5112830\n",
"5112841\n",
"5112861\n",
"5112866\n",
"5112884\n",
"5112903\n",
"5112988\n",
"5113017\n",
"5113084\n",
"5113101\n",
"5113201\n",
"5113205\n",
"5113243\n",
"5113298\n",
"5113335\n",
"5113516\n",
"5113529\n",
"5113552\n",
"5113570\n",
"5113606\n",
"5113613\n",
"5113673\n",
"5113849\n",
"5113900\n",
"5114050\n",
"5114065\n",
"5114126\n",
"5114216\n",
"5114217\n",
"5114268\n",
"5114300\n",
"5114674\n",
"5114687\n",
"5114713\n",
"5114790\n",
"5114863\n",
"5114877\n",
"5114892\n",
"5114921\n",
"5115123\n",
"5115381\n",
"5115680\n",
"5116142\n",
"5116243\n",
"5116461\n",
"5117037\n",
"5117060\n",
"5117104\n",
"5117255\n",
"5118180\n",
"5118624\n",
"5118681\n",
"5118901\n",
"5120549\n",
"5120837\n",
"5121138\n",
"5121523\n",
"5121526\n",
"5121994\n",
"5122597\n",
"5122662\n",
"5122741\n",
"5122888\n",
"5123257\n",
"5123933\n",
"5124109\n",
"5124150\n",
"5124278\n",
"5125059\n",
"5125092\n",
"5125312\n",
"5125547\n",
"5126054\n",
"5126131\n",
"5126459\n",
"5126592\n",
"5127482\n",
"5127655\n",
"5127932\n",
"5127960\n",
"5128051\n",
"5128232\n",
"5128307\n",
"5128340\n",
"5128699\n",
"5128712\n",
"5128726\n",
"5128927\n",
"5129120\n",
"5129187\n",
"5129236\n",
"5129280\n",
"5129694\n",
"5129754\n",
"5129821\n",
"5129972\n",
"5130275\n",
"5130486\n",
"5130581\n",
"5131046\n",
"5131406\n",
"5131669\n",
"5131703\n",
"5131901\n",
"5132213\n",
"5132461\n",
"5132683\n",
"5132937\n",
"5132992\n",
"5133106\n",
"5133728\n",
"5133815\n",
"5134061\n",
"5134136\n",
"5134195\n",
"5134426\n",
"5134511\n",
"5134581\n",
"5135484\n",
"5135536\n",
"5135550\n",
"5135608\n",
"5135778\n",
"5135798\n",
"5136061\n",
"5136952\n",
"5137171\n",
"5137407\n",
"5137497\n",
"5137929\n",
"5137993\n",
"5138069\n",
"5138357\n",
"5138891\n",
"5139085\n",
"5139621\n",
"5139683\n",
"5139749\n",
"5139994\n",
"5140124\n",
"5140149\n",
"5140177\n",
"5140473\n",
"5140952\n",
"5141220\n",
"5141346\n",
"5141532\n",
"5141677\n",
"5142404\n",
"5142455\n",
"5142653\n",
"5142744\n",
"5142939\n",
"5143466\n",
"5144202\n",
"5144249\n",
"5144631\n",
"5147102\n",
"5147207\n",
"5147559\n",
"5147650\n",
"5148967\n",
"5149007\n",
"5149234\n",
"5149503\n",
"5150725\n",
"5151013\n",
"5151725\n",
"5152203\n",
"5152378\n",
"5152397\n",
"5153936\n",
"5154079\n",
"5154093\n",
"5154152\n",
"5154442\n",
"5155546\n",
"5155868\n",
"5156604\n",
"5156846\n",
"5156925\n",
"5157059\n",
"5157236\n",
"5157435\n",
"5157590\n",
"5157834\n",
"5158362\n",
"5158704\n",
"5158798\n",
"5159039\n",
"5159308\n",
"5159738\n",
"5159839\n",
"5160108\n",
"5160121\n",
"5160918\n",
"5160951\n",
"5162217\n",
"5162383\n",
"5162511\n",
"5162982\n",
"5163458\n",
"5164142\n",
"5164153\n",
"5164408\n",
"5164484\n",
"5164641\n",
"5164802\n",
"5164847\n",
"5164866\n",
"5165968\n",
"5166894\n",
"5167004\n",
"5167202\n",
"5167337\n",
"5167506\n",
"5167960\n",
"5168148\n",
"5168277\n",
"5168336\n",
"5168579\n",
"5168815\n",
"5169332\n",
"5169559\n",
"5169935\n",
"5170166\n",
"5170566\n",
"5170857\n",
"5171277\n",
"5171624\n",
"5171969\n",
"5172155\n",
"5172228\n",
"5172388\n",
"5172548\n",
"5173276\n",
"5173843\n",
"5174267\n",
"5174472\n",
"5174593\n",
"5174624\n",
"5191765\n",
"5191766\n",
"5191767\n",
"5191770\n",
"5191772\n",
"5191773\n",
"5191774\n",
"5191776\n",
"5191777\n",
"5191779\n",
"5191781\n",
"5191782\n",
"5191783\n",
"5191784\n",
"5191785\n",
"5191786\n",
"5191787\n",
"5191788\n",
"5191790\n",
"5191792\n",
"5191793\n",
"5191794\n",
"5191795\n",
"5191797\n",
"5191799\n",
"5191800\n",
"5191801\n",
"5191802\n",
"5191807\n",
"5191808\n",
"5191810\n",
"5191814\n",
"5191815\n",
"5191817\n",
"5191818\n",
"5191819\n",
"5191821\n",
"5191826\n",
"5191839\n",
"5191843\n",
"5191861\n",
"5191886\n",
"5191905\n",
"5191931\n",
"5191936\n",
"5191962\n",
"5191966\n",
"5191970\n",
"5191973\n",
"5191974\n",
"5191975\n",
"5191979\n",
"5191980\n",
"5191989\n",
"5191992\n",
"5191995\n",
"5191996\n",
"5192000\n",
"5192001\n",
"5192004\n",
"5192005\n",
"5192010\n",
"5192012\n",
"5192015\n",
"5192016\n",
"5192021\n",
"5192027\n",
"5192029\n",
"5192032\n",
"5192038\n",
"5192039\n",
"5192040\n",
"5192042\n",
"5192043\n",
"5192044\n",
"5192049\n",
"5192053\n",
"5192054\n",
"5192058\n",
"5192059\n",
"5192066\n",
"5192067\n",
"5192069\n",
"5192074\n",
"5192076\n",
"5192080\n",
"5192082\n",
"5192085\n",
"5192086\n",
"5192087\n",
"5192089\n",
"5192092\n",
"5192094\n",
"5192104\n",
"5192105\n",
"5192107\n",
"5192108\n",
"5192109\n",
"5192111\n",
"5192113\n",
"5192115\n",
"5192116\n",
"5192119\n",
"5192120\n",
"5192123\n",
"5192125\n",
"5192127\n",
"5192128\n",
"5192135\n",
"5192136\n",
"5192137\n",
"5192139\n",
"5192140\n",
"5192141\n",
"5192142\n",
"5192145\n",
"5192148\n",
"5192149\n",
"5192158\n",
"5192159\n",
"5192162\n",
"5192164\n",
"5192165\n",
"5192168\n",
"5192172\n",
"5192173\n",
"5192178\n",
"5192179\n",
"5192182\n",
"5192185\n",
"5192186\n",
"5192189\n",
"5192191\n",
"5192192\n",
"5192195\n",
"5192196\n",
"5192198\n",
"5192203\n",
"5192204\n",
"5192208\n",
"5192211\n",
"5192214\n",
"5192222\n",
"5192225\n",
"5192227\n",
"5192228\n",
"5192229\n",
"5192230\n",
"5192233\n",
"5192234\n",
"5192238\n",
"5192239\n",
"5192240\n",
"5192241\n",
"5192242\n",
"5192246\n",
"5192248\n",
"5192249\n",
"5192252\n",
"5192253\n",
"5192254\n",
"5192256\n",
"5192258\n",
"5192260\n",
"5192272\n",
"5192273\n",
"5192274\n",
"5192275\n",
"5192278\n",
"5192279\n",
"5192280\n",
"5192283\n",
"5192291\n",
"5192292\n",
"5192295\n",
"5192296\n",
"5192300\n",
"5192301\n",
"5192304\n",
"5192311\n",
"5192312\n",
"5192318\n",
"5192319\n",
"5192321\n",
"5192324\n",
"5192327\n",
"5192328\n",
"5192329\n",
"5192330\n",
"5192333\n",
"5192334\n",
"5192338\n",
"5192339\n",
"5192342\n",
"5192343\n",
"5192345\n",
"5192352\n",
"5192355\n",
"5192360\n",
"5192361\n",
"5192364\n",
"5192368\n",
"5192369\n",
"5192370\n",
"5192371\n",
"5192372\n",
"5192374\n",
"5192377\n",
"5192382\n",
"5192383\n",
"5192385\n",
"5192386\n",
"5192387\n",
"5192388\n",
"5192389\n",
"5192398\n",
"5192401\n",
"5192402\n",
"5192405\n",
"5192406\n",
"5192407\n",
"5192408\n",
"5192409\n",
"5192415\n",
"5192417\n",
"5192421\n",
"5192422\n",
"5192424\n",
"5192432\n",
"5192433\n",
"5192434\n",
"5192435\n",
"5192436\n",
"5192437\n",
"5192438\n",
"5192439\n",
"5192441\n",
"5192443\n",
"5192445\n",
"5192446\n",
"5192448\n",
"5192452\n",
"5192453\n",
"5192454\n",
"5192460\n",
"5192462\n",
"5192463\n",
"5192467\n",
"5192468\n",
"5192470\n",
"5192471\n",
"5192473\n",
"5192474\n",
"5192478\n",
"5192479\n",
"5192482\n",
"5192486\n",
"5192496\n",
"5192497\n",
"5192501\n",
"5192503\n",
"5192508\n",
"5192509\n",
"5192510\n",
"5192513\n",
"5192527\n",
"5192528\n",
"5192529\n",
"5192531\n",
"5192534\n",
"5192536\n",
"5192537\n",
"5192538\n",
"5192541\n",
"5192546\n",
"5192548\n",
"5192549\n",
"5192553\n",
"5192555\n",
"5192558\n",
"5192559\n",
"5192563\n",
"5192565\n",
"5192568\n",
"5192569\n",
"5192575\n",
"5192579\n",
"5192590\n",
"5192591\n",
"5192598\n",
"5192604\n",
"5192610\n",
"5192623\n",
"5192626\n",
"5192629\n",
"5192638\n",
"5192658\n",
"5192660\n",
"5192671\n",
"5192678\n",
"5192685\n",
"5192687\n",
"5192688\n",
"5192691\n",
"5192700\n",
"5192764\n",
"5192782\n",
"5192807\n",
"5192846\n",
"5192887\n",
"5192969\n",
"5193048\n",
"5193134\n",
"5193145\n",
"5193178\n",
"5193477\n",
"5193731\n",
"5193763\n",
"5193799\n",
"5193800\n",
"5193897\n",
"5193915\n",
"5193927\n",
"5193945\n",
"5193954\n",
"5193958\n",
"5193977\n",
"5194003\n",
"5194038\n",
"5194048\n",
"5194061\n",
"5194068\n",
"5194075\n",
"5194086\n",
"5194117\n",
"5194142\n",
"5194165\n",
"5194168\n",
"5194189\n",
"5194207\n",
"5194223\n",
"5194235\n",
"5194236\n",
"5194243\n",
"5194279\n",
"5194303\n",
"5194307\n",
"5194309\n",
"5194318\n",
"5194348\n",
"5194357\n",
"5194366\n",
"5194373\n",
"5194382\n",
"5194389\n",
"5194398\n",
"5194404\n",
"5194405\n",
"5194406\n",
"5194437\n",
"5194446\n",
"5194456\n",
"5194496\n",
"5194531\n",
"5194540\n",
"5194542\n",
"5194556\n",
"5194557\n",
"5194572\n",
"5194574\n",
"5194579\n",
"5194582\n",
"5194586\n",
"5194608\n",
"5194619\n",
"5194634\n",
"5194635\n",
"5194648\n",
"5194656\n",
"5194668\n",
"5194678\n",
"5194688\n",
"5194692\n",
"5194693\n",
"5194705\n",
"5194718\n",
"5194743\n",
"5194760\n",
"5194764\n",
"5194765\n",
"5194772\n",
"5194780\n",
"5194785\n",
"5194792\n",
"5194823\n",
"5194826\n",
"5194833\n",
"5194852\n",
"5194853\n",
"5194859\n",
"5194863\n",
"5194915\n",
"5194922\n",
"5194923\n",
"5194943\n",
"5194947\n",
"5194959\n",
"5194963\n",
"5194974\n",
"5194986\n",
"5194991\n",
"5194993\n",
"5195001\n",
"5195030\n",
"5195062\n",
"5195073\n",
"5195082\n",
"5195097\n",
"5195113\n",
"5195116\n",
"5195135\n",
"5195141\n",
"5195153\n",
"5195155\n",
"5195157\n",
"5195161\n",
"5195201\n",
"5195204\n",
"5195219\n",
"5195231\n",
"5195241\n",
"5195255\n",
"5195263\n",
"5195267\n",
"5195298\n",
"5195323\n",
"5195331\n",
"5195337\n",
"5195353\n",
"5195357\n",
"5195363\n",
"5195373\n",
"5195386\n",
"5195400\n",
"5195417\n",
"5195445\n",
"5195464\n",
"5195465\n",
"5195476\n",
"5195491\n",
"5195495\n",
"5195501\n",
"5195504\n",
"5195529\n",
"5195539\n",
"5195540\n",
"5195556\n",
"5195557\n",
"5195562\n",
"5195583\n",
"5195584\n",
"5195608\n",
"5195631\n",
"5195680\n",
"5195690\n",
"5195709\n",
"5195710\n",
"5195712\n",
"5195779\n",
"5195825\n",
"5195826\n",
"5195833\n",
"5195838\n",
"5195841\n",
"5195846\n",
"5195851\n",
"5195876\n",
"5195880\n",
"5195925\n",
"5195942\n",
"5195954\n",
"5195963\n",
"5195977\n",
"5196005\n",
"5196010\n",
"5196034\n",
"5196065\n",
"5196076\n",
"5196080\n",
"5196084\n",
"5196112\n",
"5196121\n",
"5196124\n",
"5196131\n",
"5196150\n",
"5196163\n",
"5196165\n",
"5196169\n",
"5196180\n",
"5196187\n",
"5196202\n",
"5196207\n",
"5196219\n",
"5196227\n",
"5196257\n",
"5196261\n",
"5196273\n",
"5196275\n",
"5196285\n",
"5196334\n",
"5196339\n",
"5196355\n",
"5196372\n",
"5196382\n",
"5196408\n",
"5196409\n",
"5196439\n",
"5196479\n",
"5196486\n",
"5196496\n",
"5196519\n",
"5196548\n",
"5196563\n",
"5196575\n",
"5196588\n",
"5196608\n",
"5196609\n",
"5196628\n",
"5196636\n",
"5196640\n",
"5196646\n",
"5196708\n",
"5196726\n",
"5196744\n",
"5196748\n",
"5196755\n",
"5196774\n",
"5196803\n",
"5196852\n",
"5196874\n",
"5196933\n",
"5196952\n",
"5196953\n",
"5197030\n",
"5197099\n",
"5197102\n",
"5197169\n",
"5197179\n",
"5197180\n",
"5197195\n",
"5197251\n",
"5197257\n",
"5197272\n",
"5197280\n",
"5197335\n",
"5197427\n",
"5197442\n",
"5197619\n",
"5197663\n",
"5197678\n",
"5197786\n",
"5197813\n",
"5197857\n",
"5197956\n",
"5198014\n",
"5198138\n",
"5198139\n",
"5198163\n",
"5198204\n",
"5198212\n",
"5198266\n",
"5198633\n",
"5198642\n",
"5199012\n",
"5199024\n",
"5199141\n",
"5199447\n",
"5199635\n",
"5199750\n",
"5201079\n",
"5201322\n",
"5201344\n",
"5201601\n",
"5201774\n",
"5201783\n",
"5201931\n",
"5201962\n",
"5201975\n",
"5202067\n",
"5202108\n",
"5202339\n",
"5202473\n",
"5202478\n",
"5202500\n",
"5202608\n",
"5202685\n",
"5202809\n",
"5202824\n",
"5203035\n",
"5203184\n",
"5203365\n",
"5203399\n",
"5203404\n",
"5203480\n",
"5203530\n",
"5203543\n",
"5203577\n",
"5203597\n",
"5203704\n",
"5203742\n",
"5203845\n",
"5203909\n",
"5204114\n",
"5204156\n",
"5204173\n",
"5204307\n",
"5204545\n",
"5204931\n",
"5205100\n",
"5205197\n",
"5205842\n",
"5205877\n",
"5206090\n",
"5206125\n",
"5206214\n",
"5206321\n",
"5206542\n",
"5206565\n",
"5206772\n",
"5207226\n",
"5207569\n",
"5207787\n",
"5208062\n",
"5208105\n",
"5208637\n",
"5208737\n",
"5208979\n",
"5209050\n",
"5209373\n",
"5209390\n",
"5209657\n",
"5210382\n",
"5210400\n",
"5210544\n",
"5210756\n",
"5210822\n",
"5210944\n",
"5211088\n",
"5211184\n",
"5211315\n",
"5211621\n",
"5211662\n",
"5211908\n",
"5212041\n",
"5212410\n",
"5212730\n",
"5212741\n",
"5212821\n",
"5213006\n",
"5213106\n",
"5213350\n",
"5213481\n",
"5213560\n",
"5213702\n",
"5213769\n",
"5213873\n",
"5213893\n",
"5213935\n",
"5214039\n",
"5214316\n",
"5214321\n",
"5214589\n",
"5214655\n",
"5214927\n",
"5215095\n",
"5215309\n",
"5215317\n",
"5215505\n",
"5215564\n",
"5215597\n",
"5215874\n",
"5216045\n",
"5216148\n",
"5216167\n",
"5216541\n",
"5216651\n",
"5216763\n",
"5216882\n",
"5217082\n",
"5217390\n",
"5217401\n",
"5217438\n",
"5217501\n",
"5217515\n",
"5217628\n",
"5217725\n",
"5217776\n",
"5217789\n",
"5217980\n",
"5218366\n",
"5218676\n",
"5218853\n",
"5219127\n",
"5219258\n",
"5219357\n",
"5219411\n",
"5219490\n",
"5219850\n",
"5219883\n",
"5220155\n",
"5220234\n",
"5220243\n",
"5220289\n",
"5220357\n",
"5220358\n",
"5220796\n",
"5220948\n",
"5220960\n",
"5221053\n",
"5221209\n",
"5221246\n",
"5221248\n",
"5221306\n",
"5222119\n",
"5222147\n",
"5222192\n",
"5222308\n",
"5222382\n",
"5222464\n",
"5222496\n",
"5222685\n",
"5222762\n",
"5222803\n",
"5222844\n",
"5223467\n",
"5223634\n",
"5224164\n",
"5224197\n",
"5224326\n",
"5224478\n",
"5224512\n",
"5224763\n",
"5224816\n",
"5224897\n",
"5225225\n",
"5225302\n",
"5225525\n",
"5225640\n",
"5225663\n",
"5225693\n",
"5225706\n",
"5225731\n",
"5225885\n",
"5225907\n",
"5226067\n",
"5226110\n",
"5226190\n",
"5226301\n",
"5226309\n",
"5226616\n",
"5226726\n",
"5226793\n",
"5226833\n",
"5227395\n",
"5227401\n",
"5227796\n",
"5227909\n",
"5227994\n",
"5228116\n",
"5228277\n",
"5228726\n",
"5228989\n",
"5229203\n",
"5229553\n",
"5229558\n",
"5229869\n",
"5230219\n",
"5230271\n",
"5230295\n",
"5230317\n",
"5230948\n",
"5230973\n",
"5231174\n",
"5231209\n",
"5231586\n",
"5231644\n",
"5231786\n",
"5231823\n",
"5231988\n",
"5232001\n",
"5232097\n",
"5232247\n",
"5232291\n",
"5232307\n",
"5232556\n",
"5232597\n",
"5232621\n",
"5232652\n",
"5233309\n",
"5233401\n",
"5233565\n",
"5233870\n",
"5233873\n",
"5233945\n",
"5234036\n",
"5234072\n",
"5234092\n",
"5234140\n",
"5234324\n",
"5234379\n",
"5234979\n",
"5235029\n",
"5235237\n",
"5235349\n",
"5235369\n",
"5235611\n",
"5235702\n",
"5235721\n",
"5235898\n",
"5236345\n",
"5236555\n",
"5236743\n",
"5237199\n",
"5237743\n",
"5238244\n",
"5238301\n",
"5238995\n",
"5239034\n",
"5239056\n",
"5239357\n",
"5239636\n",
"5239746\n",
"5239960\n",
"5240232\n",
"5240827\n",
"5240976\n",
"5241194\n",
"5241866\n",
"5241954\n",
"5242005\n",
"5242085\n",
"5242402\n",
"5242428\n",
"5242780\n",
"5242843\n",
"5258188\n",
"5258196\n",
"5258197\n",
"5258198\n",
"5258199\n",
"5258201\n",
"5258202\n",
"5258204\n",
"5258205\n",
"5258206\n",
"5258207\n",
"5258208\n",
"5258209\n",
"5258210\n",
"5258211\n",
"5258212\n",
"5258216\n",
"5258220\n",
"5258221\n",
"5258223\n",
"5258224\n",
"5258226\n",
"5258227\n",
"5258228\n",
"5258231\n",
"5258233\n",
"5258236\n",
"5258237\n",
"5258239\n",
"5258240\n",
"5258244\n",
"5258248\n",
"5258251\n",
"5258255\n",
"5258256\n",
"5258257\n",
"5258258\n",
"5258265\n",
"5258267\n",
"5258268\n",
"5258269\n",
"5258286\n",
"5258287\n",
"5258290\n",
"5258292\n",
"5258293\n",
"5258296\n",
"5258302\n",
"5258314\n",
"5258324\n",
"5258331\n",
"5258350\n",
"5258366\n",
"5258382\n",
"5258418\n",
"5258655\n",
"5258670\n",
"5258684\n",
"5258695\n",
"5258710\n",
"5258712\n",
"5258713\n",
"5258724\n",
"5258731\n",
"5258734\n",
"5258739\n",
"5258742\n",
"5258746\n",
"5258755\n",
"5258758\n",
"5258763\n",
"5258764\n",
"5258772\n",
"5258773\n",
"5258774\n",
"5258781\n",
"5258786\n",
"5258797\n",
"5258810\n",
"5258813\n",
"5258814\n",
"5258816\n",
"5258825\n",
"5258827\n",
"5258832\n",
"5258834\n",
"5258835\n",
"5258837\n",
"5258843\n",
"5258845\n",
"5258848\n",
"5258851\n",
"5258858\n",
"5258863\n",
"5258868\n",
"5258869\n",
"5258874\n",
"5258875\n",
"5258876\n",
"5258880\n",
"5258886\n",
"5258891\n",
"5258893\n",
"5258894\n",
"5258897\n",
"5258898\n",
"5258901\n",
"5258904\n",
"5258910\n",
"5258911\n",
"5258917\n",
"5258918\n",
"5258923\n",
"5258927\n",
"5258929\n",
"5258940\n",
"5258941\n",
"5258945\n",
"5258948\n",
"5258953\n",
"5258959\n",
"5258960\n",
"5258963\n",
"5258971\n",
"5258976\n",
"5258980\n",
"5258983\n",
"5258984\n",
"5258986\n",
"5258989\n",
"5258990\n",
"5258993\n",
"5258994\n",
"5258997\n",
"5259000\n",
"5259006\n",
"5259008\n",
"5259009\n",
"5259010\n",
"5259015\n",
"5259020\n",
"5259023\n",
"5259025\n",
"5259031\n",
"5259033\n",
"5259039\n",
"5259041\n",
"5259043\n",
"5259049\n",
"5259053\n",
"5259058\n",
"5259059\n",
"5259062\n",
"5259063\n",
"5259065\n",
"5259066\n",
"5259069\n",
"5259070\n",
"5259071\n",
"5259073\n",
"5259074\n",
"5259079\n",
"5259080\n",
"5259085\n",
"5259087\n",
"5259088\n",
"5259091\n",
"5259096\n",
"5259104\n",
"5259106\n",
"5259108\n",
"5259110\n",
"5259112\n",
"5259122\n",
"5259126\n",
"5259129\n",
"5259134\n",
"5259137\n",
"5259140\n",
"5259145\n",
"5259146\n",
"5259149\n",
"5259153\n",
"5259155\n",
"5259156\n",
"5259157\n",
"5259159\n",
"5259165\n",
"5259167\n",
"5259168\n",
"5259169\n",
"5259172\n",
"5259174\n",
"5259175\n",
"5259176\n",
"5259177\n",
"5259180\n",
"5259181\n",
"5259183\n",
"5259188\n",
"5259189\n",
"5259191\n",
"5259194\n",
"5259196\n",
"5259199\n",
"5259203\n",
"5259205\n",
"5259207\n",
"5259213\n",
"5259214\n",
"5259215\n",
"5259218\n",
"5259220\n",
"5259231\n",
"5259232\n",
"5259236\n",
"5259239\n",
"5259242\n",
"5259244\n",
"5259246\n",
"5259257\n",
"5259258\n",
"5259259\n",
"5259263\n",
"5259272\n",
"5259274\n",
"5259277\n",
"5259281\n",
"5259283\n",
"5259284\n",
"5259294\n",
"5259297\n",
"5259300\n",
"5259301\n",
"5259304\n",
"5259307\n",
"5259325\n",
"5259337\n",
"5259340\n",
"5259342\n",
"5259350\n",
"5259359\n",
"5259372\n",
"5259375\n",
"5259393\n",
"5259397\n",
"5259399\n",
"5259410\n",
"5259417\n",
"5259432\n",
"5259433\n",
"5259467\n",
"5259468\n",
"5259489\n",
"5259516\n",
"5259530\n",
"5259594\n",
"5259597\n",
"5259691\n",
"5259700\n",
"5259799\n",
"5259813\n",
"5259893\n",
"5259983\n",
"5261534\n",
"5261704\n",
"5261787\n",
"5261829\n",
"5261832\n",
"5261834\n",
"5261878\n",
"5261976\n",
"5261978\n",
"5261981\n",
"5261984\n",
"5262002\n",
"5262014\n",
"5262017\n",
"5262035\n",
"5262091\n",
"5262110\n",
"5262133\n",
"5262139\n",
"5262161\n",
"5262195\n",
"5262207\n",
"5262267\n",
"5262277\n",
"5262292\n",
"5262304\n",
"5262307\n",
"5262332\n",
"5262334\n",
"5262346\n",
"5262349\n",
"5262361\n",
"5262375\n",
"5262385\n",
"5262440\n",
"5262460\n",
"5262463\n",
"5262476\n",
"5262517\n",
"5262527\n",
"5262534\n",
"5262565\n",
"5262584\n",
"5262598\n",
"5262611\n",
"5262614\n",
"5262628\n",
"5262641\n",
"5262643\n",
"5262652\n",
"5262661\n",
"5262672\n",
"5262679\n",
"5262699\n",
"5262740\n",
"5262806\n",
"5262809\n",
"5262810\n",
"5262830\n",
"5262837\n",
"5262859\n",
"5262875\n",
"5262895\n",
"5262918\n",
"5262923\n",
"5262924\n",
"5262949\n",
"5262972\n",
"5262990\n",
"5262993\n",
"5262997\n",
"5263023\n",
"5263024\n",
"5263044\n",
"5263048\n",
"5263052\n",
"5263059\n",
"5263086\n",
"5263116\n",
"5263138\n",
"5263141\n",
"5263163\n",
"5263173\n",
"5263186\n",
"5263190\n",
"5263211\n",
"5263224\n",
"5263243\n",
"5263249\n",
"5263292\n",
"5263313\n",
"5263320\n",
"5263325\n",
"5263336\n",
"5263367\n",
"5263371\n",
"5263393\n",
"5263429\n",
"5263440\n",
"5263450\n",
"5263452\n",
"5263462\n",
"5263466\n",
"5263473\n",
"5263474\n",
"5263495\n",
"5263512\n",
"5263515\n",
"5263522\n",
"5263528\n",
"5263531\n",
"5263547\n",
"5263553\n",
"5263567\n",
"5263576\n",
"5263577\n",
"5263579\n",
"5263588\n",
"5263591\n",
"5263596\n",
"5263598\n",
"5263602\n",
"5263605\n",
"5263638\n",
"5263652\n",
"5263656\n",
"5263668\n",
"5263671\n",
"5263689\n",
"5263697\n",
"5263708\n",
"5263710\n",
"5263754\n",
"5263762\n",
"5263771\n",
"5263799\n",
"5263802\n",
"5263818\n",
"5263827\n",
"5263843\n",
"5263861\n",
"5263865\n",
"5263883\n",
"5263887\n",
"5263892\n",
"5263909\n",
"5263913\n",
"5263963\n",
"5263964\n",
"5263967\n",
"5263973\n",
"5263991\n",
"5263996\n",
"5264001\n",
"5264013\n",
"5264014\n",
"5264020\n",
"5264042\n",
"5264053\n",
"5264070\n",
"5264084\n",
"5264089\n",
"5264115\n",
"5264122\n",
"5264124\n",
"5264157\n",
"5264179\n",
"5264192\n",
"5264220\n",
"5264246\n",
"5264274\n",
"5264279\n",
"5264287\n",
"5264291\n",
"5264294\n",
"5264297\n",
"5264304\n",
"5264311\n",
"5264313\n",
"5264322\n",
"5264346\n",
"5264360\n",
"5264372\n",
"5264389\n",
"5264395\n",
"5264406\n",
"5264427\n",
"5264459\n",
"5264464\n",
"5264466\n",
"5264471\n",
"5264478\n",
"5264480\n",
"5264489\n",
"5264495\n",
"5264563\n",
"5264630\n",
"5264633\n",
"5264671\n",
"5264680\n",
"5264687\n",
"5264691\n",
"5264723\n",
"5264741\n",
"5264772\n",
"5264791\n",
"5264843\n",
"5264859\n",
"5264863\n",
"5264873\n",
"5264878\n",
"5264882\n",
"5265008\n",
"5265010\n",
"5265054\n",
"5265055\n",
"5265127\n",
"5265156\n",
"5265202\n",
"5265225\n",
"5265296\n",
"5265307\n",
"5265363\n",
"5265378\n",
"5265458\n",
"5265564\n",
"5265619\n",
"5265644\n",
"5265796\n",
"5265878\n",
"5265890\n",
"5265896\n",
"5265946\n",
"5266188\n",
"5266296\n",
"5270773\n",
"5270944\n",
"5271028\n",
"5271512\n",
"5271579\n",
"5271790\n",
"5271818\n",
"5272118\n",
"5272385\n",
"5272492\n",
"5272857\n",
"5273174\n",
"5273239\n",
"5273564\n",
"5273580\n",
"5273581\n",
"5273624\n",
"5273776\n",
"5274135\n",
"5274333\n",
"5274675\n",
"5274746\n",
"5274936\n",
"5275090\n",
"5275286\n",
"5275498\n",
"5275642\n",
"5275677\n",
"5275706\n",
"5276270\n",
"5276451\n",
"5276730\n",
"5276901\n",
"5276963\n",
"5279121\n",
"5279551\n",
"5279659\n",
"5279909\n",
"5280153\n",
"5281746\n",
"5298598\n",
"5306416\n",
"5335127\n",
"5335128\n",
"5335129\n",
"5335130\n",
"5335132\n",
"5335133\n",
"5335134\n",
"5335135\n",
"5335136\n",
"5335137\n",
"5335138\n",
"5335139\n",
"5335140\n",
"5335141\n",
"5335142\n",
"5335145\n",
"5335148\n",
"5335149\n",
"5335152\n",
"5335153\n",
"5335154\n",
"5335156\n",
"5335157\n",
"5335159\n",
"5335161\n",
"5335162\n",
"5335164\n",
"5335166\n",
"5335168\n",
"5335169\n",
"5335175\n",
"5335176\n",
"5335177\n",
"5335180\n",
"5335186\n",
"5335194\n",
"5335344\n",
"5335349\n",
"5335350\n",
"5335353\n",
"5335359\n",
"5335365\n",
"5335366\n",
"5335367\n",
"5335370\n",
"5335371\n",
"5335372\n",
"5335376\n",
"5335377\n",
"5335380\n",
"5335381\n",
"5335383\n",
"5335388\n",
"5335390\n",
"5335391\n",
"5335394\n",
"5335395\n",
"5335396\n",
"5335397\n",
"5335399\n",
"5335403\n",
"5335406\n",
"5335409\n",
"5335412\n",
"5335413\n",
"5335415\n",
"5335417\n",
"5335418\n",
"5335419\n",
"5335422\n",
"5335424\n",
"5335428\n",
"5335429\n",
"5335430\n",
"5335432\n",
"5335433\n",
"5335434\n",
"5335435\n",
"5335437\n",
"5335440\n",
"5335443\n",
"5335444\n",
"5335445\n",
"5335449\n",
"5335450\n",
"5335451\n",
"5335452\n",
"5335457\n",
"5335458\n",
"5335459\n",
"5335460\n",
"5335461\n",
"5335462\n",
"5335463\n",
"5335464\n",
"5335469\n",
"5335474\n",
"5335477\n",
"5335478\n",
"5335479\n",
"5335481\n",
"5335484\n",
"5335485\n",
"5335486\n",
"5335487\n",
"5335488\n",
"5335489\n",
"5335490\n",
"5335491\n",
"5335492\n",
"5335494\n",
"5335496\n",
"5335497\n",
"5335498\n",
"5335502\n",
"5335503\n",
"5335505\n",
"5335506\n",
"5335507\n",
"5335508\n",
"5335510\n",
"5335511\n",
"5335512\n",
"5335516\n",
"5335517\n",
"5335519\n",
"5335520\n",
"5335521\n",
"5335522\n",
"5335523\n",
"5335527\n",
"5335528\n",
"5335529\n",
"5335530\n",
"5335532\n",
"5335534\n",
"5335535\n",
"5335536\n",
"5335538\n",
"5335539\n",
"5335540\n",
"5335541\n",
"5335543\n",
"5335546\n",
"5335548\n",
"5335549\n",
"5335550\n",
"5335552\n",
"5335553\n",
"5335554\n",
"5335555\n",
"5335556\n",
"5335558\n",
"5335559\n",
"5335560\n",
"5335562\n",
"5335566\n",
"5335567\n",
"5335569\n",
"5335570\n",
"5335571\n",
"5335575\n",
"5335577\n",
"5335579\n",
"5335580\n",
"5335587\n",
"5335588\n",
"5335590\n",
"5335591\n",
"5335592\n",
"5335595\n",
"5335596\n",
"5335598\n",
"5335599\n",
"5335600\n",
"5335601\n",
"5335602\n",
"5335603\n",
"5335604\n",
"5335606\n",
"5335607\n",
"5335608\n",
"5335609\n",
"5335610\n",
"5335611\n",
"5335613\n",
"5335615\n",
"5335616\n",
"5335617\n",
"5335618\n",
"5335619\n",
"5335620\n",
"5335621\n",
"5335624\n",
"5335627\n",
"5335628\n",
"5335629\n",
"5335630\n",
"5335634\n",
"5335636\n",
"5335637\n",
"5335639\n",
"5335641\n",
"5335644\n",
"5335645\n",
"5335647\n",
"5335648\n",
"5335650\n",
"5335652\n",
"5335653\n",
"5335655\n",
"5335656\n",
"5335657\n",
"5335658\n",
"5335662\n",
"5335663\n",
"5335664\n",
"5335665\n",
"5335666\n",
"5335668\n",
"5335669\n",
"5335670\n",
"5335671\n",
"5335672\n",
"5335673\n",
"5335674\n",
"5335676\n",
"5335677\n",
"5335680\n",
"5335684\n",
"5335690\n",
"5335693\n",
"5335695\n",
"5335696\n",
"5335701\n",
"5335702\n",
"5335703\n",
"5335704\n",
"5335705\n",
"5335708\n",
"5335710\n",
"5335714\n",
"5335715\n",
"5335717\n",
"5335718\n",
"5335720\n",
"5335728\n",
"5335729\n",
"5335731\n",
"5335732\n",
"5335736\n",
"5335737\n",
"5335738\n",
"5335743\n",
"5335744\n",
"5335748\n",
"5335750\n",
"5335753\n",
"5335755\n",
"5335757\n",
"5335758\n",
"5335759\n",
"5335760\n",
"5335763\n",
"5335764\n",
"5335768\n",
"5335772\n",
"5335776\n",
"5335780\n",
"5335786\n",
"5335789\n",
"5335791\n",
"5335793\n",
"5335796\n",
"5335797\n",
"5335799\n",
"5335806\n",
"5335807\n",
"5335820\n",
"5335822\n",
"5335841\n",
"5335843\n",
"5335851\n",
"5335857\n",
"5335862\n",
"5335864\n",
"5335868\n",
"5335899\n",
"5335902\n",
"5335916\n",
"5335921\n",
"5335931\n",
"5335949\n",
"5336028\n",
"5337168\n",
"5337179\n",
"5337197\n",
"5337216\n",
"5337222\n",
"5337231\n",
"5337248\n",
"5337252\n",
"5337280\n",
"5337282\n",
"5337284\n",
"5337288\n",
"5337295\n",
"5337300\n",
"5337307\n",
"5337309\n",
"5337311\n",
"5337327\n",
"5337334\n",
"5337336\n",
"5337338\n",
"5337345\n",
"5337354\n",
"5337363\n",
"5337364\n",
"5337389\n",
"5337397\n",
"5337409\n",
"5337418\n",
"5337432\n",
"5337433\n",
"5337438\n",
"5337440\n",
"5337466\n",
"5337467\n",
"5337475\n",
"5337483\n",
"5337484\n",
"5337489\n",
"5337492\n",
"5337494\n",
"5337496\n",
"5337498\n",
"5337521\n",
"5337532\n",
"5337534\n",
"5337537\n",
"5337549\n",
"5337557\n",
"5337569\n",
"5337584\n",
"5337585\n",
"5337598\n",
"5337612\n",
"5337614\n",
"5337620\n",
"5337637\n",
"5337644\n",
"5337650\n",
"5337657\n",
"5337665\n",
"5337669\n",
"5337670\n",
"5337694\n",
"5337699\n",
"5337703\n",
"5337727\n",
"5337746\n",
"5337757\n",
"5337759\n",
"5337777\n",
"5337782\n",
"5337792\n",
"5337809\n",
"5337810\n",
"5337817\n",
"5337819\n",
"5337836\n",
"5337843\n",
"5337876\n",
"5337878\n",
"5337898\n",
"5337905\n",
"5337930\n",
"5337956\n",
"5337963\n",
"5337965\n",
"5337966\n",
"5337972\n",
"5337981\n",
"5338003\n",
"5338007\n",
"5338011\n",
"5338029\n",
"5338031\n",
"5338032\n",
"5338045\n",
"5338051\n",
"5338063\n",
"5338071\n",
"5338078\n",
"5338080\n",
"5338092\n",
"5338093\n",
"5338113\n",
"5338116\n",
"5338129\n",
"5338134\n",
"5338135\n",
"5338155\n",
"5338166\n",
"5338167\n",
"5338168\n",
"5338173\n",
"5338181\n",
"5338188\n",
"5338196\n",
"5338217\n",
"5338236\n",
"5338256\n",
"5338265\n",
"5338272\n",
"5338299\n",
"5338304\n",
"5338310\n",
"5338328\n",
"5338329\n",
"5338339\n",
"5338353\n",
"5338360\n",
"5338373\n",
"5338381\n",
"5338391\n",
"5338418\n",
"5338430\n",
"5338436\n",
"5338443\n",
"5338444\n",
"5338459\n",
"5338465\n",
"5338480\n",
"5338494\n",
"5338527\n",
"5338530\n",
"5338531\n",
"5338539\n",
"5338551\n",
"5338552\n",
"5338559\n",
"5338560\n",
"5338575\n",
"5338582\n",
"5338603\n",
"5338607\n",
"5338617\n",
"5338618\n",
"5338620\n",
"5338643\n",
"5338663\n",
"5338667\n",
"5338668\n",
"5338672\n",
"5338706\n",
"5338722\n",
"5338745\n",
"5338764\n",
"5338767\n",
"5338786\n",
"5338806\n",
"5338820\n",
"5338826\n",
"5338840\n",
"5338841\n",
"5338843\n",
"5338854\n",
"5338866\n",
"5338870\n",
"5338877\n",
"5338879\n",
"5338887\n",
"5338896\n",
"5338901\n",
"5338906\n",
"5338908\n",
"5338917\n",
"5338921\n",
"5338928\n",
"5338931\n",
"5338933\n",
"5338943\n",
"5338958\n",
"5338963\n",
"5338975\n",
"5338976\n",
"5338999\n",
"5339006\n",
"5339012\n",
"5339019\n",
"5339022\n",
"5339023\n",
"5339041\n",
"5339045\n",
"5339046\n",
"5339052\n",
"5339067\n",
"5339074\n",
"5339080\n",
"5339088\n",
"5339097\n",
"5339099\n",
"5339109\n",
"5339128\n",
"5339130\n",
"5339131\n",
"5339138\n",
"5339139\n",
"5339142\n",
"5339161\n",
"5339166\n",
"5339182\n",
"5339190\n",
"5339202\n",
"5339208\n",
"5339226\n",
"5339227\n",
"5339228\n",
"5339230\n",
"5339236\n",
"5339246\n",
"5339254\n",
"5339261\n",
"5339263\n",
"5339265\n",
"5339269\n",
"5339271\n",
"5339279\n",
"5339281\n",
"5339305\n",
"5339311\n",
"5339318\n",
"5339339\n",
"5339348\n",
"5339349\n",
"5339357\n",
"5339371\n",
"5339378\n",
"5339380\n",
"5339382\n",
"5339383\n",
"5339401\n",
"5339403\n",
"5339406\n",
"5339423\n",
"5339431\n",
"5339437\n",
"5339444\n",
"5339450\n",
"5339464\n",
"5339480\n",
"5339484\n",
"5339507\n",
"5339508\n",
"5339509\n",
"5339516\n",
"5339536\n",
"5339540\n",
"5339545\n",
"5339587\n",
"5339597\n",
"5339620\n",
"5339623\n",
"5339665\n",
"5339715\n",
"5339748\n",
"5339753\n",
"5339760\n",
"5339789\n",
"5339792\n",
"5339800\n",
"5339802\n",
"5339821\n",
"5339839\n",
"5339847\n",
"5339871\n",
"5339889\n",
"5339891\n",
"5339904\n",
"5339926\n",
"5339927\n",
"5339962\n",
"5339976\n",
"5340007\n",
"5340035\n",
"5340037\n",
"5340053\n",
"5340056\n",
"5340076\n",
"5340078\n",
"5340085\n",
"5340117\n",
"5340144\n",
"5340152\n",
"5340556\n",
"5340734\n",
"5344233\n",
"5344260\n",
"5344276\n",
"5344415\n",
"5344611\n",
"5344636\n",
"5344722\n",
"5344748\n",
"5344761\n",
"5344899\n",
"5344968\n",
"5344996\n",
"5345152\n",
"5345322\n",
"5345381\n",
"5345395\n",
"5345520\n",
"5345573\n",
"5345688\n",
"5345898\n",
"5346032\n",
"5346201\n",
"5346406\n",
"5346537\n",
"5346827\n",
"5346919\n",
"5347947\n",
"5349198\n",
"5349345\n",
"5349911\n",
"5351744\n",
"5351886\n",
"5352592\n",
"5354492\n",
"5356564\n",
"5366976\n",
"5370654\n",
"5399204\n",
"5399205\n",
"5399206\n",
"5399207\n",
"5399208\n",
"5399209\n",
"5399210\n",
"5399214\n",
"5399217\n",
"5399218\n",
"5399220\n",
"5399221\n",
"5399222\n",
"5399224\n",
"5399228\n",
"5399230\n",
"5399231\n",
"5399232\n",
"5399233\n",
"5399238\n",
"5399242\n",
"5399246\n",
"5399247\n",
"5399252\n",
"5399255\n",
"5399256\n",
"5399257\n",
"5399259\n",
"5399262\n",
"5399271\n",
"5399272\n",
"5399276\n",
"5399279\n",
"5399280\n",
"5399474\n",
"5399484\n",
"5399486\n",
"5399491\n",
"5399492\n",
"5399495\n",
"5399504\n",
"5399510\n",
"5399511\n",
"5399514\n",
"5399520\n",
"5399522\n",
"5399523\n",
"5399527\n",
"5399529\n",
"5399531\n",
"5399534\n",
"5399538\n",
"5399541\n",
"5399542\n",
"5399543\n",
"5399545\n",
"5399550\n",
"5399552\n",
"5399553\n",
"5399554\n",
"5399556\n",
"5399557\n",
"5399558\n",
"5399560\n",
"5399562\n",
"5399567\n",
"5399568\n",
"5399572\n",
"5399581\n",
"5399582\n",
"5399586\n",
"5399590\n",
"5399591\n",
"5399593\n",
"5399595\n",
"5399596\n",
"5399597\n",
"5399598\n",
"5399599\n",
"5399600\n",
"5399602\n",
"5399605\n",
"5399608\n",
"5399610\n",
"5399613\n",
"5399615\n",
"5399616\n",
"5399618\n",
"5399622\n",
"5399623\n",
"5399625\n",
"5399629\n",
"5399630\n",
"5399631\n",
"5399632\n",
"5399633\n",
"5399637\n",
"5399638\n",
"5399639\n",
"5399641\n",
"5399642\n",
"5399643\n",
"5399644\n",
"5399647\n",
"5399648\n",
"5399650\n",
"5399651\n",
"5399655\n",
"5399657\n",
"5399659\n",
"5399660\n",
"5399662\n",
"5399665\n",
"5399666\n",
"5399667\n",
"5399668\n",
"5399669\n",
"5399670\n",
"5399676\n",
"5399678\n",
"5399681\n",
"5399682\n",
"5399685\n",
"5399689\n",
"5399690\n",
"5399691\n",
"5399692\n",
"5399693\n",
"5399697\n",
"5399698\n",
"5399699\n",
"5399701\n",
"5399703\n",
"5399704\n",
"5399705\n",
"5399706\n",
"5399708\n",
"5399709\n",
"5399711\n",
"5399712\n",
"5399714\n",
"5399718\n",
"5399720\n",
"5399721\n",
"5399722\n",
"5399725\n",
"5399727\n",
"5399728\n",
"5399729\n",
"5399730\n",
"5399731\n",
"5399732\n",
"5399733\n",
"5399734\n",
"5399735\n",
"5399738\n",
"5399739\n",
"5399741\n",
"5399745\n",
"5399746\n",
"5399747\n",
"5399748\n",
"5399749\n",
"5399750\n",
"5399751\n",
"5399752\n",
"5399753\n",
"5399757\n",
"5399759\n",
"5399761\n",
"5399765\n",
"5399767\n",
"5399768\n",
"5399769\n",
"5399770\n",
"5399771\n",
"5399772\n",
"5399775\n",
"5399776\n",
"5399777\n",
"5399778\n",
"5399784\n",
"5399785\n",
"5399787\n",
"5399788\n",
"5399789\n",
"5399790\n",
"5399791\n",
"5399793\n",
"5399794\n",
"5399795\n",
"5399797\n",
"5399798\n",
"5399801\n",
"5399802\n",
"5399805\n",
"5399807\n",
"5399811\n",
"5399814\n",
"5399815\n",
"5399817\n",
"5399819\n",
"5399820\n",
"5399821\n",
"5399822\n",
"5399823\n",
"5399828\n",
"5399829\n",
"5399831\n",
"5399833\n",
"5399835\n",
"5399838\n",
"5399840\n",
"5399841\n",
"5399842\n",
"5399844\n",
"5399845\n",
"5399847\n",
"5399848\n",
"5399851\n",
"5399856\n",
"5399858\n",
"5399861\n",
"5399862\n",
"5399863\n",
"5399869\n",
"5399870\n",
"5399874\n",
"5399875\n",
"5399876\n",
"5399877\n",
"5399880\n",
"5399882\n",
"5399885\n",
"5399886\n",
"5399890\n",
"5399894\n",
"5399896\n",
"5399898\n",
"5399900\n",
"5399901\n",
"5399902\n",
"5399903\n",
"5399904\n",
"5399905\n",
"5399907\n",
"5399908\n",
"5399910\n",
"5399920\n",
"5399923\n",
"5399924\n",
"5399928\n",
"5399929\n",
"5399931\n",
"5399932\n",
"5399933\n",
"5399934\n",
"5399942\n",
"5399944\n",
"5399948\n",
"5399949\n",
"5399955\n",
"5399957\n",
"5399961\n",
"5399965\n",
"5399967\n",
"5399973\n",
"5399978\n",
"5399982\n",
"5399983\n",
"5399984\n",
"5399991\n",
"5399992\n",
"5399994\n",
"5399999\n",
"5400000\n",
"5400003\n",
"5400005\n",
"5400018\n",
"5400033\n",
"5400041\n",
"5400049\n",
"5400059\n",
"5400069\n",
"5400077\n",
"5400101\n",
"5400180\n",
"5401427\n",
"5401429\n",
"5401454\n",
"5401461\n",
"5401464\n",
"5401500\n",
"5401506\n",
"5401511\n",
"5401522\n",
"5401538\n",
"5401564\n",
"5401574\n",
"5401598\n",
"5401599\n",
"5401604\n",
"5401621\n",
"5401623\n",
"5401626\n",
"5401629\n",
"5401646\n",
"5401659\n",
"5401669\n",
"5401670\n",
"5401676\n",
"5401686\n",
"5401687\n",
"5401715\n",
"5401730\n",
"5401748\n",
"5401756\n",
"5401792\n",
"5401802\n",
"5401808\n",
"5401811\n",
"5401818\n",
"5401822\n",
"5401832\n",
"5401833\n",
"5401836\n",
"5401845\n",
"5401848\n",
"5401851\n",
"5401858\n",
"5401861\n",
"5401863\n",
"5401869\n",
"5401874\n",
"5401895\n",
"5401912\n",
"5401917\n",
"5401943\n",
"5401945\n",
"5401947\n",
"5401951\n",
"5401954\n",
"5401971\n",
"5401972\n",
"5401974\n",
"5401980\n",
"5401993\n",
"5402002\n",
"5402007\n",
"5402009\n",
"5402011\n",
"5402016\n",
"5402021\n",
"5402027\n",
"5402038\n",
"5402046\n",
"5402061\n",
"5402101\n",
"5402111\n",
"5402112\n",
"5402121\n",
"5402129\n",
"5402133\n",
"5402134\n",
"5402136\n",
"5402137\n",
"5402144\n",
"5402182\n",
"5402202\n",
"5402207\n",
"5402217\n",
"5402221\n",
"5402224\n",
"5402237\n",
"5402239\n",
"5402242\n",
"5402246\n",
"5402260\n",
"5402262\n",
"5402273\n",
"5402280\n",
"5402284\n",
"5402285\n",
"5402302\n",
"5402312\n",
"5402314\n",
"5402323\n",
"5402344\n",
"5402350\n",
"5402364\n",
"5402366\n",
"5402367\n",
"5402378\n",
"5402383\n",
"5402386\n",
"5402387\n",
"5402391\n",
"5402395\n",
"5402399\n",
"5402414\n",
"5402423\n",
"5402429\n",
"5402433\n",
"5402436\n",
"5402444\n",
"5402452\n",
"5402464\n",
"5402475\n",
"5402483\n",
"5402486\n",
"5402490\n",
"5402516\n",
"5402522\n",
"5402557\n",
"5402569\n",
"5402574\n",
"5402585\n",
"5402596\n",
"5402609\n",
"5402612\n",
"5402615\n",
"5402624\n",
"5402642\n",
"5402647\n",
"5402653\n",
"5402657\n",
"5402658\n",
"5402685\n",
"5402689\n",
"5402698\n",
"5402702\n",
"5402713\n",
"5402714\n",
"5402719\n",
"5402728\n",
"5402733\n",
"5402738\n",
"5402755\n",
"5402756\n",
"5402759\n",
"5402763\n",
"5402773\n",
"5402774\n",
"5402782\n",
"5402807\n",
"5402818\n",
"5402827\n",
"5402832\n",
"5402837\n",
"5402838\n",
"5402839\n",
"5402845\n",
"5402864\n",
"5402874\n",
"5402888\n",
"5402892\n",
"5402920\n",
"5402932\n",
"5402939\n",
"5402940\n",
"5402943\n",
"5402953\n",
"5402955\n",
"5402963\n",
"5402966\n",
"5402972\n",
"5402995\n",
"5403003\n",
"5403008\n",
"5403009\n",
"5403016\n",
"5403022\n",
"5403025\n",
"5403032\n",
"5403043\n",
"5403055\n",
"5403071\n",
"5403081\n",
"5403089\n",
"5403092\n",
"5403108\n",
"5403122\n",
"5403126\n",
"5403132\n",
"5403137\n",
"5403143\n",
"5403150\n",
"5403151\n",
"5403153\n",
"5403161\n",
"5403180\n",
"5403182\n",
"5403187\n",
"5403205\n",
"5403206\n",
"5403207\n",
"5403225\n",
"5403231\n",
"5403245\n",
"5403255\n",
"5403257\n",
"5403264\n",
"5403267\n",
"5403270\n",
"5403291\n",
"5403295\n",
"5403300\n",
"5403307\n",
"5403308\n",
"5403320\n",
"5403336\n",
"5403343\n",
"5403345\n",
"5403346\n",
"5403350\n",
"5403360\n",
"5403378\n",
"5403383\n",
"5403391\n",
"5403401\n",
"5403403\n",
"5403411\n",
"5403412\n",
"5403419\n",
"5403425\n",
"5403427\n",
"5403428\n",
"5403442\n",
"5403458\n",
"5403468\n",
"5403477\n",
"5403484\n",
"5403488\n",
"5403503\n",
"5403514\n",
"5403515\n",
"5403516\n",
"5403533\n",
"5403537\n",
"5403550\n",
"5403561\n",
"5403568\n",
"5403575\n",
"5403576\n",
"5403578\n",
"5403580\n",
"5403600\n",
"5403611\n",
"5403628\n",
"5403640\n",
"5403641\n",
"5403646\n",
"5403656\n",
"5403664\n",
"5403669\n",
"5403680\n",
"5403689\n",
"5403693\n",
"5403700\n",
"5403701\n",
"5403711\n",
"5403714\n",
"5403751\n",
"5403762\n",
"5403765\n",
"5403778\n",
"5403800\n",
"5403803\n",
"5403822\n",
"5403830\n",
"5403851\n",
"5403860\n",
"5403912\n",
"5403931\n",
"5403933\n",
"5403937\n",
"5403950\n",
"5403978\n",
"5403985\n",
"5404060\n",
"5404108\n",
"5404121\n",
"5404171\n",
"5404180\n",
"5404203\n",
"5404208\n",
"5404222\n",
"5404268\n",
"5404332\n",
"5404377\n",
"5404388\n",
"5404419\n",
"5404426\n",
"5404428\n",
"5404463\n",
"5404519\n",
"5404520\n",
"5404575\n",
"5404664\n",
"5404724\n",
"5408549\n",
"5408717\n",
"5409082\n",
"5409181\n",
"5409206\n",
"5409570\n",
"5409600\n",
"5409624\n",
"5409873\n",
"5409909\n",
"5409928\n",
"5409933\n",
"5410099\n",
"5410255\n",
"5410537\n",
"5410816\n",
"5410858\n",
"5410915\n",
"5410999\n",
"5411210\n",
"5411344\n",
"5411628\n",
"5411786\n",
"5411819\n",
"5411995\n",
"5412283\n",
"5412294\n",
"5412299\n",
"5412531\n",
"5412574\n",
"5412582\n",
"5412625\n",
"5412868\n",
"5413128\n",
"5413279\n",
"5413316\n",
"5413428\n",
"5413645\n",
"5414511\n",
"5415170\n",
"5415253\n",
"5416430\n",
"5416519\n",
"5417907\n",
"5417926\n",
"5419066\n",
"5419190\n",
"5420524\n",
"5421440\n",
"5464344\n",
"5464345\n",
"5464346\n",
"5464347\n",
"5464348\n",
"5464349\n",
"5464350\n",
"5464352\n",
"5464353\n",
"5464354\n",
"5464355\n",
"5464356\n",
"5464357\n",
"5464358\n",
"5464359\n",
"5464361\n",
"5464363\n",
"5464364\n",
"5464365\n",
"5464366\n",
"5464371\n",
"5464372\n",
"5464374\n",
"5464382\n",
"5464383\n",
"5464387\n",
"5464389\n",
"5464391\n",
"5464393\n",
"5464396\n",
"5464397\n",
"5464404\n",
"5464436\n",
"5464536\n",
"5464554\n",
"5464588\n",
"5464591\n",
"5464593\n",
"5464599\n",
"5464605\n",
"5464609\n",
"5464612\n",
"5464614\n",
"5464618\n",
"5464620\n",
"5464622\n",
"5464625\n",
"5464627\n",
"5464630\n",
"5464631\n",
"5464635\n",
"5464636\n",
"5464645\n",
"5464650\n",
"5464652\n",
"5464653\n",
"5464656\n",
"5464663\n",
"5464664\n",
"5464672\n",
"5464674\n",
"5464678\n",
"5464679\n",
"5464686\n",
"5464687\n",
"5464688\n",
"5464690\n",
"5464692\n",
"5464694\n",
"5464700\n",
"5464703\n",
"5464704\n",
"5464706\n",
"5464707\n",
"5464709\n",
"5464711\n",
"5464713\n",
"5464715\n",
"5464716\n",
"5464720\n",
"5464724\n",
"5464726\n",
"5464727\n",
"5464729\n",
"5464730\n",
"5464731\n",
"5464732\n",
"5464733\n",
"5464735\n",
"5464736\n",
"5464737\n",
"5464739\n",
"5464740\n",
"5464741\n",
"5464744\n",
"5464745\n",
"5464750\n",
"5464751\n",
"5464752\n",
"5464754\n",
"5464759\n",
"5464760\n",
"5464762\n",
"5464763\n",
"5464764\n",
"5464765\n",
"5464768\n",
"5464769\n",
"5464772\n",
"5464773\n",
"5464774\n",
"5464779\n",
"5464782\n",
"5464789\n",
"5464790\n",
"5464791\n",
"5464796\n",
"5464800\n",
"5464807\n",
"5464808\n",
"5464809\n",
"5464810\n",
"5464813\n",
"5464815\n",
"5464816\n",
"5464817\n",
"5464821\n",
"5464823\n",
"5464825\n",
"5464827\n",
"5464828\n",
"5464829\n",
"5464830\n",
"5464832\n",
"5464835\n",
"5464836\n",
"5464837\n",
"5464838\n",
"5464839\n",
"5464840\n",
"5464843\n",
"5464845\n",
"5464846\n",
"5464847\n",
"5464850\n",
"5464851\n",
"5464852\n",
"5464853\n",
"5464856\n",
"5464859\n",
"5464860\n",
"5464864\n",
"5464870\n",
"5464871\n",
"5464872\n",
"5464873\n",
"5464874\n",
"5464876\n",
"5464878\n",
"5464879\n",
"5464880\n",
"5464884\n",
"5464888\n",
"5464889\n",
"5464890\n",
"5464894\n",
"5464898\n",
"5464899\n",
"5464900\n",
"5464902\n",
"5464904\n",
"5464905\n",
"5464908\n",
"5464909\n",
"5464910\n",
"5464912\n",
"5464915\n",
"5464918\n",
"5464922\n",
"5464923\n",
"5464924\n",
"5464925\n",
"5464926\n",
"5464928\n",
"5464933\n",
"5464938\n",
"5464941\n",
"5464943\n",
"5464947\n",
"5464949\n",
"5464954\n",
"5464959\n",
"5464961\n",
"5464963\n",
"5464966\n",
"5464968\n",
"5464972\n",
"5464973\n",
"5464975\n",
"5464977\n",
"5464979\n",
"5464980\n",
"5464983\n",
"5464988\n",
"5464990\n",
"5464991\n",
"5464993\n",
"5464994\n",
"5465001\n",
"5465002\n",
"5465003\n",
"5465007\n",
"5465008\n",
"5465009\n",
"5465014\n",
"5465016\n",
"5465018\n",
"5465019\n",
"5465020\n",
"5465023\n",
"5465025\n",
"5465029\n",
"5465035\n",
"5465038\n",
"5465042\n",
"5465046\n",
"5465047\n",
"5465050\n",
"5465052\n",
"5465056\n",
"5465058\n",
"5465059\n",
"5465063\n",
"5465066\n",
"5465068\n",
"5465070\n",
"5465071\n",
"5465073\n",
"5465074\n",
"5465076\n",
"5465078\n",
"5465082\n",
"5465089\n",
"5465096\n",
"5465100\n",
"5465101\n",
"5465102\n",
"5465107\n",
"5465108\n",
"5465110\n",
"5465112\n",
"5465115\n",
"5465120\n",
"5465131\n",
"5465137\n",
"5465142\n",
"5465152\n",
"5465159\n",
"5465163\n",
"5465169\n",
"5465174\n",
"5465178\n",
"5465179\n",
"5465182\n",
"5465204\n",
"5465206\n",
"5465209\n",
"5465214\n",
"5465229\n",
"5465235\n",
"5465269\n",
"5465273\n",
"5465459\n",
"5465776\n",
"5466444\n",
"5466516\n",
"5466550\n",
"5466565\n",
"5466581\n",
"5466596\n",
"5466611\n",
"5466621\n",
"5466622\n",
"5466626\n",
"5466651\n",
"5466654\n",
"5466672\n",
"5466686\n",
"5466687\n",
"5466690\n",
"5466708\n",
"5466715\n",
"5466747\n",
"5466748\n",
"5466754\n",
"5466755\n",
"5466761\n",
"5466764\n",
"5466765\n",
"5466780\n",
"5466788\n",
"5466799\n",
"5466808\n",
"5466810\n",
"5466827\n",
"5466836\n",
"5466837\n",
"5466850\n",
"5466856\n",
"5466859\n",
"5466876\n",
"5466881\n",
"5466886\n",
"5466887\n",
"5466903\n",
"5466905\n",
"5466924\n",
"5466932\n",
"5466934\n",
"5466942\n",
"5466976\n",
"5466986\n",
"5467013\n",
"5467014\n",
"5467031\n",
"5467042\n",
"5467052\n",
"5467054\n",
"5467057\n",
"5467077\n",
"5467080\n",
"5467099\n",
"5467115\n",
"5467153\n",
"5467155\n",
"5467166\n",
"5467180\n",
"5467184\n",
"5467202\n",
"5467226\n",
"5467228\n",
"5467231\n",
"5467260\n",
"5467262\n",
"5467274\n",
"5467287\n",
"5467295\n",
"5467298\n",
"5467347\n",
"5467349\n",
"5467353\n",
"5467364\n",
"5467383\n",
"5467396\n",
"5467406\n",
"5467423\n",
"5467447\n",
"5467450\n",
"5467459\n",
"5467463\n",
"5467472\n",
"5467476\n",
"5467490\n",
"5467525\n",
"5467528\n",
"5467532\n",
"5467533\n",
"5467538\n",
"5467541\n",
"5467546\n",
"5467551\n",
"5467557\n",
"5467567\n",
"5467579\n",
"5467588\n",
"5467592\n",
"5467595\n",
"5467598\n",
"5467619\n",
"5467627\n",
"5467630\n",
"5467635\n",
"5467637\n",
"5467644\n",
"5467659\n",
"5467666\n",
"5467672\n",
"5467683\n",
"5467693\n",
"5467709\n",
"5467713\n",
"5467714\n",
"5467725\n",
"5467731\n",
"5467740\n",
"5467749\n",
"5467765\n",
"5467770\n",
"5467775\n",
"5467777\n",
"5467795\n",
"5467799\n",
"5467802\n",
"5467803\n",
"5467804\n",
"5467833\n",
"5467841\n",
"5467849\n",
"5467856\n",
"5467875\n",
"5467880\n",
"5467882\n",
"5467898\n",
"5467912\n",
"5467922\n",
"5467924\n",
"5467934\n",
"5467935\n",
"5467941\n",
"5467952\n",
"5467956\n",
"5467963\n",
"5467968\n",
"5467969\n",
"5467979\n",
"5467987\n",
"5467997\n",
"5468031\n",
"5468038\n",
"5468041\n",
"5468048\n",
"5468051\n",
"5468054\n",
"5468066\n",
"5468093\n",
"5468100\n",
"5468118\n",
"5468125\n",
"5468129\n",
"5468133\n",
"5468140\n",
"5468157\n",
"5468167\n",
"5468174\n",
"5468175\n",
"5468179\n",
"5468185\n",
"5468191\n",
"5468204\n",
"5468207\n",
"5468216\n",
"5468245\n",
"5468282\n",
"5468298\n",
"5468304\n",
"5468307\n",
"5468332\n",
"5468336\n",
"5468355\n",
"5468366\n",
"5468369\n",
"5468372\n",
"5468380\n",
"5468381\n",
"5468385\n",
"5468407\n",
"5468415\n",
"5468426\n",
"5468429\n",
"5468443\n",
"5468462\n",
"5468464\n",
"5468468\n",
"5468472\n",
"5468477\n",
"5468485\n",
"5468488\n",
"5468489\n",
"5468491\n",
"5468506\n",
"5468512\n",
"5468514\n",
"5468525\n",
"5468555\n",
"5468567\n",
"5468570\n",
"5468589\n",
"5468592\n",
"5468616\n",
"5468624\n",
"5468661\n",
"5468668\n",
"5468679\n",
"5468680\n",
"5468689\n",
"5468695\n",
"5468700\n",
"5468705\n",
"5468734\n",
"5468740\n",
"5468785\n",
"5468794\n",
"5468802\n",
"5468854\n",
"5468862\n",
"5468867\n",
"5468882\n",
"5468887\n",
"5468890\n",
"5468892\n",
"5468909\n",
"5468911\n",
"5468914\n",
"5468915\n",
"5468925\n",
"5468932\n",
"5468934\n",
"5468950\n",
"5468953\n",
"5468956\n",
"5468966\n",
"5469007\n",
"5469011\n",
"5469018\n",
"5469020\n",
"5469095\n",
"5469142\n",
"5469149\n",
"5469158\n",
"5469162\n",
"5469174\n",
"5469208\n",
"5469260\n",
"5469304\n",
"5469325\n",
"5469336\n",
"5469377\n",
"5469388\n",
"5469401\n",
"5469445\n",
"5469447\n",
"5469467\n",
"5469475\n",
"5469476\n",
"5469494\n",
"5469498\n",
"5469500\n",
"5469503\n",
"5469518\n",
"5469528\n",
"5469533\n",
"5469538\n",
"5469571\n",
"5469654\n",
"5469747\n",
"5469760\n",
"5469800\n",
"5469812\n",
"5469814\n",
"5469867\n",
"5470021\n",
"5470151\n",
"5470159\n",
"5470243\n",
"5470282\n",
"5470546\n",
"5470547\n",
"5470720\n",
"5471033\n",
"5471038\n",
"5471236\n",
"5471472\n",
"5471618\n",
"5472163\n",
"5472331\n",
"5472434\n",
"5473004\n",
"5473435\n",
"5473665\n",
"5473908\n",
"5473923\n",
"5474005\n",
"5474233\n",
"5474234\n",
"5474332\n",
"5474366\n",
"5474562\n",
"5474594\n",
"5474646\n",
"5474660\n",
"5474668\n",
"5474681\n",
"5474758\n",
"5474764\n",
"5474839\n",
"5474921\n",
"5475248\n",
"5475439\n",
"5475613\n",
"5475618\n",
"5475793\n",
"5475880\n",
"5475908\n",
"5476095\n",
"5476462\n",
"5476927\n",
"5477033\n",
"5477107\n",
"5477115\n",
"5477282\n",
"5477340\n",
"5477354\n",
"5477702\n",
"5478073\n",
"5478089\n",
"5478196\n",
"5478209\n",
"5478321\n",
"5478905\n",
"5479021\n",
"5479045\n",
"5479187\n",
"5479269\n",
"5479277\n",
"5479506\n",
"5479529\n",
"5479551\n",
"5479651\n",
"5479811\n",
"5479908\n",
"5480223\n",
"5480619\n",
"5481519\n",
"5481605\n",
"5481802\n",
"5482413\n",
"5483146\n",
"5483401\n",
"5483673\n",
"5484193\n",
"5484342\n",
"5484386\n",
"5484587\n",
"5485317\n",
"5485319\n",
"5485494\n",
"5485738\n",
"5485949\n",
"5486245\n",
"5486448\n",
"5486766\n",
"5486810\n",
"5487072\n",
"5487248\n",
"5487387\n",
"5487621\n",
"5487915\n",
"5487931\n",
"5487958\n",
"5488159\n",
"5488433\n",
"5488619\n",
"5488796\n",
"5488962\n",
"5489247\n",
"5489538\n",
"5489600\n",
"5490351\n",
"5490367\n",
"5491034\n",
"5491117\n",
"5491428\n",
"5492166\n",
"5492179\n",
"5492201\n",
"5492493\n",
"5493386\n",
"5493488\n",
"5494272\n",
"5494409\n",
"5494845\n",
"5494947\n",
"5495648\n",
"5496274\n",
"5496600\n",
"5496615\n",
"5496623\n",
"5496766\n",
"5497114\n",
"5497763\n",
"5497978\n",
"5498053\n",
"5498147\n",
"5498455\n",
"5498456\n",
"5498551\n",
"5499305\n",
"5499562\n",
"5499563\n",
"5499999\n",
"5500064\n",
"5500075\n",
"5500500\n",
"5500533\n",
"5500737\n",
"5500893\n",
"5500923\n",
"5501047\n",
"5501115\n",
"5501391\n",
"5501685\n",
"5501713\n",
"5501742\n",
"5501789\n",
"5502350\n",
"5503491\n",
"5503672\n",
"5503897\n",
"5504216\n",
"5504423\n",
"5504817\n",
"5505292\n",
"5505308\n",
"5505676\n",
"5506297\n",
"5506727\n",
"5506802\n",
"5506895\n",
"5507010\n",
"5507140\n",
"5507192\n",
"5507517\n",
"5507556\n",
"5507586\n",
"5507757\n",
"5507831\n",
"5507892\n",
"5508033\n",
"5508077\n",
"5508530\n",
"5508641\n",
"5508730\n",
"5509372\n",
"5510191\n",
"5510548\n",
"5511049\n",
"5511092\n",
"5511099\n",
"5511157\n",
"5511570\n",
"5511791\n",
"5511799\n",
"5511891\n",
"5512276\n",
"5512361\n",
"5512751\n",
"5512760\n",
"5512931\n",
"5513014\n",
"5513528\n",
"5513642\n",
"5528457\n",
"5528460\n",
"5528462\n",
"5528463\n",
"5528464\n",
"5528466\n",
"5528468\n",
"5528469\n",
"5528470\n",
"5528471\n",
"5528472\n",
"5528474\n",
"5528475\n",
"5528476\n",
"5528477\n",
"5528478\n",
"5528479\n",
"5528480\n",
"5528481\n",
"5528482\n",
"5528484\n",
"5528485\n",
"5528487\n",
"5528488\n",
"5528492\n",
"5528493\n",
"5528496\n",
"5528505\n",
"5528507\n",
"5528510\n",
"5528514\n",
"5528519\n",
"5528583\n",
"5528618\n",
"5528620\n",
"5528622\n",
"5528624\n",
"5528632\n",
"5528633\n",
"5528634\n",
"5528637\n",
"5528638\n",
"5528641\n",
"5528642\n",
"5528645\n",
"5528648\n",
"5528649\n",
"5528652\n",
"5528653\n",
"5528654\n",
"5528655\n",
"5528656\n",
"5528657\n",
"5528659\n",
"5528662\n",
"5528664\n",
"5528665\n",
"5528670\n",
"5528673\n",
"5528674\n",
"5528675\n",
"5528676\n",
"5528681\n",
"5528682\n",
"5528683\n",
"5528684\n",
"5528686\n",
"5528687\n",
"5528690\n",
"5528694\n",
"5528696\n",
"5528697\n",
"5528699\n",
"5528703\n",
"5528705\n",
"5528708\n",
"5528710\n",
"5528712\n",
"5528713\n",
"5528714\n",
"5528715\n",
"5528718\n",
"5528723\n",
"5528724\n",
"5528725\n",
"5528726\n",
"5528727\n",
"5528728\n",
"5528729\n",
"5528730\n",
"5528731\n",
"5528732\n",
"5528733\n",
"5528734\n",
"5528735\n",
"5528738\n",
"5528739\n",
"5528740\n",
"5528741\n",
"5528742\n",
"5528743\n",
"5528744\n",
"5528745\n",
"5528746\n",
"5528750\n",
"5528752\n",
"5528755\n",
"5528757\n",
"5528758\n",
"5528763\n",
"5528765\n",
"5528766\n",
"5528767\n",
"5528771\n",
"5528772\n",
"5528773\n",
"5528774\n",
"5528775\n",
"5528776\n",
"5528778\n",
"5528780\n",
"5528782\n",
"5528785\n",
"5528786\n",
"5528787\n",
"5528788\n",
"5528790\n",
"5528792\n",
"5528793\n",
"5528794\n",
"5528795\n",
"5528796\n",
"5528797\n",
"5528798\n",
"5528799\n",
"5528800\n",
"5528801\n",
"5528803\n",
"5528804\n",
"5528805\n",
"5528806\n",
"5528808\n",
"5528809\n",
"5528811\n",
"5528812\n",
"5528814\n",
"5528815\n",
"5528817\n",
"5528818\n",
"5528820\n",
"5528821\n",
"5528823\n",
"5528826\n",
"5528833\n",
"5528834\n",
"5528835\n",
"5528838\n",
"5528842\n",
"5528843\n",
"5528844\n",
"5528845\n",
"5528846\n",
"5528848\n",
"5528849\n",
"5528853\n",
"5528854\n",
"5528855\n",
"5528856\n",
"5528857\n",
"5528859\n",
"5528861\n",
"5528862\n",
"5528863\n",
"5528865\n",
"5528866\n",
"5528869\n",
"5528874\n",
"5528877\n",
"5528878\n",
"5528879\n",
"5528880\n",
"5528881\n",
"5528886\n",
"5528887\n",
"5528889\n",
"5528891\n",
"5528893\n",
"5528894\n",
"5528895\n",
"5528896\n",
"5528897\n",
"5528899\n",
"5528902\n",
"5528903\n",
"5528904\n",
"5528905\n",
"5528908\n",
"5528909\n",
"5528910\n",
"5528911\n",
"5528915\n",
"5528917\n",
"5528918\n",
"5528919\n",
"5528921\n",
"5528922\n",
"5528926\n",
"5528927\n",
"5528928\n",
"5528932\n",
"5528933\n",
"5528937\n",
"5528938\n",
"5528939\n",
"5528941\n",
"5528942\n",
"5528943\n",
"5528944\n",
"5528945\n",
"5528946\n",
"5528947\n",
"5528948\n",
"5528949\n",
"5528950\n",
"5528951\n",
"5528952\n",
"5528953\n",
"5528955\n",
"5528956\n",
"5528957\n",
"5528958\n",
"5528960\n",
"5528961\n",
"5528963\n",
"5528964\n",
"5528965\n",
"5528967\n",
"5528968\n",
"5528969\n",
"5528970\n",
"5528971\n",
"5528972\n",
"5528973\n",
"5528974\n",
"5528975\n",
"5528978\n",
"5528979\n",
"5528984\n",
"5528986\n",
"5528987\n",
"5528989\n",
"5528990\n",
"5528991\n",
"5528993\n",
"5528994\n",
"5528998\n",
"5528999\n",
"5529000\n",
"5529004\n",
"5529006\n",
"5529007\n",
"5529014\n",
"5529015\n",
"5529016\n",
"5529026\n",
"5529033\n",
"5529040\n",
"5529041\n",
"5529042\n",
"5529046\n",
"5529050\n",
"5529052\n",
"5529055\n",
"5529063\n",
"5529071\n",
"5529073\n",
"5529075\n",
"5529076\n",
"5529080\n",
"5529082\n",
"5529090\n",
"5529099\n",
"5529118\n",
"5529122\n",
"5529128\n",
"5529134\n",
"5529165\n",
"5529170\n",
"5529491\n",
"5529583\n",
"5529748\n",
"5529782\n",
"5529952\n",
"5529966\n",
"5530047\n",
"5530052\n",
"5530118\n",
"5530134\n",
"5530185\n",
"5530195\n",
"5530197\n",
"5530202\n",
"5530227\n",
"5530233\n",
"5530235\n",
"5530276\n",
"5530278\n",
"5530295\n",
"5530299\n",
"5530301\n",
"5530308\n",
"5530313\n",
"5530316\n",
"5530325\n",
"5530354\n",
"5530355\n",
"5530363\n",
"5530372\n",
"5530386\n",
"5530389\n",
"5530393\n",
"5530398\n",
"5530412\n",
"5530415\n",
"5530417\n",
"5530420\n",
"5530421\n",
"5530426\n",
"5530429\n",
"5530431\n",
"5530432\n",
"5530448\n",
"5530452\n",
"5530457\n",
"5530458\n",
"5530463\n",
"5530465\n",
"5530467\n",
"5530478\n",
"5530482\n",
"5530484\n",
"5530490\n",
"5530493\n",
"5530496\n",
"5530523\n",
"5530525\n",
"5530529\n",
"5530544\n",
"5530546\n",
"5530549\n",
"5530552\n",
"5530562\n",
"5530565\n",
"5530581\n",
"5530596\n",
"5530603\n",
"5530608\n",
"5530614\n",
"5530617\n",
"5530641\n",
"5530645\n",
"5530649\n",
"5530653\n",
"5530657\n",
"5530665\n",
"5530668\n",
"5530670\n",
"5530678\n",
"5530689\n",
"5530690\n",
"5530701\n",
"5530705\n",
"5530718\n",
"5530729\n",
"5530744\n",
"5530751\n",
"5530769\n",
"5530786\n",
"5530788\n",
"5530789\n",
"5530791\n",
"5530806\n",
"5530808\n",
"5530832\n",
"5530859\n",
"5530862\n",
"5530876\n",
"5530877\n",
"5530878\n",
"5530880\n",
"5530888\n",
"5530889\n",
"5530906\n",
"5530913\n",
"5530914\n",
"5530924\n",
"5530944\n",
"5530958\n",
"5530959\n",
"5530960\n",
"5530963\n",
"5530981\n",
"5530987\n",
"5530992\n",
"5530996\n",
"5531005\n",
"5531010\n",
"5531018\n",
"5531020\n",
"5531029\n",
"5531035\n",
"5531036\n",
"5531047\n",
"5531072\n",
"5531074\n",
"5531102\n",
"5531104\n",
"5531119\n",
"5531125\n",
"5531134\n",
"5531137\n",
"5531141\n",
"5531142\n",
"5531144\n",
"5531147\n",
"5531154\n",
"5531157\n",
"5531165\n",
"5531166\n",
"5531182\n",
"5531187\n",
"5531198\n",
"5531208\n",
"5531215\n",
"5531218\n",
"5531222\n",
"5531224\n",
"5531225\n",
"5531231\n",
"5531237\n",
"5531263\n",
"5531284\n",
"5531296\n",
"5531302\n",
"5531305\n",
"5531306\n",
"5531321\n",
"5531329\n",
"5531332\n",
"5531347\n",
"5531355\n",
"5531360\n",
"5531377\n",
"5531385\n",
"5531393\n",
"5531394\n",
"5531396\n",
"5531411\n",
"5531416\n",
"5531422\n",
"5531424\n",
"5531427\n",
"5531435\n",
"5531438\n",
"5531443\n",
"5531447\n",
"5531463\n",
"5531467\n",
"5531476\n",
"5531486\n",
"5531494\n",
"5531495\n",
"5531527\n",
"5531532\n",
"5531542\n",
"5531561\n",
"5531565\n",
"5531576\n",
"5531593\n",
"5531595\n",
"5531599\n",
"5531604\n",
"5531608\n",
"5531611\n",
"5531637\n",
"5531638\n",
"5531664\n",
"5531666\n",
"5531671\n",
"5531673\n",
"5531680\n",
"5531691\n",
"5531698\n",
"5531699\n",
"5531712\n",
"5531719\n",
"5531723\n",
"5531746\n",
"5531754\n",
"5531762\n",
"5531763\n",
"5531764\n",
"5531767\n",
"5531784\n",
"5531787\n",
"5531788\n",
"5531789\n",
"5531791\n",
"5531793\n",
"5531794\n",
"5531796\n",
"5531797\n",
"5531805\n",
"5531816\n",
"5531818\n",
"5531843\n",
"5531844\n",
"5531849\n",
"5531887\n",
"5531890\n",
"5531905\n",
"5531906\n",
"5531954\n",
"5531959\n",
"5531981\n",
"5531983\n",
"5531988\n",
"5531996\n",
"5532000\n",
"5532001\n",
"5532012\n",
"5532019\n",
"5532042\n",
"5532044\n",
"5532050\n",
"5532051\n",
"5532053\n",
"5532059\n",
"5532066\n",
"5532076\n",
"5532085\n",
"5532087\n",
"5532100\n",
"5532103\n",
"5532117\n",
"5532123\n",
"5532135\n",
"5532139\n",
"5532151\n",
"5532153\n",
"5532213\n",
"5532247\n",
"5532275\n",
"5532296\n",
"5532304\n",
"5532314\n",
"5532356\n",
"5532376\n",
"5532379\n",
"5532400\n",
"5532410\n",
"5532424\n",
"5532450\n",
"5532455\n",
"5532456\n",
"5532462\n",
"5532466\n",
"5532470\n",
"5532473\n",
"5532481\n",
"5532489\n",
"5532507\n",
"5532517\n",
"5532565\n",
"5532579\n",
"5532581\n",
"5532586\n",
"5532587\n",
"5532607\n",
"5532613\n",
"5532619\n",
"5532624\n",
"5532627\n",
"5532647\n",
"5532661\n",
"5532678\n",
"5532689\n",
"5532698\n",
"5532702\n",
"5532711\n",
"5532744\n",
"5532748\n",
"5532758\n",
"5532791\n",
"5532797\n",
"5532824\n",
"5532825\n",
"5532826\n",
"5532844\n",
"5532858\n",
"5532869\n",
"5532905\n",
"5532949\n",
"5532978\n",
"5533061\n",
"5533143\n",
"5533155\n",
"5533178\n",
"5533182\n",
"5533208\n",
"5533387\n",
"5533390\n",
"5533520\n",
"5533863\n",
"5536551\n",
"5536679\n",
"5536773\n",
"5536867\n",
"5537131\n",
"5537134\n",
"5537171\n",
"5537286\n",
"5537301\n",
"5537322\n",
"5537373\n",
"5537401\n",
"5537504\n",
"5537580\n",
"5537681\n",
"5537759\n",
"5537860\n",
"5537945\n",
"5537968\n",
"5538007\n",
"5538044\n",
"5538109\n",
"5538114\n",
"5538240\n",
"5538394\n",
"5538633\n",
"5538765\n",
"5538779\n",
"5538807\n",
"5538841\n",
"5538865\n",
"5538939\n",
"5538944\n",
"5539216\n",
"5539348\n",
"5539851\n",
"5540004\n",
"5540528\n",
"5540554\n",
"5540601\n",
"5540649\n",
"5541349\n",
"5541441\n",
"5541526\n",
"5542404\n",
"5542762\n",
"5542954\n",
"5542966\n",
"5543091\n",
"5543096\n",
"5544071\n",
"5544200\n",
"5544236\n",
"5544267\n",
"5545162\n",
"5545265\n",
"5545604\n",
"5546146\n",
"5546893\n",
"5547260\n",
"5547635\n",
"5547655\n",
"5547662\n",
"5548641\n",
"5549126\n",
"5549356\n",
"5549768\n",
"5550010\n",
"5550357\n",
"5551340\n",
"5551800\n",
"5554758\n",
"5556075\n",
"5558309\n",
"5558897\n",
"5558910\n",
"5559353\n",
"5559930\n",
"5560103\n",
"5561292\n",
"5561884\n",
"5562106\n",
"5563503\n",
"5563710\n",
"5563772\n",
"5564701\n",
"5565742\n",
"5566083\n",
"5567614\n",
"5568024\n",
"5568259\n",
"5568420\n",
"5568827\n",
"5569292\n",
"5570130\n",
"5570660\n",
"5572014\n",
"5575871\n",
"5575902\n",
"5591868\n",
"5591869\n",
"5591870\n",
"5591871\n",
"5591872\n",
"5591874\n",
"5591875\n",
"5591876\n",
"5591877\n",
"5591878\n",
"5591879\n",
"5591880\n",
"5591882\n",
"5591883\n",
"5591884\n",
"5591885\n",
"5591886\n",
"5591887\n",
"5591893\n",
"5591897\n",
"5591901\n",
"5591996\n",
"5592000\n",
"5592003\n",
"5592006\n",
"5592014\n",
"5592018\n",
"5592025\n",
"5592026\n",
"5592031\n",
"5592033\n",
"5592035\n",
"5592038\n",
"5592039\n",
"5592040\n",
"5592047\n",
"5592049\n",
"5592050\n",
"5592051\n",
"5592053\n",
"5592054\n",
"5592055\n",
"5592057\n",
"5592060\n",
"5592062\n",
"5592064\n",
"5592068\n",
"5592069\n",
"5592074\n",
"5592075\n",
"5592077\n",
"5592078\n",
"5592080\n",
"5592081\n",
"5592083\n",
"5592086\n",
"5592088\n",
"5592091\n",
"5592092\n",
"5592094\n",
"5592096\n",
"5592097\n",
"5592098\n",
"5592099\n",
"5592101\n",
"5592102\n",
"5592103\n",
"5592104\n",
"5592107\n",
"5592110\n",
"5592111\n",
"5592113\n",
"5592114\n",
"5592115\n",
"5592116\n",
"5592117\n",
"5592119\n",
"5592120\n",
"5592121\n",
"5592123\n",
"5592124\n",
"5592127\n",
"5592128\n",
"5592129\n",
"5592130\n",
"5592131\n",
"5592133\n",
"5592134\n",
"5592135\n",
"5592136\n",
"5592137\n",
"5592138\n",
"5592139\n",
"5592140\n",
"5592141\n",
"5592142\n",
"5592144\n",
"5592145\n",
"5592146\n",
"5592147\n",
"5592149\n",
"5592150\n",
"5592151\n",
"5592152\n",
"5592154\n",
"5592155\n",
"5592156\n",
"5592158\n",
"5592159\n",
"5592160\n",
"5592161\n",
"5592162\n",
"5592163\n",
"5592164\n",
"5592165\n",
"5592166\n",
"5592167\n",
"5592168\n",
"5592171\n",
"5592173\n",
"5592175\n",
"5592178\n",
"5592179\n",
"5592180\n",
"5592181\n",
"5592182\n",
"5592183\n",
"5592184\n",
"5592185\n",
"5592186\n",
"5592188\n",
"5592190\n",
"5592191\n",
"5592192\n",
"5592193\n",
"5592195\n",
"5592196\n",
"5592197\n",
"5592199\n",
"5592200\n",
"5592201\n",
"5592202\n",
"5592203\n",
"5592204\n",
"5592205\n",
"5592206\n",
"5592207\n",
"5592209\n",
"5592210\n",
"5592211\n",
"5592213\n",
"5592214\n",
"5592216\n",
"5592218\n",
"5592219\n",
"5592221\n",
"5592224\n",
"5592225\n",
"5592227\n",
"5592229\n",
"5592231\n",
"5592233\n",
"5592234\n",
"5592235\n",
"5592236\n",
"5592238\n",
"5592240\n",
"5592241\n",
"5592242\n",
"5592244\n",
"5592245\n",
"5592246\n",
"5592247\n",
"5592249\n",
"5592250\n",
"5592251\n",
"5592252\n",
"5592253\n",
"5592255\n",
"5592256\n",
"5592260\n",
"5592261\n",
"5592262\n",
"5592263\n",
"5592264\n",
"5592265\n",
"5592267\n",
"5592268\n",
"5592270\n",
"5592271\n",
"5592272\n",
"5592274\n",
"5592275\n",
"5592276\n",
"5592279\n",
"5592280\n",
"5592281\n",
"5592284\n",
"5592287\n",
"5592290\n",
"5592291\n",
"5592293\n",
"5592295\n",
"5592298\n",
"5592301\n",
"5592302\n",
"5592304\n",
"5592305\n",
"5592306\n",
"5592307\n",
"5592311\n",
"5592312\n",
"5592313\n",
"5592316\n",
"5592320\n",
"5592321\n",
"5592322\n",
"5592323\n",
"5592325\n",
"5592326\n",
"5592328\n",
"5592329\n",
"5592330\n",
"5592333\n",
"5592339\n",
"5592341\n",
"5592342\n",
"5592344\n",
"5592347\n",
"5592348\n",
"5592350\n",
"5592351\n",
"5592352\n",
"5592355\n",
"5592356\n",
"5592360\n",
"5592361\n",
"5592365\n",
"5592367\n",
"5592372\n",
"5592374\n",
"5592404\n",
"5592423\n",
"5592507\n",
"5592511\n",
"5593125\n",
"5593131\n",
"5593132\n",
"5593180\n",
"5593190\n",
"5593196\n",
"5593231\n",
"5593238\n",
"5593255\n",
"5593258\n",
"5593263\n",
"5593268\n",
"5593272\n",
"5593273\n",
"5593274\n",
"5593277\n",
"5593281\n",
"5593289\n",
"5593296\n",
"5593300\n",
"5593303\n",
"5593317\n",
"5593319\n",
"5593327\n",
"5593330\n",
"5593337\n",
"5593352\n",
"5593353\n",
"5593354\n",
"5593359\n",
"5593362\n",
"5593363\n",
"5593366\n",
"5593374\n",
"5593377\n",
"5593382\n",
"5593389\n",
"5593396\n",
"5593406\n",
"5593408\n",
"5593413\n",
"5593417\n",
"5593420\n",
"5593423\n",
"5593426\n",
"5593430\n",
"5593434\n",
"5593438\n",
"5593447\n",
"5593454\n",
"5593463\n",
"5593470\n",
"5593474\n",
"5593483\n",
"5593501\n",
"5593512\n",
"5593513\n",
"5593519\n",
"5593521\n",
"5593523\n",
"5593525\n",
"5593526\n",
"5593528\n",
"5593534\n",
"5593535\n",
"5593536\n",
"5593543\n",
"5593545\n",
"5593551\n",
"5593554\n",
"5593556\n",
"5593557\n",
"5593562\n",
"5593564\n",
"5593567\n",
"5593569\n",
"5593574\n",
"5593596\n",
"5593602\n",
"5593606\n",
"5593607\n",
"5593609\n",
"5593611\n",
"5593613\n",
"5593617\n",
"5593621\n",
"5593622\n",
"5593626\n",
"5593627\n",
"5593635\n",
"5593639\n",
"5593643\n",
"5593655\n",
"5593658\n",
"5593663\n",
"5593671\n",
"5593682\n",
"5593691\n",
"5593694\n",
"5593696\n",
"5593700\n",
"5593705\n",
"5593708\n",
"5593709\n",
"5593710\n",
"5593711\n",
"5593718\n",
"5593731\n",
"5593737\n",
"5593741\n",
"5593745\n",
"5593746\n",
"5593756\n",
"5593759\n",
"5593764\n",
"5593765\n",
"5593772\n",
"5593775\n",
"5593780\n",
"5593788\n",
"5593791\n",
"5593793\n",
"5593796\n",
"5593797\n",
"5593819\n",
"5593824\n",
"5593837\n",
"5593845\n",
"5593847\n",
"5593849\n",
"5593851\n",
"5593852\n",
"5593854\n",
"5593860\n",
"5593869\n",
"5593874\n",
"5593884\n",
"5593888\n",
"5593908\n",
"5593910\n",
"5593916\n",
"5593919\n",
"5593923\n",
"5593924\n",
"5593927\n",
"5593928\n",
"5593937\n",
"5593940\n",
"5593943\n",
"5593951\n",
"5593955\n",
"5593956\n",
"5593965\n",
"5593967\n",
"5593975\n",
"5593981\n",
"5593987\n",
"5593988\n",
"5593992\n",
"5594007\n",
"5594010\n",
"5594014\n",
"5594015\n",
"5594017\n",
"5594019\n",
"5594020\n",
"5594024\n",
"5594030\n",
"5594040\n",
"5594052\n",
"5594053\n",
"5594054\n",
"5594055\n",
"5594068\n",
"5594070\n",
"5594074\n",
"5594076\n",
"5594079\n",
"5594083\n",
"5594087\n",
"5594096\n",
"5594097\n",
"5594105\n",
"5594109\n",
"5594113\n",
"5594128\n",
"5594129\n",
"5594134\n",
"5594139\n",
"5594143\n",
"5594149\n",
"5594153\n",
"5594156\n",
"5594159\n",
"5594164\n",
"5594173\n",
"5594178\n",
"5594179\n",
"5594180\n",
"5594189\n",
"5594190\n",
"5594195\n",
"5594196\n",
"5594201\n",
"5594207\n",
"5594209\n",
"5594210\n",
"5594211\n",
"5594226\n",
"5594230\n",
"5594234\n",
"5594236\n",
"5594237\n",
"5594239\n",
"5594242\n",
"5594243\n",
"5594246\n",
"5594252\n",
"5594255\n",
"5594257\n",
"5594259\n",
"5594282\n",
"5594296\n",
"5594311\n",
"5594327\n",
"5594337\n",
"5594340\n",
"5594349\n",
"5594370\n",
"5594375\n",
"5594376\n",
"5594381\n",
"5594386\n",
"5594393\n",
"5594394\n",
"5594396\n",
"5594397\n",
"5594401\n",
"5594405\n",
"5594409\n",
"5594414\n",
"5594420\n",
"5594423\n",
"5594426\n",
"5594430\n",
"5594433\n",
"5594445\n",
"5594457\n",
"5594463\n",
"5594468\n",
"5594471\n",
"5594474\n",
"5594479\n",
"5594481\n",
"5594483\n",
"5594485\n",
"5594490\n",
"5594493\n",
"5594502\n",
"5594504\n",
"5594512\n",
"5594515\n",
"5594516\n",
"5594520\n",
"5594529\n",
"5594533\n",
"5594557\n",
"5594568\n",
"5594574\n",
"5594586\n",
"5594593\n",
"5594594\n",
"5594595\n",
"5594600\n",
"5594602\n",
"5594626\n",
"5594630\n",
"5594646\n",
"5594653\n",
"5594662\n",
"5594672\n",
"5594673\n",
"5594691\n",
"5594703\n",
"5594715\n",
"5594718\n",
"5594720\n",
"5594721\n",
"5594723\n",
"5594724\n",
"5594731\n",
"5594744\n",
"5594747\n",
"5594748\n",
"5594755\n",
"5594765\n",
"5594781\n",
"5594802\n",
"5594803\n",
"5594807\n",
"5594824\n",
"5594826\n",
"5594832\n",
"5594841\n",
"5594842\n",
"5594843\n",
"5594846\n",
"5594852\n",
"5594860\n",
"5594862\n",
"5594871\n",
"5594881\n",
"5594893\n",
"5594898\n",
"5594903\n",
"5594905\n",
"5594913\n",
"5594925\n",
"5594937\n",
"5594939\n",
"5594944\n",
"5594948\n",
"5594963\n",
"5594967\n",
"5594987\n",
"5594991\n",
"5595000\n",
"5595009\n",
"5595011\n",
"5595025\n",
"5595034\n",
"5595039\n",
"5595050\n",
"5595051\n",
"5595052\n",
"5595066\n",
"5595068\n",
"5595069\n",
"5595078\n",
"5595085\n",
"5595095\n",
"5595107\n",
"5595108\n",
"5595113\n",
"5595130\n",
"5595136\n",
"5595145\n",
"5595146\n",
"5595151\n",
"5595155\n",
"5595161\n",
"5595169\n",
"5595188\n",
"5595193\n",
"5595206\n",
"5595208\n",
"5595209\n",
"5595221\n",
"5595230\n",
"5595267\n",
"5595284\n",
"5595290\n",
"5595297\n",
"5595307\n",
"5595309\n",
"5595319\n",
"5595391\n",
"5595411\n",
"5595420\n",
"5595442\n",
"5595523\n",
"5595530\n",
"5595649\n",
"5595658\n",
"5595663\n",
"5595762\n",
"5598364\n",
"5598441\n",
"5598519\n",
"5598716\n",
"5598786\n",
"5598803\n",
"5598951\n",
"5598956\n",
"5598995\n",
"5599054\n",
"5599097\n",
"5599120\n",
"5599166\n",
"5599210\n",
"5599324\n",
"5599455\n",
"5599737\n",
"5599770\n",
"5599773\n",
"5599969\n",
"5600246\n",
"5600405\n",
"5600667\n",
"5600695\n",
"5600934\n",
"5601093\n",
"5601166\n",
"5601183\n",
"5601565\n",
"5601764\n",
"5601840\n",
"5601931\n",
"5602249\n",
"5602683\n",
"5602847\n",
"5603082\n",
"5603106\n",
"5603185\n",
"5604592\n",
"5605270\n",
"5606234\n",
"5608697\n",
"5609788\n",
"5615313\n",
"5645511\n",
"5645512\n",
"5645513\n",
"5645514\n",
"5645515\n",
"5645516\n",
"5645517\n",
"5645518\n",
"5645520\n",
"5645521\n",
"5645522\n",
"5645523\n",
"5645524\n",
"5645525\n",
"5645526\n",
"5645527\n",
"5645528\n",
"5645529\n",
"5645530\n",
"5645531\n",
"5645532\n",
"5645533\n",
"5645534\n",
"5645542\n",
"5645544\n",
"5645546\n",
"5645548\n",
"5645549\n",
"5645551\n",
"5645556\n",
"5645557\n",
"5645559\n",
"5645562\n",
"5645647\n",
"5645658\n",
"5645673\n",
"5645677\n",
"5645689\n",
"5645697\n",
"5645698\n",
"5645705\n",
"5645706\n",
"5645709\n",
"5645713\n",
"5645714\n",
"5645717\n",
"5645718\n",
"5645721\n",
"5645722\n",
"5645723\n",
"5645724\n",
"5645728\n",
"5645729\n",
"5645737\n",
"5645739\n",
"5645744\n",
"5645748\n",
"5645750\n",
"5645751\n",
"5645752\n",
"5645757\n",
"5645758\n",
"5645759\n",
"5645760\n",
"5645761\n",
"5645762\n",
"5645765\n",
"5645768\n",
"5645775\n",
"5645776\n",
"5645778\n",
"5645780\n",
"5645785\n",
"5645786\n",
"5645788\n",
"5645789\n",
"5645791\n",
"5645793\n",
"5645795\n",
"5645797\n",
"5645799\n",
"5645800\n",
"5645802\n",
"5645806\n",
"5645808\n",
"5645809\n",
"5645810\n",
"5645811\n",
"5645812\n",
"5645814\n",
"5645815\n",
"5645816\n",
"5645818\n",
"5645820\n",
"5645822\n",
"5645823\n",
"5645824\n",
"5645825\n",
"5645827\n",
"5645828\n",
"5645831\n",
"5645834\n",
"5645838\n",
"5645839\n",
"5645842\n",
"5645845\n",
"5645849\n",
"5645851\n",
"5645853\n",
"5645854\n",
"5645855\n",
"5645856\n",
"5645859\n",
"5645860\n",
"5645862\n",
"5645865\n",
"5645867\n",
"5645868\n",
"5645869\n",
"5645874\n",
"5645875\n",
"5645876\n",
"5645877\n",
"5645878\n",
"5645879\n",
"5645880\n",
"5645881\n",
"5645883\n",
"5645885\n",
"5645886\n",
"5645888\n",
"5645890\n",
"5645891\n",
"5645893\n",
"5645894\n",
"5645895\n",
"5645898\n",
"5645900\n",
"5645902\n",
"5645903\n",
"5645904\n",
"5645909\n",
"5645910\n",
"5645913\n",
"5645917\n",
"5645919\n",
"5645923\n",
"5645927\n",
"5645930\n",
"5645932\n",
"5645933\n",
"5645935\n",
"5645936\n",
"5645937\n",
"5645939\n",
"5645941\n",
"5645942\n",
"5645946\n",
"5645949\n",
"5645950\n",
"5645951\n",
"5645953\n",
"5645954\n",
"5645955\n",
"5645957\n",
"5645959\n",
"5645960\n",
"5645966\n",
"5645967\n",
"5645968\n",
"5645969\n",
"5645970\n",
"5645971\n",
"5645973\n",
"5645974\n",
"5645975\n",
"5645976\n",
"5645977\n",
"5645978\n",
"5645983\n",
"5645985\n",
"5645987\n",
"5645988\n",
"5645990\n",
"5645991\n",
"5645992\n",
"5645995\n",
"5645998\n",
"5646000\n",
"5646007\n",
"5646008\n",
"5646009\n",
"5646010\n",
"5646011\n",
"5646014\n",
"5646016\n",
"5646019\n",
"5646021\n",
"5646022\n",
"5646023\n",
"5646025\n",
"5646026\n",
"5646028\n",
"5646032\n",
"5646033\n",
"5646035\n",
"5646036\n",
"5646038\n",
"5646039\n",
"5646043\n",
"5646045\n",
"5646046\n",
"5646047\n",
"5646048\n",
"5646049\n",
"5646052\n",
"5646056\n",
"5646058\n",
"5646061\n",
"5646062\n",
"5646063\n",
"5646064\n",
"5646065\n",
"5646070\n",
"5646075\n",
"5646078\n",
"5646085\n",
"5646087\n",
"5646092\n",
"5646093\n",
"5646094\n",
"5646100\n",
"5646103\n",
"5646104\n",
"5646105\n",
"5646109\n",
"5646111\n",
"5646114\n",
"5646115\n",
"5646117\n",
"5646119\n",
"5646128\n",
"5646129\n",
"5646134\n",
"5646135\n",
"5646136\n",
"5646137\n",
"5646138\n",
"5646139\n",
"5646143\n",
"5646146\n",
"5646157\n",
"5646158\n",
"5646160\n",
"5646161\n",
"5646163\n",
"5646164\n",
"5646165\n",
"5646169\n",
"5646176\n",
"5646179\n",
"5646195\n",
"5646202\n",
"5646206\n",
"5646209\n",
"5646210\n",
"5646214\n",
"5646284\n",
"5646293\n",
"5646323\n",
"5646363\n",
"5646384\n",
"5646555\n",
"5646556\n",
"5646783\n",
"5646793\n",
"5646805\n",
"5646831\n",
"5646874\n",
"5646931\n",
"5646939\n",
"5647133\n",
"5647158\n",
"5647161\n",
"5647295\n",
"5647302\n",
"5647303\n",
"5647314\n",
"5647322\n",
"5647339\n",
"5647354\n",
"5647375\n",
"5647383\n",
"5647401\n",
"5647403\n",
"5647420\n",
"5647426\n",
"5647438\n",
"5647445\n",
"5647448\n",
"5647451\n",
"5647452\n",
"5647472\n",
"5647486\n",
"5647489\n",
"5647491\n",
"5647508\n",
"5647512\n",
"5647516\n",
"5647521\n",
"5647554\n",
"5647560\n",
"5647579\n",
"5647590\n",
"5647626\n",
"5647648\n",
"5647650\n",
"5647656\n",
"5647661\n",
"5647676\n",
"5647678\n",
"5647685\n",
"5647694\n",
"5647702\n",
"5647708\n",
"5647711\n",
"5647719\n",
"5647726\n",
"5647730\n",
"5647736\n",
"5647751\n",
"5647754\n",
"5647780\n",
"5647790\n",
"5647796\n",
"5647806\n",
"5647812\n",
"5647814\n",
"5647822\n",
"5647843\n",
"5647849\n",
"5647854\n",
"5647877\n",
"5647891\n",
"5647894\n",
"5647908\n",
"5647924\n",
"5647928\n",
"5647945\n",
"5647951\n",
"5647953\n",
"5647964\n",
"5647980\n",
"5647988\n",
"5648004\n",
"5648019\n",
"5648020\n",
"5648021\n",
"5648025\n",
"5648041\n",
"5648049\n",
"5648053\n",
"5648061\n",
"5648062\n",
"5648069\n",
"5648081\n",
"5648088\n",
"5648093\n",
"5648106\n",
"5648111\n",
"5648132\n",
"5648134\n",
"5648143\n",
"5648151\n",
"5648162\n",
"5648163\n",
"5648166\n",
"5648184\n",
"5648187\n",
"5648191\n",
"5648194\n",
"5648200\n",
"5648201\n",
"5648239\n",
"5648242\n",
"5648243\n",
"5648246\n",
"5648255\n",
"5648258\n",
"5648261\n",
"5648277\n",
"5648291\n",
"5648301\n",
"5648306\n",
"5648307\n",
"5648318\n",
"5648321\n",
"5648331\n",
"5648336\n",
"5648354\n",
"5648363\n",
"5648366\n",
"5648376\n",
"5648395\n",
"5648402\n",
"5648445\n",
"5648451\n",
"5648452\n",
"5648459\n",
"5648467\n",
"5648483\n",
"5648491\n",
"5648505\n",
"5648515\n",
"5648525\n",
"5648529\n",
"5648533\n",
"5648557\n",
"5648570\n",
"5648573\n",
"5648598\n",
"5648600\n",
"5648604\n",
"5648611\n",
"5648624\n",
"5648627\n",
"5648631\n",
"5648638\n",
"5648639\n",
"5648650\n",
"5648651\n",
"5648665\n",
"5648669\n",
"5648672\n",
"5648674\n",
"5648684\n",
"5648728\n",
"5648740\n",
"5648745\n",
"5648748\n",
"5648757\n",
"5648763\n",
"5648773\n",
"5648786\n",
"5648787\n",
"5648792\n",
"5648798\n",
"5648808\n",
"5648826\n",
"5648851\n",
"5648856\n",
"5648865\n",
"5648866\n",
"5648869\n",
"5648878\n",
"5648895\n",
"5648906\n",
"5648911\n",
"5648920\n",
"5648943\n",
"5648950\n",
"5648954\n",
"5648962\n",
"5648966\n",
"5648974\n",
"5648989\n",
"5648991\n",
"5648995\n",
"5648996\n",
"5648999\n",
"5649004\n",
"5649007\n",
"5649021\n",
"5649023\n",
"5649029\n",
"5649036\n",
"5649073\n",
"5649076\n",
"5649079\n",
"5649081\n",
"5649089\n",
"5649104\n",
"5649111\n",
"5649115\n",
"5649126\n",
"5649132\n",
"5649138\n",
"5649148\n",
"5649155\n",
"5649159\n",
"5649160\n",
"5649164\n",
"5649166\n",
"5649172\n",
"5649188\n",
"5649191\n",
"5649210\n",
"5649216\n",
"5649233\n",
"5649239\n",
"5649247\n",
"5649254\n",
"5649271\n",
"5649304\n",
"5649326\n",
"5649327\n",
"5649336\n",
"5649342\n",
"5649364\n",
"5649399\n",
"5649401\n",
"5649404\n",
"5649413\n",
"5649428\n",
"5649450\n",
"5649473\n",
"5649480\n",
"5649483\n",
"5649488\n",
"5649517\n",
"5649518\n",
"5649527\n",
"5649542\n",
"5649547\n",
"5649551\n",
"5649568\n",
"5649576\n",
"5649589\n",
"5649600\n",
"5649612\n",
"5649647\n",
"5649700\n",
"5649706\n",
"5649717\n",
"5649735\n",
"5649739\n",
"5649751\n",
"5649773\n",
"5649786\n",
"5649790\n",
"5649826\n",
"5649831\n",
"5649842\n",
"5649846\n",
"5649884\n",
"5649888\n",
"5649898\n",
"5649904\n",
"5649911\n",
"5649918\n",
"5649922\n",
"5649950\n",
"5649961\n",
"5649972\n",
"5650017\n",
"5650034\n",
"5650035\n",
"5650046\n",
"5650052\n",
"5650058\n",
"5650068\n",
"5650093\n",
"5650101\n",
"5650110\n",
"5650115\n",
"5650264\n",
"5650288\n",
"5650324\n",
"5650347\n",
"5650382\n",
"5650461\n",
"5650471\n",
"5650488\n",
"5650526\n",
"5650527\n",
"5650542\n",
"5650600\n",
"5650652\n",
"5650660\n",
"5650791\n",
"5650798\n",
"5650857\n",
"5650897\n",
"5650934\n",
"5651053\n",
"5651070\n",
"5651234\n",
"5651664\n",
"5651668\n",
"5651893\n",
"5651934\n",
"5652273\n",
"5653297\n",
"5653607\n",
"5653633\n",
"5653895\n",
"5654048\n",
"5654158\n",
"5654169\n",
"5654183\n",
"5654275\n",
"5654317\n",
"5654339\n",
"5654356\n",
"5654439\n",
"5654569\n",
"5654609\n",
"5654618\n",
"5654645\n",
"5654659\n",
"5654681\n",
"5654713\n",
"5654775\n",
"5654823\n",
"5655074\n",
"5655112\n",
"5655331\n",
"5655616\n",
"5655778\n",
"5656117\n",
"5656281\n",
"5656375\n",
"5656521\n",
"5656898\n",
"5657184\n",
"5657249\n",
"5657403\n",
"5657586\n",
"5657695\n",
"5657900\n",
"5658031\n",
"5658066\n",
"5658077\n",
"5658233\n",
"5658458\n",
"5658503\n",
"5658752\n",
"5658805\n",
"5658820\n",
"5659411\n",
"5659446\n",
"5659588\n",
"5659771\n",
"5659813\n",
"5660013\n",
"5660156\n",
"5660575\n",
"5660739\n",
"5660773\n",
"5660813\n",
"5662098\n",
"5662141\n",
"5662146\n",
"5662950\n",
"5662966\n",
"5663055\n",
"5663067\n",
"5663265\n",
"5663583\n",
"5663939\n",
"5664172\n",
"5664221\n",
"5664338\n",
"5664415\n",
"5664613\n",
"5664680\n",
"5664791\n",
"5664920\n",
"5665060\n",
"5665243\n",
"5665282\n",
"5665459\n",
"5665623\n",
"5665689\n",
"5665720\n",
"5666250\n",
"5666361\n",
"5666659\n",
"5666781\n",
"5666824\n",
"5666910\n",
"5667008\n",
"5667103\n",
"5667303\n",
"5667361\n",
"5667770\n",
"5667821\n",
"5667980\n",
"5668225\n",
"5668240\n",
"5668320\n",
"5668458\n",
"5668698\n",
"5668743\n",
"5668842\n",
"5668936\n",
"5668985\n",
"5669127\n",
"5669183\n",
"5669278\n",
"5670476\n",
"5670668\n",
"5671016\n",
"5671029\n",
"5671330\n",
"5671361\n",
"5671535\n",
"5671901\n",
"5672445\n",
"5672794\n",
"5672858\n",
"5673232\n",
"5673934\n",
"5674471\n",
"5674763\n",
"5674910\n",
"5675761\n",
"5675830\n",
"5675887\n",
"5675935\n",
"5676723\n",
"5676977\n",
"5677507\n",
"5677846\n",
"5677883\n",
"5677992\n",
"5678764\n",
"5679003\n",
"5679374\n",
"5679476\n",
"5680109\n",
"5680491\n",
"5680598\n",
"5680605\n",
"5680618\n",
"5681421\n",
"5681447\n",
"5681888\n",
"5682345\n",
"5682520\n",
"5682713\n",
"5682859\n",
"5682932\n",
"5683221\n",
"5683299\n",
"5683561\n",
"5683563\n",
"5684777\n",
"5685231\n",
"5685650\n",
"5685672\n",
"5685826\n",
"5686126\n",
"5686335\n",
"5688285\n",
"5688335\n",
"5689059\n",
"5689431\n",
"5689491\n",
"5690094\n",
"5690192\n",
"5690281\n",
"5690366\n",
"5690556\n",
"5690614\n",
"5704483\n",
"5704484\n",
"5704487\n",
"5704488\n",
"5704489\n",
"5704490\n",
"5704491\n",
"5704492\n",
"5704493\n",
"5704494\n",
"5704495\n",
"5704496\n",
"5704499\n",
"5704500\n",
"5704501\n",
"5704503\n",
"5704505\n",
"5704506\n",
"5704507\n",
"5704509\n",
"5704511\n",
"5704512\n",
"5704514\n",
"5704515\n",
"5704516\n",
"5704521\n",
"5704523\n",
"5704526\n",
"5704527\n",
"5704537\n",
"5704538\n",
"5704539\n",
"5704541\n",
"5704542\n",
"5704545\n",
"5704692\n",
"5704700\n",
"5704705\n",
"5704715\n",
"5704716\n",
"5704722\n",
"5704724\n",
"5704725\n",
"5704731\n",
"5704734\n",
"5704736\n",
"5704740\n",
"5704741\n",
"5704742\n",
"5704743\n",
"5704745\n",
"5704746\n",
"5704747\n",
"5704749\n",
"5704750\n",
"5704755\n",
"5704758\n",
"5704759\n",
"5704763\n",
"5704767\n",
"5704768\n",
"5704770\n",
"5704773\n",
"5704774\n",
"5704776\n",
"5704777\n",
"5704778\n",
"5704780\n",
"5704784\n",
"5704786\n",
"5704792\n",
"5704793\n",
"5704794\n",
"5704797\n",
"5704798\n",
"5704799\n",
"5704802\n",
"5704803\n",
"5704807\n",
"5704810\n",
"5704811\n",
"5704817\n",
"5704818\n",
"5704819\n",
"5704820\n",
"5704821\n",
"5704823\n",
"5704824\n",
"5704829\n",
"5704830\n",
"5704831\n",
"5704835\n",
"5704836\n",
"5704837\n",
"5704838\n",
"5704839\n",
"5704849\n",
"5704850\n",
"5704851\n",
"5704852\n",
"5704855\n",
"5704858\n",
"5704859\n",
"5704860\n",
"5704861\n",
"5704863\n",
"5704864\n",
"5704867\n",
"5704869\n",
"5704871\n",
"5704872\n",
"5704874\n",
"5704875\n",
"5704876\n",
"5704877\n",
"5704880\n",
"5704886\n",
"5704891\n",
"5704893\n",
"5704894\n",
"5704898\n",
"5704899\n",
"5704901\n",
"5704902\n",
"5704907\n",
"5704908\n",
"5704909\n",
"5704910\n",
"5704912\n",
"5704913\n",
"5704916\n",
"5704918\n",
"5704919\n",
"5704920\n",
"5704922\n",
"5704926\n",
"5704927\n",
"5704929\n",
"5704931\n",
"5704932\n",
"5704933\n",
"5704936\n",
"5704943\n",
"5704944\n",
"5704946\n",
"5704947\n",
"5704952\n",
"5704953\n",
"5704956\n",
"5704960\n",
"5704961\n",
"5704962\n",
"5704964\n",
"5704969\n",
"5704971\n",
"5704972\n",
"5704978\n",
"5704979\n",
"5704981\n",
"5704984\n",
"5704986\n",
"5704988\n",
"5704991\n",
"5704992\n",
"5704993\n",
"5704995\n",
"5704996\n",
"5704997\n",
"5705000\n",
"5705001\n",
"5705002\n",
"5705005\n",
"5705008\n",
"5705010\n",
"5705011\n",
"5705012\n",
"5705013\n",
"5705015\n",
"5705018\n",
"5705022\n",
"5705024\n",
"5705025\n",
"5705026\n",
"5705027\n",
"5705028\n",
"5705034\n",
"5705035\n",
"5705036\n",
"5705038\n",
"5705039\n",
"5705041\n",
"5705042\n",
"5705044\n",
"5705046\n",
"5705047\n",
"5705048\n",
"5705049\n",
"5705056\n",
"5705061\n",
"5705063\n",
"5705064\n",
"5705065\n",
"5705066\n",
"5705067\n",
"5705068\n",
"5705069\n",
"5705071\n",
"5705073\n",
"5705075\n",
"5705079\n",
"5705080\n",
"5705084\n",
"5705085\n",
"5705087\n",
"5705089\n",
"5705090\n",
"5705091\n",
"5705097\n",
"5705098\n",
"5705101\n",
"5705102\n",
"5705103\n",
"5705112\n",
"5705114\n",
"5705115\n",
"5705122\n",
"5705126\n",
"5705127\n",
"5705128\n",
"5705131\n",
"5705132\n",
"5705136\n",
"5705138\n",
"5705143\n",
"5705144\n",
"5705145\n",
"5705146\n",
"5705147\n",
"5705149\n",
"5705152\n",
"5705157\n",
"5705158\n",
"5705164\n",
"5705168\n",
"5705172\n",
"5705178\n",
"5705179\n",
"5705180\n",
"5705188\n",
"5705193\n",
"5705194\n",
"5705197\n",
"5705198\n",
"5705201\n",
"5705206\n",
"5705212\n",
"5705214\n",
"5705218\n",
"5705221\n",
"5705227\n",
"5705244\n",
"5705247\n",
"5705249\n",
"5705255\n",
"5705256\n",
"5705264\n",
"5705270\n",
"5705272\n",
"5705274\n",
"5705360\n",
"5705812\n",
"5705890\n",
"5706288\n",
"5706298\n",
"5706307\n",
"5706344\n",
"5706360\n",
"5706374\n",
"5706389\n",
"5706406\n",
"5706416\n",
"5706427\n",
"5706442\n",
"5706448\n",
"5706465\n",
"5706470\n",
"5706474\n",
"5706478\n",
"5706479\n",
"5706481\n",
"5706489\n",
"5706507\n",
"5706520\n",
"5706536\n",
"5706545\n",
"5706548\n",
"5706549\n",
"5706551\n",
"5706552\n",
"5706562\n",
"5706575\n",
"5706577\n",
"5706587\n",
"5706588\n",
"5706590\n",
"5706591\n",
"5706603\n",
"5706605\n",
"5706611\n",
"5706622\n",
"5706625\n",
"5706626\n",
"5706631\n",
"5706645\n",
"5706670\n",
"5706715\n",
"5706717\n",
"5706723\n",
"5706728\n",
"5706739\n",
"5706766\n",
"5706768\n",
"5706769\n",
"5706771\n",
"5706776\n",
"5706780\n",
"5706797\n",
"5706801\n",
"5706804\n",
"5706807\n",
"5706820\n",
"5706830\n",
"5706838\n",
"5706841\n",
"5706851\n",
"5706864\n",
"5706865\n",
"5706876\n",
"5706882\n",
"5706889\n",
"5706894\n",
"5706897\n",
"5706909\n",
"5706919\n",
"5706938\n",
"5706942\n",
"5706964\n",
"5706971\n",
"5706975\n",
"5706978\n",
"5706991\n",
"5706994\n",
"5707003\n",
"5707007\n",
"5707015\n",
"5707029\n",
"5707030\n",
"5707045\n",
"5707052\n",
"5707064\n",
"5707081\n",
"5707086\n",
"5707088\n",
"5707098\n",
"5707103\n",
"5707105\n",
"5707111\n",
"5707117\n",
"5707125\n",
"5707130\n",
"5707131\n",
"5707132\n",
"5707140\n",
"5707145\n",
"5707155\n",
"5707156\n",
"5707160\n",
"5707186\n",
"5707189\n",
"5707195\n",
"5707203\n",
"5707222\n",
"5707235\n",
"5707246\n",
"5707254\n",
"5707258\n",
"5707259\n",
"5707261\n",
"5707282\n",
"5707283\n",
"5707291\n",
"5707301\n",
"5707309\n",
"5707316\n",
"5707329\n",
"5707330\n",
"5707339\n",
"5707343\n",
"5707351\n",
"5707353\n",
"5707354\n",
"5707360\n",
"5707368\n",
"5707396\n",
"5707405\n",
"5707421\n",
"5707424\n",
"5707425\n",
"5707445\n",
"5707457\n",
"5707459\n",
"5707467\n",
"5707468\n",
"5707488\n",
"5707494\n",
"5707496\n",
"5707515\n",
"5707536\n",
"5707553\n",
"5707555\n",
"5707556\n",
"5707562\n",
"5707576\n",
"5707579\n",
"5707584\n",
"5707593\n",
"5707595\n",
"5707598\n",
"5707600\n",
"5707618\n",
"5707624\n",
"5707629\n",
"5707632\n",
"5707635\n",
"5707638\n",
"5707645\n",
"5707653\n",
"5707656\n",
"5707664\n",
"5707669\n",
"5707675\n",
"5707676\n",
"5707694\n",
"5707712\n",
"5707725\n",
"5707732\n",
"5707750\n",
"5707752\n",
"5707779\n",
"5707814\n",
"5707821\n",
"5707847\n",
"5707853\n",
"5707857\n",
"5707863\n",
"5707894\n",
"5707907\n",
"5707930\n",
"5707939\n",
"5707941\n",
"5707950\n",
"5707962\n",
"5707964\n",
"5707966\n",
"5707974\n",
"5707975\n",
"5707977\n",
"5707999\n",
"5708009\n",
"5708028\n",
"5708031\n",
"5708032\n",
"5708045\n",
"5708048\n",
"5708054\n",
"5708058\n",
"5708059\n",
"5708070\n",
"5708075\n",
"5708077\n",
"5708085\n",
"5708089\n",
"5708090\n",
"5708095\n",
"5708102\n",
"5708106\n",
"5708134\n",
"5708140\n",
"5708150\n",
"5708153\n",
"5708180\n",
"5708202\n",
"5708203\n",
"5708238\n",
"5708247\n",
"5708252\n",
"5708266\n",
"5708281\n",
"5708302\n",
"5708348\n",
"5708359\n",
"5708362\n",
"5708374\n",
"5708410\n",
"5708492\n",
"5708497\n",
"5708503\n",
"5708512\n",
"5708524\n",
"5708536\n",
"5708537\n",
"5708547\n",
"5708548\n",
"5708576\n",
"5708584\n",
"5708591\n",
"5708614\n",
"5708618\n",
"5708622\n",
"5708640\n",
"5708651\n",
"5708656\n",
"5708658\n",
"5708674\n",
"5708675\n",
"5708676\n",
"5708677\n",
"5708703\n",
"5708710\n",
"5708720\n",
"5708737\n",
"5708751\n",
"5708765\n",
"5708768\n",
"5708778\n",
"5708808\n",
"5708829\n",
"5708845\n",
"5708892\n",
"5708915\n",
"5708934\n",
"5708939\n",
"5708945\n",
"5708950\n",
"5708970\n",
"5708972\n",
"5709008\n",
"5709028\n",
"5709060\n",
"5709085\n",
"5709098\n",
"5709127\n",
"5709128\n",
"5709147\n",
"5709159\n",
"5709184\n",
"5709194\n",
"5709200\n",
"5709227\n",
"5709236\n",
"5709247\n",
"5709297\n",
"5709305\n",
"5709319\n",
"5709329\n",
"5709340\n",
"5709341\n",
"5709355\n",
"5709357\n",
"5709362\n",
"5709400\n",
"5709419\n",
"5709422\n",
"5709443\n",
"5709471\n",
"5709512\n",
"5709555\n",
"5709568\n",
"5709622\n",
"5709676\n",
"5709736\n",
"5710027\n",
"5710110\n",
"5712019\n",
"5712223\n",
"5712878\n",
"5713079\n",
"5713235\n",
"5713333\n",
"5713467\n",
"5713619\n",
"5713655\n",
"5713692\n",
"5713728\n",
"5713750\n",
"5713845\n",
"5713914\n",
"5714114\n",
"5714369\n",
"5714408\n",
"5714792\n",
"5715331\n",
"5715904\n",
"5716942\n",
"5717273\n",
"5717426\n",
"5717650\n",
"5717740\n",
"5718188\n",
"5718403\n",
"5720002\n",
"5720432\n",
"5720821\n",
"5721069\n",
"5721222\n",
"5723904\n",
"5724357\n",
"5724970\n",
"5725882\n",
"5726634\n",
"5727643\n",
"5727695\n",
"5738968\n",
"5739895\n",
"5747862\n",
"5748708\n",
"5750705\n",
"5766557\n",
"5766558\n",
"5766559\n",
"5766561\n",
"5766562\n",
"5766563\n",
"5766564\n",
"5766565\n",
"5766566\n",
"5766567\n",
"5766569\n",
"5766571\n",
"5766572\n",
"5766573\n",
"5766574\n",
"5766576\n",
"5766578\n",
"5766582\n",
"5766583\n",
"5766584\n",
"5766585\n",
"5766586\n",
"5766587\n",
"5766588\n",
"5766591\n",
"5766593\n",
"5766594\n",
"5766596\n",
"5766598\n",
"5766603\n",
"5766606\n",
"5766608\n",
"5766610\n",
"5766613\n",
"5766614\n",
"5766622\n",
"5766624\n",
"5766627\n",
"5766642\n",
"5766649\n",
"5766806\n",
"5766814\n",
"5766817\n",
"5766825\n",
"5766826\n",
"5766827\n",
"5766829\n",
"5766831\n",
"5766834\n",
"5766835\n",
"5766839\n",
"5766842\n",
"5766843\n",
"5766844\n",
"5766845\n",
"5766847\n",
"5766849\n",
"5766852\n",
"5766853\n",
"5766855\n",
"5766858\n",
"5766861\n",
"5766862\n",
"5766867\n",
"5766870\n",
"5766873\n",
"5766876\n",
"5766878\n",
"5766879\n",
"5766880\n",
"5766881\n",
"5766884\n",
"5766885\n",
"5766886\n",
"5766889\n",
"5766893\n",
"5766897\n",
"5766898\n",
"5766900\n",
"5766904\n",
"5766910\n",
"5766911\n",
"5766912\n",
"5766915\n",
"5766916\n",
"5766922\n",
"5766925\n",
"5766926\n",
"5766928\n",
"5766929\n",
"5766930\n",
"5766931\n",
"5766935\n",
"5766939\n",
"5766940\n",
"5766942\n",
"5766943\n",
"5766944\n",
"5766951\n",
"5766956\n",
"5766957\n",
"5766958\n",
"5766959\n",
"5766964\n",
"5766965\n",
"5766966\n",
"5766967\n",
"5766973\n",
"5766974\n",
"5766977\n",
"5766979\n",
"5766982\n",
"5766984\n",
"5766987\n",
"5766990\n",
"5766991\n",
"5766992\n",
"5766993\n",
"5766994\n",
"5766996\n",
"5766997\n",
"5767000\n",
"5767002\n",
"5767003\n",
"5767005\n",
"5767010\n",
"5767013\n",
"5767015\n",
"5767017\n",
"5767019\n",
"5767020\n",
"5767021\n",
"5767022\n",
"5767023\n",
"5767025\n",
"5767026\n",
"5767027\n",
"5767030\n",
"5767031\n",
"5767032\n",
"5767033\n",
"5767034\n",
"5767035\n",
"5767036\n",
"5767040\n",
"5767041\n",
"5767046\n",
"5767048\n",
"5767049\n",
"5767050\n",
"5767054\n",
"5767056\n",
"5767060\n",
"5767061\n",
"5767062\n",
"5767064\n",
"5767065\n",
"5767066\n",
"5767071\n",
"5767072\n",
"5767073\n",
"5767075\n",
"5767077\n",
"5767078\n",
"5767080\n",
"5767081\n",
"5767083\n",
"5767086\n",
"5767088\n",
"5767089\n",
"5767091\n",
"5767092\n",
"5767094\n",
"5767096\n",
"5767097\n",
"5767099\n",
"5767100\n",
"5767102\n",
"5767105\n",
"5767106\n",
"5767107\n",
"5767108\n",
"5767111\n",
"5767112\n",
"5767114\n",
"5767115\n",
"5767117\n",
"5767118\n",
"5767119\n",
"5767121\n",
"5767122\n",
"5767125\n",
"5767126\n",
"5767127\n",
"5767129\n",
"5767130\n",
"5767131\n",
"5767132\n",
"5767133\n",
"5767137\n",
"5767142\n",
"5767143\n",
"5767145\n",
"5767147\n",
"5767150\n",
"5767152\n",
"5767155\n",
"5767159\n",
"5767160\n",
"5767165\n",
"5767167\n",
"5767169\n",
"5767170\n",
"5767171\n",
"5767175\n",
"5767181\n",
"5767183\n",
"5767185\n",
"5767186\n",
"5767188\n",
"5767190\n",
"5767193\n",
"5767195\n",
"5767196\n",
"5767198\n",
"5767200\n",
"5767203\n",
"5767204\n",
"5767206\n",
"5767207\n",
"5767210\n",
"5767211\n",
"5767214\n",
"5767215\n",
"5767217\n",
"5767220\n",
"5767221\n",
"5767223\n",
"5767224\n",
"5767225\n",
"5767227\n",
"5767228\n",
"5767231\n",
"5767232\n",
"5767233\n",
"5767234\n",
"5767239\n",
"5767240\n",
"5767241\n",
"5767243\n",
"5767244\n",
"5767245\n",
"5767249\n",
"5767256\n",
"5767260\n",
"5767261\n",
"5767265\n",
"5767273\n",
"5767275\n",
"5767276\n",
"5767286\n",
"5767287\n",
"5767290\n",
"5767293\n",
"5767298\n",
"5767300\n",
"5767308\n",
"5767309\n",
"5767314\n",
"5767320\n",
"5767328\n",
"5767340\n",
"5767345\n",
"5767349\n",
"5767351\n",
"5767361\n",
"5767371\n",
"5767375\n",
"5767388\n",
"5767407\n",
"5767408\n",
"5767428\n",
"5767441\n",
"5767453\n",
"5767462\n",
"5767464\n",
"5767465\n",
"5767479\n",
"5768654\n",
"5768660\n",
"5768665\n",
"5768676\n",
"5768727\n",
"5768812\n",
"5768888\n",
"5768892\n",
"5768894\n",
"5768907\n",
"5768916\n",
"5768920\n",
"5768930\n",
"5768936\n",
"5768943\n",
"5768973\n",
"5768977\n",
"5768987\n",
"5768989\n",
"5769020\n",
"5769030\n",
"5769039\n",
"5769042\n",
"5769047\n",
"5769055\n",
"5769067\n",
"5769072\n",
"5769084\n",
"5769101\n",
"5769108\n",
"5769121\n",
"5769126\n",
"5769140\n",
"5769145\n",
"5769148\n",
"5769161\n",
"5769165\n",
"5769220\n",
"5769221\n",
"5769222\n",
"5769241\n",
"5769244\n",
"5769257\n",
"5769258\n",
"5769264\n",
"5769271\n",
"5769277\n",
"5769285\n",
"5769291\n",
"5769303\n",
"5769315\n",
"5769321\n",
"5769327\n",
"5769342\n",
"5769343\n",
"5769344\n",
"5769347\n",
"5769353\n",
"5769355\n",
"5769359\n",
"5769406\n",
"5769414\n",
"5769421\n",
"5769461\n",
"5769470\n",
"5769471\n",
"5769480\n",
"5769481\n",
"5769487\n",
"5769493\n",
"5769494\n",
"5769504\n",
"5769507\n",
"5769510\n",
"5769511\n",
"5769528\n",
"5769531\n",
"5769542\n",
"5769563\n",
"5769573\n",
"5769600\n",
"5769621\n",
"5769630\n",
"5769644\n",
"5769645\n",
"5769646\n",
"5769659\n",
"5769661\n",
"5769665\n",
"5769667\n",
"5769683\n",
"5769686\n",
"5769689\n",
"5769702\n",
"5769708\n",
"5769709\n",
"5769726\n",
"5769729\n",
"5769732\n",
"5769738\n",
"5769764\n",
"5769784\n",
"5769798\n",
"5769804\n",
"5769807\n",
"5769808\n",
"5769810\n",
"5769817\n",
"5769819\n",
"5769820\n",
"5769832\n",
"5769862\n",
"5769870\n",
"5769877\n",
"5769882\n",
"5769888\n",
"5769914\n",
"5769934\n",
"5769943\n",
"5769977\n",
"5769993\n",
"5769996\n",
"5770000\n",
"5770020\n",
"5770022\n",
"5770024\n",
"5770026\n",
"5770031\n",
"5770039\n",
"5770070\n",
"5770087\n",
"5770090\n",
"5770110\n",
"5770113\n",
"5770122\n",
"5770134\n",
"5770136\n",
"5770142\n",
"5770147\n",
"5770153\n",
"5770159\n",
"5770161\n",
"5770169\n",
"5770201\n",
"5770224\n",
"5770243\n",
"5770266\n",
"5770269\n",
"5770274\n",
"5770275\n",
"5770286\n",
"5770293\n",
"5770303\n",
"5770310\n",
"5770315\n",
"5770316\n",
"5770321\n",
"5770323\n",
"5770341\n",
"5770367\n",
"5770381\n",
"5770384\n",
"5770386\n",
"5770395\n",
"5770403\n",
"5770424\n",
"5770466\n",
"5770471\n",
"5770485\n",
"5770488\n",
"5770494\n",
"5770509\n",
"5770525\n",
"5770526\n",
"5770538\n",
"5770541\n",
"5770551\n",
"5770567\n",
"5770583\n",
"5770595\n",
"5770601\n",
"5770611\n",
"5770616\n",
"5770644\n",
"5770650\n",
"5770671\n",
"5770672\n",
"5770675\n",
"5770689\n",
"5770694\n",
"5770699\n",
"5770704\n",
"5770746\n",
"5770761\n",
"5770770\n",
"5770773\n",
"5770776\n",
"5770786\n",
"5770793\n",
"5770794\n",
"5770808\n",
"5770813\n",
"5770844\n",
"5770845\n",
"5770881\n",
"5770884\n",
"5770911\n",
"5770947\n",
"5770952\n",
"5770954\n",
"5770970\n",
"5770999\n",
"5771000\n",
"5771001\n",
"5771003\n",
"5771008\n",
"5771010\n",
"5771018\n",
"5771054\n",
"5771058\n",
"5771085\n",
"5771095\n",
"5771116\n",
"5771123\n",
"5771135\n",
"5771139\n",
"5771145\n",
"5771160\n",
"5771161\n",
"5771194\n",
"5771201\n",
"5771212\n",
"5771220\n",
"5771226\n",
"5771253\n",
"5771307\n",
"5771337\n",
"5771339\n",
"5771361\n",
"5771422\n",
"5771423\n",
"5771426\n",
"5771428\n",
"5771448\n",
"5771459\n",
"5771473\n",
"5771477\n",
"5771480\n",
"5771491\n",
"5771495\n",
"5771501\n",
"5771507\n",
"5771640\n",
"5771643\n",
"5771661\n",
"5771682\n",
"5771702\n",
"5771785\n",
"5771807\n",
"5771808\n",
"5771826\n",
"5771827\n",
"5771828\n",
"5771873\n",
"5771882\n",
"5771919\n",
"5771958\n",
"5771970\n",
"5771989\n",
"5772098\n",
"5772157\n",
"5772214\n",
"5772256\n",
"5772293\n",
"5772308\n",
"5772373\n",
"5772607\n",
"5772649\n",
"5776291\n",
"5776414\n",
"5776488\n",
"5776577\n",
"5777247\n",
"5777276\n",
"5777483\n",
"5777555\n",
"5777656\n",
"5777745\n",
"5777752\n",
"5777953\n",
"5778416\n",
"5778675\n",
"5778931\n",
"5779086\n",
"5779096\n",
"5779200\n",
"5779655\n",
"5780199\n",
"5780737\n",
"5780998\n",
"5781757\n",
"5782055\n",
"5782108\n",
"5782515\n",
"5784691\n",
"5785058\n",
"5785736\n",
"5798505\n",
"5837725\n",
"5837726\n",
"5837727\n",
"5837729\n",
"5837731\n",
"5837733\n",
"5837734\n",
"5837735\n",
"5837736\n",
"5837738\n",
"5837739\n",
"5837740\n",
"5837742\n",
"5837743\n",
"5837744\n",
"5837746\n",
"5837748\n",
"5837755\n",
"5837756\n",
"5837757\n",
"5837760\n",
"5837765\n",
"5837766\n",
"5837767\n",
"5837769\n",
"5837773\n",
"5837774\n",
"5837775\n",
"5837776\n",
"5837777\n",
"5837781\n",
"5837782\n",
"5837787\n",
"5837788\n",
"5837791\n",
"5837792\n",
"5837798\n",
"5837805\n",
"5837807\n",
"5837815\n",
"5837831\n",
"5837834\n",
"5837866\n",
"5837867\n",
"5838108\n",
"5838140\n",
"5838144\n",
"5838148\n",
"5838155\n",
"5838159\n",
"5838169\n",
"5838176\n",
"5838180\n",
"5838184\n",
"5838187\n",
"5838193\n",
"5838198\n",
"5838201\n",
"5838203\n",
"5838214\n",
"5838221\n",
"5838222\n",
"5838223\n",
"5838228\n",
"5838233\n",
"5838234\n",
"5838235\n",
"5838236\n",
"5838246\n",
"5838249\n",
"5838252\n",
"5838255\n",
"5838257\n",
"5838259\n",
"5838261\n",
"5838264\n",
"5838266\n",
"5838268\n",
"5838269\n",
"5838273\n",
"5838275\n",
"5838281\n",
"5838286\n",
"5838288\n",
"5838289\n",
"5838290\n",
"5838291\n",
"5838293\n",
"5838298\n",
"5838303\n",
"5838304\n",
"5838305\n",
"5838309\n",
"5838312\n",
"5838313\n",
"5838320\n",
"5838321\n",
"5838323\n",
"5838326\n",
"5838329\n",
"5838335\n",
"5838342\n",
"5838343\n",
"5838346\n",
"5838347\n",
"5838348\n",
"5838350\n",
"5838352\n",
"5838358\n",
"5838360\n",
"5838362\n",
"5838363\n",
"5838364\n",
"5838365\n",
"5838369\n",
"5838373\n",
"5838374\n",
"5838377\n",
"5838379\n",
"5838383\n",
"5838384\n",
"5838393\n",
"5838400\n",
"5838404\n",
"5838414\n",
"5838415\n",
"5838418\n",
"5838419\n",
"5838422\n",
"5838423\n",
"5838426\n",
"5838428\n",
"5838430\n",
"5838431\n",
"5838433\n",
"5838434\n",
"5838436\n",
"5838437\n",
"5838438\n",
"5838443\n",
"5838445\n",
"5838447\n",
"5838448\n",
"5838449\n",
"5838451\n",
"5838454\n",
"5838456\n",
"5838457\n",
"5838460\n",
"5838463\n",
"5838464\n",
"5838465\n",
"5838470\n",
"5838473\n",
"5838474\n",
"5838477\n",
"5838482\n",
"5838483\n",
"5838484\n",
"5838485\n",
"5838486\n",
"5838490\n",
"5838493\n",
"5838494\n",
"5838499\n",
"5838500\n",
"5838510\n",
"5838512\n",
"5838513\n",
"5838514\n",
"5838516\n",
"5838517\n",
"5838518\n",
"5838525\n",
"5838528\n",
"5838530\n",
"5838531\n",
"5838532\n",
"5838533\n",
"5838534\n",
"5838537\n",
"5838538\n",
"5838541\n",
"5838545\n",
"5838546\n",
"5838554\n",
"5838562\n",
"5838564\n",
"5838565\n",
"5838568\n",
"5838569\n",
"5838573\n",
"5838574\n",
"5838575\n",
"5838576\n",
"5838585\n",
"5838587\n",
"5838588\n",
"5838590\n",
"5838592\n",
"5838596\n",
"5838597\n",
"5838598\n",
"5838599\n",
"5838600\n",
"5838604\n",
"5838607\n",
"5838609\n",
"5838611\n",
"5838612\n",
"5838617\n",
"5838622\n",
"5838629\n",
"5838631\n",
"5838633\n",
"5838634\n",
"5838636\n",
"5838637\n",
"5838638\n",
"5838639\n",
"5838641\n",
"5838643\n",
"5838649\n",
"5838654\n",
"5838656\n"
]
},
{
"data": {
"text/plain": [
"array([[4.3213072e-01, 3.3612296e-01, 4.9542564e-01, 1.1641532e-10],\n",
" [4.2634511e-01, 3.3506793e-01, 4.9537191e-01, 1.1641532e-10],\n",
" [4.2104098e-01, 3.3217159e-01, 4.9831006e-01, 1.1641532e-10],\n",
" ...,\n",
" [4.3010166e-01, 3.2942852e-01, 4.9635866e-01, 1.1641532e-10],\n",
" [4.2487869e-01, 3.3458143e-01, 4.9207175e-01, 1.1641532e-10],\n",
" [4.2629939e-01, 3.2695419e-01, 4.9106851e-01, 1.1641532e-10]],\n",
" dtype=float32)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"for i in list(clid2map0.keys())[50000:]:\n",
" print(i)\n",
" k = clid2map0[i]\n",
"\n",
" X = csiborgtools.read.load_parent_particles(k, parts0, clumpmap0, clid2map0, cat0.clumps_cat)\n",
" if X is not None:\n",
" break\n",
"X"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "a3eea061",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "be2ab0860ad24dc8a4a1087ae569f08a",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(X[:, 0], X[:, 1], s=1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1df6fd0f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 5,
"id": "de571afb",
"metadata": {},
"outputs": [],
"source": [
"parts = csiborgtools.read.read_h5(paths.particles_path(nsim0))[\"particles\"]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "a90765b8",
"metadata": {},
"outputs": [],
"source": [
"box = csiborgtools.read.CSiBORGBox(nsnap0, nsim0, paths)\n",
"\n",
"field = csiborgtools.field.DensityField(box, \"CIC\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "e97f1d15",
"metadata": {},
"outputs": [],
"source": [
"rho = np.load(paths.density_field_path(\"PCS\", 7444, False))\n",
"rho_rsp = np.load(paths.density_field_path(\"PCS\", 7444, True))"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "6368ca0f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2823edefcb6e4838a49ac881e78c2ab1",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9OY9lXZYdCK59hju898zMh2+IiMxkE9VsVrdEAhwSLbWSAFVqFAnKnVRSIhUSlKiyAfJH8B9QSaWAAgECJNDVQFcmi2NERsQ3ubuZveGO5+wW9t7nXPuCaBDwygrB7gYC4Z+72RvudNZZe621iZkZe+2111577bXXXnu9mnK/7Q+w11577bXXXnvttdf/sbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69X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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9OY9lXZYdCK59hju898zMh2+IiMxkE9VsVrdEAhwSLbWSAFVqFAnKnVRSIhUSlKiyAfJH8B9QSaWAAgECJNDVQFcmi2NERsQ3ubuZveGO5+wW9t7nXPuCaBDwygrB7gYC4Z+72RvudNZZe621iZkZe+2111577bXXXnu9mnK/7Q+w11577bXXXnvttdf/sbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwDca6+99tprr732emW1A8C99tprr7322muvV1Y7ANxrr7322muvvfZ6ZbUDwL322muvvfbaa69XVjsA3Guvvfbaa6+99npltQPAvfbaa6+99tprr1dWOwB85fUv/sW/wF/8i38RXdfh93//9/Fv/s2/+W1/pL322muvvfba68+5dgD4iutf/st/iT/6oz/CP/7H/xj/7t/9O/yVv/JX8Lf+1t/Cd99999v+aHvttddee+21159jETPzb/tD7PXbqd///d/H3/gbfwP//J//cwBAzhm/93u/h7//9/8+/sE/+Ae/5U+311577bXXXnv9edXOAL7SmucZ//bf/lv8wR/8Qfk75xz+4A/+AP/6X//r3+In22uvvfbaa6+9/rwr/LY/wF6/nfrhhx+QUsLXX3/94u+//vpr/Mmf/Mlv/Pw0TZimqfx3zhkfP37E+/fvQUR/7p93r7322muv/32LmXE+n/Gzn/0Mzu180GurHQDu9d9V//Sf/lP8k3/yT37bH2Ovvfbaa6//nesXv/gFfvd3f/e3/TH2+j+4dgD4SuuLL76A9x7ffvvti7//9ttv8ZOf/OQ3fv4f/sN/iD/6oz8q//309IS/8Bf+Av4ff+n/iThmYFnLv/HdEfnYwT9d5C9yBqYFCB7wustMWf48r4Aj8DQDaQWnDIoRyEl/lwFHgA+A96Bjj9x3IGaAGTROwLwAzgHBg9sGy/sjwmWG+/gsv+sc8qkHJQYNI0AE3Ebk2w0A5P2MxSQHOALFADDL+6tMlpnl7wHAO3DfgaZZ3h+Q928azD+9h5sTwvMErEm+XxPgzrd6PDKD+w7cBsA50LwiHRv4T1fQdQBiADdRvvP5Cl7leFDXyHEcZ/kMXQsaJ/BtkNdpG8A5+V39TjRO8udlBc8zwBlwHsgJvKzy/bwHNQ3gfTmPRAReFvldZlDfyee6jaAmgo+9/NwwyvklAroGHAJoXcHeg4+dfO9hAppQPhN3rZyzNQEpgeYF3ETkt0cAgPt0BaVUz4F34Ea/OzM4OPmegUBjAhyQDg1y6xGfJtC0gKN8F24D1kMEMSMHBzBAmeGmBGJG6gLihwH0wyf5LMce6f09ODj4Dxc5flml0szgu6Ocw8dn+XwpgddVjqF3cq3mDF5XUAj630mOuSOQc3IsMpfzTJcbeFqAeZLXsnPXNHJeDh2QkvxO0O8V5FqkZQEP8hkpePDpAJpn8HUA0go4L9e4d0ATwc7JedZ7qFz7OYNWvY+9l3NkP7Mm+Te9VjgEIHjkLsh9tSRgXuTa7VtgmsF6b+Phrr6OXS8pg5cFPMr9SDHIteicfOe7I7htQOerfOeuket3WoB1BsiBDr181+sAnhegfD493jnJ/UwEhFA7Fd7Ja9r1OC0vjwOz3OvBg/tOPp+99rLKvZszqJFjyoN0RujYA/MCvl71edDo62U5D3YN6T1GTVPuLcQgx4oI7D3QRGBekN6fML1pEcYENyXE75/lOphX8JrkM+asjy4HtFF+H5D7y55Xa0I+tEjHCLckUGbQsGLFjP/p//v/wt3dHfZ6fbUDwFdaTdPgr/21v4Y//uM/xt/+238bgLR1//iP/xh/+Id/+Bs/37Yt2rb9jb8PoUPAIs92R6CmwfrlO6AP8MmDhgk83oBEIOcB8rJgJgKxAygCzoMd5M8BslCuqzw4iWUBaxpZUCeWBUAXMnIt+HQA9w3YezhmLPcHuBQQaJSH7pqRqQU6BzexLM4L4LKXhZxIFuomyv87J0BpXQsApa4D9y3y3QFunIFlxfrFPZBZQMLlBrgIbjosxwPW9w7rT4HuuwnhacB634O6A9xNfpfbBumuBQHw1wmIEeha+PsAag4CRDIDSwJcA0RdPFwEQKLe9QHsG1AbwAtV8BE8OEaQgitkWxAaMAFooywWzOC4ChgPQcCjd+Bxku+eEpAFNAAAxR4cA6hx4L4VAHwdQb6TRT/L4svOgXwABw/kAMQeaA7gQwsaZnnd2CjgyMAC+YwzgMcF7B0QexBWOT9QEDgxMK2ygC8M9gwQQKsC9HkBtwTKHrSscvlkBp4HtH5CfnNCbhw4OLAjoCP424zmwiAEUHcCcsb60/dI7zqAGe0NIFagkLMs8K4BHEAHgKcJ8AyQgp22FeCcMuAV9C0zAC/H0gVQbOT7ECE/3IOjl2sxXeV7BT3eRHKuE4EW+X9mgFyQY5Ag544D0Mh9hRDAoQOtBDRUgWmMcv2eeiA6uHEB3SbQNCO/OQGe4J6uwCrXAlyQ72mgx3lQiLrRc/JdZsiGTTcRHBtQYDmfHASYkJPPQgr29d7DmoHswBzAawaRA7IHhQZwEbQ6YJ7Bo4EbAOzBOYFzAHkH8h1yc4AbMhiomxfv6zmw50h2co07J+CNCIg92DsQz3K/A3L/b4BivjshnVrQuMA9DyCfwMHLhmWcQAmAbwUU90cQJvBllv8eZ9kwhkbuYUA+j32h7OT9ukY2U7pJk+t7Ba0O8dsbug91k8uzbALIR6Bp5HzfHYCUQfMiv896rToIWI1Bni+TAHluAta7FrgDOE+ba22v11Y7AHzF9Ud/9Ef4u3/37+Kv//W/jr/5N/8m/tk/+2e4Xq/4e3/v7/33vwizACdjdg4dpvctmAgNIIt8jLIbZZYFk1zdua4ryF4HkMUnK6vCrAyKk4UMkId8E8GOQKs8jPObI9IhgFaGm1bE5wX+OhfggnmBu41gRwIuvFNW0W++R5YF1DnwQRhGzgwkXbydQ/riThgkB7iB4CZhaihlWVTmBeQcum9vmL464Py7Ee1Hp6DhgOEnB7Q
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.sum(rho, axis=1))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "b5db51bc",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "03895ddc21014d9d97c20a6c50671295",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.sum(rho_rsp, axis=1))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 25,
"id": "b79fddeb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.0018435717"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.abs(x - 1).max()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fb4398be",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 94,
"id": "81ce3e39",
"metadata": {},
"outputs": [],
"source": [
"k0 = clumpmap0[clid2map0[0], 2] + 1\n",
"# parts.shape[0]"
]
},
{
"cell_type": "code",
"execution_count": 96,
"id": "5384bc24",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"182510395"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parts.shape[0] - k0"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "32f9ca63",
"metadata": {},
"outputs": [],
"source": [
"clumps_cat = csiborgtools.read.ClumpsCatalogue(nsim0, paths, load_fitted=True, minmass=None, maxdist=155 / 0.705)"
]
},
{
"cell_type": "code",
"execution_count": 119,
"id": "6a1bf230",
"metadata": {},
"outputs": [],
"source": [
"cat = csiborgtools.read.HaloCatalogue(nsim0, paths, minmass=None)"
]
},
{
"cell_type": "code",
"execution_count": 124,
"id": "85eb7844",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 3, 5, ..., 21809643, 21810694, 21818034],\n",
" dtype=int32)"
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat['ID']"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "b3fea4ab",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"153575"
]
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(cat)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"id": "146b4c6e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1355"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"numpy.isnan(cat[\"lagpatch\"]).sum()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "08e2b141",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 88,
"id": "b8c91301",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([-42.401093 , -32.8627 , -45.08371 , ..., 9.587616 ,\n",
" 5.0563965, 12.45813 ], dtype=float32)"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat['x0']"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9cf882e0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 46,
"id": "49a14648",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"265246"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(clumps_cat)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "ba45cf01",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0119bb1def8d463ba494175ee5416a8c",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"m = numpy.isfinite(clumps_cat[\"lambda200c\"])\n",
"\n",
"plt.figure()\n",
"plt.hist(np.log10(clumps_cat[\"lambda200c\"][m]), bins=\"auto\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "38aa3685",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "86f807ab",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 5,
"id": "629f3c3e",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, 5, 6, 7, 9, 11, 12, 13], dtype=int32)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"clumps_cat[\"index\"][:10]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "0b1b12e0",
"metadata": {},
"outputs": [],
"source": [
"X = csiborgtools.read.load_parent_particles(3, parts, clumpmap0, clid2map0, clumps_cat)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "b9ae282b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"3"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clump = csiborgtools.fits.Clump(X, clumps_cat[2], box)\n",
"clumps_cat[2][\"index\"]"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "b75f9eb6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(0.0008713664483347365, 1.8111896e-06)"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clump.spherical_overdensity_mass(200)"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "b5f4b080",
"metadata": {},
"outputs": [],
"source": [
"def f(mass):\n",
" return numpy.cumsum(mass)\n",
"\n",
"@jit(nopython=True)\n",
"def g(mass):\n",
" return numpy.cumsum(mass)\n",
"\n",
"x = clump['M']"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "0163c51a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"73.4 µs ± 401 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
]
}
],
"source": [
"%timeit f(x)"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "51ff9cf3",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"31.8 µs ± 385 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
]
}
],
"source": [
"%timeit g(x)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8886e9e8",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 19,
"id": "13f72d14",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.79 ms ± 47.2 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
"source": [
"%timeit clump.spherical_overdensity_mass(200)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "9baf6db9",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ea062d858e094536ac06bd22ee092002",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.plot(rs, y)\n",
"plt.yscale(\"log\")\n",
"plt.xscale(\"log\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "bd137d39",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"224 µs ± 4.17 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit clump.r()"
]
},
{
"cell_type": "code",
"execution_count": 87,
"id": "0e0f4a71",
"metadata": {},
"outputs": [],
"source": [
"x, y, z = clump['x'], clump['y'], clump['z']\n",
"x0, y0, z0 = clumps_cat[3]['x'], clumps_cat[3]['y'], clumps_cat[3]['z']\n"
]
},
{
"cell_type": "code",
"execution_count": 93,
"id": "80a18b34",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"145 µs ± 539 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n"
]
}
],
"source": [
"%timeit ((x - x0)**2 + (y - y0)**2 + (z - z0)**2)**0.5"
]
},
{
"cell_type": "code",
"execution_count": 92,
"id": "f929a601",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"242 µs ± 6.44 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit clump.r()"
]
},
{
"cell_type": "code",
"execution_count": 267,
"id": "cfd1af49",
"metadata": {},
"outputs": [],
"source": [
"delta_bckg *= 2"
]
},
{
"cell_type": "code",
"execution_count": 260,
"id": "28ac7a6d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.23 ms ± 6.98 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit delta1, delta2, cellmins, nonzero = overlapper.make_deltas(pos, pos2, mass, mass)\n",
"# __ = overlapper.make_deltas(pos, pos2, mass, mass)"
]
},
{
"cell_type": "code",
"execution_count": 271,
"id": "9d157f6e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1.75 ms ± 11.8 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n"
]
}
],
"source": [
"%timeit overlapper(pos, pos2, mass, mass, delta_bckg)"
]
},
{
"cell_type": "code",
"execution_count": 259,
"id": "32f13411",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3072a8519f3e4da4a108df78ed44e6a9",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, axs = plt.subplots(ncols=2, figsize=(10, 5))\n",
"axs[0].imshow(np.sum(delta1, axis=0))\n",
"axs[1].imshow(np.sum(delta2, axis=0))\n",
"fig.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 93,
"id": "6df1d619",
"metadata": {},
"outputs": [],
"source": [
"delta = overlapper.make_bckg_delta(pos, mass / mass)"
]
},
{
"cell_type": "code",
"execution_count": 282,
"id": "0d5525e5",
"metadata": {},
"outputs": [],
"source": [
"from functools import cache \n",
"from functools import lru_cache"
]
},
{
"cell_type": "code",
"execution_count": 283,
"id": "f2918a51",
"metadata": {},
"outputs": [],
"source": [
"from time import sleep\n",
"\n",
"@lru_cache(maxsize=1024)\n",
"def f(x):\n",
" sleep(0.5)\n",
" return x * x"
]
},
{
"cell_type": "code",
"execution_count": 286,
"id": "4d37bc4f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"79 ns ± 0.372 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)\n"
]
}
],
"source": [
"%timeit f(2)"
]
},
{
"cell_type": "code",
"execution_count": 77,
"id": "a46d6f48",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0, 0, 277961071],\n",
" [ 1, 277961072, 277980356],\n",
" [ 2, 277980357, 277985437],\n",
" ...,\n",
" [ 21836472, 460470781, 460470782],\n",
" [ 21836487, 460470783, 460471462],\n",
" [ 21836785, 460471463, 460471466]], dtype=int32)"
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clumpmap0[:]"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "4a900d77",
"metadata": {},
"outputs": [],
"source": [
"dens = overlapper.make_delta(pos, mass, subbox=True)"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "81b5381f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7c3c84eac2ab4bc99d8af24f3aeb5b04",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApH0lEQVR4nO3df3CV5Z03/k8C5ABCAggkRAKLolhF2GfZSrNtWSpUoPM4tPqdqbUzxV1HRxedVdpty05rq7v9xtqZrW2X0p1pR9qZIq0d0anfp7oVS3zaBbtSWdS2rPBQweWXpSXBYA4hub9/+DRtVuC+rZBDcr1eM/cM55xPrvPJfZLD+1zn5LqqsizLAgCAZFRXugEAAPqXAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRmaKUbYGDq6emJvXv3xujRo6OqqqrS7QDwJmVZFkeOHInGxsaorjYflBoBMHGrVq2KL3zhC7F///6YPXt2fOUrX4nLL7889+v27t0bTU1N/dAhAGfSnj17YvLkyZVug34mACbsO9/5TqxYsSK+9rWvxdy5c+O+++6LRYsWxfbt22PixImn/NrRo0dHRMS74n0xNIb1R7sAnEbHoyt+HP+r9/mctFRlWZZVugkqY+7cufH2t789/vmf/zkiXn9bt6mpKW677bb45Cc/ecqvbW9vj7q6upgfS2NolQAIMNAcz7piYzwSbW1tUVtbW+l26Gfe9E/UsWPHYsuWLbFw4cLe66qrq2PhwoWxadOmN9SXy+Vob2/vcwAAA5MAmKhf//rX0d3dHfX19X2ur6+vj/3797+hvqWlJerq6noPn/8DgIFLAKSQlStXRltbW++xZ8+eSrcEAPyR/BFIosaPHx9DhgyJAwcO9Ln+wIED0dDQ8Ib6UqkUpVKpv9oDAM4gM4CJqqmpiTlz5sSGDRt6r+vp6YkNGzZEc3NzBTsDAM40M4AJW7FiRSxbtiz+/M//PC6//PK47777oqOjI/7qr/6q0q0BAGeQAJiwD37wg/HKK6/EnXfeGfv3748//dM/jccee+wNfxgCAAwu1gHkj2IdQICBzTqAafMZQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEjO00g3A2ax65Mjcmqqp5522++v+xYunbSwAOBkzgIn67Gc/G1VVVX2Oiy++uNJtAQD9wAxgwi699NJ44oknei8PHerHAQBS4H/8hA0dOjQaGhoq3QYA0M+8BZywF198MRobG+P888+PD3/4w7F79+5KtwQA9AMzgImaO3durFmzJmbMmBH79u2Lu+66K9797nfH888/H6NHj35DfblcjnK53Hu5vb29P9sFAE4jATBRS5Ys6f33rFmzYu7cuTF16tT47ne/GzfccMMb6ltaWuKuu+7qzxYBgDPEW8BERMSYMWPioosuih07dpzw9pUrV0ZbW1vvsWfPnn7uEAA4XQRAIiLi1VdfjZ07d8akSZNOeHupVIra2to+BwAwMAmAifrYxz4Wra2t8atf/Sr+7d/+LT7wgQ/EkCFD4kMf+lClWwMAzjCfAUzUyy+/HB/60Ifi0KFDMWHChHjXu94VmzdvjgkTJlS6tbNK9YRzc2u6xp1TaKxhLx/KrRnytgsLjZW99F+5NT1HjxYaC4D0CICJWrduXaVbAAAqxFvAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYqwDSJKKLrjc2Zi/5V3HpGGFxqqN/EWlixoa5+XWHC/Qe0REadvu3Jqso6PQWP29+HT1yJH9en8RFtgGBgczgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJsRMISSoX3CWjyC4fQzuzQmO1TxueW1M63FNorOqjXbk1x0cMKTTWkIvydxUpatjLh3Jrjr+0p9BYRXb5OJ27chTdVaS/+wI4E8wAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASYyFoklQeW+xHv1yX/xqpXPdWu/m9oxOLvSbrHj4qt6b02+PF7nNSKbfmtxcWW1S64af5daWR+QtiR0R0/+LFQnWni8WbgZSYAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjJ1ASFLtC78pVNc+ZUJuTU1bVmis7uFVuTVj/7PY7h3tU/N/dTsL7GJSVOfEnkJ1HZOG5dYM39FZaKwhb7swt6a/dws53apHjsytsUMJcCaYARyEnnrqqbjqqquisbExqqqq4uGHH+5ze5Zlceedd8akSZNixIgRsXDhwnjxxYH9HykAUJwAOAh1dHTE7NmzY9WqVSe8/d57740vf/nL8bWvfS2efvrpOOecc2LRokXR2VlsZgYAGNi8BTwILVmyJJYsWXLC27Isi/vuuy8+9alPxdKlSyMi4lvf+lbU19fHww8/HNdee21/tgoAVIAZwMTs2rUr9u/fHwsXLuy9rq6uLubOnRubNm066deVy+Vob2/vcwAAA5MAmJj9+/dHRER9fX2f6+vr63tvO5GWlpaoq6vrPZqams5onwDAmSMAUsjKlSujra2t99izZ0+lWwIA/kgCYGIaGhoiIuLAgQN9rj9w4EDvbSdSKpWitra2zwEADEwCYGKmTZsWDQ0NsWHDht7r2tvb4+mnn47m5uYKdgYA9Bd/BTwIvfrqq7Fjx47ey7t27YqtW7fGuHHjYsqUKXH77bfHP/7jP8aFF14Y06ZNi09/+tPR2NgY73//+yvXdD/rGV5TqK7IwsxFFniOiDhezq8rOtaxAhOwQ0rFxuouFakqttj18QL32Tl9YqGxhnR259YU+w7PXhZ5BipFAByEnnnmmXjPe97Te3nFihUREbFs2bJYs2ZNfPzjH4+Ojo646aab4vDhw/Gud70rHnvssRg+fHilWgYA+pEAOAjNnz8/suzkMzZVVVVx9913x913392PXQEAZwufAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABJjHUA4hVHP7cut2fs/mwqNNaQzfzeNoxNP32uyI9PzdzEpqrq2q1Bdx+L8+xz6yDmFxhramf/0VDthQqGxul95pVAdQCrMAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEmMhaJJU3XmsUF33uNrcmnG/LBca6zcXl3JrhhQbKrry2yqsyCLPQ14eXmisYQercmvO2VfsmyztbS9UB8CbZwYQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDF2AoFTKLJjyLDfFBurffqw3JrhB4u9JqsusJnG6B3Ffr27avPrOiceLzTWsLb8sY6PGFJorCHjzsmtqR5eU2is6o6O3Jqeo0cLjQUwGJgBBABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkxkLQJKmn4ALCPSPzF28e+pv8RYYjIsY+X5Vb09FUaKh
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAApH0lEQVR4nO3df3CV5Z03/k8C5ABCAggkRAKLolhF2GfZSrNtWSpUoPM4tPqdqbUzxV1HRxedVdpty05rq7v9xtqZrW2X0p1pR9qZIq0d0anfp7oVS3zaBbtSWdS2rPBQweWXpSXBYA4hub9/+DRtVuC+rZBDcr1eM/cM55xPrvPJfZLD+1zn5LqqsizLAgCAZFRXugEAAPqXAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRmaKUbYGDq6emJvXv3xujRo6OqqqrS7QDwJmVZFkeOHInGxsaorjYflBoBMHGrVq2KL3zhC7F///6YPXt2fOUrX4nLL7889+v27t0bTU1N/dAhAGfSnj17YvLkyZVug34mACbsO9/5TqxYsSK+9rWvxdy5c+O+++6LRYsWxfbt22PixImn/NrRo0dHRMS74n0xNIb1R7sAnEbHoyt+HP+r9/mctFRlWZZVugkqY+7cufH2t789/vmf/zkiXn9bt6mpKW677bb45Cc/ecqvbW9vj7q6upgfS2NolQAIMNAcz7piYzwSbW1tUVtbW+l26Gfe9E/UsWPHYsuWLbFw4cLe66qrq2PhwoWxadOmN9SXy+Vob2/vcwAAA5MAmKhf//rX0d3dHfX19X2ur6+vj/3797+hvqWlJerq6noPn/8DgIFLAKSQlStXRltbW++xZ8+eSrcEAPyR/BFIosaPHx9DhgyJAwcO9Ln+wIED0dDQ8Ib6UqkUpVKpv9oDAM4gM4CJqqmpiTlz5sSGDRt6r+vp6YkNGzZEc3NzBTsDAM40M4AJW7FiRSxbtiz+/M//PC6//PK47777oqOjI/7qr/6q0q0BAGeQAJiwD37wg/HKK6/EnXfeGfv3748//dM/jccee+wNfxgCAAwu1gHkj2IdQICBzTqAafMZQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEjO00g3A2ax65Mjcmqqp5522++v+xYunbSwAOBkzgIn67Gc/G1VVVX2Oiy++uNJtAQD9wAxgwi699NJ44oknei8PHerHAQBS4H/8hA0dOjQaGhoq3QYA0M+8BZywF198MRobG+P888+PD3/4w7F79+5KtwQA9AMzgImaO3durFmzJmbMmBH79u2Lu+66K9797nfH888/H6NHj35DfblcjnK53Hu5vb29P9sFAE4jATBRS5Ys6f33rFmzYu7cuTF16tT47ne/GzfccMMb6ltaWuKuu+7qzxYBgDPEW8BERMSYMWPioosuih07dpzw9pUrV0ZbW1vvsWfPnn7uEAA4XQRAIiLi1VdfjZ07d8akSZNOeHupVIra2to+BwAwMAmAifrYxz4Wra2t8atf/Sr+7d/+LT7wgQ/EkCFD4kMf+lClWwMAzjCfAUzUyy+/HB/60Ifi0KFDMWHChHjXu94VmzdvjgkTJlS6tbNK9YRzc2u6xp1TaKxhLx/KrRnytgsLjZW99F+5NT1HjxYaC4D0CICJWrduXaVbAAAqxFvAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYqwDSJKKLrjc2Zi/5V3HpGGFxqqN/EWlixoa5+XWHC/Qe0REadvu3Jqso6PQWP29+HT1yJH9en8RFtgGBgczgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJsRMISSoX3CWjyC4fQzuzQmO1TxueW1M63FNorOqjXbk1x0cMKTTWkIvydxUpatjLh3Jrjr+0p9BYRXb5OJ27chTdVaS/+wI4E8wAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASYyFoklQeW+xHv1yX/xqpXPdWu/m9oxOLvSbrHj4qt6b02+PF7nNSKbfmtxcWW1S64af5daWR+QtiR0R0/+LFQnWni8WbgZSYAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjJ1ASFLtC78pVNc+ZUJuTU1bVmis7uFVuTVj/7PY7h3tU/N/dTsL7GJSVOfEnkJ1HZOG5dYM39FZaKwhb7swt6a/dws53apHjsytsUMJcCaYARyEnnrqqbjqqquisbExqqqq4uGHH+5ze5Zlceedd8akSZNixIgRsXDhwnjxxYH9HykAUJwAOAh1dHTE7NmzY9WqVSe8/d57740vf/nL8bWvfS2efvrpOOecc2LRokXR2VlsZgYAGNi8BTwILVmyJJYsWXLC27Isi/vuuy8+9alPxdKlSyMi4lvf+lbU19fHww8/HNdee21/tgoAVIAZwMTs2rUr9u/fHwsXLuy9rq6uLubOnRubNm066deVy+Vob2/vcwAAA5MAmJj9+/dHRER9fX2f6+vr63tvO5GWlpaoq6vrPZqams5onwDAmSMAUsjKlSujra2t99izZ0+lWwIA/kgCYGIaGhoiIuLAgQN9rj9w4EDvbSdSKpWitra2zwEADEwCYGKmTZsWDQ0NsWHDht7r2tvb4+mnn47m5uYKdgYA9Bd/BTwIvfrqq7Fjx47ey7t27YqtW7fGuHHjYsqUKXH77bfHP/7jP8aFF14Y06ZNi09/+tPR2NgY73//+yvXdD/rGV5TqK7IwsxFFniOiDhezq8rOtaxAhOwQ0rFxuouFakqttj18QL32Tl9YqGxhnR259YU+w7PXhZ5BipFAByEnnnmmXjPe97Te3nFihUREbFs2bJYs2ZNfPzjH4+Ojo646aab4vDhw/Gud70rHnvssRg+fHilWgYA+pEAOAjNnz8/suzkMzZVVVVx9913x913392PXQEAZwufAQQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABJjHUA4hVHP7cut2fs/mwqNNaQzfzeNoxNP32uyI9PzdzEpqrq2q1Bdx+L8+xz6yDmFxhramf/0VDthQqGxul95pVAdQCrMAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEmMhaJJU3XmsUF33uNrcmnG/LBca6zcXl3JrhhQbKrry2yqsyCLPQ14eXmisYQercmvO2VfsmyztbS9UB8CbZwYQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDF2AoFTKLJjyLDfFBurffqw3JrhB4u9JqsusJnG6B3Ffr27avPrOiceLzTWsLb8sY6PGFJorCHjzsmtqR5eU2is6o6O3Jqeo0cLjQUwGJgBBABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkxkLQJKm
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "8aa1881c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "3a0e02f7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 55,
"id": "7b83c9ba",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"((134842, 7), (134842, 4))"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x.shape, x0.shape"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "fad76b87",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a102651d5dfa4a76970dbb8c3493c534",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd1gU1/7G36V3ERARG6KoEVERFY0aNVHJTbkx0cTYNbYY703UFDAxmmJiTfQmwdhiA1siqWBELFhAehFRAQEBRToCuwu7LMzvj9mZOWd215j2SwznfR6fXb87M6fM7M7hnM+8XwXHcRyYmJiYmJiYmJjajMz+6gowMTExMTExMTH9/4oNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjYkNAJmYmJiYmJiY2pjYAJCJiYmJiYmJqY2JDQCZmJiYmJiYmNqY2ACQiYmJiYmJiamNiQ0AmZiYmJiYmJjamNgAkImJiYmJiYmpjemBGgCGhobCy8sLNjY2CAwMRFJSksltv/32WwwZMgTOzs6wt7fHoEGDEBYWJn7e3NyM4OBg+Pn5wd7eHp6enpg9ezZKS0v/P5rCxMTExMTExPSXScFxHPdXV+J+dPToUcyePRvbt29HYGAgtm7dim+++QY5OTlwd3c32D42Nha1tbXo27cvrKysEBkZiddffx1RUVEICgpCXV0dpkyZgoULF2LgwIGora3Fa6+9hpaWFqSkpNxXnVpbW1FaWgpHR0coFIo/uslMTExMTExMf4I4jkNDQwM8PT1hZvZAzYX9ceIeEA0bNoxbunSp+P+WlhbO09OTW7du3X0fw9/fn1u1apXJz5OSkjgAXFFR0X0dr6SkhAPA/rF/7B/7x/6xf+zfA/ivpKTkvscQ/zRZ4AGQVqtFamoqVq5cKcbMzMwwfvx4XLp06Rf35zgOZ86cQU5ODjZs2GByu7q6OigUCjg7Oxv9XKPRQKPRUMcFgJKSEjg5Od1na5iYmJiYmJj+StXX16Nr165wdHT8q6vyl+mBGABWVVWhpaUFHTt2pOIdO3bE9evXTe5XV1eHzp07Q6PRwNzcHNu2bcOECROMbtvU1ITg4GBMmzbN5GBu3bp1eP/99w3iTk5ObADIxMTExMT0gKkt41v/6IVvR0dHZGRkIDk5GR999BFWrFiB2NhYg+2am5vxwgsvgOM4fPnllyaPt3LlStTV1Yn/SkpK/sTaMzExMTExMTH9OXogZgDd3Nxgbm6O8vJyKl5eXg4PDw+T+5mZmaFXr14AgEGDBuHatWtYt24dxo4dK24jDP6Kiopw5syZe87kWVtbw9ra+vc1homJiYmJiYnpL9YDMQNoZWWFgIAAnD59Woy1trbi9OnTGDFixH0fp7W1lWL4hMFfXl4eTp06BVdX1z+03kxMTExMTExMf0c9EDOAALBixQrMmTMHQ4YMwbBhw7B161aoVCrMmzcPADB79mx07twZ69atA8DzekOGDEHPnj2h0Whw/PhxhIWFiUu8zc3NmDJlCtLS0hAZGYmWlhaUlZUBAFxcXGBlZfXXNJSJiYmJiYmJ6U/WAzMAnDp1KiorK7F69WqUlZVh0KBBOHHihPhgSHFxMeXlo1Kp8Morr+DWrVuwtbVF3759ER4ejqlTpwIAbt++jR9//BEAvzxM6uzZs9QyMRMTExMTExPTP0kPjBH031H19fVo164d6urq2FPATExMTExMD4jY/fsBYQCZmJiYmJiYmJj+OLEBIBMTExMTExNTGxMbADIxMTExMTExtTGxASATExMTExMTUxsTGwAyMTExMTExMbUxsQEgExMTExMTE1MbExsAMjH9TaTW6vBd+i2otToqXlKjwvRdCSipUd3X9qbi/yS15bYzMTEx/RFiA0Ampr+JjqXeQtilIkSk3qLib3yTiYJKJd48dpmK/5h5G7HXK/FTZqnsOCXYc6EQc75KRJWyifrM1GCyStmEd77LMtge+HsOqo6llhjtq+jsMuRXKPHMF3EGbTTVdiYmJqa2KDYAZGL6myi7tA5aXSuyS+uo+IR+HrCxNMeEhzrK9lBAoTB2nHrcutuI23ebsDUmj/osOCILVQ1NCInIouJbYvJQUW+4PcAPqmqUWpzMLv9N7fozlF1ab7Svgnw9EJ1dDo5rNWijqbYzMTExtUWxASAT099Ebwb1waCuzngjqA8Vnx7YDcvG98a0wG5U/N8DPTG2jzueHuhpcJzH+nbAwz1dsWyCD/XZhsl+6OBog/WT/aj48gk+6OhkY7A9wA+qXB2sMdFXPgD962Sqr+ysLLBn7hB0dLI1aKOptjMxMTG1RbEBIBPT/7Nyy+ox4dNzyC2rp+LZt+twLO0Wsm/Ts1oXcyvw5rFMXMytoOLJhdUIPpaB57bFU8ua+RVKRGeXo1atNSj71NUyxOVX49TVMioekVKC8MRiRKSUUPGDCYXotzoacXn07F+Vsgnz9yXCb80JJBZUUZ+dvFIKn3eO4+QVemk6s6QWA987gd7vROFcjnS8khoVJnwaix4hUfgpw7B8r5AoHEwopOKXblTiUGIxPjuVSy1NVymbsDk6Fxpdi0HbAcBY3ktT9TV1npiYmJj+CWIDQCam/2ctPZSOuyoNlh5Kp+KLw9OgbW7Fy+Fp9PaHM9DcwmHp4QyD7TUtwPWyBmpZc+GBVDRoWnD6eiXe+/4Ktc/7kdepV0HrTuRSr4Le+f4qAOCbtDsUa7glJg9nr1ehQdOC+fuSqX1eOZSO5hYOr8jatygsFXVNLdC2gGpjcEQW8ipU4AC8doTmHIXyhVdBrx25jFYABxJKKA7ww5+uIvJyKdKK7mLZkQxqnyXhqUgsqMYrsv41VV9T54mJiYnpnyA2AGRi+n9W6HR/ONtbI3S6PxXfMXMwrC3NsH3mYHr7aYNgaa5A6LRBBtvbmAMPdXKkljV3zQ6AAoClGXD1TgO1j72l/tWKrpOVOf0qyEG/nSyM5RN84GRnDgWA7q721GcP93QFAIzUvwraOSsA7WwtYGUOqo0bJvvByZYvYURPF2qfId3aAQCG6l8FeXew4+trBmrG9PbdRrRyQCsMZ/vu1DWhlQPu1DVS8dnDu8NMAcwZ0Z2KmzpPTExMTP8EKTiOM7YqwnQfqq+vR7t27VBXVwcnJ6e/ujpMTKJyy+qx9FA6Qqf7o7eHdG1mltRiUVgqds4KwMCu7cV4YkEVFoalYtesAAR6u1HbLzyQihmB3bDwEW/YWVmIn5XUqBASkYX1k/3Q1UUaBFYp+YdJlk3wgZuDzX3V19Q+puIlNSq8/nUmPJ2sserfvuJnJTUqLDuSAY4
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"# plt.scatter(x[:, 0], x[:, 1], s=0.1)\n",
"plt.scatter(x0[:, 0], x0[:, 1], s=0.1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d0423f44",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "6276d479",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "50a4a6d6",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "7883167e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "179d520e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "209c181f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "b3253603",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 11,
"id": "c6430d5c",
"metadata": {},
"outputs": [],
"source": [
"unique_clump_ids = numpy.unique(clump_ids)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "ec9e90ab",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0, 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 14, 15,\n",
" 17, 19, 21, 22, 23, 29, 32, 34, 39, 43, 134, 137, 138,\n",
" 139, 149, 151, 156, 157, 158, 159, 161, 163, 165, 167, 168, 169,\n",
" 172, 173, 175, 178, 179, 181, 183, 186, 187, 188, 189, 191, 193,\n",
" 194, 196, 197, 198, 204, 207, 209, 211, 212, 213, 214, 215, 216,\n",
" 217, 218, 221, 223, 225, 227, 228, 231, 232, 237, 238, 240, 243,\n",
" 245, 247, 248, 249, 252, 257, 258, 259, 260, 262, 263, 264, 267,\n",
" 268, 269, 270, 272, 273, 274, 275, 276, 278], dtype=int32)"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"unique_clump_ids[:100]"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "273df2d6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"131 ns ± 0.529 ns per loop (mean ± std. dev. of 7 runs, 10,000,000 loops each)\n"
]
}
],
"source": [
"%timeit numpy.nan == numpy.nan"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "6da0af29",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"791 ns ± 5.14 ns per loop (mean ± std. dev. of 7 runs, 1,000,000 loops each)\n"
]
}
],
"source": [
"%timeit numpy.isnan(numpy.nan)"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "bd84b541",
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "Object dtype dtype('O') has no native HDF5 equivalent",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[0;32mIn[29], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m test \u001b[39m=\u001b[39m {\u001b[39m\"\u001b[39m\u001b[39masd\u001b[39m\u001b[39m\"\u001b[39m: \u001b[39m1\u001b[39m}\n\u001b[1;32m 2\u001b[0m \u001b[39mwith\u001b[39;00m h5py\u001b[39m.\u001b[39mFile(\u001b[39m\"\u001b[39m\u001b[39mtest.hp\u001b[39m\u001b[39m\"\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mw\u001b[39m\u001b[39m'\u001b[39m) \u001b[39mas\u001b[39;00m f:\n\u001b[0;32m----> 3\u001b[0m f\u001b[39m.\u001b[39;49mcreate_dataset(\u001b[39m\"\u001b[39;49m\u001b[39mtest\u001b[39;49m\u001b[39m\"\u001b[39;49m, data\u001b[39m=\u001b[39;49mtest)\n",
"File \u001b[0;32m~/csiborgtools/venv_csiborg/lib/python3.9/site-packages/h5py/_hl/group.py:183\u001b[0m, in \u001b[0;36mGroup.create_dataset\u001b[0;34m(self, name, shape, dtype, data, **kwds)\u001b[0m\n\u001b[1;32m 180\u001b[0m parent_path, name \u001b[39m=\u001b[39m name\u001b[39m.\u001b[39mrsplit(\u001b[39mb\u001b[39m\u001b[39m'\u001b[39m\u001b[39m/\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m1\u001b[39m)\n\u001b[1;32m 181\u001b[0m group \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mrequire_group(parent_path)\n\u001b[0;32m--> 183\u001b[0m dsid \u001b[39m=\u001b[39m dataset\u001b[39m.\u001b[39;49mmake_new_dset(group, shape, dtype, data, name, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwds)\n\u001b[1;32m 184\u001b[0m dset \u001b[39m=\u001b[39m dataset\u001b[39m.\u001b[39mDataset(dsid)\n\u001b[1;32m 185\u001b[0m \u001b[39mreturn\u001b[39;00m dset\n",
"File \u001b[0;32m~/csiborgtools/venv_csiborg/lib/python3.9/site-packages/h5py/_hl/dataset.py:88\u001b[0m, in \u001b[0;36mmake_new_dset\u001b[0;34m(parent, shape, dtype, data, name, chunks, compression, shuffle, fletcher32, maxshape, compression_opts, fillvalue, scaleoffset, track_times, external, track_order, dcpl, dapl, efile_prefix, virtual_prefix, allow_unknown_filter, rdcc_nslots, rdcc_nbytes, rdcc_w0)\u001b[0m\n\u001b[1;32m 86\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[1;32m 87\u001b[0m dtype \u001b[39m=\u001b[39m numpy\u001b[39m.\u001b[39mdtype(dtype)\n\u001b[0;32m---> 88\u001b[0m tid \u001b[39m=\u001b[39m h5t\u001b[39m.\u001b[39;49mpy_create(dtype, logical\u001b[39m=\u001b[39;49m\u001b[39m1\u001b[39;49m)\n\u001b[1;32m 90\u001b[0m \u001b[39m# Legacy\u001b[39;00m\n\u001b[1;32m 91\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39many\u001b[39m((compression, shuffle, fletcher32, maxshape, scaleoffset)) \u001b[39mand\u001b[39;00m chunks \u001b[39mis\u001b[39;00m \u001b[39mFalse\u001b[39;00m:\n",
"File \u001b[0;32mh5py/h5t.pyx:1664\u001b[0m, in \u001b[0;36mh5py.h5t.py_create\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32mh5py/h5t.pyx:1688\u001b[0m, in \u001b[0;36mh5py.h5t.py_create\u001b[0;34m()\u001b[0m\n",
"File \u001b[0;32mh5py/h5t.pyx:1748\u001b[0m, in \u001b[0;36mh5py.h5t.py_create\u001b[0;34m()\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: Object dtype dtype('O') has no native HDF5 equivalent"
]
}
],
"source": [
"test = {\"asd\": 1}\n",
"with h5py.File(\"test.hp\", 'w') as f:\n",
" f.create_dataset(\"test\", data=test)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "29e5a4ed",
"metadata": {},
"outputs": [],
"source": [
"f"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "317aef53",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2360"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"k0, kf = minmax_clump(259, clump_ids)\n",
"\n",
"kf - k0 + 1"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "8fe50188",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([259, 259, 259, ..., 259, 259, 259], dtype=int32)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clump_ids[k0:kf+1]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d0508ab0",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 3,
"id": "011a9fea",
"metadata": {},
"outputs": [],
"source": [
"import numpy\n",
"\n",
"nsim = nsim0\n",
"nsnap = nsnap0\n",
"\n",
"\n",
"part0 = h5py.File(paths.initmatch_path(nsim, \"particles\"), 'r')['particles']\n",
"cmap = h5py.File(paths.particles_path(nsim, \"clumpmap\"), 'r')\n",
"partf = h5py.File(paths.particles_path(nsim), 'r')[\"particles\"]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8f8c9116",
"metadata": {},
"outputs": [],
"source": [
"part0[cmap[str(558655)], :]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "1d74f0e7",
"metadata": {},
"outputs": [],
"source": [
"cat = csiborgtools.read.ClumpsCatalogue(nsim, paths, rawdata=True)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "b595aa4b",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"10000it [00:51, 193.86it/s]\n"
]
}
],
"source": [
"from tqdm import tqdm\n",
"y = np.zeros((10000, 2), dtype=np.int32)\n",
"\n",
"for i, hid in tqdm(enumerate(cat[\"index\"][cat.ismain][:10000])):\n",
" n = np.sum(cat[\"parent\"] == hid)\n",
" y[i, :] = hid, n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "2bf99732",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([558655, 558659, 558673, 558675, 558677, 558692, 558705, 558717,\n",
" 558724, 558726, 558739, 558746, 558857, 559232, 559256, 559292,\n",
" 559325, 559343, 559349, 559384, 559388, 559406, 559415, 559453,\n",
" 559467, 559473, 559492, 559496, 559541, 559544, 559548, 559570,\n",
" 559571, 559604, 559612, 559637, 559643, 559648, 559655, 559724,\n",
" 559735, 559779, 559780, 559792, 559802, 559804, 559817, 559910,\n",
" 559918, 559926, 559960, 559977, 559982, 559997, 560012, 560031,\n",
" 560122, 560213, 560325, 560375, 560426, 560517, 560798, 562156,\n",
" 563235, 563254, 563586, 563651, 563671, 563892, 564050, 564068,\n",
" 564138, 564153, 564358, 564525, 564734, 564745, 564779, 564831,\n",
" 565008, 565180, 565272, 565276, 565521, 565620, 565701, 565891,\n",
" 566046, 566604, 566705, 567047, 567336, 567720, 568897, 569232,\n",
" 569376, 569773, 573130, 575459, 575880, 576414, 579319, 579445,\n",
" 579722, 579770, 580117, 580388, 580441, 580507, 580518, 581594,\n",
" 581767, 582047, 582713, 583256, 586403, 587027, 587239, 588764,\n",
" 593803, 595742, 596219, 599285, 600189, 603135, 605484],\n",
" dtype=int32)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat[\"index\"][cat[\"parent\"] == 558655]"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "64aa63a2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([558655, 127], dtype=int32)"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y[np.argmax(y[:, 1]), :]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "4a5c0091",
"metadata": {},
"outputs": [],
"source": [
"keys = list(cmap.keys())"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "d6befe8b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[558655 558659 558673 558675 558677 558692 558705 558717 558724 558726\n",
" 558739 558746 558857 559232 559256 559292 559325 559343 559349 559384\n",
" 559388 559406 559415 559453 559467 559473 559492 559496 559541 559544\n",
" 559548 559570 559571 559604 559612 559637 559643 559648 559655 559724\n",
" 559735 559779 559780 559792 559802 559804 559817 559910 559918 559926\n",
" 559960 559977 559982 559997 560012 560031 560122 560213 560325 560375\n",
" 560426 560517 560798 562156 563235 563254 563586 563651 563671 563892\n",
" 564050 564068 564138 564153 564358 564525 564734 564745 564779 564831\n",
" 565008 565180 565272 565276 565521 565620 565701 565891 566046 566604\n",
" 566705 567047 567336 567720 568897 569232 569376 569773 573130 575459\n",
" 575880 576414 579319 579445 579722 579770 580117 580388 580441 580507\n",
" 580518 581594 581767 582047 582713 583256 586403 587027 587239 588764\n",
" 593803 595742 596219 599285 600189 603135 605484]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/127 [00:00<?, ?it/s]"
]
}
],
"source": [
"\n",
"csiborgtools.fits.load_parent_particles(558655, part0, cmap, cat)\n",
"# Xf = csiborgtools.fits.load_parent_particles(378, partf, cmap, cat)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "ee1a8686",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f9cee980a8fb4354aa78f811a8915e85",
"version_major": 2,
"version_minor": 0
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+FElEQVR4nO3de1xT9/0/8FdCCCGEOwKCIFXxUmpRUSmuF7tq6ebq3Gxr281a19vWy9ba9qudvTtn+6tb7Vp7UXtR206tl1atkypqqxURERGjIiJyDxAuCUlIQpLz+4PBdNOac4ICPa/n4+FjFs/nnc/nc07OeeVzTphCEAQBRERERCQbyp7uABERERFdWQyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDKj6ukO9GUejwc1NTUIDg6GQqHo6e4QERGRFwRBQGtrK+Li4qBUynMtjAHQBzU1NUhISOjpbhAREZEElZWVGDBgQE93o0cwAPogODgYQMcBFBIS0sO9ISIiIm+YzWYkJCR0XcfliAHQB523fUNCQhgAiYiI+hg5P74lzxvfRERERDLGAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARES9mM3p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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+FElEQVR4nO3de1xT9/0/8FdCCCGEOwKCIFXxUmpRUSmuF7tq6ebq3Gxr281a19vWy9ba9qudvTtn+6tb7Vp7UXtR206tl1atkypqqxURERGjIiJyDxAuCUlIQpLz+4PBdNOac4ICPa/n4+FjFs/nnc/nc07OeeVzTphCEAQBRERERCQbyp7uABERERFdWQyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDKj6ukO9GUejwc1NTUIDg6GQqHo6e4QERGRFwRBQGtrK+Li4qBUynMtjAHQBzU1NUhISOjpbhAREZEElZWVGDBgQE93o0cwAPogODgYQMcBFBIS0sO9ISIiIm+YzWYkJCR0XcfliAHQB523fUNCQhgAiYiI+hg5P74lzxvfRERERDLGAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARERERDLDAEhEREQkMwyARES9mM3p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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"\n",
"plt.scatter(X[:, 0], X[:, 1], s=0.1)\n",
"# plt.scatter(Xf[:, 0], Xf[:, 1], s=0.1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1bbda411",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6e9d36ca",
"metadata": {},
"outputs": [],
"source": [
"pid_final = np.load(\"pid_final.npy\")\n",
"pid_init = np.load(\"pid_initial.npy\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "ac9c5c58",
"metadata": {},
"outputs": [],
"source": [
"pid_order = np.argsort(pid_final).astype(np.int32)\n",
"\n",
"pid_order_2 = np.argsort(pid_order).astype(np.int32)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "bcf3be0a",
"metadata": {},
"outputs": [],
"source": [
"# Sort them\n",
"\n",
"pid_init = pid_init[np.argsort(pid_init)]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "1218ba7f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.alltrue(pid_init[pid_order_2] == pid_final)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "0a12563b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6, 7, 8, ..., 429538984, 456581538,\n",
" 456482476], dtype=int32)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "95d9f0f7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "c7998177",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "1b1ef66c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 25,
"id": "5b9362d2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6, 7, 8, ..., 429538984, 456581538,\n",
" 456482476], dtype=int32)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
"\n",
"\n",
"pid_final[pid_order][pid_order_2]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "a333cacf",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "cf7a4005",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "884cfa0f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "ebcc11ae",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 18,
"id": "3f155db8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, ..., 460357796, 460357797,\n",
" 460357798], dtype=int32)"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"part0['ID']"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "88feaaff",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 8,
"id": "20d1a6a0",
"metadata": {},
"outputs": [],
"source": [
"indx1 = numpy.argsort(part0['ID'])\n",
"\n",
"indx2 = numpy.argsort(pid)\n",
"\n",
"indx1_inv = numpy.argsort(indx1)\n",
"part0 = part0[indx2][indx1_inv]\n",
"# pid = pid[indx2]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([(0.6463347 , 0.5915494 , 0.3729033 , 1.1641532e-10, 285313656),\n",
" (0.22073722, 0.49019635, 0.9627326 , 5.9604645e-08, 58672855),\n",
" (0.7210556 , 0.18949312, 0.37298316, 5.9604645e-08, 459417395),\n",
" ...,\n",
" (0.46851808, 0.2966002 , 0.44987014, 1.1641532e-10, 2684309),\n",
" (0.7481397 , 0.02954267, 0.8927611 , 5.9604645e-08, 402473389),\n",
" (0.9159686 , 0.8301242 , 0.67392564, 5.9604645e-08, 287235917)],\n",
" dtype=[('x', '<f4'), ('y', '<f4'), ('z', '<f4'), ('M', '<f4'), ('ID', '<i4')])"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"part0"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "53d0f130",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "78041a0a",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "b6059fb3",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "aafbd8d9",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 10,
"id": "4d989091",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6, 7, 8, ..., 429538984, 456581538,\n",
" 456482476], dtype=int32)"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pid"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c97c3f51",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, ..., 460471465, 460471466,\n",
" 460471467], dtype=int32)"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pid"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 1, 2, 3, 5, 6, 7, 9, 11, 12, 13, 15, 17, 19,\n",
" 21, 22, 23, 29, 32, 34, 39, 134, 137, 138, 139, 149, 151,\n",
" 156, 157, 158, 159, 161, 163, 167, 168, 169, 172, 173, 175, 178,\n",
" 181, 186, 188, 189, 191, 196, 197, 198, 204, 209, 211], dtype=int32)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cat = csiborgtools.read.ClumpsCatalogue(nsim, paths, load_fitted=False, rawdata=True)\n",
"parent_ids = cat[\"index\"][cat.ismain]\n",
"\n",
"parent_ids[:50]"
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "af4fa7e0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"11031538"
]
},
"execution_count": 54,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"i = cat[\"index\"][np.argsort(cat[\"mass_cl\"])[::-3][213]]\n",
"i"
]
},
{
"cell_type": "code",
"execution_count": 55,
"id": "c57a56ac",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[11031538 11032027 11033906 11034471 11034477 11034692 11035306 11049411\n",
" 11057461 11058959]\n",
"[24440, 256, 133, 0, 0, 0, 113, 0, 0, 0]\n"
]
}
],
"source": [
"# clid = 10170336\n",
"# clid = 10170336 + 12\n",
"clid = i\n",
"\n",
"\n",
"mmain_indxs = cat[\"index\"][cat[\"parent\"] == clid]\n",
"# mask = clump_ids == clid\n",
"# print(mask.sum())\n",
"print(mmain_indxs)\n",
"\n",
"print([numpy.sum(clump_ids == j) for j in mmain_indxs])\n"
]
},
{
"cell_type": "code",
"execution_count": 56,
"id": "4ad427f1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"24942"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mask = numpy.isin(clump_ids, mmain_indxs)\n",
"mask.sum()"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "410c3b97efc14cd8b1b34d7a3666483f",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# coords = part0[mask, :]\n",
"plt.figure()\n",
"plt.scatter(part0['x'][mask], part0['y'][mask], s=1)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "72a723d2",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "33d088f2",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "e54f3005",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 193,
"id": "b097637b",
"metadata": {},
"outputs": [],
"source": [
"particles0 = h5py.File(paths.initmatch_path(nsim0, \"particles\"), 'r')['particles']\n",
"particlesx = h5py.File(paths.initmatch_path(nsimx, \"particles\") , 'r')['particles']"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c3cf4c91",
"metadata": {},
"outputs": [],
"source": [
"# delta_bckg = overlapper.make_bckg_delta(particles0, verbose=True)\n",
"# delta_bckg = overlapper.make_bckg_delta(particlesx, delta=delta_bckg, verbose=True)\n",
"# np.save(\"./bckg_{}_{}.npy\".format(nsim0, nsimx), delta_bckg)\n",
"# delta_bckg = np.load(\"./bckg_{}_{}.npy\".format(nsim0, nsimx))"
]
},
{
"cell_type": "code",
"execution_count": 194,
"id": "f7a602a5",
"metadata": {},
"outputs": [],
"source": [
"map0 = h5py.File(paths.initmatch_path(nsim0, \"halomap\"), 'r')\n",
"mapx = h5py.File(paths.initmatch_path(nsimx, \"halomap\"), 'r')"
]
},
{
"cell_type": "code",
"execution_count": 174,
"id": "79ddf8f5",
"metadata": {},
"outputs": [],
"source": [
"keys = np.array(sorted([int(x) for x in mapx.keys()]))"
]
},
{
"cell_type": "code",
"execution_count": 175,
"id": "326b4ae8",
"metadata": {},
"outputs": [],
"source": [
"paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)\n",
"\n",
"halocat = csiborgtools.read.HaloCatalogue(nsimx, paths, rawdata=True)\n",
"clumpcat = csiborgtools.read.ClumpsCatalogue(nsimx, paths, rawdata=True)"
]
},
{
"cell_type": "code",
"execution_count": 176,
"id": "6d5a86b2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"clid = 2\n",
"\n",
"\n",
"np.sum(clumpcat[\"parent\"] == clid)\n",
"\n",
"# mmain_indxs = clumpcat[\"index\"][clumpcat[\"parent\"] == clid]\n",
"\n",
"# mmain_indxs\n",
"# mmain_mask = numpy.isin(clump_ids, mmain_indxs, assume_unique=True)"
]
},
{
"cell_type": "code",
"execution_count": 195,
"id": "099d3357",
"metadata": {},
"outputs": [],
"source": [
"fs = list(map0.keys())"
]
},
{
"cell_type": "code",
"execution_count": 196,
"id": "21aa49af",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 173643/173643 [01:29<00:00, 1947.49it/s]"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"362439022\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"from tqdm import tqdm\n",
"tot = 0\n",
"for f in tqdm(fs):\n",
" tot += map0[f].shape[0]\n",
"\n",
"print(tot)"
]
},
{
"cell_type": "code",
"execution_count": 197,
"id": "278de818",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<HDF5 dataset \"particles\": shape (182510395, 4), type \"<f4\">"
]
},
"execution_count": 197,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"particles0"
]
},
{
"cell_type": "code",
"execution_count": 198,
"id": "e55b65c4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1.9858541317605498"
]
},
"execution_count": 198,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tot / 182510395"
]
},
{
"cell_type": "code",
"execution_count": 172,
"id": "373423b2",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<HDF5 dataset \"particles\": shape (182036133, 4), type \"<f4\">"
]
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"particlesx"
]
},
{
"cell_type": "code",
"execution_count": 177,
"id": "d5b65fcb",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"86031"
]
},
"execution_count": 177,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"i = 10170336\n",
"\n",
"\n",
"k = np.where(cat[\"ID\"] == i)[0][0]\n",
"k"
]
},
{
"cell_type": "code",
"execution_count": 178,
"id": "709cb935",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10170336\n"
]
},
{
"data": {
"text/plain": [
"<HDF5 dataset \"10170336\": shape (2085,), type \"<i8\">"
]
},
"execution_count": 178,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# i = np.random.choice(keys[keys<100000])\n",
"\n",
"# # i = 10040155 #+ 11\n",
"\n",
"print(i)\n",
"# i = 32\n",
"\n",
"\n",
"mask = map0[str(i)]\n",
"mask"
]
},
{
"cell_type": "code",
"execution_count": 183,
"id": "7f4a40a5",
"metadata": {},
"outputs": [],
"source": [
"halo = particlesx[mask, :]"
]
},
{
"cell_type": "code",
"execution_count": 184,
"id": "e83806b1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"2085.000032720428"
]
},
"execution_count": 184,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.sum(halo[:, 3]) / 1.1641532e-10"
]
},
{
"cell_type": "code",
"execution_count": 186,
"id": "7fe3494d",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "92b87db2ae5440c19f4b4694e9e98aaf",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,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
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(halo[:, 0], halo[:, 1], s=2)\n",
"# plt.scatter(cat['x'][k], cat['y'][k], s=10, c='r')\n",
"\n",
"plt.xlabel(r\"x\")\n",
"plt.ylabel(r\"y\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "c0c2d4fe",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "2f2ead3e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "d48adc68",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "276b5823",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "13f4cf79",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "11a909af",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "105862df",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "a2f25a4e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "93fbe29d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "64608a92",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 21,
"id": "35442e33",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_7442/2249068321.py:2: RuntimeWarning: divide by zero encountered in log10\n",
" plt.imshow(np.log10(np.sum(delta_bckg, axis=0)))\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bb36c88a57034c6ea702eb545cc6e57b",
"version_major": 2,
"version_minor": 0
},
"image/png": "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
"text/html": [
"\n",
" <div style=\"display: inline-block;\">\n",
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
" Figure\n",
" </div>\n",
" <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9W6xt2VkdCrev9zHmXGvfytjE9okwwXb5Eh9IUICAFSkPiYUVOQ8IIuUBIRLxhAoUbA4JPiLmGmzKeBc5AkROFAFSQoh4iCKQckFO4jxgRGQU/YQcnJDzn9gS8iXJocquvdecY/T+nYfv0r8+5izblOuyd63epKW11pzj0kcfY87RRmvfhZiZMTAwMDAwMDAwcG2QXuwBDAwMDAwMDAwMvLAYBHBgYGBgYGBg4JphEMCBgYGBgYGBgWuGQQAHBgYGBgYGBq4ZBgEcGBgYGBgYGLhmGARwYGBgYGBgYOCaYRDAgYGBgYGBgYFrhkEABwYGBgYGBgauGQYBHBgYGBgYGBi4ZhgEcGBgYGBgYGDgmmEQwIGBgYGBgYGBa4ZBAAcGBgYGBgYGrhkGARwYGBgYGBgYuGYYBHBgYGBgYGBg4JphEMCBgYGBgYGBgWuGQQAHBgYGBgYGBq4ZBgEcGBgYGBgYGLhmGARwYGBgYGBgYOCaYRDAgYGBgYGBgYFrhkEABwYGBgYGBgauGQYBHBgYGBgYGBi4ZhgEcGBgYGBgYGDgmmEQwIGBgYGBgYGBa4ZBAAcGBgYGBgYGrhkGARwYGBgYGBgYuGYYBHBgYGBgYGBg4JphEMCBgYGBgYGBgWuGQQAHBgYGBgYGBq4ZBgEcGBgYGBgYGLhmGARwYGBgYGBgYOCaYRDAgYGBgYGBgYFrhkEABwYGBgYGBgauGQYBHBgYGBgYGBi4ZhgEcGBgYGBgYGDgmmEQwIGBgYGBgYGBa4ZBAAcGBgYGBgYGrhkGARwYGBgYGBgYuGYYBHBgYGBgYGBg4JphEMCBgYGBgYGBgWuGQQAHBgYGBgYGBq4ZBgEcGBgYGBgYGLhmGARwYGBgYGBgYOCaYRDAgYGBgYGBgYFrhkEABwYGBgYGBgauGQYBHBgYGBgYGBi4ZhgEcGBgYGBgYGDgmmEQwIGBgYGBgYGBa4ZBAAcGBgYGBgYGrhkGARwYGBgYGBgYuGYYBHBgYGBgYGBg4JphEMCBgYGBgYGBgWuGQQAHBgYGBgYGBq4ZBgG85viZn/kZfMVXfAUuLi7w9V//9fit3/qtF3tIAwMDAwMDA88zBgG8xvgn/+Sf4F3vehd+8Ad/EL/927+NP/2n/zTe/va341Of+tSLPbSBgYGBgYGB5xHEzPxiD2LgxcHXf/3X4+u+7uvw0z/90wCAWite85rX4Lu/+7vx/d///S/y6AYGBgYGBgaeLwwF8JrieDziIx/5CN72trf5ayklvO1tb8OHP/zhF3FkAwMDAwMDA883phd7AAMvDv77f//vKKXgVa96Vff6q171Kvze7/3eyfKHwwGHw8H/r7Xif/7P/4lXvOIVIKLnfbwDAwMDA88tmBmf+cxn8Mf/+B9HSkMPum4YBHDgC8J73/te/PAP//CLPYyBgYGBgecYH//4x/FlX/ZlL/YwBl5gDAJ4TfGlX/qlyDnjk5/8ZPf6Jz/5Sbz61a8+Wf7d73433vWud/n/Tz75JL78y78cH//4x3Hnzp3nfbwDAwMDA88tnnrqKbzmNa/B7du3X+yhDLwIGATwmmK32+FrvuZr8MEPfhDf9E3fBEBs3Q9+8IP4ru/6rpPl9/s99vv9yet37twZBHBgYGDgIcYI47meGATwGuNd73oXvv3bvx1f+7Vfiz/7Z/8sfuqnfgpPP/00/vpf/+sv9tAGBgYGBgYGnkcMAniN8Vf/6l/Fpz/9abznPe/BJz7xCXz1V381/sW/+BcniSEDAwMDAwMDLy2MOoADzwpPPfUUHnnkETz55JPDAh4YGBh4CDG+x683Rt73wMDAwMDAwMA1wyCAAwMDAwMDAwPXDIMADgwMDAwMDAxcMwwCODAwMDAwMDBwzTAI4MDAwMDAwMDANcMggAMDAwMDAwMD1wyDAA4MDAwMDAwMXDMMAjgwMDAwMDAwcM0wOoEMDAxcG7z5PU+AJ6DsGVQBKgBnIB0JdWLkK0JagXIBzJ8FjneAumfkewRigAlIi2yrXDLmp6SHap3l9d99/J0v4tENDAwMfOEYBHBgYOChxZt++AmUvTQzSisAJuSDvFd3jeDVzEgLoe4ZdQeUy4q0ENKBwBmgwkIMbzAKgHLBoJJQLhmcGbQHOAF1J2SQZ4AB1JczOMv+iIHXP34X//Vvvqsb4xv+zl3wBIAAWmU7IGD+DKFOwEd/aJDGgYGBFx6jFdzAs8JoITTwYuEt737CSdR6k1F2AIhBRVQ6WgGqquwpwas7Bq1AWgnlgsHUtpeKKHi0yv+cgHyUdZc7+vWoy1MFwLK9tJCMA6IMIsmytMrrnBlpJaCG9VmIIyCENS0EEJCOsm0bw1ASB14IjO/x642hAA4MDDyw+OrH7uLq5QSexGJdbjPwJfIek6py+wpaSRVAJVKVhAgq4UpHeb+qEgeCWr2MdQdQIZRHKqbPJKQCHF69Yv4fE3hi1JlBq5DL9U7F9GQGJ2B5xYr0mQwkgBODqpK9iYFK4B1jvajI9xNQSQZTCJyFAjITysRABZgIy52K+TNCHt/4Y3cBln2mA/B//Z1BCAcGBp5bDAI4MDDwQOLR993F7g5hvcUoe8Z0j7DerPJmBugoshpPEpwnKhxQCEgLA1n+56xk8SgczGxhKqLA1YkBYqQrQs0AEZCfEpJXJyGTPDPoSEhXCXXH4IlBxwSe5W8QgAXABLCqkGzkLgE8VyF0mUU1VMLIiZ2QUlGCy0JIea6ynTvA699/V5kskK+AshMC+1/+93edm7qBgYGBz4tBAAcGBl40vPlvP4FUxAJdbkPIUBVrFxNQLoF8MEtVlDzOAIoQJhBASxLLd1LyVAl11h0ouaqTWMSituk2JxY7Vv1gKkCdWWojCCcUVADJ1EPuFT+C79NsXpDYv/Y6Z1ungo7JVck6s5O6utO/fRtiWYs9rMdMQhbLhSxULhmPvu8uAOD3v38QwYGBgT8aBgEcGBh43vHGH30Cx5dV7P9HAk+M9SZj/z8Syk3GkoWQlUvJzJ0+K2Sqzow6ATzByVq5USXWbyXUCwYtBCRJ4MCBkIqSObWC6xRi8dQyJpbMXk7AeqsAAKbPZqyPFCGJR0K9s4I/MwGJUW8IcYOFS9Pm4DKDIYqgk0PS/U0yRtb4QE4MVuJHK6HeKqCrBFoJ5WUr6OmpbV7JZbldke5JsKHHGjIJgaxCZF//+F3kI7BeAv/39w4yODAw8PkxCODAwMBzjjf90BOoO5bkigLwHshXkoVrFudym70cy5qFLKVF1C5Wq7ROQtbqhRA/QEnUjQpaggXLAHbAelmR7qvKliEEkWUdVImpq1neQ1JVMAmxBAM8qdy3JNRdFWWvEJiaVWsEjKGv7SqwKvnLIh2ykjckyRImFhIYVUpOEBt5YlQm0L0sZFLH5GNcCHVfZV0FMQmxzJKlXPcAZyHDj/7EXVBVm7gAuz8k/KcfHzGEAwMDPQYBHBgYeE7xxh+7698sadGM3CSZtlVLprA6pmkxUqekbxVli5MSxykQvAoQQhJFCgUMSOPsCKiX1V9OnFqCiCqAFjNYJ7RS+Kw/hQCzlldqpCsLgZTlSP43re6QVYWsugz5mKRwIJQsyn6pyHbJjqmILElViSZ0XCTJJ2YTm83MxPKzZ6RDEhKrZBMMrDdY5l2zkdcbjDf90BMyJAZ+74cHGRwYGBgEcGBg4IvAm37kCTABh1etkh2bGeWVFbtPZ9QdsN4u2H86gydgfeUR+X/MYr/eLKBPz5JQsWOkewl8WUUJ06QLAMCif9fNjisBcxXCBgghK9QpdKLoCSkqkxAiuJLHorZdFPn/kEA3V/AhA5WQ7iyo9ybZ5k73Qwysuj8G0s0F9em5pRp3xE/HQdCslFb
" </div>\n",
" "
],
"text/plain": [
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.imshow(np.log10(np.sum(delta_bckg, axis=0)))\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1d8ad8fe",
"metadata": {},
"outputs": [],
"source": [
"f = h5py.File(\"../data/particles_7444.h5\", \"r\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "020ac8e4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 4.42346358e-01, 7.09757663e-03, 4.64053304e-01, -1.96926287e-03,\n",
" -2.67177823e-03, -6.45721859e-04, 1.16415322e-10])"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f[\"particles\"][0, :]"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1eb74f46",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv_csiborg",
"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.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}