Last active
December 9, 2021 07:54
-
-
Save mikofski/04aba49881b88f6d4b4a61be292e794e to your computer and use it in GitHub Desktop.
Advent of Code 2021
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"name": "AOC21.ipynb", | |
"provenance": [], | |
"collapsed_sections": [ | |
"nGzt919u85Xf", | |
"7-g4AoPEjjG_", | |
"BYiHoIEXssIe", | |
"Hjum6mftvrwk", | |
"MoJXC1FLvsJl", | |
"HkiJT4f76Qtr", | |
"c0RpQ513aUWA", | |
"ZbDoZ41otsKJ", | |
"f74H46JZ3NSM", | |
"8BgeLjnGhUm_", | |
"l8wYRBwwrjcZ", | |
"Nh6OKmp8yeXm" | |
] | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "CFRLRYPSne5E" | |
}, | |
"source": [ | |
"import pathlib\n", | |
"from matplotlib import pyplot as plt\n", | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"\n", | |
"AOC_DIR = pathlib.Path('.')" | |
], | |
"execution_count": 1, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "nGzt919u85Xf" | |
}, | |
"source": [ | |
"# Day 1 part 1\n", | |
"How many times does the depth increase?" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "zF0lbtwW8qwf" | |
}, | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input1.txt').open() as f:\n", | |
" puzzle_input1 = list(f)" | |
], | |
"execution_count": 2, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "qePxig1z9CvJ", | |
"outputId": "586c7d35-3e6f-4624-e89f-77ec916e8375" | |
}, | |
"source": [ | |
"len(puzzle_input1)" | |
], | |
"execution_count": 3, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"2000" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 3 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "WPo9jN9Z9LK_" | |
}, | |
"source": [ | |
"puzzle_input1_ints = [int(depth) for depth in puzzle_input1]" | |
], | |
"execution_count": 4, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "1Vffp6u49SuH", | |
"outputId": "d9d56797-c7f6-4795-9dad-7256e0452816" | |
}, | |
"source": [ | |
"len(puzzle_input1_ints)" | |
], | |
"execution_count": 5, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"2000" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 5 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "5YssGaXp9Zcp", | |
"outputId": "163ce7eb-67a9-4fcb-ef48-3513f355925c" | |
}, | |
"source": [ | |
"np.sum(np.diff(puzzle_input1_ints) > 0)" | |
], | |
"execution_count": 6, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1462" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 6 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "jDlj1Hw39jpZ", | |
"outputId": "d81a0819-64bd-4814-a0e6-1527c0915e98" | |
}, | |
"source": [ | |
"np.diff(puzzle_input1_ints)[:10]" | |
], | |
"execution_count": 7, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([ 7, -13, 6, 13, 13, 3, 7, 3, 18, 18])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 7 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Pk3YfOAg9ro9", | |
"outputId": "b89359f8-1aa6-4d07-cbc7-8485a09a131a" | |
}, | |
"source": [ | |
"puzzle_input1_ints[:10]" | |
], | |
"execution_count": 8, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[122, 129, 116, 122, 135, 148, 151, 158, 161, 179]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 8 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "pP7Mf7MjiQDO", | |
"outputId": "9cdd69bd-b24c-4a8d-b370-e963867169df" | |
}, | |
"source": [ | |
"np.diff(puzzle_input1_ints)[-10:]" | |
], | |
"execution_count": 9, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([ -4, 26, -4, 3, -24, 5, -6, 28, 10, 31])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 9 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "PsxaJab-9uIA", | |
"outputId": "781938b6-500e-4fb4-824c-99466c4d8b7f" | |
}, | |
"source": [ | |
"puzzle_input1_ints[-10:]" | |
], | |
"execution_count": 10, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[6563, 6589, 6585, 6588, 6564, 6569, 6563, 6591, 6601, 6632]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 10 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "BtgHXzV1pyYh" | |
}, | |
"source": [ | |
"# check correct answer is 1462\n", | |
"assert np.sum(np.diff(puzzle_input1_ints) > 0) == 1462" | |
], | |
"execution_count": 11, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "7-g4AoPEjjG_" | |
}, | |
"source": [ | |
"# Day 1 part 2\n", | |
"\n", | |
"Try this 2 ways, with Pandas `.rolling` function and with a custom Rolling window function using numpy." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "DfDNFjEfjlw2" | |
}, | |
"source": [ | |
"def moving_window(x, window):\n", | |
" m = window - 1\n", | |
" z = 0\n", | |
" for n in range(window):\n", | |
" z += np.roll(x, -n)\n", | |
" return z[:-m]" | |
], | |
"execution_count": 12, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Ifxoah07ng1h" | |
}, | |
"source": [ | |
"puzzle_input1_series = pd.Series(puzzle_input1_ints)" | |
], | |
"execution_count": 13, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "L-1o5G48nmLW", | |
"outputId": "e6973102-7e5f-4f94-bfa6-c50b87a8fa45" | |
}, | |
"source": [ | |
"roll_win_depths = puzzle_input1_series.rolling(3).sum().dropna().values\n", | |
"roll_win_depths[10:]" | |
], | |
"execution_count": 14, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([ 582., 595., 608., ..., 19723., 19755., 19824.])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 14 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "0_rKK8WpnxIY", | |
"outputId": "df6906e2-9f9a-4f4d-bcdf-6a9962abaa99" | |
}, | |
"source": [ | |
"move_win_depths = moving_window(puzzle_input1_ints, 3)\n", | |
"move_win_depths[:10]" | |
], | |
"execution_count": 15, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([367, 367, 373, 405, 434, 457, 470, 498, 537, 574])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 15 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "ZBQ1ho36otvg", | |
"outputId": "e8902cae-5cd0-46bb-d9d8-a1e13b620a08" | |
}, | |
"source": [ | |
"len(roll_win_depths)" | |
], | |
"execution_count": 16, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1998" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 16 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "YS2AC01HpMM8", | |
"outputId": "a3ec7987-e942-4f5b-bb63-d4f8fde48bb9" | |
}, | |
"source": [ | |
"len(move_win_depths)" | |
], | |
"execution_count": 17, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1998" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 17 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "5vhJPYRspNyr", | |
"outputId": "b935512d-066c-4a08-eff0-5ce5b58c8c26" | |
}, | |
"source": [ | |
"move_win_depths[-10:]" | |
], | |
"execution_count": 18, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([19693, 19719, 19737, 19762, 19737, 19721, 19696, 19723, 19755,\n", | |
" 19824])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 18 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "8VR1KieqpUeJ", | |
"outputId": "8dff165f-3d75-4e1d-8eae-d3e4a3357552" | |
}, | |
"source": [ | |
"roll_win_depths[-10:]" | |
], | |
"execution_count": 19, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([19693., 19719., 19737., 19762., 19737., 19721., 19696., 19723.,\n", | |
" 19755., 19824.])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 19 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "YiU73cgRpXPG", | |
"outputId": "44147136-771c-42fb-cc0f-a93249eb7ed8" | |
}, | |
"source": [ | |
"np.sum(np.diff(roll_win_depths) > 0)" | |
], | |
"execution_count": 20, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1497" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 20 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "fZBo0GvUrK2v", | |
"outputId": "facc0aeb-2e08-4c38-92c7-e93cdfdb99cd" | |
}, | |
"source": [ | |
"np.sum(np.diff(move_win_depths) > 0)" | |
], | |
"execution_count": 21, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1497" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 21 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "eyojWafPqIN8" | |
}, | |
"source": [ | |
"# check correct answer is 1497\n", | |
"assert np.sum(np.diff(move_win_depths) > 0) == 1497" | |
], | |
"execution_count": 22, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "BYiHoIEXssIe" | |
}, | |
"source": [ | |
"# Day 2 Part 1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Li4koTr0rOOW" | |
}, | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input2.txt').open() as f:\n", | |
" puzzle_input2 = list(f)" | |
], | |
"execution_count": 23, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "6lRvWjIusEM3", | |
"outputId": "b986ff68-85e8-4263-ef97-bb1840f8303b" | |
}, | |
"source": [ | |
"horizontal, depth = 0, 0\n", | |
"for command, x in (commandx.split() for commandx in puzzle_input2):\n", | |
" x = int(x)\n", | |
" if command == 'forward': horizontal += x\n", | |
" elif command == 'down': depth += x\n", | |
" elif command == 'up': depth -= x\n", | |
" else: pass\n", | |
"horizontal, depth, horizontal*depth" | |
], | |
"execution_count": 24, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(1832, 1172, 2147104)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 24 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "jmfXDaL7ATSF" | |
}, | |
"source": [ | |
"# check correct answer is 2147104\n", | |
"assert horizontal*depth == 2147104" | |
], | |
"execution_count": 25, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "Hjum6mftvrwk" | |
}, | |
"source": [ | |
"# Day 2 part 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "p6N3djSBtSxf", | |
"outputId": "c455e4c5-679e-46b9-f583-6f636e89f67b" | |
}, | |
"source": [ | |
"horizontal, depth, aim = 0, 0, 0\n", | |
"for command, x in (commandx.split() for commandx in puzzle_input2):\n", | |
" x = int(x)\n", | |
" if command == 'forward':\n", | |
" horizontal += x\n", | |
" depth += (x*aim)\n", | |
" elif command == 'down': aim += x\n", | |
" elif command == 'up': aim -= x\n", | |
" else: pass\n", | |
"horizontal, depth, aim, horizontal*depth" | |
], | |
"execution_count": 26, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(1832, 1116059, 1172, 2044620088)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 26 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "qgG_x18vAGnX" | |
}, | |
"source": [ | |
"# check correct answer is 2044620088\n", | |
"assert horizontal*depth == 2044620088" | |
], | |
"execution_count": 27, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "MoJXC1FLvsJl" | |
}, | |
"source": [ | |
"# Day 3 part 1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "tflGlhGDtmLH" | |
}, | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input3.txt').open() as f:\n", | |
" puzzle_input3 = list(f)" | |
], | |
"execution_count": 28, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "NHTZTNF01lcf", | |
"outputId": "d106ed27-1d19-4805-cc7e-80a244a98958" | |
}, | |
"source": [ | |
"gamma_rate, epsilon_rate = '', ''\n", | |
"for position in zip(*puzzle_input3):\n", | |
" print(\"\".join(position))\n", | |
" bits = sum(int(b) for b in position)\n", | |
" print(f'length = {len(position)}, common bits = {bits}')\n", | |
" if 2*bits > len(position):\n", | |
" gamma_rate += '1'\n", | |
" epsilon_rate += '0'\n", | |
" else:\n", | |
" gamma_rate += '0'\n", | |
" epsilon_rate += '1'" | |
], | |
"execution_count": 29, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0100011001111100011000101100000101011010010101000011110001110100101010001111110111101100100110010110111000001111011001000001000100001001100110101001110010001001111111001010010010100000111001101110100110100011100000100011101000111011000010100001010010000101010010111110101001001100001100011010110011011001111001110111010001000111011011100100110110100110111101010001011100101101010001110000011100110000100010011100001000100101110101010110001000010100010111100010011100001011101110110000010111111010000010101011001010010010010001100000111011100010110000011100101010001101111011010110110001000111101111111011011101000101111000111111000010101001001001001000001111101001011001111111010111000010111001010110110111011011000011111010111010110010011001100010100011000111011011100100100001100101111011010100011010001110010011000000000010001111111011000101100011101111001101010111010011010101000110100000010110110111101000010111101100100001101011000000111011001011100101111100100011101100010011001101011100011110\n", | |
"length = 1000, common bits = 494\n", | |
"0110100110100100001100000110000001100011011110010110100111011111100001110101101010100101110100101000001111000000111100001111111010010111010110100010110110000100101100000100110011110000111011000000111000010011101100101101000110010111011010001001110111000100110011111000001100001100111101011000001001010101101110010101010011010000011111110111001101011110101011000001111111101001010000000001101110101110101110111110101111110001111100010111010100110101100000100110111000000100010011100011100100011111111100101100101010100010100100110100010100011110111011111000011100101000101100011111100100101010110000010010100110111001001110000011100100011010011101101111100010111100000101001000100011010101100101111000100110001000011001001010010000111010111100111101100100000001111000110100000001000100001100010000001000011011101011001000011111110000101000001110011101110001001001000100111100101110100011001000010010011010110011011100011100000110010011011011111111011011001101110111010001011100110100011100000111100110\n", | |
"length = 1000, common bits = 490\n", | |
"0011111100100011111100111001001010001011100011110011010101011010110010001010101011000001011111010011001010111111000110000011001111111101001011111100000110010010010111001100000001110100110000111000000000001001110000101100101111010110000110110011111101001011001011100110110001111111001111101011010001100100100101001101001110011100100000110111011100110000001111000111001010000001011001010010001011110010111110010011001100001100010110110011010000100101100100111010001011011100011011000001001101001010110011101000000110111111000001001110100100011011001100111101110011101011100100111010100000101011110101100011001110111011100010111100011101010111111011000000101100100110111010100001110010010010100000111010101111000000110000111000011111011110111011101000000001111011011111100011111011000011010101110011001000000011010100001011111010010010110000011101001110000101100100101010101111101110010100000000001001110001111111101010010011000100001110110110011101011101101010001011001011100100110110010010101101111111\n", | |
"length = 1000, common bits = 506\n", | |
"1001111010000110010011110010001000011100101100001101001010110100001110001011011100101010000000110001101110111110110100011001110001000010100110110101001000101101100001000110110000010000111100110010101011011101011110001000001110111000110111011001101100110110110100101110010101000011001100011100011100011010101010110111001101101101100000011100110100111110100110000010000011110101001010011110111110111010101001000100001111011111100100001100110010011111101110010110111110000110001000100000100010001000010010011111100001110111110101001010000101000101001100000011101001111010001100000101000010001111110011101011011001100000010010101001111000111000101101111000101101101110001101110111001100110110001101111000010001010111011010111101001001001110010001001001110101100101011100110010011111010111011011110110000100110010001100011000110010010000010101111100100010001001011000011101110111100110011100101100110110000101001111110101000111001100111111001100101011111001011000000111111111101110011111101011011111110011\n", | |
"length = 1000, common bits = 508\n", | |
"0100001100100110000100010111110010000111100010111101100101100011111101011001011100100100111100000111100000110010010110001010110001010100011010101100011010110000000111101011101101011010001011110110110010011101010011110010100110000110011001011100101001101000100011111100111111011110110100011000011011000100000110010110011001110000011011001010001110101001010110010001101001110001010000110011100011110110010100000010010010010000000000111110011011111100000000100110011000111110101111000011010000111111010100001011101001011000111111010110000111110100010111000011000110100001110010111000011101001111000110001101001011101111000010101001101110001001001111010100110000100101010101111101000101000111010101111000000111100001101100010101110111110011001001011110110000001110011100001100000101100101001101001011011011111000110101101000100111100010110101011101001101000101011101111110111001101011000010100010000000110000111111111111001111111001000110101011000100111111000011011100101100100011110111101000001011101000\n", | |
"length = 1000, common bits = 499\n", | |
"0101011011110100010011101011001010111011111100111100100010010100110000101100001111001000110000010001011001101111001011010011101001001010010111111100111110001100100000000100101011101110000110011111001111000000010110001101100000010010111110001000101011110010010000101001110001001011000001001001101000101001111110100110001100000011010100000010001100100110110100001011110110000100110001110010101000011110001010011001010011011010101100010101001011001011100010101001110101110010111100011101001110001010100001001101101000111110101000000101010000110000110010001110010011101000111101100011010111111101010011000100111001110110111001011110101011111010011101111011011100000101111101001001101101001011111011010001010010001100110001100111110100010101110000011100111000001001111001000010000001111001110101101011011101111111011101101110010110101010010110010101111110110000011100010011011001010000011111101111111101101001010011001001010010000011000100010000100011000101100001101100101001011111000111010001111101101110\n", | |
"length = 1000, common bits = 498\n", | |
"0111000001100100011110101110001000001011101111110010100100010010010110001100011001011101000010110010011000010000010010010101101000100101101110100011000001111010110110010000101010110000010000110100000011011100000101110000111011101111000110010010111111011110010101001100110001100101000110001000000111111110101011000110011110111101001100100100011010000000110101111011110000110001010011101000001010010111101000110011110110111001101010101110010100110000011001010011100111011101001100011100100011111100111010000100001010110101110111010111110011100110101001111011001000110000100010111001101111110000110011110001011010010000011001000010111011011100101101100001111001110101101001100010100001010001000111001010101011111011001101111100100111100111010000010100110101000001001110110110000100100100001001110101010101101000110101001100011001111011010000001111111011011010110000001010000001111001101110001111000000111100001000010011110110111111101110111000000110010101001001001111001011110111010110111110100000101101\n", | |
"length = 1000, common bits = 494\n", | |
"1100011001100110001100010001110011011011110011101100111010001110010110100001010011110100111111010110101110000000000111111100001000111100001001011001111001000100110011000010111010101110000010110100101101101100010001100011110010010010101111001110100011101011001101100111101100011111111111000010100010010111111111110000000010000110100000100010010001011100110011110000010011101011110100001101101110100100110100000011010101000011001010001110001000001110110000001001101000011000111100101010000010101101011100111111001111110000111011101111001111111110111100011101100011110101011110110001000101110010101110010001110111011111000010101101100011110001011101100111111001110100000101000111111010001010001101111011000000110101110010001000010101100110100011011010011101101010000000011111100000011010111011111011101011000001100010010011110010111011110000100101001011110111001101111010110111001111111010101001011011010100011101010011111011100100110000011110100011011001110000110000100001001001001010001100010010100011\n", | |
"length = 1000, common bits = 511\n", | |
"1010110001111001011100100000100100111101101110010000110011110110000111011000010110100111001111011010111010011101100011010100101000001111111011001100101100100110011010100001111001100011101110110101101001110100110001010000111111001111101000000000101111001010100100011110111001000100101001101000101110001111001100100101010011100101111000100001010100101000110001101011101110100000101111110100101011100111110000010100100000001101111010110000000111000000001110000101101001111000000110100100000100000000101101011000010101110001110001110100001101111101110101111111011101010001010010011000010110110011000011110001111001110010011001111010010111000001001111110100010101111011010010100101000110100110011101101011000110000001011100100000010010111110111001001011011111010000001010100011010011010100001110001010101100111111110010101101110100010010101011100100010011100011001101100011000110110110100001001110011010000101100010011100111011111110111110101101010111000000110110100100100000100100001000010111111001110011\n", | |
"length = 1000, common bits = 495\n", | |
"0111001100110010101110000110000111100100010011000100111010101011011110101000011100110010000010000101000110010110010101001011001101010001100001010000010010011000010010100010100101010001111101101011001001100100001100011110000000010101001000100010001101101100011000010000100101010011001111100111111001111100001011100110110010000000011010011011100111011011011000010000010101111010011000100001110101111101000001000001011011111000111001011010111010010100111100010011000111010011000110111001010100000001011111001110000100001101001100101111110000000111010011111001110100010101111010100010000010001100001101000101010011000001010101100111100111100101010110110010010001001100111011011110010110000011001111011111100101001111100001000101110010110100010000010001110100010000000001111101001010001000100001111110001000101111010001110000111100010001100010000111010001100010101000011111111000111111110011011110010010000110110000010111011110001110111000100111111111100101011100011110001100100111011010000101110011111011\n", | |
"length = 1000, common bits = 476\n", | |
"1110010010001110110010110110100010000111111001101100000101100110001111110010011000000010101000010011011110001110100110001000010010010101000011010000010100000010001110011000111011000001001100000011011110100111010100100111101010000011110100101010010111100001111101111001001010011001100100011110011101001100101101001000101000101100111100001100110000000101100100101110010111001101111100100110100001111001101000010101100100100100101101101000011100101111100010111001000101111101111100111010000010101011101000000011000001110000100101111010000011100000000111010011100101011111100001110011001011101111110001011100101011001111011011011111110100010010001000000000000100000111000010101100111111111011111100111111101110110110001101000111100011000010100000000111001000011010110100010011010100110000011110000001001010111111101010000110100000111111000100000000100101110011010100001101111011000101001110011111111100010000010101111000011100001011100001100010110101111100111010100101011001010111010011011110011001111001\n", | |
"length = 1000, common bits = 485\n", | |
"0011011100001000001111101111011111111101111000110011110101010010001101000100111011000110001010011101011100011110110010111111101001100010011000000111111110101100100001011011111101100111010001111101001010000010010010101011010001100110010100011000001100001101110000000011010101100001111010101011100010001000100101111011001000100111101000110001001101010100010000111000111010011111110010010100100001110111100000011111111011101100011100011100101001001101011100100001111000001001000100100100101110110100111111010110010111010011110010000100101101010000100010111100010110010111011001000010010001100100111101000110100100111110000101010011110001011011000100010000011001100000110101111001001011100100100111000101000101111000011011000010010000101011010111001000100001110001101000111100110111011100000011001000001011111100001100010011100100001110101111011111010000010111101011111010101001000010001010110111010010000011111101011110111000001011011010110010110101100110001001100001011010011010100100101001011000100110\n", | |
"length = 1000, common bits = 490\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 0 | |
}, | |
"id": "LUzIrbKR2yhL", | |
"outputId": "c2c797df-fa2e-475a-edb1-45b26b4e1ed3" | |
}, | |
"source": [ | |
"\"\".join(gamma_rate)" | |
], | |
"execution_count": 30, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "string" | |
}, | |
"text/plain": [ | |
"'001100010000'" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 30 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 0 | |
}, | |
"id": "O7drG_hC3IM_", | |
"outputId": "5b4ec42a-590f-4641-968a-65fc80792a7f" | |
}, | |
"source": [ | |
"\"\".join(epsilon_rate)" | |
], | |
"execution_count": 31, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"application/vnd.google.colaboratory.intrinsic+json": { | |
"type": "string" | |
}, | |
"text/plain": [ | |
"'110011101111'" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 31 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "sEdo3Y9o3NIJ", | |
"outputId": "616541ed-53ee-42c1-d938-5b7eece659fb" | |
}, | |
"source": [ | |
"gamma_rate = int(gamma_rate, 2)\n", | |
"epsilon_rate = int(epsilon_rate, 2)\n", | |
"gamma_rate * epsilon_rate" | |
], | |
"execution_count": 32, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"2595824" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 32 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "qy7qA8Wi_065" | |
}, | |
"source": [ | |
"# check correct answer is 2595824\n", | |
"assert gamma_rate * epsilon_rate == 2595824" | |
], | |
"execution_count": 33, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "HkiJT4f76Qtr" | |
}, | |
"source": [ | |
"# Day 3 part 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "56-uj3-J3nF4", | |
"outputId": "524630f9-f8dc-4d5b-fff9-74b0db9d5986" | |
}, | |
"source": [ | |
"numbers = np.array(puzzle_input3)\n", | |
"num_inputs = len(puzzle_input3)\n", | |
"o2_idx = np.ones(num_inputs).astype(bool)\n", | |
"co2_idx = np.ones(num_inputs).astype(bool)\n", | |
"num_o2 = sum(o2_idx)\n", | |
"num_co2 = sum(co2_idx)\n", | |
"for position in zip(*puzzle_input3):\n", | |
" idx = np.array(position, int).astype(bool)\n", | |
"\n", | |
" # search for o2 numbers\n", | |
" if num_o2 > 1:\n", | |
" o2_positions = np.array(position)[o2_idx]\n", | |
" o2_bits = sum(int(b) for b in o2_positions)\n", | |
" if 2*o2_bits >= num_o2:\n", | |
" o2_idx &= idx\n", | |
" else:\n", | |
" o2_idx &= ~idx\n", | |
"\n", | |
" # search for co2 numbers\n", | |
" if num_co2 > 1:\n", | |
" co2_positions = np.array(position)[co2_idx]\n", | |
" co2_bits = sum(int(b) for b in co2_positions) \n", | |
" if 2*co2_bits >= num_co2:\n", | |
" co2_idx &= ~idx\n", | |
" else:\n", | |
" co2_idx &= idx\n", | |
"\n", | |
" num_o2 = sum(o2_idx)\n", | |
" num_co2 = sum(co2_idx)\n", | |
" print(num_o2, num_co2)\n", | |
"\n", | |
"o2_gen_numbers = numbers[o2_idx]\n", | |
"co2_scrub_numbers = numbers[co2_idx]\n", | |
"o2_gen_numbers, co2_scrub_numbers" | |
], | |
"execution_count": 34, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"506 494\n", | |
"263 247\n", | |
"133 119\n", | |
"69 51\n", | |
"35 24\n", | |
"20 11\n", | |
"12 5\n", | |
"7 1\n", | |
"5 1\n", | |
"3 1\n", | |
"2 1\n", | |
"1 1\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(array(['001100001101\\n'], dtype='<U13'),\n", | |
" array(['101010101110\\n'], dtype='<U13'))" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 34 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "EmAZemwH75xW", | |
"outputId": "a04b1c40-8554-4bb8-daba-750bb3ee9860" | |
}, | |
"source": [ | |
"o2_gen_rate = int(o2_gen_numbers[0], 2)\n", | |
"co2_scrub_rate = int(co2_scrub_numbers[0], 2)\n", | |
"o2_gen_rate, co2_scrub_rate, o2_gen_rate*co2_scrub_rate" | |
], | |
"execution_count": 35, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(781, 2734, 2135254)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 35 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "NKKCBP-K84Jn" | |
}, | |
"source": [ | |
"# check correct answer is 2135254\n", | |
"assert o2_gen_rate*co2_scrub_rate == 2135254" | |
], | |
"execution_count": 36, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "c0RpQ513aUWA" | |
}, | |
"source": [ | |
"# Day 4 part 1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "nnxwUFLYaY78" | |
}, | |
"source": [ | |
"puzzle_input4 = {}\n", | |
"with (AOC_DIR / 'puzzle_input4.txt').open() as f:\n", | |
" # the first line are the bingo numbers\n", | |
" puzzle_input4['numbers'] = [int(_) for _ in f.readline().split(',')]\n", | |
" puzzle_input4['grids'] = []\n", | |
" # the bingo grids are separated by newlines except the EOF\n", | |
" line = f.readline()\n", | |
" while line == '\\n':\n", | |
" grid = []\n", | |
" line = f.readline()\n", | |
" while line.strip():\n", | |
" grid.append([int(_) for _ in line.split()])\n", | |
" line = f.readline()\n", | |
" puzzle_input4['grids'].append(np.array(grid))" | |
], | |
"execution_count": 37, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "-PlCNSK-anVi", | |
"outputId": "4559440a-bd89-4d20-fd8e-444efc8f34b6" | |
}, | |
"source": [ | |
"bingo = False\n", | |
"bingo_idx = [np.zeros_like(g) for g in puzzle_input4['grids']]\n", | |
"for number in puzzle_input4['numbers']:\n", | |
" for k, grid in enumerate(puzzle_input4['grids']):\n", | |
" bingo_idx[k] |= (grid == number)\n", | |
" if (any(bingo_idx[k].sum(axis=0) == 5)\n", | |
" or any(bingo_idx[k].sum(axis=1) == 5)):\n", | |
" bingo = True\n", | |
" break\n", | |
" if bingo: break\n", | |
"print(f'bingo winner: grid = {k+1}, number = {number}')" | |
], | |
"execution_count": 38, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"bingo winner: grid = 74, number = 42\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "7lbOWahndVOF", | |
"outputId": "1ebcc96f-12d4-4890-896a-2d0cf34917d7" | |
}, | |
"source": [ | |
"grid_sum = puzzle_input4['grids'][k][~bingo_idx[k].astype(bool)].sum()\n", | |
"grid_sum*number" | |
], | |
"execution_count": 39, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"32844" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 39 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "D8oxbBTtkQWG", | |
"outputId": "f8031fc3-4e84-4c66-d020-d67e27d3b501" | |
}, | |
"source": [ | |
"puzzle_input4['grids'][k]" | |
], | |
"execution_count": 40, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[26, 89, 27, 47, 91],\n", | |
" [15, 9, 18, 62, 28],\n", | |
" [31, 96, 42, 81, 86],\n", | |
" [11, 52, 20, 93, 38],\n", | |
" [83, 64, 39, 1, 60]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 40 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "kDEZ28Ymkl8j", | |
"outputId": "d14d5b34-bd25-4acb-cb75-430108205562" | |
}, | |
"source": [ | |
"bingo_idx[k]" | |
], | |
"execution_count": 41, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[0, 0, 0, 0, 1],\n", | |
" [0, 0, 0, 0, 0],\n", | |
" [1, 1, 1, 1, 1],\n", | |
" [0, 0, 0, 0, 0],\n", | |
" [0, 0, 0, 0, 0]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 41 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "AIdE5slYkXkc" | |
}, | |
"source": [ | |
"# check correct answer is 32844\n", | |
"assert grid_sum*number == 32844" | |
], | |
"execution_count": 42, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "ZbDoZ41otsKJ" | |
}, | |
"source": [ | |
"# Day 4 part 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "LyHLgEbmtuND", | |
"outputId": "8c5ca37b-977b-4aae-94e6-fa56f9b9c61b" | |
}, | |
"source": [ | |
"bingo = np.zeros(len(puzzle_input4['grids'])).astype(bool)\n", | |
"bingo_idx = [np.zeros_like(g) for g in puzzle_input4['grids']]\n", | |
"for number in puzzle_input4['numbers']:\n", | |
" for k, grid in enumerate(puzzle_input4['grids']):\n", | |
" bingo_idx[k] |= (grid == number)\n", | |
" if (any(bingo_idx[k].sum(axis=0) == 5)\n", | |
" or any(bingo_idx[k].sum(axis=1) == 5)):\n", | |
" bingo[k] = True\n", | |
" if bingo.all(): break\n", | |
" if bingo.all(): break\n", | |
"print(f'last bingo winner: grid = {k+1}, number = {number}')" | |
], | |
"execution_count": 43, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"last bingo winner: grid = 66, number = 20\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Kgrk5rqJuVbn", | |
"outputId": "b862967e-3508-46b5-cc7d-f313d39f791f" | |
}, | |
"source": [ | |
"puzzle_input4['grids'][k]" | |
], | |
"execution_count": 44, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[85, 64, 44, 39, 57],\n", | |
" [90, 30, 15, 35, 54],\n", | |
" [78, 89, 55, 99, 12],\n", | |
" [80, 96, 20, 50, 45],\n", | |
" [56, 10, 71, 59, 17]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 44 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "UFk1dnvqubJF", | |
"outputId": "0349343d-9018-418a-edf2-1986e92b47f0" | |
}, | |
"source": [ | |
"bingo_idx[k]" | |
], | |
"execution_count": 45, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[1, 1, 0, 1, 1],\n", | |
" [1, 0, 1, 1, 1],\n", | |
" [1, 1, 1, 0, 1],\n", | |
" [1, 1, 1, 1, 1],\n", | |
" [0, 1, 1, 1, 0]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 45 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "_C0lz_LEudxG", | |
"outputId": "d4d0c9f0-e80d-4158-a5ff-36f590bb1543" | |
}, | |
"source": [ | |
"grid_sum = puzzle_input4['grids'][k][~bingo_idx[k].astype(bool)].sum()\n", | |
"grid_sum*number" | |
], | |
"execution_count": 46, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"4920" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 46 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Id6uIJD9uv-0" | |
}, | |
"source": [ | |
"# check answer is 4920\n", | |
"assert grid_sum*number == 4920" | |
], | |
"execution_count": 47, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "f74H46JZ3NSM" | |
}, | |
"source": [ | |
"# day 5 part 1\n", | |
"Hydrothermal venture" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "bxm0qWNE3Quj" | |
}, | |
"source": [ | |
"# read in pairs of points in format x1,y1 -> x2,y2\n", | |
"puzzle_input5 = []\n", | |
"with (AOC_DIR / 'puzzle_input5.txt').open() as f:\n", | |
" puzzle_input5 = np.array(\n", | |
" [[xy.split(',') for xy in pt.split('->')] for pt in f],\n", | |
" dtype=int)" | |
], | |
"execution_count": 48, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "vjLHaridB4P6" | |
}, | |
"source": [ | |
"# some useful numbers to understand the dimensions of the input\n", | |
"x1y1 = puzzle_input5[:, 0, :] # all the first point coords\n", | |
"x2y2 = puzzle_input5[:, 1, :] # all the second point coords\n", | |
"xpts = puzzle_input5[:, :, 0] # all the x's\n", | |
"ypts = puzzle_input5[:, :, 1] # all the y's" | |
], | |
"execution_count": 49, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "whMQiCNJB8qw", | |
"outputId": "048d8d1d-576b-400c-a3b1-ab4c7986c6ea" | |
}, | |
"source": [ | |
"# find the size of the diagram\n", | |
"xmax = xpts.max()\n", | |
"ymax = ypts.max()\n", | |
"xmax, ymax" | |
], | |
"execution_count": 50, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(989, 990)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 50 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "dPTpBf1OVFUt", | |
"outputId": "64d88f4a-8552-4636-8fbd-f1936fefb5d6" | |
}, | |
"source": [ | |
"# off by one! if a max dimension is 990 and min is zero, then it's 991 long!\n", | |
"diagram = np.zeros((xmax+1, ymax+1))\n", | |
"diagram.shape" | |
], | |
"execution_count": 51, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(990, 991)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 51 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "uhgCCaZSCCs1", | |
"outputId": "73702073-f224-40f6-d995-13db74af3720" | |
}, | |
"source": [ | |
"# DEMO: find where x1=x2 or y1=y2\n", | |
"x1y1[:9] == x2y2[:9]" | |
], | |
"execution_count": 52, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[False, False],\n", | |
" [False, False],\n", | |
" [False, False],\n", | |
" [False, False],\n", | |
" [ True, False],\n", | |
" [ True, False],\n", | |
" [ True, False],\n", | |
" [False, False],\n", | |
" [False, True]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 52 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "7CgNCQD2GBiV", | |
"outputId": "71d8f879-6ef2-446d-c882-6413a7a74eda" | |
}, | |
"source": [ | |
"# DEMO: show that xpts or ypts are matching?\n", | |
"puzzle_input5[:9].T" | |
], | |
"execution_count": 53, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[[556, 337, 786, 977, 544, 539, 364, 282, 536],\n", | |
" [341, 782, 117, 199, 544, 539, 364, 892, 158]],\n", | |
"\n", | |
" [[286, 201, 780, 864, 127, 471, 765, 325, 941],\n", | |
" [ 71, 646, 111, 86, 144, 972, 285, 935, 941]]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 53 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Oty1zv23GDxF" | |
}, | |
"source": [ | |
"# get indices of lines with either matching xpts or ypts\n", | |
"pts_idx = np.any(x1y1 == x2y2, axis=1)" | |
], | |
"execution_count": 54, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "W-SLXJDRHnEf", | |
"outputId": "73a4f67b-76e0-4060-9c06-d8c957b6ffb0" | |
}, | |
"source": [ | |
"# DEMO: show that we have only vertical or horizontal lines\n", | |
"puzzle_input5[pts_idx, :, :][:4]" | |
], | |
"execution_count": 55, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[[544, 127],\n", | |
" [544, 144]],\n", | |
"\n", | |
" [[539, 471],\n", | |
" [539, 972]],\n", | |
"\n", | |
" [[364, 765],\n", | |
" [364, 285]],\n", | |
"\n", | |
" [[536, 941],\n", | |
" [158, 941]]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 55 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "UsX6RdBeOP09" | |
}, | |
"source": [ | |
"for line in puzzle_input5[pts_idx, :, :]:\n", | |
" # vertical lines\n", | |
" if line[0, 0] == line[1, 0]:\n", | |
" xpt = line[0, 0]\n", | |
" for ypt in range(line[:, 1].min(), 1+line[:, 1].max()):\n", | |
" diagram[xpt, ypt] += 1\n", | |
" # horizontal lines\n", | |
" if line[0, 1] == line[1, 1]:\n", | |
" ypt = line[1, 1]\n", | |
" for xpt in range(line[:, 0].min(), 1+line[:, 0].max()):\n", | |
" diagram[xpt, ypt] += 1" | |
], | |
"execution_count": 56, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "PV7fI16rYCpK", | |
"outputId": "35b73508-6107-4209-f161-783c3e03097f" | |
}, | |
"source": [ | |
"diagram.max()" | |
], | |
"execution_count": 57, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"4.0" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 57 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 0 | |
}, | |
"id": "KgPx2Gc6R7OK", | |
"outputId": "04c457be-d2c9-4fbc-8001-b0b70d8990a1" | |
}, | |
"source": [ | |
"plt.figure(figsize=(16, 12))\n", | |
"plt.contourf(diagram, cmap='magma')\n", | |
"plt.colorbar()" | |
], | |
"execution_count": 58, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<matplotlib.colorbar.Colorbar at 0x7faffcfce7d0>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 58 | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x864 with 2 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "iIihzdchR5Fg", | |
"outputId": "ace256de-3b77-4229-94f2-4133c611449f" | |
}, | |
"source": [ | |
"[np.sum(diagram == _) for _ in range(5)]" | |
], | |
"execution_count": 59, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[884773, 91172, 4822, 308, 15]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 59 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "jtv3FuecUgER", | |
"outputId": "98cabb2a-b47a-4242-8a97-96dc573c82bd" | |
}, | |
"source": [ | |
"np.sum(diagram >= 2)" | |
], | |
"execution_count": 60, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"5145" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 60 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "iZjFu_a2dH-Z" | |
}, | |
"source": [ | |
"# check answer is 5145\n", | |
"assert np.sum(diagram >= 2) == 5145" | |
], | |
"execution_count": 61, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "8BgeLjnGhUm_" | |
}, | |
"source": [ | |
"# Day 5 part 2\n", | |
"including diagonal lines at 45-degrees" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "hpauj19BhZUJ" | |
}, | |
"source": [ | |
"# get indices of diagonal sets of pts\n", | |
"# which are pairs with (y1 - x1) == (y2 - x2)\n", | |
"# EG: (3 - 3) = (2 - 2) = (1 - 1) = 0\n", | |
"diag_pts_idx = np.diff(x1y1) == np.diff(x2y2)\n", | |
"\n", | |
"# the example shows a pair with (x1 == y1) and (x2 == y2) like this:\n", | |
"# diag_pts_idx = np.all(xpts == ypts, axis=1)\n", | |
"# but there's only one pair (10, 10) -> (989, 989) like that" | |
], | |
"execution_count": 62, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "d6XVaCWsijwg", | |
"outputId": "a12eb024-de5d-46da-bab2-aaa3e2852b49" | |
}, | |
"source": [ | |
"diag_lines = puzzle_input5[diag_pts_idx.squeeze(), :, :]\n", | |
"# there are many pairs, but they are not all (r, r) -> (s, s) pairs!\n", | |
"diag_lines[-15:-10]" | |
], | |
"execution_count": 63, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[[986, 827],\n", | |
" [213, 54]],\n", | |
"\n", | |
" [[816, 483],\n", | |
" [620, 287]],\n", | |
"\n", | |
" [[397, 210],\n", | |
" [988, 801]],\n", | |
"\n", | |
" [[ 22, 11],\n", | |
" [982, 971]],\n", | |
"\n", | |
" [[ 10, 10],\n", | |
" [989, 989]]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 63 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "1e7ZNKi8kMfO" | |
}, | |
"source": [ | |
"for diag_line in diag_lines:\n", | |
" diag_diff = np.diff(diag_line[0]).squeeze()\n", | |
" for diag_pt in range(diag_line[:, 0].min(), 1+diag_line[:, 0].max()):\n", | |
" diagram[diag_pt, diag_pt+diag_diff] += 1" | |
], | |
"execution_count": 64, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "0YxlN5Hxhz6P" | |
}, | |
"source": [ | |
"# get indices of CROSS diagonal sets of pts\n", | |
"# which are pairs with (x1 + y1) == (x2 + y2)\n", | |
"# EG: 9+7 = 8+8 = 7+9 = 16\n", | |
"xdiag_pts_idx = x1y1.sum(axis=1) == x2y2.sum(axis=1)\n", | |
"\n", | |
"# the example shows a pair with (x1 == y2) and (x2 == y1) like this:\n", | |
"# xdiag_pts_idx = np.all(x1y1 == np.roll(x2y2, 1, axis=1), axis=1)\n", | |
"# but there's only one pair (21, 853) -> (853, 21) like that" | |
], | |
"execution_count": 65, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "HBUYSMgqkXCK", | |
"outputId": "27dad039-220a-473f-fb0b-f70aa54084fa" | |
}, | |
"source": [ | |
"xdiag_lines = puzzle_input5[xdiag_pts_idx, :, :]\n", | |
"# there are many pairs, but they are not all (r, s) -> (s, r) pairs!\n", | |
"xdiag_lines[35:40]" | |
], | |
"execution_count": 66, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[[871, 242],\n", | |
" [474, 639]],\n", | |
"\n", | |
" [[319, 738],\n", | |
" [945, 112]],\n", | |
"\n", | |
" [[ 21, 853],\n", | |
" [853, 21]],\n", | |
"\n", | |
" [[395, 623],\n", | |
" [217, 801]],\n", | |
"\n", | |
" [[887, 212],\n", | |
" [217, 882]]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 66 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "Vk2mZsy8gLR-" | |
}, | |
"source": [ | |
"for xdiag_line in xdiag_lines:\n", | |
" xdiag_tot = xdiag_line[0].sum()\n", | |
" for xdiag_pt in range(xdiag_line[:, 0].min(), 1+xdiag_line[:, 0].max()):\n", | |
" diagram[xdiag_pt, xdiag_tot-xdiag_pt] += 1" | |
], | |
"execution_count": 67, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Uc9Xpzc8kbfh", | |
"outputId": "9d3ce87f-e348-447f-909f-0df1d80fcc53" | |
}, | |
"source": [ | |
"diagram.max()" | |
], | |
"execution_count": 68, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"5.0" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 68 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 0 | |
}, | |
"id": "_nrd1N7Skk5C", | |
"outputId": "d09375c3-6825-4f61-dc22-421eb277a50d" | |
}, | |
"source": [ | |
"plt.figure(figsize=(16, 12))\n", | |
"plt.contourf(diagram, cmap='magma')\n", | |
"plt.colorbar()" | |
], | |
"execution_count": 69, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"<matplotlib.colorbar.Colorbar at 0x7faffa950110>" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 69 | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 1152x864 with 2 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "XzVFZMU0lK1d", | |
"outputId": "4c517db0-0469-47c5-f5fc-d41f3daf0f47" | |
}, | |
"source": [ | |
"[np.sum(diagram == _) for _ in range(6)]" | |
], | |
"execution_count": 70, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[817108, 147464, 15179, 1229, 104, 6]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 70 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "kLhhDI-rlLPC", | |
"outputId": "c54532af-2038-4f90-ef11-78dd53847437" | |
}, | |
"source": [ | |
"np.sum(diagram >= 2)" | |
], | |
"execution_count": 71, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"16518" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 71 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "e7FR6M0zk6Hf" | |
}, | |
"source": [ | |
"# check answer is 16518\n", | |
"assert np.sum(diagram >= 2) == 16518" | |
], | |
"execution_count": 72, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "l8wYRBwwrjcZ" | |
}, | |
"source": [ | |
"# Day 6 part 1\n", | |
"Lantern Fish" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "8ne1VgQ3rmUr", | |
"outputId": "46f53868-af16-4c49-d0e0-e4ad83f59f1c" | |
}, | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input6.txt').open() as f:\n", | |
" puzzle_input6 = np.array(f.read().split(','), int)\n", | |
"puzzle_input6.size" | |
], | |
"execution_count": 73, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"300" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 73 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "DPQ22naKscRL" | |
}, | |
"source": [ | |
"NDAYS = 80\n", | |
"lanternfish = np.copy(puzzle_input6)\n", | |
"population = [lanternfish]\n", | |
"for day in range(NDAYS):\n", | |
" # Each day, a 0 becomes a 6 and adds a new 8 to the end of the list, while\n", | |
" # each other number decreases by 1 if it was present at the start of the day.\n", | |
" lanternfish = lanternfish - 1 # creates a copy\n", | |
" new_fish = np.sum(lanternfish < 0)\n", | |
" if new_fish > 0:\n", | |
" lanternfish = np.append(\n", | |
" np.where(lanternfish < 0, 6, lanternfish), [8]*new_fish)\n", | |
" population.append(lanternfish)" | |
], | |
"execution_count": 74, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Msr3sQqDtzc2", | |
"outputId": "adb321ed-d88f-4196-d1d5-034b952f2e80" | |
}, | |
"source": [ | |
"population[-1].size" | |
], | |
"execution_count": 75, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"377263" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 75 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "gRl9FDKPt1rF" | |
}, | |
"source": [ | |
"# check answer is 377263\n", | |
"assert population[-1].size == 377263" | |
], | |
"execution_count": 76, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "Nh6OKmp8yeXm" | |
}, | |
"source": [ | |
"# Day 6 part 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "6l5dBJ6fl9GS", | |
"outputId": "5898821b-5894-4e4c-ac79-4bf661f5cde8" | |
}, | |
"source": [ | |
"INIT_STATE = np.array([3, 4, 3, 1, 2], int)\n", | |
"NEW_STATE = 8\n", | |
"TIMER = 6\n", | |
"\n", | |
"\n", | |
"def simulate_lanternfish(init_state, ndays):\n", | |
" lanternfish = init_state.tolist()\n", | |
" # states, counts = np.unique(init_state, return_counts=True)\n", | |
" states = [lanternfish.count(state) for state in range(-1, NEW_STATE+1)]\n", | |
" for day in range(ndays):\n", | |
" states = np.roll(states, -1)\n", | |
" states[NEW_STATE+1] += states[0]\n", | |
" states[TIMER+1] += states[0]\n", | |
" states[0] = 0\n", | |
"\n", | |
" return sum(states)\n", | |
"\n", | |
"\n", | |
"assert simulate_lanternfish(INIT_STATE, 18) == 26\n", | |
"assert simulate_lanternfish(INIT_STATE, 80) == 5934\n", | |
"tot_fish = simulate_lanternfish(INIT_STATE, 256)\n", | |
"assert tot_fish == 26984457539\n", | |
"tot_fish" | |
], | |
"execution_count": 77, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"26984457539" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 77 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "NS-p6LoTzLrV", | |
"outputId": "0b15c471-4978-4322-854d-72a3d4fd2918" | |
}, | |
"source": [ | |
"%timeit simulate_lanternfish(INIT_STATE, 256)" | |
], | |
"execution_count": 78, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"100 loops, best of 5: 4.61 ms per loop\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "64Ro6MUOmMge", | |
"outputId": "17f8e2b2-d81b-4612-bc54-312187d4d37b" | |
}, | |
"source": [ | |
"tot_fish = simulate_lanternfish(puzzle_input6, 80)\n", | |
"assert tot_fish == 377263\n", | |
"tot_fish" | |
], | |
"execution_count": 79, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"377263" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 79 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "7_drrRnGzmyY", | |
"outputId": "609eb889-a10d-481b-9ea7-90943ff77244" | |
}, | |
"source": [ | |
"%timeit simulate_lanternfish(puzzle_input6, 80)" | |
], | |
"execution_count": 80, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"1000 loops, best of 5: 1.49 ms per loop\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "-DAO0DJU1s3f", | |
"outputId": "7d30f41e-1438-4643-c170-3e582ce31798" | |
}, | |
"source": [ | |
"simulate_lanternfish(puzzle_input6, 256)" | |
], | |
"execution_count": 81, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1695929023803" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 81 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "U6lu6mlyR1pH" | |
}, | |
"source": [ | |
"# Day 7 part 1\n", | |
"Crab submarine fuel consumption" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "vC5XU5mH1v-b", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "dbce6c6e-68cc-4eea-b002-9e0c367d5347" | |
}, | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input7.txt').open() as f:\n", | |
" puzzle_input7 = np.array(f.read().split(','), int)\n", | |
"puzzle_input7.size" | |
], | |
"execution_count": 82, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"1000" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 82 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "TGLfsc89Ry7e" | |
}, | |
"source": [ | |
"TEST_INPUT7 = np.array([16, 1, 2, 0, 4, 2, 7, 1, 2, 14])" | |
], | |
"execution_count": 83, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "8W66T4AFSRH8", | |
"outputId": "e5f3b744-b886-48f4-84c3-763932ffb0f8" | |
}, | |
"source": [ | |
"TEST_INPUT7.mean()" | |
], | |
"execution_count": 84, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"4.9" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 84 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "f9FVcTPCSVBu", | |
"outputId": "fbf0efa9-1687-41de-e294-80696fc618b4" | |
}, | |
"source": [ | |
"np.median(TEST_INPUT7)" | |
], | |
"execution_count": 85, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"2.0" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 85 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "iAAA2ZA9SZHe", | |
"outputId": "0267b3be-7953-4361-bbe2-6dd6d271d218" | |
}, | |
"source": [ | |
"puzzle_input7_median = np.median(puzzle_input7).astype(int)\n", | |
"puzzle_input7_median" | |
], | |
"execution_count": 86, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"332" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 86 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "2mivTq_hSxny", | |
"outputId": "b47ed38b-b1a2-4972-9bff-7dcb9f5fbda6" | |
}, | |
"source": [ | |
"fuel = np.abs(puzzle_input7 - puzzle_input7_median).sum()\n", | |
"fuel" | |
], | |
"execution_count": 87, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"357353" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 87 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "yoEIdgGfTLdC", | |
"outputId": "8383b98d-1dcd-4eb1-a956-8c8e471b3e55" | |
}, | |
"source": [ | |
"# DEMO: check that the median is closest distance for example\n", | |
"[np.abs(TEST_INPUT7 - _).sum() for _ in (1, 2, 3)]" | |
], | |
"execution_count": 88, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[41, 37, 39]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 88 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "nbmVY6CjTPcJ", | |
"outputId": "1725b309-f76f-4c69-c346-2abb59db1451" | |
}, | |
"source": [ | |
"# DEMO: check that median is also closest distance for puzzle input\n", | |
"[np.abs(puzzle_input7 - _).sum() for _ in (puzzle_input7_median+dp for dp in range(-1, 2))]" | |
], | |
"execution_count": 89, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[357355, 357353, 357355]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 89 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "3gPKQ9AQTp2i", | |
"outputId": "443fe2df-5cfd-4477-cc94-67674f862fc0" | |
}, | |
"source": [ | |
"# check answer is 357353\n", | |
"fuel == 357353" | |
], | |
"execution_count": 90, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 90 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "8dbZZ-YNU2yA" | |
}, | |
"source": [ | |
"# Day 7 part 2\n", | |
"more complicated fuel consumption" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "wDyh3vNGVBaM", | |
"outputId": "ea921282-91fd-4952-d14c-fed61ee3cab6" | |
}, | |
"source": [ | |
"# the mean was close to the answer for the example data,\n", | |
"# so let's just guess this is it, and brute force test it\n", | |
"puzzle_input7_mean = np.mean(puzzle_input7).astype(int)\n", | |
"puzzle_input7_mean" | |
], | |
"execution_count": 91, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"489" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 91 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "NWgWyXQ9Vn4z" | |
}, | |
"source": [ | |
"def sum_range(start, end):\n", | |
" \"\"\"find the sum of a sequence of numbers\"\"\"\n", | |
" return (start+end)*(end-start+1)/2\n", | |
"\n", | |
"\n", | |
"assert sum_range(1, 11) == 66" | |
], | |
"execution_count": 92, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "F-twuFyPWMkN", | |
"outputId": "e3f643e7-b155-478d-da9a-f089185b8aff" | |
}, | |
"source": [ | |
"# DEMO: test that 5 is the position with lowest fuel in example\n", | |
"[sum_range(1, np.abs(TEST_INPUT7 - _)).sum() for _ in range(2, 8)]" | |
], | |
"execution_count": 93, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[206.0, 183.0, 170.0, 168.0, 176.0, 194.0]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 93 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 295 | |
}, | |
"id": "mlS0zROjW5tz", | |
"outputId": "2228807b-4a55-475e-d98f-d442d1a5cc01" | |
}, | |
"source": [ | |
"startend = np.arange(puzzle_input7_mean-1, puzzle_input7_mean+3)\n", | |
"plt.plot(\n", | |
" startend,\n", | |
" [sum_range(1, np.abs(puzzle_input7 - _)).sum() for _ in startend])\n", | |
"plt.grid()\n", | |
"plt.title('treachery of whales')\n", | |
"plt.xlabel('crab horizontal position')\n", | |
"plt.ylabel('fuel consumption')\n", | |
"plt.savefig('whales.png')" | |
], | |
"execution_count": 94, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "XK559AoqZlB_", | |
"outputId": "9f8ea902-def2-42b0-9756-d644510bb967" | |
}, | |
"source": [ | |
"# DEMO: same range as plot\n", | |
"[sum_range(1, np.abs(puzzle_input7 - _)).sum() for _ in startend]" | |
], | |
"execution_count": 95, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[104823019.0, 104822130.0, 104822244.0, 104823358.0]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 95 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "HvJZwQOzW8vp", | |
"outputId": "af34cf5c-329e-45cb-cf04-1d1f873eaca4" | |
}, | |
"source": [ | |
"answer = sum_range(1, np.abs(puzzle_input7 - puzzle_input7_mean)).sum()\n", | |
"answer" | |
], | |
"execution_count": 96, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"104822130.0" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 96 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"metadata": { | |
"id": "2WasMvyiiJ_A" | |
}, | |
"source": [ | |
"# check answer is 104822130\n", | |
"assert answer == 104822130" | |
], | |
"execution_count": 97, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# day 8 part 1\n", | |
"Seven Segment Search" | |
], | |
"metadata": { | |
"id": "lW3P5o9BelYV" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input8.txt').open() as f:\n", | |
" puzzle_input8 = [[_.split() for _ in line.split('|')] for line in f]\n", | |
"puzzle_input8[0]" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "hfndJo0depYh", | |
"outputId": "2b35fb6a-31c6-463f-d7a8-eda51e9b7ed2" | |
}, | |
"execution_count": 98, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[['bg',\n", | |
" 'gcdaeb',\n", | |
" 'aebg',\n", | |
" 'efabdcg',\n", | |
" 'abdce',\n", | |
" 'cafdbe',\n", | |
" 'fcbdeg',\n", | |
" 'bdacg',\n", | |
" 'gbd',\n", | |
" 'cafgd'],\n", | |
" ['daecb', 'dcbae', 'gb', 'eabg']]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 98 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"notes, output_values = list(zip(*puzzle_input8))\n", | |
"output_values[0]" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "c1xCIo2liCol", | |
"outputId": "959f0acc-eb58-40fe-b3d7-d8608ec84baa" | |
}, | |
"execution_count": 99, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"['daecb', 'dcbae', 'gb', 'eabg']" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 99 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"UNIQUE_SEGMENTS = {2: 1, 4: 4, 3: 7, 7: 8}" | |
], | |
"metadata": { | |
"id": "Esol8Upbl3x2" | |
}, | |
"execution_count": 100, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def count_unique_digits(output_values):\n", | |
" digits_count = 0\n", | |
" for output_value in output_values:\n", | |
" output_value_counts = [len(_) for _ in output_value]\n", | |
" for test in UNIQUE_SEGMENTS:\n", | |
" digits_count += output_value_counts.count(test)\n", | |
" return digits_count\n", | |
"\n", | |
"\n", | |
"answer = count_unique_digits(output_values)\n", | |
"assert answer == 383\n", | |
"answer" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "s53Vg_Dem-N_", | |
"outputId": "12d699fe-a79b-4a55-8c54-16b041419493" | |
}, | |
"execution_count": 101, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"383" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 101 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"example_input8_str = \"\"\"be cfbegad cbdgef fgaecd cgeb fdcge agebfd fecdb fabcd edb | fdgacbe cefdb cefbgd gcbe\n", | |
"edbfga begcd cbg gc gcadebf fbgde acbgfd abcde gfcbed gfec | fcgedb cgb dgebacf gc\n", | |
"fgaebd cg bdaec gdafb agbcfd gdcbef bgcad gfac gcb cdgabef | cg cg fdcagb cbg\n", | |
"fbegcd cbd adcefb dageb afcb bc aefdc ecdab fgdeca fcdbega | efabcd cedba gadfec cb\n", | |
"aecbfdg fbg gf bafeg dbefa fcge gcbea fcaegb dgceab fcbdga | gecf egdcabf bgf bfgea\n", | |
"fgeab ca afcebg bdacfeg cfaedg gcfdb baec bfadeg bafgc acf | gebdcfa ecba ca fadegcb\n", | |
"dbcfg fgd bdegcaf fgec aegbdf ecdfab fbedc dacgb gdcebf gf | cefg dcbef fcge gbcadfe\n", | |
"bdfegc cbegaf gecbf dfcage bdacg ed bedf ced adcbefg gebcd | ed bcgafe cdgba cbgef\n", | |
"egadfb cdbfeg cegd fecab cgb gbdefca cg fgcdab egfdb bfceg | gbdfcae bgc cg cgb\n", | |
"gcafb gcf dcaebfg ecagb gf abcdeg gaef cafbge fdbac fegbdc | fgae cfgab fg bagce\"\"\"\n", | |
"example_input8 = [\n", | |
" [_.split() for _ in line.split('|')] for line in example_input8_str.split('\\n')]\n", | |
"example_notes, example_output_values = list(zip(*example_input8))\n", | |
"count_unique_digits(example_output_values)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "AcBH5jVInO-Q", | |
"outputId": "06ad5834-dae4-44e4-f803-2017abb43a4e" | |
}, | |
"execution_count": 102, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"26" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 102 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Day 8 part 2" | |
], | |
"metadata": { | |
"id": "GsFjjx4Oszu4" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"example_notes[0]" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "-WEgEybgnQhN", | |
"outputId": "6a182390-33a6-44f7-a801-318f5e27f50f" | |
}, | |
"execution_count": 103, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"['be',\n", | |
" 'cfbegad',\n", | |
" 'cbdgef',\n", | |
" 'fgaecd',\n", | |
" 'cgeb',\n", | |
" 'fdcge',\n", | |
" 'agebfd',\n", | |
" 'fecdb',\n", | |
" 'fabcd',\n", | |
" 'edb']" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 103 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# find easy digits\n", | |
"example_digits = {}\n", | |
"example_segments = {}\n", | |
"for test in example_notes[0]:\n", | |
" num_segments = len(test)\n", | |
" if num_segments in UNIQUE_SEGMENTS:\n", | |
" example_digits[test] = UNIQUE_SEGMENTS[num_segments]\n", | |
" example_segments[UNIQUE_SEGMENTS[num_segments]] = set(test)\n", | |
"\n", | |
"# use 1 and 7 to find top segment\n", | |
"top_segment = example_segments[7] - example_segments[1]\n", | |
"print(f\"top segment: {''.join(top_segment)}\")\n", | |
"\n", | |
"# find the number 3\n", | |
"middle_segments = ''\n", | |
"for test in example_notes[0]:\n", | |
" num_segments = len(test)\n", | |
" if (num_segments == 5) and (example_segments[1] < set(test)):\n", | |
" example_digits[test] = 3\n", | |
" example_segments[3] = set(test)\n", | |
" middle_segments = set(test) - example_segments[1]\n", | |
" print(f\"middle segments: {''.join(middle_segments)}\")\n", | |
" break\n", | |
"\n", | |
"# find 2 or 5\n", | |
"two_or_five = ''\n", | |
"two = '' # segment on bottom left\n", | |
"five = '' # segment on top left\n", | |
"six_or_nine = ''\n", | |
"six = '' # segment on bottom right\n", | |
"nine = '' # segment on top right\n", | |
"for test in example_notes[0]:\n", | |
" num_segments = len(test)\n", | |
" if num_segments == 5:\n", | |
" two_or_five = set(test) - middle_segments - example_segments[1]\n", | |
" six_or_nine = set(test) - middle_segments - two_or_five\n", | |
" if two_or_five:\n", | |
" # use 4 to determine if two or five\n", | |
" # b/c 4 shares top left with 5\n", | |
" if two_or_five < example_segments[4]: # five\n", | |
" example_digits[test] = 5\n", | |
" example_segments[5] = set(test)\n", | |
" five = ''.join(two_or_five)\n", | |
" print(f\"top left (five): {five}\")\n", | |
" six = ''.join(six_or_nine)\n", | |
" print(f\"bottom right (six): {six}\")\n", | |
" else: # two\n", | |
" example_digits[test] = 2\n", | |
" example_segments[2] = set(test)\n", | |
" two = ''.join(two_or_five)\n", | |
" print(f\"bottom left (two): {two}\")\n", | |
" nine = ''.join(six_or_nine)\n", | |
" print(f\"top right (nine): {nine}\")\n", | |
"\n", | |
"middle_segment = example_segments[4] - set(two) - example_segments[1]\n", | |
"print(f\"middle segment: {''.join(middle_segment)}\")\n", | |
"bottom_segment = middle_segments - top_segment - middle_segment\n", | |
"print(f\"bottom segment: {''.join(bottom_segment)}\")\n", | |
"zero = {two, five} | bottom_segment | top_segment | example_segments[1]\n", | |
"print(f\"zero: {''.join(zero)}\")\n", | |
"nine = {five} | middle_segments | example_segments[1]\n", | |
"print(f\"nine: {''.join(nine)}\")\n", | |
"six = {two, five, six} | middle_segments\n", | |
"print(f\"six: {''.join(six)}\")\n", | |
"\n", | |
"# this last part is a sanity check\n", | |
"for test in example_notes[0]:\n", | |
" num_segments = len(test)\n", | |
" if num_segments == 6:\n", | |
" if set(test) == zero:\n", | |
" example_digits[test] = 0\n", | |
" example_segments[0] = set(test)\n", | |
" print(f\"zero: {''.join(zero)}\")\n", | |
" elif set(test) == nine:\n", | |
" example_digits[test] = 9\n", | |
" example_segments[9] = set(test)\n", | |
" print(f\"nine: {''.join(nine)}\")\n", | |
" elif set(test) == six:\n", | |
" example_digits[test] = 6\n", | |
" example_segments[6] = set(test)\n", | |
" print(f\"six: {''.join(six)}\")" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Af5UCOGxntKk", | |
"outputId": "c9c351c8-c8e9-4cd5-b285-2222aca7edaf" | |
}, | |
"execution_count": 104, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"top segment: d\n", | |
"middle segments: fcd\n", | |
"top left (five): g\n", | |
"bottom right (six): e\n", | |
"bottom left (two): a\n", | |
"top right (nine): b\n", | |
"middle segment: gc\n", | |
"bottom segment: f\n", | |
"zero: ebfagd\n", | |
"nine: cbfegd\n", | |
"six: cfagde\n", | |
"nine: cbfegd\n", | |
"six: cfagde\n", | |
"zero: ebfagd\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"example_digits" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "827DjZxArD9a", | |
"outputId": "4e9e941b-0ba0-4731-d3c5-aca232a66c52" | |
}, | |
"execution_count": 105, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"{'agebfd': 0,\n", | |
" 'be': 1,\n", | |
" 'cbdgef': 9,\n", | |
" 'cfbegad': 8,\n", | |
" 'cgeb': 4,\n", | |
" 'edb': 7,\n", | |
" 'fabcd': 2,\n", | |
" 'fdcge': 5,\n", | |
" 'fecdb': 3,\n", | |
" 'fgaecd': 6}" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 105 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"example_segments" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "6FgM6deOx1rP", | |
"outputId": "4db04e9a-0846-4cc1-9221-361d2e6f398a" | |
}, | |
"execution_count": 106, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"{0: {'a', 'b', 'd', 'e', 'f', 'g'},\n", | |
" 1: {'b', 'e'},\n", | |
" 2: {'a', 'b', 'c', 'd', 'f'},\n", | |
" 3: {'b', 'c', 'd', 'e', 'f'},\n", | |
" 4: {'b', 'c', 'e', 'g'},\n", | |
" 5: {'c', 'd', 'e', 'f', 'g'},\n", | |
" 6: {'a', 'c', 'd', 'e', 'f', 'g'},\n", | |
" 7: {'b', 'd', 'e'},\n", | |
" 8: {'a', 'b', 'c', 'd', 'e', 'f', 'g'},\n", | |
" 9: {'b', 'c', 'd', 'e', 'f', 'g'}}" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 106 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def analyze_digits(notes):\n", | |
" # find easy digits\n", | |
" digits = {}\n", | |
" segments = {}\n", | |
" for test in notes:\n", | |
" num_segments = len(test)\n", | |
" if num_segments in UNIQUE_SEGMENTS:\n", | |
" digits[test] = UNIQUE_SEGMENTS[num_segments]\n", | |
" segments[UNIQUE_SEGMENTS[num_segments]] = set(test)\n", | |
"\n", | |
" # use 1 and 7 to find top segment\n", | |
" top_segment = segments[7] - segments[1]\n", | |
"\n", | |
" # find the number 3\n", | |
" middle_segments = ''\n", | |
" for test in notes:\n", | |
" num_segments = len(test)\n", | |
" if (num_segments == 5) and (segments[1] < set(test)):\n", | |
" digits[test] = 3\n", | |
" segments[3] = set(test)\n", | |
" middle_segments = set(test) - segments[1]\n", | |
" break\n", | |
"\n", | |
" # find 2 or 5\n", | |
" two_or_five = ''\n", | |
" two = '' # segment on bottom left\n", | |
" five = '' # segment on top left\n", | |
" six_or_nine = ''\n", | |
" six = '' # segment on bottom right\n", | |
" nine = '' # segment on top right\n", | |
" for test in notes:\n", | |
" num_segments = len(test)\n", | |
" if num_segments == 5:\n", | |
" two_or_five = set(test) - middle_segments - segments[1]\n", | |
" six_or_nine = set(test) - middle_segments - two_or_five\n", | |
" if two_or_five:\n", | |
" # use 4 to determine if two or five\n", | |
" # b/c 4 shares top left with 5\n", | |
" if two_or_five < segments[4]: # five\n", | |
" digits[test] = 5\n", | |
" segments[5] = set(test)\n", | |
" five = ''.join(two_or_five)\n", | |
" six = ''.join(six_or_nine)\n", | |
" else: # two\n", | |
" digits[test] = 2\n", | |
" segments[2] = set(test)\n", | |
" two = ''.join(two_or_five)\n", | |
" nine = ''.join(six_or_nine)\n", | |
"\n", | |
" middle_segment = segments[4] - set(two) - segments[1]\n", | |
" bottom_segment = middle_segments - top_segment - middle_segment\n", | |
" zero = {two, five} | bottom_segment | top_segment | segments[1]\n", | |
" nine = {five} | middle_segments | segments[1]\n", | |
" six = {two, five, six} | middle_segments\n", | |
"\n", | |
" # this last part is a sanity check\n", | |
" for test in notes:\n", | |
" num_segments = len(test)\n", | |
" if num_segments == 6:\n", | |
" if set(test) == zero:\n", | |
" digits[test] = 0\n", | |
" segments[0] = set(test)\n", | |
" elif set(test) == nine:\n", | |
" digits[test] = 9\n", | |
" segments[9] = set(test)\n", | |
" elif set(test) == six:\n", | |
" digits[test] = 6\n", | |
" segments[6] = set(test)\n", | |
" return digits, segments" | |
], | |
"metadata": { | |
"id": "5bPrP3yWyCPX" | |
}, | |
"execution_count": 107, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"digits, segments = analyze_digits(example_notes[0])\n", | |
"assert digits == example_digits\n", | |
"assert segments == example_segments" | |
], | |
"metadata": { | |
"id": "FNQ5KVTEy3mh" | |
}, | |
"execution_count": 108, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"example_note = \"\"\"acedgfb cdfbe gcdfa fbcad dab cefabd cdfgeb eafb cagedb ab\"\"\".split()\n", | |
"digits, segments = analyze_digits(example_note)\n", | |
"assert {\"acedgfb\": 8,\n", | |
" \"cdfbe\": 5,\n", | |
" \"gcdfa\": 2,\n", | |
" \"fbcad\": 3,\n", | |
" \"dab\": 7,\n", | |
" \"cefabd\": 9,\n", | |
" \"cdfgeb\": 6,\n", | |
" \"eafb\": 4,\n", | |
" \"cagedb\": 0,\n", | |
" \"ab\": 1} == digits" | |
], | |
"metadata": { | |
"id": "xz6ifiLz0hTb" | |
}, | |
"execution_count": 109, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"signal_pattern_test = \"cdfeb fcadb cdfeb cdbaf\".split()" | |
], | |
"metadata": { | |
"id": "msGfR-mwPmsg" | |
}, | |
"execution_count": 110, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def decode_signal(signal, segments):\n", | |
" decoded_signal = []\n", | |
" for s in signal:\n", | |
" for d in range(10):\n", | |
" if segments[d] == set(s):\n", | |
" decoded_signal.append(d)\n", | |
" return int(''.join(str(d) for d in decoded_signal))\n", | |
"\n", | |
"test_output = decode_signal(signal_pattern_test, segments)\n", | |
"assert test_output == 5353\n", | |
"test_output" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Ly1ma0peQwCV", | |
"outputId": "4297cded-13db-48d1-d97d-470d88cd98c9" | |
}, | |
"execution_count": 111, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"5353" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 111 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"EXPECTED_OUTPUT = [int(o) for o in \"\"\"8394\n", | |
"9781\n", | |
"1197\n", | |
"9361\n", | |
"4873\n", | |
"8418\n", | |
"4548\n", | |
"1625\n", | |
"8717\n", | |
"4315\"\"\".split()]\n", | |
"\n", | |
"test_output = []\n", | |
"for test_data, output in zip(example_notes, example_output_values):\n", | |
" digits, segments = analyze_digits(test_data)\n", | |
" test_output.append(decode_signal(output, segments))\n", | |
"assert test_output == EXPECTED_OUTPUT\n", | |
"test_output" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "bicIKte2RSe6", | |
"outputId": "031de386-0ced-4ada-df60-8a71b9f37fdc" | |
}, | |
"execution_count": 112, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[8394, 9781, 1197, 9361, 4873, 8418, 4548, 1625, 8717, 4315]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 112 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"output = []\n", | |
"for data, signal in puzzle_input8:\n", | |
" digits, segments = analyze_digits(data)\n", | |
" output.append(decode_signal(signal, segments))\n", | |
"sum(output)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "WsVljQzKSJAP", | |
"outputId": "c70c1d58-c927-476b-bd35-dda276f16aec" | |
}, | |
"execution_count": 113, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"998900" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 113 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# check answer is correct\n", | |
"assert sum(output) == 998900" | |
], | |
"metadata": { | |
"id": "uOx4CUe6SSEL" | |
}, | |
"execution_count": 114, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Day 9 part 1\n", | |
"Lava tubes" | |
], | |
"metadata": { | |
"id": "760uuDorlTo3" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"EXAMPLE9 = \"\"\"2199943210\n", | |
"3987894921\n", | |
"9856789892\n", | |
"8767896789\n", | |
"9899965678\"\"\".split()\n", | |
"EXAMPLE9 = np.array(\n", | |
" [[pos for pos in row] for row in EXAMPLE9], int)\n", | |
"EXPECTED_LOW_PTS = [1, 0, 5, 5]\n", | |
"EXPECTED_RISK = sum(pt+1 for pt in EXPECTED_LOW_PTS)\n", | |
"EXPECTED_RISK" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "9FPFDpmslW_a", | |
"outputId": "b8cd2978-df1d-408a-dc14-883263c601b7" | |
}, | |
"execution_count": 115, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"15" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 115 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"EXAMPLE9" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "21-D4svBnRk_", | |
"outputId": "98136aa5-2ebb-4831-d429-d179008d93a2" | |
}, | |
"execution_count": 116, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[2, 1, 9, 9, 9, 4, 3, 2, 1, 0],\n", | |
" [3, 9, 8, 7, 8, 9, 4, 9, 2, 1],\n", | |
" [9, 8, 5, 6, 7, 8, 9, 8, 9, 2],\n", | |
" [8, 7, 6, 7, 8, 9, 6, 7, 8, 9],\n", | |
" [9, 8, 9, 9, 9, 6, 5, 6, 7, 8]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 116 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def local_minima(heightmap):\n", | |
" \"\"\"https://stackoverflow.com/a/3986476/1020470\"\"\"\n", | |
" array2d = np.pad(heightmap, 1, mode='constant', constant_values=9)\n", | |
" loc_min = ((array2d <= np.roll(array2d, 1, 0)) &\n", | |
" (array2d <= np.roll(array2d, -1, 0)) &\n", | |
" (array2d <= np.roll(array2d, 1, 1)) &\n", | |
" (array2d <= np.roll(array2d, -1, 1)))\n", | |
" return loc_min[1:-1, 1:-1] & (heightmap != 9)\n", | |
"\n", | |
"\n", | |
"EXAMPLE9[local_minima(EXAMPLE9)]" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "KViyVHHXBIlU", | |
"outputId": "e6b445b8-d932-4e93-9a08-0f31ad45eeeb" | |
}, | |
"execution_count": 140, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([1, 0, 5, 5])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 140 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def find_low_pts(heightmap):\n", | |
" \"\"\"heightmap is a 2d numpy array\"\"\"\n", | |
" # left to right\n", | |
" dx = np.pad(np.sign(np.diff(heightmap, axis=1)), [(0, 0), (0, 1)])\n", | |
" dx2 = np.pad(np.diff(dx, axis=1), [(0, 0), (1, 0)])\n", | |
" # top to bottom\n", | |
" dy = np.pad(np.sign(np.diff(heightmap, axis=0)), [(0, 1), (0, 0)])\n", | |
" dy2 = np.pad(np.diff(dy, axis=0), [(1, 0), (0, 0)])\n", | |
" # right to left\n", | |
" dx_rev = np.pad(np.sign(-np.diff(heightmap, axis=1)), [(0, 0), (1, 0)])\n", | |
" dx2_rev = np.pad(-np.diff(dx_rev, axis=1), [(0, 0), (0, 1)])\n", | |
" # bottom to top\n", | |
" dy_rev = np.pad(np.sign(-np.diff(heightmap, axis=0)), [(1, 0), (0, 0)])\n", | |
" dy2_rev = np.pad(-np.diff(dy_rev, axis=0), [(0, 1), (0, 0)])\n", | |
" # find minima\n", | |
" dydx = dx2 + dy2 + dx2_rev + dy2_rev\n", | |
" # any local minima in the middle will be eight (8)\n", | |
" minima = dydx == 8\n", | |
" # check edges, local minima will be five (5)\n", | |
" minima[0, :] = (dydx[0, :] == 5)\n", | |
" minima[-1, :] = (dydx[-1, :] == 5)\n", | |
" minima[:, 0] = (dydx[:, 0] == 5)\n", | |
" minima[:, -1] = (dydx[:, -1] == 5)\n", | |
" # check corners, local minima will be two (2)\n", | |
" minima[0, 0] = (dydx[0, 0] == 2)\n", | |
" minima[0, -1] = (dydx[0, -1] == 2)\n", | |
" minima[-1, 0] = (dydx[-1, 0] == 2)\n", | |
" minima[-1, -1] = (dydx[-1, -1] == 2)\n", | |
" return heightmap[minima]\n", | |
"\n", | |
"\n", | |
"example_low_pts = find_low_pts(EXAMPLE9)\n", | |
"assert np.all(example_low_pts == EXPECTED_LOW_PTS)\n", | |
"assert np.sum(example_low_pts+1) == EXPECTED_RISK" | |
], | |
"metadata": { | |
"id": "5kVB51uirO5_" | |
}, | |
"execution_count": 117, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"with (AOC_DIR / 'puzzle_input9.txt').open() as f:\n", | |
" puzzle_input9 = np.array(\n", | |
" [[pos for pos in row.strip()] for row in f], int)\n", | |
"puzzle_input9[:10, :10]" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "6CLGwCWM7Ihh", | |
"outputId": "eaefb75f-0d1f-4321-ccd1-96afa4ee7395" | |
}, | |
"execution_count": 118, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[4, 5, 6, 7, 8, 9, 4, 3, 0, 1],\n", | |
" [3, 4, 5, 8, 9, 6, 3, 2, 1, 2],\n", | |
" [2, 3, 4, 8, 9, 5, 4, 3, 2, 9],\n", | |
" [1, 2, 3, 7, 8, 9, 5, 4, 9, 8],\n", | |
" [3, 4, 5, 6, 7, 9, 7, 9, 8, 7],\n", | |
" [4, 5, 6, 7, 9, 8, 9, 8, 9, 6],\n", | |
" [5, 6, 7, 9, 8, 7, 8, 7, 8, 9],\n", | |
" [8, 7, 9, 8, 7, 6, 5, 6, 7, 8],\n", | |
" [9, 9, 8, 7, 6, 5, 4, 6, 8, 8],\n", | |
" [2, 3, 9, 8, 5, 4, 3, 5, 6, 7]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 118 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"find_low_pts(puzzle_input9[:10, :10])" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "1y2UF2bC8zK1", | |
"outputId": "61e5fedd-895a-4991-b621-47ee3642979c" | |
}, | |
"execution_count": 119, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([0, 1, 6, 2, 3])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 119 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"low_pts = find_low_pts(puzzle_input9)\n", | |
"risk = np.sum(low_pts+1)\n", | |
"risk" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "_45Ci8ai9eOO", | |
"outputId": "7598ea2f-cb0e-4148-dc83-529067f7e2fb" | |
}, | |
"execution_count": 120, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"425" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 120 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# check answer is 425\n", | |
"assert risk == 425" | |
], | |
"metadata": { | |
"id": "5Slz7HMO940W" | |
}, | |
"execution_count": 121, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# try the stack overflow solution\n", | |
"so_solution = puzzle_input9[local_minima(puzzle_input9)]\n", | |
"sum(so_solution+1)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "LGoJG22jIrMm", | |
"outputId": "862d0500-6fc2-4226-99a4-840f42c5da6e" | |
}, | |
"execution_count": 141, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"425" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 141 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Day 9 part 2" | |
], | |
"metadata": { | |
"id": "oQtOEhKG-jS1" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"" | |
], | |
"metadata": { | |
"id": "Yj3rDDOs-h_R" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
122 | |
129 | |
116 | |
122 | |
135 | |
148 | |
151 | |
158 | |
161 | |
179 | |
197 | |
198 | |
187 | |
210 | |
211 | |
206 | |
207 | |
210 | |
211 | |
216 | |
222 | |
224 | |
222 | |
234 | |
237 | |
238 | |
239 | |
245 | |
276 | |
262 | |
268 | |
266 | |
293 | |
291 | |
293 | |
296 | |
298 | |
291 | |
292 | |
295 | |
297 | |
298 | |
297 | |
300 | |
297 | |
309 | |
315 | |
319 | |
320 | |
319 | |
323 | |
338 | |
349 | |
351 | |
352 | |
354 | |
348 | |
366 | |
365 | |
388 | |
385 | |
379 | |
381 | |
385 | |
391 | |
392 | |
405 | |
407 | |
415 | |
427 | |
433 | |
436 | |
439 | |
444 | |
450 | |
449 | |
453 | |
457 | |
459 | |
460 | |
467 | |
471 | |
474 | |
473 | |
477 | |
487 | |
489 | |
498 | |
512 | |
516 | |
507 | |
526 | |
544 | |
560 | |
570 | |
569 | |
580 | |
590 | |
591 | |
593 | |
596 | |
597 | |
598 | |
604 | |
599 | |
608 | |
603 | |
616 | |
649 | |
636 | |
649 | |
648 | |
653 | |
654 | |
655 | |
656 | |
664 | |
666 | |
669 | |
663 | |
661 | |
682 | |
681 | |
685 | |
693 | |
701 | |
727 | |
706 | |
704 | |
705 | |
706 | |
711 | |
716 | |
711 | |
721 | |
728 | |
724 | |
734 | |
733 | |
737 | |
736 | |
742 | |
743 | |
742 | |
744 | |
745 | |
749 | |
750 | |
760 | |
767 | |
787 | |
788 | |
787 | |
789 | |
785 | |
798 | |
796 | |
797 | |
798 | |
800 | |
807 | |
817 | |
829 | |
828 | |
830 | |
831 | |
863 | |
865 | |
867 | |
868 | |
893 | |
891 | |
881 | |
889 | |
890 | |
914 | |
918 | |
919 | |
925 | |
938 | |
941 | |
927 | |
928 | |
900 | |
901 | |
899 | |
901 | |
911 | |
919 | |
918 | |
922 | |
942 | |
928 | |
947 | |
945 | |
950 | |
956 | |
979 | |
989 | |
990 | |
1001 | |
995 | |
997 | |
995 | |
1007 | |
1001 | |
998 | |
999 | |
1008 | |
1018 | |
1019 | |
1020 | |
1019 | |
1012 | |
1040 | |
1038 | |
1029 | |
1027 | |
1028 | |
1029 | |
993 | |
995 | |
994 | |
980 | |
990 | |
991 | |
990 | |
1012 | |
1024 | |
1037 | |
1039 | |
1037 | |
1053 | |
1029 | |
1048 | |
1050 | |
1055 | |
1058 | |
1059 | |
1064 | |
1062 | |
1087 | |
1079 | |
1081 | |
1088 | |
1090 | |
1113 | |
1110 | |
1119 | |
1123 | |
1126 | |
1127 | |
1126 | |
1131 | |
1135 | |
1137 | |
1140 | |
1142 | |
1143 | |
1145 | |
1146 | |
1147 | |
1139 | |
1140 | |
1143 | |
1136 | |
1105 | |
1108 | |
1109 | |
1098 | |
1121 | |
1126 | |
1096 | |
1090 | |
1058 | |
1061 | |
1063 | |
1068 | |
1072 | |
1073 | |
1104 | |
1111 | |
1108 | |
1110 | |
1152 | |
1153 | |
1157 | |
1158 | |
1162 | |
1167 | |
1164 | |
1167 | |
1168 | |
1169 | |
1168 | |
1166 | |
1171 | |
1172 | |
1175 | |
1177 | |
1184 | |
1187 | |
1191 | |
1196 | |
1197 | |
1193 | |
1204 | |
1209 | |
1212 | |
1213 | |
1234 | |
1238 | |
1242 | |
1257 | |
1268 | |
1254 | |
1237 | |
1228 | |
1226 | |
1222 | |
1209 | |
1211 | |
1212 | |
1219 | |
1226 | |
1227 | |
1235 | |
1245 | |
1258 | |
1264 | |
1277 | |
1276 | |
1285 | |
1288 | |
1287 | |
1289 | |
1290 | |
1291 | |
1290 | |
1286 | |
1290 | |
1285 | |
1286 | |
1290 | |
1291 | |
1286 | |
1297 | |
1302 | |
1305 | |
1304 | |
1305 | |
1318 | |
1324 | |
1347 | |
1348 | |
1353 | |
1354 | |
1371 | |
1370 | |
1371 | |
1373 | |
1369 | |
1347 | |
1351 | |
1352 | |
1371 | |
1373 | |
1379 | |
1383 | |
1390 | |
1391 | |
1394 | |
1399 | |
1398 | |
1401 | |
1402 | |
1406 | |
1409 | |
1413 | |
1412 | |
1420 | |
1423 | |
1424 | |
1431 | |
1433 | |
1420 | |
1421 | |
1422 | |
1423 | |
1439 | |
1404 | |
1416 | |
1404 | |
1423 | |
1424 | |
1427 | |
1444 | |
1420 | |
1423 | |
1417 | |
1418 | |
1414 | |
1440 | |
1441 | |
1445 | |
1469 | |
1476 | |
1481 | |
1480 | |
1484 | |
1483 | |
1482 | |
1458 | |
1459 | |
1433 | |
1431 | |
1433 | |
1426 | |
1436 | |
1437 | |
1452 | |
1454 | |
1455 | |
1456 | |
1474 | |
1463 | |
1477 | |
1479 | |
1501 | |
1496 | |
1494 | |
1493 | |
1496 | |
1505 | |
1506 | |
1511 | |
1516 | |
1517 | |
1510 | |
1514 | |
1513 | |
1509 | |
1512 | |
1543 | |
1544 | |
1526 | |
1532 | |
1534 | |
1538 | |
1540 | |
1518 | |
1519 | |
1528 | |
1530 | |
1531 | |
1534 | |
1537 | |
1551 | |
1552 | |
1550 | |
1548 | |
1545 | |
1564 | |
1585 | |
1615 | |
1618 | |
1617 | |
1623 | |
1640 | |
1638 | |
1637 | |
1639 | |
1641 | |
1672 | |
1676 | |
1679 | |
1681 | |
1678 | |
1689 | |
1696 | |
1703 | |
1704 | |
1703 | |
1699 | |
1700 | |
1719 | |
1732 | |
1692 | |
1693 | |
1698 | |
1712 | |
1713 | |
1712 | |
1705 | |
1716 | |
1731 | |
1748 | |
1749 | |
1747 | |
1749 | |
1750 | |
1768 | |
1783 | |
1784 | |
1791 | |
1793 | |
1798 | |
1799 | |
1800 | |
1807 | |
1812 | |
1822 | |
1847 | |
1852 | |
1843 | |
1849 | |
1855 | |
1870 | |
1868 | |
1869 | |
1873 | |
1875 | |
1889 | |
1878 | |
1879 | |
1880 | |
1886 | |
1891 | |
1895 | |
1891 | |
1890 | |
1891 | |
1892 | |
1897 | |
1898 | |
1899 | |
1910 | |
1897 | |
1898 | |
1899 | |
1895 | |
1892 | |
1905 | |
1913 | |
1920 | |
1921 | |
1923 | |
1941 | |
1960 | |
1962 | |
1971 | |
1972 | |
1962 | |
1965 | |
1977 | |
1976 | |
1993 | |
1995 | |
1997 | |
1992 | |
1987 | |
1993 | |
1977 | |
1978 | |
1979 | |
1974 | |
1981 | |
1978 | |
1973 | |
1977 | |
1984 | |
1979 | |
1984 | |
2027 | |
2054 | |
2055 | |
2058 | |
2060 | |
2059 | |
2060 | |
2066 | |
2062 | |
2066 | |
2074 | |
2064 | |
2065 | |
2064 | |
2071 | |
2077 | |
2078 | |
2082 | |
2078 | |
2092 | |
2093 | |
2095 | |
2100 | |
2101 | |
2104 | |
2110 | |
2106 | |
2107 | |
2113 | |
2112 | |
2138 | |
2143 | |
2151 | |
2150 | |
2151 | |
2147 | |
2169 | |
2171 | |
2174 | |
2193 | |
2196 | |
2183 | |
2201 | |
2198 | |
2199 | |
2197 | |
2194 | |
2195 | |
2206 | |
2220 | |
2219 | |
2224 | |
2242 | |
2230 | |
2231 | |
2237 | |
2255 | |
2256 | |
2252 | |
2251 | |
2259 | |
2256 | |
2258 | |
2286 | |
2291 | |
2295 | |
2296 | |
2267 | |
2275 | |
2287 | |
2288 | |
2272 | |
2269 | |
2270 | |
2278 | |
2279 | |
2282 | |
2265 | |
2282 | |
2284 | |
2292 | |
2296 | |
2301 | |
2302 | |
2319 | |
2320 | |
2314 | |
2316 | |
2317 | |
2313 | |
2314 | |
2319 | |
2314 | |
2328 | |
2334 | |
2347 | |
2352 | |
2353 | |
2354 | |
2352 | |
2354 | |
2362 | |
2374 | |
2383 | |
2382 | |
2384 | |
2383 | |
2384 | |
2388 | |
2390 | |
2396 | |
2405 | |
2406 | |
2429 | |
2430 | |
2427 | |
2460 | |
2461 | |
2474 | |
2479 | |
2493 | |
2494 | |
2493 | |
2488 | |
2489 | |
2511 | |
2512 | |
2504 | |
2520 | |
2529 | |
2524 | |
2523 | |
2536 | |
2567 | |
2571 | |
2589 | |
2594 | |
2595 | |
2594 | |
2583 | |
2568 | |
2566 | |
2557 | |
2558 | |
2559 | |
2557 | |
2558 | |
2561 | |
2582 | |
2586 | |
2604 | |
2603 | |
2604 | |
2618 | |
2630 | |
2632 | |
2633 | |
2644 | |
2650 | |
2651 | |
2666 | |
2669 | |
2683 | |
2691 | |
2686 | |
2683 | |
2687 | |
2683 | |
2684 | |
2707 | |
2723 | |
2733 | |
2739 | |
2750 | |
2751 | |
2750 | |
2754 | |
2757 | |
2756 | |
2735 | |
2736 | |
2743 | |
2728 | |
2717 | |
2689 | |
2690 | |
2732 | |
2743 | |
2746 | |
2747 | |
2750 | |
2755 | |
2756 | |
2770 | |
2772 | |
2781 | |
2789 | |
2790 | |
2801 | |
2802 | |
2799 | |
2800 | |
2816 | |
2823 | |
2822 | |
2839 | |
2840 | |
2843 | |
2852 | |
2854 | |
2881 | |
2890 | |
2901 | |
2908 | |
2906 | |
2910 | |
2896 | |
2898 | |
2914 | |
2923 | |
2936 | |
2958 | |
2928 | |
2929 | |
2928 | |
2929 | |
2930 | |
2935 | |
2942 | |
2930 | |
2951 | |
2979 | |
2992 | |
2991 | |
2992 | |
3016 | |
2993 | |
2994 | |
2999 | |
3016 | |
3017 | |
3022 | |
3031 | |
3032 | |
3033 | |
3039 | |
3042 | |
3040 | |
3041 | |
3040 | |
3049 | |
3048 | |
3050 | |
3054 | |
3048 | |
3056 | |
3061 | |
3062 | |
3056 | |
3049 | |
3062 | |
3053 | |
3050 | |
3051 | |
3053 | |
3056 | |
3072 | |
3073 | |
3068 | |
3086 | |
3093 | |
3107 | |
3104 | |
3102 | |
3103 | |
3102 | |
3104 | |
3093 | |
3094 | |
3095 | |
3097 | |
3096 | |
3080 | |
3087 | |
3103 | |
3107 | |
3142 | |
3139 | |
3138 | |
3141 | |
3140 | |
3156 | |
3161 | |
3142 | |
3141 | |
3152 | |
3154 | |
3153 | |
3152 | |
3144 | |
3150 | |
3148 | |
3150 | |
3169 | |
3151 | |
3154 | |
3152 | |
3154 | |
3162 | |
3157 | |
3158 | |
3163 | |
3169 | |
3176 | |
3220 | |
3229 | |
3224 | |
3211 | |
3227 | |
3231 | |
3234 | |
3249 | |
3250 | |
3253 | |
3259 | |
3251 | |
3249 | |
3250 | |
3251 | |
3243 | |
3263 | |
3267 | |
3275 | |
3282 | |
3292 | |
3295 | |
3263 | |
3262 | |
3264 | |
3263 | |
3262 | |
3266 | |
3261 | |
3272 | |
3245 | |
3252 | |
3250 | |
3251 | |
3252 | |
3254 | |
3278 | |
3285 | |
3292 | |
3295 | |
3294 | |
3293 | |
3314 | |
3315 | |
3323 | |
3321 | |
3334 | |
3335 | |
3342 | |
3345 | |
3346 | |
3352 | |
3350 | |
3355 | |
3358 | |
3357 | |
3360 | |
3354 | |
3357 | |
3366 | |
3368 | |
3373 | |
3374 | |
3373 | |
3364 | |
3374 | |
3380 | |
3386 | |
3385 | |
3387 | |
3400 | |
3401 | |
3407 | |
3409 | |
3426 | |
3440 | |
3445 | |
3442 | |
3452 | |
3453 | |
3460 | |
3456 | |
3465 | |
3459 | |
3457 | |
3460 | |
3459 | |
3466 | |
3472 | |
3475 | |
3474 | |
3477 | |
3473 | |
3478 | |
3477 | |
3472 | |
3459 | |
3486 | |
3494 | |
3506 | |
3513 | |
3514 | |
3518 | |
3521 | |
3516 | |
3518 | |
3516 | |
3521 | |
3519 | |
3512 | |
3513 | |
3510 | |
3511 | |
3512 | |
3538 | |
3542 | |
3545 | |
3546 | |
3548 | |
3546 | |
3556 | |
3546 | |
3549 | |
3541 | |
3553 | |
3556 | |
3560 | |
3561 | |
3567 | |
3574 | |
3580 | |
3596 | |
3599 | |
3621 | |
3620 | |
3625 | |
3627 | |
3623 | |
3624 | |
3657 | |
3665 | |
3664 | |
3672 | |
3671 | |
3666 | |
3662 | |
3655 | |
3656 | |
3655 | |
3656 | |
3661 | |
3663 | |
3666 | |
3670 | |
3672 | |
3673 | |
3645 | |
3650 | |
3644 | |
3643 | |
3644 | |
3646 | |
3644 | |
3660 | |
3685 | |
3688 | |
3684 | |
3696 | |
3698 | |
3702 | |
3707 | |
3713 | |
3725 | |
3726 | |
3728 | |
3729 | |
3733 | |
3745 | |
3739 | |
3742 | |
3746 | |
3747 | |
3748 | |
3740 | |
3735 | |
3740 | |
3735 | |
3750 | |
3752 | |
3751 | |
3731 | |
3732 | |
3721 | |
3724 | |
3725 | |
3734 | |
3735 | |
3748 | |
3747 | |
3749 | |
3756 | |
3757 | |
3756 | |
3757 | |
3758 | |
3748 | |
3730 | |
3732 | |
3725 | |
3722 | |
3711 | |
3710 | |
3714 | |
3715 | |
3712 | |
3713 | |
3712 | |
3713 | |
3714 | |
3716 | |
3717 | |
3718 | |
3716 | |
3715 | |
3705 | |
3706 | |
3713 | |
3714 | |
3731 | |
3759 | |
3757 | |
3753 | |
3764 | |
3781 | |
3788 | |
3790 | |
3805 | |
3806 | |
3809 | |
3804 | |
3821 | |
3825 | |
3826 | |
3832 | |
3799 | |
3806 | |
3819 | |
3820 | |
3825 | |
3827 | |
3830 | |
3837 | |
3818 | |
3807 | |
3811 | |
3817 | |
3821 | |
3832 | |
3833 | |
3821 | |
3816 | |
3817 | |
3819 | |
3818 | |
3824 | |
3836 | |
3837 | |
3838 | |
3855 | |
3848 | |
3849 | |
3857 | |
3856 | |
3855 | |
3868 | |
3872 | |
3873 | |
3878 | |
3896 | |
3915 | |
3918 | |
3921 | |
3925 | |
3920 | |
3926 | |
3919 | |
3920 | |
3916 | |
3917 | |
3923 | |
3936 | |
3910 | |
3908 | |
3914 | |
3915 | |
3925 | |
3928 | |
3929 | |
3930 | |
3932 | |
3933 | |
3934 | |
3946 | |
3950 | |
3952 | |
3939 | |
3938 | |
3947 | |
3951 | |
3953 | |
3954 | |
3955 | |
3958 | |
3963 | |
3972 | |
3965 | |
3976 | |
3978 | |
3979 | |
4008 | |
4003 | |
4025 | |
4028 | |
4041 | |
4040 | |
4041 | |
4044 | |
4043 | |
4057 | |
4054 | |
4049 | |
4050 | |
4028 | |
4033 | |
4014 | |
4015 | |
4027 | |
4028 | |
4036 | |
4040 | |
4035 | |
4036 | |
4037 | |
4040 | |
4032 | |
4038 | |
4037 | |
4030 | |
4028 | |
4032 | |
4031 | |
4030 | |
4048 | |
4046 | |
4060 | |
4059 | |
4035 | |
4031 | |
4033 | |
4034 | |
4061 | |
4051 | |
4052 | |
4053 | |
4047 | |
4048 | |
4049 | |
4051 | |
4052 | |
4053 | |
4061 | |
4050 | |
4044 | |
4046 | |
4049 | |
4035 | |
4037 | |
4031 | |
4028 | |
4027 | |
4026 | |
4025 | |
4023 | |
4034 | |
4032 | |
4035 | |
4036 | |
4041 | |
4038 | |
4039 | |
4032 | |
4036 | |
4035 | |
4048 | |
4068 | |
4069 | |
4076 | |
4097 | |
4098 | |
4067 | |
4074 | |
4051 | |
4052 | |
4055 | |
4053 | |
4059 | |
4074 | |
4080 | |
4082 | |
4084 | |
4085 | |
4076 | |
4077 | |
4079 | |
4082 | |
4089 | |
4092 | |
4088 | |
4092 | |
4094 | |
4098 | |
4096 | |
4093 | |
4096 | |
4104 | |
4106 | |
4102 | |
4111 | |
4114 | |
4110 | |
4111 | |
4112 | |
4115 | |
4114 | |
4116 | |
4133 | |
4153 | |
4146 | |
4148 | |
4127 | |
4129 | |
4130 | |
4135 | |
4138 | |
4156 | |
4165 | |
4182 | |
4179 | |
4193 | |
4209 | |
4221 | |
4222 | |
4227 | |
4241 | |
4243 | |
4288 | |
4289 | |
4287 | |
4290 | |
4291 | |
4320 | |
4321 | |
4322 | |
4324 | |
4347 | |
4318 | |
4325 | |
4326 | |
4338 | |
4333 | |
4335 | |
4338 | |
4344 | |
4346 | |
4353 | |
4347 | |
4338 | |
4339 | |
4300 | |
4299 | |
4303 | |
4302 | |
4300 | |
4293 | |
4308 | |
4302 | |
4286 | |
4287 | |
4284 | |
4285 | |
4286 | |
4288 | |
4292 | |
4279 | |
4280 | |
4278 | |
4280 | |
4282 | |
4284 | |
4293 | |
4322 | |
4323 | |
4338 | |
4336 | |
4335 | |
4338 | |
4344 | |
4338 | |
4336 | |
4359 | |
4358 | |
4360 | |
4361 | |
4364 | |
4366 | |
4367 | |
4366 | |
4367 | |
4369 | |
4370 | |
4373 | |
4377 | |
4376 | |
4394 | |
4395 | |
4404 | |
4409 | |
4406 | |
4408 | |
4436 | |
4439 | |
4445 | |
4433 | |
4423 | |
4409 | |
4438 | |
4443 | |
4463 | |
4475 | |
4472 | |
4482 | |
4487 | |
4513 | |
4516 | |
4514 | |
4527 | |
4528 | |
4538 | |
4548 | |
4549 | |
4547 | |
4551 | |
4554 | |
4547 | |
4549 | |
4546 | |
4548 | |
4532 | |
4517 | |
4525 | |
4549 | |
4531 | |
4526 | |
4523 | |
4524 | |
4545 | |
4532 | |
4535 | |
4532 | |
4537 | |
4542 | |
4543 | |
4545 | |
4556 | |
4561 | |
4558 | |
4559 | |
4576 | |
4583 | |
4585 | |
4591 | |
4587 | |
4597 | |
4616 | |
4627 | |
4634 | |
4645 | |
4632 | |
4634 | |
4640 | |
4671 | |
4672 | |
4674 | |
4684 | |
4682 | |
4692 | |
4704 | |
4700 | |
4689 | |
4690 | |
4693 | |
4694 | |
4703 | |
4706 | |
4692 | |
4702 | |
4703 | |
4707 | |
4722 | |
4725 | |
4727 | |
4728 | |
4739 | |
4742 | |
4755 | |
4758 | |
4753 | |
4756 | |
4768 | |
4774 | |
4781 | |
4788 | |
4789 | |
4788 | |
4790 | |
4791 | |
4780 | |
4769 | |
4775 | |
4769 | |
4743 | |
4746 | |
4760 | |
4770 | |
4771 | |
4780 | |
4781 | |
4770 | |
4767 | |
4793 | |
4790 | |
4792 | |
4791 | |
4794 | |
4790 | |
4808 | |
4814 | |
4811 | |
4807 | |
4808 | |
4810 | |
4818 | |
4826 | |
4832 | |
4839 | |
4842 | |
4835 | |
4844 | |
4865 | |
4881 | |
4887 | |
4891 | |
4874 | |
4878 | |
4860 | |
4865 | |
4870 | |
4869 | |
4875 | |
4876 | |
4877 | |
4885 | |
4886 | |
4911 | |
4912 | |
4917 | |
4918 | |
4927 | |
4909 | |
4913 | |
4915 | |
4917 | |
4928 | |
4929 | |
4927 | |
4928 | |
4929 | |
4923 | |
4922 | |
4956 | |
4968 | |
4965 | |
4967 | |
4975 | |
4976 | |
4978 | |
4974 | |
4990 | |
5021 | |
5025 | |
5029 | |
5030 | |
5028 | |
5030 | |
5035 | |
5055 | |
5038 | |
5052 | |
5053 | |
5069 | |
5046 | |
5048 | |
5052 | |
5076 | |
5092 | |
5111 | |
5118 | |
5122 | |
5133 | |
5153 | |
5157 | |
5162 | |
5165 | |
5164 | |
5163 | |
5164 | |
5165 | |
5160 | |
5159 | |
5162 | |
5164 | |
5169 | |
5183 | |
5175 | |
5207 | |
5208 | |
5187 | |
5192 | |
5197 | |
5194 | |
5204 | |
5208 | |
5213 | |
5223 | |
5221 | |
5236 | |
5237 | |
5243 | |
5248 | |
5253 | |
5238 | |
5220 | |
5221 | |
5228 | |
5226 | |
5229 | |
5231 | |
5228 | |
5230 | |
5231 | |
5224 | |
5234 | |
5235 | |
5237 | |
5239 | |
5248 | |
5250 | |
5251 | |
5256 | |
5270 | |
5271 | |
5286 | |
5282 | |
5284 | |
5282 | |
5276 | |
5278 | |
5285 | |
5303 | |
5306 | |
5314 | |
5315 | |
5317 | |
5316 | |
5317 | |
5318 | |
5324 | |
5325 | |
5331 | |
5325 | |
5355 | |
5356 | |
5358 | |
5348 | |
5341 | |
5346 | |
5351 | |
5353 | |
5376 | |
5370 | |
5375 | |
5380 | |
5384 | |
5391 | |
5392 | |
5408 | |
5415 | |
5416 | |
5417 | |
5406 | |
5407 | |
5410 | |
5411 | |
5412 | |
5416 | |
5414 | |
5431 | |
5433 | |
5434 | |
5435 | |
5460 | |
5463 | |
5464 | |
5476 | |
5477 | |
5480 | |
5481 | |
5480 | |
5478 | |
5479 | |
5470 | |
5477 | |
5473 | |
5468 | |
5493 | |
5496 | |
5497 | |
5499 | |
5501 | |
5529 | |
5499 | |
5511 | |
5542 | |
5547 | |
5548 | |
5550 | |
5582 | |
5581 | |
5563 | |
5586 | |
5590 | |
5585 | |
5580 | |
5608 | |
5614 | |
5605 | |
5598 | |
5613 | |
5611 | |
5616 | |
5646 | |
5653 | |
5662 | |
5660 | |
5665 | |
5673 | |
5675 | |
5682 | |
5681 | |
5683 | |
5701 | |
5711 | |
5710 | |
5711 | |
5713 | |
5715 | |
5726 | |
5737 | |
5733 | |
5737 | |
5751 | |
5752 | |
5747 | |
5732 | |
5736 | |
5738 | |
5739 | |
5735 | |
5736 | |
5739 | |
5741 | |
5744 | |
5760 | |
5763 | |
5755 | |
5760 | |
5765 | |
5767 | |
5772 | |
5776 | |
5777 | |
5779 | |
5760 | |
5755 | |
5760 | |
5777 | |
5781 | |
5763 | |
5750 | |
5758 | |
5753 | |
5765 | |
5767 | |
5769 | |
5802 | |
5793 | |
5797 | |
5794 | |
5792 | |
5791 | |
5792 | |
5806 | |
5812 | |
5813 | |
5814 | |
5815 | |
5814 | |
5818 | |
5836 | |
5841 | |
5848 | |
5854 | |
5857 | |
5887 | |
5888 | |
5885 | |
5886 | |
5884 | |
5883 | |
5887 | |
5894 | |
5895 | |
5896 | |
5893 | |
5892 | |
5907 | |
5906 | |
5940 | |
5937 | |
5947 | |
5949 | |
5947 | |
5940 | |
5939 | |
5956 | |
5959 | |
5961 | |
5972 | |
5979 | |
5981 | |
5982 | |
5977 | |
5978 | |
5963 | |
5965 | |
5966 | |
5972 | |
5973 | |
5974 | |
5977 | |
5980 | |
5986 | |
5987 | |
5967 | |
5979 | |
5980 | |
5983 | |
5987 | |
5989 | |
6007 | |
6018 | |
6017 | |
6018 | |
6019 | |
6018 | |
6020 | |
6021 | |
6035 | |
6036 | |
6042 | |
6049 | |
6060 | |
6056 | |
6054 | |
6052 | |
6051 | |
6050 | |
6063 | |
6064 | |
6055 | |
6061 | |
6063 | |
6062 | |
6064 | |
6077 | |
6088 | |
6108 | |
6129 | |
6131 | |
6133 | |
6137 | |
6136 | |
6151 | |
6153 | |
6158 | |
6173 | |
6176 | |
6181 | |
6197 | |
6200 | |
6202 | |
6204 | |
6209 | |
6200 | |
6199 | |
6186 | |
6210 | |
6218 | |
6219 | |
6229 | |
6240 | |
6252 | |
6247 | |
6249 | |
6250 | |
6253 | |
6254 | |
6280 | |
6283 | |
6292 | |
6293 | |
6300 | |
6301 | |
6302 | |
6305 | |
6307 | |
6321 | |
6322 | |
6327 | |
6326 | |
6327 | |
6339 | |
6342 | |
6328 | |
6329 | |
6327 | |
6316 | |
6317 | |
6323 | |
6332 | |
6344 | |
6374 | |
6395 | |
6398 | |
6396 | |
6412 | |
6421 | |
6424 | |
6445 | |
6451 | |
6453 | |
6454 | |
6459 | |
6460 | |
6461 | |
6471 | |
6467 | |
6447 | |
6449 | |
6458 | |
6460 | |
6463 | |
6464 | |
6468 | |
6503 | |
6504 | |
6505 | |
6498 | |
6499 | |
6502 | |
6490 | |
6495 | |
6527 | |
6529 | |
6533 | |
6529 | |
6539 | |
6547 | |
6560 | |
6561 | |
6551 | |
6563 | |
6567 | |
6563 | |
6589 | |
6585 | |
6588 | |
6564 | |
6569 | |
6563 | |
6591 | |
6601 | |
6632 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
forward 3 | |
down 7 | |
forward 8 | |
down 9 | |
forward 3 | |
down 5 | |
down 9 | |
down 6 | |
forward 1 | |
forward 8 | |
forward 9 | |
forward 3 | |
down 7 | |
down 8 | |
up 3 | |
down 5 | |
down 8 | |
down 9 | |
forward 5 | |
forward 6 | |
down 2 | |
forward 1 | |
forward 3 | |
down 9 | |
up 6 | |
up 2 | |
down 7 | |
down 9 | |
forward 2 | |
down 9 | |
up 3 | |
forward 5 | |
up 9 | |
up 9 | |
forward 4 | |
down 6 | |
up 7 | |
up 8 | |
up 6 | |
up 2 | |
down 7 | |
forward 9 | |
down 4 | |
forward 2 | |
forward 1 | |
up 7 | |
down 2 | |
down 8 | |
down 8 | |
down 2 | |
down 7 | |
down 3 | |
up 4 | |
down 7 | |
down 1 | |
down 7 | |
down 7 | |
forward 8 | |
forward 1 | |
forward 5 | |
forward 1 | |
forward 9 | |
forward 3 | |
forward 5 | |
down 3 | |
forward 9 | |
down 4 | |
down 2 | |
forward 5 | |
down 4 | |
down 4 | |
down 4 | |
down 9 | |
down 6 | |
down 5 | |
forward 2 | |
down 2 | |
down 8 | |
down 8 | |
down 7 | |
down 2 | |
down 8 | |
down 6 | |
down 4 | |
down 7 | |
up 8 | |
up 7 | |
up 6 | |
down 4 | |
down 2 | |
up 4 | |
up 8 | |
up 4 | |
down 4 | |
down 3 | |
forward 7 | |
forward 8 | |
up 1 | |
up 1 | |
up 7 | |
forward 2 | |
down 2 | |
forward 7 | |
forward 7 | |
forward 7 | |
down 2 | |
down 2 | |
forward 5 | |
down 3 | |
forward 3 | |
down 6 | |
down 9 | |
down 4 | |
down 1 | |
forward 2 | |
forward 2 | |
down 8 | |
down 9 | |
up 3 | |
forward 8 | |
down 7 | |
forward 6 | |
forward 6 | |
down 9 | |
up 2 | |
up 9 | |
down 2 | |
down 8 | |
up 2 | |
forward 6 | |
down 5 | |
up 9 | |
forward 6 | |
down 3 | |
down 9 | |
forward 8 | |
forward 8 | |
forward 1 | |
forward 6 | |
down 7 | |
forward 3 | |
forward 5 | |
forward 6 | |
down 1 | |
down 1 | |
forward 3 | |
forward 8 | |
forward 8 | |
up 5 | |
down 6 | |
up 5 | |
down 1 | |
up 3 | |
down 6 | |
forward 1 | |
up 3 | |
up 4 | |
down 8 | |
down 2 | |
up 2 | |
forward 1 | |
forward 2 | |
forward 6 | |
up 2 | |
down 3 | |
up 5 | |
down 5 | |
down 7 | |
up 6 | |
up 6 | |
down 8 | |
forward 7 | |
forward 2 | |
forward 3 | |
up 5 | |
down 5 | |
down 6 | |
down 4 | |
forward 8 | |
up 1 | |
forward 5 | |
up 1 | |
forward 4 | |
forward 3 | |
forward 4 | |
down 2 | |
up 5 | |
up 4 | |
down 5 | |
forward 1 | |
forward 8 | |
down 7 | |
down 1 | |
down 7 | |
forward 6 | |
down 4 | |
down 6 | |
forward 6 | |
down 8 | |
forward 7 | |
down 4 | |
down 8 | |
up 7 | |
down 6 | |
down 2 | |
up 8 | |
down 7 | |
down 8 | |
down 6 | |
down 3 | |
up 1 | |
down 7 | |
forward 1 | |
down 3 | |
down 5 | |
down 9 | |
down 3 | |
forward 1 | |
forward 4 | |
forward 2 | |
down 8 | |
forward 7 | |
down 3 | |
down 7 | |
forward 7 | |
down 4 | |
down 5 | |
down 1 | |
forward 2 | |
down 7 | |
forward 3 | |
forward 4 | |
down 8 | |
up 6 | |
down 4 | |
up 5 | |
forward 5 | |
forward 7 | |
up 8 | |
forward 6 | |
up 3 | |
forward 9 | |
up 9 | |
down 1 | |
down 2 | |
forward 6 | |
down 5 | |
forward 6 | |
down 7 | |
forward 9 | |
down 2 | |
up 5 | |
down 2 | |
forward 3 | |
up 7 | |
forward 3 | |
down 4 | |
forward 7 | |
forward 8 | |
down 5 | |
up 7 | |
up 8 | |
forward 7 | |
down 4 | |
forward 9 | |
forward 6 | |
down 2 | |
forward 3 | |
up 8 | |
up 4 | |
forward 2 | |
forward 4 | |
forward 1 | |
down 6 | |
forward 1 | |
down 9 | |
forward 2 | |
up 5 | |
down 2 | |
down 5 | |
down 5 | |
down 2 | |
down 9 | |
down 4 | |
forward 5 | |
down 5 | |
up 1 | |
forward 4 | |
down 6 | |
down 5 | |
up 8 | |
up 4 | |
down 8 | |
forward 4 | |
down 8 | |
forward 4 | |
down 2 | |
down 8 | |
forward 3 | |
forward 7 | |
down 1 | |
forward 3 | |
forward 7 | |
forward 1 | |
down 4 | |
forward 2 | |
down 3 | |
down 4 | |
forward 1 | |
up 6 | |
forward 8 | |
down 5 | |
up 6 | |
up 3 | |
forward 7 | |
down 3 | |
forward 4 | |
forward 9 | |
forward 2 | |
up 2 | |
up 7 | |
forward 1 | |
up 8 | |
down 6 | |
up 5 | |
down 3 | |
up 7 | |
down 4 | |
up 7 | |
down 8 | |
down 7 | |
forward 5 | |
up 7 | |
down 1 | |
up 9 | |
down 2 | |
down 8 | |
down 5 | |
forward 4 | |
down 3 | |
up 4 | |
down 2 | |
forward 6 | |
down 2 | |
forward 9 | |
up 9 | |
up 8 | |
forward 3 | |
forward 7 | |
forward 7 | |
up 4 | |
up 3 | |
up 4 | |
forward 1 | |
down 2 | |
up 6 | |
down 2 | |
down 4 | |
up 3 | |
down 8 | |
down 9 | |
down 4 | |
forward 6 | |
down 5 | |
down 5 | |
forward 7 | |
down 2 | |
forward 8 | |
up 2 | |
up 7 | |
down 5 | |
down 7 | |
up 9 | |
up 4 | |
up 5 | |
down 4 | |
down 8 | |
down 9 | |
down 7 | |
down 1 | |
down 1 | |
up 7 | |
up 8 | |
down 5 | |
forward 2 | |
up 3 | |
down 2 | |
down 9 | |
down 4 | |
forward 1 | |
forward 1 | |
up 4 | |
down 9 | |
up 7 | |
forward 7 | |
up 8 | |
up 4 | |
down 2 | |
down 1 | |
forward 2 | |
up 4 | |
down 3 | |
up 7 | |
down 7 | |
down 6 | |
down 4 | |
up 3 | |
down 7 | |
forward 5 | |
down 6 | |
down 9 | |
down 3 | |
forward 1 | |
down 6 | |
forward 3 | |
down 5 | |
up 1 | |
forward 5 | |
forward 4 | |
forward 8 | |
forward 1 | |
up 4 | |
down 2 | |
down 7 | |
down 9 | |
up 4 | |
up 6 | |
forward 8 | |
up 4 | |
down 8 | |
forward 7 | |
forward 1 | |
down 7 | |
forward 9 | |
forward 1 | |
forward 7 | |
forward 9 | |
down 3 | |
forward 4 | |
down 3 | |
down 3 | |
down 3 | |
down 1 | |
down 5 | |
forward 1 | |
forward 7 | |
up 5 | |
forward 5 | |
forward 4 | |
forward 7 | |
down 7 | |
up 5 | |
forward 1 | |
forward 8 | |
down 3 | |
up 6 | |
down 7 | |
forward 6 | |
down 8 | |
forward 6 | |
up 4 | |
down 9 | |
up 1 | |
forward 4 | |
forward 8 | |
down 5 | |
forward 7 | |
up 9 | |
forward 2 | |
up 2 | |
forward 7 | |
down 3 | |
forward 2 | |
down 7 | |
down 1 | |
forward 9 | |
forward 3 | |
up 5 | |
forward 7 | |
up 4 | |
forward 2 | |
down 3 | |
down 2 | |
down 8 | |
forward 7 | |
down 8 | |
down 3 | |
forward 9 | |
forward 9 | |
forward 5 | |
up 8 | |
forward 9 | |
up 2 | |
forward 2 | |
up 4 | |
forward 2 | |
forward 1 | |
forward 7 | |
forward 6 | |
down 5 | |
forward 5 | |
forward 1 | |
forward 7 | |
forward 4 | |
down 5 | |
down 9 | |
down 8 | |
forward 5 | |
up 5 | |
up 1 | |
down 8 | |
down 9 | |
forward 1 | |
down 5 | |
forward 6 | |
down 1 | |
down 7 | |
down 7 | |
down 4 | |
forward 3 | |
down 5 | |
down 8 | |
forward 2 | |
down 4 | |
forward 3 | |
down 1 | |
up 5 | |
down 8 | |
forward 9 | |
up 6 | |
up 4 | |
down 6 | |
down 9 | |
forward 2 | |
forward 5 | |
down 3 | |
forward 2 | |
down 5 | |
forward 1 | |
forward 4 | |
down 6 | |
down 4 | |
up 2 | |
down 9 | |
forward 2 | |
up 8 | |
down 4 | |
forward 7 | |
down 5 | |
forward 8 | |
down 1 | |
forward 5 | |
down 7 | |
up 5 | |
down 7 | |
down 4 | |
forward 3 | |
down 1 | |
forward 7 | |
forward 9 | |
up 9 | |
forward 5 | |
forward 8 | |
up 8 | |
forward 6 | |
down 5 | |
down 8 | |
forward 9 | |
forward 3 | |
down 3 | |
forward 9 | |
forward 7 | |
forward 6 | |
forward 1 | |
up 2 | |
forward 8 | |
down 9 | |
down 5 | |
down 5 | |
down 4 | |
forward 7 | |
down 8 | |
down 7 | |
forward 8 | |
forward 2 | |
down 5 | |
forward 2 | |
forward 3 | |
down 6 | |
down 8 | |
up 8 | |
forward 7 | |
down 7 | |
up 7 | |
forward 5 | |
up 6 | |
forward 7 | |
up 6 | |
forward 8 | |
forward 5 | |
up 6 | |
forward 1 | |
down 5 | |
forward 1 | |
up 5 | |
down 1 | |
forward 6 | |
forward 3 | |
up 2 | |
forward 9 | |
forward 8 | |
down 9 | |
forward 7 | |
forward 7 | |
forward 8 | |
up 9 | |
down 8 | |
up 1 | |
down 4 | |
forward 2 | |
forward 7 | |
down 1 | |
up 7 | |
down 5 | |
forward 2 | |
down 4 | |
down 8 | |
forward 6 | |
down 3 | |
forward 8 | |
up 6 | |
forward 5 | |
forward 7 | |
down 5 | |
down 1 | |
down 7 | |
down 7 | |
up 8 | |
down 5 | |
forward 4 | |
down 5 | |
down 7 | |
down 2 | |
up 8 | |
forward 6 | |
up 1 | |
down 3 | |
forward 9 | |
up 1 | |
down 7 | |
forward 2 | |
down 6 | |
forward 6 | |
up 3 | |
up 9 | |
up 2 | |
forward 4 | |
forward 4 | |
down 4 | |
down 4 | |
down 2 | |
down 5 | |
forward 7 | |
forward 6 | |
forward 9 | |
down 9 | |
forward 6 | |
up 1 | |
down 2 | |
down 4 | |
down 7 | |
down 5 | |
down 4 | |
up 2 | |
up 8 | |
down 6 | |
forward 2 | |
up 7 | |
down 2 | |
up 5 | |
down 8 | |
forward 3 | |
up 2 | |
forward 3 | |
forward 5 | |
forward 9 | |
forward 2 | |
forward 8 | |
forward 1 | |
down 5 | |
up 6 | |
forward 9 | |
forward 4 | |
up 8 | |
down 8 | |
up 2 | |
down 9 | |
down 3 | |
down 5 | |
up 4 | |
forward 2 | |
down 5 | |
forward 6 | |
down 6 | |
forward 2 | |
forward 7 | |
forward 6 | |
forward 1 | |
down 7 | |
forward 8 | |
up 2 | |
forward 5 | |
forward 5 | |
up 3 | |
forward 2 | |
forward 3 | |
forward 8 | |
forward 4 | |
down 1 | |
down 9 | |
up 5 | |
down 5 | |
forward 1 | |
down 8 | |
up 3 | |
down 9 | |
forward 5 | |
forward 2 | |
forward 2 | |
up 1 | |
forward 1 | |
down 5 | |
forward 4 | |
up 4 | |
up 3 | |
up 3 | |
down 4 | |
down 5 | |
down 1 | |
forward 8 | |
down 4 | |
up 7 | |
down 6 | |
forward 5 | |
forward 4 | |
forward 8 | |
forward 8 | |
up 3 | |
forward 7 | |
down 4 | |
forward 8 | |
forward 4 | |
forward 6 | |
down 8 | |
down 6 | |
down 1 | |
forward 4 | |
down 8 | |
down 6 | |
forward 2 | |
down 8 | |
up 7 | |
down 2 | |
forward 5 | |
down 4 | |
down 7 | |
down 8 | |
forward 5 | |
down 4 | |
down 2 | |
down 7 | |
down 4 | |
forward 7 | |
forward 3 | |
up 4 | |
down 7 | |
down 9 | |
up 4 | |
up 5 | |
down 7 | |
up 5 | |
down 3 | |
down 5 | |
forward 8 | |
up 1 | |
up 9 | |
forward 9 | |
forward 7 | |
down 2 | |
up 1 | |
up 7 | |
down 3 | |
forward 3 | |
up 6 | |
forward 1 | |
forward 2 | |
down 4 | |
down 3 | |
forward 4 | |
forward 7 | |
forward 9 | |
down 8 | |
down 6 | |
forward 1 | |
forward 3 | |
forward 2 | |
up 3 | |
down 6 | |
down 7 | |
up 8 | |
down 5 | |
up 6 | |
down 8 | |
forward 4 | |
up 3 | |
forward 3 | |
forward 4 | |
down 5 | |
up 5 | |
down 4 | |
down 5 | |
down 5 | |
forward 3 | |
up 9 | |
down 8 | |
down 2 | |
down 7 | |
down 4 | |
down 3 | |
up 2 | |
forward 6 | |
down 4 | |
down 1 | |
down 4 | |
forward 1 | |
forward 8 | |
down 3 | |
down 7 | |
down 3 | |
forward 1 | |
down 9 | |
down 7 | |
down 3 | |
down 3 | |
down 6 | |
down 8 | |
down 2 | |
down 5 | |
up 1 | |
up 7 | |
forward 9 | |
forward 6 | |
forward 7 | |
forward 8 | |
up 7 | |
down 9 | |
down 4 | |
down 7 | |
forward 2 | |
forward 4 | |
forward 1 | |
forward 4 | |
forward 3 | |
forward 8 | |
down 5 | |
forward 8 | |
up 4 | |
up 9 | |
forward 3 | |
down 7 | |
forward 9 | |
down 2 | |
forward 5 | |
up 7 | |
down 4 | |
down 3 | |
down 5 | |
down 4 | |
forward 9 | |
forward 5 | |
forward 6 | |
forward 6 | |
down 2 | |
down 7 | |
forward 4 | |
up 5 | |
down 8 | |
down 9 | |
forward 5 | |
down 8 | |
forward 9 | |
up 6 | |
forward 8 | |
forward 7 | |
up 7 | |
down 9 | |
forward 5 | |
down 9 | |
forward 7 | |
down 5 | |
down 7 | |
forward 9 | |
forward 4 | |
up 1 | |
up 9 | |
forward 7 | |
up 5 | |
up 2 | |
down 6 | |
forward 7 | |
down 2 | |
forward 6 | |
forward 7 | |
down 4 | |
up 3 | |
up 9 | |
forward 4 | |
forward 6 | |
forward 3 | |
up 6 | |
down 5 | |
up 2 | |
forward 3 | |
down 5 | |
forward 1 | |
up 7 | |
down 8 | |
up 4 | |
forward 9 | |
forward 6 | |
down 7 | |
forward 4 | |
down 9 | |
down 8 | |
down 7 | |
forward 7 | |
down 5 | |
forward 3 | |
up 5 | |
forward 9 | |
forward 7 | |
forward 3 | |
down 5 | |
forward 8 | |
down 3 | |
forward 1 | |
down 3 | |
down 3 | |
forward 2 | |
down 4 | |
forward 7 | |
up 1 | |
down 6 | |
up 3 | |
forward 8 | |
down 6 | |
forward 6 | |
down 5 | |
down 4 | |
forward 3 | |
up 1 | |
forward 5 | |
forward 5 | |
forward 2 | |
up 9 | |
forward 3 | |
down 5 | |
up 3 | |
up 4 | |
down 7 | |
down 4 | |
up 3 | |
up 3 | |
forward 2 | |
up 2 | |
forward 8 | |
down 9 | |
down 1 | |
up 8 | |
down 2 | |
up 4 | |
forward 9 | |
up 1 | |
down 8 | |
forward 3 | |
up 9 | |
down 7 | |
down 5 | |
down 9 | |
down 1 | |
down 2 | |
down 9 | |
down 4 | |
down 8 | |
down 8 | |
down 9 | |
down 2 | |
down 6 | |
down 9 | |
forward 8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
000100011010 | |
110011110110 | |
011000101111 | |
001101100101 | |
011100001000 | |
101101011011 | |
101111010101 | |
011010000101 | |
010101000010 | |
100001111000 | |
111011111100 | |
100001001100 | |
100000001011 | |
110111110010 | |
001110010110 | |
001000001000 | |
001000000110 | |
101101101010 | |
111000111101 | |
011010111101 | |
000101100111 | |
000101000001 | |
101101101011 | |
001110010010 | |
101001100001 | |
110010100111 | |
010111100111 | |
001011010001 | |
000010011010 | |
000010010001 | |
001101100001 | |
100000001101 | |
001011010111 | |
110000010101 | |
010001001101 | |
100101011001 | |
101101111001 | |
000110001111 | |
111011110010 | |
011011111011 | |
001111111011 | |
110001010111 | |
010101101011 | |
110101101000 | |
011010111100 | |
101000110110 | |
001011110011 | |
011011101001 | |
000111010010 | |
010111010110 | |
111000100001 | |
101110000001 | |
110011111101 | |
101000011101 | |
000100010100 | |
011010100011 | |
010101011100 | |
111010001011 | |
100110001110 | |
111101101001 | |
011000010100 | |
110101011010 | |
011010111111 | |
010010000100 | |
111011000000 | |
001011110100 | |
100110000111 | |
000110111111 | |
101100111110 | |
010010001011 | |
010001010110 | |
010010001010 | |
101111101100 | |
110001100001 | |
101100000010 | |
110110010000 | |
111000000001 | |
100110111111 | |
011111100111 | |
100111001100 | |
111001011001 | |
101001110001 | |
110110011100 | |
000000110100 | |
100101100000 | |
110010111001 | |
000100001111 | |
011000101000 | |
110011010010 | |
011011010000 | |
001010011011 | |
111010011000 | |
101000111101 | |
001000011000 | |
010100100000 | |
101101111011 | |
010000001001 | |
100010010101 | |
101010111010 | |
001111000111 | |
100110011000 | |
100001101011 | |
111101111011 | |
010100010111 | |
011100011110 | |
010001000000 | |
001111000000 | |
001110101101 | |
101101001011 | |
101101001111 | |
101111000111 | |
101001001000 | |
010100001011 | |
110110100101 | |
110001000000 | |
011110010110 | |
001011111011 | |
100001011100 | |
000000010001 | |
000101111001 | |
010110010111 | |
010000111001 | |
011011000101 | |
111101100101 | |
010111101001 | |
010110000010 | |
011001111101 | |
101000000100 | |
011000000010 | |
001111000101 | |
001000110001 | |
011010010110 | |
101001011000 | |
011010111010 | |
010101001001 | |
111000101110 | |
100100101100 | |
010011001001 | |
001010111001 | |
110101100000 | |
111111101010 | |
001001011110 | |
111111100000 | |
001101010110 | |
101011011000 | |
001111001001 | |
010000100001 | |
100100110001 | |
110001011001 | |
110011010111 | |
000111011001 | |
011001001011 | |
111011000101 | |
000000110000 | |
000110101001 | |
001010100100 | |
100101100101 | |
010101011001 | |
001000101010 | |
100100000000 | |
110101110001 | |
101000111100 | |
110000001010 | |
111010100010 | |
101010111110 | |
101110010001 | |
000010001100 | |
000000100011 | |
101010000011 | |
011101000000 | |
100110010101 | |
000010001001 | |
010111111111 | |
110100011011 | |
000011111011 | |
000010000101 | |
110001110010 | |
011011001111 | |
111001111001 | |
011110100100 | |
000011010000 | |
001001010001 | |
000011011001 | |
000000001111 | |
111100001100 | |
111100100101 | |
110110001110 | |
000101001110 | |
010011011000 | |
110010000101 | |
101110111101 | |
001111111001 | |
101001000101 | |
100011111001 | |
100111000110 | |
000001001111 | |
110110011000 | |
010010000010 | |
010101011111 | |
100001010010 | |
100111100011 | |
000101111100 | |
100000011110 | |
010110101000 | |
001110110000 | |
000110111110 | |
110000000011 | |
111110000010 | |
111000001000 | |
001111011011 | |
010100000100 | |
010101100110 | |
000111000001 | |
000010111000 | |
111010110011 | |
000010101100 | |
011101000101 | |
011001000110 | |
100010010111 | |
110001010011 | |
101011111010 | |
000000111001 | |
101100101010 | |
011110001000 | |
011110111010 | |
001000101001 | |
100100100001 | |
111101010100 | |
100100101000 | |
011010101101 | |
111011111011 | |
110000101110 | |
000101011010 | |
010111000011 | |
010011011100 | |
001101110011 | |
111101110000 | |
000110010000 | |
101000000110 | |
001110100001 | |
010111010011 | |
000010010000 | |
001000110110 | |
111100000000 | |
011111111000 | |
111000100010 | |
001111101101 | |
011100101111 | |
110001111010 | |
011011111110 | |
000111010110 | |
000101100000 | |
001010111101 | |
110100100101 | |
001101111000 | |
101000010011 | |
010110001011 | |
110101100111 | |
001000010110 | |
000100111010 | |
111010000000 | |
011010110010 | |
111111010010 | |
110010001110 | |
110111101010 | |
101110111000 | |
101100011001 | |
000001010011 | |
101011111100 | |
001111101001 | |
110010011010 | |
010110010101 | |
000010000010 | |
101111101101 | |
001000100001 | |
001010010110 | |
111011010010 | |
111010111000 | |
001111010100 | |
001101110111 | |
010010011011 | |
010010010001 | |
111100011101 | |
111110110110 | |
001000110101 | |
011001011100 | |
001000001101 | |
110110000010 | |
111111101011 | |
000100000110 | |
101000010111 | |
001001000101 | |
100001011101 | |
101110000110 | |
010111001110 | |
000100101010 | |
100010111001 | |
111010100110 | |
001001100100 | |
110100110100 | |
100101101111 | |
011010111110 | |
000100111000 | |
110001011000 | |
111101110011 | |
100001010000 | |
110101111110 | |
011011011011 | |
010111110100 | |
101000110111 | |
100101011101 | |
110110010001 | |
001000000011 | |
111111101100 | |
100111100101 | |
111100001001 | |
000000000110 | |
110010101100 | |
001111100011 | |
001101100000 | |
011000111100 | |
110110001000 | |
000110101011 | |
011010100000 | |
001100100010 | |
101100111011 | |
100001010001 | |
100101101001 | |
001100011011 | |
110011001110 | |
110010101111 | |
010001100010 | |
110010000100 | |
110010000000 | |
111000111001 | |
011100000101 | |
000110000110 | |
111100100010 | |
011011010100 | |
011000001101 | |
100100000110 | |
101100111010 | |
011011100001 | |
111111001101 | |
100010100100 | |
010000010101 | |
101111001000 | |
011100010101 | |
010110011100 | |
110101010011 | |
110101000100 | |
000010000110 | |
110101111010 | |
100011111101 | |
111000000100 | |
101111100010 | |
011110010000 | |
111000111000 | |
000000111011 | |
100010110101 | |
000001101011 | |
001000000010 | |
001101101010 | |
111011101000 | |
010011101001 | |
110001110111 | |
111010001001 | |
110001001110 | |
011101011011 | |
010110010110 | |
110110111100 | |
000110100101 | |
110000010111 | |
100101000011 | |
000000010101 | |
111110110011 | |
000001011011 | |
111011110111 | |
001100001110 | |
000000011010 | |
000100101001 | |
101001101000 | |
100011101110 | |
101111001001 | |
000100110000 | |
000100011011 | |
001111000010 | |
010010010100 | |
010111011111 | |
100100000100 | |
111101111000 | |
110100010100 | |
011110111000 | |
001010001111 | |
111110011111 | |
101111100111 | |
010101000110 | |
010011111101 | |
011111101001 | |
000000101111 | |
111100111011 | |
001010011000 | |
011101100010 | |
011010010000 | |
111001000000 | |
000100000100 | |
010000100000 | |
111001101011 | |
110001000001 | |
110100001011 | |
011010110001 | |
001001110111 | |
010000101011 | |
000011110101 | |
111100000101 | |
011100110010 | |
010111100101 | |
010101010101 | |
110000100111 | |
010111100100 | |
001101101101 | |
101100001011 | |
000101010000 | |
110100111000 | |
110101101110 | |
111000001101 | |
010001111111 | |
111101000011 | |
001000111000 | |
100000000110 | |
001010101010 | |
111011001101 | |
000110110111 | |
110111110001 | |
111010110100 | |
011001000000 | |
000100000101 | |
011110100110 | |
100011010111 | |
010000101010 | |
000111001100 | |
000011001001 | |
011010100010 | |
110110100100 | |
000111010011 | |
111110010111 | |
000101010010 | |
011101000011 | |
011101010110 | |
100000110101 | |
000100101101 | |
101100001101 | |
100101001010 | |
100000100000 | |
111011000011 | |
001100100110 | |
001001010010 | |
010110001000 | |
111110100100 | |
000001111111 | |
010101111001 | |
110111000001 | |
111110011001 | |
100101100110 | |
001100100100 | |
001001101110 | |
000011001010 | |
001011111110 | |
101010111011 | |
011110100010 | |
100111000100 | |
100000100111 | |
100011010010 | |
011001010010 | |
101111110010 | |
100011111111 | |
111010001100 | |
011010000000 | |
110100011111 | |
100001100110 | |
000001110110 | |
000001101001 | |
010010010010 | |
011011000100 | |
010100100001 | |
100010000100 | |
001001000001 | |
111001001101 | |
100101110011 | |
101000100000 | |
100010110011 | |
110010100001 | |
111111110010 | |
010010110001 | |
111011000010 | |
010010010110 | |
011001101011 | |
011110110101 | |
010000111111 | |
010010011101 | |
101100100101 | |
001001001101 | |
111000010000 | |
000100011001 | |
111111011100 | |
010101110101 | |
100110010111 | |
100111010010 | |
010111000000 | |
000000001001 | |
110011110000 | |
001000011101 | |
111000110001 | |
000110011011 | |
011101111010 | |
101111111011 | |
001011000100 | |
001101100100 | |
111101000001 | |
001100101101 | |
010111111011 | |
100110111001 | |
000011010100 | |
010110100110 | |
000010110001 | |
101110111010 | |
110000011110 | |
010010101010 | |
001100010110 | |
011011111101 | |
001110110110 | |
000001110100 | |
101000100101 | |
110001100100 | |
100000011001 | |
011110011001 | |
100010110010 | |
100110111011 | |
100011111010 | |
011011011001 | |
011000011000 | |
010110111100 | |
111000110100 | |
001100001100 | |
110001111001 | |
110011011100 | |
011100110000 | |
001110011010 | |
010011000111 | |
010010101110 | |
011000101101 | |
111000111111 | |
111001111101 | |
101001011001 | |
000111101010 | |
001110111110 | |
101100010110 | |
011001001101 | |
110100101000 | |
010010001111 | |
101011010001 | |
001101011010 | |
011111110000 | |
000100111111 | |
111101000010 | |
100000010111 | |
001100000011 | |
101010011111 | |
111011100110 | |
100011011101 | |
110101010101 | |
011101010000 | |
100010111100 | |
100001000011 | |
001011110110 | |
111010111010 | |
011010101000 | |
110100000000 | |
111001000111 | |
010101110010 | |
111000100000 | |
100011001001 | |
000010100010 | |
010011111000 | |
000101101110 | |
100011110011 | |
011001111011 | |
000001111000 | |
011111000110 | |
100111000111 | |
111110011010 | |
101111001010 | |
111100110011 | |
011101100011 | |
100000010101 | |
101010010101 | |
100111111000 | |
101101101111 | |
101100101000 | |
110000111010 | |
100110000010 | |
000011000111 | |
111100000001 | |
101110111100 | |
010001011011 | |
100101111100 | |
101111101010 | |
111000010001 | |
011010110110 | |
100111011110 | |
011111001001 | |
011001111001 | |
011010010011 | |
100011010011 | |
001011011011 | |
111010010110 | |
101001000000 | |
100101101110 | |
110001101010 | |
010000000101 | |
011110010010 | |
000001101111 | |
101110011100 | |
101001001011 | |
101111011010 | |
101001010110 | |
110001101111 | |
110110010111 | |
010111110111 | |
001100101011 | |
001111100000 | |
011010001110 | |
100011111100 | |
001001111101 | |
100101010100 | |
011101110011 | |
110111100001 | |
001000100100 | |
011001000011 | |
101010011101 | |
001100100000 | |
011001010100 | |
111111111010 | |
010111111101 | |
001010001100 | |
111111111000 | |
010101111100 | |
000111001101 | |
110101000000 | |
010010011000 | |
010001010100 | |
010001110000 | |
011110110000 | |
000011111101 | |
101101110001 | |
101101001010 | |
110000000000 | |
100100111101 | |
111110111001 | |
010000111000 | |
110100001100 | |
011111110110 | |
001100001010 | |
100011101010 | |
001001100101 | |
101011001101 | |
101101100100 | |
010111010001 | |
001000001110 | |
110111110101 | |
101110101011 | |
100110000101 | |
110011000111 | |
100110011110 | |
100100110100 | |
101111011001 | |
011001110010 | |
101000010110 | |
000101010011 | |
100111001110 | |
111000011111 | |
110011100011 | |
000100001011 | |
011100100010 | |
000001010010 | |
010110001001 | |
101111011110 | |
010011100110 | |
111001000011 | |
100011001010 | |
100101011110 | |
010110111111 | |
000001100101 | |
110111111101 | |
011110011010 | |
111111010110 | |
011110111110 | |
100000000111 | |
101000111110 | |
000001011111 | |
111000100110 | |
100101000000 | |
001000100010 | |
111010001111 | |
111011101010 | |
101110100101 | |
000010110011 | |
100100110011 | |
110001100101 | |
000101010110 | |
100100100110 | |
100110111100 | |
001011010100 | |
011101011001 | |
010110101011 | |
000010101010 | |
100100010001 | |
110001100111 | |
101101101000 | |
101110100000 | |
111100110000 | |
000111100110 | |
110001000011 | |
000111000110 | |
100011100110 | |
111011011101 | |
101100000000 | |
001011110000 | |
101010101110 | |
001110110010 | |
110010111101 | |
111011001100 | |
011100001001 | |
001101111100 | |
111110111011 | |
000011100001 | |
011001011010 | |
111101101101 | |
111010001000 | |
010000000001 | |
001000010001 | |
101110011001 | |
111000000000 | |
010011110100 | |
011111011001 | |
010011100010 | |
100010011010 | |
010100001110 | |
110111100101 | |
000111111100 | |
000001011010 | |
010100111100 | |
100000001000 | |
101100111001 | |
001100010001 | |
001000001111 | |
001011010010 | |
100110000000 | |
101010010010 | |
111101100001 | |
010001000011 | |
111111000010 | |
111111101001 | |
001110100010 | |
101000101000 | |
101001000100 | |
111100101101 | |
010100110111 | |
000010010101 | |
110010110101 | |
001101111010 | |
001000011110 | |
101000010001 | |
001100001011 | |
001100000100 | |
000110100011 | |
001100001101 | |
111111001001 | |
100011100010 | |
000101011011 | |
000001010101 | |
110110101001 | |
001100010000 | |
101111000000 | |
100001010100 | |
101101010010 | |
110110111010 | |
011011001010 | |
100100011011 | |
101111110101 | |
001101110100 | |
111100110100 | |
000011011101 | |
100100100100 | |
001111011100 | |
001011110010 | |
000000011000 | |
100011100000 | |
111011011111 | |
000101101000 | |
100010010011 | |
000011110001 | |
000111101111 | |
010111001011 | |
110011101111 | |
100001001111 | |
111101001110 | |
011001011110 | |
010010111010 | |
101011101100 | |
010101000011 | |
001111100001 | |
110000011010 | |
110011100100 | |
000011001100 | |
000100010101 | |
011111101000 | |
000001101010 | |
001001010011 | |
001000011001 | |
001110011111 | |
011101111100 | |
011000100100 | |
010011001101 | |
111111010000 | |
010010100000 | |
010011110010 | |
011100111110 | |
100001110011 | |
100000000011 | |
101011111011 | |
100000110110 | |
111010011101 | |
101111110000 | |
110000001001 | |
000111000011 | |
100001001101 | |
100110001001 | |
000100011000 | |
001111000001 | |
011110100001 | |
111111111101 | |
010000100101 | |
101011110101 | |
100101100010 | |
010001101101 | |
011011110000 | |
011011000010 | |
101101111000 | |
110010111110 | |
110001011110 | |
010001110011 | |
100100100000 | |
101010010001 | |
100000111111 | |
111110011011 | |
001000100101 | |
000111100010 | |
110111011101 | |
101011011010 | |
000000000001 | |
110010011001 | |
001010011001 | |
100111010101 | |
001110110111 | |
110110000110 | |
101011111101 | |
100101001110 | |
011110010111 | |
110111010110 | |
011011000111 | |
011100011000 | |
101100011010 | |
101111110011 | |
011110101100 | |
100001101100 | |
011010110100 | |
111100011110 | |
011110011101 | |
100010110110 | |
010000111100 | |
001101010100 | |
000101110011 | |
101101100010 | |
110011110111 | |
010001001100 | |
100111010001 | |
000000000111 | |
010101111110 | |
000101101111 | |
000011101111 | |
000001110011 | |
000101000010 | |
110101011111 | |
001001011010 | |
100101000010 | |
110100011101 | |
001001010000 | |
101011100000 | |
111010110010 | |
010001100000 | |
100100111100 | |
110000000101 | |
101101001001 | |
111010001101 | |
011011010111 | |
101110110001 | |
001110010011 | |
011111001000 | |
011111010011 | |
001110000010 | |
110110111111 | |
011011001011 | |
110110001101 | |
101010110101 | |
100111110100 | |
100000111001 | |
011001111111 | |
110010011111 | |
110110100110 | |
001111111100 | |
001110011000 | |
100010111000 | |
000010101000 | |
000110101111 | |
011100111100 | |
010001101111 | |
100011100011 | |
100100111110 | |
010100011101 | |
101100101101 | |
001111101000 | |
111110101001 | |
110100000010 | |
001010101111 | |
011001110001 | |
010110111000 | |
001100011100 | |
011010010111 | |
010010001100 | |
110101010111 | |
111000001111 | |
111100000100 | |
011010101111 | |
110101111100 | |
111101011111 | |
000110000111 | |
011110110010 | |
111110010010 | |
001011100111 | |
110010000001 | |
111111110100 | |
101001011010 | |
000100011110 | |
011100100111 | |
110000001100 | |
001010001010 | |
110011100001 | |
110001011011 | |
110010010100 | |
101011100100 | |
110111101110 | |
011100100100 | |
011100100011 | |
100111011000 | |
010100000011 | |
001111100111 | |
000110000100 | |
101100100001 | |
111101110010 | |
101110101100 | |
010001100011 | |
110101010001 | |
111101101110 | |
000111100111 | |
000011110110 | |
011010000001 | |
111110100110 | |
000100011100 | |
011111100001 | |
101111110110 | |
100111000010 | |
000110100001 | |
011001101010 | |
110110110011 | |
110000111110 | |
001100101010 | |
100101001101 | |
001001101100 | |
100101011111 | |
101111001011 | |
111101000000 | |
010110010100 | |
011111001110 | |
011111111111 | |
101100001110 | |
101011100110 | |
111001100001 | |
111101011101 | |
001100111110 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13,79,74,35,76,12,43,71,87,72,23,91,31,67,58,61,96,16,81,92,41,6,32,86,77,42,0,55,68,14,53,26,25,11,45,94,75,1,93,83,52,7,4,22,34,64,69,88,65,66,39,97,27,29,78,5,49,82,54,46,51,28,98,36,48,15,2,50,38,24,89,59,8,3,18,47,10,90,21,80,73,33,85,62,19,37,57,95,60,20,99,17,63,56,84,44,40,70,9,30 | |
14 86 50 89 49 | |
10 85 33 46 87 | |
82 91 54 13 90 | |
63 88 75 99 79 | |
74 31 4 0 71 | |
56 3 70 2 22 | |
44 63 10 95 8 | |
92 62 83 4 93 | |
74 80 5 11 68 | |
24 50 42 65 72 | |
42 21 72 26 7 | |
4 78 1 49 50 | |
93 43 38 71 68 | |
62 52 40 61 82 | |
31 28 16 96 18 | |
46 77 11 86 64 | |
4 14 61 94 30 | |
76 21 7 2 92 | |
55 1 66 45 23 | |
65 51 67 26 29 | |
1 89 70 73 81 | |
75 40 93 15 60 | |
11 58 37 42 26 | |
62 36 20 87 47 | |
54 35 6 23 10 | |
2 13 21 69 71 | |
98 59 82 7 32 | |
67 90 62 51 19 | |
84 6 23 3 17 | |
24 10 25 0 47 | |
28 10 26 86 65 | |
33 18 21 6 99 | |
40 61 30 58 34 | |
29 37 78 4 83 | |
87 53 44 22 32 | |
19 35 93 78 26 | |
87 99 15 75 56 | |
70 22 33 27 24 | |
58 53 83 48 8 | |
62 66 18 89 25 | |
30 25 67 77 47 | |
99 0 44 40 23 | |
31 19 52 55 7 | |
65 22 12 27 71 | |
82 62 54 78 18 | |
17 19 56 93 15 | |
62 30 64 68 21 | |
32 84 43 81 51 | |
61 83 52 65 58 | |
90 87 31 67 10 | |
95 76 21 10 1 | |
81 30 64 51 44 | |
77 31 32 94 90 | |
58 48 11 43 37 | |
12 19 82 85 80 | |
79 91 84 44 35 | |
80 6 64 0 20 | |
7 36 33 17 51 | |
71 19 24 26 2 | |
75 37 25 59 11 | |
48 91 17 38 16 | |
54 46 53 33 28 | |
20 6 68 96 45 | |
70 75 35 65 59 | |
0 39 13 23 4 | |
41 83 90 95 17 | |
67 4 23 62 93 | |
31 1 51 21 16 | |
34 14 92 66 89 | |
0 78 58 80 96 | |
67 2 42 36 32 | |
1 62 37 65 79 | |
66 80 19 75 0 | |
17 86 94 49 54 | |
40 59 16 14 30 | |
33 70 65 6 20 | |
44 22 55 81 15 | |
54 2 13 5 1 | |
93 40 97 67 78 | |
30 75 96 41 7 | |
40 96 24 19 32 | |
88 58 65 34 52 | |
38 49 50 5 35 | |
4 13 2 22 26 | |
46 55 18 89 33 | |
64 17 54 59 16 | |
22 97 91 83 87 | |
0 3 85 92 43 | |
99 31 19 73 4 | |
8 41 68 48 75 | |
37 45 16 50 57 | |
31 14 32 77 60 | |
90 63 3 40 8 | |
96 6 56 95 2 | |
80 69 61 52 24 | |
84 50 31 7 40 | |
32 58 47 51 70 | |
59 76 44 83 72 | |
87 52 77 10 81 | |
57 1 12 37 73 | |
14 74 7 98 95 | |
78 47 1 22 96 | |
45 80 92 37 21 | |
15 10 33 73 63 | |
29 34 51 27 31 | |
76 21 26 20 22 | |
89 58 37 91 38 | |
59 9 74 24 96 | |
80 69 30 7 0 | |
70 87 16 78 49 | |
69 79 75 99 65 | |
20 48 61 29 67 | |
31 86 90 72 57 | |
62 83 94 74 1 | |
34 13 55 56 36 | |
54 52 66 15 29 | |
7 16 94 62 92 | |
50 80 6 24 58 | |
96 13 93 1 0 | |
65 3 12 44 76 | |
45 43 51 92 86 | |
60 70 3 23 69 | |
63 78 30 66 48 | |
17 74 81 75 37 | |
79 53 25 28 15 | |
69 60 98 68 37 | |
18 39 36 48 75 | |
50 3 52 11 87 | |
57 46 63 80 41 | |
89 12 94 84 25 | |
79 11 64 51 67 | |
17 47 98 57 5 | |
16 70 49 0 83 | |
32 56 84 73 86 | |
74 59 35 15 6 | |
6 94 81 28 82 | |
53 58 43 46 51 | |
17 20 18 96 41 | |
66 22 27 12 44 | |
93 40 78 26 54 | |
28 88 94 9 16 | |
14 66 2 98 82 | |
23 69 44 75 10 | |
38 34 18 51 1 | |
68 52 29 0 39 | |
11 45 80 94 89 | |
24 44 96 71 58 | |
97 2 46 92 12 | |
47 19 99 55 7 | |
64 62 72 23 61 | |
99 92 94 38 98 | |
10 97 40 57 30 | |
67 77 7 64 23 | |
88 80 58 78 59 | |
42 69 68 16 60 | |
68 74 52 73 18 | |
62 57 49 91 19 | |
21 48 51 22 70 | |
45 29 53 75 8 | |
42 17 20 47 31 | |
76 29 88 23 65 | |
80 2 90 75 48 | |
93 55 10 50 81 | |
74 54 6 89 18 | |
27 26 84 11 78 | |
69 39 34 79 12 | |
72 96 80 68 44 | |
27 57 99 61 64 | |
81 63 6 25 95 | |
8 32 15 74 35 | |
40 38 2 63 21 | |
28 57 90 19 49 | |
68 75 11 24 44 | |
45 50 15 27 9 | |
31 30 52 33 36 | |
4 55 11 83 95 | |
35 0 30 25 45 | |
73 31 94 22 28 | |
91 19 50 54 47 | |
14 90 71 98 23 | |
31 55 45 78 67 | |
1 24 51 25 80 | |
85 96 46 87 64 | |
37 93 22 59 90 | |
69 70 50 17 53 | |
20 66 46 83 91 | |
28 57 99 63 1 | |
17 59 54 47 55 | |
50 10 41 53 34 | |
3 39 97 9 38 | |
58 29 70 23 95 | |
96 67 84 59 45 | |
35 64 63 77 52 | |
31 14 33 12 78 | |
17 36 98 0 71 | |
83 68 7 9 75 | |
13 39 5 99 73 | |
82 60 14 8 63 | |
49 86 67 56 91 | |
62 52 36 1 29 | |
24 65 75 31 63 | |
48 72 14 70 0 | |
85 30 42 33 87 | |
26 8 29 4 96 | |
93 60 74 9 50 | |
16 98 31 91 43 | |
90 76 97 18 70 | |
67 2 45 41 58 | |
7 8 26 62 61 | |
72 21 63 69 17 | |
15 28 96 16 24 | |
45 41 62 89 67 | |
57 4 80 23 3 | |
29 51 99 94 68 | |
56 37 81 54 63 | |
61 81 6 46 77 | |
28 43 63 10 41 | |
76 12 82 23 13 | |
32 47 94 96 92 | |
7 29 69 22 64 | |
68 64 51 69 96 | |
76 18 88 43 55 | |
8 91 73 83 54 | |
0 35 94 20 97 | |
50 29 82 71 75 | |
28 56 92 79 36 | |
18 85 35 25 26 | |
51 54 53 21 59 | |
64 19 17 14 30 | |
9 84 5 93 46 | |
58 3 5 76 57 | |
55 64 79 16 97 | |
14 59 93 24 60 | |
84 49 44 69 15 | |
87 42 43 25 18 | |
5 90 79 46 80 | |
41 56 93 15 50 | |
53 25 95 39 0 | |
77 89 40 17 92 | |
9 73 85 28 42 | |
20 85 78 73 74 | |
59 12 82 24 52 | |
55 33 11 28 60 | |
15 25 61 16 45 | |
3 14 39 95 92 | |
82 94 47 30 79 | |
38 87 15 31 45 | |
69 63 98 72 1 | |
77 39 96 81 92 | |
16 71 80 86 2 | |
38 60 28 94 24 | |
40 46 67 22 34 | |
39 70 71 3 96 | |
27 54 41 69 18 | |
23 62 1 61 84 | |
74 85 15 44 11 | |
39 92 43 79 1 | |
82 8 26 9 57 | |
20 93 18 97 31 | |
67 81 17 21 13 | |
54 63 83 89 51 | |
0 8 15 25 59 | |
95 74 18 28 98 | |
50 3 34 23 77 | |
4 24 61 90 88 | |
11 64 61 28 27 | |
5 35 74 75 47 | |
69 84 17 62 9 | |
40 21 32 73 67 | |
92 36 12 51 26 | |
35 50 7 26 36 | |
43 56 42 41 48 | |
59 54 91 55 33 | |
37 13 19 20 88 | |
22 21 51 4 69 | |
93 48 8 94 6 | |
14 34 13 10 32 | |
64 90 92 23 15 | |
63 95 85 28 87 | |
38 5 91 75 24 | |
94 68 32 85 10 | |
75 33 0 52 37 | |
82 8 24 58 93 | |
49 73 63 44 61 | |
71 50 16 88 72 | |
93 71 54 20 51 | |
39 92 75 79 66 | |
6 58 52 22 63 | |
74 53 99 16 61 | |
29 96 11 83 24 | |
32 26 10 77 16 | |
31 92 58 44 79 | |
17 2 72 29 8 | |
93 38 9 15 3 | |
50 89 61 88 81 | |
95 65 70 27 79 | |
4 19 30 86 72 | |
80 61 68 74 49 | |
7 5 77 14 53 | |
98 44 51 43 93 | |
59 70 44 52 14 | |
31 82 9 55 13 | |
15 63 99 26 61 | |
34 48 23 56 41 | |
97 79 28 29 93 | |
26 86 35 66 67 | |
25 39 48 45 69 | |
44 93 13 17 81 | |
70 89 54 62 68 | |
41 36 90 83 12 | |
92 59 53 11 83 | |
43 70 30 8 66 | |
46 6 31 56 90 | |
62 20 65 94 34 | |
67 96 47 71 17 | |
34 85 72 51 46 | |
21 6 44 64 27 | |
79 86 29 33 35 | |
7 87 47 94 84 | |
62 90 58 80 73 | |
7 73 50 0 35 | |
77 6 33 89 94 | |
71 52 95 53 8 | |
22 9 46 49 75 | |
45 56 96 87 67 | |
85 64 44 39 57 | |
90 30 15 35 54 | |
78 89 55 99 12 | |
80 96 20 50 45 | |
56 10 71 59 17 | |
66 87 77 71 45 | |
79 65 80 11 88 | |
74 99 30 89 73 | |
58 78 64 85 20 | |
10 41 1 44 49 | |
38 47 3 60 27 | |
8 10 14 4 1 | |
92 24 46 16 95 | |
55 69 77 7 36 | |
15 51 13 58 76 | |
61 3 71 38 46 | |
34 93 42 90 32 | |
99 16 73 55 6 | |
48 23 56 12 39 | |
22 87 51 70 89 | |
8 58 99 23 56 | |
91 62 68 57 32 | |
46 95 21 3 75 | |
35 51 33 7 74 | |
26 2 89 76 48 | |
93 89 88 49 55 | |
11 29 72 27 35 | |
45 5 46 18 65 | |
23 32 30 97 42 | |
76 19 22 77 78 | |
17 43 19 2 42 | |
20 26 36 68 75 | |
38 94 37 99 93 | |
62 46 1 45 89 | |
59 7 92 78 22 | |
75 41 53 45 7 | |
91 55 40 31 36 | |
29 78 90 17 57 | |
63 20 77 67 42 | |
64 62 11 48 84 | |
26 89 27 47 91 | |
15 9 18 62 28 | |
31 96 42 81 86 | |
11 52 20 93 38 | |
83 64 39 1 60 | |
99 48 86 72 92 | |
38 32 62 18 17 | |
93 71 76 73 64 | |
26 36 74 52 68 | |
24 98 34 88 45 | |
18 84 79 52 42 | |
54 10 33 90 64 | |
35 1 78 62 65 | |
22 48 87 72 50 | |
56 3 49 20 63 | |
14 50 79 84 49 | |
17 46 66 80 87 | |
97 90 24 65 73 | |
25 30 94 72 99 | |
78 89 81 96 28 | |
7 24 96 54 86 | |
4 56 83 32 27 | |
29 91 73 34 45 | |
16 70 1 39 3 | |
94 47 44 42 87 | |
44 74 52 65 22 | |
5 46 75 27 12 | |
25 24 43 21 42 | |
19 80 60 97 3 | |
8 84 9 87 94 | |
62 80 7 66 82 | |
60 79 45 1 75 | |
55 54 85 64 96 | |
65 6 16 27 38 | |
77 26 74 71 91 | |
55 23 59 47 62 | |
53 92 34 96 58 | |
38 3 88 46 60 | |
50 56 83 39 80 | |
37 6 93 7 94 | |
56 26 45 73 16 | |
37 30 74 44 64 | |
53 70 29 21 49 | |
4 5 27 92 22 | |
36 8 63 50 69 | |
70 83 15 22 56 | |
64 98 32 39 12 | |
82 21 73 19 14 | |
44 61 78 26 99 | |
76 24 81 38 85 | |
56 55 64 39 19 | |
13 70 63 32 54 | |
85 22 14 27 73 | |
25 89 15 44 21 | |
29 77 79 23 10 | |
84 27 63 34 5 | |
57 81 78 90 59 | |
35 85 51 54 48 | |
92 4 89 70 30 | |
97 0 7 86 26 | |
4 44 88 71 6 | |
80 23 19 55 57 | |
91 7 18 27 95 | |
85 13 66 8 34 | |
63 45 77 17 84 | |
58 7 56 38 48 | |
92 97 50 80 54 | |
5 8 17 49 23 | |
96 82 20 74 4 | |
90 0 59 93 30 | |
44 97 88 33 11 | |
18 69 4 0 94 | |
13 57 24 9 53 | |
49 7 68 15 42 | |
25 39 52 6 98 | |
31 65 59 74 12 | |
22 39 13 2 16 | |
44 46 90 60 93 | |
82 9 71 99 89 | |
23 80 35 51 41 | |
47 30 75 73 22 | |
62 87 59 42 90 | |
9 5 41 54 32 | |
71 25 46 24 12 | |
53 28 77 33 76 | |
36 25 2 74 29 | |
58 34 44 94 83 | |
16 72 69 45 28 | |
88 0 86 14 49 | |
10 56 24 82 73 | |
27 42 83 51 61 | |
93 77 33 49 46 | |
23 5 41 48 90 | |
81 10 3 16 1 | |
84 36 40 88 54 | |
60 85 7 28 39 | |
54 11 4 18 84 | |
63 95 62 13 82 | |
93 33 40 16 55 | |
34 78 29 56 66 | |
51 99 73 14 69 | |
3 65 23 60 96 | |
1 49 78 55 25 | |
15 66 11 42 87 | |
48 52 56 34 38 | |
60 59 65 32 73 | |
68 76 35 75 42 | |
72 70 45 34 38 | |
29 84 28 62 43 | |
49 85 31 57 23 | |
42 57 40 73 32 | |
70 79 80 11 67 | |
55 26 87 92 19 | |
63 58 78 29 77 | |
17 74 18 20 60 | |
84 99 72 74 62 | |
15 14 50 57 77 | |
48 91 55 46 82 | |
85 27 33 21 54 | |
45 31 43 40 60 | |
73 37 66 67 19 | |
16 79 15 45 89 | |
84 78 69 28 46 | |
17 4 12 95 87 | |
49 99 31 9 36 | |
61 34 98 60 74 | |
30 95 33 46 64 | |
73 97 12 26 7 | |
2 58 49 70 54 | |
80 55 94 91 11 | |
27 5 3 62 49 | |
38 88 40 9 47 | |
29 59 94 74 12 | |
48 73 85 97 35 | |
28 25 30 14 83 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
556,286 -> 341,71 | |
337,201 -> 782,646 | |
786,780 -> 117,111 | |
977,864 -> 199,86 | |
544,127 -> 544,144 | |
539,471 -> 539,972 | |
364,765 -> 364,285 | |
282,325 -> 892,935 | |
536,941 -> 158,941 | |
280,39 -> 806,565 | |
168,662 -> 363,857 | |
639,676 -> 639,701 | |
397,809 -> 466,809 | |
716,118 -> 625,209 | |
153,582 -> 497,926 | |
35,706 -> 398,706 | |
61,41 -> 519,41 | |
158,557 -> 158,922 | |
320,177 -> 624,481 | |
800,779 -> 466,779 | |
292,270 -> 292,497 | |
919,17 -> 757,17 | |
935,520 -> 935,688 | |
948,480 -> 303,480 | |
306,811 -> 306,467 | |
227,582 -> 464,819 | |
757,807 -> 757,688 | |
983,12 -> 30,965 | |
632,262 -> 640,262 | |
755,314 -> 138,931 | |
179,599 -> 179,144 | |
556,246 -> 801,491 | |
114,218 -> 114,60 | |
183,70 -> 423,70 | |
561,661 -> 231,331 | |
875,738 -> 723,890 | |
812,828 -> 812,78 | |
98,707 -> 88,707 | |
804,979 -> 188,979 | |
503,178 -> 453,178 | |
902,678 -> 248,678 | |
603,618 -> 737,752 | |
788,735 -> 559,964 | |
839,134 -> 839,408 | |
569,356 -> 491,356 | |
566,543 -> 566,77 | |
624,386 -> 111,386 | |
781,109 -> 781,52 | |
187,709 -> 23,545 | |
220,123 -> 856,123 | |
210,528 -> 398,716 | |
942,935 -> 58,51 | |
102,13 -> 102,560 | |
926,588 -> 969,545 | |
529,117 -> 146,117 | |
989,211 -> 739,461 | |
207,201 -> 207,106 | |
799,876 -> 284,876 | |
370,773 -> 687,456 | |
571,972 -> 571,351 | |
877,910 -> 877,12 | |
384,205 -> 384,940 | |
493,915 -> 912,496 | |
764,412 -> 368,16 | |
368,220 -> 333,220 | |
526,271 -> 778,271 | |
379,203 -> 417,165 | |
168,577 -> 168,709 | |
529,808 -> 598,739 | |
959,506 -> 959,626 | |
576,89 -> 863,89 | |
277,412 -> 311,378 | |
12,19 -> 975,982 | |
620,951 -> 240,571 | |
937,206 -> 954,206 | |
231,177 -> 918,864 | |
499,825 -> 315,825 | |
289,876 -> 289,302 | |
408,569 -> 46,207 | |
461,838 -> 91,838 | |
281,294 -> 281,737 | |
61,541 -> 61,747 | |
768,857 -> 768,276 | |
782,97 -> 33,97 | |
544,563 -> 251,856 | |
731,216 -> 731,19 | |
767,142 -> 242,667 | |
469,612 -> 952,129 | |
508,363 -> 508,540 | |
614,845 -> 614,739 | |
342,362 -> 235,362 | |
880,703 -> 880,653 | |
942,669 -> 651,669 | |
884,976 -> 884,924 | |
158,822 -> 945,35 | |
510,716 -> 884,342 | |
523,946 -> 73,496 | |
334,430 -> 157,253 | |
593,77 -> 105,565 | |
269,132 -> 243,132 | |
902,529 -> 180,529 | |
554,767 -> 554,938 | |
164,615 -> 425,615 | |
51,713 -> 51,341 | |
428,606 -> 89,945 | |
600,402 -> 600,185 | |
774,550 -> 774,207 | |
465,204 -> 697,436 | |
577,719 -> 255,719 | |
647,990 -> 970,990 | |
649,170 -> 886,407 | |
428,503 -> 428,394 | |
381,608 -> 381,444 | |
778,175 -> 778,121 | |
795,379 -> 379,379 | |
929,792 -> 218,81 | |
504,837 -> 504,449 | |
212,216 -> 212,76 | |
446,744 -> 446,116 | |
824,247 -> 577,247 | |
77,214 -> 553,214 | |
913,234 -> 913,670 | |
949,24 -> 43,930 | |
733,758 -> 733,62 | |
628,659 -> 962,659 | |
172,749 -> 755,749 | |
901,717 -> 184,717 | |
457,578 -> 923,112 | |
943,11 -> 912,11 | |
728,597 -> 116,597 | |
465,134 -> 465,159 | |
170,953 -> 170,533 | |
231,715 -> 231,219 | |
209,187 -> 984,962 | |
798,515 -> 798,601 | |
479,123 -> 479,148 | |
360,387 -> 360,356 | |
962,818 -> 962,770 | |
852,607 -> 852,886 | |
159,838 -> 967,30 | |
823,659 -> 642,478 | |
374,893 -> 545,893 | |
248,819 -> 248,978 | |
894,473 -> 894,47 | |
182,975 -> 278,879 | |
75,248 -> 913,248 | |
969,533 -> 969,827 | |
18,40 -> 842,864 | |
972,909 -> 220,157 | |
378,159 -> 571,159 | |
875,478 -> 238,478 | |
95,807 -> 264,638 | |
418,68 -> 418,387 | |
784,548 -> 332,548 | |
365,354 -> 365,836 | |
731,615 -> 235,615 | |
885,104 -> 513,476 | |
816,47 -> 385,478 | |
626,741 -> 626,499 | |
371,372 -> 920,921 | |
83,150 -> 922,989 | |
623,520 -> 645,498 | |
612,305 -> 561,305 | |
845,149 -> 788,149 | |
914,35 -> 829,35 | |
143,165 -> 143,520 | |
164,218 -> 266,218 | |
118,644 -> 397,644 | |
59,942 -> 970,31 | |
616,774 -> 970,420 | |
30,468 -> 874,468 | |
454,208 -> 454,536 | |
524,488 -> 524,931 | |
54,479 -> 560,479 | |
815,591 -> 815,813 | |
959,971 -> 30,42 | |
23,181 -> 149,181 | |
841,294 -> 841,681 | |
34,47 -> 367,47 | |
913,590 -> 913,374 | |
690,64 -> 690,672 | |
541,112 -> 781,112 | |
380,843 -> 687,536 | |
303,330 -> 465,330 | |
408,403 -> 326,403 | |
352,962 -> 925,389 | |
121,882 -> 873,130 | |
979,294 -> 29,294 | |
228,688 -> 228,738 | |
845,930 -> 901,930 | |
726,189 -> 27,888 | |
223,888 -> 989,888 | |
483,632 -> 483,321 | |
606,810 -> 820,810 | |
225,31 -> 225,342 | |
841,18 -> 841,417 | |
375,185 -> 375,413 | |
641,189 -> 307,523 | |
126,900 -> 126,990 | |
530,220 -> 690,220 | |
496,263 -> 154,263 | |
140,503 -> 419,503 | |
349,733 -> 349,819 | |
43,29 -> 928,914 | |
683,842 -> 683,489 | |
113,634 -> 806,634 | |
771,145 -> 130,145 | |
88,467 -> 908,467 | |
328,642 -> 328,795 | |
986,191 -> 218,959 | |
857,166 -> 857,594 | |
950,763 -> 229,42 | |
263,940 -> 101,940 | |
689,182 -> 689,835 | |
241,237 -> 733,237 | |
965,150 -> 279,150 | |
871,242 -> 474,639 | |
688,947 -> 688,11 | |
319,738 -> 945,112 | |
21,853 -> 853,21 | |
69,533 -> 69,741 | |
492,981 -> 492,210 | |
942,69 -> 249,69 | |
63,364 -> 203,364 | |
340,505 -> 15,505 | |
41,43 -> 979,981 | |
395,623 -> 217,801 | |
540,37 -> 540,381 | |
64,112 -> 882,930 | |
887,212 -> 217,882 | |
168,159 -> 108,159 | |
117,22 -> 959,864 | |
413,500 -> 413,616 | |
775,597 -> 962,597 | |
171,901 -> 143,901 | |
777,391 -> 41,391 | |
901,139 -> 70,970 | |
215,75 -> 215,261 | |
973,433 -> 786,433 | |
757,568 -> 612,423 | |
363,347 -> 185,525 | |
274,363 -> 274,709 | |
435,569 -> 880,569 | |
267,297 -> 86,478 | |
221,852 -> 985,88 | |
322,560 -> 322,962 | |
470,259 -> 470,508 | |
861,860 -> 843,860 | |
172,474 -> 172,714 | |
53,839 -> 499,839 | |
600,40 -> 600,227 | |
820,952 -> 99,231 | |
650,486 -> 586,486 | |
305,273 -> 305,392 | |
826,417 -> 826,92 | |
309,934 -> 309,720 | |
381,644 -> 381,623 | |
38,78 -> 38,54 | |
326,450 -> 173,450 | |
474,100 -> 474,135 | |
607,536 -> 192,121 | |
686,504 -> 164,504 | |
538,623 -> 429,623 | |
200,385 -> 933,385 | |
568,275 -> 31,275 | |
105,201 -> 706,201 | |
582,584 -> 827,584 | |
24,469 -> 24,519 | |
306,224 -> 32,224 | |
429,528 -> 304,528 | |
272,851 -> 272,927 | |
636,113 -> 636,244 | |
481,107 -> 783,107 | |
834,87 -> 175,746 | |
684,50 -> 61,673 | |
30,335 -> 739,335 | |
621,893 -> 266,893 | |
968,942 -> 968,390 | |
895,23 -> 136,23 | |
742,650 -> 756,636 | |
42,582 -> 368,582 | |
890,266 -> 786,266 | |
591,807 -> 921,807 | |
915,333 -> 915,160 | |
746,326 -> 826,326 | |
663,803 -> 34,174 | |
533,513 -> 692,513 | |
205,133 -> 935,133 | |
730,138 -> 58,810 | |
290,87 -> 290,488 | |
693,513 -> 693,323 | |
188,491 -> 188,587 | |
562,593 -> 562,122 | |
629,457 -> 629,299 | |
132,781 -> 381,781 | |
356,965 -> 356,899 | |
720,715 -> 487,715 | |
356,120 -> 954,120 | |
657,507 -> 323,173 | |
13,190 -> 742,190 | |
677,640 -> 491,640 | |
145,605 -> 366,605 | |
143,683 -> 681,145 | |
700,787 -> 557,787 | |
958,406 -> 212,406 | |
267,734 -> 705,734 | |
470,333 -> 257,120 | |
790,656 -> 523,389 | |
13,904 -> 898,19 | |
29,970 -> 961,38 | |
846,454 -> 846,153 | |
564,488 -> 98,488 | |
904,19 -> 60,863 | |
493,112 -> 472,133 | |
945,977 -> 141,173 | |
720,231 -> 720,367 | |
783,133 -> 783,422 | |
165,754 -> 165,604 | |
752,308 -> 715,271 | |
413,969 -> 431,951 | |
833,437 -> 833,881 | |
612,802 -> 612,64 | |
974,187 -> 543,618 | |
655,183 -> 675,183 | |
696,833 -> 906,623 | |
756,792 -> 756,741 | |
338,140 -> 878,680 | |
854,955 -> 241,342 | |
602,466 -> 326,466 | |
470,125 -> 464,131 | |
568,141 -> 43,666 | |
826,318 -> 783,275 | |
194,986 -> 194,466 | |
896,330 -> 621,55 | |
482,709 -> 704,931 | |
345,912 -> 345,741 | |
758,119 -> 758,841 | |
11,777 -> 11,249 | |
88,945 -> 795,945 | |
665,74 -> 124,615 | |
243,831 -> 249,837 | |
40,69 -> 720,749 | |
757,804 -> 757,900 | |
803,265 -> 336,732 | |
299,155 -> 758,614 | |
787,173 -> 172,788 | |
251,400 -> 251,168 | |
217,480 -> 486,480 | |
939,974 -> 21,56 | |
767,649 -> 378,649 | |
197,764 -> 561,400 | |
767,577 -> 579,577 | |
952,982 -> 28,58 | |
282,527 -> 282,640 | |
944,125 -> 184,125 | |
149,848 -> 351,848 | |
36,437 -> 350,437 | |
63,527 -> 764,527 | |
66,313 -> 302,549 | |
805,485 -> 577,485 | |
660,626 -> 903,626 | |
927,542 -> 897,542 | |
577,344 -> 577,934 | |
624,284 -> 624,497 | |
649,618 -> 153,122 | |
942,32 -> 227,747 | |
10,190 -> 10,629 | |
84,638 -> 470,252 | |
362,89 -> 362,762 | |
351,844 -> 916,279 | |
683,561 -> 497,747 | |
628,473 -> 103,473 | |
319,525 -> 782,62 | |
842,131 -> 551,131 | |
980,960 -> 51,31 | |
662,12 -> 666,12 | |
337,814 -> 337,736 | |
720,99 -> 760,99 | |
867,515 -> 867,650 | |
248,872 -> 142,872 | |
295,274 -> 298,274 | |
102,369 -> 102,648 | |
523,142 -> 54,611 | |
369,798 -> 978,189 | |
215,688 -> 835,688 | |
846,242 -> 786,182 | |
68,923 -> 68,342 | |
690,416 -> 559,547 | |
567,134 -> 278,134 | |
89,126 -> 846,883 | |
779,325 -> 389,325 | |
675,461 -> 675,622 | |
278,925 -> 953,250 | |
907,460 -> 519,848 | |
769,60 -> 592,60 | |
331,103 -> 331,49 | |
148,366 -> 148,516 | |
933,52 -> 332,52 | |
488,642 -> 488,523 | |
632,403 -> 83,952 | |
321,840 -> 756,405 | |
302,627 -> 907,22 | |
650,449 -> 650,553 | |
219,466 -> 219,297 | |
841,947 -> 78,184 | |
40,746 -> 712,74 | |
559,306 -> 895,306 | |
317,592 -> 317,275 | |
267,183 -> 267,428 | |
43,397 -> 43,359 | |
952,705 -> 952,634 | |
921,837 -> 258,174 | |
634,783 -> 656,805 | |
366,309 -> 224,309 | |
383,470 -> 526,613 | |
717,419 -> 717,332 | |
543,752 -> 543,500 | |
954,892 -> 101,39 | |
294,379 -> 583,379 | |
829,388 -> 829,491 | |
748,509 -> 283,509 | |
347,75 -> 467,195 | |
618,958 -> 371,711 | |
986,827 -> 213,54 | |
34,617 -> 982,617 | |
716,902 -> 716,429 | |
970,52 -> 107,915 | |
563,33 -> 563,680 | |
803,82 -> 136,749 | |
24,968 -> 273,968 | |
816,483 -> 620,287 | |
783,588 -> 623,588 | |
397,210 -> 988,801 | |
911,387 -> 911,446 | |
770,730 -> 786,730 | |
22,11 -> 982,971 | |
395,316 -> 151,316 | |
301,420 -> 301,248 | |
10,10 -> 989,989 | |
637,358 -> 247,358 | |
932,341 -> 642,341 | |
162,594 -> 162,448 | |
51,946 -> 396,946 | |
591,253 -> 958,620 | |
567,849 -> 567,713 | |
879,910 -> 879,603 | |
889,642 -> 437,642 | |
669,528 -> 945,252 | |
644,237 -> 774,237 | |
488,870 -> 738,620 | |
692,388 -> 959,388 | |
506,17 -> 701,17 | |
663,514 -> 663,216 | |
684,862 -> 289,862 | |
511,235 -> 519,227 | |
866,940 -> 153,227 | |
381,518 -> 87,518 | |
837,573 -> 181,573 | |
337,191 -> 337,135 | |
324,573 -> 945,573 | |
449,800 -> 390,741 | |
763,378 -> 763,695 | |
24,457 -> 444,877 | |
267,875 -> 798,344 | |
724,848 -> 395,848 | |
931,322 -> 931,244 | |
426,241 -> 280,241 | |
175,879 -> 175,883 | |
496,158 -> 560,158 | |
899,319 -> 805,319 | |
799,424 -> 563,188 | |
958,388 -> 958,290 | |
558,95 -> 314,95 | |
768,646 -> 961,839 | |
246,534 -> 246,147 | |
808,720 -> 808,385 | |
912,147 -> 912,305 | |
670,676 -> 776,676 | |
534,594 -> 696,594 | |
736,768 -> 736,364 | |
377,784 -> 377,368 | |
799,105 -> 978,284 | |
763,575 -> 763,253 | |
581,205 -> 581,45 | |
932,782 -> 678,782 | |
400,950 -> 936,414 | |
68,616 -> 897,616 | |
399,662 -> 291,554 | |
354,397 -> 354,489 | |
219,276 -> 862,919 | |
115,138 -> 195,138 | |
863,326 -> 863,335 | |
884,130 -> 271,743 | |
986,148 -> 234,900 | |
254,186 -> 973,905 | |
975,971 -> 672,971 | |
122,533 -> 19,636 | |
316,512 -> 219,609 | |
113,480 -> 716,480 | |
483,540 -> 845,178 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5,1,1,5,4,2,1,2,1,2,2,1,1,1,4,2,2,4,1,1,1,1,1,4,1,1,1,1,1,5,3,1,4,1,1,1,1,1,4,1,5,1,1,1,4,1,2,2,3,1,5,1,1,5,1,1,5,4,1,1,1,4,3,1,1,1,3,1,5,5,1,1,1,1,5,3,2,1,2,3,1,5,1,1,4,1,1,2,1,5,1,1,1,1,5,4,5,1,3,1,3,3,5,5,1,3,1,5,3,1,1,4,2,3,3,1,2,4,1,1,1,1,1,1,1,2,1,1,4,1,3,2,5,2,1,1,1,4,2,1,1,1,4,2,4,1,1,1,1,4,1,3,5,5,1,2,1,3,1,1,4,1,1,1,1,2,1,1,4,2,3,1,1,1,1,1,1,1,4,5,1,1,3,1,1,2,1,1,1,5,1,1,1,1,1,3,2,1,2,4,5,1,5,4,1,1,3,1,1,5,5,1,3,1,1,1,1,4,4,2,1,2,1,1,5,1,1,4,5,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,4,2,1,1,1,2,5,1,4,1,1,1,4,1,1,5,4,4,3,1,1,4,5,1,1,3,5,3,1,2,5,3,4,1,3,5,4,1,3,1,5,1,4,1,1,4,2,1,1,1,3,2,1,1,4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1101,1,29,67,1102,0,1,65,1008,65,35,66,1005,66,28,1,67,65,20,4,0,1001,65,1,65,1106,0,8,99,35,67,101,99,105,32,110,39,101,115,116,32,112,97,115,32,117,110,101,32,105,110,116,99,111,100,101,32,112,114,111,103,114,97,109,10,601,578,981,315,530,525,671,1501,616,214,724,1247,543,58,183,282,242,54,90,130,1788,360,1719,710,1165,1476,29,744,164,293,1360,274,47,119,16,387,134,547,72,48,77,416,863,39,65,144,500,678,430,160,1689,550,753,1478,480,56,583,85,206,93,335,990,174,276,1119,52,308,470,563,387,897,21,85,720,983,178,383,134,299,722,57,391,489,768,232,646,1312,1316,31,57,927,176,531,421,1162,369,934,7,172,237,340,169,261,1371,1351,1268,72,58,375,1570,1238,55,513,403,1462,141,263,419,1316,852,251,39,358,209,204,439,150,1667,344,205,1299,1226,992,967,536,1160,1503,1154,1323,486,1079,329,823,506,1252,387,28,69,649,296,233,62,219,344,464,1284,291,234,47,949,1126,935,1367,1450,1431,379,344,478,731,648,77,184,927,211,262,728,1093,381,140,239,332,1436,78,665,1486,601,1444,364,1057,753,488,127,1001,350,1016,357,638,309,40,333,136,655,779,821,414,275,140,149,185,445,1169,476,196,907,1570,193,161,43,204,1489,1125,1024,101,17,592,1378,338,1625,3,269,1568,254,803,25,776,109,52,291,1595,255,739,34,768,378,632,4,181,373,162,562,74,85,160,16,47,38,266,1610,9,7,1398,358,287,450,188,1390,37,98,80,685,1645,50,55,16,542,20,443,848,49,808,76,233,69,110,471,73,408,638,89,861,280,1062,75,314,808,237,96,401,57,48,1306,115,1164,1533,5,1032,1314,66,630,96,496,116,1558,438,13,182,1360,802,101,327,370,444,335,812,430,900,1259,1117,318,118,433,501,401,101,582,27,454,981,776,14,26,163,384,1652,87,788,474,588,155,845,207,33,200,622,840,1360,432,11,525,86,296,481,200,529,95,924,431,40,846,220,285,14,66,755,111,647,643,1201,81,483,555,125,426,1499,29,115,48,39,92,316,434,217,218,116,9,33,496,358,1106,736,1181,1153,117,20,1719,1113,1620,26,581,407,114,1559,6,1918,964,909,340,630,817,473,111,1485,434,262,1702,651,11,182,1043,1904,633,336,252,677,1238,637,1008,82,327,171,185,19,141,395,1209,53,798,836,1378,598,262,298,265,287,85,21,249,848,162,89,1050,108,34,41,25,291,918,28,1234,139,351,867,146,79,995,1173,635,24,31,81,214,1114,155,1256,159,206,586,426,452,650,1653,47,42,264,240,500,864,893,1308,1249,853,286,62,592,102,77,1082,91,120,625,211,978,319,655,200,152,86,396,52,308,1479,38,41,53,179,648,216,41,641,659,1556,226,1421,291,33,1461,1095,529,309,1100,314,1695,505,1200,150,946,53,124,139,1506,52,33,463,613,33,1264,386,678,563,564,318,273,912,60,31,150,1321,133,1333,302,1243,49,421,808,1399,555,195,611,268,39,1302,1154,92,664,117,92,124,332,561,1436,865,198,71,271,909,40,1185,664,251,422,306,122,814,158,1676,122,217,312,952,845,104,572,1796,392,651,176,714,44,757,111,56,489,333,738,369,304,1239,105,297,277,674,213,938,2,681,336,171,1252,166,88,489,273,260,565,231,319,1085,650,211,510,12,511,325,46,107,980,1136,16,95,308,935,514,469,20,44,209,345,467,1310,500,75,594,166,199,741,193,28,52,106,1437,366,575,1200,609,678,534,573,723,325,8,386,268,690,321,186,375,2,104,657,1341,601,175,0,745,146,508,180,426,811,7,215,300,86,25,372,233,900,276,1625,808,1941,510,234,813,131,334,58,783,992,236,244,174,609,1581,1767,204,187,208,1340,347,803,146,299,140,142,339,60,118,300,809,276,413,267,946,77,154,466,425,193,187,852,674,2,17,1006,1007,166,195,137,97,41,407,65,1072,20,789,311,1227,20,132,1536,995,194,506,635,115,1500,529,93,72,950,208,944,1177,476,207,1228,5,974,226,225,290,690,581,218,401,49,361,1408,242,254,24,313,441,635,126,513,994,299,1722,52,1123,44,1332,628,534,789,298,692,45,596,1583,77,15,38,1293,1181,1498,772,148,297,49,692,87,594,49,148,170,54,1079,7,468,847,336,421,34,1108,406,892,689,245,298,85,1187,1142,286,310,207,34,660,549,39,1172,97,1,750,47,0,77,1632,135,54,18,22,1292,230,1031,11,225,820,461,1208,108,1443,274,1134,41,287,166,274,1032,585,1491,75,549,1231,1314,443,212,395,386,698,58,644,395,81,905,366,233,716,656,799,643,1011,173,790,360,269,930,13,606,488,387,1206,51 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bg gcdaeb aebg efabdcg abdce cafdbe fcbdeg bdacg gbd cafgd | daecb dcbae gb eabg | |
eabfdc fgd cegd aedgf fbacgd dceaf dg aebdcgf efbag edgfac | cgebadf dgce deafc acdbfg | |
dcgfb fe bcgefd adecfb fgdec dfe egadc fadgceb facbgd befg | fdacgb fbcdg dcefbg bcdfg | |
gebdcf eg ecgabd gabed agdfb dbace fgbacde facebd egd gcea | agdbe gde deg agcebd | |
efb fgeacbd efcdb adfe fcdabg cabfd dcebg deafcb cgbfae ef | bgcde adcgbf feb adfe | |
gfdcaeb cdgfa agefc cge cgadfb fegdbc ecda eagbf gdfcae ec | dfbecg degcaf gafcd cge | |
eacbdg gdfb dfcbge cgd egcdf gd bfedc aedcfb fcgea bdafceg | gd gcbefd begadcf gcd | |
gafced dcge ec gafcbde efgca agefb defabc eac cafdg dagbfc | fegba edcbagf efacg eca | |
ebfdc dbfae cbfgd agbecd ced ec dcefbga ecfg fgbdac fbedcg | ce ce cgadfb ecd | |
dgbfe gcbdaf cbegfa gfcda gadfce gbafedc ecg ce cgdfe aecd | efbcgda fbaegc cdae dcae | |
fca gcbfed ecadfbg fbgcda gfbdc cfadb afcbeg fa baced fagd | afc fdcbge af badcfg | |
fdegc defgacb acged gf deacfg cfg fbaecg abcgde dfag befcd | fgc egfdc cdaebg ebgcad | |
afgdbce ebfcd dfbecg bafged bg bcged egcda fabcde bdg fbgc | dbg gbd dgfeab fdebc | |
ecdbfa cage cdaegf dfgea cadbfge dbagfc ea dbfge efa cfdga | ea afe fgcad dgfcab | |
dafge cebf cgebd ecbgadf gbf bf debgf cdgfbe dbgcae gdacbf | defag edbcg becf bgf | |
gdb egfabc dbcfeg fagd gd abcde gdabfe fabge fcabedg debga | gfda bdg gaebf gbd | |
cbdfg fbcdgea ebdc bc cgb egfdb facgd egdfcb fbgade facbeg | gcfbd dbce dcbe fbdceg | |
fg afg agedcb fbdgeac gbfca eacgfd fceab cgabd bfdgac bgdf | bgdf afebgcd dbgafc bdfg | |
fbagced cegfd feabc dfbacg bg eagb bcaefd abegfc gfb ebfcg | gfb gb gbf gdfce | |
dfceba bdcaf decab ea bae acebdfg egabfd bdgec cbadgf efac | dcbeg bdceafg ae abcfd | |
gbfeac deagc geafc efgb agfcdeb dbacgf ecbfa cfg fg edbcaf | cgeda fegb aebfc gf | |
acgbfed cabdef gfbcde abced ca dbafgc adc fcedb feca aebdg | gecfdb caefdb baedcf cgeabfd | |
ed bdge dceagb gafceb dce cgaed bdgecfa gabec fdagc aedbfc | acdeg dce dcbega dfgca | |
ecgdb cbefdg fgbc cfegad cf fce fadeb bdgeac agecfbd fdcbe | fc bgdace cfe edfacg | |
ed fdbgc cfeab adbgfc adgebf ebdcf fgedbc gecd def dcgaebf | dfagbc bagdcf gdce ed | |
bgdfa gefbcd fdceab fe fabde edf caebd acfe deagbc dcbfeag | fe fbgedc abecdg fdebac | |
bafgde cfgba dcbag fcbgae dafc fdgebac da bdcagf gad cgdbe | dfca ad dga fcbgdea | |
abecgd agbec bcfegd gfacbde ca bafced fabeg acb cgbed agdc | gdceb cfdbage afbdgce begac | |
cfb gdafb dfcgba facbde cdefabg egdcf gfcbd cb agbc febgda | cb efbacd agbc cb | |
bdce dgaec dcefga dcaegb fbgae dba db afdbcg fceagbd gdabe | eagbdcf bd febgacd cebd | |
bad fgeab bd agfdce fcadeb agdec edbfgca dcbg bcegda edgba | dbfeac bfecda bfgecda dbgc | |
egcbfad gdfec faced ecdgfb decfga fac fa fdag cfbgae baced | gcfaed aedcfg fadg fa | |
ebfdc gadcfb fcgdea ace abcde ea gecdabf gdcba gbae dacbeg | bfdgac gadcb acbgd ae | |
gcafe abfged egfadbc fbdec dg gdebfc gfedc dbcg fcbead gde | gdbc faegc gde deagbfc | |
decabg gdcfa dfbca cgdefab bdegfa afcdeb bdcea bdf bf becf | aebdfc efbc dfegab bf | |
cdfegb gcdaf fa bfdacge egfa daf gdbac degcf adfecg ebcfda | cedgbaf fdgec afd gadcf | |
gd bcfde adegfc cegbfd gdc dgbe bdgcf gfaebcd cabfg edacfb | daecgf agbcf caebfd cbedaf | |
decbf ebcfg egcaf gfaecb gbf gaeb cadegf ecgfabd agdbfc gb | fgb dfcgae cfbge abfgce | |
bgfed cedgf cegabf gfc fc eagbdc caegd fcad dbaecgf dfceag | fcda efdbg fedgb bfaedcg | |
dcafbg aebdc fgdcb efc fgedca fe gbfe fdbagec cfebd cebdgf | gbef gfcbd cef ef | |
fabdgc cbd db cfgda cfabd eacgdf dagb abefdgc fbeac gdfcbe | bfdca ebdagfc dcb bdag | |
bgdface geabdc edabg aeb agec ea fcagbd acdfbe acdbg bdegf | cbedgaf bgcaed ea abfedc | |
abfeg fedbag fbegc dcgfbae fbgcd ec abefcg eafdcg fec aebc | gabef ec geabf fcgdb | |
gdcbef edfbg cg cafgbd gedc gcefb acfegdb eacbf dbfgea gcb | cgb bfdge gefbc agbfdc | |
gecbfad fdga debagc da bcdgaf abcfd abcfg bad dfebc aefbcg | cbfga dbcaf cfbda fgad | |
cbegdf cdga bfaecg egdfc dfaceg fbedagc dgeaf ga gfa efbda | gcdaef agf fga efdag | |
abd dcaf ad cbgefd abcge ecdbfag cbedf fgbade adebc acdebf | bagec dcfa ad dbaec | |
efcdb cedgaf edfcab dgecb dgbf egd baegc dg efdgbc gbefcda | afcdeb dg cfbdge gcbed | |
bgdfca bgf bfgac gdfc cedabg gabedf fdbagec cebfa gbdac fg | facbg cfagb abcgd edagbc | |
ebagdcf ecgbfa bgadf bdfac cfb cbdgfa ceadb cf dgcf fabdeg | cdfab eagfdb gdfeba fc | |
gbc bc fegac cfgeda gfcba acbe bcegfd abfgd dgaefcb ecbgfa | edfbgc ecab cbfag efagdbc | |
de gacfeb fabce ecgbdf adbef cbgdeaf aced dfe bfadg fcabde | gbdefca daefb cgedfb cead | |
dbf edbfa bedcgfa begafc fdega db cadb facebd fcaeb fdcgbe | bcgfea cbefda fabce cabfe | |
fcb cegbdf fgdeb fcdeb cfdae cgdb cfgabe bc agcbfde aebfdg | gcdb fcb bdefg edfbg | |
gfead fgdcbe egdfacb gacd cdf ecgfda edacf adbgfe dc ebcfa | agdc fdc geacbfd fagdbe | |
gcfabe cefag dafg agecd ad decbg fcedgba cedafg cda ebcfda | aebcfd bfdeagc afecg cgbedaf | |
gcefdb aecbfgd fdegb ga fgcbda eagf aedgb dceba befdga gad | edagfb gad fgae ebgad | |
abdfge gfcea bcdg decabf gadbf cafgd dc cdf cdabgf dfceagb | gfdca bcagdf eagdbf dfc | |
ab dfagbe efbacd fba acfdeg efgad eabdgfc bfgea egcbf adgb | dafgbe gbafe ab dagbcef | |
febgd gbf bf cdebga gdebc bfcedg befc agcedfb cbgafd agfed | bf degaf gcdeb fbg | |
cegdfa db cafegdb decga gbd aedb gecfb bdcgfa cdagbe becdg | agbdefc cadbefg fgbce db | |
gcdfabe fcabg gafdc fbagec bf agbce gbf dcebga feab gcfdbe | cegba fb bdcgefa bgf | |
bfc cedafb bacfg gedcba acdbg dcfbega gdfb acfge bf adbgcf | fb fcb bf dfcbea | |
bdgca fca edfbac gcdf fc cbgeda afbgc afebg fbdgac gfeadbc | bfcdga adbfce gbedca cf | |
cf abdfce fabdg bcdgfa fgcb caebdfg cgdfa ecadg cdf gbedaf | fc acdfbg gcbf cfd | |
dcbea dfgcbe dbefag dcbaf cgfa fa cbgdf bfa begcfda adgfcb | fba abf edcbfg gcbdef | |
gd fgbacd geda dfecb cdg ceagb ecgdb dceafbg afcgeb cdebga | dacfbge efacgb eadg gdcbe | |
dfbcae fe bfcgea cefg fgeab fgdab dgecab fdgeabc eagbc aef | ef fbdcaeg aefcbg efa | |
fdcgb cdeabf gdafcb efcg bfagced fe gfebcd gdbfe feb bgeda | fcgbd fe bdegf gefc | |
cdgaeb gfeabdc dbfg bdc gcadbf fdbac db gcabf cgeafb eafcd | decfa bdfg bfadcg bd | |
fdgea ab eafb dafcge cdbaefg eadbgf edacbg fbdgc gfbad gba | ba ab ab gdbfae | |
bacdfe defab fbeg egfad dfbagce fg febgda gfdbca fga gdaec | dgbfac dcgae bedfa bfeg | |
feadb cbd fgbedac bdceag bcaf aefcdb cb decbf edgcf bfdeag | fabged egdcf fbgdace bfedca | |
cdafe agfedbc gebc aeb fegdba cabgfe cfbea dabcfg eb cbgfa | gacbdf egfbcad cadfe gcbe | |
deg dbecg abdce agcfebd dg defgcb fagecb febgda fcdg ebfgc | debfcg egcbafd cfadbeg cgdf | |
cebfad efc dbcfg gfdcbe cfdgba agfed ec becg dfgec gedbfac | bgfdc fce gfedc gbfadc | |
eabdcf bfcgd gabdfe bacfe bde eadc cbdagfe ebcfd ed afegcb | cdea fcgeba cbfgd bafdeg | |
gcdab bdafge dc aefcdg acbgfd bdfc cdg eagbc gdeacbf fgadb | dfbc gaedfbc bcfd bdcf | |
efdca gced dbagefc afdeg feagbd fce ce dcabf adcegf efcabg | gfebac ecafd adbegfc abfdc | |
bfadcg cgfda bc fbcegd fbac ebagd cagbd egcafbd cbd dfgaec | dbeag cb adgcb abdgfc | |
dgbef gbacf bcde cd degafc dbefag fcd gcdbf bedcfga cebfgd | cd bdcgf ebdc bagcf | |
gc fegdac dgefa cefab bcafdeg decg fcg dafbcg fegbda ecgfa | ceagf cg gfeca cgf | |
fbage cfdaegb dcfgb dbae gefacd de cbagef gfbed deg ebgdfa | fgdace fegcba ed dge | |
geb ebfacg gbeca gcbedf eafb egadc fbcag cfadbg fbecgad eb | fcgab baef bdagcf gfebac | |
egbcaf fcgab gaebdf bf dcfeabg befc aebgc bgf adcgf bgdaec | gbface dcbage fgb abcge | |
bgcdae fdab becadf fa beacd fae gebfc fdeagc acfeb ecabfgd | cfbea fdaebgc afe gfdeca | |
gefc bgadf dcebfa ef gcaebd dcbafeg cgdbef dbcge efd fgbed | acbfde gcbde dbecg fe | |
cadefb degbc degfb dc dfcabeg ced cabeg cbefga adgcbe agdc | efdbac acgd agebdc ecd | |
fcgbea gdfceb eadcb gdef gdbcafe fdc fdbec febgc bcgfda fd | cfd dfcegab dcbfga fd | |
gabdec dgfcea dagbe gf dgf cabgfed bagf befcd bfdage fbdge | gfcabed bfdge fagb abecdgf | |
abc gdcea cgbfad egcfabd eafb gfceb cfaebg fbdegc gecba ba | cab ab efcdbg efcgadb | |
bafdcg gdbaef cf abfc dceag fcg fadgb ebfgdac fdcga ecdgbf | gedfbc gadce adcge fcg | |
afb fadce dafcb ab degfbc abdcefg gabdcf fagbde bdfgc abgc | dfacbeg ebdagf afb acfdb | |
cfaedb dce edgcbaf bgdfc dcefb ce cbea fdgaec aebfd fgadeb | ced acgdef dfeagbc ce | |
egfcdb cdfgbea cgafb efgd gcdbae ecdabf bcdge df bfd fcdbg | cdebg df bfd dfebcg | |
gbecdfa ce ebacd dgafbc bec dfabc baedg bgacfe efdc fdbeca | cfdba ecb ec bgecfa | |
cadfbe bfgdeac gdeab ebfcg degfb dfag edf degabf gcebad fd | fgbed abcfde becgf begdf | |
fgd egdbf fgbce gcbaed dabeg dafe fd cagbefd bgedaf abfcdg | fadbgc df dfea adebfg | |
fdb gcadbfe fd acbde gdcf cfgbe gfbcde bdfec gabcfe ebagdf | dgfebc dgcf bfgec fcbgdea | |
dgcbf daegfcb ec cfae dbcega cge gbaecf fgbce fagedb befag | fcgbae cbgedaf bcfega fcae | |
cbadge eg dbecgf edbgf dcabef gecf fgbad ebg edbcf adcbfge | egb eafdbc geb bdfga | |
afebg gfcaeb bgfdce cfea af bgade fba bcefg edfgcab cadgbf | ebcfg cfageb gdbae egabd | |
agfdc fegb badfg fbcdgea dfbaec gdeab eafdgb abf bf cdaegb | gadbe cbdfae gdafeb gdabef | |
cgdeba gadcbf gebca ad afegbdc acgbfe gcade fegcd dac bdea | ebgcad becgda cad dac | |
becafdg gd cdg cgebfd efbcg cbaed febgac becdg bdfg ecfgda | cbgfe gd adcbe efdcagb | |
efcb aebgfd aecdfgb gdcaf bfa bf aecfgb cadebg gbfac ceabg | bcfe fb bf fcbe | |
bgaf bgedcfa ecdbfa cgfea gea baefc ag cgdfe gdcaeb ecfbga | gea ebcaf gfecd ega | |
adfegb degcb dgb bg adgfceb cdeagf acged gdecab abcg cfdbe | gedac gfbdace becgd ebgacd | |
af fgcdba bgecf bcfage dgcfeba cfa ebfa cegfbd fecag edgca | bgfaced fa fa cbgef | |
egbfcda deacb gfdacb fdcabe bgedc ae fade afbcd gfcaeb bae | ea bcaedfg gcaefb deaf | |
feagd becafg ebca eb geb cdafgb feabg faegcbd cebgdf bcagf | afcbeg afgcb facbgd fgdea | |
cdbfea efagd bafegc deb dgaecb dbgae db ecagdbf dbgc ecabg | gdaeb bdcg aegdcb agefd | |
abe cdbgafe cabef befgc fbadce ba facgde adfce bacged badf | abcedg adefc bfad bfda | |
beafc efdabc fbdgae dcaegbf beadc adcgb ecabfg decf de dea | egbdfa fedc febca fcabe | |
bd dbeg dcbfeg cgfad dfbgc ebcgf bgecaf cfadeb fbd abfdgce | deagcfb gfdca fbgec decbfg | |
febadgc df gecfa cebad fdeac fad gadebf dbfc eacdgb cfeadb | bafdcge afcdgeb cdgaebf fda | |
cgedabf debfga gfe fg gfba gacfed dfbeg bdfea dbcefa bdgec | dceagfb ebdfa dbfeg fadeb | |
egafcb cg ceg ebgcfad dacbef afedg gcbdea bcfae cefag gbcf | gdfea egc ecgaf fdgbcea | |
egfba adecfb gc cfg cfdbeg gdac eafgcd dfcea cgefa bfaecgd | gc aecdbf cgf dcbegf | |
abcfde eafbd dagfebc bgea aefdg dga dgbfac faebgd edcfg ga | eabg eabcgfd abeg deacbfg | |
ac fbgeda begcfa decgf gfcbad eagcbdf gbaef eabc gac egcaf | eafdgbc fgabdc agc cagfe | |
abdfg gefba ecafb eg egf febcdag egac beagfc edgcfb acbdfe | bcafed gfe eg febdgc | |
fgcba bge efgcab bfgae adbecg fcge defgcba bedfa abgcfd eg | ge abdef badef gfcdeab | |
gdecbf fcbdae acedf acfb cdbae cgdeba fc gafed fgacdbe ecf | bacf bdaecg cebad cfgdbea | |
abfcde fa afd degba cdgbeaf bafed eadcgf cbaf bdcfe cedbgf | dgbae bfedc fcba aedgbfc | |
egfadc ec ecbf abgcd gfdbae eac abedf fegacdb bcedfa cdbae | ce cdbga ceabd beagdf | |
bdcae bfc fb bfcdeg ebacgd aecfgdb bfdcea acdfg cbadf baef | cfbdae fbc abgedc fcb | |
bf afged adbegc ebfc gbadfce bdf fbcdeg bdcge efgdb fbadgc | cfeb ebcfgad febgcda fbd | |
fbeda dfega bf becda fba dfcb cagbed abfdec cfagbe aebdcfg | bdcf eacbd abdecg ebafdc | |
baecfd dg gbdc edagb bdaec ebgaf bcefadg dge eagcbd acgfde | deg dg deg bdacef | |
degabf gdbef cedg bgfcd dfacegb dcb dbgfec fcagb cedabf dc | gecd bdc gbedf acbfg | |
efdag ce cabe bcfdga egcad gcbad bdagce cde cdfebga dfgecb | agdec cde dagce cgade | |
adbgc bgecd ebdgcf dgafbce abcefg gefdab ec edcf dgfbe ebc | geabdfc edagbf efdc ec | |
deagf bdcf dgc fbegcd deabcfg cd edfgc aebgcd fecgab efcgb | gcefbd fbdc edcfbg efgbc | |
fbgedc bacged egbacf cbf gaecb fc fdcbeag ecaf cbgaf agdbf | cfagb bgacf eacbgd fgbca | |
abdeg gdcea bdfega fgadb eb bgfe aecdfb facbdg gdebfca abe | aeb efacdgb eba be | |
fcdgab cbgfa gc gfdc bcg fageb cbfgdea cgaebd fcdab dceafb | fcabg gc cfdg bcadfe | |
dfgcb ebgadc efb ecgba becfg feagbd cgebaf ceaf cgfbdea fe | fe bfe bef fcbgd | |
fabde cbdg gcbae fegbac acfgde edgab bedgacf deg cdbega gd | dcgb cgfeda eafdb egd | |
gfac bcaegf cf fcb ebcda edcbgaf dgfbce agfeb geafdb cabfe | ecadb fc ebadgf efcba | |
fbgcad bfcae cf afbeg dcfe cbf cbgaed ceadb bcedaf fabcged | adfegbc fbc ceabd fc | |
dabf dacbg fgabc db cgdafeb eacbgf cgfdba bgd dgcae gdfceb | bacegf cbgfed bd bd | |
dfec dgcabe cf bfdca fgadbce bfceag edabc fcb fdabg bcfeda | fbc bdfga efdc cbefag | |
edcbga fcagb gb dagcef fgeb egcfa dfbagec agb gcfeab dcfba | bcdefag ceagbfd efbg fecga | |
eacdgf cb ebc afgecb dbeaf cbfea ebfcdga edfgcb egafc acgb | efbad cebaf deafb aedbf | |
gedba fegdbc dgf deafg gceadf afcdeb gfca fg eadfc dbcfgea | gdacfbe gf faecbd egfad | |
fe gef adebgc fcde eadgc gfcaed bfcga gafce bdgcfea fbgeda | dabfge cefd afdgce feg | |
gafd feadbc cfbage ceabdgf edgcb acgbf ad fbadgc acdgb adb | ecbafd cdabg abd bad | |
gea defga egdc dafbg fbadec fbcega aedcf ge cgafde cabdfge | ge fdceag efcad cdbfea | |
gecdbfa bgdfca cdbfa ecdfba dgfca cbag ga ebdagf fdgec gaf | fgcdeab bcedaf gbca cgab | |
defcgb edcfg gcadf fac dgfcae bgafec cfagebd aced ac afdgb | afdcg dgfce fcegbad ac | |
eab cfdega ab bfgaec gbdfeca gdeca dfecb abgedc ebacd badg | gcafbed ecdagf bcfgade ba | |
cbd acdfbg bgefda cb fgedbc acfb bafdegc dgafb dbacg gaedc | bc baefgd gbdefa cb | |
edc gfead edgbfa efbca dc dcgbafe dcgf aecfd gafdce bdcgea | bfeca fbaec bfaec fdaec | |
dagef efgcbad gcbd ebagfc db eafcbd efcgb deb bedfg cfedgb | cgadbef bd dgacbfe befgd | |
gcefbad cebgaf efcgb bdge bdafc cdfgea de dfe bfdgec cebfd | dfecb de fdebc fde | |
fe aef cgbea dbfcga dfagce cbafed cebagdf cgeaf afcdg efgd | fadbce fe aegdcf ef | |
adbgf dcbfae cebgdaf bf gafde gdcba cdaegb fab gcbf dbcafg | adbgf gbedacf afb gcbaefd | |
cfagb geb dagbcf edbfa egdfacb efgba fcbeag eadcbg gecf eg | ge cfeg bafde afdbe | |
ge bfedca adgbf dfceb dfgaec egfbd gfcdbe fcgedba gebc ged | fcbde cgdafeb cdfaebg eg | |
cdebaf cgdefb fdbcega bdaf fgecad afc af abefc acgeb bcfde | abfd fbad fdecb geabc | |
edfga dcagb afgcbd facb dbegcf fb bgf gfcbdae gabfd cegadb | fbdcga fbdga fb gfb | |
dcegba dfb adbec cdbafe df fcbeg dbfce dfabcg edfa cbedafg | fd efgcb cbafed dagceb | |
afcbe cfa agbef bfgacd cf cgef cbgeafd aefbgc gefbad abcde | gfcabde afc fca fabgde | |
bacdge dfbc bc ecgfdab edgbcf cgafde gbaef cgefb ecb edfcg | bgdcef bgedafc cdaebgf cbfd | |
egdc cbdgfa def dcafe de dcgaf abefc dbaegf fdgcea ebgacfd | edgc gbcedaf fgcaed geadcfb | |
dbac bfdge cgb bcgde cb gbfdcea acfebg bdcgea adecfg edgca | dgeac feabcg aegcd gcb | |
dcbeg dcgef acdfg efabgcd dfaceb efgb fbcdge aegbcd ef efd | dfbcge bgef gcdef cfdag | |
dfgb gfc afcde egbcd cfgde cdbegf agbecf gf bcdeag fgdebca | becgd gf edgabc dfcabge | |
cd bdaefg cabfed cdgfbae bgceda eadbg egdc cabgd bcd fagbc | dbgac fedacb edbfacg dgce | |
acde faegd dfa bgeaf efacgd fbagcd da bcaefdg ecdgf febdgc | dfegc dgbcef adf cedfag | |
fag cbafe ecbfag gcbdf edfcba cgea bagefd agdcefb ag bagcf | fcabg ebagcf gdcfb egfbda | |
badf fgdbace gfced fdcea efacbd ade bcfeag ad cabef dacgbe | afbd edgcf fabd fagebc | |
ac cfdabge bgac gfade fdbgc dac dbcfge dgcfa dcgfba fbdcae | cbagdf geadf dbcagf adc | |
dcgba dc gadfeb fcdg baedcf aegbc dbacgf eagbfdc bdc gbdaf | abgcd cbd gbfad gbcea | |
bfagec fcbeg ce dfagcb bfcade ebc dfegb acgdbfe gcae agcbf | gcae afdgbec bfagc ebagfcd | |
bgacf gfdabc abgcef fdab cdbag decbg geadcf ebfacdg ad cad | bcaefg cgbdaf bgcaefd agbcf | |
fbadeg gbe dgcbea gb bcgd bdecgaf agecb cegda cefadg bacef | aedgc cgdb aegcd agdcef | |
gbecdf aefg eg gec bcefa gcbad egcba cefbad fecgab badfecg | ge afbec edfcba agcfdbe | |
fbga cedbf ba ebagdf baegdfc aeb bagced gfcdea bfead afged | gdafce ba eba efcdgab | |
beafdc bca defac ab edfcga edcbg cabed bacgdfe gbadcf eabf | cfdage cafbde efcbda cdgeaf | |
efg agfcde abgfd efbc cdebg febgd ef cdgbae fegbdc befgcad | ef efbc dfgba fge | |
acgfb eabgc cfdab fg afg gcef gfdbea becfag beafdcg gebcda | fgec gefc agbefc cgfdeba | |
adfeg cgdfeab feba fgeabd dgabe egbcfd aebgdc def cgdaf ef | febgda adfgc bgdcea gadfe | |
cgabf bcg bfgd edbcgaf acegf adbefc ebadcg bg cdbfa cbfdga | eadcbf deagfbc fcage dfbgac | |
dge ceabdg fdbce cedgb acfdgb cbdagfe gdabc gabe fdaceg ge | eg gde cdebf abecdg | |
cdage eagcf ade gebcaf faecgd gcbed abdfeg cdaf ad degbcfa | bdgec aegcd adcgbfe feacbg | |
debg gec dbfegca ge acdeb acgfd abegfc bcadge eadgc efdacb | cfdbae ge cgabef dgafc | |
gcfabe ed adcgf febac bgdfea dfaec deafcb acfbegd dcbe ade | fcgda dea fcdag de | |
bdfecg adgbefc dfbeg dabecf agefd gdba ad dfa faecg beadfg | cgfabed abdg cfdgbae adefbc | |
cdbge cbaegd cde afcdbg cbadegf efgadc agdcb fgcbe ed daeb | ecd ecd dcgeab dbcge | |
ebcg fbgae fbaec cefbgda ecf bdfac efbadg gfceda cfbage ec | cfdage ec caebgf cgeb | |
cgfbead fed fgecda dfeagb ecfg efcda cfbda fe dcbgae edacg | fedac efd ceadg cgdae | |
dgbae acbfedg acbe ceagd gacebd dgbefc cadfg ecg fdbaeg ec | dgfbae ec fedbcag abec | |
ecbgadf ab afbe fgcba fgcead bgfaec cgafe dgabec dfcgb abg | bafe bfea cgbdea ba | |
cf dfbce dfc befda abdefcg gaebdc dfacbg cefg gbdec fgbedc | cdf cabgdf cfdabg bgecd | |
gbadef bcfd gabedfc bd cbfag fegbac gcdab gafbdc dgeac bgd | db dbaegf gaebfd cgaed | |
ebgafc ecg agfcd ecab dbfgea eagcbfd edcbgf bgaef ce acegf | egbfa bcgfaed abec ce | |
acdfbg afgdb ea bea ebgda agecfbd bcgde cfgeab aefd defgba | agbed ae fgbaed defa | |
gcebadf ed bafce bgcfad daefb bfadg aefbgd fgcdeb daeg ebd | cdgfba ecbfdg edbaf gade |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4567894301299921298789654345689439843295436789543298765432345678986789756901239998765634567895986555 | |
3458963212989890989678943234678998764989945678932198764321456799215678949892398999854525658934895434 | |
2348954329876799876567899195789469999767896989949019965432567897434569998789987898743212345695679423 | |
1237895498765698765479998989890359878956789999898929876545678996545698987678976987654563456789798912 | |
3456797987854569954398987678921298766545678998777899987766789987656987676569895498765676567899987893 | |
4567989896543498765987876567892987655434567897656798799897894598767899565458789329876787678999876789 | |
5679878789432579879876743458989876542123456996545987678998923459878998433347678910987898789998865678 | |
8798765678921456989865432365678987678012345989439878569899012398989987321234567899998949898987654568 | |
9987654688932368998765421234567898632125499878998767476789323987399876510126789998769434967896543456 | |
2398543567893458999876510195978976543236989656989654345895439876210965432345678989754323456987432345 | |
1987652356954567899985431989899987654549878949878943234976545985431986583556899679943212569898541234 | |
0198621237899778999996569878789698765698765436567890125987689987642398874567976567894323498789210123 | |
9239432348998989998987698765679549878789876323456789239898992398543498765678965456789434999654321234 | |
8998543459987899987898798754678932989899985434567894398789943987659569898789654329899949898765432345 | |
7987674569876789876789987643767891296929876765678965987656894998998979979898763210169898769896543456 | |
6599795678965699965679876321458942965439987878989879898545899899987898965919874323456789656987654578 | |
5459898789654569874589765432349899876598998989894998765434789789876567894301986545678998734598787689 | |
4345979896543498763459896565456789987987989998763219896545697698765456965212397696989654321239898793 | |
3254567965432987654567987886767891299876767899854323987676789569876345894343498989898975434345999892 | |
0123979879521098975678998997878910198965656789967456798789893498985256799454569978797896545656789991 | |
1239899998632129996789989798989992987654547899996567899893912987654345678965698765686789656767899989 | |
4398789876543234989899976659999989998743234598989699989932102398965457789898789654345898787878999878 | |
6987654997654399878999865545898678999654123987678989876545293459878968898769899983236789898989998767 | |
9876563498969989769899854236789567898763234976567878989676989598989879997656999874345899949899989756 | |
9765432349898876658789743145678978999854569865453569998789878987899989789743298765456789234789876545 | |
9897561298767435345697653234567899989967698774312478999898767856789997678932109876567892125678987634 | |
8999990129854321234589754745678999879878987685101387899997656345678954567893212987678943034599299846 | |
7898889298743210125678965678989998767989999543215456999898743237567893478954563499789956745989398767 | |
6787678987654321367889876989999887656799898654323567898765432123456789589765679599899877659878989878 | |
5674569898765432456789987898998786545698798765434678979878741012367998678978798989924989798767878989 | |
4323498789878543567897698967899654323987679878555789567997652323458998789989987678912398987856567899 | |
3212347678989697689976569458789765219886587989676894456989543456767899893499876567893987996543456789 | |
2101234567898798797895435365698954398775456898789932349879656567878954901298775456789896789612345678 | |
3232345678979899896789423234567965699674345679894321298968987678989543212987654345698765678923458989 | |
4563656789765932945678910123679899986545234569965432987857899799898954329898765257789674567934567897 | |
5674767899854321234789543234598798997632123678996949876546978998767899998789954348998543456895688976 | |
6789898998765430123897654345987687889875012399989899985434569987658998875657895767987432388996789765 | |
7895919987654321234998765499876576778964323989878789876323568998899987764546789879876321276989899876 | |
8954323498765434345699878987655485567895439876567678987212567899999876543534995989865410125678999987 | |
9765434679876595456789989987643213458996545985434569874323456789998765432323894399986423234789998998 | |
7976765789987876567994399876543201246789759886323498765434569899879894321012789459876534345689987989 | |
6989876894598987878973234997875212345678998765434999876545679998767987652345678967987649876798765678 | |
5492987923679598989862125987654345456789329876565899987786789987656399543458789978998956987899654568 | |
6321098912395439799654434598765456567893212987876789699898899876543297654567893989879987898998743489 | |
5499999101987325678969547679976787998999543498989896545999932999632198775878932398767898969997632378 | |
6987893245896534567898956789987898949698956569193987659899891098949019896989991987654329459876541267 | |
9876789356789645678987897996598989434567897692012798998789789987898923987899989998763212345998765459 | |
8765678969898756789256789543459876323456789789125679989678679876767994598999878989854301456789876567 | |
5874789998979867894345678932398765614347899899434599876534598765656789679998767678965212367899987678 | |
4343467897767998965456789321459654301256789998765987988323989854345678999987654589654343479999898789 | |
3212989926456999987567895432396543212367899899899876543219876543236799989876543458965494989698769894 | |
4343499212347894398878989693987665323456789789989987695499965432125678978985432367896989896569654923 | |
5454578901456943219989878989998786734569897679878798986989876743234599769876921456999976789696543219 | |
6567689212567899324599967678999897895878944598765659987976987654345678956989890967898765698987654998 | |
7678998343456898935679756567899998976989432129654745698965498765458789545698789899987654567898769897 | |
8789997654597987899798743456789879987896545098743434899876569896567890124987698768894323458999998786 | |
9897898765989876568987654567898765698989652196542123987987678989698921239876567656789214567899989645 | |
9956789879876543456798765678989854349678943987663039876498789878999632345985454347898996789979878434 | |
9745698998767432345679896789876543234567894598754198765339899867996543459876321238957889895659762123 | |
8634567899654321238789997898987654349978965679865299873210998759889654569985432349546778954349843234 | |
6525898998765432345893298967898795998899876789876789954321989645678965678996543489435568893234956785 | |
5436789129887643458932139456789989876789987895987899977439876434599876789987687678923456789125987996 | |
6545679012998786567891012345899876765898998934598999876567965323689987895398798789212345699934598987 | |
9876789199129987698972357896789995854567899325679999987679873212347898943219999892103479789895679298 | |
3987899988997598789765456789899984323456789212389989898989932101236789992103498943212567998789792149 | |
2198979876789459899896987999939876434598994323459878799999876512345699983212987654323456789678989234 | |
3239567965679345999989898998929987545989987654598765634789965423457999874323498767654567898567878945 | |
4999459854567956789878789987898797659876998765965834323679876567568998765454999878765678997434569896 | |
9878398765699897898765679976545698998965789899894321014567987698989549878969891989889789986545789789 | |
9765129876986789989874798765434569987654891998789543223478998789794323989998710195999897987696897678 | |
8654234989875679876743459983125689998785992989678965354567899895699456799987623234599976798789977567 | |
9766545698764568995432369894012378999876789878567896765678932923988998899876544395989897899898765456 | |
9878656799853656789321298765623567894987898765456989896789671019977789921987895989878789978987632345 | |
9989867987942345693210129898794678923498949987345678987896532198866678930298999876765678954596543456 | |
9896979876543456789521345999898789213999239876239789498986545987755567891979998765874567893987656567 | |
8755699987654567897432567899989892109878998765458991349997679876643456789767987654323456912998767778 | |
5444598798767678996543456789876989298767879986767890145989998965432387893458998765534567899889898989 | |
9323497679989789987894568998765678987656767897878921239876897896521298932347899876765678965678999496 | |
8939986545698993498989979349654349876545856998989432398965986789430989549456910997876889954567894325 | |
7898965434577892109879893298743212965432147899996545987654875678949878998967891298989997892349993214 | |
6587894323456943998765789349892109876543236789987659876543534567898767897898932999292356793498989323 | |
5456789434567899899854578998765412987656745893299767985452123679987656786789999899101236789987879434 | |
4345678946678998789943469549894329898767856794999879876321014989699542345999987678912345699996768965 | |
3235789987889997678912568932985498769878967989899989965432127894598431259899976567893456789865657896 | |
2124899998999876589893467899876987654989879876789999876543236893987640198788893478999567998754346789 | |
4235998989998765498794878945987896543296999765678998987664345992987651987677789567898979899893235678 | |
5345987878999654346689989234598987654345989654567897898785456789298769876545678978957898789762124568 | |
5459876567898953234579890123499998785459876543678965439976567892129898987634389899545987689654335679 | |
6798765456587892145656789294989899896567985432349876521989878921019987896521256789434596578965445799 | |
7999874343456921012345999989876789987679876545678965439997989532198756965432345694323987459878556789 | |
9899983212457892123456789876765695498789987658789997698976596545349867896545696789109876367989769899 | |
9789874343468943234567899985634789219898998969899989987897697655459878987856789895414995499999878998 | |
8676965656578998745678999894323478901987899878999879876789798798767989498979899954323986989899989987 | |
6565698767889109656789698765434567899876789989898765765678999899878995349989998765456899876789899886 | |
5454569878999998767895549898745679978987897696789654344567899945989965210995439876787898965678789765 | |
4323456989769899878934135987656789567898976545698743213456789434597894329874321987898987654565678954 | |
5434567893656789989321014598967993456799895434997654302345678923456789459765210298959996543534567893 | |
6547978932345678995432323459978942367898754329876543212456789014567896598654354349543985432123489932 | |
7656889321256789876543434567899431234789843212987655433469894323478987698765565458932976543234567891 | |
8798995432367899989656657678976532345678932101298766545678965435689998799876676567891098764546678910 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment