day 4, jupyter notebook
This commit is contained in:
		
							
								
								
									
										228
									
								
								d04/.ipynb_checkpoints/d04-checkpoint.ipynb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								d04/.ipynb_checkpoints/d04-checkpoint.ipynb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
{
 | 
			
		||||
 "cells": [
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "e4d43863",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# setup"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 12,
 | 
			
		||||
   "id": "f81b055e",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "sample = \"\"\"7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "22 13 17 11  0\n",
 | 
			
		||||
    " 8  2 23  4 24\n",
 | 
			
		||||
    "21  9 14 16  7\n",
 | 
			
		||||
    " 6 10  3 18  5\n",
 | 
			
		||||
    " 1 12 20 15 19\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    " 3 15  0  2 22\n",
 | 
			
		||||
    " 9 18 13 17  5\n",
 | 
			
		||||
    "19  8  7 25 23\n",
 | 
			
		||||
    "20 11 10 24  4\n",
 | 
			
		||||
    "14 21 16 12  6\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "14 21 17 24  4\n",
 | 
			
		||||
    "10 16 15  9 19\n",
 | 
			
		||||
    "18  8 23 26 20\n",
 | 
			
		||||
    "22 11 13  6  5\n",
 | 
			
		||||
    " 2  0 12  3  7\"\"\""
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 13,
 | 
			
		||||
   "id": "61075998",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "input = open(\"input\",\"rt\").read()"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 14,
 | 
			
		||||
   "id": "e8a71b8a",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "splinput = input.split(\"\\n\\n\")"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 15,
 | 
			
		||||
   "id": "fd29a42b",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "numbers = list(map(int, splinput[0].split(',')))"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 16,
 | 
			
		||||
   "id": "1a0fb4f1",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "grids = []\n",
 | 
			
		||||
    "ingrids = [l.splitlines() for l in splinput[1:]]\n",
 | 
			
		||||
    "for grid in ingrids:\n",
 | 
			
		||||
    "    rows = []\n",
 | 
			
		||||
    "    for row in grid:\n",
 | 
			
		||||
    "        rows.append(list(map(lambda x: (int(x), False),row.strip().replace('  ',' ').split(' '))))\n",
 | 
			
		||||
    "    grids.append(rows)"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "2891f090",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# commons"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 17,
 | 
			
		||||
   "id": "a460886c",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "def mark(ingrids, number):\n",
 | 
			
		||||
    "    grids = []\n",
 | 
			
		||||
    "    for grid in ingrids:\n",
 | 
			
		||||
    "        rows = []\n",
 | 
			
		||||
    "        for row in grid:\n",
 | 
			
		||||
    "            rows.append(list(map(lambda x: (x[0], x[1] or x[0]==number), row)))\n",
 | 
			
		||||
    "        grids.append(rows)\n",
 | 
			
		||||
    "    return grids\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "def atleast1_row_completed(grid):\n",
 | 
			
		||||
    "    for row in grid:\n",
 | 
			
		||||
    "        if all(map(lambda x: x[1], row)):\n",
 | 
			
		||||
    "            return True\n",
 | 
			
		||||
    "    return False\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "def wining_grid(grid):\n",
 | 
			
		||||
    "    return atleast1_row_completed(grid) or atleast1_row_completed(list(map(list,zip(*grid))))\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "from itertools import chain\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "def sum_unmarked(grid):\n",
 | 
			
		||||
    "    return sum(map(lambda x: x[0], filter(lambda x: not x[1], list(chain(*grid)))))"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "504cbf6d",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# part 1"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 18,
 | 
			
		||||
   "id": "e18c276b",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [
 | 
			
		||||
    {
 | 
			
		||||
     "data": {
 | 
			
		||||
      "text/plain": [
 | 
			
		||||
       "74320"
 | 
			
		||||
      ]
 | 
			
		||||
     },
 | 
			
		||||
     "execution_count": 18,
 | 
			
		||||
     "metadata": {},
 | 
			
		||||
     "output_type": "execute_result"
 | 
			
		||||
    }
 | 
			
		||||
   ],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "def run_1(grids, numbers):\n",
 | 
			
		||||
    "    for number in numbers:\n",
 | 
			
		||||
    "        grids = mark(grids, number)\n",
 | 
			
		||||
    "        for grid in grids:\n",
 | 
			
		||||
    "            if wining_grid(grid):\n",
 | 
			
		||||
    "                return number *sum_unmarked(grid)               \n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "run_1(grids, numbers)"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "48f45375",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# part 2"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 19,
 | 
			
		||||
   "id": "61f6c035",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [
 | 
			
		||||
    {
 | 
			
		||||
     "data": {
 | 
			
		||||
      "text/plain": [
 | 
			
		||||
       "17884"
 | 
			
		||||
      ]
 | 
			
		||||
     },
 | 
			
		||||
     "execution_count": 19,
 | 
			
		||||
     "metadata": {},
 | 
			
		||||
     "output_type": "execute_result"
 | 
			
		||||
    }
 | 
			
		||||
   ],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "def run_2(grids, numbers):\n",
 | 
			
		||||
    "    for (i, number) in enumerate(numbers):\n",
 | 
			
		||||
    "        grids = mark(grids, number)\n",
 | 
			
		||||
    "        # stop if all grid are winning except one\n",
 | 
			
		||||
    "        loosing_grids = list(filter(lambda g: not wining_grid(g), grids))\n",
 | 
			
		||||
    "        if len(loosing_grids) == 1:\n",
 | 
			
		||||
    "            lg = loosing_grids[0]\n",
 | 
			
		||||
    "            return run_1([lg], numbers[i+1:])\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "run_2(grids, numbers)"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": null,
 | 
			
		||||
   "id": "128cac38",
 | 
			
		||||
   "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.9.2"
 | 
			
		||||
  }
 | 
			
		||||
 },
 | 
			
		||||
 "nbformat": 4,
 | 
			
		||||
 "nbformat_minor": 5
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										228
									
								
								d04/d04.ipynb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								d04/d04.ipynb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
{
 | 
			
		||||
 "cells": [
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "e4d43863",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# setup"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 21,
 | 
			
		||||
   "id": "f81b055e",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "sample = \"\"\"7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "22 13 17 11  0\n",
 | 
			
		||||
    " 8  2 23  4 24\n",
 | 
			
		||||
    "21  9 14 16  7\n",
 | 
			
		||||
    " 6 10  3 18  5\n",
 | 
			
		||||
    " 1 12 20 15 19\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    " 3 15  0  2 22\n",
 | 
			
		||||
    " 9 18 13 17  5\n",
 | 
			
		||||
    "19  8  7 25 23\n",
 | 
			
		||||
    "20 11 10 24  4\n",
 | 
			
		||||
    "14 21 16 12  6\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "14 21 17 24  4\n",
 | 
			
		||||
    "10 16 15  9 19\n",
 | 
			
		||||
    "18  8 23 26 20\n",
 | 
			
		||||
    "22 11 13  6  5\n",
 | 
			
		||||
    " 2  0 12  3  7\"\"\""
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 22,
 | 
			
		||||
   "id": "9bda4c17",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "input = open(\"input\",\"rt\").read()"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 23,
 | 
			
		||||
   "id": "e8a71b8a",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "splinput = input.split(\"\\n\\n\")"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 24,
 | 
			
		||||
   "id": "fd29a42b",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "numbers = list(map(int, splinput[0].split(',')))"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 25,
 | 
			
		||||
   "id": "1a0fb4f1",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "grids = []\n",
 | 
			
		||||
    "ingrids = [l.splitlines() for l in splinput[1:]]\n",
 | 
			
		||||
    "for grid in ingrids:\n",
 | 
			
		||||
    "    rows = []\n",
 | 
			
		||||
    "    for row in grid:\n",
 | 
			
		||||
    "        rows.append(list(map(lambda x: (int(x), False),row.strip().replace('  ',' ').split(' '))))\n",
 | 
			
		||||
    "    grids.append(rows)"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "2891f090",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# commons"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 26,
 | 
			
		||||
   "id": "a460886c",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "def mark(ingrids, number):\n",
 | 
			
		||||
    "    grids = []\n",
 | 
			
		||||
    "    for grid in ingrids:\n",
 | 
			
		||||
    "        rows = []\n",
 | 
			
		||||
    "        for row in grid:\n",
 | 
			
		||||
    "            rows.append(list(map(lambda x: (x[0], x[1] or x[0]==number), row)))\n",
 | 
			
		||||
    "        grids.append(rows)\n",
 | 
			
		||||
    "    return grids\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "def atleast1_row_completed(grid):\n",
 | 
			
		||||
    "    for row in grid:\n",
 | 
			
		||||
    "        if all(map(lambda x: x[1], row)):\n",
 | 
			
		||||
    "            return True\n",
 | 
			
		||||
    "    return False\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "def wining_grid(grid):\n",
 | 
			
		||||
    "    return atleast1_row_completed(grid) or atleast1_row_completed(list(map(list,zip(*grid))))\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "from itertools import chain\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "def sum_unmarked(grid):\n",
 | 
			
		||||
    "    return sum(map(lambda x: x[0], filter(lambda x: not x[1], list(chain(*grid)))))"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "504cbf6d",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# part 1"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 27,
 | 
			
		||||
   "id": "e18c276b",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [
 | 
			
		||||
    {
 | 
			
		||||
     "data": {
 | 
			
		||||
      "text/plain": [
 | 
			
		||||
       "74320"
 | 
			
		||||
      ]
 | 
			
		||||
     },
 | 
			
		||||
     "execution_count": 27,
 | 
			
		||||
     "metadata": {},
 | 
			
		||||
     "output_type": "execute_result"
 | 
			
		||||
    }
 | 
			
		||||
   ],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "def run_1(grids, numbers):\n",
 | 
			
		||||
    "    for number in numbers:\n",
 | 
			
		||||
    "        grids = mark(grids, number)\n",
 | 
			
		||||
    "        for grid in grids:\n",
 | 
			
		||||
    "            if wining_grid(grid):\n",
 | 
			
		||||
    "                return number *sum_unmarked(grid)               \n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "run_1(grids, numbers)"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "markdown",
 | 
			
		||||
   "id": "48f45375",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "source": [
 | 
			
		||||
    "# part 2"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": 28,
 | 
			
		||||
   "id": "61f6c035",
 | 
			
		||||
   "metadata": {},
 | 
			
		||||
   "outputs": [
 | 
			
		||||
    {
 | 
			
		||||
     "data": {
 | 
			
		||||
      "text/plain": [
 | 
			
		||||
       "17884"
 | 
			
		||||
      ]
 | 
			
		||||
     },
 | 
			
		||||
     "execution_count": 28,
 | 
			
		||||
     "metadata": {},
 | 
			
		||||
     "output_type": "execute_result"
 | 
			
		||||
    }
 | 
			
		||||
   ],
 | 
			
		||||
   "source": [
 | 
			
		||||
    "def run_2(grids, numbers):\n",
 | 
			
		||||
    "    for (i, number) in enumerate(numbers):\n",
 | 
			
		||||
    "        grids = mark(grids, number)\n",
 | 
			
		||||
    "        # stop if all grid are winning except one\n",
 | 
			
		||||
    "        loosing_grids = list(filter(lambda g: not wining_grid(g), grids))\n",
 | 
			
		||||
    "        if len(loosing_grids) == 1:\n",
 | 
			
		||||
    "            lg = loosing_grids[0]\n",
 | 
			
		||||
    "            return run_1([lg], numbers[i+1:])\n",
 | 
			
		||||
    "\n",
 | 
			
		||||
    "run_2(grids, numbers)"
 | 
			
		||||
   ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
   "cell_type": "code",
 | 
			
		||||
   "execution_count": null,
 | 
			
		||||
   "id": "128cac38",
 | 
			
		||||
   "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.9.2"
 | 
			
		||||
  }
 | 
			
		||||
 },
 | 
			
		||||
 "nbformat": 4,
 | 
			
		||||
 "nbformat_minor": 5
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										601
									
								
								d04/input
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										601
									
								
								d04/input
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,601 @@
 | 
			
		||||
46,12,57,37,14,78,31,71,87,52,64,97,10,35,54,36,27,84,80,94,99,22,0,11,30,44,86,59,66,7,90,21,51,53,92,8,76,41,39,77,42,88,29,24,60,17,68,13,79,67,50,82,25,61,20,16,6,3,81,19,85,9,28,56,75,96,2,26,1,62,33,63,32,73,18,48,43,65,98,5,91,69,47,4,38,23,49,34,55,83,93,45,72,95,40,15,58,74,70,89
 | 
			
		||||
 | 
			
		||||
37 72 60 35 89
 | 
			
		||||
32 49  4 77 82
 | 
			
		||||
30 26 27 63 88
 | 
			
		||||
29 43 16 34 58
 | 
			
		||||
48 33 96 79 94
 | 
			
		||||
 | 
			
		||||
41 94 77 43 87
 | 
			
		||||
 2 17 82 96 25
 | 
			
		||||
95 49 32 12  9
 | 
			
		||||
59 33 67 71 64
 | 
			
		||||
88 54 93 85 30
 | 
			
		||||
 | 
			
		||||
78 84 73 64 81
 | 
			
		||||
 6 66 54 21 15
 | 
			
		||||
72 88 69  5 93
 | 
			
		||||
11 96 38 95 44
 | 
			
		||||
13 41 94 55 48
 | 
			
		||||
 | 
			
		||||
 5 14  2 82 33
 | 
			
		||||
56 26  0 84 92
 | 
			
		||||
 8 95 24 54 25
 | 
			
		||||
68 67 15 85 47
 | 
			
		||||
20 91 36 13 88
 | 
			
		||||
 | 
			
		||||
39 26 33 65 32
 | 
			
		||||
78 72 80 51  0
 | 
			
		||||
35 64 60 18 31
 | 
			
		||||
93 59 83 54 74
 | 
			
		||||
86  5  9 98 69
 | 
			
		||||
 | 
			
		||||
 0  8 20 18 70
 | 
			
		||||
 5 29 65 21 57
 | 
			
		||||
68 61 83 63 51
 | 
			
		||||
91 73 77 75 80
 | 
			
		||||
35 62 16 32 10
 | 
			
		||||
 | 
			
		||||
51 78 58 67 93
 | 
			
		||||
50 14 99  5 31
 | 
			
		||||
 6 21 48 30 83
 | 
			
		||||
22 33 23  1 34
 | 
			
		||||
 2 72 57 54 42
 | 
			
		||||
 | 
			
		||||
15 68  4 24 49
 | 
			
		||||
12  9 74 88 51
 | 
			
		||||
91 19 50 76 75
 | 
			
		||||
80 84 23 17 53
 | 
			
		||||
67 42 22 85 36
 | 
			
		||||
 | 
			
		||||
41 78 11 69  9
 | 
			
		||||
90 25 98 65 77
 | 
			
		||||
97 53 37 84 89
 | 
			
		||||
58 63  5 55  1
 | 
			
		||||
24 10 74 20 82
 | 
			
		||||
 | 
			
		||||
42 19 95 89 49
 | 
			
		||||
61 31 50 76  3
 | 
			
		||||
34 47 32 69 86
 | 
			
		||||
78 68 99 11 91
 | 
			
		||||
55 12 73 45 23
 | 
			
		||||
 | 
			
		||||
24 53 95 64 14
 | 
			
		||||
40 29 71 57 97
 | 
			
		||||
62 70 25 22  2
 | 
			
		||||
88 68 33 82 59
 | 
			
		||||
72 38 76 78 43
 | 
			
		||||
 | 
			
		||||
73 36 84 90 40
 | 
			
		||||
16  4 57  9 29
 | 
			
		||||
38 97 46 51 83
 | 
			
		||||
86 88 99 44 32
 | 
			
		||||
54 49 37 43 62
 | 
			
		||||
 | 
			
		||||
18 66 17 49 27
 | 
			
		||||
24 93 91 87 72
 | 
			
		||||
54 37 77 43 10
 | 
			
		||||
88 80 60 15 79
 | 
			
		||||
47 68 12  2 69
 | 
			
		||||
 | 
			
		||||
 9 23 13 57 68
 | 
			
		||||
38 97 63 88 98
 | 
			
		||||
96 62 65 82 58
 | 
			
		||||
61 83 29 47 40
 | 
			
		||||
21 86 20 16 56
 | 
			
		||||
 | 
			
		||||
27 90 37 97 52
 | 
			
		||||
14 96 76 21 79
 | 
			
		||||
 0 43 63 81 56
 | 
			
		||||
42 62 23 55 74
 | 
			
		||||
45 72 77 44 47
 | 
			
		||||
 | 
			
		||||
 8 78 63 24 87
 | 
			
		||||
 9 23 12 17 68
 | 
			
		||||
36 83 45 61 50
 | 
			
		||||
84 77 18 86 37
 | 
			
		||||
31 26 19 49 94
 | 
			
		||||
 | 
			
		||||
72 84 59 48 40
 | 
			
		||||
92 98 35  1 80
 | 
			
		||||
83 15 85 63 39
 | 
			
		||||
 2 64 58 13 20
 | 
			
		||||
29 88 60 12 74
 | 
			
		||||
 | 
			
		||||
21 94 52  6  4
 | 
			
		||||
89 70 39 23 64
 | 
			
		||||
96 87 31 54 14
 | 
			
		||||
88 35 83 13 56
 | 
			
		||||
84 10 98 48 68
 | 
			
		||||
 | 
			
		||||
70 33 48 21 37
 | 
			
		||||
91 95 65 38 77
 | 
			
		||||
92 14 26 96 60
 | 
			
		||||
12  6 73 13 81
 | 
			
		||||
54 55  2 45 80
 | 
			
		||||
 | 
			
		||||
60 11 67 95 28
 | 
			
		||||
 5 32  0 71 12
 | 
			
		||||
47 78 13 54 43
 | 
			
		||||
49 89 82 66 77
 | 
			
		||||
26 53 19 79  3
 | 
			
		||||
 | 
			
		||||
81  9 53 72 29
 | 
			
		||||
56 35 60 44 45
 | 
			
		||||
42 94 96 88 64
 | 
			
		||||
15 92  4  6 14
 | 
			
		||||
97 11 17 61 63
 | 
			
		||||
 | 
			
		||||
24 43 33  9 34
 | 
			
		||||
36 28 69 35  7
 | 
			
		||||
47  4 14 82 38
 | 
			
		||||
11  1 52  0 49
 | 
			
		||||
93 87 98 41  5
 | 
			
		||||
 | 
			
		||||
37 79 99 34 77
 | 
			
		||||
38 26 25 95 70
 | 
			
		||||
28 78 40 33 86
 | 
			
		||||
41 57 96 10 24
 | 
			
		||||
 9 74 72 50 81
 | 
			
		||||
 | 
			
		||||
18 96 52 29 61
 | 
			
		||||
38 90  1 48 51
 | 
			
		||||
78 11 27 55 97
 | 
			
		||||
33 21 87 93 67
 | 
			
		||||
79 46 94 45  2
 | 
			
		||||
 | 
			
		||||
27 63  6 90 10
 | 
			
		||||
 3 60 24  5 89
 | 
			
		||||
78 72 76 54  8
 | 
			
		||||
33 22 87 51 58
 | 
			
		||||
 4 37 64 91 43
 | 
			
		||||
 | 
			
		||||
63 73 87 80 89
 | 
			
		||||
29 14 95 48  3
 | 
			
		||||
71 55 69  9 67
 | 
			
		||||
30 99 19  2 86
 | 
			
		||||
26 72 88 85 37
 | 
			
		||||
 | 
			
		||||
12 57 81 78 40
 | 
			
		||||
35  4 55 15 39
 | 
			
		||||
33 45 25 60 70
 | 
			
		||||
86 79 88 52  3
 | 
			
		||||
90 20 28 59 85
 | 
			
		||||
 | 
			
		||||
92 51 98 47 99
 | 
			
		||||
41 78 65  4 46
 | 
			
		||||
19 87 39 89 17
 | 
			
		||||
12 23 36 29 44
 | 
			
		||||
 6 82 71 16 37
 | 
			
		||||
 | 
			
		||||
 8 34 81 67 80
 | 
			
		||||
83 92 13 11 41
 | 
			
		||||
39 89 93 49 43
 | 
			
		||||
20 69  3 74 76
 | 
			
		||||
44 72 68 70 45
 | 
			
		||||
 | 
			
		||||
66 39 94 98 28
 | 
			
		||||
72  4 25 77 76
 | 
			
		||||
56 41 84 59 40
 | 
			
		||||
36 87 18 44 73
 | 
			
		||||
29 45 79 55 95
 | 
			
		||||
 | 
			
		||||
45 91  2 92 16
 | 
			
		||||
21 47 86 81 56
 | 
			
		||||
31 11 62  5 95
 | 
			
		||||
39  1 30 65 33
 | 
			
		||||
42 60 17 18 83
 | 
			
		||||
 | 
			
		||||
86 11 77 30 43
 | 
			
		||||
51 88 73 98 94
 | 
			
		||||
72 63 38 56 10
 | 
			
		||||
57 92 49  7 41
 | 
			
		||||
79 75 34 23 54
 | 
			
		||||
 | 
			
		||||
56 95  3 43 65
 | 
			
		||||
39 62 93 19 27
 | 
			
		||||
61 41 99 96 52
 | 
			
		||||
 4 92 77 98 70
 | 
			
		||||
16 54 11 17 57
 | 
			
		||||
 | 
			
		||||
 6 63 10 71 58
 | 
			
		||||
64 70 50 92  0
 | 
			
		||||
 7 14 99 45 26
 | 
			
		||||
78 17 44 46 73
 | 
			
		||||
77 38 62 53 37
 | 
			
		||||
 | 
			
		||||
31 82 67 55 27
 | 
			
		||||
57 58 84  6 15
 | 
			
		||||
14 41 49  8 85
 | 
			
		||||
12 32 91 42 19
 | 
			
		||||
23  1 87 54 29
 | 
			
		||||
 | 
			
		||||
54 60 43 26  4
 | 
			
		||||
78 17 28 67  5
 | 
			
		||||
87 93 90 71 22
 | 
			
		||||
13 30 16 21 85
 | 
			
		||||
55 74 52  1 29
 | 
			
		||||
 | 
			
		||||
50 16 70 32 33
 | 
			
		||||
 6 94 52 66 22
 | 
			
		||||
97 64 98 72 39
 | 
			
		||||
27 69 99 34 26
 | 
			
		||||
36 91 37 21 14
 | 
			
		||||
 | 
			
		||||
 7 97 64 28 18
 | 
			
		||||
85 80 14 37 34
 | 
			
		||||
72  1 22 58 73
 | 
			
		||||
53  3 68 17  0
 | 
			
		||||
29 44 56 95 32
 | 
			
		||||
 | 
			
		||||
30 66 93 24 92
 | 
			
		||||
48 80 79 86 27
 | 
			
		||||
89 13 62 94 81
 | 
			
		||||
70 65 61  8 54
 | 
			
		||||
96 97 20 90 34
 | 
			
		||||
 | 
			
		||||
87 76  4  7 43
 | 
			
		||||
92 55 80 25 62
 | 
			
		||||
79  6 88 35 30
 | 
			
		||||
10 32  5 45 17
 | 
			
		||||
36 27 33 68 63
 | 
			
		||||
 | 
			
		||||
72 69 27 88 41
 | 
			
		||||
34 53 42 84  3
 | 
			
		||||
58 18 22 66 65
 | 
			
		||||
 9 47 85 12 62
 | 
			
		||||
73 90 91 57 33
 | 
			
		||||
 | 
			
		||||
67 16 50 58 52
 | 
			
		||||
68 70 84 98 69
 | 
			
		||||
 4 72  9 64  0
 | 
			
		||||
93 97 39 26  5
 | 
			
		||||
 3 37 79  7 82
 | 
			
		||||
 | 
			
		||||
61 57 88 54 70
 | 
			
		||||
77  8 94 81 63
 | 
			
		||||
39 48 18 13 10
 | 
			
		||||
55 23 27  4 73
 | 
			
		||||
 3  5 64  0 96
 | 
			
		||||
 | 
			
		||||
62 27  0 52 19
 | 
			
		||||
28 57 83 25 41
 | 
			
		||||
 5 59 24 33 80
 | 
			
		||||
37 85  2 86 43
 | 
			
		||||
22 94 50  8 20
 | 
			
		||||
 | 
			
		||||
54 32 34 47 87
 | 
			
		||||
71 22 43 85 24
 | 
			
		||||
11 68 58 36 46
 | 
			
		||||
35 56 61 67 18
 | 
			
		||||
70 23 72  5 59
 | 
			
		||||
 | 
			
		||||
 3 96 41 45 32
 | 
			
		||||
68  2 56 28 24
 | 
			
		||||
87 38 40 75 26
 | 
			
		||||
53 64 73 80 81
 | 
			
		||||
54 88 20  6 18
 | 
			
		||||
 | 
			
		||||
64 55 51 96 47
 | 
			
		||||
59 35 49 67 71
 | 
			
		||||
36 91 61 76 68
 | 
			
		||||
 6 94 20  8 27
 | 
			
		||||
60 88 45  7 82
 | 
			
		||||
 | 
			
		||||
87 94 51 91  1
 | 
			
		||||
96 60 28 97 37
 | 
			
		||||
26 27 74 53 35
 | 
			
		||||
88 89 11 77  8
 | 
			
		||||
73 47 18 59  6
 | 
			
		||||
 | 
			
		||||
46 50 19 36 83
 | 
			
		||||
69 28  4 44 70
 | 
			
		||||
45 20 63 27  1
 | 
			
		||||
53 38  9 47 67
 | 
			
		||||
91 31 79 73 86
 | 
			
		||||
 | 
			
		||||
45  3 98 91 60
 | 
			
		||||
40  7 78 34 83
 | 
			
		||||
52 73 59 13  4
 | 
			
		||||
38 15 82 86 79
 | 
			
		||||
42 11 17 20 62
 | 
			
		||||
 | 
			
		||||
65 86 38 20 72
 | 
			
		||||
78 45 73 74 25
 | 
			
		||||
62 42 24 75  3
 | 
			
		||||
81  8 35 50 51
 | 
			
		||||
44 11 94 85 57
 | 
			
		||||
 | 
			
		||||
13 86 55 65 96
 | 
			
		||||
53 18 43 76 20
 | 
			
		||||
41 14 32 52 38
 | 
			
		||||
90 59 80 68  7
 | 
			
		||||
 2 23 92 39 50
 | 
			
		||||
 | 
			
		||||
96 62 85 24 14
 | 
			
		||||
37  5 11 91 45
 | 
			
		||||
61 28 23 34 77
 | 
			
		||||
43 48 20  0 21
 | 
			
		||||
10 35  2 26 97
 | 
			
		||||
 | 
			
		||||
89  5 40 34 84
 | 
			
		||||
90  6 72 68 10
 | 
			
		||||
13 64 71 31 76
 | 
			
		||||
53 60  9 92 62
 | 
			
		||||
69 98  8 50  3
 | 
			
		||||
 | 
			
		||||
17 86 10 75 79
 | 
			
		||||
67 94 78 40 56
 | 
			
		||||
11 85 82 50 46
 | 
			
		||||
53 39 22  9 61
 | 
			
		||||
59 73 72 33 45
 | 
			
		||||
 | 
			
		||||
65 22 18 96 95
 | 
			
		||||
55 86 67 52 69
 | 
			
		||||
10  2 60 83 98
 | 
			
		||||
43 61 87 88 66
 | 
			
		||||
41 24  8 84 33
 | 
			
		||||
 | 
			
		||||
31 53 98 70 91
 | 
			
		||||
33 34 48 83  9
 | 
			
		||||
40 39 29 71 65
 | 
			
		||||
69 10 62 30  4
 | 
			
		||||
52 21 11 93 75
 | 
			
		||||
 | 
			
		||||
 8 94 53 85 89
 | 
			
		||||
13 84 58 59 29
 | 
			
		||||
97  7 21 25 96
 | 
			
		||||
45 54 34 22 63
 | 
			
		||||
37 17 49 68 67
 | 
			
		||||
 | 
			
		||||
86 87 84 24 10
 | 
			
		||||
82 32 36 59 50
 | 
			
		||||
 8 62 79 71 43
 | 
			
		||||
49 23 85 69 58
 | 
			
		||||
21 66 42 25 56
 | 
			
		||||
 | 
			
		||||
65 88 43 25 19
 | 
			
		||||
26 36 63  5  6
 | 
			
		||||
37 54 75  1 38
 | 
			
		||||
95 46 83 66 28
 | 
			
		||||
 4 90 80 99 85
 | 
			
		||||
 | 
			
		||||
78 83  7 77 34
 | 
			
		||||
27 92 93 96 82
 | 
			
		||||
40 95 52 32 43
 | 
			
		||||
17 28 69 41 85
 | 
			
		||||
21 65 39 58 19
 | 
			
		||||
 | 
			
		||||
11 84 28 90 36
 | 
			
		||||
74  4 62  5 46
 | 
			
		||||
22  8 45 40 98
 | 
			
		||||
12  6 30  9 82
 | 
			
		||||
37  2 53 29 41
 | 
			
		||||
 | 
			
		||||
17 65 31 86 57
 | 
			
		||||
73 16 24 67 53
 | 
			
		||||
60 93 88 45 26
 | 
			
		||||
14 80 94  7 44
 | 
			
		||||
55 78 49  8 82
 | 
			
		||||
 | 
			
		||||
95 38 81 25 76
 | 
			
		||||
29 13 83 47 12
 | 
			
		||||
17 69  4 43 28
 | 
			
		||||
63 84 39 52 34
 | 
			
		||||
 1 97 41 88  8
 | 
			
		||||
 | 
			
		||||
70 40 16 83  3
 | 
			
		||||
15 49 20 74 48
 | 
			
		||||
71 30 21 28 84
 | 
			
		||||
29 10 97  1 18
 | 
			
		||||
57 50 63 35 69
 | 
			
		||||
 | 
			
		||||
40 13 67  9 41
 | 
			
		||||
71 76  8 54 24
 | 
			
		||||
15 97 92 49 96
 | 
			
		||||
61 34 23 81 31
 | 
			
		||||
11 38 48 37 86
 | 
			
		||||
 | 
			
		||||
77 36 32 75  7
 | 
			
		||||
38 18 84 26  2
 | 
			
		||||
19 13 99 83 20
 | 
			
		||||
35 51 74  6 27
 | 
			
		||||
71 48 15 66 69
 | 
			
		||||
 | 
			
		||||
91 57 41  3 99
 | 
			
		||||
74 55 81 77 43
 | 
			
		||||
36 52 47 49 45
 | 
			
		||||
85 65  5 38 50
 | 
			
		||||
90 68 70 16  0
 | 
			
		||||
 | 
			
		||||
 1 90 28 86 27
 | 
			
		||||
73 36 67 11 14
 | 
			
		||||
71 31 10 65 55
 | 
			
		||||
78 21 16 69 12
 | 
			
		||||
87 24 33 83 68
 | 
			
		||||
 | 
			
		||||
90 17 10 84 45
 | 
			
		||||
 5 68 69 27 92
 | 
			
		||||
 6 63 98  3 46
 | 
			
		||||
94 48 59 34 43
 | 
			
		||||
39 88 12 33 73
 | 
			
		||||
 | 
			
		||||
12 31 33 98 63
 | 
			
		||||
65 51 94 83 92
 | 
			
		||||
41 38 84 91 66
 | 
			
		||||
47 28 76 54  3
 | 
			
		||||
48 36 11 13 27
 | 
			
		||||
 | 
			
		||||
51 84 96 16  8
 | 
			
		||||
64 26 74 30 48
 | 
			
		||||
29 41 68 97 87
 | 
			
		||||
 9 38  1 15 39
 | 
			
		||||
98  3 45 53 14
 | 
			
		||||
 | 
			
		||||
53 70 90 95 86
 | 
			
		||||
35 22 85 45 66
 | 
			
		||||
93  0 83 30 88
 | 
			
		||||
64 57 68 36  3
 | 
			
		||||
 5 51 19 20 89
 | 
			
		||||
 | 
			
		||||
 9 36 69 46 44
 | 
			
		||||
37  7 99 57 45
 | 
			
		||||
79 10 86 58 30
 | 
			
		||||
49 98 52 90 27
 | 
			
		||||
14 51 88 60 81
 | 
			
		||||
 | 
			
		||||
73 97 91 19 48
 | 
			
		||||
76 43 18 83 67
 | 
			
		||||
62  9 11 82 55
 | 
			
		||||
24 17 33 53 22
 | 
			
		||||
75  8 56  1 21
 | 
			
		||||
 | 
			
		||||
27 97 53  0 89
 | 
			
		||||
30 70  3 80 54
 | 
			
		||||
56 93 40 64 35
 | 
			
		||||
46 82  1 44 65
 | 
			
		||||
 6 59 45 32 34
 | 
			
		||||
 | 
			
		||||
87 58 73 45 69
 | 
			
		||||
24 49 89 71 83
 | 
			
		||||
94  6 53 68 50
 | 
			
		||||
28 25 88 47  0
 | 
			
		||||
36 13 31 18 55
 | 
			
		||||
 | 
			
		||||
52 63 37 66  9
 | 
			
		||||
34 77 57  6 55
 | 
			
		||||
85 80 97 78 74
 | 
			
		||||
95 75 67 96 29
 | 
			
		||||
22 73 92 69 47
 | 
			
		||||
 | 
			
		||||
79 97 80 36 73
 | 
			
		||||
38 77 35 32 53
 | 
			
		||||
 2 37 29  6 89
 | 
			
		||||
78 91 15 47 34
 | 
			
		||||
11 52 64 84  0
 | 
			
		||||
 | 
			
		||||
69 30 21 99 46
 | 
			
		||||
72  4 15 25 42
 | 
			
		||||
67 98 81 91 63
 | 
			
		||||
70 20 57 65 14
 | 
			
		||||
 0 78 19  8 87
 | 
			
		||||
 | 
			
		||||
20  4 98 33 85
 | 
			
		||||
76 17 94 65 35
 | 
			
		||||
95 69 72 52 71
 | 
			
		||||
23 25 50 38 27
 | 
			
		||||
43 49 96 53 99
 | 
			
		||||
 | 
			
		||||
16 27 34 65 36
 | 
			
		||||
10 40 84 60 82
 | 
			
		||||
80  2 54 67 70
 | 
			
		||||
52 94 79 17 56
 | 
			
		||||
 5 14 77 91 88
 | 
			
		||||
 | 
			
		||||
32 90 50 66 39
 | 
			
		||||
30 16 14 20 10
 | 
			
		||||
 4 42 88 59 12
 | 
			
		||||
75 84 54 51 48
 | 
			
		||||
33 24 13 89 43
 | 
			
		||||
 | 
			
		||||
78 42 34 65 51
 | 
			
		||||
75 72  3 99 61
 | 
			
		||||
15 50 59  8 89
 | 
			
		||||
71 18  9 54 53
 | 
			
		||||
43 39 97 56 19
 | 
			
		||||
 | 
			
		||||
50 43 83  4 30
 | 
			
		||||
89 97 58 35 39
 | 
			
		||||
11 24 61 41 25
 | 
			
		||||
87 99 93 15 34
 | 
			
		||||
31 57  3 45 44
 | 
			
		||||
 | 
			
		||||
70 21 63 24 38
 | 
			
		||||
34 23 88  7 51
 | 
			
		||||
43 18 76 46 49
 | 
			
		||||
60 78 47  8 12
 | 
			
		||||
11 66 98 25 74
 | 
			
		||||
 | 
			
		||||
30 17 23 10 92
 | 
			
		||||
12 85 69 81 91
 | 
			
		||||
47 80 28 29 58
 | 
			
		||||
73 44 77 50 32
 | 
			
		||||
76 54 78 75 60
 | 
			
		||||
 | 
			
		||||
71 53 86 48 98
 | 
			
		||||
90 37 79  8 56
 | 
			
		||||
99 42 97 36 15
 | 
			
		||||
31 85 34 10 40
 | 
			
		||||
43 89 57 72 51
 | 
			
		||||
 | 
			
		||||
48  0 65 55 90
 | 
			
		||||
45 76 69 97  4
 | 
			
		||||
42 52 46 77 56
 | 
			
		||||
64 62 68 35 72
 | 
			
		||||
71 10 27 30 16
 | 
			
		||||
 | 
			
		||||
41 69 63 88 57
 | 
			
		||||
25 56 23 78 80
 | 
			
		||||
 8 92 59 66 97
 | 
			
		||||
48 61 77 15 14
 | 
			
		||||
87 47 91 12 71
 | 
			
		||||
 | 
			
		||||
51 46 15  2 49
 | 
			
		||||
48 33 23 16  4
 | 
			
		||||
80 41 43 59 83
 | 
			
		||||
62 13 20 63 85
 | 
			
		||||
99 30  7 87  8
 | 
			
		||||
 | 
			
		||||
69 80 96 43 47
 | 
			
		||||
61 75 45 62 15
 | 
			
		||||
32 22 91 83 58
 | 
			
		||||
82 13 50 52  8
 | 
			
		||||
89 20 63 73 14
 | 
			
		||||
 | 
			
		||||
40  2 96 52 73
 | 
			
		||||
25 27 26 43 34
 | 
			
		||||
60 38 80 78  5
 | 
			
		||||
83 63 48 10 66
 | 
			
		||||
97 46 53 74 86
 | 
			
		||||
 | 
			
		||||
46  7  0 69 15
 | 
			
		||||
79 19 85 27 73
 | 
			
		||||
63 45  5 49 54
 | 
			
		||||
93 29 84 28 66
 | 
			
		||||
72 23 99  8 33
 | 
			
		||||
 | 
			
		||||
20 72 85 99 49
 | 
			
		||||
69  0 10 52 23
 | 
			
		||||
88 56 28 67 21
 | 
			
		||||
16 91 83 54 81
 | 
			
		||||
14 73 32 30 59
 | 
			
		||||
 | 
			
		||||
31 52 63 12  3
 | 
			
		||||
96 20 82  6 89
 | 
			
		||||
55 38  8 95 40
 | 
			
		||||
 5 60 84 81 75
 | 
			
		||||
51 14 65 27 61
 | 
			
		||||
 | 
			
		||||
46 93  1 47 76
 | 
			
		||||
 8 98  7 16 63
 | 
			
		||||
44 78 17 14 92
 | 
			
		||||
42 62 20 12 68
 | 
			
		||||
56  3 74  6 21
 | 
			
		||||
 | 
			
		||||
 8 94 11 40 44
 | 
			
		||||
43 92 78 91 18
 | 
			
		||||
75 80 12 54 26
 | 
			
		||||
67  9 45 22 21
 | 
			
		||||
86  1 90 36 30
 | 
			
		||||
 | 
			
		||||
21 19 83 90  8
 | 
			
		||||
50 28 45 65 75
 | 
			
		||||
59 88 25 29 70
 | 
			
		||||
58 23  0 95 49
 | 
			
		||||
36 68 76 78 66
 | 
			
		||||
 | 
			
		||||
77 28 43 56 97
 | 
			
		||||
73 71  8 72 46
 | 
			
		||||
23 25 70 69 41
 | 
			
		||||
90 17 34 67 48
 | 
			
		||||
32 75 81 63 21
 | 
			
		||||
		Reference in New Issue
	
	Block a user