{ "cells": [ { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1797, 64)\n", "10\n" ] } ], "source": [ "import numpy as np\n", "from sklearn import datasets\n", "digits = datasets.load_digits()\n", "print(digits.data.shape)\n", "print(len(np.unique(digits.target)))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0. 0. 5. 13. 9. 1. 0. 0. 0. 0. 13. 15. 10. 15. 5. 0. 0. 3.\n", " 15. 2. 0. 11. 8. 0. 0. 4. 12. 0. 0. 8. 8. 0. 0. 5. 8. 0.\n", " 0. 9. 8. 0. 0. 4. 11. 0. 1. 12. 7. 0. 0. 2. 14. 5. 10. 12.\n", " 0. 0. 0. 0. 6. 13. 10. 0. 0. 0.]\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "0\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "1\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "2\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAGkCAYAAAAIduO+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAGPBJREFUeJzt3X9s1IX9x/HX0a4H0/YsSKEdpfwQRcB2QIGw6kSpmAaJ7g9GCGYVnFNSJtiYaP8ZmGVc98cMbiOlMFZMHIOxrOhMoGuZlCyzoy1pApogCJMiQudS7kqzHKb3+f61flehpZ+j7374XJ+P5JN5x+f4vGIcT+5H24DjOI4AADAyyusBAIDkRmgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmkiY027dv15QpUzR69GgtWrRIx48f93rSLR07dkwrVqxQTk6OAoGADh486PWkQQmHw1qwYIHS09OVlZWlZ555RqdPn/Z61qBUVVUpPz9fGRkZysjI0OLFi3Xo0CGvZ7lWWVmpQCCgTZs2eT3llrZs2aJAINDnmDlzptezBuXzzz/Xs88+q3HjxmnMmDF66KGH1NLS4vWsW5oyZcoN/84DgYDKyso82ZMUodm/f7/Ky8u1efNmnThxQgUFBXryySfV0dHh9bQBdXd3q6CgQNu3b/d6iiuNjY0qKytTU1OT6uvr9dVXX2nZsmXq7u72etotTZo0SZWVlWptbVVLS4sef/xxPf300/roo4+8njZozc3Nqq6uVn5+vtdTBm327Nn64osveo+//e1vXk+6pc7OThUVFekb3/iGDh06pI8//li/+MUvlJmZ6fW0W2pubu7z77u+vl6StHLlSm8GOUlg4cKFTllZWe/tnp4eJycnxwmHwx6uckeSU1tb6/WMhHR0dDiSnMbGRq+nJCQzM9P5zW9+4/WMQenq6nJmzJjh1NfXO48++qizceNGryfd0ubNm52CggKvZ7j22muvOQ8//LDXM4bExo0bnenTpzvxeNyT6/v+Gc3169fV2tqq4uLi3vtGjRql4uJiffjhhx4uGzkikYgkaezYsR4vcaenp0f79u1Td3e3Fi9e7PWcQSkrK9Py5cv7/PfuB2fOnFFOTo6mTZumNWvW6MKFC15PuqX33ntPhYWFWrlypbKysjR37lzt2rXL61muXb9+Xe+8847WrVunQCDgyQbfh+bLL79UT0+PJkyY0Of+CRMm6PLlyx6tGjni8bg2bdqkoqIizZkzx+s5g3Ly5EndfffdCgaDeumll1RbW6tZs2Z5PeuW9u3bpxMnTigcDns9xZVFixZpz549Onz4sKqqqnT+/Hk98sgj6urq8nragM6dO6eqqirNmDFDdXV1Wr9+vV5++WW9/fbbXk9z5eDBg7p69aqee+45zzakenZlJIWysjKdOnXKF6+5/9cDDzygtrY2RSIR/fGPf1RpaakaGxvv6Ni0t7dr48aNqq+v1+jRo72e40pJSUnvP+fn52vRokXKy8vTH/7wBz3//PMeLhtYPB5XYWGhtm7dKkmaO3euTp06pR07dqi0tNTjdYO3e/dulZSUKCcnx7MNvn9Gc++99yolJUVXrlzpc/+VK1c0ceJEj1aNDBs2bND777+vDz74QJMmTfJ6zqClpaXpvvvu0/z58xUOh1VQUKC33nrL61kDam1tVUdHh+bNm6fU1FSlpqaqsbFRv/zlL5Wamqqenh6vJw7aPffco/vvv19nz571esqAsrOzb/jLx4MPPuiLl/3+67PPPlNDQ4N++MMferrD96FJS0vT/PnzdeTIkd774vG4jhw54pvX3f3GcRxt2LBBtbW1+utf/6qpU6d6Pem2xONxxWIxr2cMaOnSpTp58qTa2tp6j8LCQq1Zs0ZtbW1KSUnxeuKgXbt2TZ9++qmys7O9njKgoqKiGz62/8knnygvL8+jRe7V1NQoKytLy5cv93RHUrx0Vl5ertLSUhUWFmrhwoXatm2buru7tXbtWq+nDejatWt9/lZ3/vx5tbW1aezYsZo8ebKHywZWVlamvXv36t1331V6enrve2GhUEhjxozxeN3AKioqVFJSosmTJ6urq0t79+7V0aNHVVdX5/W0AaWnp9/wHthdd92lcePG3fHvjb366qtasWKF8vLydOnSJW3evFkpKSlavXq119MG9Morr+g73/mOtm7dqu9///s6fvy4du7cqZ07d3o9bVDi8bhqampUWlqq1FSP/6j35LNuBn71q185kydPdtLS0pyFCxc6TU1NXk+6pQ8++MCRdMNRWlrq9bQB3WyzJKempsbrabe0bt06Jy8vz0lLS3PGjx/vLF261PnLX/7i9ayE+OXjzatWrXKys7OdtLQ051vf+pazatUq5+zZs17PGpQ///nPzpw5c5xgMOjMnDnT2blzp9eTBq2urs6R5Jw+fdrrKU7AcRzHm8QBAEYC379HAwC4sxEaAIApQgMAMEVoAACmCA0AwBShAQCYSqrQxGIxbdmy5Y7/Ku+v8+tuyb/b/bpb8u92v+6W/Lv9TtmdVF9HE41GFQqFFIlElJGR4fWcQfPrbsm/2/26W/Lvdr/ulvy7/U7ZnVTPaAAAdx5CAwAwNezfaS0ej+vSpUtKT08f8p/2Fo1G+/yvX/h1t+Tf7X7dLfl3u193S/7dbr3bcRx1dXUpJydHo0b1/7xl2N+juXjxonJzc4fzkgAAQ+3t7QP+TKphf0aTnp4+3JeEpE2bNnk9ISFvvPGG1xMSdv78ea8nJGTJkiVeT0jY1atXvZ4wIt3qz/VhD81Qv1yGwQkGg15PSIifPuHzdX79SxX/H4Vbt/pvhg8DAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgKqHQbN++XVOmTNHo0aO1aNEiHT9+fKh3AQCShOvQ7N+/X+Xl5dq8ebNOnDihgoICPfnkk+ro6LDYBwDwOdehefPNN/XCCy9o7dq1mjVrlnbs2KFvfvOb+u1vf2uxDwDgc65Cc/36dbW2tqq4uPj/f4NRo1RcXKwPP/zwpo+JxWKKRqN9DgDAyOEqNF9++aV6eno0YcKEPvdPmDBBly9fvuljwuGwQqFQ75Gbm5v4WgCA75h/6qyiokKRSKT3aG9vt74kAOAOkurm5HvvvVcpKSm6cuVKn/uvXLmiiRMn3vQxwWBQwWAw8YUAAF9z9YwmLS1N8+fP15EjR3rvi8fjOnLkiBYvXjzk4wAA/ufqGY0klZeXq7S0VIWFhVq4cKG2bdum7u5urV271mIfAMDnXIdm1apV+te//qWf/OQnunz5sr797W/r8OHDN3xAAAAAKYHQSNKGDRu0YcOGod4CAEhCfK8zAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMJfSDz0aqyspKryckbOXKlV5PSMiLL77o9YSEVVdXez0hIfPnz/d6QsIaGhq8noCb4BkNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOuQ3Ps2DGtWLFCOTk5CgQCOnjwoMEsAECycB2a7u5uFRQUaPv27RZ7AABJJtXtA0pKSlRSUmKxBQCQhFyHxq1YLKZYLNZ7OxqNWl8SAHAHMf8wQDgcVigU6j1yc3OtLwkAuIOYh6aiokKRSKT3aG9vt74kAOAOYv7SWTAYVDAYtL4MAOAOxdfRAABMuX5Gc+3aNZ09e7b39vnz59XW1qaxY8dq8uTJQzoOAOB/rkPT0tKixx57rPd2eXm5JKm0tFR79uwZsmEAgOTgOjRLliyR4zgWWwAASYj3aAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMBVwhvmnmEWjUYVCoeG85JCZNm2a1xMS1tnZ6fWEhLS0tHg9YcSZPn261xPgM5FIRBkZGf3+Os9oAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAlKvQhMNhLViwQOnp6crKytIzzzyj06dPW20DACQBV6FpbGxUWVmZmpqaVF9fr6+++krLli1Td3e31T4AgM+lujn58OHDfW7v2bNHWVlZam1t1Xe/+90hHQYASA6uQvN1kUhEkjR27Nh+z4nFYorFYr23o9Ho7VwSAOAzCX8YIB6Pa9OmTSoqKtKcOXP6PS8cDisUCvUeubm5iV4SAOBDCYemrKxMp06d0r59+wY8r6KiQpFIpPdob29P9JIAAB9K6KWzDRs26P3339exY8c0adKkAc8NBoMKBoMJjQMA+J+r0DiOox//+Meqra3V0aNHNXXqVKtdAIAk4So0ZWVl2rt3r959912lp6fr8uXLkqRQKKQxY8aYDAQA+Jur92iqqqoUiUS0ZMkSZWdn9x779++32gcA8DnXL50BAOAG3+sMAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABTrn7w2Uh37tw5ryckbNq0aV5PSIhfd0tSQ0OD1xMSkpmZ6fWEhHV2dno9ATfBMxoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAAplyFpqqqSvn5+crIyFBGRoYWL16sQ4cOWW0DACQBV6GZNGmSKisr1draqpaWFj3++ON6+umn9dFHH1ntAwD4XKqbk1esWNHn9s9+9jNVVVWpqalJs2fPHtJhAIDk4Co0/6unp0cHDhxQd3e3Fi9e3O95sVhMsVis93Y0Gk30kgAAH3L9YYCTJ0/q7rvvVjAY1EsvvaTa2lrNmjWr3/PD4bBCoVDvkZube1uDAQD+4jo0DzzwgNra2vSPf/xD69evV2lpqT7++ON+z6+oqFAkEuk92tvbb2swAMBfXL90lpaWpvvuu0+SNH/+fDU3N+utt95SdXX1Tc8PBoMKBoO3txIA4Fu3/XU08Xi8z3swAAD8L1fPaCoqKlRSUqLJkyerq6tLe/fu1dGjR1VXV2e1DwDgc65C09HRoR/84Af64osvFAqFlJ+fr7q6Oj3xxBNW+wAAPucqNLt377baAQBIUnyvMwCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATAUcx3GG84LRaFShUGg4Lwkfy8zM9HpCwurr672eMOL49af9dnZ2ej3htkQiEWVkZPT76zyjAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU7cVmsrKSgUCAW3atGmI5gAAkk3CoWlublZ1dbXy8/OHcg8AIMkkFJpr165pzZo12rVrlzIzM4d6EwAgiSQUmrKyMi1fvlzFxcW3PDcWiykajfY5AAAjR6rbB+zbt08nTpxQc3PzoM4Ph8N64403XA8DACQHV89o2tvbtXHjRv3ud7/T6NGjB/WYiooKRSKR3qO9vT2hoQAAf3L1jKa1tVUdHR2aN29e7309PT06duyYfv3rXysWiyklJaXPY4LBoILB4NCsBQD4jqvQLF26VCdPnuxz39q1azVz5ky99tprN0QGAABXoUlPT9ecOXP63HfXXXdp3LhxN9wPAIDEdwYAABhz/amzrzt69OgQzAAAJCue0QAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYCrgOI4znBeMRqMKhULDeUnAE5mZmV5PSEh1dbXXExJ27tw5ryck5PXXX/d6wm2JRCLKyMjo99d5RgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAlKvQbNmyRYFAoM8xc+ZMq20AgCSQ6vYBs2fPVkNDw///BqmufwsAwAjiuhKpqamaOHGixRYAQBJy/R7NmTNnlJOTo2nTpmnNmjW6cOHCgOfHYjFFo9E+BwBg5HAVmkWLFmnPnj06fPiwqqqqdP78eT3yyCPq6urq9zHhcFihUKj3yM3Nve3RAAD/CDiO4yT64KtXryovL09vvvmmnn/++ZueE4vFFIvFem9Ho1FigxEhMzPT6wkJqa6u9npCws6dO+f1hIS8/vrrXk+4LZFIRBkZGf3++m29k3/PPffo/vvv19mzZ/s9JxgMKhgM3s5lAAA+dltfR3Pt2jV9+umnys7OHqo9AIAk4yo0r776qhobG/XPf/5Tf//73/W9731PKSkpWr16tdU+AIDPuXrp7OLFi1q9erX+/e9/a/z48Xr44YfV1NSk8ePHW+0DAPicq9Ds27fPagcAIEnxvc4AAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADDl6gefwb8qKyu9npCQhoYGryckLDMz0+sJCSkuLvZ6QsIOHDjg9QTcBM9oAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAlOvQfP7553r22Wc1btw4jRkzRg899JBaWlostgEAkkCqm5M7OztVVFSkxx57TIcOHdL48eN15swZ3/5sdACAPVeh+fnPf67c3FzV1NT03jd16tQhHwUASB6uXjp77733VFhYqJUrVyorK0tz587Vrl27BnxMLBZTNBrtcwAARg5XoTl37pyqqqo0Y8YM1dXVaf369Xr55Zf19ttv9/uYcDisUCjUe+Tm5t72aACAf7gKTTwe17x587R161bNnTtXP/rRj/TCCy9ox44d/T6moqJCkUik92hvb7/t0QAA/3AVmuzsbM2aNavPfQ8++KAuXLjQ72OCwaAyMjL6HACAkcNVaIqKinT69Ok+933yySfKy8sb0lEAgOThKjSvvPKKmpqatHXrVp09e1Z79+7Vzp07VVZWZrUPAOBzrkKzYMEC1dbW6ve//73mzJmjn/70p9q2bZvWrFljtQ8A4HOuvo5Gkp566ik99dRTFlsAAEmI73UGADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIAp1z/4DP7U2dnp9YSEVFdXez1hxDlw4IDXExL24osvej0BN8EzGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmXIVmypQpCgQCNxxlZWVW+wAAPpfq5uTm5mb19PT03j516pSeeOIJrVy5csiHAQCSg6vQjB8/vs/tyspKTZ8+XY8++uiQjgIAJA9Xoflf169f1zvvvKPy8nIFAoF+z4vFYorFYr23o9FoopcEAPhQwh8GOHjwoK5evarnnntuwPPC4bBCoVDvkZubm+glAQA+lHBodu/erZKSEuXk5Ax4XkVFhSKRSO/R3t6e6CUBAD6U0Etnn332mRoaGvSnP/3plucGg0EFg8FELgMASAIJPaOpqalRVlaWli9fPtR7AABJxnVo4vG4ampqVFpaqtTUhD9LAAAYIVyHpqGhQRcuXNC6dess9gAAkozrpyTLli2T4zgWWwAASYjvdQYAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMDfuPyORn2XgjFot5PSEhXV1dXk8Ycf7zn/94PQE+c6s/1wPOMP/Jf/HiReXm5g7nJQEAhtrb2zVp0qR+f33YQxOPx3Xp0iWlp6crEAgM6e8djUaVm5ur9vZ2ZWRkDOnvbcmvuyX/bvfrbsm/2/26W/LvduvdjuOoq6tLOTk5GjWq/3dihv2ls1GjRg1YvqGQkZHhq/8Y/suvuyX/bvfrbsm/2/26W/LvdsvdoVDolufwYQAAgClCAwAwlVShCQaD2rx5s4LBoNdTXPHrbsm/2/26W/Lvdr/ulvy7/U7ZPewfBgAAjCxJ9YwGAHDnITQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMDU/wHAe2HewvE94gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAGkCAYAAAAIduO+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAGNdJREFUeJzt3X9s1IX9x/HX0a4Hanv8kEI7SouKImALUiCsOlEQ0yCR/cEIw6wFt0RyDLAxMf1nsCzj2B9zuI1UYKwlcQy2Za3OBDpgtmSRjlLSBTRBUJQqQudi70r/OFzv8/1r910HtP0cffPhc30+kk/0zs9xrxjk6efu2gYcx3EEAICREV4PAACkN0IDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwlTah2bFjh4qKijRy5EjNnz9fJ06c8HrSgI4dO6Zly5YpPz9fgUBADQ0NXk8alEgkorlz5yo7O1u5ublavny5zp496/WsQampqVFxcbFycnKUk5OjBQsW6ODBg17Pcm3btm0KBALatGmT11MGtGXLFgUCgT7HtGnTvJ41KJ999pmef/55jRs3TqNGjdIjjzyikydPej1rQEVFRdf9Ow8EAgqHw57sSYvQHDhwQFVVVdq8ebNOnTqlkpISPfPMM+rs7PR6Wr96enpUUlKiHTt2eD3FlebmZoXDYbW0tOjw4cP66quvtGTJEvX09Hg9bUCTJk3Stm3b1NbWppMnT+qpp57Sc889p/fee8/raYPW2tqqnTt3qri42OspgzZjxgx9/vnnyeNvf/ub15MG9OWXX6qsrExf+9rXdPDgQb3//vv62c9+pjFjxng9bUCtra19/n0fPnxYkrRixQpvBjlpYN68eU44HE7e7u3tdfLz851IJOLhKnckOfX19V7PSElnZ6cjyWlubvZ6SkrGjBnj/PrXv/Z6xqB0d3c7U6dOdQ4fPuw88cQTzsaNG72eNKDNmzc7JSUlXs9w7ZVXXnEee+wxr2cMiY0bNzr333+/k0gkPHl+31/RXLt2TW1tbVq8eHHyvhEjRmjx4sU6fvy4h8uGj2g0KkkaO3asx0vc6e3t1f79+9XT06MFCxZ4PWdQwuGwli5d2uf3ux+cO3dO+fn5uu+++7R69WpdvHjR60kDeuutt1RaWqoVK1YoNzdXs2fP1u7du72e5dq1a9f0xhtvaO3atQoEAp5s8H1ovvjiC/X29mrChAl97p8wYYIuX77s0arhI5FIaNOmTSorK9PMmTO9njMop0+f1j333KNgMKgXX3xR9fX1mj59utezBrR//36dOnVKkUjE6ymuzJ8/X3V1dTp06JBqamp04cIFPf744+ru7vZ6Wr8++ugj1dTUaOrUqWpsbNS6deu0YcMG7d271+tprjQ0NKirq0uVlZWebcj07JmRFsLhsM6cOeOL19z/46GHHlJ7e7ui0aj++Mc/qqKiQs3NzXd0bDo6OrRx40YdPnxYI0eO9HqOK+Xl5cm/Ly4u1vz581VYWKjf//73euGFFzxc1r9EIqHS0lJt3bpVkjR79mydOXNGr7/+uioqKjxeN3h79uxReXm58vPzPdvg+yuae++9VxkZGbpy5Uqf+69cuaKJEyd6tGp4WL9+vd5++2298847mjRpktdzBi0rK0sPPPCA5syZo0gkopKSEr322mtez+pXW1ubOjs79eijjyozM1OZmZlqbm7WL37xC2VmZqq3t9friYM2evRoPfjggzp//rzXU/qVl5d33f98PPzww7542e8/PvnkEx05ckTf+973PN3h+9BkZWVpzpw5Onr0aPK+RCKho0eP+uZ1d79xHEfr169XfX29/vrXv2rKlCleT7oliURC8Xjc6xn9WrRokU6fPq329vbkUVpaqtWrV6u9vV0ZGRleTxy0q1ev6sMPP1ReXp7XU/pVVlZ23cf2P/jgAxUWFnq0yL3a2lrl5uZq6dKlnu5Ii5fOqqqqVFFRodLSUs2bN0/bt29XT0+P1qxZ4/W0fl29erXP/9VduHBB7e3tGjt2rCZPnuzhsv6Fw2Ht27dPb775prKzs5PvhYVCIY0aNcrjdf2rrq5WeXm5Jk+erO7ubu3bt09NTU1qbGz0elq/srOzr3sP7O6779a4cePu+PfGXn75ZS1btkyFhYW6dOmSNm/erIyMDK1atcrraf166aWX9I1vfENbt27Vt7/9bZ04cUK7du3Srl27vJ42KIlEQrW1taqoqFBmpsd/1HvyWTcDv/zlL53Jkyc7WVlZzrx585yWlhavJw3onXfecSRdd1RUVHg9rV832izJqa2t9XragNauXesUFhY6WVlZzvjx451FixY5f/nLX7yelRK/fLx55cqVTl5enpOVleV8/etfd1auXOmcP3/e61mD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CA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgKlb/sFnw0lXV5fXE1IWjUa9npCSiooKryekbNasWV5PGHYaGhq8noAb4IoGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClXodmyZYsCgUCfY9q0aVbbAABpINPtA2bMmKEjR478/y+Q6fqXAAAMI64rkZmZqYkTJ1psAQCkIdfv0Zw7d075+fm67777tHr1al28eLHf8+PxuGKxWJ8DADB8uArN/PnzVVdXp0OHDqmmpkYXLlzQ448/ru7u7ps+JhKJKBQKJY+CgoJbHg0A8I+A4zhOqg/u6upSYWGhXn31Vb3wwgs3PCcejysejydvx2Ix38Zm4cKFXk9IWUNDg9cTUhIKhbyekLJ//OMfXk9ISUlJidcTUjZmzBivJ6Skq6vL6wm3JBqNKicn56b//JbeyR89erQefPBBnT9//qbnBINBBYPBW3kaAICP3dLX0Vy9elUffvih8vLyhmoPACDNuArNyy+/rObmZn388cd699139a1vfUsZGRlatWqV1T4AgM+5euns008/1apVq/Svf/1L48eP12OPPaaWlhaNHz/eah8AwOdchWb//v1WOwAAaYrvdQYAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClXP/hsuGtqavJ6QspGjx7t9YSUzJo1y+sJKfPr75e9e/d6PSFlXV1dXk/ADXBFAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAAplyH5rPPPtPzzz+vcePGadSoUXrkkUd08uRJi20AgDSQ6ebkL7/8UmVlZXryySd18OBBjR8/XufOndOYMWOs9gEAfM5VaH7605+qoKBAtbW1yfumTJky5KMAAOnD1Utnb731lkpLS7VixQrl5uZq9uzZ2r17d7+PicfjisVifQ4AwPDhKjQfffSRampqNHXqVDU2NmrdunXasGGD9u7de9PHRCIRhUKh5FFQUHDLowEA/hFwHMcZ7MlZWVkqLS3Vu+++m7xvw4YNam1t1fHjx2/4mHg8rng8nrwdi8WIDQZt1qxZXk9IWVNTk9cTUtLQ0OD1hJRVVlZ6PWFYikajysnJuek/d3VFk5eXp+nTp/e57+GHH9bFixdv+phgMKicnJw+BwBg+HAVmrKyMp09e7bPfR988IEKCwuHdBQAIH24Cs1LL72klpYWbd26VefPn9e+ffu0a9cuhcNhq30AAJ9zFZq5c+eqvr5ev/vd7zRz5kz9+Mc/1vbt27V69WqrfQAAn3P1dTSS9Oyzz+rZZ5+12AIASEN8rzMAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGCK0AAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEy5/sFnwO3U1dXl9YSUhUIhryekpK6uzusJSDNc0QAATBEaAIApQgMAMEVoAACmCA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAw5So0RUVFCgQC1x3hcNhqHwDA5zLdnNza2qre3t7k7TNnzujpp5/WihUrhnwYACA9uArN+PHj+9zetm2b7r//fj3xxBNDOgoAkD5chea/Xbt2TW+88YaqqqoUCARuel48Hlc8Hk/ejsViqT4lAMCHUv4wQENDg7q6ulRZWdnveZFIRKFQKHkUFBSk+pQAAB9KOTR79uxReXm58vPz+z2vurpa0Wg0eXR0dKT6lAAAH0rppbNPPvlER44c0Z/+9KcBzw0GgwoGg6k8DQAgDaR0RVNbW6vc3FwtXbp0qPcAANKM69AkEgnV1taqoqJCmZkpf5YAADBMuA7NkSNHdPHiRa1du9ZiDwAgzbi+JFmyZIkcx7HYAgBIQ3yvMwCAKUIDADBFaAAApggNAMAUoQEAmCI0AABThAYAYIrQAABMERoAgClCAwAwRWgAAKYIDQDAFKEBAJgiNAAAU4QGAGDqtv+ITH6WDdxIJBJeT0hZLBbzekJK/v3vf3s9AT4z0J/rtz003d3dt/sp4WMXL170ekLKQqGQ1xOA26K7u7vf3+8B5zZfYiQSCV26dEnZ2dkKBAJD+mvHYjEVFBSoo6NDOTk5Q/prW/Lrbsm/2/26W/Lvdr/ulvy73Xq34zjq7u5Wfn6+Roy4+Tsxt/2KZsSIEZo0aZLpc+Tk5PjqN8N/+HW35N/tft0t+Xe7X3dL/t1uuXswV+58GAAAYIrQAABMpVVogsGgNm/erGAw6PUUV/y6W/Lvdr/ulvy73a+7Jf9uv1N23/YPAwAAhpe0uqIBANx5CA0AwBShAQCYIjQAAFOEBgBgitAAAEwRGgCAKUIDADD1f9w0SIch2BeyAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "4\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "5\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "6\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "7\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "9\n" ] } ], "source": [ "import matplotlib.pyplot as plt \n", "\n", "print(digits.data[0])\n", "\n", "for i in range(0,10):\n", " plt.gray() \n", " plt.matshow(digits.images[i]) \n", " plt.show() \n", "\n", " print(digits.target[i])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from sklearn.cluster import KMeans\n", "from sklearn import metrics" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
KMeans(init='random', n_clusters=10, n_init=1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "KMeans(init='random', n_clusters=10, n_init=1)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kmeans = KMeans(n_clusters=10, init='random', n_init=1)\n", "kmeans.fit(digits.data)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.10907067334446299\n", "0.745350822261002\n", "0.76318258796145\n", "0.6611470614010143\n", "0.17430724039300127\n" ] } ], "source": [ "print(metrics.accuracy_score(digits.target, kmeans.labels_))\n", "print(metrics.homogeneity_score(digits.target, kmeans.labels_))\n", "print(metrics.completeness_score(digits.target, kmeans.labels_))\n", "print(metrics.adjusted_rand_score(digits.target, kmeans.labels_))\n", "print(metrics.silhouette_score(digits.data, kmeans.labels_))" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
KMeans(n_clusters=10)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "KMeans(n_clusters=10)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kmeans2 = KMeans(n_clusters=10)\n", "kmeans2.fit(digits.data)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.012799109627156371\n", "0.7055173362142219\n", "0.715457995208012\n", "0.6301885151444379\n", "0.16699457553360253\n" ] } ], "source": [ "print(metrics.accuracy_score(digits.target, kmeans2.labels_))\n", "print(metrics.homogeneity_score(digits.target, kmeans2.labels_))\n", "print(metrics.completeness_score(digits.target, kmeans2.labels_))\n", "print(metrics.adjusted_rand_score(digits.target, kmeans2.labels_))\n", "print(metrics.silhouette_score(digits.data, kmeans2.labels_))" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[(np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(9)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(3)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(3)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(3)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(9)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(3)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(3)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(5)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(3)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(4)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(0)), (np.int64(1), np.int32(6)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(0)), (np.int64(3), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(4)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(0)), (np.int64(1), np.int32(6)), (np.int64(3), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(4)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(4), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(1)), (np.int64(5), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(8)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(3)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(2)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(3)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(0)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(4)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(4)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(4)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(3)), (np.int64(9), np.int32(8)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(7)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(8)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(7)), (np.int64(8), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(9)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(9)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(4)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(6)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(4)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(2), np.int32(4)), (np.int64(5), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(5), np.int32(0)), (np.int64(1), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(8)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(0)), (np.int64(8), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(5)), (np.int64(7), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(9)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(9)), (np.int64(8), np.int32(3)), (np.int64(9), np.int32(9)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(4)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(5)), (np.int64(3), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(3)), (np.int64(3), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(2), np.int32(4)), (np.int64(8), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(7)), (np.int64(4), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(3)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(9)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(4)), (np.int64(5), np.int32(9)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(8)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(9)), (np.int64(8), np.int32(3)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(8)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(3), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(5), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(9)), (np.int64(5), np.int32(9)), (np.int64(6), np.int32(6)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(7), np.int32(3)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(5)), (np.int64(3), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(3), np.int32(0)), (np.int64(3), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(6), np.int32(6)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(5), np.int32(9)), (np.int64(0), np.int32(2)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(0), np.int32(2)), (np.int64(0), np.int32(2)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(2), np.int32(7)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(4), np.int32(1)), (np.int64(6), np.int32(6)), (np.int64(3), np.int32(8)), (np.int64(1), np.int32(5)), (np.int64(3), np.int32(8)), (np.int64(9), np.int32(0)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(6), np.int32(6)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(3), np.int32(9)), (np.int64(1), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(0), np.int32(2)), (np.int64(5), np.int32(0)), (np.int64(3), np.int32(8)), (np.int64(6), np.int32(6)), (np.int64(9), np.int32(0)), (np.int64(6), np.int32(6)), (np.int64(1), np.int32(5)), (np.int64(7), np.int32(3)), (np.int64(5), np.int32(9)), (np.int64(4), np.int32(1)), (np.int64(4), np.int32(1)), (np.int64(7), np.int32(3)), (np.int64(2), np.int32(7)), (np.int64(8), np.int32(5)), (np.int64(2), np.int32(7)), (np.int64(2), np.int32(7)), (np.int64(5), np.int32(0)), (np.int64(7), np.int32(3)), (np.int64(9), np.int32(0)), (np.int64(5), np.int32(0)), (np.int64(4), np.int32(1)), (np.int64(8), np.int32(5)), (np.int64(8), np.int32(5)), (np.int64(4), np.int32(1)), (np.int64(9), np.int32(0)), (np.int64(0), np.int32(2)), (np.int64(8), np.int32(5)), (np.int64(9), np.int32(0)), (np.int64(8), np.int32(0))]\n" ] } ], "source": [ "print(list(zip(digits.target,kmeans.labels_)))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.12" } }, "nbformat": 4, "nbformat_minor": 4 }