first
This commit is contained in:
20
day3_short.txt
Normal file
20
day3_short.txt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
.........426.............985.........40..........207............................841..463................................633........17.384...
|
||||||
|
531&......+..........125....-..312..........#........895......998..945.....@......$.....-...33...................353.....*........*.........
|
||||||
|
........................#......*...........21..727..*..../..-./.............545......80...................602......@..272.......743.........
|
||||||
|
...........558.577..........486...186*925.....*....483.883.1....286...................................625..................#474.....491.....
|
||||||
|
..............*.........243.................287................*............$....245............830.........793......#..........306..*......
|
||||||
|
238.685.................*................#.........%........807.........28.947.................*.....705.....*....573...500*781...#..496....
|
||||||
|
..................989..923.......713...539......917.................115..*.....-...........662.........-......413...........................
|
||||||
|
...........=......*..........886.*.........................442......*...........398........*.............%.............636...........%......
|
||||||
|
............976.413...498..../...266........796....................87.....................969.881..&.....815...........*.....279....415.....
|
||||||
|
......728*..............*..............129..........670...890.....................760...=.......@.832........227.....632.212*...............
|
||||||
|
..........257.....712.491....-41...........970........*....*...373........742.......*....330....................*.....................814...
|
||||||
|
....................*..................415......406..441..35..../.........-..........828.........................239.....@...533*206........
|
||||||
|
......687.........834......448...658...*..........&..................467*..................244.......+332....*..........35..............*...
|
||||||
|
.............453.......616..*...........609.............662......672.....56........661.602*...............549.661...................141..73.
|
||||||
|
.......699...*.........*...904..........................&..........*...@..............................189..........$677.......473.....*.....
|
||||||
|
........*..670.........938.........267.......684...........514...211....875.........667..171.110&.426*......../...............*........29...
|
||||||
|
.....164..........................*....@786.*..........646.=.........43.......885....+...=.............641.....996...........117....28......
|
||||||
|
.........*921....150*....635..973............587...346*......771........&3....+....................=................................@.......
|
||||||
|
......962............821....*...*...........................$....174............391+......732*177...101.....146.............555.............
|
||||||
|
..........................117.965.........327.....................*../127.54.........354.....................*...37/.......&....56....656...
|
||||||
37
day_1.py
Normal file
37
day_1.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
import pathlib
|
||||||
|
|
||||||
|
|
||||||
|
def solution_line(line: str) -> int:
|
||||||
|
first_num = None
|
||||||
|
for char in line:
|
||||||
|
if char.isnumeric():
|
||||||
|
first_num = char
|
||||||
|
break
|
||||||
|
if first_num is None:
|
||||||
|
return 0
|
||||||
|
for char in reversed(line):
|
||||||
|
if char.isnumeric():
|
||||||
|
return int(first_num + char)
|
||||||
|
raise Exception
|
||||||
|
|
||||||
|
|
||||||
|
def solution(input_text: str) -> int:
|
||||||
|
total = 0
|
||||||
|
for line in input_text.split("\n"):
|
||||||
|
solution_for_line = solution_line(line)
|
||||||
|
total += solution_for_line
|
||||||
|
return total
|
||||||
|
|
||||||
|
|
||||||
|
sample_input = """1abc2
|
||||||
|
pqr3stu8vwx
|
||||||
|
a1b2c3d4e5f
|
||||||
|
treb7uchet"""
|
||||||
|
first, second, third, fourth = sample_input.split("\n")
|
||||||
|
first_solution = solution_line(first)
|
||||||
|
assert first_solution == 12, first_solution
|
||||||
|
second_solution = solution_line(second)
|
||||||
|
assert second_solution == 38, second_solution
|
||||||
|
answer = solution(sample_input)
|
||||||
|
assert answer == 142, answer
|
||||||
|
print(solution(pathlib.Path("day_1.txt").read_text()))
|
||||||
141
day_10.py
Normal file
141
day_10.py
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
import pathlib
|
||||||
|
|
||||||
|
|
||||||
|
sample_input = """..F7.
|
||||||
|
.FJ|.
|
||||||
|
SJ.L7
|
||||||
|
|F--J
|
||||||
|
LJ..."""
|
||||||
|
|
||||||
|
|
||||||
|
def get_start_cell(rows: list[str]) -> tuple[int, int]:
|
||||||
|
for i, row in enumerate(rows):
|
||||||
|
for j, char in enumerate(row):
|
||||||
|
if char == "S":
|
||||||
|
return i, j
|
||||||
|
raise Exception
|
||||||
|
|
||||||
|
|
||||||
|
NE_SW = 1, 1
|
||||||
|
SE_NW = -1, 1
|
||||||
|
SW_NE = -1, -1
|
||||||
|
NW_SE = 1, -1
|
||||||
|
|
||||||
|
|
||||||
|
DIRECTIONS = {
|
||||||
|
"F": NE_SW,
|
||||||
|
"L": SE_NW,
|
||||||
|
"J": SW_NE,
|
||||||
|
"7": NW_SE,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
VALID_PAIRS = (
|
||||||
|
("|", "|"),
|
||||||
|
("F", "|"),
|
||||||
|
("7", "|"),
|
||||||
|
("|", "L"),
|
||||||
|
("|", "J"),
|
||||||
|
("-", "-"),
|
||||||
|
("F", "-"),
|
||||||
|
("L", "-"),
|
||||||
|
("-", "7"),
|
||||||
|
("-", "J"),
|
||||||
|
("F", "7"),
|
||||||
|
("F", "J"),
|
||||||
|
("L", "J"),
|
||||||
|
("L", "7"),
|
||||||
|
("J", "7"),
|
||||||
|
("J", "F"),
|
||||||
|
("7", "J"),
|
||||||
|
("7", "L"),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_next_tile(rows: list[str], s: tuple[int, int]) -> tuple[tuple[str, int, int], str]:
|
||||||
|
i, j = s
|
||||||
|
|
||||||
|
for name, (x, _) in DIRECTIONS.items():
|
||||||
|
next_tile_x = i + x
|
||||||
|
next_tile_y = j
|
||||||
|
|
||||||
|
if next_tile_x < 0 or next_tile_x > len(rows):
|
||||||
|
continue
|
||||||
|
|
||||||
|
next_tile = rows[next_tile_x][next_tile_y]
|
||||||
|
|
||||||
|
if next_tile == ".":
|
||||||
|
continue
|
||||||
|
elif (name, next_tile) not in VALID_PAIRS:
|
||||||
|
continue
|
||||||
|
else:
|
||||||
|
s_serves_as = name
|
||||||
|
return (
|
||||||
|
(next_tile, next_tile_x, next_tile_y),
|
||||||
|
s_serves_as,
|
||||||
|
)
|
||||||
|
|
||||||
|
raise Exception
|
||||||
|
|
||||||
|
|
||||||
|
def print_matrix(rows: list[str]) -> None:
|
||||||
|
print()
|
||||||
|
for idx, row in enumerate(rows):
|
||||||
|
if row.strip():
|
||||||
|
num_spaces = 2 if len(str(idx)) == 1 else 1 if len(str(idx)) == 2 else 0
|
||||||
|
spaces = ""
|
||||||
|
for _ in range(num_spaces):
|
||||||
|
spaces += " "
|
||||||
|
print(f"{spaces}{idx}) {row}")
|
||||||
|
print()
|
||||||
|
|
||||||
|
|
||||||
|
def solution(matrix_text: str) -> int:
|
||||||
|
rows = matrix_text.split("\n")
|
||||||
|
i, j = get_start_cell(rows)
|
||||||
|
|
||||||
|
next_tile_tup, s_serves_as = get_next_tile(rows, s=(i, j))
|
||||||
|
|
||||||
|
next_tile, next_tile_x, next_tile_y = next_tile_tup
|
||||||
|
|
||||||
|
print(f"S is located at {i}, {j}")
|
||||||
|
print(f"S serves as '{s_serves_as}'")
|
||||||
|
|
||||||
|
prev_tile_x = i
|
||||||
|
prev_tile_y = j
|
||||||
|
iters = 1
|
||||||
|
|
||||||
|
### TRAVERSE
|
||||||
|
|
||||||
|
while next_tile != "S":
|
||||||
|
direction_x = next_tile_x - prev_tile_x
|
||||||
|
direction_y = next_tile_y - prev_tile_y
|
||||||
|
prev_tile_x = next_tile_x
|
||||||
|
prev_tile_y = next_tile_y
|
||||||
|
if next_tile not in "-|":
|
||||||
|
n_x, n_y = DIRECTIONS[next_tile]
|
||||||
|
if direction_x == n_x:
|
||||||
|
next_tile_y -= n_y
|
||||||
|
elif direction_x == -n_x:
|
||||||
|
next_tile_y += n_y
|
||||||
|
elif direction_y == n_y:
|
||||||
|
next_tile_x -= n_x
|
||||||
|
elif direction_y == -n_y:
|
||||||
|
next_tile_x += n_x
|
||||||
|
else:
|
||||||
|
if next_tile == "|":
|
||||||
|
next_tile_x += direction_x
|
||||||
|
elif next_tile == "-":
|
||||||
|
next_tile_y += direction_y
|
||||||
|
next_tile = rows[next_tile_x][next_tile_y]
|
||||||
|
iters += 1
|
||||||
|
print(f"i{iters}: {next_tile} {next_tile_x},{next_tile_y}", end=" ")
|
||||||
|
|
||||||
|
print_matrix(rows)
|
||||||
|
|
||||||
|
print(f"{i=}, {j=}")
|
||||||
|
return iters // 2
|
||||||
|
|
||||||
|
|
||||||
|
entries = pathlib.Path("day_10.txt").read_text()
|
||||||
|
print(solution(entries))
|
||||||
140
day_10.txt
Normal file
140
day_10.txt
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
777FJ.F|-|FFF-L-J7.7.F-7--L-7-L-LF-7-FFF.FLF7.FL7-J77F-7.L7-7.-F77F|FLJ7.L---7.7---J77F|.F|-J7FFF|7-F7-77.FF7|-7-F77F-.J7.777FF|F|-F77|-77.F
|
||||||
|
L|F|JJ||.FL7L-JFJLJFFJFJJ|FFJFJ-LLJJ.7.F-.LJJFF|L7.F-.LJFLFJ|7|||.|FJ|LJ7J...-J77.L|F|7.--.LLF-FFFL7||7LF-F7-J7JF|77L-|L-L7LFL-F-7JLJ-|.L7.F
|
||||||
|
L--JJ|L-.LLJ-L-J||FJJ-JJFF7JFL77.LL-|J7|J.-L-LFJ7|-L.FFJ|7|.L7FFJFJ|LJ-FL.-77|7|F7FLJ|.F-L7|.|JFL-.L|JF|L-L77J7.|JL7F7|7LLJ...||-J-FL-L|JJF|
|
||||||
|
FF|-L7.J..-JFJ.L7-|J.FL7F7J.|-7-F7L--F-JL-J|-FJ-||7L|7J-J77F-L-JLFJF7|L|-L-J7-J7.J-J--.|F||-J7-|J|-FJ.FFJ.||JL7-L--L--J-F.LF7LL.--77.F.|||L|
|
||||||
|
F|.7F-7-|.|.||.|F7JJ.LL||LJ-JFL-JJF|.|JJ-7.F.7||L-F--7-7.F7JFLL7FF-|L-7|J|.L|7-7.|J7-LL--JJ|.JF-7L|.7FLL..L7FJ|J.F|7-JJ|LL7L||.7L-7J-J-F77-7
|
||||||
|
F7.LF|.FJF77JF-FLJJ.FL.L|J..L|J.|.LF-77.L7FLFJ-JJJ|F-J.L.|L7J77F77JL-7L77|.|.|JL|.-7..L-FL7-|LFL7FF-FL-LL-F|7.-7F7F-7|FF7|F.J-|JLFJJJ-7-7|-J
|
||||||
|
7JFFL--J.7|F-F7||J-F.|.|.L-|FJ-7J|L|FJ-L-77J|7L|.FJ|JJ-L7--JLF-||JFF7L7|777F-7.L-7.F7.FF7LF7L-|FJ7JL|||LL7FJJ.L-LJ||L--J-|L7-|L--J.F-7LL|J77
|
||||||
|
|--77|LJFL-|FLF7JLFF7-L7F7.|F-F-.|.||7.||LF7-|77FJFJJ.---7|F|LFJL--J|FJL-7JJJJ|7J|.|-F-JL-JL7-|7FJJ..F7F|7J7.-.J|FJL.L|7LL-JF77FL.FJFF.JL-JF
|
||||||
|
LLJL|7LFFJ7FJ-|77.L||7L-L7FF7-|J-FFJ|7F7-7L|-F-7L7|LF..FLJ-F|-|F-7F7LJF7FJ7-|J...L|JLL7F--7FJF7-7|..F77F|-----J-|J|.|.J7-||F7J77|LF-JJ..FJ.7
|
||||||
|
|L|.L|.J.7F|..JLF.F||7J..FF|L777J|L7L7||J7|F7L7L7|L--77-L7FJ|.|||LJL-7|LJL7777F|7--7|.LJF7||7||.L7..|JF-JFLJL7J-|7-F|F|77-L7|.7---L-.F|.|FF|
|
||||||
|
L.|.L|L.LF-JF7.|F--J|J-FFF|L7||F77|L7|||--FJL7L7LJF--JJJJ|L7L-LJF--7FJL7F77F-7LJJFLF7-F7|||L-JL77FJ7F-77FF-F-|7|L7FL77|F7-|L|-|..7J..|J-7|.|
|
||||||
|
|FF77FJL-L|FF77L|F-7|7JF--7FJL-J|F--JLJL7FL7FJFJF-JF-7JJF--7-FL.L-7|L-7LJL7|FJ7|.J-|L-JLJLJF--7L7-JFL7L-7|FJL|-JLJ.LF7LLJ7LJ.F|7.|.L7L|-JFFJ
|
||||||
|
77L--7.L-7JF||7.LJL||F7|F-JL---7|L---7F7L7FJL7L7|F7|FJ-F|F7|-|JFF7||F7|F--J||F7-F7.L----7F7L-7L-JJ-F7|F-J-L-7J.|7J7.L|-LFFJFFFL--LJ.F-FJF77J
|
||||||
|
.-JL-L-LLFF7||7F7F7|||LJL7F----JL7JF7||L-J|F7|FJLJLJ|7-FJ|LJ7F7FJLJLJLJL--7||||7F7-|F--7LJL7FJF7F77||||7|.|-J.FJJLJ-|L-7|JJFJJ|.|.LF7LL7LFJ.
|
||||||
|
J7FJ.|||FL|LJL7||||||L-7FJL--7F-7|FJ||L--7LJ|LJF7F--JF7L7L7JF||L------7F--J|||L-J|F-JF-JF7L|L-J||L7|LJL77F-77F-F-7F7|F-7J|F-7FF7|.LL|JL|LLJ.
|
||||||
|
LLJ-FFL-|F|F-7LJLJ|||F7|L7F7LLJ-||L7LJF--JF7|F-J|L--7||.|FJF-J|F7F7F--JL7F7|||F--JL-7|F7||FJF--J|FJL-7FJF7-LJ-L|FJ-L|7-JFJJLF-LJ-L----.|.L77
|
||||||
|
FJ||F7LFJFLJJL---7||||LJFJ||F7F7|L7L7FJF-7||||F-JF7FJ||FJL7L-7LJLJ|L--7FJ|||LJL7F7F7|||||LJFJF--J|-F-JL-JL77JF-JL7.-|J.LL7FL|7.|.LJJ.|.L|F-7
|
||||||
|
-7JFL|JLF7L-F----J|||L-7L-J||LJ||FJFJ|JL7|||LJL-7|LJ|||L7FJF7L---7|FF-JL7|||F--J|||||||LJF7L7L--7L7L-7F---JF7L-7FJ--J-|L|77.FL7-7JL||77|L|FF
|
||||||
|
LLF|7J..||J.|F---7LJL-7|F--J|F7LJL7L7L7FJLJL7LF7|L7F-JL7|L7|L7F7FJL7L--7||||L7F-J||LJ|L7FJL-JF-7|FJ7FJL---7|L7FJL7-7JF-7F7||J.F77..7|F|7..FL
|
||||||
|
..FJ-.7FLFJ7||JF-JF7F7LJ|F77LJ|F-7L-JFJ|F-7FJFJLJFJ|F--JL7|L7|||L-7L-7L|||LJFJ|F7|L-7L7||F7F7L7LJ|F7L-7F--JL7||F-J-F7|FJ|L-7LF7.F7F|||F-|-||
|
||||||
|
|7LF-FJFJFJFJ||L--J||L-7||L7F7LJJL--7L-JL7LJ-L--7L7|L7F7FJ|FJLJ|F7L-7|FJLJF-JFJ|LJFFJFJ|||LJ|FL-7|||F7||F7-FJ||L77FJLJL7|F-JFJL-7---J-|||.--
|
||||||
|
|7LJF|-|F|-L-JF7F--J|F-JLJFJ||F77|F7L7F--JF7FLF7|FJ|FJ|||FJ|F--J|||FJ|L7F7|F7L7L--7L7L7|||F-JF7FJLJLJ||||L7L7|L7L7L-7F-J|L7LL7F-J|.LLJJF-|||
|
||||||
|
JJ.LF|F-7JFL-FJ|L-7FJL-7F-JFJ||L7FJ|FJL7F7|L7FJLJL7|L7||||-|L7F-JL7L7||LJ|LJL-JF--JFJFJ|||L77||L7F---J|||FJFJL7L7L-7||F7|FJLFJL77J7.FF.L7|FJ
|
||||||
|
||FFL-7-77FL7L7|F-JL7F-JL-7L7||FJL7||F-J|LJFJL---7||FJ|||L7|FJL--7L-J|F7-L7F--7L7F7L7L-J|L7L7||FJL7F7FJLJL7L7FJFJF-J|LJLJL-7|F7L7-F-JJF.77FJ
|
||||||
|
FF|.LJ|7|F7-F-JLJF-7|L---7|||||L7FJ|||F7|F-JF-7F-JLJ|FJ|L7LJL-7F7L-7FJ|L-7||F-JFJ||LL--7L-JFJ|||F-J|||F---JFJL7L7|F7|F-----J||L-J7L|JF.FL-JJ
|
||||||
|
J|J.|F77L|-FL-7F7|FJ|F---JL7||L7|L7||||||L7-L7|L--7FJ|FJ7L7F7FJ||.FJL7|F-JLJL-7|7||F-7FJF--JFJ|||F7||||LF7LL7FJFJLJLJL----7FJL7-F--7.|L|||JJ
|
||||||
|
L|JFFFJF7.LFJ-LJ||L7|L7F7F7LJL7|L7||||||L7|F7||LF-JL7||F7FJ|LJFJL7|F-J|L7F7LF7|L7|||FJL7|JF7L7||||LJ||L7||F7||FJF7F7F-----J|F-JFJF-J---|-J.F
|
||||||
|
L|LF-L7L-J-||||.LJ.|||LJLJL7F7LJFJ|||LJL7|||||L7|F7FJ|LJ|L7|F7L-7LJL-7|FJ||FJ|L7|||||.FJL7|L7|LJLJF-J|FJ|||||LJFJ||LJF-7F7|||F-JFJ-J7JF||FF7
|
||||||
|
.LF-F--7|LFF-|7F7F7LJF7F---J||F7L-J|L-7FJ|LJ||FJLJ|L7|F-JF|LJL77L-7F-J||FJ|L7L7|||LJL-JF-J|FJL7F-7|F7||FJLJLJF7|.LJF7|FJ||FJLJF7L7-J|J7|FLJ|
|
||||||
|
-77F7.L-|L||-77|||L-7||L--7FJLJL--7L--JL-JF-J||F7FJFJ||-F7L-7FJF7FJ|F7|LJFJFJFJ|||F-7F-JF7|L7.LJJ||||||L7F---J|L---JLJL7|||F--J|FJJ7JFF--J.7
|
||||||
|
|FJLJ7--.-LFF7FJ|L-7|||F7|LJF7F---JF--7F--JF-J|||L7|F|L7||F-JL7|||FJ||L-7|FJFJFJ||L7LJF7|||FJF7F7||||||J||F7F7L--7F7F--J|||L--7LJ7F7--JJ|.-J
|
||||||
|
FF---77|7FF7||L7|F7|||LJ|F--J|L---7|F7LJF-7L7FJ|L-JL-JFJ||L7F-J|||L7|L-7||L7L7L7||FJF7|||||L7|||LJ||LJ|FJLJLJ|F7JLJ||F-7|||F7FJF7F7LFJ7FF77J
|
||||||
|
|JL77FL7JFJLJL-JLJ|||L-7|L-7FJF---JLJL-7L7|FJL7L--7F--J|||F|||FJLJFJL7FJ||-L7L7|||L7|LJ||||FJ||L-7LJF-JL7F---J||F7-LJ|FJ|||||L-JLJ|-L7L7|F7J
|
||||||
|
777FF7J|FJF7F7F7F7LJL--JL7FJL7|F7F-7F--JFJ|L-7L7F7||F7F7||FJL7L7F7|F7|L7||F7L7||||FJL7FJ|||L7|L77L-7L7F7|L-7F7|LJ|F-7|L7||||L---7FJ|.L7|||.|
|
||||||
|
L77LLLJ-L7|||||LJL7F7F--7||F7|LJLJ|||-F7|FJF7|FJ|||||||||||F-J|||LJ||L7|||||7||||||F7||L||L7||FJF77L7||||F-J|||F-J|FJL7||||L---7LJL77.J7.F77
|
||||||
|
-|-F7L.-LLJLJLJF7-LJLJF7||LJ||F7FF7|L7||||FJ||L7|||LJLJ|||||F7FJL7FJ|FJ||LJL7|||LJ||||L7|L7|||L7||F7|||LJL--JLJL-7||F7|LJLJF---JF---777FL-F7
|
||||||
|
L|JJL-JF||.F---JL-7F--JLJL--JLJL-JLJ7LJ||||FJ|FJ|||F---J|||||||F-J|FJ|FJL--7|||L7-||||FJL7||LJFJ|||||||F---------J|||||F---JF7F-JF7FJJ7-7.L-
|
||||||
|
FL7.|FLLF--L7F---7|L--------7F-------7FJ||||FJL7|||L-7F7|LJ||LJ|F7|L-JL7F-7|||L7L7LJ||L7FJ|L-7|FJ||||||L--7F-7F---JLJLJL----J||F7|LJ|J|F7JJ7
|
||||||
|
JJ|.77.LFJJLLJF--JL-77F--7F7LJF------J|FJ||||F7|||L7LLJ||F-JL-7LJ|L7F--JL7LJ|L7L7||FJL7|L7|F7|||FJ|||||F--JL7LJF-7F7F7F--7F-7LJ||L77|JF-J.|L
|
||||||
|
FFF-FJL-|||LF7L--7F-JFJF7LJ|F7L7F----7|L7LJ|LJ||||FJF7FJ||F7F7L-7|FJ|F7F7L-7L7|FJL7L7FJ|FJ||LJ||L-J||||L----JF7L7||LJ|L-7|L7L7FJ|FJ7|F|.J--J
|
||||||
|
FL|..7J|FF--JL---J|F7L-JL-7LJL7||F---JL-JF-JF7|||||FJLJFJ|||||F-J||.LJ||L7FJFJ|L7FJJ|L7||FJL7FJL-77LJLJF-----JL-J|L-7L--JL-JFLJ.LJFFJJL|F|-L
|
||||||
|
LL|..--7FL-------7LJ|F7F-7L-7FJLJL------7L7FJ||LJ||L7F7||LJLJ|L-7|L7LFJ|FJL7|FJFJL-7|FJ||L7FJ|F-7|F7F-7L-7JF----7L--JF-7F-----7F---7J.LL7J.|
|
||||||
|
L|LFFL-LF-7J.F---JF7LJ|L7L--J|F7F-7F7F-7|FJL7|L-7||FJ||L--7F-JF7|L7|FJFJL7FJ||FL7F7|LJ||L7||FJL7||||L7|F7L-JF7F-JF-7J|FJ|F----JL7F-JJ77|L77.
|
||||||
|
|.F-|.|LL7L--JF7F-JL-7L7L---7LJ|L7||LJFJ||F7|L--J|||FJ|F7FJL-7|LJLLJL7L7J|L7|L-7|||L--7L-J||L7FJ||||FJ|||F--JLJF7L7|FJL-JL---7F7||F7F7FF7.77
|
||||||
|
F7|-|.FF-JF-7FJLJF7F7L7L-7F7|F7L-J|L-7|FJ|||L---7||||L|||L7F-JL-7F---JFJFJFJ|F-J|||F7FJF7FJ|-||LLJ||L7|||L-----JL7|||F-------J|LJLJL-7-J.FF-
|
||||||
|
FLF-77LL7FJLLJF--JLJL-JF7LJLJ|L7F7|F-JLJ-LJ|F7F-JLJLJFJ|L7||F7F7||F-7FJ.L7L7|L-7LJLJ|L-J|L-JFJ|F--JL-JLJL-------7LJLJL-----7F-JF7F--7|F|F-7J
|
||||||
|
L-|.FLJ.||7JF7L--7F7F7FJ|F7F7L7LJ|LJF7F7LF7LJLJF7F---JFJFJ|||||||LJFJL-7|L7||F7L--7F|F7FJF-7|FJL--7F7F7F-------7L7F7F7F-7F7LJF7||L-7LJ77LLL.
|
||||||
|
|LJFL|JFLJF-J|F--J|||||FJ|LJL7|F-JF-J|||FJL7-F-J|L---7L7L7||||||L7LL-7FJF-J||||F-7L7|||L7L7|LJF---J|||||F-7F-7FJ7LJ||||LLJL-7|LJL--J|JL7L|J7
|
||||||
|
L.L|7F-JJLL-7LJF7FJLJ||L-JF7LLJL--JF-J|||F-JFJF7L7LF7|FJF||LJ||L7L--7|L7L7FJ|||L7|FJ||L7|7||F7L-7F7|||LJL7LJ-|L---7LJ|L----7LJ|F7JF77L|L7.|J
|
||||||
|
L7FLFLJF--7.L-7||||F7LJ.F-JL-7F---7L-7||||F-JFJL-JFJLJ|F7LJF-J|7|F7FJL7|FJ|FJ|L7|||FJL7LJFJLJ|F-J|||||F-7L--7L----JF7|F7F-7L--7||FJL7-77L|-J
|
||||||
|
J7F7L-FL7FJ-F7LJ|L7|L---JF--7|L--7|F-J|||LJF7L-7F7L--7LJL7LL-7|FJ||L-7|||FJL7|FJ|LJ|F7|F7L--7|L--JLJLJL7L---JF-----J|||LJ||F-7LJLJF-JJF7|LJ.
|
||||||
|
|LFJLFF-JL-7|L7-L7||F7F7FJF-JL--7||L--JLJF7||F7LJL-7.|F--JF--J|L7||F7|LJ|L7FJ|L7L-7|||||L---JL-----7JF7L-----JF--7F7||L--7|L7|F7F7L-77FJJ7L.
|
||||||
|
J|LL-LL---7LJFJF7||LJLJLJ.L----7LJ|F7F7F-JLJLJ|F-7FJFJL-7||F-7|FJ||||L77L7|L7L7|F7|LJLJL----7F7F--7|FJL-------JF7LJLJL---JL7|||LJL--J7J.LF.|
|
||||||
|
F-J|J7FF7LL-7L-J|LJJF7F--7F----JF7LJLJ|L-----7LJFJ|JL7F7L7LJFJ||FJ||L7L7FJ|-L7||||L--7F7F---J|||F-J|L-7F--7F---JL7F7F----7JLJ|L-7-|LLJL|-|F-
|
||||||
|
FLF-7-F||F--JF--JF7FJ||F7|L---7FJL-7F7L--7F--JF7L-JF7||L7L-7L7||L7|L7|FJ|FJF7||||L7F7||LJF--7||||F7L-7LJF-J|F----J|LJF7F7L--7|F-J7F-7-7JJLJJ
|
||||||
|
L.L7|F7||L--7L7F7||L7|LJ||LF--J|F--J|L-7FJL--7|L77FJ|||7|F-J|LJ|FJ|FJLJFJ|FJLJ|LJ-LJLJL7FJF7LJLJ|||F7L-7L--JL7-F--JF7||||F7FJ|L7J-7L-JFJLLJ7
|
||||||
|
J7L|LJLJ|JF7|FJ|LJ|FJL7FJ|FJF--JL--7|F-JL----JL7|FJFJ|L7|L7F---JL7LJF7L|FJL--7L---7F--7LJFJL---7||LJL-7L--7F7L-JF7FJLJLJ||||7L-JJ|.|7.|.|JL-
|
||||||
|
L7LL---7|FJLJL7L-7|L-7|L7|L-JF7-F-7LJL---7F7|F7|||FJF|FJ|FJL7F--7L--JL7LJF---JF---JL-7L-7L----7|LJLF7|L7F7LJL---JLJF7|F7LJ||JFJ|F77|LFF.|.|.
|
||||||
|
FLF----JLJF-7FJF-J|F7|L-JL---J|FJFJF7F7F-J||FJLJLJL-7LJ.LJJJLJF7|F7F7FJF-JF7F7L7|F---JF7L7FF7FJL7F7||F7||L---7F7F--JL-JL-7LJ||LF|J-J.7J.|F.|
|
||||||
|
F7L------7L7|L7L-7|||L-------7||FJFJLJLJJFJLJF7F-7F-JF7F7FF7F-JLJ|||||JL-7|LJL7L7|F7F7|L7L-JLJF7LJLJ|||LJF--7LJ||F----7F-J.|FF-7J7.F|JFFFJFJ
|
||||||
|
||F7F7-F7|FJL7|LFJ|||F7F77F7FJLJL7L-----7L-7FJLJFJL--JLJL-J|L7F-7|||LJF--JL--7L7|||||LJJL7F---JL---7|||F-JF7L-7||L-7F7LJF77FFJFLJL7-L.JJJ--J
|
||||||
|
|LJLJ|FJ|LJF-JL7L7||||||L-JLJF-7FJF--7F7L--JL-77L------7F--JFJL7|||L-7L7F7F7FJFJ|||LJF7F7||F-------J|||L--J|F7LJ|F-J|L--JL7-F7|L7.F-J-L7F.J7
|
||||||
|
L7F-7|L7|F7L--7|FJ|||||L--7F7|FJL7L-7||L-7F7F-JF---7F7LLJJF7L7FJ|||F-JLLJLJ|L7|FJ||F-JLJLJ|L--7F-7F7LJL---7LJL--JL7FJF--7FJ-|L77F-7J||LFJ7-F
|
||||||
|
FLJFJL-JLJL---JLJFJ|LJL---J||||F7L--JLJF7||LJF-JF-7LJL----JL7||FJ||L-77JJ.FJFJ|L7LJL------JF--J|FJ|L7F7F-7L----7F-JL7|F7LJF7|FJ-L7L--7LL--.F
|
||||||
|
|JFL7F-7F-7F--7F7L-JF7F-7F-J||||L7F7F--J||L--JF-JFJF-7F-----JLJL7|L7FJJFF-L7L7L-JFF--7F-7F7L--7|L7L7LJLJFL----7LJF7FJLJL-7||||F7.|F--J7.FJ-J
|
||||||
|
F7F7LJFJ|FJ|F-J||F-7||L7LJF7LJLJLLJLJF7FJL7F7FJF7L7L7|L-77F-7F7FJ|-|L-7-J.LL7L7.L-L7FJL7LJL7F7LJ-L-JF--------7L7L|LJF----J|||||L-JL--7-L-7F|
|
||||||
|
|LJ|F7L7|L-JL-7|||FJ||FJF-JL7F7F-----JLJF7LJ|L-JL7L-JL-7L7|FJ||L-JFJF-JF|.F-L7|7-|L||F7L--7LJL--7FF7L-7F----7L-JFJF7L--7F7|||LJF-7F--JJLL|-|
|
||||||
|
L-7LJL-J|F7F7FJ|||L7|LJLL-7FJ||L----7F7||L7FJF-7FJF7F7|L-J||FJL-7-L7L7L-L|.LLLJF-7FJLJ|F7FL----7L-JL--J|F-7FJF7J|FJL---J|||||F-JFJL--77.||FJ
|
||||||
|
JLL-----J|LJLJFJ||FJ|F----JL-J|F7F--J|L7L7|L7L7LJFJ|||F7F7|||F--JF7L-JFF|L-.|L-L7|L--7|||F7F--7L--7F---JL7LJ7|L-JL7F7F7FJLJLJL-7L--7FJ|FL-||
|
||||||
|
F|LF-----JF7F7||LJL-JL-----7F7LJ|L-7FJFJFJL7L-JF7|FJ|||LJLJLJL---JL--7-7F7JL|.L||L---JLJLJLJF7L---J|F----JF--JF--7LJLJLJF7F7F--JF-7|L-7JJ.LL
|
||||||
|
|7-L-----7|LJLJF7F7.F--7F7FJ|L-7L-7LJFJ-L-7|F7J|LJL7|LJF-7F-----7F-7FJLL|L7-J.F-JF7F7F7F7F-7|L7F---JL----7|F-7L-7L7F----JLJLJFF7|FJ|F-JJF777
|
||||||
|
L|-F-----JL7.F7|LJL-JF7LJLJFJF7L7FJF-J7F7.|LJ|FJF--J|F7L7|L----7LJLLJ7FLF7|.LFL-7|||LJLJLJFJ|FJ|F-------7LJL7L-7|-|L---7F77F-7|LJL7LJJLFJ||7
|
||||||
|
||.L7F7F7F7|FJLJF7F-7||F--7|FJ|FJL-JF-7|L7|F-JL7L---J|L-JL-----JF-7F-7-7L--7.-LJLJLJ.F--7.|FJ|FJ|F7F---7L---JLFJL7L---7||L7L7||F--JF7.F|L7--
|
||||||
|
F---LJ||||LJL-7FJLJF||||F-J|L7LJF---JFJ|FJ||LF-JF7F--JFF7F7LF7F-JFJ|FJFF-FL777|7F7LF7L-7L-JL7||FLJLJF7|L-----7L-7L--77LJ|FJFJ|||F7L||F77.|7.
|
||||||
|
|||||-||LJF---J|F---J|LJ|F7L7L-7|F7F-JFJL7|L-JF-JLJF7F7|LJL-J||F-JFJL7J|.7-F-7F-JL-JL--JF7F-JLJF----JL-------JF7L---JF7FJL7L7LJ||L-JLJL-7-77
|
||||||
|
FL7J|7LJF-JF--7|L----JF7LJL-JJFJ||LJF-JF7LJF7FJ.F7F|||||F----J|L-7L7FJJ-7|.|FJL---7F--7FJ||F--7L---------7F7F-JL7F---JLJF7L7|F7LJF------JJ-J
|
||||||
|
7J.||FF-JF7L7FJ|F----7||F----7L-JL-7L7FJL-7||L7FJL-JLJLJL-----JF7L-JL-77-|F|L7FF7FLJF7LJFLJL-7L7F7F7F7F7.||LJF-7LJF7F--7|L7LJ||F-JF7F77FJLFJ
|
||||||
|
F777|7L-7||FJL7|L---7LJLJF7F7L----7L-JL--7||L7LJF7F-7F--------7|L7F-7FJ-F7FJFJFJL---JL----7F7L7||LJLJLJL7LJF-JJ|F-J|L-7|L7L7FJ||F-JLJL77FFJJ
|
||||||
|
-JL-F-F-J|LJF7LJF---JF-7FJLJL7F--7|F-7F-7|||L|F-JLJFJL-------7|L7LJ.LJFL|LJFJ-L------7F7F7LJL-JLJF-----7L-7L--7|L-7|F7||FJFJL7|LJF--7FJJ|F||
|
||||||
|
J77F|JL-7L-7|L--JF--7L7||F7F-J|F-JLJ||L7LJLJFJL--7FJF-7F7F-7FJL-JF7F7F7-L-7L7|FF---7.LJ||L----7F7|F----JF7|F7FJL--JLJLJ||FL--J|F7L-7LJLLL-F7
|
||||||
|
|7FFJJ.FJF-JL----JF-JFJLJ||L--J|F7F-7L7L---7L7F-7||FJL|||L7|L---7|LJLJ|F7FJFJF7L--7L--7LJF----J||||F7F--J|LJ|L--7F-7F7LLJF-7F-J|L--JL|-||JLL
|
||||||
|
||L7.LL|FJF----7F7|F7L-7.||F7F7LJLJFJ-L----JJLJ|LJ|L7FJ||FJL----JL-7F-J||L7L7||-F7|F--JF7L-----JLJLJLJF--JF7L---JL7||L-7FJFJL-7L---77J7-|.F7
|
||||||
|
||L--.LLJJL7F-7LJLJ|L--JFJLJLJL-7F7L-------------7L7|L7|||F7F7F7.F7||F7|L-JFJ|L-J||L---JL-------7F7F7LL---JL--7F7FJLJF-J|FJF7FJF7F7L7F|J|777
|
||||||
|
||7F|.FLJJ.LJFJF7F-JF7F7|F-7F7F7LJL--7F-7F-----7FJFJ|FJ|LJ||||||FJ||LJ|L--7L-JF--JL7F-7F-7F7F7F7LJLJL-7F------J|LJF--JF-JL7||L7|LJL7L7J.LLFL
|
||||||
|
L7F||F7J.FFF-JFJ||F7|||LJL7LJLJL-7F-7|L7|L----7|L7L-JL7L-7|LJ|||L7||F-JFF-JF7FJ-F7JLJFJL7LJLJ||L7F7F-7LJF------JF7L---JF-7LJ|-LJF7-L-JF777.L
|
||||||
|
FL-|--7.FL|L-7L7LJ||||L7F-JFF7F--J|FJ|FJ|F7F--JL-JF--7|F7||F7LJL-JLJL7F7L-7|||F7||F-7L--JF7F7||FJ|LJJL--JF-7F7F7|L--7F7L7|F7L7F-JL7JJFFF7JFJ
|
||||||
|
F||||.L77FL7FL7|F-J||L7LJF--JLJF--JL7||FJ||L----7FJF7|LJLJ|||F7F---7FJ||LFJ|LJ|||||FJ-F-7|LJLJ|L-JJF7-F--J|LJ|||L--7LJL-JLJL7LJF--J|LFJL||-.
|
||||||
|
7JL-7-|JLJFFL|LJL-7|L7|F7L-----JF---J||L7||F7F--J|FJLJF--7LJ||LJ|F7|L-JL7L7L7FJ|||||F7L7|L----JF7LFJL7L--7F-7LJL---J|F----7JL-7L-7F77.L-7.JJ
|
||||||
|
LL-J7-JL|-||LF----JL-JLJL------7L--7-LJ|||||LJ.F7|L7JFJF7|F7LJ7F7||L7F--JFJFJL7LJ||LJ|FJL7F7F--JL-JF7L---J|FJF7-F7F7FJF---JF7JL-7LJL77FJLJ.|
|
||||||
|
..|.F7|F77JJLL7F7F7F--7F7F7F--7||F-JF7F7LJLJ.F7|LJFJFJFJLJ||JF-JLJL-J|F7-L7|||L-7LJF-JL-7|||L-----7|L7F7F7|L-JL-J|||L7L----JL7JJL7F-J-7J.F|7
|
||||||
|
.|--.L-JJJ77LFJ|||LJF-J|||||F-JL-JF-JLJL7F7F7|LJF7L7L7L--7|L7|F7F---7||L7FJL7F--JF7|F7F7||||7F7F--J|LLJLJ||F---7FJ||FJF7F---7L-7L|L77-J-|--F
|
||||||
|
FFJJ-FLJ.7-|.L7|LJF7L--JLJ||L---7FJF7F7FJ||||L7FJL-JFJF--J|FJLJLJF-7|LJFJ|F-JL-7FJ|||||||||L7||L---JF-7F7LJL--7|L-JLJFJLJLF7L--J-L-JF7J.||F|
|
||||||
|
LJ7J||J|FJL77FLJF7||F7F--7LJ-F7F||FJLJLJFJ|||FJL---7L7L7LFJL7FF7FL7LJF7|FJL7-F7||FLJ||||||L7|||F-7JFJFJ||F7F-7||F-7F7|F7F7|L---7LF--J|.|JFJJ
|
||||||
|
.LL.F77-|-F|F---JLJ|||L-7|F7FJL-J|L-77F7L7LJLJF7F--JFJFJFJF-JFJ|F7L--J|LJF7L7|LJL7LFJLJ||L7||||L7L7L7L-JLJLJFJ||L7|||LJLJLJF---JFJF--J-F.7J.
|
||||||
|
7.|-|7|F7.-7L-----7|||F-JLJLJF7F7|F-JFJL-JF-7FJLJFF7L7|FJFJF7L7|||F7|FJF-JL-JL--7L7L7F-JL7|||||J|FJFJF-7F--7L-J|FJLJL-7F---JF7F7L7L--7|L-F-J
|
||||||
|
LF-.LFL-7J7F|FF---JLJLJF7F7F-JLJLJL--JF-7FJ-LJJF-7||L|||FJ||L-JLJLJL7L7L---7F7|FJFJFJL-7FJ||LJ|FJL-JFJ.LJF-JF-7|L----7LJFF7-|LJ|FJF--JJ77|7|
|
||||||
|
F||JFJFL|FLFL-L--7F-7F7|||||F---------J-|L----7L7LJ|FJLJ|F7L-------7L7L7F--J|L7L7L7L7F-JL7|L-7|L----JF-7FJF7|FJL7F7F7L---JL-JF-J|FJJLJ7L7JLF
|
||||||
|
||F.7.J-777J|FF--JL7LJLJLJLJL--------7F7L-7F7FJJL7FJ|F--J||F-7F7F-7|FJFJL7F-JFJ-|FJ|||-F7||F7|L----77L7|L7||||F7LJLJL7F7F7F7FJ.FJL-7|FJJ||JL
|
||||||
|
F-L7L|77||7JF-L----JF7F7F7F7F7F7F----J||F7LJLJ.F7|L-JL-7FJ|L7|||L7|||FJF7|L-7L7FJL7FJL7|||S|||F-7F-JF-JL7LJLJLJL---7FJ|||||LJF7|F--J7JJ-7L7.
|
||||||
|
7.L7-L-|-L|7|LJF--7FJLJLJ||LJ|||L-----JLJL7F7F7|||F-7F-JL7|FJ||L-JLJ||FJLJF-JFJ|F-JL-7|||||||LJFJL7|L--7L---7F-----JL7||||L--JLJL--7JJ-L-.|J
|
||||||
|
F-F-.LL|..|F|JJL-7LJF-7F7LJF7LJL-----7F7F7LJ||LJLJL7LJ7F7|||FJL7F7F7LJ|F-7L-7L7|L7|F7|LJLJ||L-7L7FJF-7.L---7|L------7||||L7F7F-7F7FJJ7LL|.L7
|
||||||
|
L--|-7-F77F-J|||FL7FJ|LJ|F-JL-------7||LJL--JL7F---J7F-J||||L7JLJLJL-7||FJF-JFJ|FJFJ|L7F-7||F7L-J||L7L-----JL-------J||||JLJ|L7||LJJ|F-7|-|F
|
||||||
|
7JF--F7JL||..FF---J|F---J|F-7F7F7F--JLJ.F77F--JL7F7F7L-7LJLJFJF7.F7F7|LJL7L-7|FJ|.L7|FJL7LJLJL7F-JF7L-----7F7F----7F7LJLJF-7|FJLJ-|FL-JLJ7L|
|
||||||
|
7.||FL-.FF--FFL----JL-7F7|L7LJLJLJF--7F7|L7L---7|||||F7L---7L7|L7||||L7F7|F7|||FJF7||L-7L7F7F7|L7FJ|F7F---J|||F7F7LJL---7|FJLJ|7..L7.|-L.7L|
|
||||||
|
LL-|7-L.|LFF----------J|||LL----7FJF-J|||FJJF7|||||||||F7F7L7|L7|||||F||LJ||||||7||||F7|FJ||||L7||FJ||L---7||||LJL7F---7LJL7|FL7F7L7--7..F77
|
||||||
|
.|.|L7.||.LL7F7F-----7FJLJF77F--J|FJF7|||L7FJL7|||||||LJ||L7|L7||||||FJ|F7|||||L-J||||||L7||||FJLJ|FJ|F7F7LJLJL7F7LJF-7|F-7L-7.LL-7|.|JFLJLJ
|
||||||
|
77.LJ--L7-FLLJLJF7F--J|F--J|FJF-7|L7||||L7|L-7LJ|||||L7FJ|FJL7||LJ||LJFJ||||||L-7L||||LJFJ|||||F--J|FJ|LJL7F7F7LJL-7|FJLJ|L7FJ77J.|.LLJ7.L7|
|
||||||
|
LL-7LLJF-7JL|LF-JLJF7FJL7F7LJFJFJ|FJ||||FJL7FJF-J||||FJL7|L-7||L7FJ|F-JFJ||LJ|F7L7|||L-7L7|||LJL-7FJL7L-7FJ||||F--7LJL----7|L--7.---J.FJ-7.J
|
||||||
|
L|-F-7F--|.F7LL7F7FJLJ|JLJL7FJFJFJL7|LJ|L7FJ|-L--J|||L7FJL7FJ|L7|L7|L7FJFJ|F-J|L-JLJL7FJFJ|||LF--JL7||F7|L7|LJLJF7|F7F-7F-J|F7FJ-|L-J.L|||-|
|
||||||
|
-JF.LL-J-FLJJ.LLJ||LFF7F7F7LJJL-JF-JL-7|FJL7L---77||L7||F-J|FJF|L7LJL||-L-J|F7L--7F--JL7L-JLJFJF-7FJFJ||L7||JF--J||||||LJF7LJ|L7FJF---.F-7-J
|
||||||
|
LFJF---L.-7JF-7LFJ|F-J||LJL------JF-7FJ|L-7L7F7FJFJ|FJ||L7FJL-7|FJF--JL--7FJ|L7F-JL7F-7L-77F-JFJFJL7L7|L7||L-JF7FJ|||L---JL7FJFJ7LLJ7.|.7L7J
|
||||||
|
-L7L77.|.FJ|J.J.L-JL-7|L-7F7F-7F-7L7||FJF7L7||||7L7|L7||FJL7F7||L7L-7F7F7||FJFJL7F-J|FJF7L7L-7L7L7FJ7||FJ||F-7|LJJ||L7F---7|L-J|J.|7||7JJFL.
|
||||||
|
L7L-J7-F|J-FF.|.|L.F7||F7LJLJFJL7L7|LJL7|L7|LJLJF7|L7||LJF-J|LJL-JF7||LJLJ||FL7FJ|F7||FJL7L-7|FJFJL-7||L7|||-|L--7||FJL--7||JJ.-.|FL7|.|F--7
|
||||||
|
FJL|.|LLLL7|L7-F|7F|LJLJL----JF7|FJL7F-J|FJL7.F-JLJFJLJF-JF7L-7LF-JLJL7F--JL7FJ|FJ||||L7FJF7||L7L7F-JLJFJ||L7L---JLJL-7F-JLJJ-|.|L7-FJFF|---
|
||||||
|
F|---7.L-|-LFJ-FJLJL-7F------7|LJ|F7||F7||F-JFJF7F7L--7L-7||F7L7L---7FJ|F-7FJL7||FJ|||FJL7||||FJFJL7F-7L7|L7L--------7|L7F7JJ-7.L7JFF.7||7|7
|
||||||
|
.L-7.L-.F7..-JLF.LF--J|F-----J|JFJ|LJ|||||L-7L-J|||F7FJF-J|LJ|FJF---J|FJL7|L-7LJ||FJ|LJ77||LJ||FJF-JL7L-J|FJF7F7F7F-7|L7LJL-7-JF|--L|F|-J-FJ
|
||||||
|
FF-L-||.F|..||.|7.|F-7|L-7F7F7L7L7L7FJ||||F7|F--J|||LJFL-7|-FJ|7L7F-7|L-7||F-J.FJ|L7L7F7FJL7LLJL7|F--JF-7|L7|LJLJLJJLJFJF-7FJ|LL-.|.L|JJFLL7
|
||||||
|
FJ-J-||F-JLF-7F.L7LJLLJF7LJLJ|FJFJFJL7|LJ||||L-7FJ|L7F---JL7L7L-7||FJL7J|||L--7L7L7L7LJ||F7L---7||L7F7|JLJ||L-7F7F77F7L-J7||F-J.|F|-7|J7F77|
|
||||||
|
|7J|.FLFJF7J.LJ7F7FLF--JL----J|FJFJJJ||F-J|||F-JL7L7||F-7F-JFJF7||||F7L7LJL7F7L7L7L7L7FJ|||F7F7|||FJ|||F---JF7LJLJL-JL-77F|L7LF7|F|-LJF|F77.
|
||||||
|
L7-|7L-JL|--|.FLJLJ7L-----7F7FJL7L--7LJL7FJLJL7F7|FJ|||FJL7-|FJLJLJLJL-JF--J|L7L7L7|||L7||||||||||L7|LJL7F7FJ|F7F-7F7F7L7FL-JJLL7-F..|LJ-LF7
|
||||||
|
L-.L-JJ.FJ|-|777F---F-----J||L-7|F7FJF--J|F---J||||FJLJL7FJFJ|F7F-7F-7F7L7F-J||FJFJ|FJFJ||||||LJ||LLJF--J|||FJ||L7LJLJL7L7|7L.FFJJ|7.77FF7L-
|
||||||
|
7--|J7.F77|FLLF--JFL|F7F-7FJ|F-JLJ||LL--7||F7F7||||L7F7L||.L7LJLJFJL7LJL-JL--7LJ7L-JL7|FLJLJ|L-7||F--JF-7|LJ|FJL7L--7J-L7L-7J.LJJ7L-7JF7LJ7.
|
||||||
|
7|..F|J7|.|JLL|7J.|.LJLJFJL7|L-7-LLJF7F7||LJLJ|||||FJ|L-JL-7L-7F7L7JL7F--7F-7L---7F--JL7F77FJF7|LJL--7L7|L7FJ|F7|F-7L7F-JF-JL7J|J|F7|FLJ-L-7
|
||||||
|
FJ7FFLJ|||..|.L--L|-F---JF-JL7FJ|7-L|LJLJL7F--J|LJ||J|F-7F7|F-J||FJF-J|F-JL7|F7F-J|F--7LJL7|FJLJF----JFJ|FJL-J|LJ|-L-JL-7|J-FF7F77|-J-FJ.|F|
|
||||||
|
7|.-|J-FJL|-|--J..L.L---7L7-F||-F---L-7F7FJL-7FJF-J|FJ|7LJLJL-7||L7L7FJL-7FJ|||L7-LJF-JF-7|LJF-7|F7F-7|LLJF7F7|F7L---7F-JL77L|FJL-JJ|7.FFF-J
|
||||||
|
LJ-L7.F---JL|F|7-7J-JFLL|FJ7-LJFJJ|F|-LJ|L-7FJ|-L7FJL7|F------J|L-JFJL7F-J|FJ|L-JF-7L-7|J|L--JFJ||LJFJL---JLJ|||L7F7FJ|F--J.|.7|7LJ7L7JJLLJJ
|
||||||
|
F|.F---7LJF-FJL--|.|.FF-|L7F-7J|77FF|FF-JF-JL7L-7|L7.LJL7F-7F-7L--7L--JL7FJL7|F7LL7L--JL7|F7F7L7|L7FJF--7F7F-J||FJ||L7|L-7JF|7|-J||--|J.7.L|
|
||||||
|
|.F|-JLLJ-F--J-L|LF--FJFL7LJFJ|LL7FLLFJF7|J.LL-7||FJ.F--J|-|L7L7F-JF----JL-7|LJ|F-JF7F7FJLJ||L-JL-JL7|F-J||L7FJ|L7|L-J|F-JJJL7JJJ|J|-L--F--7
|
||||||
|
77||FJ||.|JFFJ-FJF|.|LF-JL--JLJ7L|LLF|FJLJ|-|FLLJLJ.LL--7|FJFJFJL-7L--7F7F7||F7|L7FJ||||LF-JL-----7FJ|L-7|L-JL-JFJL--7LJJJ-|-|LL.L7|.J7FF.FL
|
||||||
|
LL|J7JF|.|FF7FF---|F|.77FLJ7||.|.F77LLJ-L|--|JLJ7.F-JFJLLJ|FJFJF-7|F--J|||||LJLJFJL7LJ|L7L-7F7F-7FJL7|-FJL7F7J|LL-7F-JJ.|J.F7--J-LJLJJFF7||7
|
||||||
|
-JJLF7J|FJFJ|FL-J7L-J7|-|-L|FF7L-F-7J.L.L|---J.LL-|..F||LFJL7L7|-LJL-7FJ|||L--7.|F-JJFJFJF-J||||LJ|-LJ.L-7LJ|L-.L7LJ-|..|77JL7-|J.F7--|||J|7
|
||||||
|
F|7.77.-7LL7F|F-JF-7LL7-7-|L7|.FL|-F-7.|.7J|J-|-L.LF---F-JF7|FJL-7F7||L7||L7F-J.||-F-JFJFJF7||L---7FJ.-LFJF7L7J-|-||-7F7|JL7LJ-LF7-JJFLLJ|.L
|
||||||
|
FFJ7|F|L--L7--JJ7LL|7.LLL-777F-JFL7||LJF-J-J|L|.FJJLFJLL--J|||F7FJ|L-JFJ||FLJ-L7||FL7FJLL7|LJL-7F-JJL7|LL7||FJJ-7.L7FF7L|-|-77.||LJF777..-7J
|
||||||
|
||LL7|.7..|L-J--F7F---7.|FLF-LJ7F7FF7|LJ-J77||F-7-F.J7J..J.LJ|||L7L--7|-|L-7JJ.FLJ7LLJ7..|L7J.FLJJ|L.L7.FJ|||JFF---FFJ|F|F|7|7--7FLFJJ-L.||.
|
||||||
|
.LLL-|F|JFF-|F-.L|L|-|LL7F-JJ|7FLFFJFJ7|--77|LL..FL7F7.|-7FJ.LJ|FJF--JL7|F-JJ7F-J--J|LFF-L-J7J7|LFLJF-F-L-JLJLJ-|.F|LFLLJF7LJ.-7L||||L77.-J7
|
||||||
|
.|.|L|L--7J-|J.7F7F|LF7F7-JJF--.LLL-.FJJ|FF--|LF-7-|7.|.L|J..|.LJ-L-7F7||L-7.|FJLF7FJ7|77|L-7|LJ.||F|L-7-FJJ7.|J.F-|LJLF7--7J.LJFJ-|-7L77|LJ
|
||||||
|
FLF||LL|7J|J|.FFJL||.FJLJFJ-L-|L-LJLFJ.FL-|7.F7|F|F||.FJ..L|-7-J.F--J|LJ|F-J-FJ||FLJFF|L-J||L7FL7J77F-|JF7JFFF|7-|.|...J|.F|LF-L|J.LFJJL77|.
|
||||||
|
|F-77LLL|-J----L|7LJ7L-|-JJ7|F-|.LL77LJ7|.LLF|FLFJ7FL-|L77.|L|LLFL--7L-7|L7.FJF|--LL--F--|F|F--JF.FLJ...||7FFJLJ-77L7J-LF7F7FFF7|F7.J|FLJFF.
|
||||||
|
L7L|-7-||L7.||FLJ7FJ7JF7.|.|FL-J7.FL-JF|-7FL|LL-LF|L||.FLJFF7J-7FLF-JF-J|FJFL7||.FJL||J|-JJ.L|.FF-L--L7F|FL---7|F-77FJFL.F7.L|LL-|-FLJ-J-FJ-
|
||||||
|
LLF7.J.L7-J-L-|.L|JL|JLL-FL7JLL7.L-JJL-J-LJ.LJL77-|-J-.F-LF-JJ.LJLL--JLLLJ-L-FLF-7...J-J-LJF.L.L7JL|JLLFF7J-LFL--L|-JLJ.--L7.|.LLJL|-J.F-JJ.
|
||||||
90
day_2.py
Normal file
90
day_2.py
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
import pathlib
|
||||||
|
|
||||||
|
|
||||||
|
NUMBERS = {
|
||||||
|
"one": 1,
|
||||||
|
"two": 2,
|
||||||
|
"three": 3,
|
||||||
|
"four": 4,
|
||||||
|
"five": 5,
|
||||||
|
"six": 6,
|
||||||
|
"seven": 7,
|
||||||
|
"eight": 8,
|
||||||
|
"nine": 9,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def solution_line(line: str) -> int:
|
||||||
|
first_num = None
|
||||||
|
pending_chars = ""
|
||||||
|
break_out = False
|
||||||
|
for char in line:
|
||||||
|
if break_out:
|
||||||
|
print("breaking")
|
||||||
|
break
|
||||||
|
if char.isnumeric():
|
||||||
|
first_num = char
|
||||||
|
pending_chars = ""
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
pending_chars += char
|
||||||
|
if pending_chars in NUMBERS:
|
||||||
|
first_num = str(NUMBERS[pending_chars])
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
for word in NUMBERS:
|
||||||
|
if pending_chars.startswith(word) or pending_chars.endswith(word):
|
||||||
|
first_num = str(NUMBERS[word])
|
||||||
|
break_out = True
|
||||||
|
break
|
||||||
|
if first_num is None:
|
||||||
|
return 0
|
||||||
|
pending_chars = ""
|
||||||
|
for char in line[::-1]:
|
||||||
|
if char.isnumeric():
|
||||||
|
return int(first_num + char)
|
||||||
|
else:
|
||||||
|
pending_chars += char
|
||||||
|
if pending_chars[::-1] in NUMBERS:
|
||||||
|
last_num = str(NUMBERS[pending_chars[::-1]])
|
||||||
|
return int(first_num + last_num)
|
||||||
|
else:
|
||||||
|
for word in NUMBERS:
|
||||||
|
if pending_chars[::-1].startswith(word) or pending_chars[::-1].endswith(word):
|
||||||
|
return int(first_num + str(NUMBERS[word]))
|
||||||
|
raise Exception
|
||||||
|
|
||||||
|
|
||||||
|
def solution(input_text: str) -> int:
|
||||||
|
total = 0
|
||||||
|
for line in input_text.split("\n"):
|
||||||
|
solution_for_line = solution_line(line)
|
||||||
|
total += solution_for_line
|
||||||
|
return total
|
||||||
|
|
||||||
|
|
||||||
|
sample_input = """two1nine
|
||||||
|
eightwothree
|
||||||
|
abcone2threexyz
|
||||||
|
xtwone3four
|
||||||
|
4nineeightseven2
|
||||||
|
zoneight234
|
||||||
|
7pqrstsixteen"""
|
||||||
|
first, second, third, fourth, fifth, sixth, seventh = sample_input.split("\n")
|
||||||
|
first_solution = solution_line(first)
|
||||||
|
assert first_solution == 29, first_solution
|
||||||
|
second_solution = solution_line(second)
|
||||||
|
assert second_solution == 83, second_solution
|
||||||
|
third_solution = solution_line(third)
|
||||||
|
assert third_solution == 13, third_solution
|
||||||
|
fourth_solution = solution_line(fourth)
|
||||||
|
assert fourth_solution == 24, fourth_solution
|
||||||
|
fifth_solution = solution_line(fifth)
|
||||||
|
assert fifth_solution == 42, fifth_solution
|
||||||
|
sixth_solution = solution_line(sixth)
|
||||||
|
assert sixth_solution == 14, sixth_solution
|
||||||
|
seventh_solution = solution_line(seventh)
|
||||||
|
assert seventh_solution == 76, seventh_solution
|
||||||
|
answer = solution(sample_input)
|
||||||
|
assert answer == 281, answer
|
||||||
|
print(solution(pathlib.Path("day_1.txt").read_text()))
|
||||||
94
day_3.py
Normal file
94
day_3.py
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
import pathlib
|
||||||
|
|
||||||
|
sample_input = """467..114..
|
||||||
|
...*......
|
||||||
|
..35..633.
|
||||||
|
......#...
|
||||||
|
617*......
|
||||||
|
.....+.58.
|
||||||
|
..592.....
|
||||||
|
......755.
|
||||||
|
...$.*....
|
||||||
|
.664.598.."""
|
||||||
|
|
||||||
|
|
||||||
|
def solution(data):
|
||||||
|
total = 0
|
||||||
|
lines = data.split("\n")
|
||||||
|
prev_line = None
|
||||||
|
for lidx, line in enumerate(lines):
|
||||||
|
next_line = None
|
||||||
|
if lidx < len(lines) - 1:
|
||||||
|
next_line = lines[lidx + 1]
|
||||||
|
|
||||||
|
num = ""
|
||||||
|
|
||||||
|
prev_char = None
|
||||||
|
for cidx, char in enumerate(line):
|
||||||
|
next_char = None
|
||||||
|
if cidx < len(line):
|
||||||
|
next_char = line[cidx]
|
||||||
|
|
||||||
|
if char.isnumeric():
|
||||||
|
num += char
|
||||||
|
else:
|
||||||
|
if len(num) > 0:
|
||||||
|
num_int = int(num)
|
||||||
|
len_num = len(num)
|
||||||
|
prev_char = line[cidx - len_num - 1]
|
||||||
|
num = ""
|
||||||
|
if (
|
||||||
|
prev_char is not None and prev_char != "." and not prev_char.isnumeric()
|
||||||
|
) or (next_char is not None and next_char != "." and not next_char.isnumeric()):
|
||||||
|
total += num_int
|
||||||
|
print(num_int)
|
||||||
|
else:
|
||||||
|
line_indices = []
|
||||||
|
for i in range(len_num + 1):
|
||||||
|
if cidx - i >= 0:
|
||||||
|
line_indices.append(cidx - i)
|
||||||
|
if cidx - len_num - 1 >= 0:
|
||||||
|
line_indices.append(cidx - len_num - 1)
|
||||||
|
if cidx + 1 < (len_num - 1):
|
||||||
|
line_indices.append(cidx + 1)
|
||||||
|
if num_int == 509:
|
||||||
|
print("---")
|
||||||
|
print(509)
|
||||||
|
print(f"{len_num=}")
|
||||||
|
print(f"{line_indices=}")
|
||||||
|
print(f"{prev_line=}")
|
||||||
|
print(f"{line=}")
|
||||||
|
print(f"{next_line=}")
|
||||||
|
print("---")
|
||||||
|
for ix in line_indices:
|
||||||
|
if (
|
||||||
|
prev_line is not None
|
||||||
|
and prev_line[ix] != "."
|
||||||
|
and not prev_line[ix].isnumeric()
|
||||||
|
):
|
||||||
|
total += num_int
|
||||||
|
print(num_int)
|
||||||
|
# print(f"{ix=}")
|
||||||
|
# print(f"{prev_line[ix]=}")
|
||||||
|
# print(f"{prev_line=}")
|
||||||
|
# print(f"{line=}")
|
||||||
|
break
|
||||||
|
if (
|
||||||
|
next_line is not None
|
||||||
|
and next_line
|
||||||
|
and next_line[ix] != "."
|
||||||
|
and not next_line[ix].isnumeric()
|
||||||
|
):
|
||||||
|
total += num_int
|
||||||
|
print(num_int)
|
||||||
|
# print(f"{ix=}")
|
||||||
|
# print(f"{next_line[ix]=}")
|
||||||
|
# print(f"{next_line=}")
|
||||||
|
break
|
||||||
|
prev_line = line
|
||||||
|
return total
|
||||||
|
|
||||||
|
|
||||||
|
# print(solution(sample_input))
|
||||||
|
print(solution(pathlib.Path("day_3.txt").read_text()))
|
||||||
|
# print(solution(pathlib.Path("day3_short.txt").read_text()))
|
||||||
140
day_3.txt
Normal file
140
day_3.txt
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
.........426.............985.........40..........207............................841..463................................633........17.384...
|
||||||
|
531&......+..........125....-..312..........#........895......998..945.....@......$.....-...33...................353.....*........*.........
|
||||||
|
........................#......*...........21..727..*..../..-./.............545......80...................602......@..272.......743.........
|
||||||
|
...........558.577..........486...186*925.....*....483.883.1....286...................................625..................#474.....491.....
|
||||||
|
..............*.........243.................287................*............$....245............830.........793......#..........306..*......
|
||||||
|
238.685.................*................#.........%........807.........28.947.................*.....705.....*....573...500*781...#..496....
|
||||||
|
..................989..923.......713...539......917.................115..*.....-...........662.........-......413...........................
|
||||||
|
...........=......*..........886.*.........................442......*...........398........*.............%.............636...........%......
|
||||||
|
............976.413...498..../...266........796....................87.....................969.881..&.....815...........*.....279....415.....
|
||||||
|
......728*..............*..............129..........670...890.....................760...=.......@.832........227.....632.212*...............
|
||||||
|
..........257.....712.491....-41...........970........*....*...373........742.......*....330....................*.....................814...
|
||||||
|
....................*..................415......406..441..35..../.........-..........828.........................239.....@...533*206........
|
||||||
|
......687.........834......448...658...*..........&..................467*..................244.......+332....*..........35..............*...
|
||||||
|
.............453.......616..*...........609.............662......672.....56........661.602*...............549.661...................141..73.
|
||||||
|
.......699...*.........*...904..........................&..........*...@..............................189..........$677.......473.....*.....
|
||||||
|
........*..670.........938.........267.......684...........514...211....875.........667..171.110&.426*......../...............*........29...
|
||||||
|
.....164..........................*....@786.*..........646.=.........43.......885....+...=.............641.....996...........117....28......
|
||||||
|
.........*921....150*....635..973............587...346*......771........&3....+....................=................................@.......
|
||||||
|
......962............821....*...*...........................$....174............391+......732*177...101.....146.............555.............
|
||||||
|
..........................117.965.........327.....................*../127.54.........354.....................*...37/.......&....56....656...
|
||||||
|
.335.747*967..*469.................................-.....$.450..560...........553...+.......327*..........215.........950..............-....
|
||||||
|
......................253%...........796.........267...946..*........&...583.-...........-......727.37........@....#....-.......337.........
|
||||||
|
.............-...............-.649.........-.................316..680......*.....982..398..................961......632...718......*..%.....
|
||||||
|
..........599.............876......700..617....344*138...611..........907........-...........................................*...291...209..
|
||||||
|
.860...........................*......*......................850........*..............=....761...721*804...............%...33..............
|
||||||
|
...*...........................61./....378........268....956..#..813@..191...610.168..216....$...............853%......826..................
|
||||||
|
.757..=422.........................427..........+....%....=...................#.../..............908................@.......................
|
||||||
|
.........................172.................464...........................-.....................*.......667...931...131..@.........939.....
|
||||||
|
............456.....462....*.....985................801......933..464..641.874............*189..42.........................430..596...=.....
|
||||||
|
..............*....%........945.@........456....*23...........*..........*.............335.........889..557#....................*...........
|
||||||
|
....810.........65......382................#.532...............704......796...192....................@..........46...527......929...........
|
||||||
|
...=....%..................*433...........................925.............................................30.....*................617.......
|
||||||
|
.....792.......386.....................575...%859................................................................993...334*..........&......
|
||||||
|
..........657.&.....&....................*.....................296.+513.............36..........267........703.............186..............
|
||||||
|
......336...........443...#.....474......897.215*346.....100.....=...........+.812../......47.%....*444..&............128........-...196....
|
||||||
|
705.............980......932.......*122..................*...........305..817..*......424.../.40.........193.210.736.*..../....&.512..*.....
|
||||||
|
...%...............*.....................................326..615.......*.......472..*...........350*201.......*..@....681...902......330...
|
||||||
|
...................907...303...........140*112.............../........93...875......339....361=.............730.............................
|
||||||
|
..............540...........*...................498.170.....................*....................#...757........241...............201.......
|
||||||
|
...359*42.....=.......309...561....528.....444.....*........570............................125/.379......707.......*........*285.$..........
|
||||||
|
............%.........................*770.............253..*....515..926..................................=........45.946..............*...
|
||||||
|
....155..573..103.24..............................@......*...179..*........275......................*...................*................134
|
||||||
|
....*............*......963...........444......801...656.796.....524.84#......*433.......997.....122.500....711.......447...................
|
||||||
|
..80.........992..........*............*...+..........*....................................*.................*...............$.....894...61.
|
||||||
|
........183..../.......492..955....+.222....519........373....=......304........151.........691..............655......223....37......*......
|
||||||
|
.........$...................&..221................859.....929.......*...398.......*......-......591.....&.............$..........134.......
|
||||||
|
................960......264........./..............#..............508...@........118..449........*...907......=791.........................
|
||||||
|
...........239....#.....=...........248.531...................@..................................696.......741...................50..174....
|
||||||
|
.....=......*............................*.....506*809.....796.....906.....=...........17*...........51...*.......................*..*......
|
||||||
|
...520...198...781....253..............957.222.....................*.....216..............513....959*....638.312........172.318......514....
|
||||||
|
...............*.........*239...............*.....%.....923.........852..............414+............../.....%...104.......*.............936
|
||||||
|
.....221.....116.....712...........201...346...475.........*...............&..............745....109..202...........*.......................
|
||||||
|
....*............957*.....$....353...............................171....468....%..........*.........*.........906..593..592#......&316......
|
||||||
|
.........232...........251....#.......%.......................$...*...........179..904.....365.....331..541..*..............................
|
||||||
|
...................................856..........412..-....844.877..871....*.........../.................*....416...........810*685..776.969.
|
||||||
|
.158.......@......319........681..........780.#...+...428.*............650.241....@....................................123.............*....
|
||||||
|
....%....826......@....%.688*.......983../....723.........892...................270.....234....*......443...970...........*.................
|
||||||
|
....................314................*.................................................*..=...588......*.....%........225...496*732.......
|
||||||
|
...344+........................644......413.997....553...................................87.282..........943........866.....................
|
||||||
|
..........*563....910......267..*..546........*.....*..................60.............+..........421*739.............*...251.169.605........
|
||||||
|
938.....52...........*761.*....762............335....842.....................44/.......528..........................77......*.......*201....
|
||||||
|
..........................597......$.....................896.....543.76.........................938./707...............8........982.........
|
||||||
|
...894..195.......310*986.....=54.854...553................#.......*...*..192...127..566*768..........................*....850...*..970.....
|
||||||
|
.....*..................................=...835...874...........663...65..*.....*.................*947..539.12...947.485.....*..749..*......
|
||||||
|
......34.378........$............#.........*......*......922...............947.598..880........723.....*....*...@..........791........18....
|
||||||
|
..165.............388..94.......863........132.184..973.*.......58.................*......226..............618.....................=........
|
||||||
|
.....*.............................................@.....154.............240..34.297.......*...........429.....625...............672........
|
||||||
|
......619...#............641*520.340.918............................../..@...............390......502..-..../.*.....164....789........984...
|
||||||
|
.............933.....................*.....838..240..400&..........288.......196..109............*.......749...513........*.......751...*...
|
||||||
|
.....709.....................881..905.........*....*.....................643..*.....@...114...608......................190..........*....993
|
||||||
|
...............109...........*........368..123....98...501.....691..410-...*.126......................92........+..546...........219........
|
||||||
|
..................*......18..70..296.....*..............&..987..*........235............8.............././...828...*........................
|
||||||
|
.151.............551.153*..........*.....883...............*.......*833........497..287*..427.377%.428...910......448.598.....334..53..619..
|
||||||
|
..........589.......................723.........832.131..705.............................#............*.................@......*...*..*.....
|
||||||
|
..........*........794*686......790...............*..........192..............................970......612.546.98............942......941...
|
||||||
|
....223.686..............................547...665.......396..*.....210......408.322..839.......*..557......*...+.................521.......
|
||||||
|
.....*.......170...........166.....390..............100.....*..921....*.........*.....+........984....*..450..........639..../....*...296...
|
||||||
|
...372..........*760...266.*...600*......999.........*...906........................#....632.......469........250.......*...422..643....@...
|
||||||
|
..............-........#...911......494...*...355...159.......................848..676.................../.....*......35....................
|
||||||
|
......81$.....544..67...............*.....159....*............209.747*29........./..........812.........430.232...................199*587...
|
||||||
|
760.................*...#........331.................%...158...................#.....................29.................596...477...........
|
||||||
|
..........%./....922...388..970...............510...68......*....590....545...621...-..977.593..889...*.........................=..879..*389
|
||||||
|
....163.618.370..............................*...............946..................332....*.......&..&..837.658......................*.......
|
||||||
|
.............................835.....129...566.....690.237..............#.............$.....386....36......#......411.....52..733...783.....
|
||||||
|
.........670...978.84...........=......*.......991*....*....632.......957...52.......548.....&....................*.........-.*.............
|
||||||
|
....920....*..*.....*...............949..............482...*......812........-...413.....201................663.286.....-......424...296*630
|
||||||
|
........992...307...634.................716..287.........811.....+........4......*...413*.........896......*...........84.52................
|
||||||
|
.........................253.............................................*.....459..........926..*.......446..............$.......175.......
|
||||||
|
.........................*.......168-.....781*......344.........85......373..........224.....*..393.545........749%.643......-..%.....968...
|
||||||
|
...*776../145...&.....140..........................*........578*........................#..45..........*............/......596..639.........
|
||||||
|
415............393..................988...........878.22..............909..........284...............173...564*48.......33.............444..
|
||||||
|
........259..........%.....207-........*631...........*......669*...................*...........282......%........%.....*...................
|
||||||
|
.130................119.....................422......440.........461...-154........575.............$.=....329...180..576.....367............
|
||||||
|
...........618...............=.../..538$.......&............493*............729..........903.........82.......................*.............
|
||||||
|
.............*............541..124.........627........806*......666.703.146*...........*.%..............-.....................142........551
|
||||||
|
...#..3......660.....................*........*.......................*......./164...498..............872.621....991........................
|
||||||
|
174....*...............683..542*.....960.....782.....755............557../.....................#282.......#.........*409.103.......943......
|
||||||
|
........231.891...........*.....782.....................*992.............492......69.......610...............+...............557......*.....
|
||||||
|
............*...964.104.289..........853......691..830.......&.....................*...870.*.............77..189.310*...............583.....
|
||||||
|
....449....435.*....../........732+.=.........*...*.........238...161.....688......675..*...934......................891....................
|
||||||
|
...............21.......................239........430..........@....*.....@..376.......205......790........................73..334...598...
|
||||||
|
......863-................474...339.....*.................765.534.116...........*..................*..........@.......513...-....%...../....
|
||||||
|
.262..........#......785....*..$....915..622....440$.&416.*.............143...34..45....515#....448...........268........*..................
|
||||||
|
...*..+.......844......*.142..................*...........666.......266...*......*...................236..............439......338.496...285
|
||||||
|
647...393...........236.......218..........819.779...+................./.........765...................*.......292.........$......*.........
|
||||||
|
..........................257....*.................274.........247...........951........................121........391....817.../...........
|
||||||
|
........742..................&....98...................628....*.................%.168..........539............................701...........
|
||||||
|
.......................659................................*.622...868.............=...713.357....*.298....917...781.........................
|
||||||
|
.....467....382..899......*819.....952*388..............684.......*.....................*.....558...%....%...............$..*.....60..615...
|
||||||
|
.....*.....*.......*............-..........604.................85.76....%893.866.&...784.....................$423.....334....935..*....*....
|
||||||
|
..154....424......583.......8....926...$............$441.....................*...50...............=....155.......................599..115...
|
||||||
|
.............%............-...........96.506..846.................152.....985..........589.......384...@...44...............560.............
|
||||||
|
.............161...%167..906..901.........*......&....92..+610.......*247.............*...................*...........330..*....92..........
|
||||||
|
....26.........................*...........523........*......................190...711.......*..........302.690.........*.986........714@...
|
||||||
|
........154.....................763..59..............305..560...726......79...*...........521.160..159................81....................
|
||||||
|
991.339*........-.........434..........*....................-..*.........*..626....................*..............692......+................
|
||||||
|
..............448.....96./...........782............353........949.....655...............752.522....905...964#......-.683..83...............
|
||||||
|
.......=..........127../.........$....................../.......................................*......................+.........671........
|
||||||
|
.783..14...........*...........746....271.38............666..................513..37.....=984.824....@....$..463.................*...154....
|
||||||
|
.................60..892..304............*....354*20.................99.........*..%.351............367..914.*....622...........310...*..194
|
||||||
|
.../.....339............*......318..........6.................329*...*..240.....76...*...45....*..............601......+.............211....
|
||||||
|
.700...../...925......616...........*56.570.$...970...751...........556..%..958.....50..*...667........63...........793.....................
|
||||||
|
...............................8.........*........*......*854................*.........304........324.....%..................*.....213%.....
|
||||||
|
832...............%....$.........572......303.....872.=.............822.....2...434........%..76.@......34...866.684*.......571..........756
|
||||||
|
.....922........908.811......792....#.967..............432..............304......+........676......314........*..................364....#...
|
||||||
|
........................=.....*.........*.......39............127.........*........27..............+.........937.172.....532*......&........
|
||||||
|
....*.............156....626...667......151..../.......................776..846...*............562.....254$......../..@......297.......751..
|
||||||
|
..457.213.....403*....=......................#.......656.....546%..............*.......*866......+...................954.576...........%....
|
||||||
|
.........*..........227........364....752..977.231..*...........................739.610...................................*...730..#........
|
||||||
|
......838......645........$692.................*....170...............906........................149.....578..470.........981.....310.......
|
||||||
|
959...........*....447.................33.513...412..........784.......*....................365.....%....*..................................
|
||||||
|
...../......593......*....=..965..=907...*.............................482.....................*.......915..............327...529.....425...
|
||||||
|
......613.........%.490..971.-..............&542..............................695.......803.....917........446.....53...*........*455..$....
|
||||||
|
...............258..................+..303+..........................517....7*....598..@....472.....224...*............903..#...............
|
||||||
|
........................724...+....575........312...&.........................................*....*......628........@.....108..............
|
||||||
|
.....343.374.......$....*....675...............%...371......409.....502.928.135...482.384....195...59.............144..982........787.......
|
||||||
|
....*....*.......289..729..........990....................../.........+.......*..*......*...............*.@...........#.............+.......
|
||||||
|
....147...613.............*534.........938....882...740.518.....994..........800.222..933...836.......260..339.=...........628.$935...../...
|
||||||
|
...............726.....308.............%........*...../.+........=..../146.................*...................509..........*........593....
|
||||||
|
930.........................823..............994.................................100.....857.......................708.220.184..............
|
||||||
Reference in New Issue
Block a user