YassineAlouini commited on
Commit
0f06ae9
1 Parent(s): 538bf5d
app.py ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import os
3
+ import importlib
4
+ import inspect
5
+ import numpy as np
6
+ import torch
7
+ from PIL import Image
8
+ from aoc.year_2021.code.day_1 import streamlit_1, streamlit_torch_1
9
+ from aoc.year_2021.code.day_2 import streamlit_2
10
+ from aoc.year_2021.code.day_3 import streamlit_torch_3
11
+ from aoc.year_2021.code.day_4 import streamlit_4
12
+ from aoc.year_2021.code.day_5 import streamlit_5
13
+
14
+
15
+ st.sidebar.markdown("**AoC 2021 app** by Yassine Alouini")
16
+ logo = Image.open('logo.png')
17
+ st.sidebar.image(logo, width=64)
18
+
19
+ day = st.sidebar.selectbox("Select the day: ", [1, 2, 3, 4, 5])
20
+ day_input = st.sidebar.text_area("Paste your input here: ", "")
21
+ show_code = st.sidebar.radio("Show code? ", [True, False])
22
+ show_torch_code = st.sidebar.radio("Show PyTorch code? ", [True, False])
23
+
24
+
25
+
26
+
27
+
28
+
29
+ if day == 1 and (day_input is not None and day_input != ""):
30
+ if show_code:
31
+ st.code(inspect.getsource(streamlit_1))
32
+ streamlit_1(day_input)
33
+ if show_torch_code:
34
+ st.code(inspect.getsource(streamlit_torch_1))
35
+ streamlit_torch_1(day_input)
36
+
37
+ if day == 2 and (day_input is not None and day_input != ""):
38
+ if show_code:
39
+ st.code(inspect.getsource(streamlit_2))
40
+ streamlit_2(day_input)
41
+ # if show_torch_code:
42
+ # st.code(inspect.getsource(day_1_torch))
43
+ # day_1_torch(day_input)
44
+
45
+ if day == 3 and (day_input is not None and day_input != ""):
46
+ # if show_code:
47
+ # st.code(inspect.getsource(streamlit_3))
48
+ # streamlit_2(day_input)
49
+ if show_torch_code:
50
+ st.code(inspect.getsource(streamlit_torch_3))
51
+ streamlit_torch_3(day_input)
52
+
53
+ if day == 4 and (day_input is not None and day_input != ""):
54
+ if show_code:
55
+ st.code(inspect.getsource(streamlit_4))
56
+ streamlit_4(day_input)
57
+ # if show_torch_code:
58
+ # st.code(inspect.getsource(streamlit_torch_3))
59
+ # streamlit_torch_3(day_input)
60
+
61
+ if day == 5 and (day_input is not None and day_input != ""):
62
+ if show_code:
63
+ st.code(inspect.getsource(streamlit_5))
64
+ streamlit_5(day_input)
65
+ # if show_torch_code:
66
+ # st.code(inspect.getsource(streamlit_torch_3))
67
+ # streamlit_torch_3(day_input)
setup.py ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from setuptools import find_packages, setup
2
+
3
+ NAME = "aoc"
4
+ VERSION = "0.0.1"
5
+ AUTHOR = ""
6
+ DESCRIPTION = """The repo for the AoC challenges."""
7
+ EMAIL = "yassinealouini@outlook.com"
8
+ URL = ""
9
+
10
+ setup(
11
+ name=NAME,
12
+ version=VERSION,
13
+ packages=find_packages(),
14
+ # Some metadata
15
+ author=AUTHOR,
16
+ author_email=EMAIL,
17
+ description=DESCRIPTION,
18
+ url=URL,
19
+ license="MIT",
20
+ keywords="AoC puzzles",
21
+ )
year_2021/__init__.py ADDED
File without changes
year_2021/__pycache__/__init__.cpython-36.pyc ADDED
Binary file (159 Bytes). View file
 
year_2021/__pycache__/__init__.cpython-39.pyc ADDED
Binary file (162 Bytes). View file
 
year_2021/__pycache__/app.cpython-39.pyc ADDED
Binary file (1.94 kB). View file
 
year_2021/code/__init__.py ADDED
File without changes
year_2021/code/__pycache__/__init__.cpython-36.pyc ADDED
Binary file (164 Bytes). View file
 
year_2021/code/__pycache__/__init__.cpython-39.pyc ADDED
Binary file (167 Bytes). View file
 
year_2021/code/__pycache__/day_1.cpython-36.pyc ADDED
Binary file (2.17 kB). View file
 
year_2021/code/__pycache__/day_1.cpython-39.pyc ADDED
Binary file (2.11 kB). View file
 
year_2021/code/__pycache__/day_2.cpython-36.pyc ADDED
Binary file (1.73 kB). View file
 
year_2021/code/__pycache__/day_2.cpython-39.pyc ADDED
Binary file (1.72 kB). View file
 
year_2021/code/__pycache__/day_3.cpython-36.pyc ADDED
Binary file (2.58 kB). View file
 
year_2021/code/__pycache__/day_3.cpython-39.pyc ADDED
Binary file (2.57 kB). View file
 
year_2021/code/__pycache__/day_4.cpython-36.pyc ADDED
Binary file (3 kB). View file
 
year_2021/code/__pycache__/day_4.cpython-39.pyc ADDED
Binary file (2.9 kB). View file
 
year_2021/code/__pycache__/day_5.cpython-39.pyc ADDED
Binary file (2.88 kB). View file
 
year_2021/code/day_1.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+
3
+
4
+ with open("/home/yassinealouini/Documents/code/advent_of_code/aoc/year_2021/data/1.txt") as f:
5
+ data = f.read().rstrip().split("\n")
6
+ def main():
7
+ data = [int(e) for e in data]
8
+
9
+ a = np.diff(data)
10
+ print("Solution to first part: ", np.where(a > 0, 1, 0).sum())
11
+
12
+
13
+
14
+ a = np.convolve(data, np.ones(3,dtype=int),'valid')
15
+ a = np.diff(a)
16
+ print("Solution to second part: ", np.where(a > 0, 1, 0).sum())
17
+
18
+
19
+ def streamlit_torch_1(day_input):
20
+ """
21
+ Day 1 solution for AoC using PyTorch
22
+ """
23
+ import torch
24
+ import streamlit as st
25
+ data = day_input.rstrip().split(" ")
26
+ data = torch.tensor([int(e) for e in data])
27
+
28
+ a = torch.diff(data)
29
+ st.write("Solution to first part: ", torch.where(a > 0, 1, 0).sum())
30
+
31
+ # Computing a moving window sum as a difference between two
32
+ # cumulative sums starting at different places.
33
+ # We also need to insert the first value of the cumulative sum
34
+ # that's why you see the weird cat and view.
35
+ a = torch.cumsum(data, axis=0)
36
+ first_element = a[0]
37
+ a = (a[3:] - a[:-3])
38
+ a = torch.cat((first_element.view(1), a))
39
+ a = torch.diff(a)
40
+ st.write("Solution to second part: ", torch.where(a > 0, 1, 0).sum())
41
+
42
+
43
+ def streamlit_1(day_input):
44
+ """
45
+ Day 1 solution for AoC
46
+ """
47
+ import numpy as np
48
+ import streamlit as st
49
+ data = day_input.rstrip().split(" ")
50
+ data = [int(e) for e in data]
51
+
52
+ a = np.diff(data)
53
+ st.write("Solution to first part: ", np.where(a > 0, 1, 0).sum())
54
+
55
+
56
+
57
+ a = np.convolve(data, np.ones(3,dtype=int),'valid')
58
+ a = np.diff(a)
59
+ st.write("Solution to second part: ", np.where(a > 0, 1, 0).sum())
60
+
61
+
62
+ if __name__ == "__main__":
63
+ main()
year_2021/code/day_2.py ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+
4
+ with open("/home/yassinealouini/Documents/code/advent_of_code/aoc/year_2021/data/2.txt") as f:
5
+ data = f.read().rstrip().split("\n")
6
+ directions = []
7
+ steps = []
8
+ for row in data:
9
+ direction, step = row.rstrip().split(" ")
10
+ directions.append(direction)
11
+ steps.append(int(step))
12
+
13
+
14
+ def main():
15
+ start = [0, 0]
16
+ for direction, step in zip(directions, steps):
17
+ if direction == "forward":
18
+ start[0] += step
19
+ if direction == "down":
20
+ start[1] += step
21
+ if direction == "up":
22
+ start[1] -= step
23
+
24
+ print("Solution to part I is: ", start[0] * start[1])
25
+
26
+ start = [0, 0, 0]
27
+ for direction, step in zip(directions, steps):
28
+ if direction == "forward":
29
+ start[0] += step
30
+ start[1] += step * start[2]
31
+ if direction == "down":
32
+ start[2] += step
33
+ if direction == "up":
34
+ start[2] -= step
35
+
36
+ print("Solution to part II is: ", start[0] * start[1])
37
+
38
+
39
+ def streamlit_2(day_input):
40
+ import streamlit as st
41
+ data = day_input.rstrip().split("\n")
42
+ print(data)
43
+ directions = []
44
+ steps = []
45
+ for row in data:
46
+ direction, step = row.rstrip().split(" ")
47
+ directions.append(direction)
48
+ steps.append(int(step))
49
+
50
+ start = [0, 0]
51
+ for direction, step in zip(directions, steps):
52
+ if direction == "forward":
53
+ start[0] += step
54
+ if direction == "down":
55
+ start[1] += step
56
+ if direction == "up":
57
+ start[1] -= step
58
+
59
+ st.write("Solution to part I is: ", start[0] * start[1])
60
+
61
+ start = [0, 0, 0]
62
+ for direction, step in zip(directions, steps):
63
+ if direction == "forward":
64
+ start[0] += step
65
+ start[1] += step * start[2]
66
+ if direction == "down":
67
+ start[2] += step
68
+ if direction == "up":
69
+ start[2] -= step
70
+
71
+ st.write("Solution to part II is: ", start[0] * start[1])
72
+
73
+
74
+ if __name__ == "__main__":
75
+ main()
year_2021/code/day_3.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ from collections import Counter
3
+
4
+ def main():
5
+
6
+ def most_common_2d(data):
7
+ return [Counter(col).most_common()[0][0] for col in zip(*data)]
8
+
9
+ def least_common_2d(data):
10
+ return [Counter(col).most_common()[-1][0] for col in zip(*data)]
11
+
12
+ def Counter_2d(data):
13
+ return [Counter(col) for col in zip(*data)]
14
+
15
+ def search(data, to_search="1"):
16
+ if to_search == "1":
17
+ most_common_index = 0
18
+ else:
19
+ most_common_index = -1
20
+ previous_keep = data
21
+ for i in range(len(data[0])):
22
+ counts = Counter_2d(previous_keep)
23
+ keep = []
24
+ for row in previous_keep:
25
+ if (row[i] == counts[i].most_common()[most_common_index][0] and
26
+ counts[i]["0"] != counts[i]["1"]):
27
+ keep.append(row)
28
+ elif counts[i]["0"] == counts[i]["1"]:
29
+ if row[i] == to_search:
30
+ keep.append(row)
31
+ previous_keep = keep
32
+ return int("".join(previous_keep[0]), 2)
33
+
34
+
35
+ with open("/home/yassinealouini/Documents/code/advent_of_code/aoc/year_2021/data/3.txt") as f:
36
+ tmp = f.read().rstrip().split("\n")
37
+ data = []
38
+ for row in tmp:
39
+ data.append([e for e in row])
40
+
41
+
42
+ gamma = int("".join(most_common_2d(data)), 2)
43
+ epsilon = int("".join(least_common_2d(data)), 2)
44
+
45
+ print("Solution to part I: ", gamma * epsilon)
46
+
47
+
48
+ oxygen = search(data, "1")
49
+ co2 = search(data, "0")
50
+
51
+
52
+ print("Solution to part II: ", oxygen * co2)
53
+
54
+
55
+
56
+ def streamlit_torch_3(data_input):
57
+ """ Day 3 of AoC using PyTorch
58
+ """
59
+ import torch
60
+ import streamlit as st
61
+ st.write("Solution to part I: ", 0)
62
+
63
+ if __name__ == "__main__":
64
+ main()
year_2021/code/day_4.py ADDED
@@ -0,0 +1,69 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+
3
+
4
+ def main():
5
+ import numpy as np
6
+ from collections import defaultdict
7
+ with open("/home/yassinealouini/Documents/code/advent_of_code/aoc/year_2021/data/4.txt") as f:
8
+ tmp = f.read().rstrip().split("\n")
9
+
10
+ draws = [int(e) for e in tmp[0].split(",")]
11
+
12
+ # Make the bingo boards
13
+ boards = defaultdict(lambda: np.zeros((5, 5)))
14
+ board_id = 0
15
+ data = tmp[2:]
16
+ for i, row in enumerate(data):
17
+ if (i + 1) % 6 == 0:
18
+ board_id += 1
19
+ continue
20
+ boards[board_id][i%6, :] = [int(e) for e in row.split(" ") if e != ""]
21
+
22
+ board_won = {k: 0 for k in boards.keys()}
23
+ for draw in draws:
24
+ for board_id, board in boards.items():
25
+ board = np.where(board == draw, -1, board)
26
+ boards[board_id] = board
27
+ if (board.sum(axis=1) == -5).any() or (board.sum(axis=0) == -5).any():
28
+ if sum(board_won.values()) == 0:
29
+ print("Solution for part I: ", board[(board > -1)].sum() * draw)
30
+ board_won[board_id] = 1
31
+
32
+ if sum(board_won.values()) == len(boards):
33
+ print("Solution for part II: ", board[(board > -1)].sum() * draw)
34
+ return
35
+
36
+ def streamlit_4(data_input):
37
+ import numpy as np
38
+ from collections import defaultdict
39
+ import streamlit as st
40
+ tmp = data_input.rstrip().split("\n")
41
+
42
+ draws = [int(e) for e in tmp[0].split(",")]
43
+
44
+ # Make the bingo boards
45
+ boards = defaultdict(lambda: np.zeros((5, 5)))
46
+ board_id = 0
47
+ data = tmp[2:]
48
+ for i, row in enumerate(data):
49
+ if (i + 1) % 6 == 0:
50
+ board_id += 1
51
+ continue
52
+ boards[board_id][i%6, :] = [int(e) for e in row.split(" ") if e != ""]
53
+
54
+ board_won = {k: 0 for k in boards.keys()}
55
+ for draw in draws:
56
+ for board_id, board in boards.items():
57
+ board = np.where(board == draw, -1, board)
58
+ boards[board_id] = board
59
+ if (board.sum(axis=1) == -5).any() or (board.sum(axis=0) == -5).any():
60
+ if sum(board_won.values()) == 0:
61
+ st.write("Solution for part I: ", board[(board > -1)].sum() * draw)
62
+ board_won[board_id] = 1
63
+
64
+ if sum(board_won.values()) == len(boards):
65
+ st.write("Solution for part II: ", board[(board > -1)].sum() * draw)
66
+ return
67
+
68
+ if __name__ == "__main__":
69
+ main()
year_2021/code/day_5.py ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ def main():
2
+ import numpy as np
3
+ import re
4
+ with open("/home/yassinealouini/Documents/code/advent_of_code/aoc/year_2021/data/5.txt") as f:
5
+ tmp = f.read().rstrip().split("\n")
6
+
7
+ # Using complex numbers as (x, y) representation
8
+ starts, ends = [], []
9
+ for row in tmp:
10
+ x1, y1, x2, y2 = re.findall(r'\d+', row)
11
+ starts.append(int(x1) + 1j * int(y1))
12
+ ends.append(int(x2) + 1j * int(y2))
13
+ # Dimensions of the grid
14
+ d = max(map(abs, starts)) + 1
15
+
16
+ def solve(part_2=False):
17
+ a = np.zeros((int(d), int(d)))
18
+ for start_point, end_point in zip(starts, ends):
19
+
20
+ if part_2:
21
+ # Compute cosine and sine to find if diagonal or anti-diagonal
22
+ diff = start_point - end_point
23
+ c = (diff.real) / abs(diff)
24
+ s = (diff.imag) / abs(diff)
25
+ start_x = min(int(start_point.real), int(end_point.real))
26
+ end_x = max(int(start_point.real), int(end_point.real))
27
+ start_y = min(int(start_point.imag), int(end_point.imag))
28
+ end_y = max(int(start_point.imag), int(end_point.imag))
29
+ sliced_a = a[start_x: end_x + 1, start_y: end_y + 1]
30
+ if round(s * c, 1) == 0.5:
31
+ np.fill_diagonal(sliced_a,
32
+ sliced_a.diagonal() + 1)
33
+ elif round(s * c, 1) == -0.5:
34
+ # Flip the sliced matrix to fill the diagonal
35
+ np.fill_diagonal(np.fliplr(sliced_a),
36
+ np.fliplr(sliced_a).diagonal() + 1)
37
+ if start_point.real == end_point.real:
38
+ start = min(int(start_point.imag), int(end_point.imag))
39
+ end = max(int(start_point.imag), int(end_point.imag))
40
+ a[int(start_point.real), start: end + 1] += 1
41
+ elif start_point.imag == end_point.imag:
42
+ start = min(int(start_point.real), int(end_point.real))
43
+ end = max(int(start_point.real), int(end_point.real))
44
+ a[start: end + 1, int(start_point.imag)] += 1
45
+ return a
46
+
47
+ print("Solution to part I: ", (solve()>= 2).sum())
48
+ print("Solution to part II: ", (solve(part_2=True)>= 2).sum())
49
+
50
+
51
+ def streamlit_5(data_input):
52
+ """ Day 5 solution (mainly using numpy)
53
+ """
54
+ import numpy as np
55
+ import re
56
+ import streamlit as st
57
+
58
+ tmp = data_input.rstrip().split("\n")
59
+
60
+ # Using complex numbers as (x, y) representation
61
+ starts, ends = [], []
62
+ for row in tmp:
63
+ x1, y1, x2, y2 = re.findall(r'\d+', row)
64
+ starts.append(int(x1) + 1j * int(y1))
65
+ ends.append(int(x2) + 1j * int(y2))
66
+
67
+ # Dimension of the grid
68
+ d = max(map(abs, starts)) + 1
69
+
70
+ def solve(part_2=False):
71
+ a = np.zeros((int(d), int(d)))
72
+ for start_point, end_point in zip(starts, ends):
73
+ start_x = min(int(start_point.real), int(end_point.real))
74
+ end_x = max(int(start_point.real), int(end_point.real))
75
+ start_y = min(int(start_point.imag), int(end_point.imag))
76
+ end_y = max(int(start_point.imag), int(end_point.imag))
77
+ # Compute cosine and sine to find if diagonal or anti-diagonal
78
+ diff = start_point - end_point
79
+ c = (diff.real) / abs(diff)
80
+ s = (diff.imag) / abs(diff)
81
+ sliced_a = a[start_x: end_x + 1, start_y: end_y + 1]
82
+ criterion = round(s * c, 1)
83
+ if part_2:
84
+ if criterion == 0.5:
85
+ np.fill_diagonal(sliced_a, sliced_a.diagonal() + 1)
86
+ elif criterion == -0.5:
87
+ # Need to flip the sliced matrix to get the correct diagonal
88
+ np.fill_diagonal(np.fliplr(sliced_a),
89
+ np.fliplr(sliced_a).diagonal() + 1)
90
+ # Either horizontal or vertical
91
+ if criterion == 0:
92
+ sliced_a += 1
93
+ return a
94
+
95
+ st.write("Solution to part I: ", (solve()>= 2).sum())
96
+ st.write("Solution to part II: ", (solve(part_2=True)>= 2).sum())
97
+
98
+ if __name__ == "__main__":
99
+ main()
year_2021/data/1.txt ADDED
@@ -0,0 +1,2000 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 193
2
+ 195
3
+ 204
4
+ 208
5
+ 219
6
+ 230
7
+ 231
8
+ 233
9
+ 234
10
+ 241
11
+ 253
12
+ 260
13
+ 261
14
+ 265
15
+ 268
16
+ 279
17
+ 277
18
+ 297
19
+ 299
20
+ 300
21
+ 306
22
+ 308
23
+ 312
24
+ 313
25
+ 329
26
+ 349
27
+ 361
28
+ 362
29
+ 369
30
+ 371
31
+ 373
32
+ 378
33
+ 380
34
+ 382
35
+ 383
36
+ 382
37
+ 384
38
+ 385
39
+ 386
40
+ 388
41
+ 417
42
+ 419
43
+ 424
44
+ 429
45
+ 435
46
+ 438
47
+ 439
48
+ 454
49
+ 468
50
+ 498
51
+ 504
52
+ 510
53
+ 512
54
+ 514
55
+ 518
56
+ 526
57
+ 528
58
+ 533
59
+ 555
60
+ 561
61
+ 565
62
+ 585
63
+ 590
64
+ 617
65
+ 633
66
+ 635
67
+ 640
68
+ 641
69
+ 652
70
+ 653
71
+ 657
72
+ 659
73
+ 673
74
+ 690
75
+ 696
76
+ 690
77
+ 691
78
+ 712
79
+ 718
80
+ 708
81
+ 711
82
+ 723
83
+ 733
84
+ 734
85
+ 736
86
+ 739
87
+ 738
88
+ 739
89
+ 761
90
+ 764
91
+ 767
92
+ 768
93
+ 774
94
+ 779
95
+ 791
96
+ 797
97
+ 800
98
+ 804
99
+ 807
100
+ 810
101
+ 811
102
+ 810
103
+ 812
104
+ 814
105
+ 813
106
+ 817
107
+ 827
108
+ 824
109
+ 847
110
+ 848
111
+ 850
112
+ 852
113
+ 880
114
+ 882
115
+ 892
116
+ 896
117
+ 898
118
+ 899
119
+ 900
120
+ 906
121
+ 921
122
+ 933
123
+ 935
124
+ 937
125
+ 935
126
+ 937
127
+ 944
128
+ 951
129
+ 955
130
+ 963
131
+ 964
132
+ 979
133
+ 981
134
+ 985
135
+ 996
136
+ 997
137
+ 998
138
+ 1005
139
+ 1009
140
+ 1011
141
+ 1015
142
+ 1019
143
+ 1021
144
+ 1022
145
+ 1006
146
+ 1009
147
+ 1017
148
+ 1018
149
+ 1019
150
+ 1022
151
+ 1028
152
+ 1022
153
+ 1023
154
+ 1043
155
+ 1046
156
+ 1047
157
+ 1053
158
+ 1054
159
+ 1078
160
+ 1079
161
+ 1091
162
+ 1111
163
+ 1115
164
+ 1119
165
+ 1127
166
+ 1128
167
+ 1129
168
+ 1130
169
+ 1147
170
+ 1160
171
+ 1161
172
+ 1176
173
+ 1177
174
+ 1171
175
+ 1183
176
+ 1189
177
+ 1190
178
+ 1191
179
+ 1193
180
+ 1195
181
+ 1201
182
+ 1203
183
+ 1215
184
+ 1219
185
+ 1229
186
+ 1222
187
+ 1206
188
+ 1212
189
+ 1232
190
+ 1235
191
+ 1242
192
+ 1257
193
+ 1258
194
+ 1261
195
+ 1267
196
+ 1269
197
+ 1267
198
+ 1265
199
+ 1267
200
+ 1273
201
+ 1275
202
+ 1278
203
+ 1282
204
+ 1285
205
+ 1288
206
+ 1306
207
+ 1330
208
+ 1345
209
+ 1354
210
+ 1355
211
+ 1358
212
+ 1360
213
+ 1358
214
+ 1367
215
+ 1368
216
+ 1366
217
+ 1363
218
+ 1365
219
+ 1366
220
+ 1367
221
+ 1369
222
+ 1371
223
+ 1374
224
+ 1377
225
+ 1378
226
+ 1381
227
+ 1382
228
+ 1387
229
+ 1400
230
+ 1421
231
+ 1425
232
+ 1445
233
+ 1459
234
+ 1461
235
+ 1463
236
+ 1483
237
+ 1487
238
+ 1488
239
+ 1490
240
+ 1491
241
+ 1493
242
+ 1531
243
+ 1544
244
+ 1546
245
+ 1548
246
+ 1549
247
+ 1556
248
+ 1559
249
+ 1563
250
+ 1544
251
+ 1558
252
+ 1577
253
+ 1590
254
+ 1592
255
+ 1599
256
+ 1596
257
+ 1599
258
+ 1617
259
+ 1621
260
+ 1623
261
+ 1624
262
+ 1627
263
+ 1628
264
+ 1631
265
+ 1634
266
+ 1666
267
+ 1696
268
+ 1697
269
+ 1700
270
+ 1699
271
+ 1710
272
+ 1715
273
+ 1717
274
+ 1720
275
+ 1730
276
+ 1726
277
+ 1727
278
+ 1741
279
+ 1739
280
+ 1745
281
+ 1751
282
+ 1754
283
+ 1763
284
+ 1765
285
+ 1767
286
+ 1792
287
+ 1797
288
+ 1798
289
+ 1814
290
+ 1838
291
+ 1852
292
+ 1858
293
+ 1884
294
+ 1889
295
+ 1898
296
+ 1899
297
+ 1898
298
+ 1907
299
+ 1908
300
+ 1921
301
+ 1922
302
+ 1942
303
+ 1944
304
+ 1954
305
+ 1956
306
+ 1961
307
+ 1967
308
+ 1971
309
+ 1972
310
+ 1973
311
+ 1995
312
+ 2021
313
+ 2027
314
+ 2039
315
+ 2045
316
+ 2043
317
+ 2044
318
+ 2048
319
+ 2055
320
+ 2056
321
+ 2058
322
+ 2083
323
+ 2086
324
+ 2093
325
+ 2106
326
+ 2107
327
+ 2110
328
+ 2112
329
+ 2118
330
+ 2121
331
+ 2133
332
+ 2139
333
+ 2146
334
+ 2150
335
+ 2155
336
+ 2160
337
+ 2164
338
+ 2165
339
+ 2166
340
+ 2160
341
+ 2159
342
+ 2158
343
+ 2164
344
+ 2175
345
+ 2179
346
+ 2186
347
+ 2191
348
+ 2192
349
+ 2196
350
+ 2187
351
+ 2207
352
+ 2214
353
+ 2222
354
+ 2223
355
+ 2225
356
+ 2229
357
+ 2231
358
+ 2228
359
+ 2229
360
+ 2230
361
+ 2233
362
+ 2236
363
+ 2238
364
+ 2241
365
+ 2245
366
+ 2225
367
+ 2229
368
+ 2231
369
+ 2235
370
+ 2237
371
+ 2240
372
+ 2243
373
+ 2245
374
+ 2246
375
+ 2249
376
+ 2250
377
+ 2251
378
+ 2256
379
+ 2259
380
+ 2271
381
+ 2272
382
+ 2273
383
+ 2268
384
+ 2269
385
+ 2270
386
+ 2275
387
+ 2272
388
+ 2273
389
+ 2275
390
+ 2276
391
+ 2282
392
+ 2285
393
+ 2289
394
+ 2300
395
+ 2306
396
+ 2337
397
+ 2338
398
+ 2359
399
+ 2353
400
+ 2354
401
+ 2357
402
+ 2364
403
+ 2370
404
+ 2359
405
+ 2360
406
+ 2361
407
+ 2373
408
+ 2384
409
+ 2398
410
+ 2399
411
+ 2395
412
+ 2403
413
+ 2406
414
+ 2408
415
+ 2414
416
+ 2415
417
+ 2420
418
+ 2419
419
+ 2427
420
+ 2443
421
+ 2455
422
+ 2457
423
+ 2477
424
+ 2479
425
+ 2487
426
+ 2488
427
+ 2491
428
+ 2493
429
+ 2496
430
+ 2505
431
+ 2511
432
+ 2513
433
+ 2514
434
+ 2517
435
+ 2546
436
+ 2530
437
+ 2532
438
+ 2533
439
+ 2537
440
+ 2541
441
+ 2542
442
+ 2541
443
+ 2567
444
+ 2576
445
+ 2592
446
+ 2611
447
+ 2616
448
+ 2622
449
+ 2640
450
+ 2665
451
+ 2679
452
+ 2687
453
+ 2693
454
+ 2699
455
+ 2706
456
+ 2715
457
+ 2721
458
+ 2742
459
+ 2739
460
+ 2756
461
+ 2762
462
+ 2771
463
+ 2772
464
+ 2773
465
+ 2770
466
+ 2788
467
+ 2789
468
+ 2798
469
+ 2799
470
+ 2800
471
+ 2801
472
+ 2800
473
+ 2803
474
+ 2807
475
+ 2808
476
+ 2812
477
+ 2815
478
+ 2848
479
+ 2854
480
+ 2855
481
+ 2857
482
+ 2858
483
+ 2868
484
+ 2870
485
+ 2884
486
+ 2888
487
+ 2890
488
+ 2900
489
+ 2901
490
+ 2909
491
+ 2912
492
+ 2918
493
+ 2919
494
+ 2925
495
+ 2939
496
+ 2942
497
+ 2956
498
+ 2963
499
+ 2967
500
+ 2968
501
+ 2972
502
+ 2986
503
+ 2998
504
+ 3001
505
+ 3023
506
+ 3037
507
+ 3047
508
+ 3050
509
+ 3054
510
+ 3062
511
+ 3065
512
+ 3064
513
+ 3066
514
+ 3067
515
+ 3068
516
+ 3082
517
+ 3084
518
+ 3090
519
+ 3097
520
+ 3099
521
+ 3098
522
+ 3094
523
+ 3078
524
+ 3081
525
+ 3083
526
+ 3085
527
+ 3068
528
+ 3076
529
+ 3077
530
+ 3078
531
+ 3080
532
+ 3086
533
+ 3090
534
+ 3102
535
+ 3107
536
+ 3111
537
+ 3114
538
+ 3119
539
+ 3124
540
+ 3125
541
+ 3126
542
+ 3127
543
+ 3131
544
+ 3135
545
+ 3137
546
+ 3138
547
+ 3139
548
+ 3143
549
+ 3173
550
+ 3190
551
+ 3191
552
+ 3192
553
+ 3194
554
+ 3198
555
+ 3199
556
+ 3200
557
+ 3194
558
+ 3196
559
+ 3220
560
+ 3222
561
+ 3223
562
+ 3210
563
+ 3213
564
+ 3214
565
+ 3218
566
+ 3232
567
+ 3243
568
+ 3251
569
+ 3266
570
+ 3267
571
+ 3266
572
+ 3270
573
+ 3273
574
+ 3275
575
+ 3278
576
+ 3283
577
+ 3300
578
+ 3306
579
+ 3307
580
+ 3326
581
+ 3329
582
+ 3332
583
+ 3333
584
+ 3334
585
+ 3340
586
+ 3343
587
+ 3345
588
+ 3359
589
+ 3361
590
+ 3362
591
+ 3373
592
+ 3378
593
+ 3379
594
+ 3380
595
+ 3383
596
+ 3386
597
+ 3409
598
+ 3422
599
+ 3431
600
+ 3433
601
+ 3434
602
+ 3438
603
+ 3454
604
+ 3479
605
+ 3481
606
+ 3490
607
+ 3503
608
+ 3511
609
+ 3516
610
+ 3503
611
+ 3505
612
+ 3530
613
+ 3527
614
+ 3529
615
+ 3532
616
+ 3553
617
+ 3556
618
+ 3557
619
+ 3562
620
+ 3571
621
+ 3572
622
+ 3574
623
+ 3575
624
+ 3584
625
+ 3602
626
+ 3603
627
+ 3606
628
+ 3597
629
+ 3624
630
+ 3644
631
+ 3669
632
+ 3670
633
+ 3676
634
+ 3690
635
+ 3713
636
+ 3714
637
+ 3741
638
+ 3743
639
+ 3725
640
+ 3745
641
+ 3749
642
+ 3758
643
+ 3759
644
+ 3775
645
+ 3796
646
+ 3798
647
+ 3799
648
+ 3805
649
+ 3817
650
+ 3818
651
+ 3829
652
+ 3869
653
+ 3886
654
+ 3881
655
+ 3882
656
+ 3887
657
+ 3888
658
+ 3907
659
+ 3902
660
+ 3901
661
+ 3922
662
+ 3920
663
+ 3897
664
+ 3890
665
+ 3920
666
+ 3937
667
+ 3947
668
+ 3949
669
+ 3953
670
+ 3967
671
+ 3976
672
+ 3977
673
+ 3988
674
+ 3998
675
+ 3999
676
+ 4004
677
+ 4009
678
+ 3973
679
+ 3975
680
+ 3988
681
+ 3990
682
+ 3994
683
+ 4001
684
+ 4005
685
+ 4016
686
+ 4017
687
+ 4018
688
+ 4027
689
+ 4028
690
+ 4023
691
+ 4029
692
+ 4000
693
+ 4001
694
+ 4002
695
+ 4009
696
+ 4010
697
+ 4013
698
+ 4014
699
+ 4029
700
+ 4032
701
+ 4034
702
+ 4039
703
+ 4040
704
+ 4050
705
+ 4055
706
+ 4050
707
+ 4055
708
+ 4058
709
+ 4059
710
+ 4061
711
+ 4064
712
+ 4080
713
+ 4082
714
+ 4081
715
+ 4082
716
+ 4084
717
+ 4085
718
+ 4088
719
+ 4090
720
+ 4091
721
+ 4109
722
+ 4118
723
+ 4119
724
+ 4140
725
+ 4145
726
+ 4150
727
+ 4151
728
+ 4147
729
+ 4150
730
+ 4156
731
+ 4175
732
+ 4177
733
+ 4178
734
+ 4181
735
+ 4182
736
+ 4183
737
+ 4191
738
+ 4190
739
+ 4191
740
+ 4223
741
+ 4225
742
+ 4233
743
+ 4263
744
+ 4270
745
+ 4277
746
+ 4280
747
+ 4302
748
+ 4304
749
+ 4316
750
+ 4319
751
+ 4320
752
+ 4312
753
+ 4320
754
+ 4321
755
+ 4356
756
+ 4354
757
+ 4355
758
+ 4361
759
+ 4374
760
+ 4402
761
+ 4384
762
+ 4389
763
+ 4390
764
+ 4392
765
+ 4390
766
+ 4402
767
+ 4408
768
+ 4409
769
+ 4449
770
+ 4453
771
+ 4454
772
+ 4462
773
+ 4464
774
+ 4465
775
+ 4467
776
+ 4469
777
+ 4470
778
+ 4472
779
+ 4474
780
+ 4473
781
+ 4474
782
+ 4478
783
+ 4490
784
+ 4493
785
+ 4495
786
+ 4503
787
+ 4506
788
+ 4509
789
+ 4512
790
+ 4524
791
+ 4525
792
+ 4526
793
+ 4541
794
+ 4557
795
+ 4558
796
+ 4559
797
+ 4560
798
+ 4561
799
+ 4568
800
+ 4583
801
+ 4584
802
+ 4587
803
+ 4589
804
+ 4598
805
+ 4603
806
+ 4606
807
+ 4607
808
+ 4610
809
+ 4611
810
+ 4612
811
+ 4627
812
+ 4630
813
+ 4653
814
+ 4656
815
+ 4657
816
+ 4659
817
+ 4660
818
+ 4682
819
+ 4684
820
+ 4683
821
+ 4684
822
+ 4685
823
+ 4686
824
+ 4691
825
+ 4692
826
+ 4701
827
+ 4702
828
+ 4706
829
+ 4713
830
+ 4714
831
+ 4745
832
+ 4772
833
+ 4773
834
+ 4781
835
+ 4783
836
+ 4802
837
+ 4807
838
+ 4812
839
+ 4815
840
+ 4821
841
+ 4823
842
+ 4825
843
+ 4831
844
+ 4832
845
+ 4847
846
+ 4848
847
+ 4849
848
+ 4850
849
+ 4858
850
+ 4857
851
+ 4858
852
+ 4874
853
+ 4852
854
+ 4858
855
+ 4869
856
+ 4882
857
+ 4884
858
+ 4886
859
+ 4896
860
+ 4887
861
+ 4888
862
+ 4893
863
+ 4903
864
+ 4907
865
+ 4909
866
+ 4905
867
+ 4915
868
+ 4940
869
+ 4944
870
+ 4961
871
+ 4967
872
+ 4968
873
+ 4960
874
+ 4983
875
+ 4987
876
+ 4986
877
+ 4988
878
+ 4991
879
+ 4993
880
+ 4983
881
+ 4985
882
+ 4987
883
+ 4989
884
+ 4993
885
+ 4994
886
+ 4967
887
+ 4980
888
+ 4975
889
+ 4980
890
+ 4999
891
+ 5000
892
+ 5001
893
+ 5003
894
+ 5005
895
+ 5007
896
+ 5016
897
+ 5024
898
+ 5026
899
+ 5027
900
+ 5028
901
+ 5029
902
+ 5030
903
+ 5045
904
+ 5055
905
+ 5056
906
+ 5066
907
+ 5064
908
+ 5081
909
+ 5083
910
+ 5084
911
+ 5090
912
+ 5061
913
+ 5063
914
+ 5069
915
+ 5091
916
+ 5102
917
+ 5103
918
+ 5106
919
+ 5116
920
+ 5123
921
+ 5141
922
+ 5146
923
+ 5149
924
+ 5150
925
+ 5167
926
+ 5168
927
+ 5170
928
+ 5171
929
+ 5182
930
+ 5181
931
+ 5185
932
+ 5186
933
+ 5191
934
+ 5195
935
+ 5213
936
+ 5232
937
+ 5233
938
+ 5242
939
+ 5251
940
+ 5266
941
+ 5270
942
+ 5268
943
+ 5269
944
+ 5284
945
+ 5290
946
+ 5294
947
+ 5300
948
+ 5302
949
+ 5303
950
+ 5304
951
+ 5332
952
+ 5335
953
+ 5329
954
+ 5332
955
+ 5334
956
+ 5343
957
+ 5346
958
+ 5356
959
+ 5357
960
+ 5363
961
+ 5365
962
+ 5366
963
+ 5367
964
+ 5373
965
+ 5377
966
+ 5384
967
+ 5394
968
+ 5395
969
+ 5392
970
+ 5403
971
+ 5405
972
+ 5394
973
+ 5399
974
+ 5401
975
+ 5412
976
+ 5413
977
+ 5416
978
+ 5418
979
+ 5424
980
+ 5429
981
+ 5402
982
+ 5408
983
+ 5418
984
+ 5420
985
+ 5428
986
+ 5430
987
+ 5437
988
+ 5438
989
+ 5442
990
+ 5444
991
+ 5474
992
+ 5486
993
+ 5488
994
+ 5501
995
+ 5514
996
+ 5520
997
+ 5519
998
+ 5522
999
+ 5547
1000
+ 5551
1001
+ 5553
1002
+ 5557
1003
+ 5558
1004
+ 5581
1005
+ 5583
1006
+ 5587
1007
+ 5572
1008
+ 5575
1009
+ 5574
1010
+ 5575
1011
+ 5578
1012
+ 5593
1013
+ 5595
1014
+ 5596
1015
+ 5597
1016
+ 5606
1017
+ 5612
1018
+ 5613
1019
+ 5623
1020
+ 5624
1021
+ 5636
1022
+ 5637
1023
+ 5646
1024
+ 5671
1025
+ 5675
1026
+ 5680
1027
+ 5691
1028
+ 5693
1029
+ 5720
1030
+ 5721
1031
+ 5733
1032
+ 5738
1033
+ 5750
1034
+ 5729
1035
+ 5730
1036
+ 5731
1037
+ 5732
1038
+ 5734
1039
+ 5729
1040
+ 5748
1041
+ 5750
1042
+ 5751
1043
+ 5753
1044
+ 5756
1045
+ 5761
1046
+ 5768
1047
+ 5771
1048
+ 5775
1049
+ 5777
1050
+ 5791
1051
+ 5793
1052
+ 5795
1053
+ 5798
1054
+ 5795
1055
+ 5808
1056
+ 5809
1057
+ 5810
1058
+ 5812
1059
+ 5813
1060
+ 5820
1061
+ 5821
1062
+ 5824
1063
+ 5854
1064
+ 5868
1065
+ 5869
1066
+ 5874
1067
+ 5880
1068
+ 5886
1069
+ 5887
1070
+ 5908
1071
+ 5909
1072
+ 5918
1073
+ 5926
1074
+ 5931
1075
+ 5941
1076
+ 5957
1077
+ 5967
1078
+ 5960
1079
+ 5961
1080
+ 5958
1081
+ 5971
1082
+ 5973
1083
+ 5975
1084
+ 5976
1085
+ 5978
1086
+ 5979
1087
+ 5986
1088
+ 5991
1089
+ 5994
1090
+ 5977
1091
+ 5982
1092
+ 5983
1093
+ 5987
1094
+ 5989
1095
+ 6013
1096
+ 6012
1097
+ 6019
1098
+ 6022
1099
+ 6033
1100
+ 6034
1101
+ 6037
1102
+ 6038
1103
+ 6066
1104
+ 6068
1105
+ 6073
1106
+ 6075
1107
+ 6077
1108
+ 6082
1109
+ 6094
1110
+ 6108
1111
+ 6109
1112
+ 6111
1113
+ 6113
1114
+ 6116
1115
+ 6117
1116
+ 6121
1117
+ 6122
1118
+ 6124
1119
+ 6129
1120
+ 6132
1121
+ 6140
1122
+ 6141
1123
+ 6153
1124
+ 6164
1125
+ 6185
1126
+ 6183
1127
+ 6197
1128
+ 6198
1129
+ 6196
1130
+ 6203
1131
+ 6204
1132
+ 6224
1133
+ 6227
1134
+ 6230
1135
+ 6231
1136
+ 6240
1137
+ 6257
1138
+ 6259
1139
+ 6261
1140
+ 6280
1141
+ 6288
1142
+ 6290
1143
+ 6291
1144
+ 6293
1145
+ 6304
1146
+ 6306
1147
+ 6308
1148
+ 6310
1149
+ 6316
1150
+ 6319
1151
+ 6334
1152
+ 6335
1153
+ 6336
1154
+ 6337
1155
+ 6345
1156
+ 6346
1157
+ 6347
1158
+ 6350
1159
+ 6353
1160
+ 6356
1161
+ 6364
1162
+ 6369
1163
+ 6374
1164
+ 6380
1165
+ 6384
1166
+ 6403
1167
+ 6410
1168
+ 6411
1169
+ 6415
1170
+ 6416
1171
+ 6417
1172
+ 6419
1173
+ 6420
1174
+ 6433
1175
+ 6437
1176
+ 6443
1177
+ 6454
1178
+ 6455
1179
+ 6458
1180
+ 6481
1181
+ 6492
1182
+ 6496
1183
+ 6517
1184
+ 6527
1185
+ 6532
1186
+ 6547
1187
+ 6548
1188
+ 6552
1189
+ 6560
1190
+ 6553
1191
+ 6568
1192
+ 6572
1193
+ 6574
1194
+ 6575
1195
+ 6571
1196
+ 6576
1197
+ 6580
1198
+ 6596
1199
+ 6597
1200
+ 6624
1201
+ 6628
1202
+ 6629
1203
+ 6642
1204
+ 6645
1205
+ 6629
1206
+ 6634
1207
+ 6640
1208
+ 6645
1209
+ 6646
1210
+ 6655
1211
+ 6661
1212
+ 6673
1213
+ 6680
1214
+ 6683
1215
+ 6674
1216
+ 6679
1217
+ 6690
1218
+ 6691
1219
+ 6692
1220
+ 6707
1221
+ 6713
1222
+ 6714
1223
+ 6721
1224
+ 6741
1225
+ 6746
1226
+ 6762
1227
+ 6766
1228
+ 6767
1229
+ 6773
1230
+ 6784
1231
+ 6785
1232
+ 6786
1233
+ 6790
1234
+ 6791
1235
+ 6792
1236
+ 6824
1237
+ 6828
1238
+ 6833
1239
+ 6835
1240
+ 6836
1241
+ 6837
1242
+ 6838
1243
+ 6826
1244
+ 6829
1245
+ 6864
1246
+ 6876
1247
+ 6877
1248
+ 6878
1249
+ 6880
1250
+ 6882
1251
+ 6883
1252
+ 6889
1253
+ 6900
1254
+ 6901
1255
+ 6938
1256
+ 6939
1257
+ 6943
1258
+ 6949
1259
+ 6955
1260
+ 6959
1261
+ 6961
1262
+ 6962
1263
+ 6965
1264
+ 6967
1265
+ 6968
1266
+ 6969
1267
+ 6983
1268
+ 6989
1269
+ 6997
1270
+ 6998
1271
+ 7002
1272
+ 6981
1273
+ 6995
1274
+ 6997
1275
+ 7005
1276
+ 7023
1277
+ 7026
1278
+ 7036
1279
+ 7041
1280
+ 7043
1281
+ 7052
1282
+ 7067
1283
+ 7068
1284
+ 7069
1285
+ 7079
1286
+ 7088
1287
+ 7098
1288
+ 7111
1289
+ 7109
1290
+ 7119
1291
+ 7120
1292
+ 7121
1293
+ 7129
1294
+ 7130
1295
+ 7142
1296
+ 7144
1297
+ 7141
1298
+ 7145
1299
+ 7150
1300
+ 7151
1301
+ 7173
1302
+ 7179
1303
+ 7180
1304
+ 7182
1305
+ 7191
1306
+ 7205
1307
+ 7207
1308
+ 7209
1309
+ 7218
1310
+ 7229
1311
+ 7239
1312
+ 7241
1313
+ 7243
1314
+ 7271
1315
+ 7265
1316
+ 7267
1317
+ 7269
1318
+ 7272
1319
+ 7274
1320
+ 7276
1321
+ 7305
1322
+ 7306
1323
+ 7307
1324
+ 7308
1325
+ 7311
1326
+ 7313
1327
+ 7316
1328
+ 7318
1329
+ 7320
1330
+ 7322
1331
+ 7340
1332
+ 7343
1333
+ 7344
1334
+ 7354
1335
+ 7360
1336
+ 7367
1337
+ 7370
1338
+ 7371
1339
+ 7372
1340
+ 7389
1341
+ 7391
1342
+ 7392
1343
+ 7399
1344
+ 7418
1345
+ 7400
1346
+ 7403
1347
+ 7404
1348
+ 7405
1349
+ 7406
1350
+ 7411
1351
+ 7395
1352
+ 7402
1353
+ 7417
1354
+ 7419
1355
+ 7420
1356
+ 7424
1357
+ 7426
1358
+ 7427
1359
+ 7414
1360
+ 7412
1361
+ 7413
1362
+ 7417
1363
+ 7420
1364
+ 7421
1365
+ 7422
1366
+ 7449
1367
+ 7454
1368
+ 7459
1369
+ 7462
1370
+ 7464
1371
+ 7463
1372
+ 7464
1373
+ 7466
1374
+ 7481
1375
+ 7486
1376
+ 7485
1377
+ 7487
1378
+ 7488
1379
+ 7489
1380
+ 7494
1381
+ 7509
1382
+ 7526
1383
+ 7529
1384
+ 7530
1385
+ 7531
1386
+ 7538
1387
+ 7541
1388
+ 7547
1389
+ 7550
1390
+ 7554
1391
+ 7561
1392
+ 7562
1393
+ 7563
1394
+ 7564
1395
+ 7566
1396
+ 7574
1397
+ 7576
1398
+ 7577
1399
+ 7578
1400
+ 7581
1401
+ 7609
1402
+ 7623
1403
+ 7626
1404
+ 7627
1405
+ 7630
1406
+ 7631
1407
+ 7653
1408
+ 7654
1409
+ 7657
1410
+ 7658
1411
+ 7659
1412
+ 7662
1413
+ 7664
1414
+ 7674
1415
+ 7675
1416
+ 7677
1417
+ 7676
1418
+ 7694
1419
+ 7696
1420
+ 7711
1421
+ 7734
1422
+ 7735
1423
+ 7742
1424
+ 7746
1425
+ 7749
1426
+ 7753
1427
+ 7759
1428
+ 7760
1429
+ 7767
1430
+ 7781
1431
+ 7805
1432
+ 7807
1433
+ 7808
1434
+ 7826
1435
+ 7843
1436
+ 7844
1437
+ 7845
1438
+ 7853
1439
+ 7870
1440
+ 7871
1441
+ 7872
1442
+ 7875
1443
+ 7876
1444
+ 7887
1445
+ 7895
1446
+ 7896
1447
+ 7913
1448
+ 7914
1449
+ 7916
1450
+ 7929
1451
+ 7933
1452
+ 7935
1453
+ 7928
1454
+ 7929
1455
+ 7930
1456
+ 7933
1457
+ 7949
1458
+ 7976
1459
+ 7977
1460
+ 7978
1461
+ 7998
1462
+ 7999
1463
+ 8002
1464
+ 8010
1465
+ 8011
1466
+ 8012
1467
+ 8015
1468
+ 8016
1469
+ 8023
1470
+ 8028
1471
+ 8029
1472
+ 8031
1473
+ 8035
1474
+ 8036
1475
+ 8037
1476
+ 8056
1477
+ 8057
1478
+ 8062
1479
+ 8067
1480
+ 8081
1481
+ 8082
1482
+ 8096
1483
+ 8099
1484
+ 8116
1485
+ 8121
1486
+ 8125
1487
+ 8126
1488
+ 8128
1489
+ 8129
1490
+ 8132
1491
+ 8119
1492
+ 8129
1493
+ 8151
1494
+ 8181
1495
+ 8161
1496
+ 8163
1497
+ 8184
1498
+ 8186
1499
+ 8191
1500
+ 8192
1501
+ 8197
1502
+ 8186
1503
+ 8184
1504
+ 8194
1505
+ 8216
1506
+ 8219
1507
+ 8220
1508
+ 8221
1509
+ 8223
1510
+ 8239
1511
+ 8240
1512
+ 8241
1513
+ 8246
1514
+ 8273
1515
+ 8274
1516
+ 8283
1517
+ 8284
1518
+ 8285
1519
+ 8293
1520
+ 8294
1521
+ 8300
1522
+ 8303
1523
+ 8305
1524
+ 8336
1525
+ 8340
1526
+ 8344
1527
+ 8347
1528
+ 8348
1529
+ 8349
1530
+ 8356
1531
+ 8363
1532
+ 8361
1533
+ 8362
1534
+ 8364
1535
+ 8365
1536
+ 8383
1537
+ 8389
1538
+ 8390
1539
+ 8405
1540
+ 8406
1541
+ 8404
1542
+ 8410
1543
+ 8411
1544
+ 8412
1545
+ 8413
1546
+ 8414
1547
+ 8419
1548
+ 8422
1549
+ 8425
1550
+ 8428
1551
+ 8448
1552
+ 8449
1553
+ 8453
1554
+ 8464
1555
+ 8466
1556
+ 8468
1557
+ 8469
1558
+ 8470
1559
+ 8478
1560
+ 8483
1561
+ 8477
1562
+ 8488
1563
+ 8489
1564
+ 8493
1565
+ 8510
1566
+ 8520
1567
+ 8533
1568
+ 8545
1569
+ 8547
1570
+ 8562
1571
+ 8560
1572
+ 8555
1573
+ 8557
1574
+ 8558
1575
+ 8559
1576
+ 8581
1577
+ 8577
1578
+ 8578
1579
+ 8579
1580
+ 8582
1581
+ 8590
1582
+ 8591
1583
+ 8569
1584
+ 8570
1585
+ 8569
1586
+ 8570
1587
+ 8573
1588
+ 8578
1589
+ 8561
1590
+ 8558
1591
+ 8563
1592
+ 8564
1593
+ 8575
1594
+ 8580
1595
+ 8582
1596
+ 8593
1597
+ 8596
1598
+ 8585
1599
+ 8588
1600
+ 8598
1601
+ 8612
1602
+ 8613
1603
+ 8622
1604
+ 8629
1605
+ 8639
1606
+ 8640
1607
+ 8647
1608
+ 8655
1609
+ 8656
1610
+ 8657
1611
+ 8671
1612
+ 8672
1613
+ 8683
1614
+ 8690
1615
+ 8691
1616
+ 8694
1617
+ 8693
1618
+ 8698
1619
+ 8706
1620
+ 8713
1621
+ 8714
1622
+ 8716
1623
+ 8718
1624
+ 8736
1625
+ 8733
1626
+ 8741
1627
+ 8731
1628
+ 8736
1629
+ 8737
1630
+ 8738
1631
+ 8746
1632
+ 8747
1633
+ 8746
1634
+ 8749
1635
+ 8761
1636
+ 8762
1637
+ 8780
1638
+ 8784
1639
+ 8785
1640
+ 8791
1641
+ 8793
1642
+ 8797
1643
+ 8807
1644
+ 8818
1645
+ 8836
1646
+ 8837
1647
+ 8838
1648
+ 8845
1649
+ 8846
1650
+ 8849
1651
+ 8857
1652
+ 8858
1653
+ 8877
1654
+ 8876
1655
+ 8875
1656
+ 8883
1657
+ 8887
1658
+ 8888
1659
+ 8892
1660
+ 8895
1661
+ 8901
1662
+ 8915
1663
+ 8916
1664
+ 8915
1665
+ 8921
1666
+ 8929
1667
+ 8935
1668
+ 8944
1669
+ 8981
1670
+ 8985
1671
+ 8990
1672
+ 8991
1673
+ 9001
1674
+ 8995
1675
+ 8998
1676
+ 9001
1677
+ 9002
1678
+ 9003
1679
+ 9026
1680
+ 9036
1681
+ 9047
1682
+ 9070
1683
+ 9080
1684
+ 9083
1685
+ 9089
1686
+ 9098
1687
+ 9118
1688
+ 9135
1689
+ 9123
1690
+ 9127
1691
+ 9131
1692
+ 9117
1693
+ 9123
1694
+ 9124
1695
+ 9131
1696
+ 9136
1697
+ 9139
1698
+ 9141
1699
+ 9144
1700
+ 9149
1701
+ 9156
1702
+ 9157
1703
+ 9160
1704
+ 9163
1705
+ 9168
1706
+ 9170
1707
+ 9177
1708
+ 9179
1709
+ 9199
1710
+ 9200
1711
+ 9211
1712
+ 9212
1713
+ 9222
1714
+ 9224
1715
+ 9211
1716
+ 9224
1717
+ 9246
1718
+ 9252
1719
+ 9277
1720
+ 9294
1721
+ 9301
1722
+ 9302
1723
+ 9310
1724
+ 9311
1725
+ 9313
1726
+ 9316
1727
+ 9319
1728
+ 9320
1729
+ 9321
1730
+ 9322
1731
+ 9323
1732
+ 9324
1733
+ 9337
1734
+ 9340
1735
+ 9357
1736
+ 9378
1737
+ 9379
1738
+ 9381
1739
+ 9397
1740
+ 9398
1741
+ 9399
1742
+ 9400
1743
+ 9405
1744
+ 9407
1745
+ 9421
1746
+ 9437
1747
+ 9438
1748
+ 9442
1749
+ 9440
1750
+ 9453
1751
+ 9458
1752
+ 9459
1753
+ 9463
1754
+ 9464
1755
+ 9465
1756
+ 9464
1757
+ 9465
1758
+ 9468
1759
+ 9478
1760
+ 9496
1761
+ 9498
1762
+ 9499
1763
+ 9504
1764
+ 9509
1765
+ 9525
1766
+ 9522
1767
+ 9523
1768
+ 9527
1769
+ 9531
1770
+ 9533
1771
+ 9537
1772
+ 9533
1773
+ 9546
1774
+ 9547
1775
+ 9570
1776
+ 9576
1777
+ 9577
1778
+ 9586
1779
+ 9604
1780
+ 9607
1781
+ 9618
1782
+ 9621
1783
+ 9643
1784
+ 9657
1785
+ 9665
1786
+ 9666
1787
+ 9667
1788
+ 9668
1789
+ 9678
1790
+ 9679
1791
+ 9680
1792
+ 9684
1793
+ 9694
1794
+ 9697
1795
+ 9694
1796
+ 9700
1797
+ 9705
1798
+ 9706
1799
+ 9708
1800
+ 9728
1801
+ 9729
1802
+ 9730
1803
+ 9732
1804
+ 9737
1805
+ 9744
1806
+ 9745
1807
+ 9758
1808
+ 9774
1809
+ 9776
1810
+ 9774
1811
+ 9771
1812
+ 9776
1813
+ 9777
1814
+ 9779
1815
+ 9780
1816
+ 9781
1817
+ 9799
1818
+ 9802
1819
+ 9803
1820
+ 9806
1821
+ 9824
1822
+ 9825
1823
+ 9828
1824
+ 9837
1825
+ 9829
1826
+ 9833
1827
+ 9836
1828
+ 9837
1829
+ 9832
1830
+ 9834
1831
+ 9835
1832
+ 9840
1833
+ 9848
1834
+ 9874
1835
+ 9890
1836
+ 9917
1837
+ 9922
1838
+ 9926
1839
+ 9928
1840
+ 9929
1841
+ 9937
1842
+ 9940
1843
+ 9947
1844
+ 9950
1845
+ 9949
1846
+ 9951
1847
+ 9952
1848
+ 9963
1849
+ 9962
1850
+ 9963
1851
+ 9997
1852
+ 10011
1853
+ 10017
1854
+ 10038
1855
+ 10039
1856
+ 10040
1857
+ 10086
1858
+ 10087
1859
+ 10088
1860
+ 10089
1861
+ 10091
1862
+ 10092
1863
+ 10103
1864
+ 10104
1865
+ 10113
1866
+ 10115
1867
+ 10132
1868
+ 10146
1869
+ 10148
1870
+ 10154
1871
+ 10158
1872
+ 10166
1873
+ 10168
1874
+ 10166
1875
+ 10167
1876
+ 10176
1877
+ 10191
1878
+ 10185
1879
+ 10191
1880
+ 10196
1881
+ 10206
1882
+ 10210
1883
+ 10212
1884
+ 10213
1885
+ 10216
1886
+ 10238
1887
+ 10254
1888
+ 10258
1889
+ 10260
1890
+ 10261
1891
+ 10267
1892
+ 10291
1893
+ 10305
1894
+ 10308
1895
+ 10313
1896
+ 10315
1897
+ 10326
1898
+ 10331
1899
+ 10339
1900
+ 10346
1901
+ 10348
1902
+ 10358
1903
+ 10381
1904
+ 10385
1905
+ 10386
1906
+ 10392
1907
+ 10393
1908
+ 10394
1909
+ 10397
1910
+ 10408
1911
+ 10431
1912
+ 10433
1913
+ 10437
1914
+ 10438
1915
+ 10443
1916
+ 10447
1917
+ 10449
1918
+ 10452
1919
+ 10454
1920
+ 10456
1921
+ 10460
1922
+ 10461
1923
+ 10462
1924
+ 10463
1925
+ 10462
1926
+ 10463
1927
+ 10480
1928
+ 10481
1929
+ 10489
1930
+ 10488
1931
+ 10491
1932
+ 10493
1933
+ 10517
1934
+ 10519
1935
+ 10537
1936
+ 10550
1937
+ 10560
1938
+ 10573
1939
+ 10588
1940
+ 10591
1941
+ 10597
1942
+ 10605
1943
+ 10609
1944
+ 10610
1945
+ 10615
1946
+ 10618
1947
+ 10620
1948
+ 10619
1949
+ 10625
1950
+ 10640
1951
+ 10642
1952
+ 10645
1953
+ 10651
1954
+ 10660
1955
+ 10659
1956
+ 10673
1957
+ 10691
1958
+ 10709
1959
+ 10711
1960
+ 10732
1961
+ 10739
1962
+ 10743
1963
+ 10751
1964
+ 10755
1965
+ 10757
1966
+ 10758
1967
+ 10761
1968
+ 10777
1969
+ 10779
1970
+ 10776
1971
+ 10783
1972
+ 10789
1973
+ 10803
1974
+ 10806
1975
+ 10825
1976
+ 10838
1977
+ 10851
1978
+ 10852
1979
+ 10853
1980
+ 10854
1981
+ 10865
1982
+ 10866
1983
+ 10876
1984
+ 10877
1985
+ 10885
1986
+ 10887
1987
+ 10899
1988
+ 10898
1989
+ 10897
1990
+ 10902
1991
+ 10907
1992
+ 10909
1993
+ 10913
1994
+ 10924
1995
+ 10950
1996
+ 10947
1997
+ 10949
1998
+ 10954
1999
+ 10965
2000
+ 10983
year_2021/data/1_debug.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ 199
2
+ 200
3
+ 208
4
+ 210
5
+ 200
6
+ 207
7
+ 240
8
+ 269
9
+ 260
10
+ 263
year_2021/data/2.txt ADDED
@@ -0,0 +1,1000 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ forward 6
2
+ down 8
3
+ down 5
4
+ down 9
5
+ forward 2
6
+ down 5
7
+ down 5
8
+ forward 1
9
+ forward 7
10
+ down 8
11
+ up 2
12
+ down 4
13
+ up 8
14
+ down 8
15
+ forward 3
16
+ forward 4
17
+ down 1
18
+ forward 5
19
+ up 7
20
+ down 7
21
+ down 8
22
+ forward 2
23
+ up 3
24
+ forward 1
25
+ forward 6
26
+ forward 9
27
+ forward 7
28
+ forward 8
29
+ forward 2
30
+ forward 3
31
+ up 2
32
+ up 8
33
+ down 1
34
+ forward 7
35
+ down 7
36
+ down 2
37
+ forward 6
38
+ down 1
39
+ forward 5
40
+ down 3
41
+ forward 6
42
+ down 7
43
+ up 1
44
+ up 3
45
+ forward 7
46
+ forward 6
47
+ forward 8
48
+ down 4
49
+ down 2
50
+ up 5
51
+ down 2
52
+ forward 2
53
+ up 5
54
+ forward 6
55
+ down 3
56
+ down 1
57
+ down 5
58
+ forward 6
59
+ up 6
60
+ down 7
61
+ down 8
62
+ down 2
63
+ forward 3
64
+ down 5
65
+ down 4
66
+ forward 7
67
+ forward 9
68
+ up 9
69
+ up 8
70
+ up 4
71
+ forward 8
72
+ forward 5
73
+ down 4
74
+ up 2
75
+ forward 9
76
+ up 5
77
+ down 5
78
+ up 9
79
+ forward 2
80
+ forward 3
81
+ down 6
82
+ down 8
83
+ forward 8
84
+ up 5
85
+ down 5
86
+ forward 7
87
+ forward 6
88
+ forward 8
89
+ up 3
90
+ forward 3
91
+ forward 1
92
+ up 8
93
+ down 8
94
+ down 2
95
+ down 4
96
+ up 7
97
+ up 2
98
+ up 9
99
+ up 4
100
+ forward 6
101
+ down 8
102
+ down 1
103
+ forward 6
104
+ forward 6
105
+ down 4
106
+ down 2
107
+ up 7
108
+ down 9
109
+ down 9
110
+ up 2
111
+ up 7
112
+ down 4
113
+ down 2
114
+ forward 1
115
+ down 1
116
+ up 5
117
+ up 5
118
+ forward 9
119
+ up 3
120
+ down 7
121
+ forward 7
122
+ down 4
123
+ down 8
124
+ up 1
125
+ down 4
126
+ down 7
127
+ forward 5
128
+ up 9
129
+ forward 5
130
+ forward 1
131
+ forward 8
132
+ forward 6
133
+ forward 5
134
+ forward 1
135
+ down 4
136
+ down 6
137
+ forward 5
138
+ forward 2
139
+ forward 3
140
+ down 1
141
+ up 2
142
+ up 9
143
+ forward 4
144
+ up 8
145
+ down 7
146
+ down 8
147
+ up 7
148
+ down 2
149
+ forward 7
150
+ up 1
151
+ forward 5
152
+ forward 1
153
+ forward 8
154
+ forward 1
155
+ up 8
156
+ down 6
157
+ down 7
158
+ forward 2
159
+ down 8
160
+ down 8
161
+ forward 8
162
+ up 8
163
+ down 6
164
+ down 7
165
+ down 4
166
+ down 7
167
+ forward 6
168
+ up 3
169
+ forward 3
170
+ down 2
171
+ down 8
172
+ down 3
173
+ down 9
174
+ forward 9
175
+ forward 7
176
+ down 6
177
+ down 4
178
+ forward 6
179
+ down 2
180
+ down 7
181
+ up 7
182
+ up 8
183
+ forward 2
184
+ forward 8
185
+ down 3
186
+ up 2
187
+ forward 9
188
+ down 2
189
+ up 3
190
+ down 1
191
+ down 1
192
+ down 4
193
+ down 8
194
+ up 2
195
+ up 8
196
+ forward 2
197
+ forward 1
198
+ up 1
199
+ forward 7
200
+ down 8
201
+ down 1
202
+ down 7
203
+ up 3
204
+ down 3
205
+ forward 8
206
+ forward 2
207
+ forward 7
208
+ down 2
209
+ up 9
210
+ up 3
211
+ up 5
212
+ down 4
213
+ up 3
214
+ forward 4
215
+ up 5
216
+ down 9
217
+ down 9
218
+ forward 2
219
+ forward 2
220
+ down 2
221
+ down 8
222
+ down 3
223
+ down 5
224
+ forward 6
225
+ down 6
226
+ up 5
227
+ down 2
228
+ down 4
229
+ down 9
230
+ down 3
231
+ forward 7
232
+ down 1
233
+ forward 1
234
+ down 4
235
+ up 1
236
+ down 9
237
+ forward 5
238
+ up 2
239
+ down 3
240
+ forward 8
241
+ forward 9
242
+ up 9
243
+ down 2
244
+ forward 8
245
+ down 4
246
+ down 5
247
+ forward 6
248
+ forward 5
249
+ forward 4
250
+ down 6
251
+ down 9
252
+ down 2
253
+ forward 9
254
+ down 4
255
+ up 8
256
+ up 9
257
+ up 2
258
+ up 5
259
+ up 5
260
+ forward 9
261
+ up 1
262
+ forward 6
263
+ forward 7
264
+ forward 8
265
+ forward 9
266
+ up 2
267
+ forward 3
268
+ forward 4
269
+ forward 6
270
+ forward 9
271
+ up 5
272
+ up 5
273
+ down 3
274
+ forward 1
275
+ forward 3
276
+ forward 2
277
+ forward 3
278
+ forward 6
279
+ forward 7
280
+ down 4
281
+ down 2
282
+ down 1
283
+ forward 2
284
+ down 5
285
+ forward 3
286
+ forward 6
287
+ down 8
288
+ down 9
289
+ forward 4
290
+ forward 6
291
+ down 6
292
+ down 6
293
+ forward 3
294
+ down 6
295
+ down 8
296
+ down 1
297
+ forward 7
298
+ forward 9
299
+ down 2
300
+ down 5
301
+ forward 1
302
+ forward 3
303
+ down 2
304
+ forward 1
305
+ down 8
306
+ down 1
307
+ forward 4
308
+ down 8
309
+ forward 5
310
+ forward 1
311
+ down 7
312
+ down 7
313
+ forward 3
314
+ forward 1
315
+ forward 6
316
+ forward 7
317
+ forward 5
318
+ up 1
319
+ forward 2
320
+ down 9
321
+ forward 3
322
+ up 1
323
+ forward 2
324
+ down 1
325
+ down 6
326
+ down 3
327
+ forward 7
328
+ down 5
329
+ down 4
330
+ down 1
331
+ forward 9
332
+ forward 9
333
+ down 5
334
+ forward 7
335
+ forward 3
336
+ forward 5
337
+ down 1
338
+ forward 6
339
+ down 8
340
+ up 2
341
+ forward 6
342
+ down 3
343
+ forward 2
344
+ forward 9
345
+ forward 4
346
+ down 1
347
+ down 3
348
+ forward 9
349
+ forward 3
350
+ forward 8
351
+ forward 9
352
+ up 3
353
+ up 1
354
+ forward 1
355
+ forward 2
356
+ down 8
357
+ down 9
358
+ down 2
359
+ down 1
360
+ down 3
361
+ down 2
362
+ forward 9
363
+ forward 7
364
+ down 5
365
+ forward 1
366
+ forward 6
367
+ forward 3
368
+ forward 9
369
+ down 2
370
+ forward 8
371
+ down 5
372
+ down 1
373
+ forward 5
374
+ forward 3
375
+ down 6
376
+ forward 6
377
+ down 8
378
+ forward 2
379
+ up 5
380
+ forward 1
381
+ down 2
382
+ down 6
383
+ forward 9
384
+ forward 7
385
+ down 1
386
+ down 3
387
+ down 6
388
+ up 3
389
+ down 4
390
+ forward 8
391
+ forward 1
392
+ forward 7
393
+ down 2
394
+ down 5
395
+ down 9
396
+ forward 6
397
+ down 5
398
+ forward 5
399
+ up 1
400
+ down 5
401
+ forward 8
402
+ up 9
403
+ forward 2
404
+ down 6
405
+ forward 2
406
+ forward 7
407
+ up 2
408
+ down 9
409
+ down 7
410
+ up 7
411
+ down 6
412
+ up 5
413
+ forward 1
414
+ down 8
415
+ forward 8
416
+ forward 1
417
+ forward 7
418
+ down 9
419
+ down 6
420
+ forward 3
421
+ down 6
422
+ down 1
423
+ down 1
424
+ down 1
425
+ down 3
426
+ down 7
427
+ down 7
428
+ down 3
429
+ down 5
430
+ forward 4
431
+ down 4
432
+ forward 7
433
+ forward 5
434
+ down 9
435
+ down 9
436
+ forward 7
437
+ down 3
438
+ down 9
439
+ down 4
440
+ forward 3
441
+ down 7
442
+ down 2
443
+ forward 2
444
+ down 6
445
+ forward 9
446
+ forward 9
447
+ forward 5
448
+ up 4
449
+ down 7
450
+ down 2
451
+ up 9
452
+ up 4
453
+ forward 8
454
+ forward 1
455
+ down 8
456
+ up 5
457
+ down 4
458
+ down 3
459
+ forward 2
460
+ down 7
461
+ down 2
462
+ down 1
463
+ down 9
464
+ forward 7
465
+ forward 7
466
+ up 8
467
+ up 4
468
+ down 3
469
+ down 8
470
+ forward 6
471
+ forward 5
472
+ forward 5
473
+ forward 5
474
+ down 3
475
+ down 8
476
+ forward 4
477
+ forward 7
478
+ forward 1
479
+ up 3
480
+ up 9
481
+ down 6
482
+ up 4
483
+ down 7
484
+ forward 8
485
+ forward 4
486
+ forward 3
487
+ up 8
488
+ up 3
489
+ down 3
490
+ forward 6
491
+ down 2
492
+ forward 7
493
+ forward 4
494
+ forward 8
495
+ down 3
496
+ down 9
497
+ down 9
498
+ down 2
499
+ forward 8
500
+ up 4
501
+ down 3
502
+ forward 8
503
+ forward 5
504
+ forward 7
505
+ down 6
506
+ up 9
507
+ forward 3
508
+ down 2
509
+ forward 5
510
+ forward 2
511
+ down 7
512
+ forward 6
513
+ forward 2
514
+ up 9
515
+ down 1
516
+ down 1
517
+ forward 4
518
+ up 1
519
+ forward 9
520
+ down 3
521
+ down 4
522
+ down 2
523
+ forward 3
524
+ forward 3
525
+ forward 3
526
+ up 7
527
+ up 8
528
+ down 5
529
+ forward 1
530
+ forward 7
531
+ up 9
532
+ up 3
533
+ down 3
534
+ down 8
535
+ forward 6
536
+ up 5
537
+ up 5
538
+ forward 4
539
+ down 2
540
+ down 8
541
+ down 1
542
+ forward 6
543
+ down 3
544
+ forward 3
545
+ forward 6
546
+ forward 1
547
+ up 3
548
+ up 1
549
+ down 5
550
+ down 2
551
+ down 7
552
+ down 1
553
+ forward 9
554
+ down 4
555
+ down 8
556
+ forward 9
557
+ forward 7
558
+ forward 8
559
+ down 1
560
+ down 2
561
+ up 7
562
+ down 5
563
+ down 2
564
+ down 1
565
+ up 4
566
+ up 8
567
+ up 7
568
+ down 4
569
+ forward 3
570
+ down 2
571
+ down 2
572
+ forward 5
573
+ forward 4
574
+ down 8
575
+ up 4
576
+ forward 4
577
+ up 1
578
+ down 3
579
+ down 9
580
+ down 9
581
+ down 3
582
+ up 8
583
+ forward 1
584
+ forward 6
585
+ down 6
586
+ down 2
587
+ forward 8
588
+ down 3
589
+ forward 8
590
+ forward 2
591
+ forward 9
592
+ up 3
593
+ forward 6
594
+ down 5
595
+ forward 6
596
+ forward 2
597
+ up 7
598
+ down 9
599
+ forward 2
600
+ up 2
601
+ forward 7
602
+ down 1
603
+ down 5
604
+ down 6
605
+ forward 8
606
+ down 6
607
+ forward 4
608
+ forward 1
609
+ forward 3
610
+ forward 4
611
+ up 4
612
+ forward 4
613
+ down 4
614
+ forward 2
615
+ forward 5
616
+ forward 2
617
+ forward 5
618
+ down 9
619
+ up 2
620
+ up 1
621
+ down 2
622
+ up 4
623
+ up 5
624
+ forward 2
625
+ down 3
626
+ down 9
627
+ forward 3
628
+ down 8
629
+ down 9
630
+ forward 5
631
+ down 3
632
+ forward 5
633
+ down 3
634
+ up 8
635
+ forward 7
636
+ forward 1
637
+ down 2
638
+ down 7
639
+ forward 3
640
+ down 8
641
+ forward 9
642
+ down 4
643
+ down 1
644
+ down 7
645
+ down 4
646
+ up 5
647
+ forward 1
648
+ down 4
649
+ forward 1
650
+ forward 8
651
+ up 1
652
+ up 5
653
+ up 2
654
+ up 2
655
+ down 4
656
+ down 7
657
+ forward 2
658
+ down 8
659
+ up 8
660
+ down 9
661
+ down 3
662
+ down 6
663
+ down 3
664
+ down 1
665
+ forward 7
666
+ up 8
667
+ forward 5
668
+ up 5
669
+ down 8
670
+ down 1
671
+ down 8
672
+ down 6
673
+ down 5
674
+ forward 2
675
+ up 5
676
+ down 6
677
+ forward 9
678
+ up 6
679
+ down 5
680
+ down 7
681
+ up 9
682
+ down 1
683
+ forward 4
684
+ up 6
685
+ forward 2
686
+ down 5
687
+ down 5
688
+ forward 2
689
+ up 6
690
+ forward 1
691
+ down 8
692
+ forward 4
693
+ up 8
694
+ down 3
695
+ forward 8
696
+ down 8
697
+ forward 5
698
+ down 6
699
+ down 3
700
+ forward 1
701
+ down 4
702
+ down 8
703
+ up 1
704
+ down 1
705
+ down 2
706
+ up 9
707
+ forward 2
708
+ forward 3
709
+ down 7
710
+ down 2
711
+ forward 7
712
+ up 8
713
+ down 2
714
+ down 8
715
+ down 9
716
+ up 1
717
+ down 5
718
+ down 5
719
+ down 4
720
+ down 8
721
+ down 9
722
+ up 5
723
+ forward 2
724
+ down 4
725
+ down 3
726
+ down 2
727
+ forward 5
728
+ forward 8
729
+ down 8
730
+ down 1
731
+ forward 9
732
+ down 5
733
+ forward 5
734
+ down 2
735
+ up 3
736
+ up 9
737
+ down 1
738
+ down 9
739
+ forward 7
740
+ up 7
741
+ forward 3
742
+ up 6
743
+ forward 8
744
+ down 2
745
+ down 1
746
+ down 7
747
+ forward 5
748
+ down 8
749
+ down 4
750
+ forward 7
751
+ forward 4
752
+ down 6
753
+ forward 9
754
+ down 3
755
+ forward 2
756
+ down 3
757
+ down 1
758
+ down 1
759
+ up 1
760
+ up 3
761
+ down 6
762
+ forward 3
763
+ up 9
764
+ down 4
765
+ up 2
766
+ down 3
767
+ up 1
768
+ down 8
769
+ down 5
770
+ forward 7
771
+ forward 2
772
+ forward 9
773
+ down 8
774
+ down 5
775
+ down 6
776
+ up 3
777
+ forward 2
778
+ up 8
779
+ down 4
780
+ forward 7
781
+ down 8
782
+ down 6
783
+ down 4
784
+ forward 7
785
+ up 9
786
+ down 4
787
+ forward 2
788
+ forward 5
789
+ down 3
790
+ up 6
791
+ up 6
792
+ down 2
793
+ down 4
794
+ forward 8
795
+ forward 5
796
+ forward 3
797
+ forward 5
798
+ down 5
799
+ down 5
800
+ down 6
801
+ forward 3
802
+ forward 7
803
+ forward 1
804
+ down 8
805
+ down 5
806
+ forward 7
807
+ up 7
808
+ down 9
809
+ down 9
810
+ down 9
811
+ up 6
812
+ down 2
813
+ down 3
814
+ forward 1
815
+ up 7
816
+ up 8
817
+ forward 5
818
+ down 1
819
+ down 3
820
+ down 3
821
+ forward 5
822
+ down 7
823
+ down 1
824
+ up 2
825
+ down 2
826
+ down 3
827
+ forward 7
828
+ down 9
829
+ forward 6
830
+ down 5
831
+ forward 2
832
+ down 5
833
+ forward 6
834
+ up 3
835
+ down 8
836
+ up 2
837
+ forward 5
838
+ forward 1
839
+ forward 5
840
+ forward 8
841
+ forward 6
842
+ forward 9
843
+ forward 6
844
+ up 6
845
+ up 5
846
+ down 8
847
+ down 3
848
+ down 5
849
+ down 2
850
+ forward 9
851
+ forward 8
852
+ down 1
853
+ up 1
854
+ up 6
855
+ down 6
856
+ forward 4
857
+ down 3
858
+ forward 6
859
+ forward 1
860
+ up 5
861
+ down 6
862
+ up 9
863
+ down 7
864
+ down 2
865
+ down 9
866
+ down 5
867
+ forward 5
868
+ up 2
869
+ forward 8
870
+ down 2
871
+ down 8
872
+ forward 6
873
+ down 4
874
+ forward 8
875
+ down 7
876
+ down 8
877
+ down 1
878
+ forward 3
879
+ down 6
880
+ down 9
881
+ down 3
882
+ forward 3
883
+ down 8
884
+ forward 8
885
+ down 7
886
+ forward 6
887
+ forward 8
888
+ down 8
889
+ up 7
890
+ down 1
891
+ forward 2
892
+ forward 3
893
+ down 5
894
+ up 8
895
+ down 3
896
+ down 4
897
+ down 7
898
+ forward 9
899
+ forward 7
900
+ forward 1
901
+ down 3
902
+ forward 9
903
+ down 8
904
+ forward 2
905
+ down 2
906
+ down 9
907
+ down 4
908
+ down 3
909
+ up 6
910
+ up 9
911
+ down 3
912
+ down 2
913
+ forward 5
914
+ down 3
915
+ down 2
916
+ down 8
917
+ forward 6
918
+ forward 5
919
+ up 4
920
+ forward 9
921
+ forward 8
922
+ forward 9
923
+ down 2
924
+ forward 2
925
+ up 6
926
+ forward 1
927
+ down 5
928
+ forward 2
929
+ down 8
930
+ up 2
931
+ up 3
932
+ down 3
933
+ up 2
934
+ up 1
935
+ up 5
936
+ forward 1
937
+ forward 2
938
+ down 8
939
+ up 3
940
+ down 9
941
+ forward 7
942
+ up 5
943
+ down 4
944
+ down 4
945
+ up 3
946
+ forward 2
947
+ up 5
948
+ down 4
949
+ down 4
950
+ up 5
951
+ forward 8
952
+ down 8
953
+ down 6
954
+ forward 7
955
+ down 1
956
+ down 3
957
+ down 1
958
+ forward 3
959
+ down 5
960
+ down 3
961
+ forward 3
962
+ up 2
963
+ forward 2
964
+ down 9
965
+ up 8
966
+ forward 8
967
+ up 8
968
+ forward 1
969
+ forward 9
970
+ forward 3
971
+ down 8
972
+ down 3
973
+ forward 8
974
+ forward 4
975
+ down 2
976
+ forward 2
977
+ down 2
978
+ down 5
979
+ down 7
980
+ down 5
981
+ forward 8
982
+ up 3
983
+ forward 1
984
+ down 1
985
+ forward 3
986
+ down 9
987
+ forward 2
988
+ forward 2
989
+ forward 7
990
+ down 7
991
+ down 2
992
+ forward 9
993
+ up 5
994
+ up 7
995
+ forward 8
996
+ forward 1
997
+ down 7
998
+ down 8
999
+ down 3
1000
+ forward 6
year_2021/data/2_debug.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ forward 5
2
+ down 5
3
+ forward 8
4
+ up 3
5
+ down 8
6
+ forward 2
year_2021/data/3.txt ADDED
@@ -0,0 +1,1000 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 000110010001
2
+ 101000110000
3
+ 000110010111
4
+ 100011100010
5
+ 111001100001
6
+ 001010001010
7
+ 010100100101
8
+ 011000010000
9
+ 111111011010
10
+ 001111011101
11
+ 011011010010
12
+ 001100010101
13
+ 001010101100
14
+ 000000000000
15
+ 100010111111
16
+ 100100110011
17
+ 111100100001
18
+ 011110001110
19
+ 000110100101
20
+ 011101111001
21
+ 111101110110
22
+ 101001001111
23
+ 010111100010
24
+ 001110100011
25
+ 110010111101
26
+ 110000001101
27
+ 110110111101
28
+ 101100000110
29
+ 101101010110
30
+ 001011001110
31
+ 111110000111
32
+ 011110010110
33
+ 011001110100
34
+ 110101101110
35
+ 101110001100
36
+ 100111000010
37
+ 101111010001
38
+ 111110000101
39
+ 010100111111
40
+ 010110111011
41
+ 000000100101
42
+ 001000101011
43
+ 011100101110
44
+ 010011000100
45
+ 110011100001
46
+ 100100101110
47
+ 111101110011
48
+ 010100010010
49
+ 110100010000
50
+ 000101001101
51
+ 101010110100
52
+ 000011100110
53
+ 000100110100
54
+ 111001011001
55
+ 010101001110
56
+ 110100110100
57
+ 111010001010
58
+ 111111101111
59
+ 111000011001
60
+ 111110000000
61
+ 011111111011
62
+ 010100100001
63
+ 010110100100
64
+ 110000011110
65
+ 001100101101
66
+ 010011001000
67
+ 101110110110
68
+ 001001011011
69
+ 100100101101
70
+ 001111000100
71
+ 101001010000
72
+ 110101010010
73
+ 101111100101
74
+ 001011101010
75
+ 001110010111
76
+ 100111111000
77
+ 010010110110
78
+ 000100100010
79
+ 010111100100
80
+ 001000100001
81
+ 101100100111
82
+ 111001000001
83
+ 110010111100
84
+ 000110011101
85
+ 000001010010
86
+ 001010010111
87
+ 001101000100
88
+ 000110111101
89
+ 111011011000
90
+ 011110101000
91
+ 100101000011
92
+ 001000011100
93
+ 111101001001
94
+ 000011110011
95
+ 011010101001
96
+ 000111000101
97
+ 011000011001
98
+ 011010010100
99
+ 010110001110
100
+ 011010010110
101
+ 111010111110
102
+ 010101000010
103
+ 100010011100
104
+ 110001111100
105
+ 100101100001
106
+ 010001110010
107
+ 001000010011
108
+ 111010011101
109
+ 110001111000
110
+ 101100010011
111
+ 010000010110
112
+ 101011001101
113
+ 000110000101
114
+ 010000101111
115
+ 001100010100
116
+ 100110010111
117
+ 010000010001
118
+ 011100100101
119
+ 110011010000
120
+ 111101001110
121
+ 001101110010
122
+ 000011000110
123
+ 011000010111
124
+ 000101010000
125
+ 101111110110
126
+ 101001011000
127
+ 111010001000
128
+ 001100100010
129
+ 111100001100
130
+ 011000001100
131
+ 111010110100
132
+ 011111010110
133
+ 111011100000
134
+ 110010110110
135
+ 100111001101
136
+ 101111111010
137
+ 000101101110
138
+ 011011000111
139
+ 110001101100
140
+ 001110001110
141
+ 100100001011
142
+ 111000001110
143
+ 110000111111
144
+ 100110111111
145
+ 100100000011
146
+ 111101110001
147
+ 000100001111
148
+ 000101000111
149
+ 001011000111
150
+ 010011001100
151
+ 100001101110
152
+ 111100001010
153
+ 110100101101
154
+ 100111100001
155
+ 011000100111
156
+ 101010010010
157
+ 111101000111
158
+ 000010110101
159
+ 001100010010
160
+ 001111111101
161
+ 001101111011
162
+ 001011101110
163
+ 011100000111
164
+ 110010111111
165
+ 100110110101
166
+ 100110000001
167
+ 001011100010
168
+ 100010111000
169
+ 000000111000
170
+ 111010100100
171
+ 010101101110
172
+ 100111011111
173
+ 111101010100
174
+ 010000111011
175
+ 000101100001
176
+ 101010100000
177
+ 101110111100
178
+ 010000011011
179
+ 000101110110
180
+ 100110000000
181
+ 001001001001
182
+ 110110101100
183
+ 001100110011
184
+ 100111001111
185
+ 110111011101
186
+ 001110110010
187
+ 001010110000
188
+ 001001100101
189
+ 111100101101
190
+ 100001111100
191
+ 011001011110
192
+ 010010100010
193
+ 001011100100
194
+ 000100111010
195
+ 010110011100
196
+ 011100000101
197
+ 001110101010
198
+ 010011101010
199
+ 000011010001
200
+ 011101101100
201
+ 110100101001
202
+ 101011110110
203
+ 001010010101
204
+ 111110011010
205
+ 011001101111
206
+ 001000111111
207
+ 000011101101
208
+ 010001001001
209
+ 111011000010
210
+ 001011110010
211
+ 010000011001
212
+ 110000110001
213
+ 011001001000
214
+ 110011011000
215
+ 110101011001
216
+ 100000100011
217
+ 010011001111
218
+ 100100101000
219
+ 111111111100
220
+ 011011010101
221
+ 101100101010
222
+ 111110011111
223
+ 010101001000
224
+ 011110100000
225
+ 101001111111
226
+ 110000101110
227
+ 101011101110
228
+ 101111001110
229
+ 100000101101
230
+ 010010001011
231
+ 010100110111
232
+ 111011110001
233
+ 000100000010
234
+ 100000111000
235
+ 111111111000
236
+ 110111100111
237
+ 000001101101
238
+ 100001110011
239
+ 011010111110
240
+ 100111111100
241
+ 111111001010
242
+ 001001000100
243
+ 010010101101
244
+ 110100100000
245
+ 100010011111
246
+ 010000000110
247
+ 110111010111
248
+ 101000001000
249
+ 100100101001
250
+ 001001000010
251
+ 001111111010
252
+ 001011011000
253
+ 100010001111
254
+ 110011101110
255
+ 010111001110
256
+ 001011010011
257
+ 111011011011
258
+ 010100100100
259
+ 101011000111
260
+ 000011111111
261
+ 000110000111
262
+ 110000110100
263
+ 100101011011
264
+ 001001110110
265
+ 011100001001
266
+ 001111110100
267
+ 001111001101
268
+ 110010011001
269
+ 000100001001
270
+ 000110010110
271
+ 100001001010
272
+ 011100111000
273
+ 011101010111
274
+ 011111000110
275
+ 001000001001
276
+ 110011000101
277
+ 111111011011
278
+ 111110010011
279
+ 101111100000
280
+ 101011000100
281
+ 111110011101
282
+ 010100101010
283
+ 101011110000
284
+ 000100010100
285
+ 110110010010
286
+ 100011001101
287
+ 110110011010
288
+ 011100111011
289
+ 001111100001
290
+ 110011100101
291
+ 111001101011
292
+ 010000110101
293
+ 100100011100
294
+ 111000111001
295
+ 111000001011
296
+ 010110100011
297
+ 110011010100
298
+ 010011101111
299
+ 011011110111
300
+ 010101101010
301
+ 000000100100
302
+ 100111011101
303
+ 001101011000
304
+ 110111000101
305
+ 001011110100
306
+ 001100000100
307
+ 101010110010
308
+ 011000100000
309
+ 011001010100
310
+ 111100000000
311
+ 000100011000
312
+ 001000111000
313
+ 101101110010
314
+ 000100011001
315
+ 000100101001
316
+ 010010010101
317
+ 100010101101
318
+ 100010010110
319
+ 110101110000
320
+ 100011100110
321
+ 010010011100
322
+ 010001011011
323
+ 011100000110
324
+ 101000101011
325
+ 111010010000
326
+ 011100111001
327
+ 100001100110
328
+ 111100000110
329
+ 100001011100
330
+ 111001110101
331
+ 111011100111
332
+ 110101010001
333
+ 111100011000
334
+ 100111101010
335
+ 011110110000
336
+ 001011000101
337
+ 011010011111
338
+ 111100111110
339
+ 010100011010
340
+ 000010011101
341
+ 000110000110
342
+ 011001010001
343
+ 111000011100
344
+ 000111010110
345
+ 000000110101
346
+ 010011101011
347
+ 110011001110
348
+ 011011110110
349
+ 101100010101
350
+ 000011011001
351
+ 001100101011
352
+ 101000010101
353
+ 101100011010
354
+ 000111111110
355
+ 000011001001
356
+ 111011101110
357
+ 100111111010
358
+ 000101000011
359
+ 111100010011
360
+ 010001101010
361
+ 101001011110
362
+ 110010110000
363
+ 110101101001
364
+ 000011101110
365
+ 101101001010
366
+ 110100001101
367
+ 011100000011
368
+ 100011100101
369
+ 111010100110
370
+ 100010110001
371
+ 001011010000
372
+ 001001010100
373
+ 100101110100
374
+ 100100001111
375
+ 001000001010
376
+ 111001000101
377
+ 110110100000
378
+ 001010100010
379
+ 100100001110
380
+ 100111010010
381
+ 010110111000
382
+ 010100001010
383
+ 000010101100
384
+ 001010111100
385
+ 001111101001
386
+ 101011111101
387
+ 011011001001
388
+ 101000100110
389
+ 001010011101
390
+ 001011110000
391
+ 111110100000
392
+ 101100111010
393
+ 101111010111
394
+ 011000000101
395
+ 101100000010
396
+ 010101111110
397
+ 000011011100
398
+ 111110111010
399
+ 011110101110
400
+ 111011100010
401
+ 111100010001
402
+ 100000100110
403
+ 010111010000
404
+ 100010100101
405
+ 010111101010
406
+ 011011111111
407
+ 110111101000
408
+ 100000010000
409
+ 001011000010
410
+ 001001100011
411
+ 001000100110
412
+ 001001001011
413
+ 011110101101
414
+ 010111111101
415
+ 100100111100
416
+ 000011001101
417
+ 010101100000
418
+ 111100011100
419
+ 010111001010
420
+ 001101010011
421
+ 111011101111
422
+ 000000111101
423
+ 100000110110
424
+ 010000001101
425
+ 011110001011
426
+ 111100111100
427
+ 100101111110
428
+ 001000110010
429
+ 101011010000
430
+ 000101001111
431
+ 100001101101
432
+ 011011110001
433
+ 010010110010
434
+ 111011110111
435
+ 000001110110
436
+ 100110011110
437
+ 101100110011
438
+ 011011011010
439
+ 100100101010
440
+ 011011000110
441
+ 000100100011
442
+ 100101101001
443
+ 100110110000
444
+ 100100011001
445
+ 001010010001
446
+ 000001011101
447
+ 010011011010
448
+ 010101100101
449
+ 111101111011
450
+ 010100111011
451
+ 111000001001
452
+ 101100110101
453
+ 011111101010
454
+ 111110110111
455
+ 111111110000
456
+ 011001001100
457
+ 110001100100
458
+ 001000000011
459
+ 000110001010
460
+ 111000010100
461
+ 010101000000
462
+ 101001100000
463
+ 001010010010
464
+ 010001100000
465
+ 001000101110
466
+ 110111100001
467
+ 001111000010
468
+ 100111111101
469
+ 010111101110
470
+ 000110000011
471
+ 011100111101
472
+ 000011001111
473
+ 011101100110
474
+ 011110111110
475
+ 000010001010
476
+ 111101001100
477
+ 101101110011
478
+ 001000101111
479
+ 001011001000
480
+ 010110100101
481
+ 000110110010
482
+ 101101001000
483
+ 010100100000
484
+ 001111011110
485
+ 111001111111
486
+ 110010011101
487
+ 011010110001
488
+ 101101111010
489
+ 011000110110
490
+ 011101011111
491
+ 000011000111
492
+ 011010101101
493
+ 010000100110
494
+ 111001101110
495
+ 100001110100
496
+ 111100110110
497
+ 000001101011
498
+ 011111000011
499
+ 010001011001
500
+ 101010001000
501
+ 001100111001
502
+ 101111111111
503
+ 100000001101
504
+ 110011000000
505
+ 111000101011
506
+ 110001010110
507
+ 011100010001
508
+ 110110100110
509
+ 000010010100
510
+ 000001000101
511
+ 110111101011
512
+ 101110011011
513
+ 010010111000
514
+ 110000101101
515
+ 110100011101
516
+ 000111110001
517
+ 110001001010
518
+ 011000111110
519
+ 100111010110
520
+ 111100111000
521
+ 000010101001
522
+ 111100100101
523
+ 100110111001
524
+ 001001010000
525
+ 101110000010
526
+ 110011110101
527
+ 100010011101
528
+ 011000100101
529
+ 101011001000
530
+ 100111011000
531
+ 110101011111
532
+ 111100010110
533
+ 111001100110
534
+ 001110001000
535
+ 110110101001
536
+ 111001011010
537
+ 101011100101
538
+ 001101100001
539
+ 000111000110
540
+ 110001110110
541
+ 111100101011
542
+ 100010100100
543
+ 000101110001
544
+ 011101001000
545
+ 001110001100
546
+ 100100001010
547
+ 101010101111
548
+ 100011010011
549
+ 010001111101
550
+ 100101001001
551
+ 111110101111
552
+ 010011000101
553
+ 000110111011
554
+ 101101100011
555
+ 000110110110
556
+ 100000110000
557
+ 000001000001
558
+ 011111010111
559
+ 111110010101
560
+ 111101011011
561
+ 101011110111
562
+ 001000011111
563
+ 010010010000
564
+ 110110110010
565
+ 000110100000
566
+ 010010110101
567
+ 110110001111
568
+ 101111101000
569
+ 110101110101
570
+ 001100111110
571
+ 100101101110
572
+ 101111110101
573
+ 000111101001
574
+ 001011011111
575
+ 111011001011
576
+ 001001101100
577
+ 010101111010
578
+ 111110001100
579
+ 100010111100
580
+ 011000110111
581
+ 111111101100
582
+ 101001100001
583
+ 110000110111
584
+ 100010101000
585
+ 010010100011
586
+ 101110011001
587
+ 011101001001
588
+ 110000000110
589
+ 000110000010
590
+ 000111111101
591
+ 110001001100
592
+ 001001101010
593
+ 101010011010
594
+ 101100111101
595
+ 110010100010
596
+ 000101110101
597
+ 000000010101
598
+ 101010110000
599
+ 101010110001
600
+ 101001001100
601
+ 010001101110
602
+ 010011111001
603
+ 010010111011
604
+ 001110110101
605
+ 101000000110
606
+ 101110000101
607
+ 110110001101
608
+ 101000100000
609
+ 011001100110
610
+ 101111100110
611
+ 111110001010
612
+ 110010101011
613
+ 100111000111
614
+ 111001111101
615
+ 100001011111
616
+ 101101101110
617
+ 010100100010
618
+ 111100111011
619
+ 001011100110
620
+ 000001011010
621
+ 101111100010
622
+ 110000000000
623
+ 111100010101
624
+ 110100001001
625
+ 100010011010
626
+ 111000110010
627
+ 101000110011
628
+ 111101011111
629
+ 100011111011
630
+ 101001100111
631
+ 011011111101
632
+ 111011010111
633
+ 011101010011
634
+ 010010000111
635
+ 110011111101
636
+ 011101011101
637
+ 010101100111
638
+ 010111000000
639
+ 100111000001
640
+ 001110101101
641
+ 000111101110
642
+ 000100110000
643
+ 001110110111
644
+ 010000111010
645
+ 001010001001
646
+ 101001000111
647
+ 111010100010
648
+ 110001000011
649
+ 011111010000
650
+ 000110010000
651
+ 001001011111
652
+ 000100011111
653
+ 110001010011
654
+ 110000010011
655
+ 000011010101
656
+ 100101001110
657
+ 101110010101
658
+ 000011110000
659
+ 011111100111
660
+ 001111101100
661
+ 101111101100
662
+ 101110111101
663
+ 110111111001
664
+ 011110111101
665
+ 111110010111
666
+ 101110100001
667
+ 000110100010
668
+ 011000001000
669
+ 111000110101
670
+ 101000011100
671
+ 100110010100
672
+ 001111111111
673
+ 111001111001
674
+ 111111000110
675
+ 000110100100
676
+ 111000110000
677
+ 110011010110
678
+ 001010011001
679
+ 101000011011
680
+ 100011111111
681
+ 011001100000
682
+ 110100101100
683
+ 001001111000
684
+ 000100001100
685
+ 010101000001
686
+ 101010110111
687
+ 100110100000
688
+ 100110000011
689
+ 111101000011
690
+ 001101001010
691
+ 000000011111
692
+ 000101000110
693
+ 001110111001
694
+ 101110001011
695
+ 001111011010
696
+ 000100110010
697
+ 010011011001
698
+ 011100101001
699
+ 010110011001
700
+ 001011001101
701
+ 011110100010
702
+ 011000011100
703
+ 001001110010
704
+ 100000000010
705
+ 010111010010
706
+ 000010100000
707
+ 011000011110
708
+ 010100110010
709
+ 010101010001
710
+ 011010101100
711
+ 000100100001
712
+ 110101001011
713
+ 111110111101
714
+ 010100100110
715
+ 110010000100
716
+ 000101010001
717
+ 110100000001
718
+ 001010100011
719
+ 011101100101
720
+ 010101011110
721
+ 010101110101
722
+ 010101011100
723
+ 010011001010
724
+ 010011110001
725
+ 111111100000
726
+ 011110111010
727
+ 110010101010
728
+ 001111010001
729
+ 111110111110
730
+ 110001010101
731
+ 001011010001
732
+ 110111000110
733
+ 000011010011
734
+ 000001101001
735
+ 011010100100
736
+ 100000010111
737
+ 000000100001
738
+ 110000110010
739
+ 001101111101
740
+ 101011111111
741
+ 100100100010
742
+ 000001110111
743
+ 001111110101
744
+ 001111000011
745
+ 101000111100
746
+ 100100101111
747
+ 111000000101
748
+ 000011100011
749
+ 110101100010
750
+ 110001010111
751
+ 011000111100
752
+ 010000011111
753
+ 000001011000
754
+ 110011100000
755
+ 111100100111
756
+ 000010001011
757
+ 100111101001
758
+ 011111100000
759
+ 101101111001
760
+ 101100101100
761
+ 001000110100
762
+ 111111010111
763
+ 000110001101
764
+ 011111100001
765
+ 111000001100
766
+ 000111100100
767
+ 001111000000
768
+ 000101110010
769
+ 101100011001
770
+ 000001000100
771
+ 001001001101
772
+ 111001010101
773
+ 000011111011
774
+ 011111110000
775
+ 000000110001
776
+ 100111110011
777
+ 101001001011
778
+ 101000110110
779
+ 111001010100
780
+ 000011110100
781
+ 010001100001
782
+ 001111001110
783
+ 100001101001
784
+ 000001101111
785
+ 101000000001
786
+ 111101010000
787
+ 011111011001
788
+ 111111011110
789
+ 110110010110
790
+ 001011101100
791
+ 100001010111
792
+ 101011011100
793
+ 110010101001
794
+ 001000001100
795
+ 001101010101
796
+ 111111111110
797
+ 001100100011
798
+ 110000110110
799
+ 000000000110
800
+ 101000001010
801
+ 001111001100
802
+ 100011110001
803
+ 111011000001
804
+ 011010100110
805
+ 011110100100
806
+ 001110011111
807
+ 010101101011
808
+ 010110010111
809
+ 101100110110
810
+ 000101100010
811
+ 110010010000
812
+ 010100010000
813
+ 111011000111
814
+ 011010111011
815
+ 100000100111
816
+ 001111011000
817
+ 001010111011
818
+ 000010111111
819
+ 110001000101
820
+ 000111010101
821
+ 010011110111
822
+ 111010110000
823
+ 100111110110
824
+ 101011010001
825
+ 011001111111
826
+ 110110100010
827
+ 110111110110
828
+ 011010110111
829
+ 111000100011
830
+ 100010011000
831
+ 111001000010
832
+ 000100000111
833
+ 011101001010
834
+ 111001000111
835
+ 000110010100
836
+ 011011010110
837
+ 100100110100
838
+ 010011000001
839
+ 101000111011
840
+ 100100000000
841
+ 010010101110
842
+ 011111001101
843
+ 001100001100
844
+ 010111100001
845
+ 100101101010
846
+ 100110001101
847
+ 010111000101
848
+ 010100011011
849
+ 000010000011
850
+ 111000111111
851
+ 100111011100
852
+ 111110011011
853
+ 011110110110
854
+ 001000001111
855
+ 100110110111
856
+ 100000001011
857
+ 001111001011
858
+ 010010111101
859
+ 010001111000
860
+ 110010110101
861
+ 011001100101
862
+ 100110001111
863
+ 110001101010
864
+ 000100101011
865
+ 101110111010
866
+ 011111100011
867
+ 101010111111
868
+ 011101100001
869
+ 100000001010
870
+ 010000001000
871
+ 110110001010
872
+ 110001010010
873
+ 101001111001
874
+ 000100001101
875
+ 111100001111
876
+ 111101000110
877
+ 001010111001
878
+ 000101011010
879
+ 101001010010
880
+ 101011110001
881
+ 011011110101
882
+ 110101110100
883
+ 000001111001
884
+ 111000001111
885
+ 101110110000
886
+ 001101110101
887
+ 011010110010
888
+ 101000001110
889
+ 100011111001
890
+ 000111011101
891
+ 110011010101
892
+ 010111101101
893
+ 000010111011
894
+ 000100101010
895
+ 100101100101
896
+ 100000011001
897
+ 010110110100
898
+ 011010100000
899
+ 010100010001
900
+ 110010100101
901
+ 010100111110
902
+ 011100011101
903
+ 100011110010
904
+ 101000000010
905
+ 011001100001
906
+ 111111100100
907
+ 010011000011
908
+ 001101010010
909
+ 111100100000
910
+ 110101101111
911
+ 101001110001
912
+ 101100111111
913
+ 010111110010
914
+ 100011000100
915
+ 101101001101
916
+ 000000101001
917
+ 110100110000
918
+ 000110010010
919
+ 100111001110
920
+ 110011100110
921
+ 010110100010
922
+ 000111010100
923
+ 001101000001
924
+ 111010000011
925
+ 011001010110
926
+ 101000100010
927
+ 111010001001
928
+ 010101100001
929
+ 011001110010
930
+ 000111000111
931
+ 110001010001
932
+ 000111010001
933
+ 000001111100
934
+ 010001000001
935
+ 100110000010
936
+ 111111000111
937
+ 110111001111
938
+ 010010001001
939
+ 001001101111
940
+ 000110101111
941
+ 110011011111
942
+ 100010100111
943
+ 001010000010
944
+ 000000110110
945
+ 111111111101
946
+ 011111101111
947
+ 100111101111
948
+ 111111110111
949
+ 101111011001
950
+ 111010111011
951
+ 001001111110
952
+ 000010001100
953
+ 111011001111
954
+ 111111100011
955
+ 100010010011
956
+ 101110101011
957
+ 111010111111
958
+ 001111000110
959
+ 110000001100
960
+ 100110100110
961
+ 001110001101
962
+ 001000111100
963
+ 010011000110
964
+ 011011011100
965
+ 110110011001
966
+ 001000111010
967
+ 101100000011
968
+ 110100111101
969
+ 011100001011
970
+ 011101000100
971
+ 011100010011
972
+ 101001000001
973
+ 000001101010
974
+ 110000001010
975
+ 010100010100
976
+ 101001100110
977
+ 000100100101
978
+ 001000111101
979
+ 101101011111
980
+ 011001000010
981
+ 101000100001
982
+ 111110100011
983
+ 111101010010
984
+ 110111010101
985
+ 010111110100
986
+ 010001010001
987
+ 010110011110
988
+ 101001010001
989
+ 100110111100
990
+ 110011100010
991
+ 010110001011
992
+ 110001001101
993
+ 001100100111
994
+ 001001001111
995
+ 011000110100
996
+ 000010010001
997
+ 101010101110
998
+ 111100111111
999
+ 000010100010
1000
+ 011010111101
year_2021/data/3_debug.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 00100
2
+ 11110
3
+ 10110
4
+ 10111
5
+ 10101
6
+ 01111
7
+ 00111
8
+ 11100
9
+ 10000
10
+ 11001
11
+ 00010
12
+ 01010
year_2021/data/4.txt ADDED
@@ -0,0 +1,601 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 1,76,38,96,62,41,27,33,4,2,94,15,89,25,66,14,30,0,71,21,48,44,87,73,60,50,77,45,29,18,5,99,65,16,93,95,37,3,52,32,46,80,98,63,92,24,35,55,12,81,51,17,70,78,61,91,54,8,72,40,74,68,75,67,39,64,10,53,9,31,6,7,47,42,90,20,19,36,22,43,58,28,79,86,57,49,83,84,97,11,85,26,69,23,59,82,88,34,56,13
2
+
3
+ 85 23 65 78 93
4
+ 27 53 10 12 26
5
+ 5 34 83 25 6
6
+ 56 40 73 29 54
7
+ 33 68 41 32 82
8
+
9
+ 8 31 14 70 91
10
+ 53 49 86 13 21
11
+ 66 28 76 78 93
12
+ 39 63 80 43 23
13
+ 56 25 60 67 72
14
+
15
+ 67 78 36 64 14
16
+ 46 16 80 23 94
17
+ 22 47 51 65 57
18
+ 33 76 21 92 97
19
+ 31 95 54 27 20
20
+
21
+ 1 77 86 43 30
22
+ 28 88 7 5 60
23
+ 66 24 3 57 33
24
+ 38 23 59 84 44
25
+ 74 47 17 29 85
26
+
27
+ 21 50 86 2 70
28
+ 85 19 22 93 25
29
+ 99 38 74 30 65
30
+ 81 0 47 78 63
31
+ 34 11 51 88 64
32
+
33
+ 45 15 29 81 30
34
+ 75 21 88 91 49
35
+ 39 20 4 17 78
36
+ 10 12 38 11 7
37
+ 98 6 65 69 86
38
+
39
+ 36 20 31 44 69
40
+ 30 65 55 88 64
41
+ 74 85 82 61 5
42
+ 57 17 90 43 54
43
+ 58 83 52 23 7
44
+
45
+ 42 16 82 86 76
46
+ 60 26 27 59 55
47
+ 7 53 22 78 5
48
+ 18 61 10 15 17
49
+ 28 46 14 87 77
50
+
51
+ 21 43 15 47 61
52
+ 24 76 28 3 27
53
+ 19 62 69 82 93
54
+ 49 29 97 74 41
55
+ 92 36 37 99 40
56
+
57
+ 31 4 3 62 51
58
+ 24 57 78 67 53
59
+ 13 5 76 38 55
60
+ 79 9 75 98 71
61
+ 65 1 39 18 47
62
+
63
+ 59 4 38 95 99
64
+ 85 68 69 93 43
65
+ 83 57 48 42 15
66
+ 47 50 80 79 90
67
+ 56 87 78 64 25
68
+
69
+ 21 37 14 67 95
70
+ 88 39 26 38 49
71
+ 89 83 54 77 96
72
+ 48 86 94 19 20
73
+ 43 41 8 74 58
74
+
75
+ 1 36 12 90 91
76
+ 63 21 98 82 66
77
+ 39 86 7 52 77
78
+ 80 81 44 33 58
79
+ 78 30 11 51 28
80
+
81
+ 81 74 7 33 96
82
+ 75 60 87 47 91
83
+ 39 73 30 50 13
84
+ 4 41 9 43 77
85
+ 34 82 72 48 12
86
+
87
+ 93 63 74 25 57
88
+ 29 76 9 45 70
89
+ 98 77 71 16 41
90
+ 47 54 18 14 55
91
+ 31 89 67 87 83
92
+
93
+ 8 72 45 93 68
94
+ 74 26 69 94 65
95
+ 28 9 20 47 41
96
+ 46 54 21 56 22
97
+ 84 62 18 15 48
98
+
99
+ 20 51 81 40 69
100
+ 71 10 13 93 75
101
+ 44 86 0 95 37
102
+ 99 39 76 80 66
103
+ 14 64 49 62 27
104
+
105
+ 75 7 51 86 79
106
+ 43 30 61 39 16
107
+ 85 63 90 28 96
108
+ 88 78 72 31 73
109
+ 98 87 23 19 58
110
+
111
+ 20 95 47 97 12
112
+ 92 25 68 87 91
113
+ 37 10 78 23 63
114
+ 74 93 58 39 5
115
+ 76 51 48 72 16
116
+
117
+ 37 18 32 34 85
118
+ 22 31 98 42 19
119
+ 29 72 48 76 25
120
+ 47 1 21 7 53
121
+ 79 82 86 52 78
122
+
123
+ 20 16 47 78 92
124
+ 88 15 71 67 2
125
+ 5 52 90 70 9
126
+ 22 49 28 82 27
127
+ 6 19 61 73 48
128
+
129
+ 71 26 7 11 79
130
+ 52 30 47 1 31
131
+ 17 75 94 91 28
132
+ 81 98 23 55 21
133
+ 77 15 39 24 16
134
+
135
+ 5 75 44 88 65
136
+ 89 45 23 69 19
137
+ 41 61 67 52 54
138
+ 47 38 57 12 98
139
+ 62 70 26 87 53
140
+
141
+ 50 4 65 77 25
142
+ 6 21 5 27 92
143
+ 39 63 97 75 79
144
+ 60 34 87 26 74
145
+ 99 24 44 85 2
146
+
147
+ 13 64 38 78 21
148
+ 74 17 83 57 94
149
+ 25 39 69 53 4
150
+ 54 33 81 50 76
151
+ 42 75 19 77 26
152
+
153
+ 63 31 70 19 39
154
+ 38 87 15 90 75
155
+ 61 98 6 29 86
156
+ 78 62 32 11 60
157
+ 55 97 13 73 82
158
+
159
+ 51 63 68 84 36
160
+ 12 33 37 31 8
161
+ 18 41 34 74 23
162
+ 72 39 85 48 60
163
+ 24 19 29 88 0
164
+
165
+ 46 51 17 23 13
166
+ 20 93 97 99 81
167
+ 57 47 33 84 44
168
+ 28 96 2 43 56
169
+ 68 36 62 15 5
170
+
171
+ 81 99 5 30 10
172
+ 38 62 57 8 37
173
+ 7 86 98 3 54
174
+ 46 82 96 15 72
175
+ 83 1 75 25 50
176
+
177
+ 47 57 11 61 27
178
+ 53 10 31 91 98
179
+ 76 85 55 38 23
180
+ 6 81 67 71 70
181
+ 35 29 17 50 56
182
+
183
+ 24 65 15 1 89
184
+ 45 60 97 23 14
185
+ 84 56 58 5 54
186
+ 3 72 51 46 79
187
+ 67 70 78 34 77
188
+
189
+ 38 11 54 23 2
190
+ 33 14 10 96 63
191
+ 43 5 36 20 30
192
+ 70 53 66 71 9
193
+ 91 90 21 7 88
194
+
195
+ 94 44 4 86 26
196
+ 39 70 54 50 30
197
+ 55 40 12 72 71
198
+ 68 7 66 47 91
199
+ 31 24 13 1 96
200
+
201
+ 79 14 40 87 68
202
+ 16 32 53 46 98
203
+ 38 95 21 89 69
204
+ 62 60 19 81 33
205
+ 70 52 28 83 0
206
+
207
+ 62 42 38 48 64
208
+ 61 79 78 97 98
209
+ 89 7 3 29 68
210
+ 92 76 14 67 1
211
+ 41 99 72 47 60
212
+
213
+ 5 75 18 42 33
214
+ 72 61 36 31 29
215
+ 19 58 1 34 94
216
+ 54 84 92 99 38
217
+ 76 68 79 53 37
218
+
219
+ 14 91 37 5 98
220
+ 68 29 34 76 43
221
+ 75 0 67 33 69
222
+ 81 47 58 30 93
223
+ 88 92 42 77 54
224
+
225
+ 64 24 28 54 53
226
+ 72 68 3 73 4
227
+ 83 6 59 66 94
228
+ 87 80 55 20 16
229
+ 13 82 74 31 70
230
+
231
+ 63 92 71 0 83
232
+ 98 40 50 55 2
233
+ 88 5 85 30 23
234
+ 10 75 81 58 68
235
+ 51 31 14 89 1
236
+
237
+ 67 93 94 54 53
238
+ 38 71 34 40 24
239
+ 31 63 30 99 75
240
+ 4 57 86 19 70
241
+ 60 49 87 68 74
242
+
243
+ 56 94 79 53 7
244
+ 24 12 19 6 99
245
+ 82 51 41 46 43
246
+ 17 49 52 78 55
247
+ 75 48 61 70 87
248
+
249
+ 14 55 32 21 31
250
+ 88 83 23 44 4
251
+ 1 77 45 90 85
252
+ 46 81 51 27 62
253
+ 60 24 29 18 0
254
+
255
+ 95 92 91 27 26
256
+ 22 43 45 64 62
257
+ 83 23 25 85 94
258
+ 84 53 72 28 20
259
+ 75 60 52 18 73
260
+
261
+ 95 41 7 21 32
262
+ 58 65 16 56 97
263
+ 68 25 91 83 24
264
+ 66 89 15 55 6
265
+ 2 30 84 10 90
266
+
267
+ 58 86 44 19 74
268
+ 57 89 17 6 83
269
+ 77 35 60 32 13
270
+ 97 63 62 28 76
271
+ 55 31 11 0 52
272
+
273
+ 33 39 59 42 45
274
+ 61 50 92 9 79
275
+ 15 0 28 5 72
276
+ 91 24 21 29 87
277
+ 86 76 43 31 93
278
+
279
+ 63 11 86 45 85
280
+ 96 74 66 93 32
281
+ 95 30 99 23 18
282
+ 69 97 48 15 1
283
+ 42 87 47 83 80
284
+
285
+ 93 5 40 64 2
286
+ 44 51 15 54 83
287
+ 69 77 90 58 11
288
+ 0 48 43 30 55
289
+ 25 72 38 73 52
290
+
291
+ 89 58 71 68 15
292
+ 23 65 9 36 74
293
+ 21 29 42 79 98
294
+ 55 47 33 39 28
295
+ 16 75 91 69 57
296
+
297
+ 13 79 12 71 2
298
+ 60 94 99 43 82
299
+ 84 89 29 91 87
300
+ 74 80 25 32 21
301
+ 70 14 68 92 11
302
+
303
+ 78 1 16 51 87
304
+ 58 94 59 15 43
305
+ 79 41 50 47 39
306
+ 53 37 9 28 72
307
+ 34 63 89 35 18
308
+
309
+ 31 67 70 42 43
310
+ 60 2 89 49 22
311
+ 56 17 81 24 74
312
+ 20 65 1 96 51
313
+ 68 7 0 38 25
314
+
315
+ 59 14 29 53 19
316
+ 9 2 11 33 44
317
+ 81 6 10 47 58
318
+ 20 34 62 55 40
319
+ 71 38 69 45 78
320
+
321
+ 59 36 70 42 21
322
+ 3 16 49 79 98
323
+ 74 25 8 84 19
324
+ 61 80 47 65 64
325
+ 91 62 52 9 40
326
+
327
+ 1 85 63 7 2
328
+ 0 20 61 26 77
329
+ 99 37 74 42 76
330
+ 25 94 19 78 60
331
+ 79 72 95 22 11
332
+
333
+ 51 21 79 76 32
334
+ 55 23 69 19 61
335
+ 71 54 94 47 92
336
+ 5 64 6 68 16
337
+ 91 81 9 99 30
338
+
339
+ 61 69 82 86 68
340
+ 66 81 28 38 36
341
+ 26 29 31 11 8
342
+ 72 51 12 95 63
343
+ 18 30 88 17 32
344
+
345
+ 34 8 14 42 67
346
+ 66 79 65 20 52
347
+ 37 87 74 24 3
348
+ 59 54 21 32 89
349
+ 31 4 62 76 30
350
+
351
+ 11 93 8 92 55
352
+ 38 72 99 3 83
353
+ 12 75 0 41 46
354
+ 17 25 5 39 48
355
+ 14 18 86 29 84
356
+
357
+ 6 20 41 51 48
358
+ 5 67 30 24 47
359
+ 3 8 92 22 39
360
+ 4 56 36 31 75
361
+ 2 45 85 81 96
362
+
363
+ 47 43 72 22 3
364
+ 19 87 53 12 60
365
+ 29 40 56 68 18
366
+ 66 97 70 33 39
367
+ 85 37 0 90 98
368
+
369
+ 61 35 81 84 94
370
+ 11 1 58 45 77
371
+ 6 99 67 36 43
372
+ 5 7 0 87 80
373
+ 44 78 39 70 20
374
+
375
+ 58 34 49 29 75
376
+ 17 15 28 23 84
377
+ 59 25 92 48 0
378
+ 20 81 47 3 71
379
+ 68 60 5 22 87
380
+
381
+ 90 32 41 39 6
382
+ 36 78 67 24 50
383
+ 55 72 52 75 44
384
+ 87 15 92 31 58
385
+ 83 89 68 19 43
386
+
387
+ 99 44 53 68 25
388
+ 71 67 16 19 36
389
+ 35 58 14 86 48
390
+ 88 18 61 24 23
391
+ 87 9 91 37 15
392
+
393
+ 37 5 63 68 28
394
+ 41 50 76 99 64
395
+ 34 92 78 94 71
396
+ 11 96 97 42 58
397
+ 33 45 0 93 48
398
+
399
+ 33 68 9 12 81
400
+ 60 98 28 8 99
401
+ 14 17 6 82 15
402
+ 57 69 43 38 29
403
+ 47 84 76 22 18
404
+
405
+ 79 70 92 38 47
406
+ 12 82 98 46 0
407
+ 76 15 53 59 97
408
+ 18 52 49 29 96
409
+ 44 64 68 89 24
410
+
411
+ 95 14 17 27 42
412
+ 55 43 57 29 25
413
+ 34 73 86 50 16
414
+ 69 37 75 63 39
415
+ 78 79 3 4 30
416
+
417
+ 27 31 15 92 46
418
+ 36 23 72 40 50
419
+ 51 99 55 89 21
420
+ 12 70 84 63 85
421
+ 78 88 77 75 0
422
+
423
+ 15 67 40 39 28
424
+ 9 79 22 52 75
425
+ 96 65 86 98 14
426
+ 97 87 44 84 68
427
+ 36 26 89 43 27
428
+
429
+ 79 59 48 27 36
430
+ 85 92 93 76 24
431
+ 2 25 7 42 90
432
+ 23 29 74 35 86
433
+ 58 60 31 75 57
434
+
435
+ 10 43 83 75 8
436
+ 88 12 38 30 9
437
+ 60 67 59 76 6
438
+ 55 45 74 34 25
439
+ 97 49 65 96 69
440
+
441
+ 59 86 15 3 19
442
+ 89 4 74 61 23
443
+ 52 98 8 79 39
444
+ 95 17 22 14 51
445
+ 50 18 94 30 84
446
+
447
+ 19 63 58 72 67
448
+ 35 93 29 91 0
449
+ 39 26 43 84 21
450
+ 70 42 2 53 12
451
+ 59 99 8 1 86
452
+
453
+ 23 86 34 22 65
454
+ 71 10 16 50 91
455
+ 66 89 49 81 43
456
+ 40 7 26 75 61
457
+ 62 59 2 46 95
458
+
459
+ 24 21 0 49 25
460
+ 92 42 48 12 7
461
+ 81 93 59 68 3
462
+ 14 23 63 39 29
463
+ 35 43 6 44 89
464
+
465
+ 67 74 95 34 10
466
+ 39 90 59 44 51
467
+ 17 16 97 24 62
468
+ 20 54 76 63 88
469
+ 87 66 14 78 82
470
+
471
+ 96 86 67 59 79
472
+ 66 3 30 77 71
473
+ 2 91 99 82 31
474
+ 48 65 75 98 53
475
+ 63 54 64 76 1
476
+
477
+ 85 96 40 98 24
478
+ 16 20 10 23 17
479
+ 79 59 53 42 65
480
+ 67 2 5 80 75
481
+ 62 38 19 74 73
482
+
483
+ 43 10 79 92 8
484
+ 52 36 4 5 67
485
+ 56 29 33 24 97
486
+ 85 17 53 75 65
487
+ 62 64 1 21 83
488
+
489
+ 93 92 79 17 12
490
+ 40 88 6 82 34
491
+ 90 96 53 25 43
492
+ 14 62 54 10 39
493
+ 49 68 41 16 44
494
+
495
+ 67 99 24 58 76
496
+ 43 53 59 54 51
497
+ 47 6 61 8 2
498
+ 80 68 90 14 4
499
+ 29 46 94 89 50
500
+
501
+ 14 45 19 33 43
502
+ 6 55 4 31 80
503
+ 51 2 69 68 61
504
+ 71 70 79 91 93
505
+ 66 18 54 13 87
506
+
507
+ 8 45 61 54 30
508
+ 85 16 19 82 37
509
+ 56 39 11 47 4
510
+ 74 70 10 60 91
511
+ 21 63 95 53 72
512
+
513
+ 71 21 63 86 27
514
+ 53 52 40 23 81
515
+ 2 47 92 68 15
516
+ 46 45 31 8 1
517
+ 34 80 37 11 69
518
+
519
+ 96 0 15 90 66
520
+ 65 43 92 83 18
521
+ 3 47 19 8 32
522
+ 71 26 42 34 28
523
+ 62 99 55 5 12
524
+
525
+ 37 99 30 21 3
526
+ 63 18 68 47 27
527
+ 57 0 65 85 20
528
+ 7 58 40 92 43
529
+ 15 19 5 4 53
530
+
531
+ 46 16 45 95 68
532
+ 6 44 31 47 73
533
+ 84 82 71 75 94
534
+ 26 25 17 32 49
535
+ 18 96 13 58 9
536
+
537
+ 71 36 13 68 10
538
+ 84 7 60 79 41
539
+ 1 83 43 81 97
540
+ 90 53 80 19 38
541
+ 48 25 32 42 29
542
+
543
+ 37 68 86 44 78
544
+ 87 67 77 70 60
545
+ 45 34 27 15 47
546
+ 12 21 13 55 26
547
+ 81 41 63 40 74
548
+
549
+ 24 50 93 94 57
550
+ 99 4 56 5 28
551
+ 42 31 22 6 76
552
+ 90 89 16 49 59
553
+ 9 7 43 71 54
554
+
555
+ 69 75 94 38 46
556
+ 52 64 50 72 42
557
+ 76 63 13 60 10
558
+ 99 80 43 33 17
559
+ 25 31 4 89 22
560
+
561
+ 88 57 22 66 34
562
+ 85 16 87 95 59
563
+ 73 2 46 5 29
564
+ 25 69 53 6 14
565
+ 96 77 19 91 43
566
+
567
+ 46 99 52 47 76
568
+ 89 53 24 13 59
569
+ 45 5 1 30 19
570
+ 68 25 22 10 73
571
+ 42 27 31 0 94
572
+
573
+ 42 44 98 89 87
574
+ 65 10 80 56 41
575
+ 3 35 95 48 43
576
+ 85 97 83 12 94
577
+ 50 38 93 47 17
578
+
579
+ 16 73 18 81 89
580
+ 6 48 54 93 19
581
+ 35 52 88 49 31
582
+ 43 79 83 14 28
583
+ 50 62 98 26 22
584
+
585
+ 38 47 7 20 35
586
+ 45 76 63 96 24
587
+ 98 53 2 87 80
588
+ 83 86 92 48 1
589
+ 73 60 26 94 6
590
+
591
+ 80 50 29 53 92
592
+ 66 90 79 98 46
593
+ 40 21 58 38 60
594
+ 35 13 72 28 6
595
+ 48 76 51 96 12
596
+
597
+ 79 80 24 37 51
598
+ 86 70 1 22 71
599
+ 52 69 10 83 13
600
+ 12 40 3 0 30
601
+ 46 50 48 76 5
year_2021/data/4_debug.txt ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1
2
+
3
+ 22 13 17 11 0
4
+ 8 2 23 4 24
5
+ 21 9 14 16 7
6
+ 6 10 3 18 5
7
+ 1 12 20 15 19
8
+
9
+ 3 15 0 2 22
10
+ 9 18 13 17 5
11
+ 19 8 7 25 23
12
+ 20 11 10 24 4
13
+ 14 21 16 12 6
14
+
15
+ 14 21 17 24 4
16
+ 10 16 15 9 19
17
+ 18 8 23 26 20
18
+ 22 11 13 6 5
19
+ 2 0 12 3 7
year_2021/data/5.txt ADDED
@@ -0,0 +1,500 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 720,475 -> 720,669
2
+ 268,784 -> 595,784
3
+ 163,778 -> 149,778
4
+ 856,917 -> 856,114
5
+ 929,964 -> 433,964
6
+ 344,924 -> 332,912
7
+ 73,923 -> 73,568
8
+ 714,501 -> 714,903
9
+ 95,968 -> 95,696
10
+ 575,615 -> 575,218
11
+ 233,182 -> 233,295
12
+ 90,752 -> 90,278
13
+ 683,21 -> 419,21
14
+ 714,172 -> 60,172
15
+ 836,248 -> 836,39
16
+ 770,53 -> 284,539
17
+ 528,682 -> 528,583
18
+ 407,360 -> 708,59
19
+ 451,671 -> 293,671
20
+ 418,446 -> 418,113
21
+ 948,283 -> 504,727
22
+ 975,494 -> 669,494
23
+ 911,896 -> 911,963
24
+ 843,855 -> 14,26
25
+ 558,340 -> 984,766
26
+ 260,909 -> 333,909
27
+ 127,864 -> 903,864
28
+ 896,174 -> 896,773
29
+ 989,981 -> 27,19
30
+ 525,907 -> 525,36
31
+ 226,276 -> 938,988
32
+ 285,694 -> 422,831
33
+ 985,857 -> 674,546
34
+ 559,436 -> 133,862
35
+ 12,70 -> 12,961
36
+ 412,185 -> 412,922
37
+ 94,174 -> 874,954
38
+ 435,840 -> 688,587
39
+ 43,405 -> 43,724
40
+ 494,826 -> 494,350
41
+ 591,985 -> 591,936
42
+ 440,251 -> 401,251
43
+ 341,816 -> 920,237
44
+ 80,901 -> 80,361
45
+ 962,544 -> 962,252
46
+ 26,732 -> 105,653
47
+ 821,54 -> 15,860
48
+ 519,731 -> 952,731
49
+ 723,869 -> 826,869
50
+ 752,176 -> 110,818
51
+ 849,163 -> 71,163
52
+ 136,748 -> 136,796
53
+ 301,390 -> 234,390
54
+ 87,896 -> 968,15
55
+ 603,388 -> 515,476
56
+ 866,345 -> 866,742
57
+ 477,263 -> 477,635
58
+ 391,675 -> 391,613
59
+ 460,925 -> 162,627
60
+ 12,841 -> 12,246
61
+ 712,964 -> 712,887
62
+ 18,984 -> 972,30
63
+ 931,85 -> 217,799
64
+ 591,848 -> 978,848
65
+ 87,210 -> 840,963
66
+ 816,645 -> 816,619
67
+ 183,710 -> 348,710
68
+ 39,861 -> 877,23
69
+ 233,529 -> 233,717
70
+ 20,43 -> 935,958
71
+ 979,988 -> 12,21
72
+ 941,241 -> 855,241
73
+ 416,507 -> 422,501
74
+ 410,978 -> 971,978
75
+ 883,574 -> 883,440
76
+ 458,865 -> 912,865
77
+ 113,814 -> 952,814
78
+ 942,654 -> 545,654
79
+ 512,78 -> 582,78
80
+ 102,927 -> 910,119
81
+ 157,874 -> 76,793
82
+ 309,987 -> 760,536
83
+ 74,956 -> 981,49
84
+ 733,913 -> 496,676
85
+ 32,776 -> 32,556
86
+ 676,890 -> 676,709
87
+ 18,568 -> 18,725
88
+ 708,531 -> 167,531
89
+ 240,33 -> 240,356
90
+ 804,380 -> 804,735
91
+ 925,85 -> 925,74
92
+ 692,287 -> 692,526
93
+ 570,451 -> 570,379
94
+ 521,13 -> 521,226
95
+ 249,598 -> 677,170
96
+ 739,804 -> 353,418
97
+ 785,138 -> 375,548
98
+ 913,161 -> 286,788
99
+ 179,914 -> 158,935
100
+ 208,250 -> 208,29
101
+ 953,506 -> 953,84
102
+ 904,328 -> 347,885
103
+ 743,311 -> 980,311
104
+ 897,988 -> 981,988
105
+ 269,660 -> 534,660
106
+ 180,443 -> 125,443
107
+ 101,713 -> 513,713
108
+ 491,523 -> 265,749
109
+ 33,165 -> 140,272
110
+ 813,544 -> 305,36
111
+ 735,556 -> 605,556
112
+ 227,252 -> 942,967
113
+ 67,69 -> 942,944
114
+ 623,118 -> 920,118
115
+ 681,764 -> 745,764
116
+ 182,499 -> 884,499
117
+ 51,921 -> 787,185
118
+ 632,232 -> 577,232
119
+ 887,112 -> 12,987
120
+ 943,881 -> 255,881
121
+ 655,293 -> 163,785
122
+ 453,96 -> 517,160
123
+ 581,870 -> 581,481
124
+ 473,936 -> 638,771
125
+ 264,719 -> 137,592
126
+ 659,336 -> 659,75
127
+ 781,29 -> 365,445
128
+ 93,677 -> 240,530
129
+ 798,566 -> 594,566
130
+ 108,244 -> 108,634
131
+ 69,879 -> 592,879
132
+ 763,700 -> 763,351
133
+ 227,108 -> 916,797
134
+ 149,328 -> 149,641
135
+ 809,586 -> 776,619
136
+ 177,308 -> 319,166
137
+ 970,880 -> 156,66
138
+ 427,765 -> 427,433
139
+ 483,771 -> 39,771
140
+ 813,895 -> 416,895
141
+ 808,151 -> 808,823
142
+ 412,797 -> 412,673
143
+ 368,965 -> 368,191
144
+ 269,776 -> 409,636
145
+ 509,895 -> 509,281
146
+ 873,863 -> 873,746
147
+ 622,788 -> 623,788
148
+ 274,212 -> 301,212
149
+ 335,804 -> 172,641
150
+ 661,864 -> 620,864
151
+ 506,951 -> 178,951
152
+ 611,609 -> 611,508
153
+ 255,79 -> 255,479
154
+ 443,788 -> 441,790
155
+ 548,738 -> 616,738
156
+ 535,407 -> 535,845
157
+ 365,469 -> 622,469
158
+ 541,670 -> 534,670
159
+ 49,52 -> 922,925
160
+ 433,412 -> 917,412
161
+ 475,494 -> 78,891
162
+ 377,47 -> 377,384
163
+ 401,22 -> 479,22
164
+ 642,889 -> 642,988
165
+ 788,334 -> 788,375
166
+ 533,327 -> 217,327
167
+ 529,934 -> 529,368
168
+ 917,491 -> 280,491
169
+ 922,510 -> 922,483
170
+ 695,104 -> 695,783
171
+ 884,197 -> 192,889
172
+ 175,956 -> 956,175
173
+ 384,711 -> 384,181
174
+ 28,931 -> 28,732
175
+ 768,522 -> 762,522
176
+ 816,964 -> 541,689
177
+ 192,423 -> 668,899
178
+ 742,133 -> 139,133
179
+ 829,708 -> 915,708
180
+ 927,989 -> 72,134
181
+ 819,851 -> 819,470
182
+ 326,699 -> 112,699
183
+ 166,82 -> 370,286
184
+ 801,621 -> 219,39
185
+ 392,332 -> 392,375
186
+ 170,526 -> 549,526
187
+ 296,907 -> 296,378
188
+ 912,456 -> 912,814
189
+ 869,346 -> 648,346
190
+ 545,224 -> 622,224
191
+ 626,657 -> 221,657
192
+ 829,313 -> 829,626
193
+ 565,758 -> 565,298
194
+ 113,810 -> 89,834
195
+ 729,418 -> 679,418
196
+ 626,794 -> 805,794
197
+ 811,568 -> 811,564
198
+ 902,600 -> 735,600
199
+ 776,519 -> 448,519
200
+ 874,890 -> 321,337
201
+ 479,96 -> 479,153
202
+ 331,396 -> 158,396
203
+ 420,413 -> 73,413
204
+ 845,949 -> 49,153
205
+ 55,624 -> 55,413
206
+ 349,761 -> 116,761
207
+ 429,252 -> 429,384
208
+ 310,340 -> 208,340
209
+ 208,692 -> 726,174
210
+ 648,66 -> 648,685
211
+ 567,580 -> 858,871
212
+ 747,57 -> 430,57
213
+ 97,951 -> 850,198
214
+ 420,670 -> 420,518
215
+ 583,308 -> 367,308
216
+ 240,983 -> 219,983
217
+ 404,901 -> 135,901
218
+ 118,126 -> 118,166
219
+ 981,316 -> 727,62
220
+ 512,262 -> 512,761
221
+ 445,758 -> 747,758
222
+ 320,505 -> 252,437
223
+ 739,379 -> 556,562
224
+ 509,791 -> 587,713
225
+ 747,271 -> 196,822
226
+ 70,132 -> 906,968
227
+ 90,580 -> 90,881
228
+ 273,529 -> 273,886
229
+ 786,443 -> 830,443
230
+ 116,903 -> 116,130
231
+ 822,597 -> 822,430
232
+ 585,875 -> 736,875
233
+ 470,649 -> 740,649
234
+ 814,533 -> 814,20
235
+ 235,468 -> 921,468
236
+ 413,262 -> 413,37
237
+ 963,761 -> 963,389
238
+ 919,445 -> 919,112
239
+ 788,800 -> 513,525
240
+ 770,783 -> 262,275
241
+ 601,330 -> 504,330
242
+ 882,668 -> 760,790
243
+ 450,431 -> 675,431
244
+ 599,400 -> 344,400
245
+ 887,19 -> 17,889
246
+ 420,86 -> 420,202
247
+ 95,871 -> 726,240
248
+ 337,558 -> 571,558
249
+ 493,555 -> 934,114
250
+ 804,112 -> 88,828
251
+ 785,673 -> 785,304
252
+ 27,285 -> 27,865
253
+ 200,379 -> 238,341
254
+ 303,383 -> 140,546
255
+ 245,757 -> 33,757
256
+ 960,526 -> 516,526
257
+ 303,933 -> 986,250
258
+ 571,848 -> 571,781
259
+ 812,804 -> 28,804
260
+ 752,877 -> 752,278
261
+ 855,847 -> 63,55
262
+ 720,740 -> 645,740
263
+ 872,789 -> 206,123
264
+ 189,618 -> 189,567
265
+ 952,141 -> 952,235
266
+ 81,523 -> 81,577
267
+ 859,139 -> 449,139
268
+ 977,978 -> 551,978
269
+ 30,15 -> 855,840
270
+ 344,65 -> 842,65
271
+ 435,414 -> 318,414
272
+ 324,813 -> 902,235
273
+ 18,20 -> 977,979
274
+ 606,373 -> 827,152
275
+ 678,881 -> 277,480
276
+ 81,196 -> 81,176
277
+ 652,528 -> 546,528
278
+ 673,310 -> 673,503
279
+ 413,494 -> 413,859
280
+ 393,310 -> 139,310
281
+ 485,157 -> 368,157
282
+ 152,611 -> 362,401
283
+ 929,346 -> 929,220
284
+ 577,102 -> 577,589
285
+ 20,843 -> 882,843
286
+ 261,69 -> 988,796
287
+ 417,37 -> 90,37
288
+ 368,469 -> 149,250
289
+ 651,785 -> 179,313
290
+ 953,759 -> 953,31
291
+ 534,215 -> 534,199
292
+ 375,908 -> 375,11
293
+ 408,571 -> 408,224
294
+ 146,88 -> 146,16
295
+ 923,843 -> 923,11
296
+ 885,605 -> 908,605
297
+ 383,288 -> 698,288
298
+ 955,409 -> 379,409
299
+ 10,579 -> 10,143
300
+ 487,277 -> 918,708
301
+ 240,800 -> 508,532
302
+ 655,121 -> 655,956
303
+ 277,208 -> 277,395
304
+ 242,430 -> 654,430
305
+ 518,982 -> 143,982
306
+ 626,758 -> 626,125
307
+ 90,67 -> 963,940
308
+ 57,11 -> 979,933
309
+ 777,29 -> 777,669
310
+ 747,672 -> 516,672
311
+ 915,878 -> 915,964
312
+ 678,941 -> 678,738
313
+ 967,645 -> 967,814
314
+ 356,293 -> 356,143
315
+ 282,710 -> 585,710
316
+ 210,126 -> 210,836
317
+ 77,122 -> 270,122
318
+ 976,956 -> 655,956
319
+ 129,394 -> 697,962
320
+ 621,94 -> 621,265
321
+ 431,619 -> 431,349
322
+ 551,990 -> 551,666
323
+ 379,681 -> 109,411
324
+ 713,94 -> 832,94
325
+ 800,776 -> 437,413
326
+ 261,517 -> 261,551
327
+ 245,963 -> 245,807
328
+ 890,888 -> 890,269
329
+ 591,455 -> 591,494
330
+ 243,756 -> 166,756
331
+ 372,303 -> 805,303
332
+ 22,459 -> 22,138
333
+ 44,248 -> 44,689
334
+ 219,629 -> 219,646
335
+ 444,633 -> 777,300
336
+ 679,102 -> 679,945
337
+ 950,123 -> 250,823
338
+ 485,264 -> 485,963
339
+ 313,355 -> 445,355
340
+ 791,823 -> 895,823
341
+ 914,193 -> 495,612
342
+ 174,932 -> 351,932
343
+ 509,989 -> 813,685
344
+ 830,559 -> 830,65
345
+ 762,779 -> 84,101
346
+ 66,432 -> 129,432
347
+ 224,705 -> 777,152
348
+ 377,280 -> 93,280
349
+ 799,313 -> 713,313
350
+ 972,496 -> 972,250
351
+ 321,978 -> 488,978
352
+ 74,227 -> 682,835
353
+ 434,827 -> 122,827
354
+ 206,329 -> 536,659
355
+ 591,355 -> 591,967
356
+ 838,436 -> 892,382
357
+ 62,889 -> 878,73
358
+ 146,948 -> 530,564
359
+ 308,510 -> 308,783
360
+ 158,355 -> 158,469
361
+ 375,239 -> 375,961
362
+ 754,281 -> 774,281
363
+ 818,554 -> 818,922
364
+ 204,38 -> 344,38
365
+ 689,283 -> 587,283
366
+ 642,820 -> 862,600
367
+ 865,821 -> 865,335
368
+ 51,870 -> 51,117
369
+ 628,769 -> 129,270
370
+ 860,300 -> 860,666
371
+ 626,47 -> 626,915
372
+ 222,733 -> 449,733
373
+ 284,842 -> 284,717
374
+ 965,834 -> 697,834
375
+ 159,826 -> 159,732
376
+ 710,679 -> 907,482
377
+ 356,355 -> 36,355
378
+ 736,289 -> 577,130
379
+ 589,319 -> 96,319
380
+ 967,20 -> 31,956
381
+ 138,871 -> 138,446
382
+ 272,174 -> 272,753
383
+ 958,228 -> 958,842
384
+ 159,115 -> 576,532
385
+ 244,986 -> 244,662
386
+ 191,160 -> 191,376
387
+ 979,987 -> 11,19
388
+ 588,700 -> 588,819
389
+ 76,933 -> 404,605
390
+ 142,656 -> 142,906
391
+ 390,429 -> 859,898
392
+ 802,499 -> 380,499
393
+ 18,988 -> 969,37
394
+ 61,154 -> 61,569
395
+ 803,47 -> 803,963
396
+ 148,597 -> 148,454
397
+ 368,221 -> 174,27
398
+ 416,351 -> 510,351
399
+ 27,979 -> 950,979
400
+ 861,937 -> 103,937
401
+ 49,889 -> 876,62
402
+ 429,737 -> 555,737
403
+ 940,704 -> 940,663
404
+ 644,379 -> 661,379
405
+ 956,589 -> 956,423
406
+ 836,119 -> 237,119
407
+ 841,211 -> 154,898
408
+ 743,438 -> 743,370
409
+ 691,155 -> 990,155
410
+ 531,768 -> 56,293
411
+ 853,103 -> 110,846
412
+ 411,673 -> 411,126
413
+ 824,876 -> 406,876
414
+ 516,639 -> 98,639
415
+ 583,353 -> 901,353
416
+ 64,898 -> 858,898
417
+ 874,233 -> 874,551
418
+ 294,830 -> 294,244
419
+ 921,27 -> 86,862
420
+ 695,747 -> 56,108
421
+ 442,552 -> 442,624
422
+ 731,431 -> 905,431
423
+ 320,56 -> 139,56
424
+ 450,96 -> 510,156
425
+ 628,803 -> 65,803
426
+ 102,855 -> 782,175
427
+ 399,877 -> 940,877
428
+ 766,664 -> 757,664
429
+ 705,455 -> 407,753
430
+ 924,458 -> 408,458
431
+ 302,272 -> 536,38
432
+ 269,274 -> 269,196
433
+ 368,124 -> 935,124
434
+ 151,686 -> 151,629
435
+ 171,857 -> 171,62
436
+ 81,895 -> 953,23
437
+ 150,95 -> 150,955
438
+ 325,16 -> 102,16
439
+ 148,775 -> 144,775
440
+ 742,449 -> 742,715
441
+ 706,284 -> 706,865
442
+ 857,309 -> 754,206
443
+ 866,818 -> 140,92
444
+ 13,768 -> 956,768
445
+ 775,514 -> 132,514
446
+ 868,407 -> 868,516
447
+ 13,11 -> 989,987
448
+ 428,296 -> 19,705
449
+ 544,665 -> 376,497
450
+ 371,619 -> 371,512
451
+ 657,551 -> 907,551
452
+ 571,324 -> 765,324
453
+ 555,539 -> 295,799
454
+ 854,956 -> 854,85
455
+ 152,255 -> 719,822
456
+ 162,519 -> 868,519
457
+ 276,235 -> 276,693
458
+ 58,870 -> 739,189
459
+ 731,229 -> 613,347
460
+ 469,378 -> 469,44
461
+ 30,909 -> 929,10
462
+ 474,423 -> 256,205
463
+ 810,263 -> 810,545
464
+ 230,244 -> 741,244
465
+ 892,709 -> 394,709
466
+ 141,87 -> 912,858
467
+ 280,820 -> 907,193
468
+ 935,897 -> 101,63
469
+ 283,15 -> 283,170
470
+ 122,749 -> 761,110
471
+ 265,475 -> 265,390
472
+ 286,464 -> 891,464
473
+ 793,819 -> 793,659
474
+ 372,96 -> 372,591
475
+ 436,732 -> 436,527
476
+ 48,301 -> 429,301
477
+ 696,298 -> 696,294
478
+ 757,553 -> 438,872
479
+ 635,856 -> 239,856
480
+ 312,987 -> 989,987
481
+ 388,599 -> 546,599
482
+ 235,391 -> 581,391
483
+ 696,340 -> 696,215
484
+ 852,485 -> 105,485
485
+ 931,586 -> 803,714
486
+ 956,164 -> 198,922
487
+ 305,274 -> 305,979
488
+ 363,774 -> 363,81
489
+ 431,957 -> 431,460
490
+ 118,439 -> 512,833
491
+ 193,318 -> 494,619
492
+ 796,819 -> 332,819
493
+ 911,764 -> 865,810
494
+ 282,482 -> 128,482
495
+ 551,244 -> 694,244
496
+ 947,142 -> 45,142
497
+ 653,57 -> 131,57
498
+ 822,720 -> 721,720
499
+ 861,871 -> 125,135
500
+ 950,698 -> 597,698
year_2021/data/5_debug.txt ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ 0,9 -> 5,9
2
+ 8,0 -> 0,8
3
+ 9,4 -> 3,4
4
+ 2,2 -> 2,1
5
+ 7,0 -> 7,4
6
+ 6,4 -> 2,0
7
+ 0,9 -> 2,9
8
+ 3,4 -> 1,4
9
+ 0,0 -> 8,8
10
+ 5,5 -> 8,2
year_2021/data/5_debug_2.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ 0,3 -> 2,3
2
+ 3,0 -> 0,3
3
+ 0,0 -> 3,3