Tidy up
This commit is contained in:
88
src/P1.py
88
src/P1.py
@@ -1,88 +0,0 @@
|
|||||||
# --- Day 1: Report Repair ---
|
|
||||||
|
|
||||||
# After saving Christmas five years in a row, you've decided to take a vacation
|
|
||||||
# at a nice resort on a tropical island. Surely, Christmas will go on without you.
|
|
||||||
|
|
||||||
# The tropical island has its own currency and is entirely cash-only. The gold
|
|
||||||
# coins used there have a little picture of a starfish; the locals just call
|
|
||||||
# them stars. None of the currency exchanges seem to have heard of them, but
|
|
||||||
# somehow, you'll need to find fifty of these coins by the time you arrive so
|
|
||||||
# you can pay the deposit on your room.
|
|
||||||
|
|
||||||
# To save your vacation, you need to get all fifty stars by December 25th.
|
|
||||||
|
|
||||||
# Collect stars by solving puzzles. Two puzzles will be made available on each
|
|
||||||
# day in the Advent calendar; the second puzzle is unlocked when you complete
|
|
||||||
# the first. Each puzzle grants one star. Good luck!
|
|
||||||
|
|
||||||
# Before you leave, the Elves in accounting just need you to fix your expense
|
|
||||||
# report (your puzzle input); apparently, something isn't quite adding up.
|
|
||||||
|
|
||||||
# Specifically, they need you to find the two entries that sum to 2020 and then
|
|
||||||
# multiply those two numbers together.
|
|
||||||
|
|
||||||
# For example, suppose your expense report contained the following:
|
|
||||||
|
|
||||||
# 1721
|
|
||||||
# 979
|
|
||||||
# 366
|
|
||||||
# 299
|
|
||||||
# 675
|
|
||||||
# 1456
|
|
||||||
|
|
||||||
# In this list, the two entries that sum to 2020 are 1721 and 299. Multiplying
|
|
||||||
# them together produces 1721 * 299 = 514579, so the correct answer is 514579.
|
|
||||||
|
|
||||||
# Of course, your expense report is much larger. Find the two entries that sum
|
|
||||||
# to 2020; what do you get if you multiply them together?
|
|
||||||
|
|
||||||
with open("files/P1.txt", "r") as f:
|
|
||||||
numbers = [int(number) for number in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
for n in numbers:
|
|
||||||
for i in range(len(numbers)):
|
|
||||||
if n + numbers[i] == 2020:
|
|
||||||
print(f"{n} times {numbers[i]} is {n*numbers[i]}")
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
continue
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# The Elves in accounting are thankful for your help; one of them even offers
|
|
||||||
# you a starfish coin they had left over from a past vacation. They offer you
|
|
||||||
# a second one if you can find three numbers in your expense report that meet
|
|
||||||
# the same criteria.
|
|
||||||
|
|
||||||
# Using the above example again, the three entries that sum to 2020 are 979,
|
|
||||||
# 366, and 675. Multiplying them together produces the answer, 241861950.
|
|
||||||
|
|
||||||
# In your expense report, what is the product of the three entries that sum to
|
|
||||||
# 2020?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
for n in numbers:
|
|
||||||
for i in range(len(numbers)):
|
|
||||||
for j in range(len(numbers)):
|
|
||||||
if n + numbers[i] + numbers[j] == 2020:
|
|
||||||
print(
|
|
||||||
f"{n} times {numbers[i]} times {numbers[j]} is "
|
|
||||||
f"{n*numbers[i]*numbers[j]}"
|
|
||||||
)
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
continue
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
continue
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
227
src/P10.py
227
src/P10.py
@@ -1,227 +0,0 @@
|
|||||||
from functools import lru_cache
|
|
||||||
|
|
||||||
import numpy as np
|
|
||||||
|
|
||||||
# --- Day 10: Adapter Array ---
|
|
||||||
|
|
||||||
# Patched into the aircraft's data port, you discover weather forecasts of a
|
|
||||||
# massive tropical storm. Before you can figure out whether it will impact your
|
|
||||||
# vacation plans, however, your device suddenly turns off!
|
|
||||||
|
|
||||||
# Its battery is dead.
|
|
||||||
|
|
||||||
# You'll need to plug it in. There's only one problem: the charging outlet near
|
|
||||||
# your seat produces the wrong number of jolts. Always prepared, you make a
|
|
||||||
# list of all of the joltage adapters in your bag.
|
|
||||||
|
|
||||||
# Each of your joltage adapters is rated for a specific output joltage (your
|
|
||||||
# puzzle input). Any given adapter can take an input 1, 2, or 3 jolts lower
|
|
||||||
# than its rating and still produce its rated output joltage.
|
|
||||||
|
|
||||||
# In addition, your device has a built-in joltage adapter rated for 3 jolts
|
|
||||||
# higher than the highest-rated adapter in your bag. (If your adapter list were
|
|
||||||
# 3, 9, and 6, your device's built-in adapter would be rated for 12 jolts.)
|
|
||||||
|
|
||||||
# Treat the charging outlet near your seat as having an effective joltage
|
|
||||||
# rating of 0.
|
|
||||||
|
|
||||||
# Since you have some time to kill, you might as well test all of your
|
|
||||||
# adapters. Wouldn't want to get to your resort and realize you can't even
|
|
||||||
# charge your device!
|
|
||||||
|
|
||||||
# If you use every adapter in your bag at once, what is the distribution of
|
|
||||||
# joltage differences between the charging outlet, the adapters, and your
|
|
||||||
# device?
|
|
||||||
|
|
||||||
# For example, suppose that in your bag, you have adapters with the following
|
|
||||||
# joltage ratings:
|
|
||||||
|
|
||||||
# 16
|
|
||||||
# 10
|
|
||||||
# 15
|
|
||||||
# 5
|
|
||||||
# 1
|
|
||||||
# 11
|
|
||||||
# 7
|
|
||||||
# 19
|
|
||||||
# 6
|
|
||||||
# 12
|
|
||||||
# 4
|
|
||||||
|
|
||||||
# With these adapters, your device's built-in joltage adapter would be rated
|
|
||||||
# for 19 + 3 = 22 jolts, 3 higher than the highest-rated adapter.
|
|
||||||
|
|
||||||
# Because adapters can only connect to a source 1-3 jolts lower than its
|
|
||||||
# rating, in order to use every adapter, you'd need to choose them like this:
|
|
||||||
|
|
||||||
# The charging outlet has an effective rating of 0 jolts, so the only
|
|
||||||
# adapters that could connect to it directly would need to have a joltage
|
|
||||||
# rating of 1, 2, or 3 jolts. Of these, only one you have is an adapter rated 1
|
|
||||||
# jolt (difference of 1).
|
|
||||||
# From your 1-jolt rated adapter, the only choice is your 4-jolt rated
|
|
||||||
# adapter (difference of 3).
|
|
||||||
# From the 4-jolt rated adapter, the adapters rated 5, 6, or 7 are valid
|
|
||||||
# choices. However, in order to not skip any adapters, you have to pick the
|
|
||||||
# adapter rated 5 jolts (difference of 1).
|
|
||||||
# Similarly, the next choices would need to be the adapter rated 6 and then
|
|
||||||
# the adapter rated 7 (with difference of 1 and 1).
|
|
||||||
# The only adapter that works with the 7-jolt rated adapter is the one
|
|
||||||
# rated 10 jolts (difference of 3).
|
|
||||||
# From 10, the choices are 11 or 12; choose 11 (difference of 1) and then
|
|
||||||
# 12 (difference of 1).
|
|
||||||
# After 12, only valid adapter has a rating of 15 (difference of 3), then
|
|
||||||
# 16 (difference of 1), then 19 (difference of 3).
|
|
||||||
# Finally, your device's built-in adapter is always 3 higher than the
|
|
||||||
# highest adapter, so its rating is 22 jolts (always a difference of 3).
|
|
||||||
|
|
||||||
# In this example, when using every adapter, there are 7 differences of 1 jolt
|
|
||||||
# and 5 differences of 3 jolts.
|
|
||||||
|
|
||||||
# Here is a larger example:
|
|
||||||
|
|
||||||
# 28
|
|
||||||
# 33
|
|
||||||
# 18
|
|
||||||
# 42
|
|
||||||
# 31
|
|
||||||
# 14
|
|
||||||
# 46
|
|
||||||
# 20
|
|
||||||
# 48
|
|
||||||
# 47
|
|
||||||
# 24
|
|
||||||
# 23
|
|
||||||
# 49
|
|
||||||
# 45
|
|
||||||
# 19
|
|
||||||
# 38
|
|
||||||
# 39
|
|
||||||
# 11
|
|
||||||
# 1
|
|
||||||
# 32
|
|
||||||
# 25
|
|
||||||
# 35
|
|
||||||
# 8
|
|
||||||
# 17
|
|
||||||
# 7
|
|
||||||
# 9
|
|
||||||
# 4
|
|
||||||
# 2
|
|
||||||
# 34
|
|
||||||
# 10
|
|
||||||
# 3
|
|
||||||
|
|
||||||
# In this larger example, in a chain that uses all of the adapters, there are
|
|
||||||
# 22 differences of 1 jolt and 10 differences of 3 jolts.
|
|
||||||
|
|
||||||
# Find a chain that uses all of your adapters to connect the charging outlet to
|
|
||||||
# your device's built-in adapter and count the joltage differences between the
|
|
||||||
# charging outlet, the adapters, and your device. What is the number of 1-jolt
|
|
||||||
# differences multiplied by the number of 3-jolt differences?
|
|
||||||
|
|
||||||
with open("files/P10.txt", "r") as f:
|
|
||||||
inputs = [int(num) for num in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
# Add zero (charging outlet) and max+3 (device own built-in adapter)
|
|
||||||
joltages = sorted(inputs + [0, max(inputs) + 3])
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
joltages_diffs = np.diff(joltages)
|
|
||||||
|
|
||||||
print(
|
|
||||||
f"The difference is {np.sum(joltages_diffs == 1) * np.sum(joltages_diffs == 3)}"
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# To completely determine whether you have enough adapters, you'll need to
|
|
||||||
# figure out how many different ways they can be arranged. Every arrangement
|
|
||||||
# needs to connect the charging outlet to your device. The previous rules about
|
|
||||||
# when adapters can successfully connect still apply.
|
|
||||||
|
|
||||||
# The first example above (the one that starts with 16, 10, 15) supports the
|
|
||||||
# following arrangements:
|
|
||||||
|
|
||||||
# (0), 1, 4, 5, 6, 7, 10, 11, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 5, 6, 7, 10, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 5, 7, 10, 11, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 5, 7, 10, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 6, 7, 10, 11, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 6, 7, 10, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 7, 10, 11, 12, 15, 16, 19, (22)
|
|
||||||
# (0), 1, 4, 7, 10, 12, 15, 16, 19, (22)
|
|
||||||
|
|
||||||
# (The charging outlet and your device's built-in adapter are shown in
|
|
||||||
# parentheses.) Given the adapters from the first example, the total number of
|
|
||||||
# arrangements that connect the charging outlet to your device is 8.
|
|
||||||
|
|
||||||
# The second example above (the one that starts with 28, 33, 18) has many
|
|
||||||
# arrangements. Here are a few:
|
|
||||||
|
|
||||||
# (0), 1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 17, 18, 19, 20, 23, 24, 25, 28, 31,
|
|
||||||
# 32, 33, 34, 35, 38, 39, 42, 45, 46, 47, 48, 49, (52)
|
|
||||||
|
|
||||||
# (0), 1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 17, 18, 19, 20, 23, 24, 25, 28, 31,
|
|
||||||
# 32, 33, 34, 35, 38, 39, 42, 45, 46, 47, 49, (52)
|
|
||||||
|
|
||||||
# (0), 1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 17, 18, 19, 20, 23, 24, 25, 28, 31,
|
|
||||||
# 32, 33, 34, 35, 38, 39, 42, 45, 46, 48, 49, (52)
|
|
||||||
|
|
||||||
# (0), 1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 17, 18, 19, 20, 23, 24, 25, 28, 31,
|
|
||||||
# 32, 33, 34, 35, 38, 39, 42, 45, 46, 49, (52)
|
|
||||||
|
|
||||||
# (0), 1, 2, 3, 4, 7, 8, 9, 10, 11, 14, 17, 18, 19, 20, 23, 24, 25, 28, 31,
|
|
||||||
# 32, 33, 34, 35, 38, 39, 42, 45, 47, 48, 49, (52)
|
|
||||||
|
|
||||||
# (0), 3, 4, 7, 10, 11, 14, 17, 20, 23, 25, 28, 31, 34, 35, 38, 39, 42, 45,
|
|
||||||
# 46, 48, 49, (52)
|
|
||||||
|
|
||||||
# (0), 3, 4, 7, 10, 11, 14, 17, 20, 23, 25, 28, 31, 34, 35, 38, 39, 42, 45,
|
|
||||||
# 46, 49, (52)
|
|
||||||
|
|
||||||
# (0), 3, 4, 7, 10, 11, 14, 17, 20, 23, 25, 28, 31, 34, 35, 38, 39, 42, 45,
|
|
||||||
# 47, 48, 49, (52)
|
|
||||||
|
|
||||||
# (0), 3, 4, 7, 10, 11, 14, 17, 20, 23, 25, 28, 31, 34, 35, 38, 39, 42, 45,
|
|
||||||
# 47, 49, (52)
|
|
||||||
|
|
||||||
# (0), 3, 4, 7, 10, 11, 14, 17, 20, 23, 25, 28, 31, 34, 35, 38, 39, 42, 45,
|
|
||||||
# 48, 49, (52)
|
|
||||||
|
|
||||||
# In total, this set of adapters can connect the charging outlet to your device
|
|
||||||
# in 19208 distinct arrangements.
|
|
||||||
|
|
||||||
# You glance back down at your bag and try to remember why you brought so many
|
|
||||||
# adapters; there must be more than a trillion valid ways to arrange them!
|
|
||||||
# Surely, there must be an efficient way to count the arrangements.
|
|
||||||
|
|
||||||
# What is the total number of distinct ways you can arrange the adapters to
|
|
||||||
# connect the charging outlet to your device?
|
|
||||||
|
|
||||||
|
|
||||||
@lru_cache(maxsize=256)
|
|
||||||
def recursion(node: int) -> int:
|
|
||||||
if node == len(joltages) - 1:
|
|
||||||
return 1
|
|
||||||
# consider last three nodes (or the end of the list, whichever is first),
|
|
||||||
# and for any that are valid jumps (value is no more than three more),
|
|
||||||
# find the number of paths from that node to the end.
|
|
||||||
return sum(
|
|
||||||
[
|
|
||||||
recursion(current_node)
|
|
||||||
for current_node in range(node + 1, min(node + 4, len(joltages)))
|
|
||||||
if joltages[current_node] - joltages[node] <= 3
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
total_num = recursion(0)
|
|
||||||
print(f"The total number of distint ways is {total_num}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
367
src/P11.py
367
src/P11.py
@@ -1,367 +0,0 @@
|
|||||||
# --- Day 11: Seating System ---
|
|
||||||
|
|
||||||
# Your plane lands with plenty of time to spare. The final leg of your journey
|
|
||||||
# is a ferry that goes directly to the tropical island where you can finally
|
|
||||||
# start your vacation. As you reach the waiting area to board the ferry, you
|
|
||||||
# realize you're so early, nobody else has even arrived yet!
|
|
||||||
|
|
||||||
# By modeling the process people use to choose (or abandon) their seat in the
|
|
||||||
# waiting area, you're pretty sure you can predict the best place to sit. You
|
|
||||||
# make a quick map of the seat layout (your puzzle input).
|
|
||||||
|
|
||||||
# The seat layout fits neatly on a grid. Each position is either floor (.), an
|
|
||||||
# empty seat (L), or an occupied seat (#). For example, the initial seat layout
|
|
||||||
# might look like this:
|
|
||||||
|
|
||||||
# L.LL.LL.LL
|
|
||||||
# LLLLLLL.LL
|
|
||||||
# L.L.L..L..
|
|
||||||
# LLLL.LL.LL
|
|
||||||
# L.LL.LL.LL
|
|
||||||
# L.LLLLL.LL
|
|
||||||
# ..L.L.....
|
|
||||||
# LLLLLLLLLL
|
|
||||||
# L.LLLLLL.L
|
|
||||||
# L.LLLLL.LL
|
|
||||||
|
|
||||||
# Now, you just need to model the people who will be arriving shortly.
|
|
||||||
# Fortunately, people are entirely predictable and always follow a simple set
|
|
||||||
# of rules. All decisions are based on the number of occupied seats adjacent to
|
|
||||||
# a given seat (one of the eight positions immediately up, down, left, right,
|
|
||||||
# or diagonal from the seat). The following rules are applied to every seat
|
|
||||||
# simultaneously:
|
|
||||||
|
|
||||||
# If a seat is empty (L) and there are no occupied seats adjacent to it,
|
|
||||||
# the seat becomes occupied.
|
|
||||||
# If a seat is occupied (#) and four or more seats adjacent to it are also
|
|
||||||
# occupied, the seat becomes empty.
|
|
||||||
# Otherwise, the seat's state does not change.
|
|
||||||
|
|
||||||
# Floor (.) never changes; seats don't move, and nobody sits on the floor.
|
|
||||||
|
|
||||||
# After one round of these rules, every seat in the example layout becomes
|
|
||||||
# occupied:
|
|
||||||
|
|
||||||
# #.##.##.##
|
|
||||||
# #######.##
|
|
||||||
# #.#.#..#..
|
|
||||||
# ####.##.##
|
|
||||||
# #.##.##.##
|
|
||||||
# #.#####.##
|
|
||||||
# ..#.#.....
|
|
||||||
# ##########
|
|
||||||
# #.######.#
|
|
||||||
# #.#####.##
|
|
||||||
|
|
||||||
# After a second round, the seats with four or more occupied adjacent seats
|
|
||||||
# become empty again:
|
|
||||||
|
|
||||||
# #.LL.L#.##
|
|
||||||
# #LLLLLL.L#
|
|
||||||
# L.L.L..L..
|
|
||||||
# #LLL.LL.L#
|
|
||||||
# #.LL.LL.LL
|
|
||||||
# #.LLLL#.##
|
|
||||||
# ..L.L.....
|
|
||||||
# #LLLLLLLL#
|
|
||||||
# #.LLLLLL.L
|
|
||||||
# #.#LLLL.##
|
|
||||||
|
|
||||||
# This process continues for three more rounds:
|
|
||||||
|
|
||||||
# #.##.L#.##
|
|
||||||
# #L###LL.L#
|
|
||||||
# L.#.#..#..
|
|
||||||
# #L##.##.L#
|
|
||||||
# #.##.LL.LL
|
|
||||||
# #.###L#.##
|
|
||||||
# ..#.#.....
|
|
||||||
# #L######L#
|
|
||||||
# #.LL###L.L
|
|
||||||
# #.#L###.##
|
|
||||||
|
|
||||||
# #.#L.L#.##
|
|
||||||
# #LLL#LL.L#
|
|
||||||
# L.L.L..#..
|
|
||||||
# #LLL.##.L#
|
|
||||||
# #.LL.LL.LL
|
|
||||||
# #.LL#L#.##
|
|
||||||
# ..L.L.....
|
|
||||||
# #L#LLLL#L#
|
|
||||||
# #.LLLLLL.L
|
|
||||||
# #.#L#L#.##
|
|
||||||
|
|
||||||
# #.#L.L#.##
|
|
||||||
# #LLL#LL.L#
|
|
||||||
# L.#.L..#..
|
|
||||||
# #L##.##.L#
|
|
||||||
# #.#L.LL.LL
|
|
||||||
# #.#L#L#.##
|
|
||||||
# ..L.L.....
|
|
||||||
# #L#L##L#L#
|
|
||||||
# #.LLLLLL.L
|
|
||||||
# #.#L#L#.##
|
|
||||||
|
|
||||||
# At this point, something interesting happens: the chaos stabilizes and
|
|
||||||
# further applications of these rules cause no seats to change state! Once
|
|
||||||
# people stop moving around, you count 37 occupied seats.
|
|
||||||
|
|
||||||
# Simulate your seating area by applying the seating rules repeatedly until no
|
|
||||||
# seats change state. How many seats end up occupied?
|
|
||||||
|
|
||||||
with open("files/P11.txt", "r") as f:
|
|
||||||
seats = [line for line in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def seats_around(seats: list[str], r: int, c: int) -> int:
|
|
||||||
total = 0
|
|
||||||
around_me = [
|
|
||||||
(-1, -1),
|
|
||||||
(-1, 0),
|
|
||||||
(-1, 1),
|
|
||||||
(0, -1),
|
|
||||||
(0, 1),
|
|
||||||
(1, -1),
|
|
||||||
(1, 0),
|
|
||||||
(1, 1),
|
|
||||||
]
|
|
||||||
for row, col in around_me:
|
|
||||||
_row = r + row
|
|
||||||
_col = c + col
|
|
||||||
if (
|
|
||||||
_row >= 0
|
|
||||||
and _row < len(seats)
|
|
||||||
and _col >= 0
|
|
||||||
and _col < len(seats[c])
|
|
||||||
):
|
|
||||||
total += seats[_row][_col] == "#"
|
|
||||||
return total
|
|
||||||
|
|
||||||
|
|
||||||
def free_seats(v: list[str]) -> int:
|
|
||||||
total = 0
|
|
||||||
for row in v:
|
|
||||||
total += row.count("#")
|
|
||||||
return total
|
|
||||||
|
|
||||||
|
|
||||||
def part_1(seats: list[str]) -> None:
|
|
||||||
R = len(seats)
|
|
||||||
C = len(seats[0])
|
|
||||||
while True:
|
|
||||||
has_changed = False
|
|
||||||
next_iter = []
|
|
||||||
for r in range(R):
|
|
||||||
new_row = ""
|
|
||||||
for c in range(C):
|
|
||||||
seat = seats[r][c]
|
|
||||||
if seat != ".":
|
|
||||||
occupants = seats_around(seats, r, c)
|
|
||||||
if seat == "L" and occupants == 0:
|
|
||||||
seat = "#"
|
|
||||||
has_changed = True
|
|
||||||
elif seat == "#" and occupants >= 4:
|
|
||||||
seat = "L"
|
|
||||||
has_changed = True
|
|
||||||
new_row += seat
|
|
||||||
next_iter.append(new_row)
|
|
||||||
if not has_changed:
|
|
||||||
break
|
|
||||||
seats = next_iter
|
|
||||||
|
|
||||||
print(f"There are {free_seats(seats)} seats occupied")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# As soon as people start to arrive, you realize your mistake. People don't
|
|
||||||
# just care about adjacent seats - they care about the first seat they can see
|
|
||||||
# in each of those eight directions!
|
|
||||||
|
|
||||||
# Now, instead of considering just the eight immediately adjacent seats,
|
|
||||||
# consider the first seat in each of those eight directions. For example, the
|
|
||||||
# empty seat below would see eight occupied seats:
|
|
||||||
|
|
||||||
# .......#.
|
|
||||||
# ...#.....
|
|
||||||
# .#.......
|
|
||||||
# .........
|
|
||||||
# ..#L....#
|
|
||||||
# ....#....
|
|
||||||
# .........
|
|
||||||
# #........
|
|
||||||
# ...#.....
|
|
||||||
|
|
||||||
# The leftmost empty seat below would only see one empty seat, but cannot see
|
|
||||||
# any of the occupied ones:
|
|
||||||
|
|
||||||
# .............
|
|
||||||
# .L.L.#.#.#.#.
|
|
||||||
# .............
|
|
||||||
|
|
||||||
# The empty seat below would see no occupied seats:
|
|
||||||
|
|
||||||
# .##.##.
|
|
||||||
# #.#.#.#
|
|
||||||
# ##...##
|
|
||||||
# ...L...
|
|
||||||
# ##...##
|
|
||||||
# #.#.#.#
|
|
||||||
# .##.##.
|
|
||||||
|
|
||||||
# Also, people seem to be more tolerant than you expected: it now takes five or
|
|
||||||
# more visible occupied seats for an occupied seat to become empty (rather than
|
|
||||||
# four or more from the previous rules). The other rules still apply: empty
|
|
||||||
# seats that see no occupied seats become occupied, seats matching no rule
|
|
||||||
# don't change, and floor never changes.
|
|
||||||
|
|
||||||
# Given the same starting layout as above, these new rules cause the seating
|
|
||||||
# area to shift around as follows:
|
|
||||||
|
|
||||||
# L.LL.LL.LL
|
|
||||||
# LLLLLLL.LL
|
|
||||||
# L.L.L..L..
|
|
||||||
# LLLL.LL.LL
|
|
||||||
# L.LL.LL.LL
|
|
||||||
# L.LLLLL.LL
|
|
||||||
# ..L.L.....
|
|
||||||
# LLLLLLLLLL
|
|
||||||
# L.LLLLLL.L
|
|
||||||
# L.LLLLL.LL
|
|
||||||
|
|
||||||
# #.##.##.##
|
|
||||||
# #######.##
|
|
||||||
# #.#.#..#..
|
|
||||||
# ####.##.##
|
|
||||||
# #.##.##.##
|
|
||||||
# #.#####.##
|
|
||||||
# ..#.#.....
|
|
||||||
# ##########
|
|
||||||
# #.######.#
|
|
||||||
# #.#####.##
|
|
||||||
|
|
||||||
# #.LL.LL.L#
|
|
||||||
# #LLLLLL.LL
|
|
||||||
# L.L.L..L..
|
|
||||||
# LLLL.LL.LL
|
|
||||||
# L.LL.LL.LL
|
|
||||||
# L.LLLLL.LL
|
|
||||||
# ..L.L.....
|
|
||||||
# LLLLLLLLL#
|
|
||||||
# #.LLLLLL.L
|
|
||||||
# #.LLLLL.L#
|
|
||||||
|
|
||||||
# #.L#.##.L#
|
|
||||||
# #L#####.LL
|
|
||||||
# L.#.#..#..
|
|
||||||
# ##L#.##.##
|
|
||||||
# #.##.#L.##
|
|
||||||
# #.#####.#L
|
|
||||||
# ..#.#.....
|
|
||||||
# LLL####LL#
|
|
||||||
# #.L#####.L
|
|
||||||
# #.L####.L#
|
|
||||||
|
|
||||||
# #.L#.L#.L#
|
|
||||||
# #LLLLLL.LL
|
|
||||||
# L.L.L..#..
|
|
||||||
# ##LL.LL.L#
|
|
||||||
# L.LL.LL.L#
|
|
||||||
# #.LLLLL.LL
|
|
||||||
# ..L.L.....
|
|
||||||
# LLLLLLLLL#
|
|
||||||
# #.LLLLL#.L
|
|
||||||
# #.L#LL#.L#
|
|
||||||
|
|
||||||
# #.L#.L#.L#
|
|
||||||
# #LLLLLL.LL
|
|
||||||
# L.L.L..#..
|
|
||||||
# ##L#.#L.L#
|
|
||||||
# L.L#.#L.L#
|
|
||||||
# #.L####.LL
|
|
||||||
# ..#.#.....
|
|
||||||
# LLL###LLL#
|
|
||||||
# #.LLLLL#.L
|
|
||||||
# #.L#LL#.L#
|
|
||||||
|
|
||||||
# #.L#.L#.L#
|
|
||||||
# #LLLLLL.LL
|
|
||||||
# L.L.L..#..
|
|
||||||
# ##L#.#L.L#
|
|
||||||
# L.L#.LL.L#
|
|
||||||
# #.LLLL#.LL
|
|
||||||
# ..#.L.....
|
|
||||||
# LLL###LLL#
|
|
||||||
# #.LLLLL#.L
|
|
||||||
# #.L#LL#.L#
|
|
||||||
|
|
||||||
# Again, at this point, people stop shifting around and the seating area
|
|
||||||
# reaches equilibrium. Once this occurs, you count 26 occupied seats.
|
|
||||||
|
|
||||||
# Given the new visibility method and the rule change for occupied seats
|
|
||||||
# becoming empty, once equilibrium is reached, how many seats end up occupied?
|
|
||||||
|
|
||||||
|
|
||||||
def seats_around_mod(seats: list[str], r: int, c: int) -> int:
|
|
||||||
total = 0
|
|
||||||
around_me = [
|
|
||||||
(-1, -1),
|
|
||||||
(-1, 0),
|
|
||||||
(-1, 1),
|
|
||||||
(0, -1),
|
|
||||||
(0, 1),
|
|
||||||
(1, -1),
|
|
||||||
(1, 0),
|
|
||||||
(1, 1),
|
|
||||||
]
|
|
||||||
for row, col in around_me:
|
|
||||||
_row = r + row
|
|
||||||
_col = c + col
|
|
||||||
while (
|
|
||||||
_row >= 0
|
|
||||||
and _row < len(seats)
|
|
||||||
and _col < len(seats[c])
|
|
||||||
and seats[_row][_col] == "."
|
|
||||||
):
|
|
||||||
_row += row
|
|
||||||
_col += col
|
|
||||||
if (
|
|
||||||
_row >= 0
|
|
||||||
and _row < len(seats)
|
|
||||||
and _col >= 0
|
|
||||||
and _col < len(seats[c])
|
|
||||||
):
|
|
||||||
total += seats[_row][_col] == "#"
|
|
||||||
return total
|
|
||||||
|
|
||||||
|
|
||||||
def part_2(seats: list[str]) -> None:
|
|
||||||
R = len(seats)
|
|
||||||
C = len(seats[0])
|
|
||||||
while True:
|
|
||||||
has_changed = False
|
|
||||||
next_iter = []
|
|
||||||
for r in range(R):
|
|
||||||
new_row = ""
|
|
||||||
for c in range(C):
|
|
||||||
seat = seats[r][c]
|
|
||||||
if seat != ".":
|
|
||||||
occupants = seats_around_mod(seats, r, c)
|
|
||||||
if seat == "L" and occupants == 0:
|
|
||||||
seat = "#"
|
|
||||||
has_changed = True
|
|
||||||
elif seat == "#" and occupants >= 5:
|
|
||||||
seat = "L"
|
|
||||||
has_changed = True
|
|
||||||
new_row += seat
|
|
||||||
next_iter.append(new_row)
|
|
||||||
if not has_changed:
|
|
||||||
break
|
|
||||||
seats = next_iter
|
|
||||||
|
|
||||||
print(f"There are {free_seats(seats)} seats occupied")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1(seats)
|
|
||||||
part_2(seats)
|
|
||||||
185
src/P12.py
185
src/P12.py
@@ -1,185 +0,0 @@
|
|||||||
import math
|
|
||||||
|
|
||||||
# --- Day 12: Rain Risk ---
|
|
||||||
|
|
||||||
# Your ferry made decent progress toward the island, but the storm came in
|
|
||||||
# faster than anyone expected. The ferry needs to take evasive actions!
|
|
||||||
|
|
||||||
# Unfortunately, the ship's navigation computer seems to be malfunctioning;
|
|
||||||
# rather than giving a route directly to safety, it produced extremely
|
|
||||||
# circuitous instructions. When the captain uses the PA system to ask if anyone
|
|
||||||
# can help, you quickly volunteer.
|
|
||||||
|
|
||||||
# The navigation instructions (your puzzle input) consists of a sequence of
|
|
||||||
# single-character actions paired with integer input values. After staring at
|
|
||||||
# them for a few minutes, you work out what they probably mean:
|
|
||||||
|
|
||||||
# Action N means to move north by the given value.
|
|
||||||
# Action S means to move south by the given value.
|
|
||||||
# Action E means to move east by the given value.
|
|
||||||
# Action W means to move west by the given value.
|
|
||||||
# Action L means to turn left the given number of degrees.
|
|
||||||
# Action R means to turn right the given number of degrees.
|
|
||||||
# Action F means to move forward by the given value in the direction the ship is currently facing.
|
|
||||||
|
|
||||||
# The ship starts by facing east. Only the L and R actions change the direction
|
|
||||||
# the ship is facing. (That is, if the ship is facing east and the next
|
|
||||||
# instruction is N10, the ship would move north 10 units, but would still move
|
|
||||||
# east if the following action were F.)
|
|
||||||
|
|
||||||
# For example:
|
|
||||||
|
|
||||||
# F10
|
|
||||||
# N3
|
|
||||||
# F7
|
|
||||||
# R90
|
|
||||||
# F11
|
|
||||||
|
|
||||||
# These instructions would be handled as follows:
|
|
||||||
|
|
||||||
# F10 would move the ship 10 units east (because the ship starts by facing
|
|
||||||
# east) to east 10, north 0.
|
|
||||||
# N3 would move the ship 3 units north to east 10, north 3.
|
|
||||||
# F7 would move the ship another 7 units east (because the ship is still
|
|
||||||
# facing east) to east 17, north 3.
|
|
||||||
# R90 would cause the ship to turn right by 90 degrees and face south; it
|
|
||||||
# remains at east 17, north 3.
|
|
||||||
# F11 would move the ship 11 units south to east 17, south 8.
|
|
||||||
|
|
||||||
# At the end of these instructions, the ship's Manhattan distance (sum of the
|
|
||||||
# absolute values of its east/west position and its north/south position) from
|
|
||||||
# its starting position is 17 + 8 = 25.
|
|
||||||
|
|
||||||
# Figure out where the navigation instructions lead. What is the Manhattan
|
|
||||||
# distance between that location and the ship's starting position?
|
|
||||||
|
|
||||||
with open("files/P12.txt", "r") as f:
|
|
||||||
instructions = [line for line in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
# dirs are E, S, W, and N
|
|
||||||
dirs = [[1, 0], [0, -1], [-1, 0], [0, 1]]
|
|
||||||
current_pos = [0, 0]
|
|
||||||
current_dir = 0
|
|
||||||
|
|
||||||
for instr in instructions:
|
|
||||||
_dir, _num = instr[:1], instr[1:]
|
|
||||||
if _dir == "E":
|
|
||||||
current_pos[0] += int(_num)
|
|
||||||
elif _dir == "W":
|
|
||||||
current_pos[0] -= int(_num)
|
|
||||||
elif _dir == "N":
|
|
||||||
current_pos[1] += int(_num)
|
|
||||||
elif _dir == "S":
|
|
||||||
current_pos[1] -= int(_num)
|
|
||||||
elif _dir == "F":
|
|
||||||
current_pos[0] += int(_num) * dirs[current_dir][0]
|
|
||||||
current_pos[1] += int(_num) * dirs[current_dir][1]
|
|
||||||
else:
|
|
||||||
if _dir == "R":
|
|
||||||
# rotations are clockwise
|
|
||||||
current_dir += int(_num) // 90
|
|
||||||
else:
|
|
||||||
current_dir -= int(_num) // 90
|
|
||||||
# avoid rotation overflow, just in case
|
|
||||||
current_dir %= 4
|
|
||||||
|
|
||||||
manhattan_distance = abs(current_pos[0]) + abs(current_pos[1])
|
|
||||||
print(f"The Manhattan distance is {manhattan_distance}")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# Before you can give the destination to the captain, you realize that the
|
|
||||||
# actual action meanings were printed on the back of the instructions the whole
|
|
||||||
# time.
|
|
||||||
|
|
||||||
# Almost all of the actions indicate how to move a waypoint which is relative
|
|
||||||
# to the ship's position:
|
|
||||||
|
|
||||||
# Action N means to move the waypoint north by the given value.
|
|
||||||
# Action S means to move the waypoint south by the given value.
|
|
||||||
# Action E means to move the waypoint east by the given value.
|
|
||||||
# Action W means to move the waypoint west by the given value.
|
|
||||||
# Action L means to rotate the waypoint around the ship left
|
|
||||||
# (counter-clockwise) the given number of degrees.
|
|
||||||
# Action R means to rotate the waypoint around the ship right (clockwise)
|
|
||||||
# the given number of degrees.
|
|
||||||
# Action F means to move forward to the waypoint a number of times equal to
|
|
||||||
# the given value.
|
|
||||||
|
|
||||||
# The waypoint starts 10 units east and 1 unit north relative to the ship. The
|
|
||||||
# waypoint is relative to the ship; that is, if the ship moves, the waypoint
|
|
||||||
# moves with it.
|
|
||||||
|
|
||||||
# For example, using the same instructions as above:
|
|
||||||
|
|
||||||
# F10 moves the ship to the waypoint 10 times (a total of 100 units east
|
|
||||||
# and 10 units north), leaving the ship at east 100, north 10. The waypoint
|
|
||||||
# stays 10 units east and 1 unit north of the ship.
|
|
||||||
# N3 moves the waypoint 3 units north to 10 units east and 4 units north of
|
|
||||||
# the ship. The ship remains at east 100, north 10.
|
|
||||||
# F7 moves the ship to the waypoint 7 times (a total of 70 units east and
|
|
||||||
# 28 units north), leaving the ship at east 170, north 38. The waypoint stays
|
|
||||||
# 10 units east and 4 units north of the ship.
|
|
||||||
# R90 rotates the waypoint around the ship clockwise 90 degrees, moving it
|
|
||||||
# to 4 units east and 10 units south of the ship. The ship remains at east 170,
|
|
||||||
# north 38.
|
|
||||||
# F11 moves the ship to the waypoint 11 times (a total of 44 units east and
|
|
||||||
# 110 units south), leaving the ship at east 214, south 72. The waypoint stays
|
|
||||||
# 4 units east and 10 units south of the ship.
|
|
||||||
|
|
||||||
# After these operations, the ship's Manhattan distance from its starting
|
|
||||||
# position is 214 + 72 = 286.
|
|
||||||
|
|
||||||
# Figure out where the navigation instructions actually lead. What is the
|
|
||||||
# Manhattan distance between that location and the ship's starting position?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
|
|
||||||
ship_pos = [0, 0]
|
|
||||||
waypoint_pos = [10, 1]
|
|
||||||
waypoint_dir = 0
|
|
||||||
|
|
||||||
for instr in instructions:
|
|
||||||
_dir, _num = instr[:1], instr[1:]
|
|
||||||
if _dir == "E":
|
|
||||||
waypoint_pos[0] += int(_num)
|
|
||||||
elif _dir == "W":
|
|
||||||
waypoint_pos[0] -= int(_num)
|
|
||||||
elif _dir == "N":
|
|
||||||
waypoint_pos[1] += int(_num)
|
|
||||||
elif _dir == "S":
|
|
||||||
waypoint_pos[1] -= int(_num)
|
|
||||||
elif _dir == "F":
|
|
||||||
ship_pos[0] += int(_num) * waypoint_pos[0]
|
|
||||||
ship_pos[1] += int(_num) * waypoint_pos[1]
|
|
||||||
else:
|
|
||||||
if _dir == "R":
|
|
||||||
# rotations are clockwise
|
|
||||||
_num = str(360 - int(_num))
|
|
||||||
waypoint_dir += int(_num)
|
|
||||||
# avoid rotation overflow
|
|
||||||
waypoint_dir %= 360
|
|
||||||
# convert to radians to make life easier
|
|
||||||
radians = math.radians(int(_num))
|
|
||||||
waypoint_pos = [
|
|
||||||
round(
|
|
||||||
(waypoint_pos[0] * math.cos(radians))
|
|
||||||
- (waypoint_pos[1] * math.sin(radians))
|
|
||||||
),
|
|
||||||
round(
|
|
||||||
(waypoint_pos[0] * math.sin(radians))
|
|
||||||
+ (waypoint_pos[1] * math.cos(radians))
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
manhattan_distance = abs(ship_pos[0]) + abs(ship_pos[1])
|
|
||||||
print(f"The Manhattan distance is {manhattan_distance}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
209
src/P13.py
209
src/P13.py
@@ -1,209 +0,0 @@
|
|||||||
# --- Day 13: Shuttle Search ---
|
|
||||||
|
|
||||||
# Your ferry can make it safely to a nearby port, but it won't get much
|
|
||||||
# further. When you call to book another ship, you discover that no ships
|
|
||||||
# embark from that port to your vacation island. You'll need to get from the
|
|
||||||
# port to the nearest airport.
|
|
||||||
|
|
||||||
# Fortunately, a shuttle bus service is available to bring you from the sea
|
|
||||||
# port to the airport! Each bus has an ID number that also indicates how often
|
|
||||||
# the bus leaves for the airport.
|
|
||||||
|
|
||||||
# Bus schedules are defined based on a timestamp that measures the number of
|
|
||||||
# minutes since some fixed reference point in the past. At timestamp 0, every
|
|
||||||
# bus simultaneously departed from the sea port. After that, each bus travels
|
|
||||||
# to the airport, then various other locations, and finally returns to the sea
|
|
||||||
# port to repeat its journey forever.
|
|
||||||
|
|
||||||
# The time this loop takes a particular bus is also its ID number: the bus with
|
|
||||||
# ID 5 departs from the sea port at timestamps 0, 5, 10, 15, and so on. The bus
|
|
||||||
# with ID 11 departs at 0, 11, 22, 33, and so on. If you are there when the bus
|
|
||||||
# departs, you can ride that bus to the airport!
|
|
||||||
|
|
||||||
# Your notes (your puzzle input) consist of two lines. The first line is your
|
|
||||||
# estimate of the earliest timestamp you could depart on a bus. The second line
|
|
||||||
# lists the bus IDs that are in service according to the shuttle company;
|
|
||||||
# entries that show x must be out of service, so you decide to ignore them.
|
|
||||||
|
|
||||||
# To save time once you arrive, your goal is to figure out the earliest bus you
|
|
||||||
# can take to the airport. (There will be exactly one such bus.)
|
|
||||||
|
|
||||||
# For example, suppose you have the following notes:
|
|
||||||
|
|
||||||
# 939
|
|
||||||
# 7,13,x,x,59,x,31,19
|
|
||||||
|
|
||||||
# Here, the earliest timestamp you could depart is 939, and the bus IDs in
|
|
||||||
# service are 7, 13, 59, 31, and 19. Near timestamp 939, these bus IDs depart
|
|
||||||
# at the times marked D:
|
|
||||||
|
|
||||||
# time bus 7 bus 13 bus 59 bus 31 bus 19
|
|
||||||
# 929 . . . . .
|
|
||||||
# 930 . . . D .
|
|
||||||
# 931 D . . . D
|
|
||||||
# 932 . . . . .
|
|
||||||
# 933 . . . . .
|
|
||||||
# 934 . . . . .
|
|
||||||
# 935 . . . . .
|
|
||||||
# 936 . D . . .
|
|
||||||
# 937 . . . . .
|
|
||||||
# 938 D . . . .
|
|
||||||
# 939 . . . . .
|
|
||||||
# 940 . . . . .
|
|
||||||
# 941 . . . . .
|
|
||||||
# 942 . . . . .
|
|
||||||
# 943 . . . . .
|
|
||||||
# 944 . . D . .
|
|
||||||
# 945 D . . . .
|
|
||||||
# 946 . . . . .
|
|
||||||
# 947 . . . . .
|
|
||||||
# 948 . . . . .
|
|
||||||
# 949 . D . . .
|
|
||||||
|
|
||||||
# The earliest bus you could take is bus ID 59. It doesn't depart until
|
|
||||||
# timestamp 944, so you would need to wait 944 - 939 = 5 minutes before it
|
|
||||||
# departs. Multiplying the bus ID by the number of minutes you'd need to wait
|
|
||||||
# gives 295.
|
|
||||||
|
|
||||||
# What is the ID of the earliest bus you can take to the airport multiplied by
|
|
||||||
# the number of minutes you'll need to wait for that bus?
|
|
||||||
|
|
||||||
from copy import copy
|
|
||||||
from math import gcd
|
|
||||||
|
|
||||||
with open("files/P13.txt", "r") as f:
|
|
||||||
start = int(f.readline())
|
|
||||||
buses_x = [bus for bus in f.readline().strip().split(",")]
|
|
||||||
buses = [int(bus) for bus in buses_x if bus != "x"]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
wait = copy(start)
|
|
||||||
found = False
|
|
||||||
while not found:
|
|
||||||
for bus in buses:
|
|
||||||
if wait % bus == 0:
|
|
||||||
print(f"Solution to part 1 is {str((wait - start) * bus)}")
|
|
||||||
found = True
|
|
||||||
break
|
|
||||||
wait += 1
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# The shuttle company is running a contest: one gold coin for anyone that can
|
|
||||||
# find the earliest timestamp such that the first bus ID departs at that time
|
|
||||||
# and each subsequent listed bus ID departs at that subsequent minute. (The
|
|
||||||
# first line in your input is no longer relevant.)
|
|
||||||
|
|
||||||
# For example, suppose you have the same list of bus IDs as above:
|
|
||||||
|
|
||||||
# 7,13,x,x,59,x,31,19
|
|
||||||
|
|
||||||
# An x in the schedule means there are no constraints on what bus IDs must
|
|
||||||
# depart at that time.
|
|
||||||
|
|
||||||
# This means you are looking for the earliest timestamp (called t) such that:
|
|
||||||
|
|
||||||
# Bus ID 7 departs at timestamp t.
|
|
||||||
# Bus ID 13 departs one minute after timestamp t.
|
|
||||||
# There are no requirements or restrictions on departures at two or three
|
|
||||||
# minutes after timestamp t.
|
|
||||||
# Bus ID 59 departs four minutes after timestamp t.
|
|
||||||
# There are no requirements or restrictions on departures at five minutes
|
|
||||||
# after timestamp t.
|
|
||||||
# Bus ID 31 departs six minutes after timestamp t.
|
|
||||||
# Bus ID 19 departs seven minutes after timestamp t.
|
|
||||||
|
|
||||||
# The only bus departures that matter are the listed bus IDs at their specific
|
|
||||||
# offsets from t. Those bus IDs can depart at other times, and other bus IDs
|
|
||||||
# can depart at those times. For example, in the list above, because bus ID 19
|
|
||||||
# must depart seven minutes after the timestamp at which bus ID 7 departs, bus
|
|
||||||
# ID 7 will always also be departing with bus ID 19 at seven minutes after
|
|
||||||
# timestamp t.
|
|
||||||
|
|
||||||
# In this example, the earliest timestamp at which this occurs is 1068781:
|
|
||||||
|
|
||||||
# time bus 7 bus 13 bus 59 bus 31 bus 19
|
|
||||||
# 1068773 . . . . .
|
|
||||||
# 1068774 D . . . .
|
|
||||||
# 1068775 . . . . .
|
|
||||||
# 1068776 . . . . .
|
|
||||||
# 1068777 . . . . .
|
|
||||||
# 1068778 . . . . .
|
|
||||||
# 1068779 . . . . .
|
|
||||||
# 1068780 . . . . .
|
|
||||||
# 1068781 D . . . .
|
|
||||||
# 1068782 . D . . .
|
|
||||||
# 1068783 . . . . .
|
|
||||||
# 1068784 . . . . .
|
|
||||||
# 1068785 . . D . .
|
|
||||||
# 1068786 . . . . .
|
|
||||||
# 1068787 . . . D .
|
|
||||||
# 1068788 D . . . D
|
|
||||||
# 1068789 . . . . .
|
|
||||||
# 1068790 . . . . .
|
|
||||||
# 1068791 . . . . .
|
|
||||||
# 1068792 . . . . .
|
|
||||||
# 1068793 . . . . .
|
|
||||||
# 1068794 . . . . .
|
|
||||||
# 1068795 D D . . .
|
|
||||||
# 1068796 . . . . .
|
|
||||||
# 1068797 . . . . .
|
|
||||||
|
|
||||||
# In the above example, bus ID 7 departs at timestamp 1068788 (seven minutes
|
|
||||||
# after t). This is fine; the only requirement on that minute is that bus ID 19
|
|
||||||
# departs then, and it does.
|
|
||||||
|
|
||||||
# Here are some other examples:
|
|
||||||
|
|
||||||
# The earliest timestamp that matches the list 17,x,13,19 is 3417.
|
|
||||||
# 67,7,59,61 first occurs at timestamp 754018.
|
|
||||||
# 67,x,7,59,61 first occurs at timestamp 779210.
|
|
||||||
# 67,7,x,59,61 first occurs at timestamp 1261476.
|
|
||||||
# 1789,37,47,1889 first occurs at timestamp 1202161486.
|
|
||||||
|
|
||||||
# However, with so many bus IDs in your list, surely the actual earliest
|
|
||||||
# timestamp will be larger than 100000000000000!
|
|
||||||
|
|
||||||
# What is the earliest timestamp such that all of the listed bus IDs depart at
|
|
||||||
# offsets matching their positions in the list?
|
|
||||||
|
|
||||||
|
|
||||||
# adapted from https://stackoverflow.com/questions/32728526/lcm-using-recursive
|
|
||||||
def lcm(my_list: list[list[int]]) -> int:
|
|
||||||
lcm = my_list[0][0]
|
|
||||||
for pair in my_list[1:]:
|
|
||||||
lcm = lcm * pair[0] // gcd(lcm, pair[0])
|
|
||||||
return lcm
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
my_buses = []
|
|
||||||
for idx, bus in enumerate(buses_x):
|
|
||||||
if bus != "x":
|
|
||||||
my_buses.append([int(bus), idx])
|
|
||||||
|
|
||||||
value = 0
|
|
||||||
add_to = 1
|
|
||||||
for i in range(1, len(my_buses)):
|
|
||||||
good = False
|
|
||||||
while not good:
|
|
||||||
good = True
|
|
||||||
for j in range(i + 1):
|
|
||||||
if (value + my_buses[j][1]) % my_buses[j][0] != 0:
|
|
||||||
good = False
|
|
||||||
break
|
|
||||||
if good is True:
|
|
||||||
# find the offset between buses
|
|
||||||
add_to = lcm(my_buses[:j])
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
value += add_to
|
|
||||||
|
|
||||||
print(f"Solution to part 2 is {value}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
199
src/P14.py
199
src/P14.py
@@ -1,199 +0,0 @@
|
|||||||
# --- Day 14: Docking Data ---
|
|
||||||
|
|
||||||
# As your ferry approaches the sea port, the captain asks for your help again.
|
|
||||||
# The computer system that runs this port isn't compatible with the docking
|
|
||||||
# program on the ferry, so the docking parameters aren't being correctly
|
|
||||||
# initialized in the docking program's memory.
|
|
||||||
|
|
||||||
# After a brief inspection, you discover that the sea port's computer system
|
|
||||||
# uses a strange bitmask system in its initialization program. Although you
|
|
||||||
# don't have the correct decoder chip handy, you can emulate it in software!
|
|
||||||
|
|
||||||
# The initialization program (your puzzle input) can either update the bitmask
|
|
||||||
# or write a value to memory. Values and memory addresses are both 36-bit
|
|
||||||
# unsigned integers. For example, ignoring bitmasks for a moment, a line like
|
|
||||||
# mem[8] = 11 would write the value 11 to memory address 8.
|
|
||||||
|
|
||||||
# The bitmask is always given as a string of 36 bits, written with the most
|
|
||||||
# significant bit (representing 2^35) on the left and the least significant bit
|
|
||||||
# (2^0, that is, the 1s bit) on the right. The current bitmask is applied to
|
|
||||||
# values immediately before they are written to memory: a 0 or 1 overwrites the
|
|
||||||
# corresponding bit in the value, while an X leaves the bit in the value
|
|
||||||
# unchanged.
|
|
||||||
|
|
||||||
# For example, consider the following program:
|
|
||||||
|
|
||||||
# mask = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X
|
|
||||||
# mem[8] = 11
|
|
||||||
# mem[7] = 101
|
|
||||||
# mem[8] = 0
|
|
||||||
|
|
||||||
# This program starts by specifying a bitmask (mask = ....). The mask it
|
|
||||||
# specifies will overwrite two bits in every written value: the 2s bit is
|
|
||||||
# overwritten with 0, and the 64s bit is overwritten with 1.
|
|
||||||
|
|
||||||
# The program then attempts to write the value 11 to memory address 8. By
|
|
||||||
# expanding everything out to individual bits, the mask is applied as follows:
|
|
||||||
|
|
||||||
# value: 000000000000000000000000000000001011 (decimal 11)
|
|
||||||
# mask: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X
|
|
||||||
# result: 000000000000000000000000000001001001 (decimal 73)
|
|
||||||
|
|
||||||
# So, because of the mask, the value 73 is written to memory address 8 instead.
|
|
||||||
# Then, the program tries to write 101 to address 7:
|
|
||||||
|
|
||||||
# value: 000000000000000000000000000001100101 (decimal 101)
|
|
||||||
# mask: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X
|
|
||||||
# result: 000000000000000000000000000001100101 (decimal 101)
|
|
||||||
|
|
||||||
# This time, the mask has no effect, as the bits it overwrote were already the
|
|
||||||
# values the mask tried to set. Finally, the program tries to write 0 to
|
|
||||||
# address 8:
|
|
||||||
|
|
||||||
# value: 000000000000000000000000000000000000 (decimal 0)
|
|
||||||
# mask: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX1XXXX0X
|
|
||||||
# result: 000000000000000000000000000001000000 (decimal 64)
|
|
||||||
|
|
||||||
# 64 is written to address 8 instead, overwriting the value that was there
|
|
||||||
# previously.
|
|
||||||
|
|
||||||
# To initialize your ferry's docking program, you need the sum of all values
|
|
||||||
# left in memory after the initialization program completes. (The entire 36-bit
|
|
||||||
# address space begins initialized to the value 0 at every address.) In the
|
|
||||||
# above example, only two values in memory are not zero - 101 (at address 7)
|
|
||||||
# and 64 (at address 8) - producing a sum of 165.
|
|
||||||
|
|
||||||
# Execute the initialization program. What is the sum of all values left in
|
|
||||||
# memory after it completes? (Do not truncate the sum to 36 bits.)
|
|
||||||
|
|
||||||
with open("files/P14.txt", "r") as f:
|
|
||||||
instructions = [line for line in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
memory = {}
|
|
||||||
for instruction in instructions:
|
|
||||||
if instruction.startswith("mask"):
|
|
||||||
mask = instruction.split(" = ")[1]
|
|
||||||
mask_or = int(mask.replace("X", "0"), 2)
|
|
||||||
mask_and = int(mask.replace("X", "1"), 2)
|
|
||||||
elif instruction.startswith("mem"):
|
|
||||||
idx = int(instruction.split("[")[1].split("]")[0])
|
|
||||||
val = int(instruction.split(" = ")[1])
|
|
||||||
memory[idx] = (val & mask_and) | mask_or
|
|
||||||
|
|
||||||
values_in_memory = sum([val for val in memory.values()])
|
|
||||||
print(f"The sum of all values in memory is {values_in_memory}")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# For some reason, the sea port's computer system still can't communicate with
|
|
||||||
# your ferry's docking program. It must be using version 2 of the decoder chip!
|
|
||||||
|
|
||||||
# A version 2 decoder chip doesn't modify the values being written at all.
|
|
||||||
# Instead, it acts as a memory address decoder. Immediately before a value is
|
|
||||||
# written to memory, each bit in the bitmask modifies the corresponding bit of
|
|
||||||
# the destination memory address in the following way:
|
|
||||||
|
|
||||||
# If the bitmask bit is 0, the corresponding memory address bit is
|
|
||||||
# unchanged.
|
|
||||||
# If the bitmask bit is 1, the corresponding memory address bit is
|
|
||||||
# overwritten with 1.
|
|
||||||
# If the bitmask bit is X, the corresponding memory address bit is
|
|
||||||
# floating.
|
|
||||||
|
|
||||||
# A floating bit is not connected to anything and instead fluctuates
|
|
||||||
# unpredictably. In practice, this means the floating bits will take on all
|
|
||||||
# possible values, potentially causing many memory addresses to be written all
|
|
||||||
# at once!
|
|
||||||
|
|
||||||
# For example, consider the following program:
|
|
||||||
|
|
||||||
# mask = 000000000000000000000000000000X1001X
|
|
||||||
# mem[42] = 100
|
|
||||||
# mask = 00000000000000000000000000000000X0XX
|
|
||||||
# mem[26] = 1
|
|
||||||
|
|
||||||
# When this program goes to write to memory address 42, it first applies the
|
|
||||||
# bitmask:
|
|
||||||
|
|
||||||
# address: 000000000000000000000000000000101010 (decimal 42)
|
|
||||||
# mask: 000000000000000000000000000000X1001X
|
|
||||||
# result: 000000000000000000000000000000X1101X
|
|
||||||
|
|
||||||
# After applying the mask, four bits are overwritten, three of which are
|
|
||||||
# different, and two of which are floating. Floating bits take on every
|
|
||||||
# possible combination of values; with two floating bits, four actual memory
|
|
||||||
# addresses are written:
|
|
||||||
|
|
||||||
# 000000000000000000000000000000011010 (decimal 26)
|
|
||||||
# 000000000000000000000000000000011011 (decimal 27)
|
|
||||||
# 000000000000000000000000000000111010 (decimal 58)
|
|
||||||
# 000000000000000000000000000000111011 (decimal 59)
|
|
||||||
|
|
||||||
# Next, the program is about to write to memory address 26 with a different
|
|
||||||
# bitmask:
|
|
||||||
|
|
||||||
# address: 000000000000000000000000000000011010 (decimal 26)
|
|
||||||
# mask: 00000000000000000000000000000000X0XX
|
|
||||||
# result: 00000000000000000000000000000001X0XX
|
|
||||||
|
|
||||||
# This results in an address with three floating bits, causing writes to eight
|
|
||||||
# memory addresses:
|
|
||||||
|
|
||||||
# 000000000000000000000000000000010000 (decimal 16)
|
|
||||||
# 000000000000000000000000000000010001 (decimal 17)
|
|
||||||
# 000000000000000000000000000000010010 (decimal 18)
|
|
||||||
# 000000000000000000000000000000010011 (decimal 19)
|
|
||||||
# 000000000000000000000000000000011000 (decimal 24)
|
|
||||||
# 000000000000000000000000000000011001 (decimal 25)
|
|
||||||
# 000000000000000000000000000000011010 (decimal 26)
|
|
||||||
# 000000000000000000000000000000011011 (decimal 27)
|
|
||||||
|
|
||||||
# The entire 36-bit address space still begins initialized to the value 0 at
|
|
||||||
# every address, and you still need the sum of all values left in memory at the
|
|
||||||
# end of the program. In this example, the sum is 208.
|
|
||||||
|
|
||||||
# Execute the initialization program using an emulator for a version 2 decoder
|
|
||||||
# chip. What is the sum of all values left in memory after it completes?
|
|
||||||
|
|
||||||
|
|
||||||
def get_indexes(mask: str) -> list[int]:
|
|
||||||
try:
|
|
||||||
firstx = mask.index("X")
|
|
||||||
return get_indexes(
|
|
||||||
mask[:firstx] + "0" + mask[firstx + 1 :]
|
|
||||||
) + get_indexes(mask[:firstx] + "1" + mask[firstx + 1 :])
|
|
||||||
except ValueError:
|
|
||||||
return [int(mask, 2)]
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
memory = {}
|
|
||||||
for instruction in instructions:
|
|
||||||
if instruction.startswith("mask"):
|
|
||||||
mask = instruction.split(" ")[2]
|
|
||||||
elif instruction.startswith("mem"):
|
|
||||||
idx = int(instruction.split("[")[1].split("]")[0])
|
|
||||||
val = int(instruction.split(" ")[2])
|
|
||||||
idx_mask = ""
|
|
||||||
# pad with 0s (up to 36) the index
|
|
||||||
for m, i in zip(mask, f"{idx:036b}"):
|
|
||||||
if m == "0":
|
|
||||||
# do not change the bit value
|
|
||||||
idx_mask += i
|
|
||||||
elif m == "1" or m == "X":
|
|
||||||
idx_mask += m
|
|
||||||
|
|
||||||
idxs = get_indexes(idx_mask)
|
|
||||||
for idx in idxs:
|
|
||||||
memory[idx] = val
|
|
||||||
|
|
||||||
values_in_memory = sum([val for val in memory.values()])
|
|
||||||
print(f"The sum of all values in memory is {values_in_memory}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
107
src/P15.py
107
src/P15.py
@@ -1,107 +0,0 @@
|
|||||||
# --- Day 15: Rambunctious Recitation ---
|
|
||||||
|
|
||||||
# You catch the airport shuttle and try to book a new flight to your vacation
|
|
||||||
# island. Due to the storm, all direct flights have been cancelled, but a route
|
|
||||||
# is available to get around the storm. You take it.
|
|
||||||
|
|
||||||
# While you wait for your flight, you decide to check in with the Elves back at
|
|
||||||
# the North Pole. They're playing a memory game and are ever so excited to
|
|
||||||
# explain the rules!
|
|
||||||
|
|
||||||
# In this game, the players take turns saying numbers. They begin by taking
|
|
||||||
# turns reading from a list of starting numbers (your puzzle input). Then, each
|
|
||||||
# turn consists of considering the most recently spoken number:
|
|
||||||
|
|
||||||
# If that was the first time the number has been spoken, the current player
|
|
||||||
# says 0.
|
|
||||||
# Otherwise, the number had been spoken before; the current player
|
|
||||||
# announces how many turns apart the number is from when it was previously
|
|
||||||
# spoken.
|
|
||||||
|
|
||||||
# So, after the starting numbers, each turn results in that player speaking
|
|
||||||
# aloud either 0 (if the last number is new) or an age (if the last number is a
|
|
||||||
# repeat).
|
|
||||||
|
|
||||||
# For example, suppose the starting numbers are 0,3,6:
|
|
||||||
|
|
||||||
# Turn 1: The 1st number spoken is a starting number, 0.
|
|
||||||
# Turn 2: The 2nd number spoken is a starting number, 3.
|
|
||||||
# Turn 3: The 3rd number spoken is a starting number, 6.
|
|
||||||
# Turn 4: Now, consider the last number spoken, 6. Since that was the first
|
|
||||||
# time the number had been spoken, the 4th number spoken is 0.
|
|
||||||
# Turn 5: Next, again consider the last number spoken, 0. Since it had been
|
|
||||||
# spoken before, the next number to speak is the difference between the turn
|
|
||||||
# number when it was last spoken (the previous turn, 4) and the turn number of
|
|
||||||
# the time it was most recently spoken before then (turn 1). Thus, the 5th
|
|
||||||
# number spoken is 4 - 1, 3.
|
|
||||||
# Turn 6: The last number spoken, 3 had also been spoken before, most
|
|
||||||
# recently on turns 5 and 2. So, the 6th number spoken is 5 - 2, 3.
|
|
||||||
# Turn 7: Since 3 was just spoken twice in a row, and the last two turns
|
|
||||||
# are 1 turn apart, the 7th number spoken is 1.
|
|
||||||
# Turn 8: Since 1 is new, the 8th number spoken is 0.
|
|
||||||
# Turn 9: 0 was last spoken on turns 8 and 4, so the 9th number spoken is
|
|
||||||
# the difference between them, 4.
|
|
||||||
# Turn 10: 4 is new, so the 10th number spoken is 0.
|
|
||||||
|
|
||||||
# (The game ends when the Elves get sick of playing or dinner is ready,
|
|
||||||
# whichever comes first.)
|
|
||||||
|
|
||||||
# Their question for you is: what will be the 2020th number spoken? In the
|
|
||||||
# example above, the 2020th number spoken will be 436.
|
|
||||||
|
|
||||||
# Here are a few more examples:
|
|
||||||
|
|
||||||
# Given the starting numbers 1,3,2, the 2020th number spoken is 1.
|
|
||||||
# Given the starting numbers 2,1,3, the 2020th number spoken is 10.
|
|
||||||
# Given the starting numbers 1,2,3, the 2020th number spoken is 27.
|
|
||||||
# Given the starting numbers 2,3,1, the 2020th number spoken is 78.
|
|
||||||
# Given the starting numbers 3,2,1, the 2020th number spoken is 438.
|
|
||||||
# Given the starting numbers 3,1,2, the 2020th number spoken is 1836.
|
|
||||||
|
|
||||||
# Given your starting numbers, what will be the 2020th number spoken?
|
|
||||||
|
|
||||||
from collections import defaultdict
|
|
||||||
|
|
||||||
with open("files/P15.txt", "r") as f:
|
|
||||||
sequence = [int(val) for val in f.read().strip().split(",")]
|
|
||||||
|
|
||||||
|
|
||||||
numbers = defaultdict(list)
|
|
||||||
for idx, number in enumerate(sequence):
|
|
||||||
numbers[number].append(idx)
|
|
||||||
|
|
||||||
|
|
||||||
def part_1_and_2(num: int) -> None:
|
|
||||||
last = 0 # list(numbers.keys())[-1].copy()
|
|
||||||
for i in range(len(sequence), num):
|
|
||||||
if len(numbers[last]) < 2:
|
|
||||||
numbers[0].append(i)
|
|
||||||
last = 0
|
|
||||||
else:
|
|
||||||
last = numbers[last][-1] - numbers[last][-2]
|
|
||||||
numbers[last].append(i)
|
|
||||||
# because of indexing starts at 0
|
|
||||||
if i == 2019:
|
|
||||||
print(f"The {i+1}th number spoken is {last}")
|
|
||||||
|
|
||||||
print(f"The {num}th number spoken is {last}")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# Impressed, the Elves issue you a challenge: determine the 30000000th number
|
|
||||||
# spoken. For example, given the same starting numbers as above:
|
|
||||||
|
|
||||||
# Given 0,3,6, the 30000000th number spoken is 175594.
|
|
||||||
# Given 1,3,2, the 30000000th number spoken is 2578.
|
|
||||||
# Given 2,1,3, the 30000000th number spoken is 3544142.
|
|
||||||
# Given 1,2,3, the 30000000th number spoken is 261214.
|
|
||||||
# Given 2,3,1, the 30000000th number spoken is 6895259.
|
|
||||||
# Given 3,2,1, the 30000000th number spoken is 18.
|
|
||||||
# Given 3,1,2, the 30000000th number spoken is 362.
|
|
||||||
|
|
||||||
# Given your starting numbers, what will be the 30000000th number spoken?
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1_and_2(30_000_000)
|
|
||||||
245
src/P16.py
245
src/P16.py
@@ -1,245 +0,0 @@
|
|||||||
# --- Day 16: Ticket Translation ---
|
|
||||||
|
|
||||||
# As you're walking to yet another connecting flight, you realize that one of
|
|
||||||
# the legs of your re-routed trip coming up is on a high-speed train. However,
|
|
||||||
# the train ticket you were given is in a language you don't understand. You
|
|
||||||
# should probably figure out what it says before you get to the train station
|
|
||||||
# after the next flight.
|
|
||||||
|
|
||||||
# Unfortunately, you can't actually read the words on the ticket. You can,
|
|
||||||
# however, read the numbers, and so you figure out the fields these tickets
|
|
||||||
# must have and the valid ranges for values in those fields.
|
|
||||||
|
|
||||||
# You collect the rules for ticket fields, the numbers on your ticket, and the
|
|
||||||
# numbers on other nearby tickets for the same train service (via the airport
|
|
||||||
# security cameras) together into a single document you can reference (your
|
|
||||||
# puzzle input).
|
|
||||||
|
|
||||||
# The rules for ticket fields specify a list of fields that exist somewhere on
|
|
||||||
# the ticket and the valid ranges of values for each field. For example, a rule
|
|
||||||
# like class: 1-3 or 5-7 means that one of the fields in every ticket is named
|
|
||||||
# class and can be any value in the ranges 1-3 or 5-7 (inclusive, such that 3
|
|
||||||
# and 5 are both valid in this field, but 4 is not).
|
|
||||||
|
|
||||||
# Each ticket is represented by a single line of comma-separated values. The
|
|
||||||
# values are the numbers on the ticket in the order they appear; every ticket
|
|
||||||
# has the same format. For example, consider this ticket:
|
|
||||||
|
|
||||||
# .--------------------------------------------------------.
|
|
||||||
# | ????: 101 ?????: 102 ??????????: 103 ???: 104 |
|
|
||||||
# | |
|
|
||||||
# | ??: 301 ??: 302 ???????: 303 ??????? |
|
|
||||||
# | ??: 401 ??: 402 ???? ????: 403 ????????? |
|
|
||||||
# '--------------------------------------------------------'
|
|
||||||
|
|
||||||
# Here, ? represents text in a language you don't understand. This ticket might
|
|
||||||
# be represented as 101,102,103,104,301,302,303,401,402,403; of course, the
|
|
||||||
# actual train tickets you're looking at are much more complicated. In any
|
|
||||||
# case, you've extracted just the numbers in such a way that the first number
|
|
||||||
# is always the same specific field, the second number is always a different
|
|
||||||
# specific field, and so on - you just don't know what each position actually
|
|
||||||
# means!
|
|
||||||
|
|
||||||
# Start by determining which tickets are completely invalid; these are tickets
|
|
||||||
# that contain values which aren't valid for any field. Ignore your ticket for
|
|
||||||
# now.
|
|
||||||
|
|
||||||
# For example, suppose you have the following notes:
|
|
||||||
|
|
||||||
# class: 1-3 or 5-7
|
|
||||||
# row: 6-11 or 33-44
|
|
||||||
# seat: 13-40 or 45-46
|
|
||||||
|
|
||||||
# your ticket:
|
|
||||||
# 7,1,14
|
|
||||||
|
|
||||||
# nearby tickets:
|
|
||||||
# 7,3,47
|
|
||||||
# 40,4,50
|
|
||||||
# 55,2,20
|
|
||||||
# 38,6,12
|
|
||||||
|
|
||||||
# It doesn't matter which position corresponds to which field; you can identify
|
|
||||||
# invalid nearby tickets by considering only whether tickets contain values
|
|
||||||
# that are not valid for any field. In this example, the values on the first
|
|
||||||
# nearby ticket are all valid for at least one field. This is not true of the
|
|
||||||
# other three nearby tickets: the values 4, 55, and 12 are are not valid for
|
|
||||||
# any field. Adding together all of the invalid values produces your ticket
|
|
||||||
# scanning error rate: 4 + 55 + 12 = 71.
|
|
||||||
|
|
||||||
# Consider the validity of the nearby tickets you scanned. What is your ticket
|
|
||||||
# scanning error rate?
|
|
||||||
|
|
||||||
from typing import Set
|
|
||||||
|
|
||||||
with open("files/P16.txt", "r") as f:
|
|
||||||
rules_raw, my_ticket, nearby_tickets = [
|
|
||||||
f.split("\n") for f in f.read().strip().split("\n\n")
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
rules = []
|
|
||||||
for rule in rules_raw:
|
|
||||||
name = rule.split(": ")[0]
|
|
||||||
valid_numbers = set()
|
|
||||||
for range_numbers in rule.split(": ")[1].split(" or "):
|
|
||||||
numbers = [int(number) for number in range_numbers.split("-")]
|
|
||||||
first, last = range(*numbers).start, range(*numbers).stop
|
|
||||||
list_numbers = list(range(first, last + 1))
|
|
||||||
for number in list_numbers:
|
|
||||||
valid_numbers.add(number)
|
|
||||||
rules.append([name, valid_numbers])
|
|
||||||
|
|
||||||
# Create a single set with all rules
|
|
||||||
all_rules = set()
|
|
||||||
for rule in rules:
|
|
||||||
all_rules |= rule[1]
|
|
||||||
|
|
||||||
all_tickets = [list(map(int, o.split(","))) for o in nearby_tickets[1:]]
|
|
||||||
|
|
||||||
ticket_scanning_error_rate = sum(
|
|
||||||
[
|
|
||||||
ticket
|
|
||||||
for ticket_numbers in all_tickets
|
|
||||||
for ticket in ticket_numbers
|
|
||||||
if ticket not in all_rules
|
|
||||||
]
|
|
||||||
)
|
|
||||||
|
|
||||||
print(f"The ticket scanning error rate is {ticket_scanning_error_rate}")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# Now that you've identified which tickets contain invalid values, discard
|
|
||||||
# those tickets entirely. Use the remaining valid tickets to determine which
|
|
||||||
# field is which.
|
|
||||||
|
|
||||||
# Using the valid ranges for each field, determine what order the fields appear
|
|
||||||
# on the tickets. The order is consistent between all tickets: if seat is the
|
|
||||||
# third field, it is the third field on every ticket, including your ticket.
|
|
||||||
|
|
||||||
# For example, suppose you have the following notes:
|
|
||||||
|
|
||||||
# class: 0-1 or 4-19
|
|
||||||
# row: 0-5 or 8-19
|
|
||||||
# seat: 0-13 or 16-19
|
|
||||||
|
|
||||||
# your ticket:
|
|
||||||
# 11,12,13
|
|
||||||
|
|
||||||
# nearby tickets:
|
|
||||||
# 3,9,18
|
|
||||||
# 15,1,5
|
|
||||||
# 5,14,9
|
|
||||||
|
|
||||||
# Based on the nearby tickets in the above example, the first position must be
|
|
||||||
# row, the second position must be class, and the third position must be seat;
|
|
||||||
# you can conclude that in your ticket, class is 12, row is 11, and seat is 13.
|
|
||||||
|
|
||||||
# Once you work out which field is which, look for the six fields on your
|
|
||||||
# ticket that start with the word departure. What do you get if you multiply
|
|
||||||
# those six values together?
|
|
||||||
|
|
||||||
|
|
||||||
def from_part_1():
|
|
||||||
# from part_1
|
|
||||||
rules = []
|
|
||||||
for rule in rules_raw:
|
|
||||||
name = rule.split(": ")[0]
|
|
||||||
valid_numbers = set()
|
|
||||||
for range_numbers in rule.split(": ")[1].split(" or "):
|
|
||||||
numbers = [int(number) for number in range_numbers.split("-")]
|
|
||||||
first, last = range(*numbers).start, range(*numbers).stop
|
|
||||||
list_numbers = list(range(first, last + 1))
|
|
||||||
for number in list_numbers:
|
|
||||||
valid_numbers.add(number)
|
|
||||||
rules.append([name, valid_numbers])
|
|
||||||
|
|
||||||
all_rules = set()
|
|
||||||
for rule in rules:
|
|
||||||
all_rules |= rule[1]
|
|
||||||
|
|
||||||
return rules, all_rules
|
|
||||||
|
|
||||||
|
|
||||||
def remove_invalid(all_rules):
|
|
||||||
valid_tickets = []
|
|
||||||
for line in nearby_tickets[1:]:
|
|
||||||
valid = True
|
|
||||||
for ticket in [int(t) for t in line.split(",")]:
|
|
||||||
if ticket not in all_rules:
|
|
||||||
valid = False
|
|
||||||
break
|
|
||||||
if valid:
|
|
||||||
valid_tickets.append(line)
|
|
||||||
return valid_tickets
|
|
||||||
|
|
||||||
|
|
||||||
def check_validity(rules, ticket_values):
|
|
||||||
# check validity of sets
|
|
||||||
possibles = []
|
|
||||||
for c in rules:
|
|
||||||
possibles.append([c[0], []])
|
|
||||||
for idx, ticket in enumerate(ticket_values):
|
|
||||||
valid = True
|
|
||||||
for value in ticket:
|
|
||||||
if value not in c[1]:
|
|
||||||
valid = False
|
|
||||||
break
|
|
||||||
if valid:
|
|
||||||
possibles[-1][1].append(idx)
|
|
||||||
return possibles
|
|
||||||
|
|
||||||
|
|
||||||
def get_ordered_fields(sorted_possibles):
|
|
||||||
# get each field and its respective order
|
|
||||||
ordered_fields = []
|
|
||||||
for idx, (field, values) in enumerate(sorted_possibles):
|
|
||||||
# first field
|
|
||||||
if len(values) == 1:
|
|
||||||
ordered_fields.append([field, values[0]])
|
|
||||||
else:
|
|
||||||
value = [
|
|
||||||
v for v in values if v not in sorted_possibles[idx - 1][1]
|
|
||||||
][0]
|
|
||||||
ordered_fields.append([field, value])
|
|
||||||
return ordered_fields
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
rules, all_rules = from_part_1()
|
|
||||||
|
|
||||||
valid_tickets = remove_invalid(all_rules)
|
|
||||||
|
|
||||||
# collect 20 sets of all respective values
|
|
||||||
ticket_values = [set() for x in range(len(rules))]
|
|
||||||
for line in valid_tickets:
|
|
||||||
index = 0
|
|
||||||
for element in line.split(","):
|
|
||||||
ticket_values[index].add(int(element))
|
|
||||||
index += 1
|
|
||||||
|
|
||||||
possibles = check_validity(rules, ticket_values)
|
|
||||||
|
|
||||||
# sort possibles by the length of values each set holds
|
|
||||||
sorted_possibles = sorted(possibles, key=lambda l: (len(l[1]), l))
|
|
||||||
|
|
||||||
sorted_fields = get_ordered_fields(sorted_possibles)
|
|
||||||
|
|
||||||
# parse "my ticket"
|
|
||||||
myticket = [
|
|
||||||
int(v) for elements in my_ticket[1:] for v in elements.split(",")
|
|
||||||
]
|
|
||||||
|
|
||||||
res = 1
|
|
||||||
for (field, idx) in sorted_fields:
|
|
||||||
if field.startswith("departure"):
|
|
||||||
res *= myticket[idx]
|
|
||||||
print(f"The final result is {res}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
97
src/P2.py
97
src/P2.py
@@ -1,97 +0,0 @@
|
|||||||
# --- Day 2: Password Philosophy ---
|
|
||||||
|
|
||||||
# Your flight departs in a few days from the coastal airport; the easiest way
|
|
||||||
# down to the coast from here is via toboggan.
|
|
||||||
|
|
||||||
# The shopkeeper at the North Pole Toboggan Rental Shop is having a bad day.
|
|
||||||
# "Something's wrong with our computers; we can't log in!" You ask if you can
|
|
||||||
# take a look.
|
|
||||||
|
|
||||||
# Their password database seems to be a little corrupted: some of the passwords
|
|
||||||
# wouldn't have been allowed by the Official Toboggan Corporate Policy that was
|
|
||||||
# in effect when they were chosen.
|
|
||||||
|
|
||||||
# To try to debug the problem, they have created a list (your puzzle input) of
|
|
||||||
# passwords (according to the corrupted database) and the corporate policy when
|
|
||||||
# that password was set.
|
|
||||||
|
|
||||||
# For example, suppose you have the following list:
|
|
||||||
|
|
||||||
# 1-3 a: abcde
|
|
||||||
# 1-3 b: cdefg
|
|
||||||
# 2-9 c: ccccccccc
|
|
||||||
|
|
||||||
# Each line gives the password policy and then the password. The password
|
|
||||||
# policy indicates the lowest and highest number of times a given letter must
|
|
||||||
# appear for the password to be valid. For example, 1-3 a means that the
|
|
||||||
# password must contain a at least 1 time and at most 3 times.
|
|
||||||
|
|
||||||
# In the above example, 2 passwords are valid. The middle password, cdefg, is
|
|
||||||
# not; it contains no instances of b, but needs at least 1. The first and third
|
|
||||||
# passwords are valid: they contain one a or nine c, both within the limits of
|
|
||||||
# their respective policies.
|
|
||||||
|
|
||||||
# How many passwords are valid according to their policies?
|
|
||||||
|
|
||||||
|
|
||||||
with open("files/P2.txt", "r") as f:
|
|
||||||
passwds = [line.split() for line in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
correct_passwds = 0
|
|
||||||
for passwd in passwds:
|
|
||||||
min_, max_ = passwd[0].split("-")
|
|
||||||
|
|
||||||
if passwd[2].count(passwd[1][:-1]) >= int(min_) and passwd[2].count(
|
|
||||||
passwd[1][:-1]
|
|
||||||
) <= int(max_):
|
|
||||||
correct_passwds += 1
|
|
||||||
|
|
||||||
print(f"There are {correct_passwds} valid passwords in the database")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# While it appears you validated the passwords correctly, they don't seem to be
|
|
||||||
# what the Official Toboggan Corporate Authentication System is expecting.
|
|
||||||
|
|
||||||
# The shopkeeper suddenly realizes that he just accidentally explained the
|
|
||||||
# password policy rules from his old job at the sled rental place down the
|
|
||||||
# street! The Official Toboggan Corporate Policy actually works a little
|
|
||||||
# differently.
|
|
||||||
|
|
||||||
# Each policy actually describes two positions in the password, where 1 means
|
|
||||||
# the first character, 2 means the second character, and so on. (Be careful;
|
|
||||||
# Toboggan Corporate Policies have no concept of "index zero"!) Exactly one of
|
|
||||||
# these positions must contain the given letter. Other occurrences of the
|
|
||||||
# letter are irrelevant for the purposes of policy enforcement.
|
|
||||||
|
|
||||||
# Given the same example list from above:
|
|
||||||
|
|
||||||
# 1-3 a: abcde is valid: position 1 contains a and position 3 does not.
|
|
||||||
# 1-3 b: cdefg is invalid: neither position 1 nor position 3 contains b.
|
|
||||||
# 2-9 c: ccccccccc is invalid: both position 2 and position 9 contain c.
|
|
||||||
|
|
||||||
# How many passwords are valid according to the new interpretation of the
|
|
||||||
# policies?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
correct_passwds = 0
|
|
||||||
for passwd in passwds:
|
|
||||||
pos1, pos2 = passwd[0].split("-")
|
|
||||||
checks = 0
|
|
||||||
if passwd[2][int(pos1) - 1] == passwd[1][:-1]:
|
|
||||||
checks += 1
|
|
||||||
if passwd[2][int(pos2) - 1] == passwd[1][:-1]:
|
|
||||||
checks += 1
|
|
||||||
if checks == 1:
|
|
||||||
correct_passwds += 1
|
|
||||||
|
|
||||||
print(f"There are {correct_passwds} valid passwords in the database")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
171
src/P3.py
171
src/P3.py
@@ -1,171 +0,0 @@
|
|||||||
# --- Day 3: Toboggan Trajectory ---
|
|
||||||
|
|
||||||
# With the toboggan login problems resolved, you set off toward the airport.
|
|
||||||
# While travel by toboggan might be easy, it's certainly not safe: there's very
|
|
||||||
# minimal steering and the area is covered in trees. You'll need to see which
|
|
||||||
# angles will take you near the fewest trees.
|
|
||||||
|
|
||||||
# Due to the local geology, trees in this area only grow on exact integer
|
|
||||||
# coordinates in a grid. You make a map (your puzzle input) of the open squares
|
|
||||||
# (.) and trees (#) you can see. For example:
|
|
||||||
|
|
||||||
# ..##.......
|
|
||||||
# #...#...#..
|
|
||||||
# .#....#..#.
|
|
||||||
# ..#.#...#.#
|
|
||||||
# .#...##..#.
|
|
||||||
# ..#.##.....
|
|
||||||
# .#.#.#....#
|
|
||||||
# .#........#
|
|
||||||
# #.##...#...
|
|
||||||
# #...##....#
|
|
||||||
# .#..#...#.#
|
|
||||||
|
|
||||||
# These aren't the only trees, though; due to something you read about once
|
|
||||||
# involving arboreal genetics and biome stability, the same pattern repeats to
|
|
||||||
# the right many times:
|
|
||||||
|
|
||||||
# ..##.........##.........##.........##.........##.........##....... --->
|
|
||||||
# #...#...#..#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..
|
|
||||||
# .#....#..#..#....#..#..#....#..#..#....#..#..#....#..#..#....#..#.
|
|
||||||
# ..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#
|
|
||||||
# .#...##..#..#...##..#..#...##..#..#...##..#..#...##..#..#...##..#.
|
|
||||||
# ..#.##.......#.##.......#.##.......#.##.......#.##.......#.##..... --->
|
|
||||||
# .#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#
|
|
||||||
# .#........#.#........#.#........#.#........#.#........#.#........#
|
|
||||||
# #.##...#...#.##...#...#.##...#...#.##...#...#.##...#...#.##...#...
|
|
||||||
# #...##....##...##....##...##....##...##....##...##....##...##....#
|
|
||||||
# .#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.#.#..#...#.# --->
|
|
||||||
|
|
||||||
# You start on the open square (.) in the top-left corner and need to reach the
|
|
||||||
# bottom (below the bottom-most row on your map).
|
|
||||||
|
|
||||||
# The toboggan can only follow a few specific slopes (you opted for a cheaper
|
|
||||||
# model that prefers rational numbers); start by counting all the trees you
|
|
||||||
# would encounter for the slope right 3, down 1:
|
|
||||||
|
|
||||||
# From your starting position at the top-left, check the position that is right
|
|
||||||
# 3 and down 1. Then, check the position that is right 3 and down 1 from there,
|
|
||||||
# and so on until you go past the bottom of the map.
|
|
||||||
|
|
||||||
# The locations you'd check in the above example are marked here with O where
|
|
||||||
# there was an open square and X where there was a tree:
|
|
||||||
|
|
||||||
# ..##.........##.........##.........##.........##.........##....... --->
|
|
||||||
# #..O#...#..#...#...#..#...#...#..#...#...#..#...#...#..#...#...#..
|
|
||||||
# .#....X..#..#....#..#..#....#..#..#....#..#..#....#..#..#....#..#.
|
|
||||||
# ..#.#...#O#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#..#.#...#.#
|
|
||||||
# .#...##..#..X...##..#..#...##..#..#...##..#..#...##..#..#...##..#.
|
|
||||||
# ..#.##.......#.X#.......#.##.......#.##.......#.##.......#.##..... --->
|
|
||||||
# .#.#.#....#.#.#.#.O..#.#.#.#....#.#.#.#....#.#.#.#....#.#.#.#....#
|
|
||||||
# .#........#.#........X.#........#.#........#.#........#.#........#
|
|
||||||
# #.##...#...#.##...#...#.X#...#...#.##...#...#.##...#...#.##...#...
|
|
||||||
# #...##....##...##....##...#X....##...##....##...##....##...##....#
|
|
||||||
# .#..#...#.#.#..#...#.#.#..#...X.#.#..#...#.#.#..#...#.#.#..#...#.# --->
|
|
||||||
|
|
||||||
# In this example, traversing the map using this slope would cause you to
|
|
||||||
# encounter 7 trees.
|
|
||||||
|
|
||||||
# Starting at the top-left corner of your map and following a slope of right 3
|
|
||||||
# and down 1, how many trees would you encounter?
|
|
||||||
|
|
||||||
|
|
||||||
with open("files/P3.txt", "r") as f:
|
|
||||||
forest = [line.split() for line in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
trees_found, pos = 0, 0
|
|
||||||
for idx, line in enumerate(forest):
|
|
||||||
extended_line = ",".join(line * 32).replace(",", "")
|
|
||||||
if extended_line[pos] == "#":
|
|
||||||
trees_found += 1
|
|
||||||
pos += 3
|
|
||||||
|
|
||||||
print(f"We found {trees_found} trees in our way")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# Time to check the rest of the slopes - you need to minimize the probability
|
|
||||||
# of a sudden arboreal stop, after all.
|
|
||||||
|
|
||||||
# Determine the number of trees you would encounter if, for each of the
|
|
||||||
# following slopes, you start at the top-left corner and traverse the map all
|
|
||||||
# the way to the bottom:
|
|
||||||
|
|
||||||
# Right 1, down 1.
|
|
||||||
# Right 3, down 1. (This is the slope you already checked.)
|
|
||||||
# Right 5, down 1.
|
|
||||||
# Right 7, down 1.
|
|
||||||
# Right 1, down 2.
|
|
||||||
|
|
||||||
# In the above example, these slopes would find 2, 7, 3, 4, and 2 tree(s)
|
|
||||||
# respectively; multiplied together, these produce the answer 336.
|
|
||||||
|
|
||||||
# What do you get if you multiply together the number of trees encountered on
|
|
||||||
# each of the listed slopes?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
pos = 0
|
|
||||||
trees_first = 0
|
|
||||||
# first slope: right 1, down 1
|
|
||||||
for idx, line in enumerate(forest):
|
|
||||||
extended_line = ",".join(line * 11).replace(",", "")
|
|
||||||
if extended_line[pos] == "#":
|
|
||||||
trees_first += 1
|
|
||||||
pos += 1
|
|
||||||
|
|
||||||
# reset pos
|
|
||||||
pos = 0
|
|
||||||
trees_second = 0
|
|
||||||
# second slope: right 3, down 1
|
|
||||||
for idx, line in enumerate(forest):
|
|
||||||
extended_line = ",".join(line * 32).replace(",", "")
|
|
||||||
if extended_line[pos] == "#":
|
|
||||||
trees_second += 1
|
|
||||||
pos += 3
|
|
||||||
|
|
||||||
# reset pos
|
|
||||||
pos = 0
|
|
||||||
trees_third = 0
|
|
||||||
# third slope: right 5, down 1
|
|
||||||
for idx, line in enumerate(forest):
|
|
||||||
extended_line = ",".join(line * 55).replace(",", "")
|
|
||||||
if extended_line[pos] == "#":
|
|
||||||
trees_third += 1
|
|
||||||
pos += 5
|
|
||||||
|
|
||||||
# reset pos
|
|
||||||
pos = 0
|
|
||||||
trees_fourth = 0
|
|
||||||
# fourth slope: right 7, down 1
|
|
||||||
for idx, line in enumerate(forest):
|
|
||||||
extended_line = ",".join(line * 77).replace(",", "")
|
|
||||||
if extended_line[pos] == "#":
|
|
||||||
trees_fourth += 1
|
|
||||||
pos += 7
|
|
||||||
|
|
||||||
# reset pos
|
|
||||||
pos = 0
|
|
||||||
trees_fifth = 0
|
|
||||||
# fifth slope: right 1, down 2
|
|
||||||
for idx, line in enumerate(forest):
|
|
||||||
if idx % 2 == 0:
|
|
||||||
# break
|
|
||||||
extended_line = ",".join(line * 6).replace(",", "")
|
|
||||||
if extended_line[pos] == "#":
|
|
||||||
trees_fifth += 1
|
|
||||||
pos += 1
|
|
||||||
|
|
||||||
total_trees = (
|
|
||||||
trees_first * trees_second * trees_third * trees_fourth * trees_fifth
|
|
||||||
)
|
|
||||||
|
|
||||||
print(f"We found {total_trees} trees in our way")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
228
src/P4.py
228
src/P4.py
@@ -1,228 +0,0 @@
|
|||||||
# --- Day 4: Passport Processing ---
|
|
||||||
|
|
||||||
# You arrive at the airport only to realize that you grabbed your North Pole
|
|
||||||
# Credentials instead of your passport. While these documents are extremely
|
|
||||||
# similar, North Pole Credentials aren't issued by a country and therefore
|
|
||||||
# aren't actually valid documentation for travel in most of the world.
|
|
||||||
|
|
||||||
# It seems like you're not the only one having problems, though; a very long
|
|
||||||
# line has formed for the automatic passport scanners, and the delay could
|
|
||||||
# upset your travel itinerary.
|
|
||||||
|
|
||||||
# Due to some questionable network security, you realize you might be able to
|
|
||||||
# solve both of these problems at the same time.
|
|
||||||
|
|
||||||
# The automatic passport scanners are slow because they're having trouble
|
|
||||||
# detecting which passports have all required fields. The expected fields are
|
|
||||||
# as follows:
|
|
||||||
|
|
||||||
# byr (Birth Year)
|
|
||||||
# iyr (Issue Year)
|
|
||||||
# eyr (Expiration Year)
|
|
||||||
# hgt (Height)
|
|
||||||
# hcl (Hair Color)
|
|
||||||
# ecl (Eye Color)
|
|
||||||
# pid (Passport ID)
|
|
||||||
# cid (Country ID)
|
|
||||||
|
|
||||||
# Passport data is validated in batch files (your puzzle input). Each passport
|
|
||||||
# is represented as a sequence of key:value pairs separated by spaces or
|
|
||||||
# newlines. Passports are separated by blank lines.
|
|
||||||
|
|
||||||
# Here is an example batch file containing four passports:
|
|
||||||
|
|
||||||
# ecl:gry pid:860033327 eyr:2020 hcl:#fffffd
|
|
||||||
# byr:1937 iyr:2017 cid:147 hgt:183cm
|
|
||||||
|
|
||||||
# iyr:2013 ecl:amb cid:350 eyr:2023 pid:028048884
|
|
||||||
# hcl:#cfa07d byr:1929
|
|
||||||
|
|
||||||
# hcl:#ae17e1 iyr:2013
|
|
||||||
# eyr:2024
|
|
||||||
# ecl:brn pid:760753108 byr:1931
|
|
||||||
# hgt:179cm
|
|
||||||
|
|
||||||
# hcl:#cfa07d eyr:2025 pid:166559648
|
|
||||||
# iyr:2011 ecl:brn hgt:59in
|
|
||||||
|
|
||||||
# The first passport is valid - all eight fields are present. The second
|
|
||||||
# passport is invalid - it is missing hgt (the Height field).
|
|
||||||
|
|
||||||
# The third passport is interesting; the only missing field is cid, so it looks
|
|
||||||
# like data from North Pole Credentials, not a passport at all! Surely, nobody
|
|
||||||
# would mind if you made the system temporarily ignore missing cid fields.
|
|
||||||
# Treat this "passport" as valid.
|
|
||||||
|
|
||||||
# The fourth passport is missing two fields, cid and byr. Missing cid is fine,
|
|
||||||
# but missing any other field is not, so this passport is invalid.
|
|
||||||
|
|
||||||
# According to the above rules, your improved system would report 2 valid
|
|
||||||
# passports.
|
|
||||||
|
|
||||||
# Count the number of valid passports - those that have all required fields.
|
|
||||||
# Treat cid as optional. In your batch file, how many passports are valid?
|
|
||||||
|
|
||||||
|
|
||||||
with open("files/P4.txt", "r") as f:
|
|
||||||
passports = [line.split() for line in f.read().strip().split("\n\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
valid_passports = 0
|
|
||||||
for passport in passports:
|
|
||||||
if len(passport) > 7:
|
|
||||||
valid_passports += 1
|
|
||||||
if len(passport) == 7:
|
|
||||||
valid_fields = 0
|
|
||||||
for field in passport:
|
|
||||||
if "cid" not in field:
|
|
||||||
valid_fields += 1
|
|
||||||
if valid_fields == 7:
|
|
||||||
valid_passports += 1
|
|
||||||
|
|
||||||
print(f"There are {valid_passports} valid passports")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# The line is moving more quickly now, but you overhear airport security
|
|
||||||
# talking about how passports with invalid data are getting through. Better add
|
|
||||||
# some data validation, quick!
|
|
||||||
|
|
||||||
# You can continue to ignore the cid field, but each other field has strict
|
|
||||||
# rules about what values are valid for automatic validation:
|
|
||||||
|
|
||||||
# byr (Birth Year) - four digits; at least 1920 and at most 2002.
|
|
||||||
# iyr (Issue Year) - four digits; at least 2010 and at most 2020.
|
|
||||||
# eyr (Expiration Year) - four digits; at least 2020 and at most 2030.
|
|
||||||
# hgt (Height) - a number followed by either cm or in:
|
|
||||||
# If cm, the number must be at least 150 and at most 193.
|
|
||||||
# If in, the number must be at least 59 and at most 76.
|
|
||||||
# hcl (Hair Color) - a # followed by exactly six characters 0-9 or a-f.
|
|
||||||
# ecl (Eye Color) - exactly one of: amb blu brn gry grn hzl oth.
|
|
||||||
# pid (Passport ID) - a nine-digit number, including leading zeroes.
|
|
||||||
# cid (Country ID) - ignored, missing or not.
|
|
||||||
|
|
||||||
# Your job is to count the passports where all required fields are both present
|
|
||||||
# and valid according to the above rules. Here are some example values:
|
|
||||||
|
|
||||||
# byr valid: 2002
|
|
||||||
# byr invalid: 2003
|
|
||||||
|
|
||||||
# hgt valid: 60in
|
|
||||||
# hgt valid: 190cm
|
|
||||||
# hgt invalid: 190in
|
|
||||||
# hgt invalid: 190
|
|
||||||
|
|
||||||
# hcl valid: #123abc
|
|
||||||
# hcl invalid: #123abz
|
|
||||||
# hcl invalid: 123abc
|
|
||||||
|
|
||||||
# ecl valid: brn
|
|
||||||
# ecl invalid: wat
|
|
||||||
|
|
||||||
# pid valid: 000000001
|
|
||||||
# pid invalid: 0123456789
|
|
||||||
|
|
||||||
# Here are some invalid passports:
|
|
||||||
|
|
||||||
# eyr:1972 cid:100
|
|
||||||
# hcl:#18171d ecl:amb hgt:170 pid:186cm iyr:2018 byr:1926
|
|
||||||
|
|
||||||
# iyr:2019
|
|
||||||
# hcl:#602927 eyr:1967 hgt:170cm
|
|
||||||
# ecl:grn pid:012533040 byr:1946
|
|
||||||
|
|
||||||
# hcl:dab227 iyr:2012
|
|
||||||
# ecl:brn hgt:182cm pid:021572410 eyr:2020 byr:1992 cid:277
|
|
||||||
|
|
||||||
# hgt:59cm ecl:zzz
|
|
||||||
# eyr:2038 hcl:74454a iyr:2023
|
|
||||||
# pid:3556412378 byr:2007
|
|
||||||
|
|
||||||
# Here are some valid passports:
|
|
||||||
|
|
||||||
# pid:087499704 hgt:74in ecl:grn iyr:2012 eyr:2030 byr:1980
|
|
||||||
# hcl:#623a2f
|
|
||||||
|
|
||||||
# eyr:2029 ecl:blu cid:129 byr:1989
|
|
||||||
# iyr:2014 pid:896056539 hcl:#a97842 hgt:165cm
|
|
||||||
|
|
||||||
# hcl:#888785
|
|
||||||
# hgt:164cm byr:2001 iyr:2015 cid:88
|
|
||||||
# pid:545766238 ecl:hzl
|
|
||||||
# eyr:2022
|
|
||||||
|
|
||||||
# iyr:2010 hgt:158cm hcl:#b6652a ecl:blu byr:1944 eyr:2021 pid:093154719
|
|
||||||
|
|
||||||
# Count the number of valid passports - those that have all required fields and
|
|
||||||
# valid values. Continue to treat cid as optional. In your batch file, how many
|
|
||||||
# passports are valid?
|
|
||||||
|
|
||||||
|
|
||||||
def is_valid(passport: dict[str, str]) -> bool:
|
|
||||||
keys = ["byr", "iyr", "eyr", "hgt", "hcl", "ecl", "pid"]
|
|
||||||
for key in keys:
|
|
||||||
if key not in passport:
|
|
||||||
return False
|
|
||||||
if not any([passport[key] != 4 for key in ["byr", "iyr", "eyr"]]):
|
|
||||||
return False
|
|
||||||
if passport["byr"] < "1920" or passport["byr"] > "2002":
|
|
||||||
return False
|
|
||||||
if passport["iyr"] < "2010" or passport["iyr"] > "2020":
|
|
||||||
return False
|
|
||||||
if passport["eyr"] < "2020" or passport["eyr"] > "2030":
|
|
||||||
return False
|
|
||||||
if not any(["cm" in passport["hgt"], "in" in passport["hgt"]]):
|
|
||||||
return False
|
|
||||||
_hgt = int(passport["hgt"][:-2])
|
|
||||||
if "cm" in passport["hgt"]:
|
|
||||||
if _hgt < 150 or _hgt > 193:
|
|
||||||
return False
|
|
||||||
if "in" in passport["hgt"]:
|
|
||||||
if _hgt < 59 or _hgt > 76:
|
|
||||||
return False
|
|
||||||
if "#" not in passport["hcl"]:
|
|
||||||
return False
|
|
||||||
_hcl = passport["hcl"].split("#")[-1]
|
|
||||||
if len(_hcl) != 6:
|
|
||||||
return False
|
|
||||||
try:
|
|
||||||
int(_hcl, 16)
|
|
||||||
except ValueError:
|
|
||||||
return False
|
|
||||||
if not any(
|
|
||||||
[
|
|
||||||
passport["ecl"]
|
|
||||||
in [
|
|
||||||
"amb",
|
|
||||||
"blu",
|
|
||||||
"brn",
|
|
||||||
"gry",
|
|
||||||
"grn",
|
|
||||||
"hzl",
|
|
||||||
"oth",
|
|
||||||
]
|
|
||||||
]
|
|
||||||
):
|
|
||||||
return False
|
|
||||||
if len(passport["pid"]) != 9:
|
|
||||||
return False
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
valid_passports = 0
|
|
||||||
for passport in passports:
|
|
||||||
_items: list[list[str]] = [
|
|
||||||
item.split(":") for item in passport if item
|
|
||||||
]
|
|
||||||
passport_dict: dict[str, str] = dict(_items)
|
|
||||||
if is_valid(passport_dict):
|
|
||||||
valid_passports += 1
|
|
||||||
print(f"There are {valid_passports} valid passports")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
128
src/P5.py
128
src/P5.py
@@ -1,128 +0,0 @@
|
|||||||
# --- Day 5: Binary Boarding ---
|
|
||||||
|
|
||||||
# You board your plane only to discover a new problem: you dropped your
|
|
||||||
# boarding pass! You aren't sure which seat is yours, and all of the flight
|
|
||||||
# attendants are busy with the flood of people that suddenly made it through
|
|
||||||
# passport control.
|
|
||||||
|
|
||||||
# You write a quick program to use your phone's camera to scan all of the
|
|
||||||
# nearby boarding passes (your puzzle input); perhaps you can find your seat
|
|
||||||
# through process of elimination.
|
|
||||||
|
|
||||||
# Instead of zones or groups, this airline uses binary space partitioning to
|
|
||||||
# seat people. A seat might be specified like FBFBBFFRLR, where F means
|
|
||||||
# "front", B means "back", L means "left", and R means "right".
|
|
||||||
|
|
||||||
# The first 7 characters will either be F or B; these specify exactly one of
|
|
||||||
# the 128 rows on the plane (numbered 0 through 127). Each letter tells you
|
|
||||||
# which half of a region the given seat is in. Start with the whole list of
|
|
||||||
# rows; the first letter indicates whether the seat is in the front (0 through
|
|
||||||
# 63) or the back (64 through 127). The next letter indicates which half of
|
|
||||||
# that region the seat is in, and so on until you're left with exactly one row.
|
|
||||||
|
|
||||||
# For example, consider just the first seven characters of FBFBBFFRLR:
|
|
||||||
|
|
||||||
# Start by considering the whole range, rows 0 through 127.
|
|
||||||
# F means to take the lower half, keeping rows 0 through 63.
|
|
||||||
# B means to take the upper half, keeping rows 32 through 63.
|
|
||||||
# F means to take the lower half, keeping rows 32 through 47.
|
|
||||||
# B means to take the upper half, keeping rows 40 through 47.
|
|
||||||
# B keeps rows 44 through 47.
|
|
||||||
# F keeps rows 44 through 45.
|
|
||||||
# The final F keeps the lower of the two, row 44.
|
|
||||||
|
|
||||||
# The last three characters will be either L or R; these specify exactly one of
|
|
||||||
# the 8 columns of seats on the plane (numbered 0 through 7). The same process
|
|
||||||
# as above proceeds again, this time with only three steps. L means to keep the
|
|
||||||
# lower half, while R means to keep the upper half.
|
|
||||||
|
|
||||||
# For example, consider just the last 3 characters of FBFBBFFRLR:
|
|
||||||
|
|
||||||
# Start by considering the whole range, columns 0 through 7.
|
|
||||||
# R means to take the upper half, keeping columns 4 through 7.
|
|
||||||
# L means to take the lower half, keeping columns 4 through 5.
|
|
||||||
# The final R keeps the upper of the two, column 5.
|
|
||||||
|
|
||||||
# So, decoding FBFBBFFRLR reveals that it is the seat at row 44, column 5.
|
|
||||||
|
|
||||||
# Every seat also has a unique seat ID: multiply the row by 8, then add the
|
|
||||||
# column. In this example, the seat has ID 44 * 8 + 5 = 357.
|
|
||||||
|
|
||||||
# Here are some other boarding passes:
|
|
||||||
|
|
||||||
# BFFFBBFRRR: row 70, column 7, seat ID 567.
|
|
||||||
# FFFBBBFRRR: row 14, column 7, seat ID 119.
|
|
||||||
# BBFFBBFRLL: row 102, column 4, seat ID 820.
|
|
||||||
|
|
||||||
# As a sanity check, look through your list of boarding passes. What is the
|
|
||||||
# highest seat ID on a boarding pass?
|
|
||||||
|
|
||||||
with open("files/P5.txt", "r") as f:
|
|
||||||
boarding_passes = [code for code in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def binary_search(
|
|
||||||
arr: str, upper_limit: int, var_lower: str, var_upper: str
|
|
||||||
) -> int:
|
|
||||||
range_l = 0
|
|
||||||
range_h = upper_limit
|
|
||||||
range_m = 0
|
|
||||||
for char in arr:
|
|
||||||
range_m = (range_h + range_l) // 2
|
|
||||||
if char == var_lower:
|
|
||||||
range_h = range_m
|
|
||||||
elif char == var_upper:
|
|
||||||
range_l = range_m + 1
|
|
||||||
return int(range_l)
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
seat_ID: int = 0
|
|
||||||
for code in boarding_passes:
|
|
||||||
row, col = code[:7], code[-3:]
|
|
||||||
|
|
||||||
_row = binary_search(row, 127, "F", "B")
|
|
||||||
_col = binary_search(col, 7, "L", "R")
|
|
||||||
_seat_ID: int = _row * 8 + _col
|
|
||||||
seat_ID = max(seat_ID, _seat_ID)
|
|
||||||
|
|
||||||
print(f"The highest seat ID on a boarding pass is {seat_ID}")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# Ding! The "fasten seat belt" signs have turned on. Time to find your seat.
|
|
||||||
|
|
||||||
# It's a completely full flight, so your seat should be the only missing
|
|
||||||
# boarding pass in your list. However, there's a catch: some of the seats at
|
|
||||||
# the very front and back of the plane don't exist on this aircraft, so they'll
|
|
||||||
# be missing from your list as well.
|
|
||||||
|
|
||||||
# Your seat wasn't at the very front or back, though; the seats with IDs +1 and
|
|
||||||
# -1 from yours will be in your list.
|
|
||||||
|
|
||||||
# What is the ID of your seat?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
seat_IDs: list[int] = []
|
|
||||||
missing_seats: list[int] = []
|
|
||||||
for code in boarding_passes:
|
|
||||||
row, col = code[:7], code[-3:]
|
|
||||||
|
|
||||||
_row = binary_search(row, 127, "F", "B")
|
|
||||||
_col = binary_search(col, 7, "L", "R")
|
|
||||||
_seat_ID: int = _row * 8 + _col
|
|
||||||
seat_IDs.append(_seat_ID)
|
|
||||||
|
|
||||||
for ID in range(len(boarding_passes)):
|
|
||||||
if ID in seat_IDs:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
missing_seats.append(ID)
|
|
||||||
print(f"The ID of my seat is {missing_seats[-1]}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
138
src/P6.py
138
src/P6.py
@@ -1,138 +0,0 @@
|
|||||||
# --- Day 6: Custom Customs ---
|
|
||||||
|
|
||||||
# As your flight approaches the regional airport where you'll switch to a much
|
|
||||||
# larger plane, customs declaration forms are distributed to the passengers.
|
|
||||||
|
|
||||||
# The form asks a series of 26 yes-or-no questions marked a through z. All you
|
|
||||||
# need to do is identify the questions for which anyone in your group answers
|
|
||||||
# "yes". Since your group is just you, this doesn't take very long.
|
|
||||||
|
|
||||||
# However, the person sitting next to you seems to be experiencing a language
|
|
||||||
# barrier and asks if you can help. For each of the people in their group, you
|
|
||||||
# write down the questions for which they answer "yes", one per line. For
|
|
||||||
# example:
|
|
||||||
|
|
||||||
# abcx
|
|
||||||
# abcy
|
|
||||||
# abcz
|
|
||||||
|
|
||||||
# In this group, there are 6 questions to which anyone answered "yes": a, b, c,
|
|
||||||
# x, y, and z. (Duplicate answers to the same question don't count extra; each
|
|
||||||
# question counts at most once.)
|
|
||||||
|
|
||||||
# Another group asks for your help, then another, and eventually you've
|
|
||||||
# collected answers from every group on the plane (your puzzle input). Each
|
|
||||||
# group's answers are separated by a blank line, and within each group, each
|
|
||||||
# person's answers are on a single line. For example:
|
|
||||||
|
|
||||||
# abc
|
|
||||||
|
|
||||||
# a
|
|
||||||
# b
|
|
||||||
# c
|
|
||||||
|
|
||||||
# ab
|
|
||||||
# ac
|
|
||||||
|
|
||||||
# a
|
|
||||||
# a
|
|
||||||
# a
|
|
||||||
# a
|
|
||||||
|
|
||||||
# b
|
|
||||||
|
|
||||||
# This list represents answers from five groups:
|
|
||||||
|
|
||||||
# The first group contains one person who answered "yes" to 3 questions: a,
|
|
||||||
# b, and c.
|
|
||||||
# The second group contains three people; combined, they answered "yes" to
|
|
||||||
# 3 questions: a, b, and c.
|
|
||||||
# The third group contains two people; combined, they answered "yes" to 3
|
|
||||||
# questions: a, b, and c.
|
|
||||||
# The fourth group contains four people; combined, they answered "yes" to
|
|
||||||
# only 1 question, a.
|
|
||||||
# The last group contains one person who answered "yes" to only 1 question,
|
|
||||||
# b.
|
|
||||||
|
|
||||||
# In this example, the sum of these counts is 3 + 3 + 3 + 1 + 1 = 11.
|
|
||||||
|
|
||||||
# For each group, count the number of questions to which anyone answered "yes".
|
|
||||||
# What is the sum of those counts?
|
|
||||||
|
|
||||||
with open("files/P6.txt", "r") as f:
|
|
||||||
answers_groups = [line.split() for line in f.read().strip().split("\n\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
counts: int = 0
|
|
||||||
for answers_group in answers_groups:
|
|
||||||
yes = len(
|
|
||||||
set(
|
|
||||||
[
|
|
||||||
answer
|
|
||||||
for individual_answers in answers_group
|
|
||||||
for answer in individual_answers
|
|
||||||
]
|
|
||||||
)
|
|
||||||
)
|
|
||||||
counts += yes
|
|
||||||
|
|
||||||
print(f"The sum of counts is {counts}")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# As you finish the last group's customs declaration, you notice that you
|
|
||||||
# misread one word in the instructions:
|
|
||||||
|
|
||||||
# You don't need to identify the questions to which anyone answered "yes"; you
|
|
||||||
# need to identify the questions to which everyone answered "yes"!
|
|
||||||
|
|
||||||
# Using the same example as above:
|
|
||||||
|
|
||||||
# abc
|
|
||||||
|
|
||||||
# a
|
|
||||||
# b
|
|
||||||
# c
|
|
||||||
|
|
||||||
# ab
|
|
||||||
# ac
|
|
||||||
|
|
||||||
# a
|
|
||||||
# a
|
|
||||||
# a
|
|
||||||
# a
|
|
||||||
|
|
||||||
# b
|
|
||||||
|
|
||||||
# This list represents answers from five groups:
|
|
||||||
|
|
||||||
# In the first group, everyone (all 1 person) answered "yes" to 3
|
|
||||||
# questions: a, b, and c.
|
|
||||||
# In the second group, there is no question to which everyone answered
|
|
||||||
# "yes".
|
|
||||||
# In the third group, everyone answered yes to only 1 question, a. Since
|
|
||||||
# some people did not answer "yes" to b or c, they don't count.
|
|
||||||
# In the fourth group, everyone answered yes to only 1 question, a.
|
|
||||||
# In the fifth group, everyone (all 1 person) answered "yes" to 1 question,
|
|
||||||
# b.
|
|
||||||
|
|
||||||
# In this example, the sum of these counts is 3 + 0 + 1 + 1 + 1 = 6.
|
|
||||||
|
|
||||||
# For each group, count the number of questions to which everyone answered
|
|
||||||
# "yes". What is the sum of those counts?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
counts: int = 0
|
|
||||||
for answers_group in answers_groups:
|
|
||||||
yes = len(set.intersection(*map(set, answers_group)))
|
|
||||||
counts += yes
|
|
||||||
|
|
||||||
print(f"The sum of counts is {counts}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
168
src/P7.py
168
src/P7.py
@@ -1,168 +0,0 @@
|
|||||||
from typing import Dict
|
|
||||||
|
|
||||||
# --- Day 7: Handy Haversacks ---
|
|
||||||
|
|
||||||
# You land at the regional airport in time for your next flight. In fact, it
|
|
||||||
# looks like you'll even have time to grab some food: all flights are currently
|
|
||||||
# delayed due to issues in luggage processing.
|
|
||||||
|
|
||||||
# Due to recent aviation regulations, many rules (your puzzle input) are being
|
|
||||||
# enforced about bags and their contents; bags must be color-coded and must
|
|
||||||
# contain specific quantities of other color-coded bags. Apparently, nobody
|
|
||||||
# responsible for these regulations considered how long they would take to
|
|
||||||
# enforce!
|
|
||||||
|
|
||||||
# For example, consider the following rules:
|
|
||||||
|
|
||||||
# light red bags contain 1 bright white bag, 2 muted yellow bags.
|
|
||||||
# dark orange bags contain 3 bright white bags, 4 muted yellow bags.
|
|
||||||
# bright white bags contain 1 shiny gold bag.
|
|
||||||
# muted yellow bags contain 2 shiny gold bags, 9 faded blue bags.
|
|
||||||
# shiny gold bags contain 1 dark olive bag, 2 vibrant plum bags.
|
|
||||||
# dark olive bags contain 3 faded blue bags, 4 dotted black bags.
|
|
||||||
# vibrant plum bags contain 5 faded blue bags, 6 dotted black bags.
|
|
||||||
# faded blue bags contain no other bags.
|
|
||||||
# dotted black bags contain no other bags.
|
|
||||||
|
|
||||||
# These rules specify the required contents for 9 bag types. In this example,
|
|
||||||
# every faded blue bag is empty, every vibrant plum bag contains 11 bags (5
|
|
||||||
# faded blue and 6 dotted black), and so on.
|
|
||||||
|
|
||||||
# You have a shiny gold bag. If you wanted to carry it in at least one other
|
|
||||||
# bag, how many different bag colors would be valid for the outermost bag? (In
|
|
||||||
# other words: how many colors can, eventually, contain at least one shiny gold
|
|
||||||
# bag?)
|
|
||||||
|
|
||||||
# In the above rules, the following options would be available to you:
|
|
||||||
|
|
||||||
# A bright white bag, which can hold your shiny gold bag directly.
|
|
||||||
# A muted yellow bag, which can hold your shiny gold bag directly, plus
|
|
||||||
# some other bags.
|
|
||||||
# A dark orange bag, which can hold bright white and muted yellow bags,
|
|
||||||
# either of which could then hold your shiny gold bag.
|
|
||||||
# A light red bag, which can hold bright white and muted yellow bags,
|
|
||||||
# either of which could then hold your shiny gold bag.
|
|
||||||
|
|
||||||
# So, in this example, the number of bag colors that can eventually contain at
|
|
||||||
# least one shiny gold bag is 4.
|
|
||||||
|
|
||||||
# How many bag colors can eventually contain at least one shiny gold bag? (The
|
|
||||||
# list of rules is quite long; make sure you get all of it.)
|
|
||||||
|
|
||||||
with open("files/P7.txt", "r") as f:
|
|
||||||
lines = [code for code in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
# to make a dictionary of bags
|
|
||||||
bag_types = []
|
|
||||||
all_bags: Dict[str, str] = {}
|
|
||||||
for line in lines:
|
|
||||||
main_bag = line.split(" bags contain ")[0]
|
|
||||||
# get a string with the content of each bag
|
|
||||||
contains = line.split(" bags contain ")[1:][0]
|
|
||||||
# house keeping
|
|
||||||
each_contain = contains.split(",")
|
|
||||||
each_contain = [cnt.lstrip() for cnt in each_contain]
|
|
||||||
# get a list of strings with the content of each bag
|
|
||||||
each_contain = [" ".join(cont.split(" ")[:-1]) for cont in each_contain]
|
|
||||||
# get a dictionary with bags as keys and number of them as values
|
|
||||||
each_contain = {
|
|
||||||
" ".join(cont.split(" ")[1:]): cont.split(" ")[0]
|
|
||||||
for cont in each_contain
|
|
||||||
}
|
|
||||||
|
|
||||||
if main_bag not in bag_types:
|
|
||||||
bag_types.append(main_bag)
|
|
||||||
if all_bags.get(main_bag):
|
|
||||||
each_contain.update(all_bags[main_bag])
|
|
||||||
all_bags[main_bag] = each_contain
|
|
||||||
|
|
||||||
|
|
||||||
def check_bag(bags: Dict[str, str], my_bag: str, current_bag: str) -> int:
|
|
||||||
if current_bag == my_bag:
|
|
||||||
return 1
|
|
||||||
if bags.get(current_bag) is None:
|
|
||||||
return 0
|
|
||||||
else:
|
|
||||||
counts = []
|
|
||||||
for k, v in bags[current_bag].items():
|
|
||||||
counts.append(check_bag(bags, my_bag, k))
|
|
||||||
return max(counts)
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> None:
|
|
||||||
found_bags = 0
|
|
||||||
my_bag = "shiny gold"
|
|
||||||
for k, v in all_bags.items():
|
|
||||||
if k != my_bag:
|
|
||||||
found_bags += check_bag(all_bags, my_bag, k)
|
|
||||||
print(f"{found_bags} bags can contain a {my_bag} bag.")
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# It's getting pretty expensive to fly these days - not because of ticket
|
|
||||||
# prices, but because of the ridiculous number of bags you need to buy!
|
|
||||||
|
|
||||||
# Consider again your shiny gold bag and the rules from the above example:
|
|
||||||
|
|
||||||
# faded blue bags contain 0 other bags.
|
|
||||||
# dotted black bags contain 0 other bags.
|
|
||||||
# vibrant plum bags contain 11 other bags: 5 faded blue bags and 6 dotted
|
|
||||||
# black bags.
|
|
||||||
# dark olive bags contain 7 other bags: 3 faded blue bags and 4 dotted
|
|
||||||
# black bags.
|
|
||||||
|
|
||||||
# So, a single shiny gold bag must contain 1 dark olive bag (and the 7 bags
|
|
||||||
# within it) plus 2 vibrant plum bags (and the 11 bags within each of those):
|
|
||||||
# 1 + 1*7 + 2 + 2*11 = 32 bags!
|
|
||||||
|
|
||||||
# Of course, the actual rules have a small chance of going several levels
|
|
||||||
# deeper than this example; be sure to count all of the bags, even if the
|
|
||||||
# nesting becomes topologically impractical!
|
|
||||||
|
|
||||||
# Here's another example:
|
|
||||||
|
|
||||||
# shiny gold bags contain 2 dark red bags.
|
|
||||||
# dark red bags contain 2 dark orange bags.
|
|
||||||
# dark orange bags contain 2 dark yellow bags.
|
|
||||||
# dark yellow bags contain 2 dark green bags.
|
|
||||||
# dark green bags contain 2 dark blue bags.
|
|
||||||
# dark blue bags contain 2 dark violet bags.
|
|
||||||
# dark violet bags contain no other bags.
|
|
||||||
|
|
||||||
# In this example, a single shiny gold bag must contain 126 other bags.
|
|
||||||
|
|
||||||
# How many individual bags are required inside your single shiny gold bag?
|
|
||||||
|
|
||||||
|
|
||||||
bags_contains: Dict[str, str] = {}
|
|
||||||
for k, v in all_bags.items():
|
|
||||||
bags_contains[k] = []
|
|
||||||
try:
|
|
||||||
for kk, vv in v.items():
|
|
||||||
bags_contains[k] += [kk] * int(vv)
|
|
||||||
except ValueError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def count_bags(current_bag: str) -> int:
|
|
||||||
if current_bag == " " or bags_contains.get(current_bag) is None:
|
|
||||||
return 0
|
|
||||||
|
|
||||||
cnt = len(bags_contains[current_bag])
|
|
||||||
nbags = []
|
|
||||||
for k in bags_contains[current_bag]:
|
|
||||||
nbags.append(count_bags(k))
|
|
||||||
return sum(nbags) + cnt
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
my_bag = "shiny gold"
|
|
||||||
nbags = count_bags(my_bag)
|
|
||||||
|
|
||||||
print(f"My shiny gold bag can contain {nbags} bags")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1()
|
|
||||||
part_2()
|
|
||||||
181
src/P8.py
181
src/P8.py
@@ -1,181 +0,0 @@
|
|||||||
from typing import List, Tuple
|
|
||||||
|
|
||||||
# --- Day 8: Handheld Halting ---
|
|
||||||
|
|
||||||
# Your flight to the major airline hub reaches cruising altitude without
|
|
||||||
# incident. While you consider checking the in-flight menu for one of those
|
|
||||||
# drinks that come with a little umbrella, you are interrupted by the kid
|
|
||||||
# sitting next to you.
|
|
||||||
|
|
||||||
# Their handheld game console won't turn on! They ask if you can take a look.
|
|
||||||
|
|
||||||
# You narrow the problem down to a strange infinite loop in the boot code
|
|
||||||
# (your puzzle input) of the device. You should be able to fix it, but first
|
|
||||||
# you need to be able to run the code in isolation.
|
|
||||||
|
|
||||||
# The boot code is represented as a text file with one instruction per line of
|
|
||||||
# text. Each instruction consists of an operation (acc, jmp, or nop) and an
|
|
||||||
# argument (a signed number like +4 or -20).
|
|
||||||
|
|
||||||
# acc increases or decreases a single global value called the accumulator
|
|
||||||
# by the value given in the argument. For example, acc +7 would increase the
|
|
||||||
# accumulator by 7. The accumulator starts at 0. After an acc instruction, the
|
|
||||||
# instruction immediately below it is executed next.
|
|
||||||
# jmp jumps to a new instruction relative to itself. The next instruction
|
|
||||||
# to execute is found using the argument as an offset from the jmp instruction;
|
|
||||||
# for example, jmp +2 would skip the next instruction, jmp +1 would continue to
|
|
||||||
# the instruction immediately below it, and jmp -20 would cause the instruction
|
|
||||||
# 20 lines above to be executed next.
|
|
||||||
# nop stands for No OPeration - it does nothing. The instruction
|
|
||||||
# immediately below it is executed next.
|
|
||||||
|
|
||||||
# For example, consider the following program:
|
|
||||||
|
|
||||||
# nop +0
|
|
||||||
# acc +1
|
|
||||||
# jmp +4
|
|
||||||
# acc +3
|
|
||||||
# jmp -3
|
|
||||||
# acc -99
|
|
||||||
# acc +1
|
|
||||||
# jmp -4
|
|
||||||
# acc +6
|
|
||||||
|
|
||||||
# These instructions are visited in this order:
|
|
||||||
|
|
||||||
# nop +0 | 1
|
|
||||||
# acc +1 | 2, 8(!)
|
|
||||||
# jmp +4 | 3
|
|
||||||
# acc +3 | 6
|
|
||||||
# jmp -3 | 7
|
|
||||||
# acc -99 |
|
|
||||||
# acc +1 | 4
|
|
||||||
# jmp -4 | 5
|
|
||||||
# acc +6 |
|
|
||||||
|
|
||||||
# First, the nop +0 does nothing. Then, the accumulator is increased from 0 to
|
|
||||||
# 1 (acc +1) and jmp +4 sets the next instruction to the other acc +1 near the
|
|
||||||
# bottom. After it increases the accumulator from 1 to 2, jmp -4 executes,
|
|
||||||
# setting the next instruction to the only acc +3. It sets the accumulator to
|
|
||||||
# 5, and jmp -3 causes the program to continue back at the first acc +1.
|
|
||||||
|
|
||||||
# This is an infinite loop: with this sequence of jumps, the program will run
|
|
||||||
# forever. The moment the program tries to run any instruction a second time,
|
|
||||||
# you know it will never terminate.
|
|
||||||
|
|
||||||
# Immediately before the program would run an instruction a second time, the
|
|
||||||
# value in the accumulator is 5.
|
|
||||||
|
|
||||||
# Run your copy of the boot code. Immediately before any instruction is
|
|
||||||
# executed a second time, what value is in the accumulator?
|
|
||||||
|
|
||||||
with open("files/P8.txt", "r") as f:
|
|
||||||
lines = [code for code in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1(lines: List[str], debug: bool = False) -> Tuple[int, bool]:
|
|
||||||
accu = 0
|
|
||||||
executed = []
|
|
||||||
nline = 0
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
instr, acc = lines[nline].split(" ")
|
|
||||||
if nline in executed:
|
|
||||||
# we are in a for loop :(
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
executed.append(nline)
|
|
||||||
if instr == "acc":
|
|
||||||
accu += int(acc)
|
|
||||||
nline += 1
|
|
||||||
continue
|
|
||||||
elif instr == "jmp":
|
|
||||||
nline = nline + int(acc)
|
|
||||||
continue
|
|
||||||
elif instr == "nop":
|
|
||||||
nline += 1
|
|
||||||
continue
|
|
||||||
except IndexError:
|
|
||||||
if debug:
|
|
||||||
print("Code has run successfully")
|
|
||||||
return accu, True
|
|
||||||
if debug:
|
|
||||||
print(f"The value of the accumulator was {accu} before exiting")
|
|
||||||
return accu, False
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# After some careful analysis, you believe that exactly one instruction is
|
|
||||||
# corrupted.
|
|
||||||
|
|
||||||
# Somewhere in the program, either a jmp is supposed to be a nop, or a nop is
|
|
||||||
# supposed to be a jmp. (No acc instructions were harmed in the corruption of
|
|
||||||
# this boot code.)
|
|
||||||
|
|
||||||
# The program is supposed to terminate by attempting to execute an instruction
|
|
||||||
# immediately after the last instruction in the file. By changing exactly one
|
|
||||||
# jmp or nop, you can repair the boot code and make it terminate correctly.
|
|
||||||
|
|
||||||
# For example, consider the same program from above:
|
|
||||||
|
|
||||||
# nop +0
|
|
||||||
# acc +1
|
|
||||||
# jmp +4
|
|
||||||
# acc +3
|
|
||||||
# jmp -3
|
|
||||||
# acc -99
|
|
||||||
# acc +1
|
|
||||||
# jmp -4
|
|
||||||
# acc +6
|
|
||||||
|
|
||||||
# If you change the first instruction from nop +0 to jmp +0, it would create a
|
|
||||||
# single-instruction infinite loop, never leaving that instruction. If you
|
|
||||||
# change almost any of the jmp instructions, the program will still eventually
|
|
||||||
# find another jmp instruction and loop forever.
|
|
||||||
|
|
||||||
# However, if you change the second-to-last instruction (from jmp -4 to
|
|
||||||
# nop -4), the program terminates! The instructions are visited in this order:
|
|
||||||
|
|
||||||
# nop +0 | 1
|
|
||||||
# acc +1 | 2
|
|
||||||
# jmp +4 | 3
|
|
||||||
# acc +3 |
|
|
||||||
# jmp -3 |
|
|
||||||
# acc -99 |
|
|
||||||
# acc +1 | 4
|
|
||||||
# nop -4 | 5
|
|
||||||
# acc +6 | 6
|
|
||||||
|
|
||||||
# After the last instruction (acc +6), the program terminates by attempting to
|
|
||||||
# run the instruction below the last instruction in the file. With this change,
|
|
||||||
# after the program terminates, the accumulator contains the value 8 (acc +1,
|
|
||||||
# acc +1, acc +6).
|
|
||||||
|
|
||||||
# Fix the program so that it terminates normally by changing exactly one jmp
|
|
||||||
# (to nop) or nop (to jmp). What is the value of the accumulator after the
|
|
||||||
# program terminates?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
for nline, _ in enumerate(lines):
|
|
||||||
inst, acc = lines[nline].split(" ")
|
|
||||||
# change instructions
|
|
||||||
if inst == "nop":
|
|
||||||
new_inst = "jmp"
|
|
||||||
elif inst == "jmp":
|
|
||||||
new_inst = "nop"
|
|
||||||
|
|
||||||
# make a copy of the original code
|
|
||||||
new_lines = lines.copy()
|
|
||||||
# change line according to the instructions in the original code
|
|
||||||
new_lines[nline] = " ".join((new_inst, acc))
|
|
||||||
accu, has_ended = part_1(new_lines)
|
|
||||||
if has_ended:
|
|
||||||
print(f"The value of the accumulator was {accu} after terminates")
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
part_1(lines, debug=True)
|
|
||||||
part_2()
|
|
||||||
149
src/P9.py
149
src/P9.py
@@ -1,149 +0,0 @@
|
|||||||
import sys
|
|
||||||
from itertools import combinations
|
|
||||||
|
|
||||||
# --- Day 9: Encoding Error ---
|
|
||||||
|
|
||||||
# With your neighbor happily enjoying their video game, you turn your attention
|
|
||||||
# to an open data port on the little screen in the seat in front of you.
|
|
||||||
|
|
||||||
# Though the port is non-standard, you manage to connect it to your computer
|
|
||||||
# through the clever use of several paperclips. Upon connection, the port
|
|
||||||
# outputs a series of numbers (your puzzle input).
|
|
||||||
|
|
||||||
# The data appears to be encrypted with the eXchange-Masking Addition System
|
|
||||||
# (XMAS) which, conveniently for you, is an old cypher with an important
|
|
||||||
# weakness.
|
|
||||||
|
|
||||||
# XMAS starts by transmitting a preamble of 25 numbers. After that, each number
|
|
||||||
# you receive should be the sum of any two of the 25 immediately previous
|
|
||||||
# numbers. The two numbers will have different values, and there might be more
|
|
||||||
# than one such pair.
|
|
||||||
|
|
||||||
# For example, suppose your preamble consists of the numbers 1 through 25 in a
|
|
||||||
# random order. To be valid, the next number must be the sum of two of those
|
|
||||||
# numbers:
|
|
||||||
|
|
||||||
# 26 would be a valid next number, as it could be 1 plus 25 (or many other
|
|
||||||
# pairs, like 2 and 24).
|
|
||||||
# 49 would be a valid next number, as it is the sum of 24 and 25.
|
|
||||||
# 100 would not be valid; no two of the previous 25 numbers sum to 100.
|
|
||||||
# 50 would also not be valid; although 25 appears in the previous 25
|
|
||||||
# numbers, the two numbers in the pair must be different.
|
|
||||||
|
|
||||||
# Suppose the 26th number is 45, and the first number (no longer an option, as
|
|
||||||
# it is more than 25 numbers ago) was 20. Now, for the next number to be valid,
|
|
||||||
# there needs to be some pair of numbers among 1-19, 21-25, or 45 that add up
|
|
||||||
# to it:
|
|
||||||
|
|
||||||
# 26 would still be a valid next number, as 1 and 25 are still within the
|
|
||||||
# previous 25 numbers.
|
|
||||||
# 65 would not be valid, as no two of the available numbers sum to it.
|
|
||||||
# 64 and 66 would both be valid, as they are the result of 19+45 and 21+45
|
|
||||||
# respectively.
|
|
||||||
|
|
||||||
# Here is a larger example which only considers the previous 5 numbers (and has
|
|
||||||
# a preamble of length 5):
|
|
||||||
|
|
||||||
# 35
|
|
||||||
# 20
|
|
||||||
# 15
|
|
||||||
# 25
|
|
||||||
# 47
|
|
||||||
# 40
|
|
||||||
# 62
|
|
||||||
# 55
|
|
||||||
# 65
|
|
||||||
# 95
|
|
||||||
# 102
|
|
||||||
# 117
|
|
||||||
# 150
|
|
||||||
# 182
|
|
||||||
# 127
|
|
||||||
# 219
|
|
||||||
# 299
|
|
||||||
# 277
|
|
||||||
# 309
|
|
||||||
# 576
|
|
||||||
|
|
||||||
# In this example, after the 5-number preamble, almost every number is the sum
|
|
||||||
# of two of the previous 5 numbers; the only number that does not follow this
|
|
||||||
# rule is 127.
|
|
||||||
|
|
||||||
# The first step of attacking the weakness in the XMAS data is to find the
|
|
||||||
# first number in the list (after the preamble) which is not the sum of two of
|
|
||||||
# the 25 numbers before it. What is the first number that does not have this
|
|
||||||
# property?
|
|
||||||
|
|
||||||
|
|
||||||
with open("files/P9.txt", "r") as f:
|
|
||||||
numbers = [int(num) for num in f.read().strip().split("\n")]
|
|
||||||
|
|
||||||
|
|
||||||
def part_1() -> int:
|
|
||||||
window = 25
|
|
||||||
for i in range(window, len(numbers)):
|
|
||||||
if all(
|
|
||||||
[
|
|
||||||
x + y != numbers[i]
|
|
||||||
for x, y in combinations(numbers[i - window : i], 2)
|
|
||||||
]
|
|
||||||
):
|
|
||||||
break
|
|
||||||
|
|
||||||
print(f"The first number without the property is {numbers[i]}")
|
|
||||||
return numbers[i]
|
|
||||||
|
|
||||||
|
|
||||||
# --- Part Two ---
|
|
||||||
|
|
||||||
# The final step in breaking the XMAS encryption relies on the invalid number
|
|
||||||
# you just found: you must find a contiguous set of at least two numbers in
|
|
||||||
# your list which sum to the invalid number from step 1.
|
|
||||||
|
|
||||||
# Again consider the above example:
|
|
||||||
|
|
||||||
# 35
|
|
||||||
# 20
|
|
||||||
# 15
|
|
||||||
# 25
|
|
||||||
# 47
|
|
||||||
# 40
|
|
||||||
# 62
|
|
||||||
# 55
|
|
||||||
# 65
|
|
||||||
# 95
|
|
||||||
# 102
|
|
||||||
# 117
|
|
||||||
# 150
|
|
||||||
# 182
|
|
||||||
# 127
|
|
||||||
# 219
|
|
||||||
# 299
|
|
||||||
# 277
|
|
||||||
# 309
|
|
||||||
# 576
|
|
||||||
|
|
||||||
# In this list, adding up all of the numbers from 15 through 40 produces the
|
|
||||||
# invalid number from step 1, 127. (Of course, the contiguous set of numbers in
|
|
||||||
# your actual list might be much longer.)
|
|
||||||
|
|
||||||
# To find the encryption weakness, add together the smallest and largest number
|
|
||||||
# in this contiguous range; in this example, these are 15 and 47, producing 62.
|
|
||||||
|
|
||||||
# What is the encryption weakness in your XMAS-encrypted list of numbers?
|
|
||||||
|
|
||||||
|
|
||||||
def part_2() -> None:
|
|
||||||
target = invalid_number
|
|
||||||
for i in range(len(numbers)):
|
|
||||||
for j in range(i + 1, len(numbers)):
|
|
||||||
if sum(numbers[i:j]) == target:
|
|
||||||
print(
|
|
||||||
f"The encryption weakness is {min(numbers[i:j]) + max(numbers[i:j])}"
|
|
||||||
)
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
invalid_number = part_1()
|
|
||||||
part_2()
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
__version__ = "0.1.0"
|
|
||||||
200
src/files/P1.txt
200
src/files/P1.txt
@@ -1,200 +0,0 @@
|
|||||||
1865
|
|
||||||
1179
|
|
||||||
1328
|
|
||||||
1390
|
|
||||||
322
|
|
||||||
1999
|
|
||||||
1713
|
|
||||||
1808
|
|
||||||
1380
|
|
||||||
1727
|
|
||||||
1702
|
|
||||||
1304
|
|
||||||
1481
|
|
||||||
1334
|
|
||||||
1728
|
|
||||||
1953
|
|
||||||
1413
|
|
||||||
1753
|
|
||||||
1723
|
|
||||||
1379
|
|
||||||
1532
|
|
||||||
1918
|
|
||||||
1490
|
|
||||||
71
|
|
||||||
1388
|
|
||||||
1519
|
|
||||||
807
|
|
||||||
1427
|
|
||||||
1729
|
|
||||||
1952
|
|
||||||
970
|
|
||||||
1405
|
|
||||||
1500
|
|
||||||
1782
|
|
||||||
1899
|
|
||||||
1501
|
|
||||||
1720
|
|
||||||
1832
|
|
||||||
1706
|
|
||||||
1658
|
|
||||||
1333
|
|
||||||
486
|
|
||||||
1670
|
|
||||||
1674
|
|
||||||
1290
|
|
||||||
1893
|
|
||||||
1382
|
|
||||||
1761
|
|
||||||
1945
|
|
||||||
1607
|
|
||||||
1319
|
|
||||||
1508
|
|
||||||
1464
|
|
||||||
1733
|
|
||||||
1917
|
|
||||||
1483
|
|
||||||
1620
|
|
||||||
1677
|
|
||||||
1835
|
|
||||||
1810
|
|
||||||
1385
|
|
||||||
1840
|
|
||||||
1705
|
|
||||||
1994
|
|
||||||
1695
|
|
||||||
1599
|
|
||||||
1681
|
|
||||||
1566
|
|
||||||
1153
|
|
||||||
1672
|
|
||||||
1373
|
|
||||||
1679
|
|
||||||
1714
|
|
||||||
1283
|
|
||||||
1950
|
|
||||||
1197
|
|
||||||
1696
|
|
||||||
1936
|
|
||||||
1218
|
|
||||||
1910
|
|
||||||
1786
|
|
||||||
958
|
|
||||||
1565
|
|
||||||
1583
|
|
||||||
1914
|
|
||||||
1853
|
|
||||||
1682
|
|
||||||
1267
|
|
||||||
1543
|
|
||||||
1322
|
|
||||||
1965
|
|
||||||
1406
|
|
||||||
860
|
|
||||||
1754
|
|
||||||
1867
|
|
||||||
1393
|
|
||||||
1404
|
|
||||||
1191
|
|
||||||
1861
|
|
||||||
2007
|
|
||||||
1613
|
|
||||||
1938
|
|
||||||
1340
|
|
||||||
1227
|
|
||||||
1628
|
|
||||||
1826
|
|
||||||
1638
|
|
||||||
1970
|
|
||||||
1993
|
|
||||||
1748
|
|
||||||
496
|
|
||||||
1661
|
|
||||||
1736
|
|
||||||
1593
|
|
||||||
1298
|
|
||||||
1882
|
|
||||||
1763
|
|
||||||
1616
|
|
||||||
1848
|
|
||||||
92
|
|
||||||
1338
|
|
||||||
1707
|
|
||||||
1587
|
|
||||||
1996
|
|
||||||
1708
|
|
||||||
700
|
|
||||||
1460
|
|
||||||
1673
|
|
||||||
1450
|
|
||||||
1815
|
|
||||||
1537
|
|
||||||
1825
|
|
||||||
1683
|
|
||||||
1743
|
|
||||||
1949
|
|
||||||
1933
|
|
||||||
1289
|
|
||||||
1905
|
|
||||||
1307
|
|
||||||
1845
|
|
||||||
1855
|
|
||||||
1955
|
|
||||||
1554
|
|
||||||
1570
|
|
||||||
1931
|
|
||||||
1780
|
|
||||||
1929
|
|
||||||
1980
|
|
||||||
1978
|
|
||||||
1998
|
|
||||||
1371
|
|
||||||
1981
|
|
||||||
1817
|
|
||||||
1722
|
|
||||||
1545
|
|
||||||
1561
|
|
||||||
1352
|
|
||||||
1935
|
|
||||||
1553
|
|
||||||
1796
|
|
||||||
1847
|
|
||||||
1640
|
|
||||||
1414
|
|
||||||
1198
|
|
||||||
1669
|
|
||||||
1909
|
|
||||||
1879
|
|
||||||
1744
|
|
||||||
1783
|
|
||||||
1367
|
|
||||||
1632
|
|
||||||
1990
|
|
||||||
1937
|
|
||||||
1919
|
|
||||||
1431
|
|
||||||
2002
|
|
||||||
1603
|
|
||||||
1948
|
|
||||||
1317
|
|
||||||
1282
|
|
||||||
1349
|
|
||||||
1839
|
|
||||||
1575
|
|
||||||
1730
|
|
||||||
1849
|
|
||||||
1959
|
|
||||||
1971
|
|
||||||
2009
|
|
||||||
1641
|
|
||||||
1402
|
|
||||||
1924
|
|
||||||
1757
|
|
||||||
1605
|
|
||||||
1693
|
|
||||||
1762
|
|
||||||
283
|
|
||||||
1525
|
|
||||||
1964
|
|
||||||
1715
|
|
||||||
1602
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
99
|
|
||||||
128
|
|
||||||
154
|
|
||||||
160
|
|
||||||
61
|
|
||||||
107
|
|
||||||
75
|
|
||||||
38
|
|
||||||
15
|
|
||||||
11
|
|
||||||
129
|
|
||||||
94
|
|
||||||
157
|
|
||||||
84
|
|
||||||
121
|
|
||||||
14
|
|
||||||
119
|
|
||||||
48
|
|
||||||
30
|
|
||||||
10
|
|
||||||
55
|
|
||||||
108
|
|
||||||
74
|
|
||||||
104
|
|
||||||
91
|
|
||||||
45
|
|
||||||
134
|
|
||||||
109
|
|
||||||
164
|
|
||||||
66
|
|
||||||
146
|
|
||||||
44
|
|
||||||
116
|
|
||||||
89
|
|
||||||
79
|
|
||||||
32
|
|
||||||
149
|
|
||||||
1
|
|
||||||
136
|
|
||||||
58
|
|
||||||
96
|
|
||||||
7
|
|
||||||
60
|
|
||||||
23
|
|
||||||
31
|
|
||||||
3
|
|
||||||
65
|
|
||||||
110
|
|
||||||
90
|
|
||||||
37
|
|
||||||
43
|
|
||||||
115
|
|
||||||
122
|
|
||||||
52
|
|
||||||
113
|
|
||||||
123
|
|
||||||
161
|
|
||||||
50
|
|
||||||
95
|
|
||||||
150
|
|
||||||
120
|
|
||||||
101
|
|
||||||
126
|
|
||||||
151
|
|
||||||
114
|
|
||||||
127
|
|
||||||
73
|
|
||||||
82
|
|
||||||
162
|
|
||||||
140
|
|
||||||
51
|
|
||||||
144
|
|
||||||
36
|
|
||||||
4
|
|
||||||
163
|
|
||||||
85
|
|
||||||
42
|
|
||||||
59
|
|
||||||
67
|
|
||||||
64
|
|
||||||
86
|
|
||||||
49
|
|
||||||
2
|
|
||||||
145
|
|
||||||
135
|
|
||||||
22
|
|
||||||
24
|
|
||||||
33
|
|
||||||
137
|
|
||||||
16
|
|
||||||
27
|
|
||||||
70
|
|
||||||
133
|
|
||||||
130
|
|
||||||
20
|
|
||||||
21
|
|
||||||
83
|
|
||||||
143
|
|
||||||
100
|
|
||||||
41
|
|
||||||
76
|
|
||||||
17
|
|
||||||
@@ -1,97 +0,0 @@
|
|||||||
LLL.LLL.LLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL..LLLLLLL..LLLLLLL.LLLL.LLLLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLL.LLLL.LLLLLLLLL.LLLLL.LLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLL.LLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLL.LLLL
|
|
||||||
...L..L.L......LL.L.......L...L..LLL....L.LL.L..L.L.LL..L..L............LLL.L..L.L.L..LL..
|
|
||||||
LLLLLLLLLLLLLLL..LLLLL.L.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL.L.LLLLLL.LLLLLLLL
|
|
||||||
.LLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LL.LLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLL.LLL
|
|
||||||
......L.L.L...LLL.LL...........L.....L..L...LL......L..L.L.L.....LL.LL..L..LL.LL......LLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.L.LLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLL..LLLLLLLLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLL.L.LLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLL..LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
L....LL.LL.....LLL.......L.....L.L..L.LL.L...L.L..L.....L...L....LL.LLL...L..L.LL.L..L...L
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LL.LLLL.LL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL..LLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.L
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLL.L.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLL.LLLLL.LL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLL.LLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLL.LLL
|
|
||||||
L....L......L..L..L.........L...LL..L..L.....L....L.LLL.L..L.LL..L..L..LL...L.......L.L...
|
|
||||||
LLLLLLLLLLLLLLLL..LLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLL.LLLL.LL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLL..LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLL.LLLL.LLLLLLL.LLLLLLLLL.LLL.LLLLLLLL.LLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLL..LLLLLLLLLLLL.LLLLLLLLLLLLL.LLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
L...LL..L..L..L.LL..L......L..L..LL.....LL...L...LL..L.L........LL.LL..LL.L......L..L..L..
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL..LLLLLL.LLLLLL...LLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLL.L.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL..LLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
..............L.....L..L..L..L...L......L...LL...................LLLLL..L.LL...L.....L.L..
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLL.LL.LLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLL..LLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLL.LLLLLLLLLL.LLLL.LLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
L.....L..L...LL...L.L...L..L.....L..L...L....L...L...LL...L......LL..L..LL.L.L..L.L.L.L.L.
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL..LLLLLL.LLLLLLLL.L.LLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLL.L.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLL.LLLLL.LLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLLLLLLLLL..LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL..LLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLL..L.L.....L.....LL.L..LL.L.L......L..L.L...L.L....L.....LL..LL.L......L...L....L...L...
|
|
||||||
L.LLLLLLLLLLL.LL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLL.LLLLLLL.LLL.LLLLLL.LLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLL.L.LLLLLLL.LLLLLL.LL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLL.LLLLLLLLL.LLLL.LLLLLLLLL.LLLLLLL..LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
.LL.....L.L.L...L.L.....L..L..LL....LLL.......L.L.......LL...LLL...L...L...LLL.L...LLLL..L
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLL..LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLL.LLL.LLLLLLL.LLL.LLLLL.LLLLLLL.LLLLLLLL.LL.LLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLL.LLL.LLLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.L.LLLLLL.L.LLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLL.L.LLLLLLL.LLLL..LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLLLLL.L.LLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LL.LLLLLLLLLLLLLL.LLL.LLLL.LLLLL..LLLLLLLL
|
|
||||||
.L..LLL..L..LL...L.L..L......L.L.L..L.....L.....L..L....LLL....L.......L.LLL..LL....L..L.L
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLL.LL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.L.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LL...L.L.L..L.L..........L..L..LL.LL....L.L.L.L.LLL.......L.......L.L....L...L..LL........
|
|
||||||
LLLLLLLLLLLL.LLL.LLLLLLLLLLLL.LLLLLLLLL.LLLL..LLLLLLLLLL....LLLLLLLLLLLLLL..LLLLLLLLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLL.LL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLLL.LLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.L.LLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLL..LLLL.LLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLLL
|
|
||||||
LLLLL.L.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLL.LLLLLLL.LLLLLLLLLLL.L.LLLLLL.LLLLLLLL
|
|
||||||
.LLL..L...L.L......LL.L..LL.LL.LLLLL...L...LLLL.L..L..LLL......L...LL.....L..LLLL.LL.LL..L
|
|
||||||
LLLLLLL.LLLLLLLLLLL.LLL..LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLL.LL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLL.LLLLLLLLLLLLLLLLL.L.LLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLLLLLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLL.LLL
|
|
||||||
L...L.......L..LLLL..L.LL...LL....L.....L.L..L...LLLLL.....LL.....L.L.LLL.L..L.LL.....L.L.
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL.LLL.LLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLL.LL.LLLLLLL.LLLLLLLLL.LLLLLLLLLLLLL..L.LLLLLLLLLLLLLLL
|
|
||||||
L.LLLLL.LLLLLLLL.LLLLLLLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLL.L.LLLLLLLLLLLL.LLLLLLLLLLLLLLL.L.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLL.LLL.LLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLLL.LLLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLLLLLLLL.LLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLL.L
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLL..LLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLL.LLLLLLLL..LLLLL.LLLLLLLL
|
|
||||||
LLLLLLLLL.LLLLLLLLLLLLLLLLLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLL.LL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
LLLLLLLLLLLLLLLL.LLLLLLL.LLLL.LLLLLLLLL.LLLLLLLLLLLLLLLLL.LLLLLLL.LLLLLLLLLLLLLLL.LLLLLLL.
|
|
||||||
LLLLLLL.LLLLLLLL.LLLLLLL.LLLLLLLLLLLLLL.LLLLLLL.LLLLLL.LL.LLLLLLL.LLLLLLLL.LLLLLLLLLLLLLLL
|
|
||||||
@@ -1,774 +0,0 @@
|
|||||||
E2
|
|
||||||
L180
|
|
||||||
S4
|
|
||||||
R90
|
|
||||||
S1
|
|
||||||
F49
|
|
||||||
N2
|
|
||||||
F18
|
|
||||||
N2
|
|
||||||
L180
|
|
||||||
S5
|
|
||||||
L90
|
|
||||||
E3
|
|
||||||
N2
|
|
||||||
F11
|
|
||||||
L180
|
|
||||||
N5
|
|
||||||
W3
|
|
||||||
L180
|
|
||||||
W2
|
|
||||||
N5
|
|
||||||
F80
|
|
||||||
R90
|
|
||||||
F89
|
|
||||||
N1
|
|
||||||
L180
|
|
||||||
N2
|
|
||||||
R180
|
|
||||||
E4
|
|
||||||
R90
|
|
||||||
S1
|
|
||||||
L90
|
|
||||||
N5
|
|
||||||
R180
|
|
||||||
N2
|
|
||||||
F17
|
|
||||||
L90
|
|
||||||
E2
|
|
||||||
F58
|
|
||||||
W5
|
|
||||||
L90
|
|
||||||
W3
|
|
||||||
N3
|
|
||||||
F78
|
|
||||||
L90
|
|
||||||
N4
|
|
||||||
L90
|
|
||||||
F15
|
|
||||||
W1
|
|
||||||
R90
|
|
||||||
S1
|
|
||||||
W4
|
|
||||||
R90
|
|
||||||
F41
|
|
||||||
W4
|
|
||||||
S4
|
|
||||||
F37
|
|
||||||
E5
|
|
||||||
S1
|
|
||||||
E3
|
|
||||||
F19
|
|
||||||
R90
|
|
||||||
S1
|
|
||||||
W4
|
|
||||||
S2
|
|
||||||
E2
|
|
||||||
L180
|
|
||||||
F51
|
|
||||||
W5
|
|
||||||
R90
|
|
||||||
F76
|
|
||||||
E2
|
|
||||||
F40
|
|
||||||
N4
|
|
||||||
R180
|
|
||||||
E5
|
|
||||||
N3
|
|
||||||
F72
|
|
||||||
S4
|
|
||||||
R90
|
|
||||||
F99
|
|
||||||
E3
|
|
||||||
F76
|
|
||||||
W5
|
|
||||||
R90
|
|
||||||
E2
|
|
||||||
S5
|
|
||||||
R180
|
|
||||||
F76
|
|
||||||
N4
|
|
||||||
L180
|
|
||||||
F10
|
|
||||||
F83
|
|
||||||
S1
|
|
||||||
F46
|
|
||||||
L90
|
|
||||||
S5
|
|
||||||
E1
|
|
||||||
S1
|
|
||||||
F14
|
|
||||||
N4
|
|
||||||
E1
|
|
||||||
R180
|
|
||||||
E1
|
|
||||||
R180
|
|
||||||
S3
|
|
||||||
F52
|
|
||||||
L90
|
|
||||||
S4
|
|
||||||
L90
|
|
||||||
W3
|
|
||||||
F18
|
|
||||||
S2
|
|
||||||
F81
|
|
||||||
L180
|
|
||||||
F76
|
|
||||||
L180
|
|
||||||
W1
|
|
||||||
S2
|
|
||||||
F73
|
|
||||||
N2
|
|
||||||
F77
|
|
||||||
W1
|
|
||||||
F28
|
|
||||||
L180
|
|
||||||
N2
|
|
||||||
F76
|
|
||||||
L180
|
|
||||||
W5
|
|
||||||
F61
|
|
||||||
N4
|
|
||||||
E2
|
|
||||||
R180
|
|
||||||
S2
|
|
||||||
L90
|
|
||||||
F14
|
|
||||||
R180
|
|
||||||
N5
|
|
||||||
E4
|
|
||||||
F11
|
|
||||||
E1
|
|
||||||
L90
|
|
||||||
N3
|
|
||||||
E3
|
|
||||||
F58
|
|
||||||
W3
|
|
||||||
F72
|
|
||||||
W1
|
|
||||||
N2
|
|
||||||
W5
|
|
||||||
F44
|
|
||||||
L90
|
|
||||||
W4
|
|
||||||
F37
|
|
||||||
L90
|
|
||||||
F4
|
|
||||||
W5
|
|
||||||
N3
|
|
||||||
F57
|
|
||||||
N4
|
|
||||||
L90
|
|
||||||
S2
|
|
||||||
F43
|
|
||||||
S4
|
|
||||||
W3
|
|
||||||
S5
|
|
||||||
F84
|
|
||||||
S2
|
|
||||||
L90
|
|
||||||
N1
|
|
||||||
R180
|
|
||||||
W3
|
|
||||||
L180
|
|
||||||
N2
|
|
||||||
W3
|
|
||||||
R90
|
|
||||||
N2
|
|
||||||
R90
|
|
||||||
F66
|
|
||||||
L90
|
|
||||||
F73
|
|
||||||
E4
|
|
||||||
S2
|
|
||||||
L270
|
|
||||||
W2
|
|
||||||
E2
|
|
||||||
S4
|
|
||||||
E1
|
|
||||||
R90
|
|
||||||
W1
|
|
||||||
F49
|
|
||||||
L270
|
|
||||||
F70
|
|
||||||
S3
|
|
||||||
W1
|
|
||||||
N2
|
|
||||||
E1
|
|
||||||
F65
|
|
||||||
W3
|
|
||||||
R90
|
|
||||||
F27
|
|
||||||
E5
|
|
||||||
F80
|
|
||||||
S4
|
|
||||||
W5
|
|
||||||
F68
|
|
||||||
E5
|
|
||||||
R90
|
|
||||||
F94
|
|
||||||
W2
|
|
||||||
L90
|
|
||||||
F37
|
|
||||||
L180
|
|
||||||
E1
|
|
||||||
F38
|
|
||||||
N2
|
|
||||||
F15
|
|
||||||
N4
|
|
||||||
E3
|
|
||||||
L90
|
|
||||||
E1
|
|
||||||
R90
|
|
||||||
S1
|
|
||||||
E5
|
|
||||||
N4
|
|
||||||
N2
|
|
||||||
E4
|
|
||||||
L270
|
|
||||||
N4
|
|
||||||
R90
|
|
||||||
E1
|
|
||||||
S4
|
|
||||||
E4
|
|
||||||
F71
|
|
||||||
E2
|
|
||||||
R180
|
|
||||||
N5
|
|
||||||
E3
|
|
||||||
F17
|
|
||||||
L90
|
|
||||||
N2
|
|
||||||
W1
|
|
||||||
L90
|
|
||||||
F62
|
|
||||||
W1
|
|
||||||
F85
|
|
||||||
W1
|
|
||||||
L180
|
|
||||||
F33
|
|
||||||
S4
|
|
||||||
W1
|
|
||||||
N5
|
|
||||||
F81
|
|
||||||
W2
|
|
||||||
R90
|
|
||||||
S2
|
|
||||||
F49
|
|
||||||
L180
|
|
||||||
S5
|
|
||||||
F4
|
|
||||||
W4
|
|
||||||
N3
|
|
||||||
W1
|
|
||||||
F17
|
|
||||||
R90
|
|
||||||
W4
|
|
||||||
N4
|
|
||||||
E4
|
|
||||||
N3
|
|
||||||
L90
|
|
||||||
S2
|
|
||||||
R90
|
|
||||||
S3
|
|
||||||
L90
|
|
||||||
E4
|
|
||||||
R90
|
|
||||||
S5
|
|
||||||
F88
|
|
||||||
S1
|
|
||||||
L180
|
|
||||||
N5
|
|
||||||
E5
|
|
||||||
F55
|
|
||||||
R90
|
|
||||||
F81
|
|
||||||
E5
|
|
||||||
L180
|
|
||||||
R90
|
|
||||||
F55
|
|
||||||
R90
|
|
||||||
W5
|
|
||||||
F13
|
|
||||||
R90
|
|
||||||
N5
|
|
||||||
F58
|
|
||||||
L180
|
|
||||||
S5
|
|
||||||
F27
|
|
||||||
E4
|
|
||||||
S3
|
|
||||||
F42
|
|
||||||
R90
|
|
||||||
F39
|
|
||||||
W3
|
|
||||||
S3
|
|
||||||
F31
|
|
||||||
S4
|
|
||||||
L90
|
|
||||||
W1
|
|
||||||
S3
|
|
||||||
W3
|
|
||||||
N4
|
|
||||||
W2
|
|
||||||
S3
|
|
||||||
L90
|
|
||||||
F61
|
|
||||||
E1
|
|
||||||
F23
|
|
||||||
S2
|
|
||||||
F31
|
|
||||||
S3
|
|
||||||
L180
|
|
||||||
W1
|
|
||||||
N1
|
|
||||||
L90
|
|
||||||
N3
|
|
||||||
F81
|
|
||||||
E2
|
|
||||||
N1
|
|
||||||
R90
|
|
||||||
F64
|
|
||||||
S4
|
|
||||||
F88
|
|
||||||
E1
|
|
||||||
N5
|
|
||||||
W1
|
|
||||||
S3
|
|
||||||
F10
|
|
||||||
N5
|
|
||||||
L90
|
|
||||||
F58
|
|
||||||
S1
|
|
||||||
R90
|
|
||||||
E3
|
|
||||||
L90
|
|
||||||
N4
|
|
||||||
F94
|
|
||||||
S1
|
|
||||||
W1
|
|
||||||
S4
|
|
||||||
L90
|
|
||||||
F51
|
|
||||||
L180
|
|
||||||
N4
|
|
||||||
R90
|
|
||||||
L90
|
|
||||||
N4
|
|
||||||
F66
|
|
||||||
W2
|
|
||||||
S3
|
|
||||||
S3
|
|
||||||
W4
|
|
||||||
F68
|
|
||||||
L90
|
|
||||||
F42
|
|
||||||
E1
|
|
||||||
F43
|
|
||||||
R90
|
|
||||||
N3
|
|
||||||
F20
|
|
||||||
E1
|
|
||||||
N3
|
|
||||||
E4
|
|
||||||
N3
|
|
||||||
F4
|
|
||||||
S4
|
|
||||||
R180
|
|
||||||
W1
|
|
||||||
R270
|
|
||||||
N3
|
|
||||||
F86
|
|
||||||
L90
|
|
||||||
E5
|
|
||||||
F84
|
|
||||||
N3
|
|
||||||
W3
|
|
||||||
F16
|
|
||||||
L90
|
|
||||||
N2
|
|
||||||
E3
|
|
||||||
L90
|
|
||||||
S5
|
|
||||||
E5
|
|
||||||
F53
|
|
||||||
L270
|
|
||||||
N2
|
|
||||||
F91
|
|
||||||
R90
|
|
||||||
E5
|
|
||||||
N4
|
|
||||||
F57
|
|
||||||
E5
|
|
||||||
S5
|
|
||||||
F61
|
|
||||||
S4
|
|
||||||
F89
|
|
||||||
E3
|
|
||||||
N3
|
|
||||||
N5
|
|
||||||
F3
|
|
||||||
S5
|
|
||||||
F59
|
|
||||||
E5
|
|
||||||
F66
|
|
||||||
R180
|
|
||||||
S1
|
|
||||||
W1
|
|
||||||
N2
|
|
||||||
R180
|
|
||||||
S4
|
|
||||||
E2
|
|
||||||
L90
|
|
||||||
N1
|
|
||||||
W2
|
|
||||||
F13
|
|
||||||
L90
|
|
||||||
E5
|
|
||||||
F6
|
|
||||||
W3
|
|
||||||
F78
|
|
||||||
E1
|
|
||||||
F7
|
|
||||||
W1
|
|
||||||
N4
|
|
||||||
W5
|
|
||||||
F58
|
|
||||||
R90
|
|
||||||
E4
|
|
||||||
N3
|
|
||||||
E5
|
|
||||||
N3
|
|
||||||
W1
|
|
||||||
S3
|
|
||||||
R90
|
|
||||||
F16
|
|
||||||
L90
|
|
||||||
F93
|
|
||||||
R270
|
|
||||||
N5
|
|
||||||
F2
|
|
||||||
W1
|
|
||||||
S3
|
|
||||||
F54
|
|
||||||
R270
|
|
||||||
F18
|
|
||||||
R180
|
|
||||||
F95
|
|
||||||
L90
|
|
||||||
W1
|
|
||||||
E4
|
|
||||||
N2
|
|
||||||
W1
|
|
||||||
L90
|
|
||||||
S2
|
|
||||||
L90
|
|
||||||
W2
|
|
||||||
S4
|
|
||||||
F92
|
|
||||||
W2
|
|
||||||
S3
|
|
||||||
R180
|
|
||||||
N5
|
|
||||||
E3
|
|
||||||
N5
|
|
||||||
E5
|
|
||||||
F22
|
|
||||||
F88
|
|
||||||
S3
|
|
||||||
E2
|
|
||||||
R90
|
|
||||||
S5
|
|
||||||
W1
|
|
||||||
L90
|
|
||||||
E4
|
|
||||||
F77
|
|
||||||
N1
|
|
||||||
W3
|
|
||||||
F14
|
|
||||||
E3
|
|
||||||
R90
|
|
||||||
W1
|
|
||||||
F21
|
|
||||||
N1
|
|
||||||
F58
|
|
||||||
W4
|
|
||||||
N2
|
|
||||||
R90
|
|
||||||
N2
|
|
||||||
W4
|
|
||||||
F68
|
|
||||||
W5
|
|
||||||
N3
|
|
||||||
L90
|
|
||||||
F22
|
|
||||||
R90
|
|
||||||
F90
|
|
||||||
F84
|
|
||||||
S5
|
|
||||||
F30
|
|
||||||
N1
|
|
||||||
W4
|
|
||||||
R90
|
|
||||||
F17
|
|
||||||
R90
|
|
||||||
W4
|
|
||||||
S5
|
|
||||||
E2
|
|
||||||
N1
|
|
||||||
F92
|
|
||||||
N2
|
|
||||||
R180
|
|
||||||
N5
|
|
||||||
E2
|
|
||||||
R90
|
|
||||||
F38
|
|
||||||
R90
|
|
||||||
F15
|
|
||||||
E5
|
|
||||||
N4
|
|
||||||
N4
|
|
||||||
E4
|
|
||||||
S4
|
|
||||||
F92
|
|
||||||
R90
|
|
||||||
F22
|
|
||||||
S3
|
|
||||||
W4
|
|
||||||
N3
|
|
||||||
E1
|
|
||||||
R180
|
|
||||||
F96
|
|
||||||
L90
|
|
||||||
E1
|
|
||||||
N1
|
|
||||||
F9
|
|
||||||
W2
|
|
||||||
N4
|
|
||||||
F17
|
|
||||||
N2
|
|
||||||
R90
|
|
||||||
F76
|
|
||||||
S2
|
|
||||||
F5
|
|
||||||
S5
|
|
||||||
F34
|
|
||||||
R90
|
|
||||||
F7
|
|
||||||
N4
|
|
||||||
F83
|
|
||||||
N5
|
|
||||||
L90
|
|
||||||
W1
|
|
||||||
S3
|
|
||||||
R90
|
|
||||||
S3
|
|
||||||
W2
|
|
||||||
S3
|
|
||||||
F51
|
|
||||||
N5
|
|
||||||
W4
|
|
||||||
F8
|
|
||||||
E3
|
|
||||||
F10
|
|
||||||
N5
|
|
||||||
F39
|
|
||||||
S3
|
|
||||||
E2
|
|
||||||
L90
|
|
||||||
E5
|
|
||||||
L90
|
|
||||||
N5
|
|
||||||
E2
|
|
||||||
N3
|
|
||||||
F42
|
|
||||||
S3
|
|
||||||
F38
|
|
||||||
N5
|
|
||||||
F19
|
|
||||||
F97
|
|
||||||
W2
|
|
||||||
R180
|
|
||||||
S4
|
|
||||||
E4
|
|
||||||
S2
|
|
||||||
W3
|
|
||||||
F39
|
|
||||||
W4
|
|
||||||
F70
|
|
||||||
S1
|
|
||||||
W1
|
|
||||||
R90
|
|
||||||
F41
|
|
||||||
L90
|
|
||||||
E1
|
|
||||||
N1
|
|
||||||
E3
|
|
||||||
W5
|
|
||||||
F13
|
|
||||||
E4
|
|
||||||
F2
|
|
||||||
R180
|
|
||||||
F27
|
|
||||||
E4
|
|
||||||
N2
|
|
||||||
L270
|
|
||||||
E1
|
|
||||||
N3
|
|
||||||
W4
|
|
||||||
F81
|
|
||||||
W3
|
|
||||||
R90
|
|
||||||
E1
|
|
||||||
F57
|
|
||||||
S5
|
|
||||||
R90
|
|
||||||
F13
|
|
||||||
L180
|
|
||||||
N5
|
|
||||||
F98
|
|
||||||
F32
|
|
||||||
N3
|
|
||||||
R90
|
|
||||||
N3
|
|
||||||
W3
|
|
||||||
S3
|
|
||||||
W3
|
|
||||||
N4
|
|
||||||
F73
|
|
||||||
L180
|
|
||||||
N1
|
|
||||||
E4
|
|
||||||
F7
|
|
||||||
E4
|
|
||||||
R90
|
|
||||||
N4
|
|
||||||
R90
|
|
||||||
S2
|
|
||||||
E5
|
|
||||||
F32
|
|
||||||
S2
|
|
||||||
N5
|
|
||||||
W3
|
|
||||||
R90
|
|
||||||
W5
|
|
||||||
S2
|
|
||||||
L90
|
|
||||||
F4
|
|
||||||
R270
|
|
||||||
N5
|
|
||||||
E3
|
|
||||||
L90
|
|
||||||
S5
|
|
||||||
F24
|
|
||||||
N4
|
|
||||||
R90
|
|
||||||
F27
|
|
||||||
L90
|
|
||||||
F16
|
|
||||||
R90
|
|
||||||
N2
|
|
||||||
R90
|
|
||||||
N3
|
|
||||||
L90
|
|
||||||
S3
|
|
||||||
L90
|
|
||||||
F85
|
|
||||||
S3
|
|
||||||
F47
|
|
||||||
N1
|
|
||||||
E1
|
|
||||||
N3
|
|
||||||
R270
|
|
||||||
S2
|
|
||||||
L90
|
|
||||||
F50
|
|
||||||
L90
|
|
||||||
S2
|
|
||||||
F23
|
|
||||||
N4
|
|
||||||
L180
|
|
||||||
E3
|
|
||||||
F91
|
|
||||||
R90
|
|
||||||
E1
|
|
||||||
W4
|
|
||||||
F81
|
|
||||||
W5
|
|
||||||
R90
|
|
||||||
F46
|
|
||||||
E1
|
|
||||||
W1
|
|
||||||
F91
|
|
||||||
N5
|
|
||||||
W5
|
|
||||||
N3
|
|
||||||
W1
|
|
||||||
L90
|
|
||||||
F60
|
|
||||||
S2
|
|
||||||
L90
|
|
||||||
E1
|
|
||||||
F82
|
|
||||||
S3
|
|
||||||
W5
|
|
||||||
N5
|
|
||||||
F90
|
|
||||||
E3
|
|
||||||
S1
|
|
||||||
F61
|
|
||||||
E4
|
|
||||||
F98
|
|
||||||
R180
|
|
||||||
F8
|
|
||||||
R270
|
|
||||||
F73
|
|
||||||
W4
|
|
||||||
L90
|
|
||||||
W5
|
|
||||||
L90
|
|
||||||
F86
|
|
||||||
W5
|
|
||||||
L180
|
|
||||||
F61
|
|
||||||
N5
|
|
||||||
F88
|
|
||||||
E2
|
|
||||||
L270
|
|
||||||
F90
|
|
||||||
N5
|
|
||||||
F21
|
|
||||||
R270
|
|
||||||
F40
|
|
||||||
L90
|
|
||||||
W1
|
|
||||||
N2
|
|
||||||
L90
|
|
||||||
E2
|
|
||||||
S5
|
|
||||||
E2
|
|
||||||
S1
|
|
||||||
E5
|
|
||||||
N3
|
|
||||||
F51
|
|
||||||
S1
|
|
||||||
F58
|
|
||||||
W3
|
|
||||||
L180
|
|
||||||
F13
|
|
||||||
R90
|
|
||||||
N1
|
|
||||||
F79
|
|
||||||
W2
|
|
||||||
F61
|
|
||||||
R90
|
|
||||||
F22
|
|
||||||
E2
|
|
||||||
N5
|
|
||||||
F1
|
|
||||||
S4
|
|
||||||
F99
|
|
||||||
S1
|
|
||||||
S3
|
|
||||||
E2
|
|
||||||
F97
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
1003055
|
|
||||||
37,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,41,x,x,x,x,x,x,x,x,x,433,x,x,x,x,x,x,x,23,x,x,x,x,x,x,x,x,17,x,19,x,x,x,x,x,x,x,x,x,29,x,593,x,x,x,x,x,x,x,x,x,x,x,x,13
|
|
||||||
@@ -1,592 +0,0 @@
|
|||||||
mask = 100X100X101011111X100000100X11010011
|
|
||||||
mem[33323] = 349380
|
|
||||||
mem[52742] = 116688965
|
|
||||||
mem[4113] = 11499
|
|
||||||
mem[15819] = 313303
|
|
||||||
mem[23239] = 755579063
|
|
||||||
mask = X00X10X1X010110110111X00010X100X000X
|
|
||||||
mem[49207] = 466621685
|
|
||||||
mem[34069] = 6874604
|
|
||||||
mask = 1001100XX00011110110100XX0110000001X
|
|
||||||
mem[61278] = 56361674
|
|
||||||
mem[51360] = 61871432
|
|
||||||
mem[31903] = 45067
|
|
||||||
mask = 100X100XX0101X11X1X00X00001001X101X0
|
|
||||||
mem[22981] = 144008
|
|
||||||
mem[12013] = 49165315
|
|
||||||
mem[54643] = 50677
|
|
||||||
mem[59166] = 678129
|
|
||||||
mem[64022] = 27522
|
|
||||||
mask = 100110X0001X11011000101X1000001X00X0
|
|
||||||
mem[32693] = 425145
|
|
||||||
mem[11437] = 236593490
|
|
||||||
mem[16078] = 227582
|
|
||||||
mem[35266] = 197465438
|
|
||||||
mem[39279] = 127942
|
|
||||||
mask = 10101000X0X00001X1001000010100111X00
|
|
||||||
mem[49794] = 2082
|
|
||||||
mem[60407] = 2129
|
|
||||||
mem[33300] = 921
|
|
||||||
mem[18582] = 62106545
|
|
||||||
mem[32160] = 843912
|
|
||||||
mem[36917] = 7740
|
|
||||||
mem[1836] = 54721591
|
|
||||||
mask = 100010X1X0X011X1101XX00001X01000X10X
|
|
||||||
mem[8385] = 1381
|
|
||||||
mem[38022] = 2501412
|
|
||||||
mem[34713] = 3648024
|
|
||||||
mem[33245] = 1178087
|
|
||||||
mem[22176] = 263
|
|
||||||
mem[20535] = 1289
|
|
||||||
mem[2092] = 88590569
|
|
||||||
mask = X001100X00X0X01X0X100X100010110XX101
|
|
||||||
mem[65061] = 2768
|
|
||||||
mem[56375] = 6734
|
|
||||||
mem[18070] = 20571066
|
|
||||||
mem[61511] = 403157281
|
|
||||||
mem[4164] = 179682
|
|
||||||
mem[11801] = 5501
|
|
||||||
mem[22339] = 14414879
|
|
||||||
mask = X0011000001X1001X0100111110X00110111
|
|
||||||
mem[3844] = 1046
|
|
||||||
mem[33741] = 109390
|
|
||||||
mem[54311] = 94183595
|
|
||||||
mem[48744] = 112575
|
|
||||||
mem[29663] = 2042
|
|
||||||
mask = X00X100000101001101001001X00001000X1
|
|
||||||
mem[25325] = 177269
|
|
||||||
mem[919] = 50779835
|
|
||||||
mem[52113] = 2386630
|
|
||||||
mem[60154] = 29645195
|
|
||||||
mem[24761] = 8101
|
|
||||||
mask = X101X000X01011011010X100001101110X01
|
|
||||||
mem[5169] = 2865
|
|
||||||
mem[55126] = 50829
|
|
||||||
mem[60154] = 124556261
|
|
||||||
mem[48753] = 377574
|
|
||||||
mem[48662] = 9144531
|
|
||||||
mask = 10011X00001010011010000101110XX0X00X
|
|
||||||
mem[41623] = 632353121
|
|
||||||
mem[10365] = 70888870
|
|
||||||
mem[59458] = 849
|
|
||||||
mem[18992] = 486294339
|
|
||||||
mask = X00X100X011011111100X00001001010100X
|
|
||||||
mem[42046] = 518245944
|
|
||||||
mem[4654] = 39071
|
|
||||||
mem[46109] = 1540
|
|
||||||
mem[3245] = 822
|
|
||||||
mem[25937] = 257692
|
|
||||||
mem[19118] = 6601278
|
|
||||||
mask = 1001001XXX100XXX101XX0001010001000X0
|
|
||||||
mem[34356] = 55967
|
|
||||||
mem[52601] = 522574
|
|
||||||
mem[31903] = 7669828
|
|
||||||
mem[36165] = 10552
|
|
||||||
mask = 110X101X00X0111111XX001X0001000XX10X
|
|
||||||
mem[42649] = 1534730
|
|
||||||
mem[8324] = 467628
|
|
||||||
mem[9447] = 3054
|
|
||||||
mem[41788] = 28205
|
|
||||||
mem[9353] = 14315559
|
|
||||||
mask = 1X01X01100111111X101000000X100100000
|
|
||||||
mem[270] = 3208
|
|
||||||
mem[20373] = 186089492
|
|
||||||
mem[43940] = 449607191
|
|
||||||
mem[63389] = 674
|
|
||||||
mem[437] = 6933780
|
|
||||||
mask = 1001X00001X01X0X101101X0010X00110110
|
|
||||||
mem[22829] = 3301
|
|
||||||
mem[59260] = 6763
|
|
||||||
mem[22305] = 203360
|
|
||||||
mask = 10011110101010X010XX011X0010001XX000
|
|
||||||
mem[55041] = 6199
|
|
||||||
mem[55452] = 151
|
|
||||||
mem[2746] = 464657
|
|
||||||
mask = 1001000000X0X10110X01101X00100111000
|
|
||||||
mem[54354] = 666913
|
|
||||||
mem[44827] = 214920
|
|
||||||
mem[44621] = 13259544
|
|
||||||
mem[29462] = 14725
|
|
||||||
mem[27633] = 284739975
|
|
||||||
mem[63195] = 11668372
|
|
||||||
mask = 10X010X10100X111001X101010101X11100X
|
|
||||||
mem[21667] = 426958
|
|
||||||
mem[55530] = 91533
|
|
||||||
mem[10365] = 493
|
|
||||||
mem[51246] = 513589450
|
|
||||||
mem[44622] = 1773
|
|
||||||
mem[4113] = 401
|
|
||||||
mask = 100X1000001011XXX0100XXX100010X10X00
|
|
||||||
mem[60407] = 869913
|
|
||||||
mem[10365] = 59083
|
|
||||||
mem[18321] = 3019
|
|
||||||
mem[65061] = 10794134
|
|
||||||
mem[62827] = 2777572
|
|
||||||
mem[20373] = 23798334
|
|
||||||
mask = 1000X10011X010011X10X0000101X0100001
|
|
||||||
mem[17936] = 4347
|
|
||||||
mem[38270] = 611
|
|
||||||
mem[7408] = 2854792
|
|
||||||
mem[2612] = 604172
|
|
||||||
mem[24287] = 418220
|
|
||||||
mem[27110] = 31440
|
|
||||||
mem[64742] = 1872667
|
|
||||||
mask = 10X110000010100110X001X01X1000000111
|
|
||||||
mem[30518] = 13431
|
|
||||||
mem[64496] = 204238
|
|
||||||
mem[62259] = 1191
|
|
||||||
mem[17457] = 3652
|
|
||||||
mask = 100X1X0XX1101XX11010X000X01010010011
|
|
||||||
mem[25325] = 67829
|
|
||||||
mem[4021] = 8039
|
|
||||||
mask = 1XXXXX0X0010110X11100111001111101110
|
|
||||||
mem[34600] = 4128134
|
|
||||||
mem[47565] = 28022073
|
|
||||||
mask = X0X110000XX010X10010X0X111X111010101
|
|
||||||
mem[64746] = 17532220
|
|
||||||
mem[55786] = 109034
|
|
||||||
mem[12715] = 185475
|
|
||||||
mask = 1001110X011010111010X1010010100XX100
|
|
||||||
mem[28923] = 1444
|
|
||||||
mem[7508] = 41968
|
|
||||||
mem[39856] = 447
|
|
||||||
mem[19698] = 4420683
|
|
||||||
mem[60924] = 7222
|
|
||||||
mem[8056] = 225410214
|
|
||||||
mask = 100X10X1X0X011X10110X01X011000X10X00
|
|
||||||
mem[58206] = 585282
|
|
||||||
mem[10984] = 105158307
|
|
||||||
mem[31562] = 526874
|
|
||||||
mem[60154] = 107013
|
|
||||||
mem[4409] = 4126230
|
|
||||||
mask = 1010100010X0XX0111X00X00011X000X0XX0
|
|
||||||
mem[7122] = 428629
|
|
||||||
mem[29394] = 262029322
|
|
||||||
mem[33832] = 6067254
|
|
||||||
mask = 0001100XXX0010X001100010X000110001X1
|
|
||||||
mem[1975] = 32392
|
|
||||||
mem[14891] = 9350
|
|
||||||
mem[19905] = 28213400
|
|
||||||
mem[11981] = 132973999
|
|
||||||
mem[49582] = 4347
|
|
||||||
mem[64106] = 235564
|
|
||||||
mem[9648] = 1440
|
|
||||||
mask = 000110010011XXXX0X1001010001X00X0100
|
|
||||||
mem[18992] = 628
|
|
||||||
mem[37263] = 1031
|
|
||||||
mem[4387] = 1442306
|
|
||||||
mem[2471] = 1123350
|
|
||||||
mem[1493] = 88891215
|
|
||||||
mem[22500] = 3553
|
|
||||||
mem[6845] = 26007
|
|
||||||
mask = 10011X00011011X1101X00X001X1X001X111
|
|
||||||
mem[49101] = 13289
|
|
||||||
mem[32] = 391365
|
|
||||||
mem[31906] = 79
|
|
||||||
mem[48744] = 71043
|
|
||||||
mask = 1001X0X00010100110X001011001101X01X0
|
|
||||||
mem[25999] = 2473051
|
|
||||||
mem[36408] = 56819077
|
|
||||||
mem[46656] = 2074748
|
|
||||||
mem[10871] = 8606
|
|
||||||
mem[7122] = 2053
|
|
||||||
mem[59403] = 5442
|
|
||||||
mask = 1XX0X01X100X11111010X000X00X000101X0
|
|
||||||
mem[1160] = 280063168
|
|
||||||
mem[20571] = 19030
|
|
||||||
mem[23225] = 51089295
|
|
||||||
mem[40992] = 17475
|
|
||||||
mem[63413] = 1144
|
|
||||||
mem[19458] = 284777610
|
|
||||||
mem[21502] = 10410
|
|
||||||
mask = 100X100X00101X0100X0X0X11100111XX11X
|
|
||||||
mem[33860] = 160
|
|
||||||
mem[37007] = 56420
|
|
||||||
mem[55140] = 490726
|
|
||||||
mem[47752] = 521745
|
|
||||||
mem[55594] = 336661995
|
|
||||||
mem[44008] = 265991679
|
|
||||||
mask = 1001100001X010011100100X01X0X011111X
|
|
||||||
mem[1289] = 55191
|
|
||||||
mem[53058] = 23079796
|
|
||||||
mem[25362] = 57315626
|
|
||||||
mem[8895] = 35287816
|
|
||||||
mask = 0001100100XX00100X1X0X00XX00XX000110
|
|
||||||
mem[12568] = 136661
|
|
||||||
mem[9931] = 303487
|
|
||||||
mem[38781] = 91532
|
|
||||||
mem[25506] = 950257996
|
|
||||||
mem[3694] = 6225663
|
|
||||||
mem[6631] = 62710499
|
|
||||||
mem[3205] = 7586715
|
|
||||||
mask = X0001000001X111110100000X0110001000X
|
|
||||||
mem[61696] = 34763
|
|
||||||
mem[42583] = 2987088
|
|
||||||
mem[8416] = 2293694
|
|
||||||
mem[21503] = 8071
|
|
||||||
mem[41788] = 950960
|
|
||||||
mem[9648] = 23284946
|
|
||||||
mask = 100010000010XX0XX01000000X011100X1X0
|
|
||||||
mem[30270] = 421
|
|
||||||
mem[52379] = 86815089
|
|
||||||
mem[16627] = 3647190
|
|
||||||
mem[36794] = 132421727
|
|
||||||
mem[54580] = 248096
|
|
||||||
mask = 10X1101000X01001X00111110101110001X0
|
|
||||||
mem[48399] = 9196559
|
|
||||||
mem[6869] = 32793911
|
|
||||||
mem[20422] = 1560
|
|
||||||
mem[12101] = 15618
|
|
||||||
mem[25154] = 390003034
|
|
||||||
mem[23791] = 229770864
|
|
||||||
mem[49558] = 12206144
|
|
||||||
mask = 100X10010X101XX1XXX000001X00101X1100
|
|
||||||
mem[3205] = 110968351
|
|
||||||
mem[65515] = 7362194
|
|
||||||
mem[2197] = 52580964
|
|
||||||
mem[13004] = 3723834
|
|
||||||
mem[46931] = 24935229
|
|
||||||
mem[919] = 6284
|
|
||||||
mask = 10001X11100X1X1X10X111X100X0000010X1
|
|
||||||
mem[30162] = 1665
|
|
||||||
mem[35687] = 3554
|
|
||||||
mem[3735] = 8003
|
|
||||||
mem[18258] = 44276232
|
|
||||||
mem[48625] = 401841687
|
|
||||||
mem[62781] = 2814958
|
|
||||||
mem[5302] = 175144514
|
|
||||||
mask = 1001X0XX001X101110101000X11X00010X00
|
|
||||||
mem[38152] = 42369373
|
|
||||||
mem[36392] = 13302
|
|
||||||
mem[13867] = 940605082
|
|
||||||
mask = 10001100X11010X1101000X0X11100110011
|
|
||||||
mem[63412] = 5289
|
|
||||||
mem[788] = 6600
|
|
||||||
mem[27915] = 254034
|
|
||||||
mem[24347] = 16264001
|
|
||||||
mem[52437] = 651358
|
|
||||||
mask = 10011X0X0110X0X11X101100101100X11100
|
|
||||||
mem[56524] = 1244173
|
|
||||||
mem[64911] = 2124386
|
|
||||||
mem[3815] = 107466
|
|
||||||
mem[14375] = 6798
|
|
||||||
mem[16285] = 66968238
|
|
||||||
mem[7968] = 835823180
|
|
||||||
mask = 10X110100X101XX110X11110XX0111001010
|
|
||||||
mem[58730] = 132998954
|
|
||||||
mem[8056] = 754181
|
|
||||||
mem[39247] = 126
|
|
||||||
mask = 1001X000001XX10110101X1110110X10101X
|
|
||||||
mem[59028] = 10817
|
|
||||||
mem[17977] = 61299509
|
|
||||||
mask = 1X001100X1X0100110100000X111XXX001X0
|
|
||||||
mem[2056] = 32701076
|
|
||||||
mem[2071] = 2401082
|
|
||||||
mem[9887] = 998417
|
|
||||||
mask = 100110X11X101X1110X00100X0101111X0X1
|
|
||||||
mem[33860] = 388064
|
|
||||||
mem[59050] = 16623098
|
|
||||||
mem[5188] = 319
|
|
||||||
mem[37207] = 2470432
|
|
||||||
mem[27333] = 2026
|
|
||||||
mask = 1000X000001X1X0X00XXX00X100011X11010
|
|
||||||
mem[24029] = 9105
|
|
||||||
mem[14364] = 243545984
|
|
||||||
mem[4113] = 3279
|
|
||||||
mask = 1X0X1001X0101011110XX1000100X000X101
|
|
||||||
mem[17781] = 509963835
|
|
||||||
mem[37716] = 62611707
|
|
||||||
mem[23997] = 1023138975
|
|
||||||
mem[5927] = 32777
|
|
||||||
mem[55304] = 264062857
|
|
||||||
mask = 100110X001X01X01100011100X100110X11X
|
|
||||||
mem[58338] = 741
|
|
||||||
mem[34693] = 991498
|
|
||||||
mem[32339] = 30979944
|
|
||||||
mem[50216] = 66393532
|
|
||||||
mem[29090] = 11574321
|
|
||||||
mem[30824] = 15729
|
|
||||||
mem[16868] = 23942
|
|
||||||
mask = 1X0XX0010X0011110X101010111011111010
|
|
||||||
mem[48969] = 3327849
|
|
||||||
mem[52521] = 460105388
|
|
||||||
mem[33860] = 422661865
|
|
||||||
mem[44621] = 6715
|
|
||||||
mem[27762] = 11952
|
|
||||||
mem[34536] = 4064
|
|
||||||
mask = 1001X001001X0011001000100110010001XX
|
|
||||||
mem[195] = 487302
|
|
||||||
mem[17992] = 889
|
|
||||||
mem[11858] = 958195
|
|
||||||
mem[11013] = 202443463
|
|
||||||
mask = 1000101X100X1111011000X100110000X001
|
|
||||||
mem[13097] = 3534
|
|
||||||
mem[41292] = 85120
|
|
||||||
mem[9497] = 154119
|
|
||||||
mem[19610] = 5709354
|
|
||||||
mem[34972] = 48311
|
|
||||||
mem[50753] = 180578
|
|
||||||
mem[35921] = 667946365
|
|
||||||
mask = XX1010X00110X00111000XX00001000110X0
|
|
||||||
mem[3712] = 2843518
|
|
||||||
mem[34604] = 2965
|
|
||||||
mem[54311] = 162583
|
|
||||||
mask = 0001X0X00100100X001000001X1X10X01X10
|
|
||||||
mem[49406] = 965493
|
|
||||||
mem[59050] = 392048
|
|
||||||
mem[3574] = 922708604
|
|
||||||
mem[7419] = 33525859
|
|
||||||
mem[1933] = 8
|
|
||||||
mem[4367] = 11521
|
|
||||||
mask = 1001X0X00X10X00X101X00001110X0100X00
|
|
||||||
mem[29215] = 417522
|
|
||||||
mem[56468] = 34229032
|
|
||||||
mem[26868] = 552971
|
|
||||||
mem[36368] = 420213
|
|
||||||
mask = 100110X0X1101011101X01X01101101X001X
|
|
||||||
mem[4913] = 455
|
|
||||||
mem[3815] = 11211510
|
|
||||||
mem[21545] = 1469
|
|
||||||
mem[35762] = 1806
|
|
||||||
mem[58825] = 3743
|
|
||||||
mem[23225] = 474872535
|
|
||||||
mem[53173] = 46538
|
|
||||||
mask = 1XX0X00X0X101001001010100X0X01X00010
|
|
||||||
mem[64106] = 98247289
|
|
||||||
mem[13686] = 54961348
|
|
||||||
mem[38944] = 462290318
|
|
||||||
mem[53185] = 7075
|
|
||||||
mem[30162] = 39454
|
|
||||||
mem[14983] = 1010603
|
|
||||||
mem[38339] = 970
|
|
||||||
mask = X001100X010X111110001000001X01100110
|
|
||||||
mem[12827] = 22328
|
|
||||||
mem[18628] = 7082210
|
|
||||||
mem[31013] = 20804915
|
|
||||||
mem[13966] = 86
|
|
||||||
mem[518] = 1757
|
|
||||||
mask = X001100XX001001001110000000000XX1110
|
|
||||||
mem[14375] = 8414661
|
|
||||||
mem[1568] = 225486
|
|
||||||
mem[25775] = 336197
|
|
||||||
mask = 100110000X00100X100001100X111X100X01
|
|
||||||
mem[2071] = 51386682
|
|
||||||
mem[32897] = 162194
|
|
||||||
mem[11308] = 1799417
|
|
||||||
mem[20829] = 299249
|
|
||||||
mask = 1X0010XXX0001111XX1100X001X1X0000101
|
|
||||||
mem[29189] = 36530
|
|
||||||
mem[657] = 114543286
|
|
||||||
mem[9356] = 451
|
|
||||||
mask = X000100000101X0110X0011XX10000110001
|
|
||||||
mem[30577] = 117881
|
|
||||||
mem[60874] = 19567558
|
|
||||||
mem[10363] = 13493
|
|
||||||
mem[5690] = 382
|
|
||||||
mem[61059] = 4757304
|
|
||||||
mem[36165] = 95983791
|
|
||||||
mask = 100X00X00010100X1010000X101000X10000
|
|
||||||
mem[33324] = 39476477
|
|
||||||
mem[34713] = 7398
|
|
||||||
mem[46214] = 98709
|
|
||||||
mem[35856] = 1020446010
|
|
||||||
mask = 10X01X000010000X11100101011X001X0100
|
|
||||||
mem[65061] = 61054
|
|
||||||
mem[54052] = 92826
|
|
||||||
mem[35603] = 58759
|
|
||||||
mem[58037] = 40910
|
|
||||||
mem[62217] = 45701380
|
|
||||||
mask = 1X011000001011011010XX00X10X0X010001
|
|
||||||
mem[15920] = 5645
|
|
||||||
mem[28828] = 265910022
|
|
||||||
mem[29437] = 5544
|
|
||||||
mem[56112] = 637
|
|
||||||
mem[45033] = 36063036
|
|
||||||
mem[12783] = 13776458
|
|
||||||
mask = 10011011X010100110XX100100XX11011X00
|
|
||||||
mem[518] = 25998191
|
|
||||||
mem[13053] = 7866406
|
|
||||||
mem[38152] = 3208
|
|
||||||
mem[18730] = 711
|
|
||||||
mask = 10X11000001XX1X000100X11101XX1X10111
|
|
||||||
mem[47121] = 11272115
|
|
||||||
mem[43618] = 27683
|
|
||||||
mask = 100X1101X0101001100X010000X11001X100
|
|
||||||
mem[21702] = 34688805
|
|
||||||
mem[43624] = 3956780
|
|
||||||
mem[24476] = 17239393
|
|
||||||
mem[23321] = 25573609
|
|
||||||
mem[15163] = 1713
|
|
||||||
mem[65338] = 27386792
|
|
||||||
mask = 10011010010X10011X0011110XX100001111
|
|
||||||
mem[53501] = 16700270
|
|
||||||
mem[28069] = 20683243
|
|
||||||
mem[33593] = 114830
|
|
||||||
mem[9962] = 403282549
|
|
||||||
mem[54061] = 2336
|
|
||||||
mem[46656] = 7039
|
|
||||||
mem[58616] = 181
|
|
||||||
mask = 10001X11001011XX101X0100010010101100
|
|
||||||
mem[8738] = 234383093
|
|
||||||
mem[11512] = 1792627
|
|
||||||
mem[54326] = 1574223
|
|
||||||
mask = 10011X101X10100XX000X10010X01X01100X
|
|
||||||
mem[51382] = 17879
|
|
||||||
mem[44905] = 783
|
|
||||||
mem[57514] = 1018128542
|
|
||||||
mem[18628] = 240492
|
|
||||||
mem[2108] = 3429
|
|
||||||
mem[2304] = 3748
|
|
||||||
mask = 0X011001X0X000X000110100101000000000
|
|
||||||
mem[4452] = 19437119
|
|
||||||
mem[64742] = 179090
|
|
||||||
mem[16430] = 486207
|
|
||||||
mask = 1001X000111X1X1110110X011111100X0011
|
|
||||||
mem[52004] = 41486
|
|
||||||
mem[48779] = 83675
|
|
||||||
mem[17861] = 48577395
|
|
||||||
mem[39247] = 16952
|
|
||||||
mem[8738] = 3981
|
|
||||||
mem[32923] = 1168904
|
|
||||||
mask = 10011001XX0011X11X0010X1010X10101000
|
|
||||||
mem[33319] = 44401
|
|
||||||
mem[4142] = 517003945
|
|
||||||
mem[29189] = 415157
|
|
||||||
mem[33358] = 1395165
|
|
||||||
mask = 1001100X010010011XX00XXX1100101X0101
|
|
||||||
mem[13618] = 246280673
|
|
||||||
mem[58338] = 17884
|
|
||||||
mem[10885] = 816
|
|
||||||
mem[11277] = 24331199
|
|
||||||
mem[17936] = 1616051
|
|
||||||
mask = 1001100X01X01001X00011000110X0X001XX
|
|
||||||
mem[58338] = 302363844
|
|
||||||
mem[53596] = 175604903
|
|
||||||
mem[56468] = 419729
|
|
||||||
mem[27915] = 581
|
|
||||||
mem[41501] = 69718
|
|
||||||
mask = 100110000X1010110100X1X001X00X01001X
|
|
||||||
mem[18333] = 15544
|
|
||||||
mem[3929] = 2622169
|
|
||||||
mem[37718] = 176413
|
|
||||||
mem[27333] = 848
|
|
||||||
mem[17456] = 1097
|
|
||||||
mask = 100110101010X001X000X0001X00001011X0
|
|
||||||
mem[53045] = 2356198
|
|
||||||
mem[49908] = 1086
|
|
||||||
mem[17019] = 7107107
|
|
||||||
mem[12013] = 70971
|
|
||||||
mem[7048] = 1585
|
|
||||||
mem[3666] = 4937143
|
|
||||||
mask = 10011XXXX01010011000010X1X11100XXX00
|
|
||||||
mem[65524] = 4129175
|
|
||||||
mem[5636] = 315661
|
|
||||||
mem[39270] = 455882795
|
|
||||||
mask = X1001100110010011010000001110X0X00XX
|
|
||||||
mem[50481] = 26734
|
|
||||||
mem[57708] = 199726127
|
|
||||||
mem[20422] = 130991
|
|
||||||
mem[13651] = 1094687
|
|
||||||
mem[1292] = 60536
|
|
||||||
mask = 110X1011001XX111110100X0000010X1X101
|
|
||||||
mem[39644] = 14574
|
|
||||||
mem[8596] = 30400
|
|
||||||
mask = 1000101XX0X0X1110110111X110011X00110
|
|
||||||
mem[919] = 32148
|
|
||||||
mem[41] = 453324
|
|
||||||
mem[36794] = 179133
|
|
||||||
mem[2780] = 958033590
|
|
||||||
mask = 100010X1X11011110010X01101101110X100
|
|
||||||
mem[20035] = 1674335
|
|
||||||
mem[18909] = 33271
|
|
||||||
mem[21491] = 4013451
|
|
||||||
mem[21792] = 78760
|
|
||||||
mem[42156] = 980
|
|
||||||
mem[3276] = 3971405
|
|
||||||
mask = 10XX10000X10X00111X0XX00X0010011X100
|
|
||||||
mem[36368] = 5097527
|
|
||||||
mem[3099] = 104365
|
|
||||||
mem[57092] = 74461253
|
|
||||||
mem[46314] = 30483860
|
|
||||||
mask = X000101X101011X10110XXX001X00X11X010
|
|
||||||
mem[9948] = 43011947
|
|
||||||
mem[53185] = 41588
|
|
||||||
mem[25699] = 101124
|
|
||||||
mem[60046] = 123243
|
|
||||||
mem[23975] = 125991
|
|
||||||
mask = 1X00100000X01X00101011100X1010000101
|
|
||||||
mem[65101] = 504575
|
|
||||||
mem[55313] = 14953613
|
|
||||||
mem[42156] = 526
|
|
||||||
mem[55573] = 1303957
|
|
||||||
mem[53260] = 16252
|
|
||||||
mem[48073] = 8667
|
|
||||||
mask = 1001100100101X11110X0X0X0111X00001X0
|
|
||||||
mem[10402] = 793546
|
|
||||||
mem[45910] = 18
|
|
||||||
mem[23627] = 72728
|
|
||||||
mem[7408] = 16579752
|
|
||||||
mem[22105] = 10576
|
|
||||||
mem[61054] = 1160961
|
|
||||||
mem[2989] = 149675383
|
|
||||||
mask = 0001X001000000XX0111X110010001010110
|
|
||||||
mem[15867] = 14
|
|
||||||
mem[23379] = 10511918
|
|
||||||
mem[4217] = 4840435
|
|
||||||
mem[29978] = 11828937
|
|
||||||
mem[28303] = 2358671
|
|
||||||
mask = 10010010011X0XX11010X000110000110X00
|
|
||||||
mem[11923] = 149358903
|
|
||||||
mem[46246] = 3148
|
|
||||||
mem[17596] = 9370
|
|
||||||
mem[1540] = 12848
|
|
||||||
mem[25775] = 29444
|
|
||||||
mem[32564] = 64008
|
|
||||||
mem[16097] = 641
|
|
||||||
mask = 0X011001X010X010X0100X1X0X0X000111X1
|
|
||||||
mem[45770] = 1008133
|
|
||||||
mem[15551] = 3912928
|
|
||||||
mem[53058] = 188856
|
|
||||||
mem[44827] = 9036496
|
|
||||||
mem[59530] = 20033543
|
|
||||||
mask = 1001100X0XX01X0110X000XX010010XX1101
|
|
||||||
mem[2056] = 737
|
|
||||||
mem[34972] = 30655
|
|
||||||
mem[50728] = 927954
|
|
||||||
mask = 10001X0000X0X0010010101010X001100110
|
|
||||||
mem[39247] = 425181
|
|
||||||
mem[64200] = 13111811
|
|
||||||
mem[8169] = 1250162
|
|
||||||
mask = 100110000X10XXX11010X0001110X011XX00
|
|
||||||
mem[62259] = 4350710
|
|
||||||
mem[56112] = 42327
|
|
||||||
mem[53173] = 2221557
|
|
||||||
mem[36759] = 242686307
|
|
||||||
mem[29077] = 1179326
|
|
||||||
mem[2056] = 356
|
|
||||||
mask = 10000000001XX000101000X0X11000X10110
|
|
||||||
mem[18542] = 454113
|
|
||||||
mem[44192] = 501708
|
|
||||||
mem[54994] = 149470837
|
|
||||||
mem[54260] = 582959
|
|
||||||
mem[65424] = 295679271
|
|
||||||
mem[36368] = 2002
|
|
||||||
mem[16392] = 99
|
|
||||||
mask = 10100001XX101001X0101100101101000XX0
|
|
||||||
mem[17861] = 3340321
|
|
||||||
mem[24705] = 4143350
|
|
||||||
mem[38940] = 201585
|
|
||||||
mem[35632] = 19204465
|
|
||||||
mem[9443] = 5273035
|
|
||||||
mask = 10X110010010100101000X00001010X0111X
|
|
||||||
mem[2991] = 51624
|
|
||||||
mem[56468] = 1603
|
|
||||||
mem[35633] = 4068
|
|
||||||
mask = 10011X01001010X10000X011000111101X11
|
|
||||||
mem[58842] = 69158
|
|
||||||
mem[43765] = 1624
|
|
||||||
mem[24913] = 133864698
|
|
||||||
mem[15015] = 247
|
|
||||||
mem[10155] = 1064
|
|
||||||
mem[33787] = 142284522
|
|
||||||
mem[17457] = 15488682
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
6,3,15,13,1,0
|
|
||||||
@@ -1,265 +0,0 @@
|
|||||||
departure location: 28-184 or 203-952
|
|
||||||
departure station: 43-261 or 283-958
|
|
||||||
departure platform: 43-549 or 564-970
|
|
||||||
departure track: 30-724 or 732-970
|
|
||||||
departure date: 37-650 or 657-973
|
|
||||||
departure time: 28-911 or 922-965
|
|
||||||
arrival location: 41-855 or 863-970
|
|
||||||
arrival station: 26-304 or 324-970
|
|
||||||
arrival platform: 45-896 or 903-963
|
|
||||||
arrival track: 34-458 or 466-962
|
|
||||||
class: 43-337 or 363-954
|
|
||||||
duration: 33-239 or 260-973
|
|
||||||
price: 34-600 or 606-961
|
|
||||||
route: 25-686 or 711-973
|
|
||||||
row: 36-101 or 124-963
|
|
||||||
seat: 25-794 or 806-949
|
|
||||||
train: 38-139 or 164-952
|
|
||||||
type: 37-619 or 627-956
|
|
||||||
wagon: 35-62 or 75-963
|
|
||||||
zone: 40-479 or 490-960
|
|
||||||
|
|
||||||
your ticket:
|
|
||||||
89,137,223,97,61,167,181,53,179,139,211,127,229,227,173,101,83,131,59,79
|
|
||||||
|
|
||||||
nearby tickets:
|
|
||||||
170,218,811,107,747,184,411,426,594,629,764,509,287,385,734,853,646,474,937,773
|
|
||||||
683,727,850,596,125,222,334,774,778,567,427,90,478,385,174,497,184,745,646,88
|
|
||||||
405,582,670,456,607,504,924,850,674,219,500,22,134,479,92,832,220,750,780,449
|
|
||||||
646,572,467,337,515,380,736,130,850,686,649,96,742,579,61,88,381,725,814,226
|
|
||||||
55,534,61,866,895,169,260,170,216,230,566,208,763,759,805,366,636,421,762,885
|
|
||||||
931,892,738,294,56,887,619,718,609,450,164,223,502,286,740,230,570,784,23,821
|
|
||||||
179,475,428,87,766,749,618,382,77,595,910,498,847,328,338,871,432,210,333,285
|
|
||||||
681,337,949,101,227,817,273,814,425,884,570,637,905,330,171,97,929,519,512,83
|
|
||||||
756,22,90,543,420,783,53,125,490,831,877,331,636,508,518,443,334,674,610,619
|
|
||||||
896,366,581,402,392,679,138,327,384,382,865,627,394,515,266,170,209,825,659,724
|
|
||||||
130,208,542,778,631,168,331,94,500,848,435,839,65,215,567,385,126,600,891,753
|
|
||||||
418,474,395,829,649,382,907,172,583,584,493,490,691,393,887,807,577,586,234,617
|
|
||||||
547,430,743,598,421,947,183,736,432,836,396,549,9,534,100,635,579,608,641,431
|
|
||||||
444,594,458,235,931,84,184,832,511,662,483,881,667,91,839,397,674,719,942,413
|
|
||||||
479,125,645,132,380,479,718,734,788,638,779,566,253,599,753,834,774,593,566,567
|
|
||||||
378,781,522,853,582,851,858,889,674,845,363,286,287,610,518,415,672,219,415,809
|
|
||||||
759,805,904,661,522,905,261,166,721,492,672,454,565,827,761,586,947,629,833,634
|
|
||||||
443,526,792,137,752,627,579,408,835,286,99,532,878,243,844,607,771,669,423,382
|
|
||||||
504,597,425,827,50,737,220,418,62,364,402,72,671,549,444,518,641,390,222,504
|
|
||||||
435,633,547,677,841,304,749,398,597,725,924,926,527,658,532,490,590,676,598,869
|
|
||||||
299,416,454,477,510,377,899,479,444,836,665,374,432,206,872,213,753,436,99,372
|
|
||||||
364,752,507,397,388,628,790,134,205,394,136,716,895,272,175,81,724,332,939,130
|
|
||||||
929,388,908,687,767,469,784,135,794,570,679,304,178,89,935,941,640,639,544,390
|
|
||||||
98,759,820,932,853,946,930,454,379,831,856,867,427,283,467,440,457,666,166,627
|
|
||||||
417,762,751,928,419,773,834,721,721,630,83,596,929,386,211,930,171,506,604,433
|
|
||||||
903,947,475,872,168,325,215,236,96,233,840,839,675,331,878,947,483,571,475,870
|
|
||||||
516,203,126,849,331,415,411,1,566,713,207,906,575,637,780,520,864,830,59,892
|
|
||||||
793,364,586,414,660,261,847,738,526,381,893,105,879,591,532,529,644,840,396,819
|
|
||||||
579,719,181,522,549,669,302,472,837,448,987,591,637,99,945,372,518,129,399,787
|
|
||||||
610,606,501,330,418,865,290,468,782,670,577,718,296,803,748,515,864,53,841,299
|
|
||||||
125,833,456,509,253,836,872,722,746,58,896,414,470,813,720,597,675,97,504,630
|
|
||||||
680,794,875,96,450,873,409,568,98,89,810,374,882,646,417,50,109,832,839,627
|
|
||||||
205,788,527,61,618,300,210,932,814,877,678,991,659,934,613,91,826,509,414,327
|
|
||||||
537,634,923,773,232,181,329,378,219,587,183,55,592,556,391,450,779,628,443,433
|
|
||||||
506,303,294,671,650,633,781,418,534,379,845,490,845,224,442,929,649,602,882,84
|
|
||||||
825,58,60,586,418,67,415,439,96,223,234,631,399,894,949,865,512,887,203,389
|
|
||||||
822,817,746,96,226,675,133,855,929,381,772,628,895,648,424,235,78,219,872,74
|
|
||||||
890,611,826,894,831,332,752,303,5,184,855,766,641,405,374,547,288,295,817,77
|
|
||||||
612,388,292,533,171,506,260,609,813,385,678,629,825,929,233,600,780,82,931,120
|
|
||||||
408,102,589,298,385,852,333,333,169,885,287,492,567,82,131,737,932,213,537,670
|
|
||||||
334,384,947,128,538,893,867,87,790,522,891,844,944,649,620,775,499,734,745,684
|
|
||||||
493,924,184,943,746,849,435,448,83,678,94,636,430,120,619,548,774,380,62,518
|
|
||||||
934,302,297,721,209,98,81,664,96,442,173,511,939,203,725,82,545,940,937,751
|
|
||||||
543,642,924,675,443,458,385,297,330,940,373,483,790,218,834,767,941,878,449,429
|
|
||||||
941,391,391,669,98,139,733,685,408,808,15,416,572,209,877,723,547,841,807,504
|
|
||||||
135,778,764,845,587,598,590,173,815,458,284,923,873,835,881,936,394,902,647,394
|
|
||||||
164,826,395,752,526,102,182,221,436,514,469,684,208,790,834,94,841,416,494,302
|
|
||||||
53,865,445,565,56,765,214,637,763,172,507,598,291,975,811,506,466,512,80,297
|
|
||||||
591,266,165,426,92,333,753,573,635,929,128,820,386,657,411,374,582,208,906,932
|
|
||||||
373,753,81,303,212,544,777,976,225,878,381,546,180,657,548,414,423,373,734,210
|
|
||||||
404,922,929,91,535,523,763,758,816,366,606,926,125,864,901,230,739,470,334,396
|
|
||||||
884,599,719,614,830,224,576,379,815,216,576,412,872,616,661,390,451,654,540,547
|
|
||||||
505,851,755,410,379,791,64,668,377,336,420,165,675,177,479,225,852,666,638,877
|
|
||||||
889,546,564,811,423,502,775,589,386,468,896,295,480,337,824,210,169,447,929,392
|
|
||||||
774,723,732,545,78,7,840,891,165,927,881,375,374,609,239,818,178,387,815,137
|
|
||||||
406,505,787,476,723,233,446,393,94,89,927,672,531,261,123,492,664,473,389,77
|
|
||||||
209,330,833,636,533,901,100,635,97,508,535,448,173,98,609,205,428,61,762,549
|
|
||||||
661,611,58,373,167,579,83,547,896,936,376,497,537,450,141,532,939,179,76,209
|
|
||||||
840,433,62,811,334,734,493,753,468,296,764,512,176,571,397,229,494,751,894,252
|
|
||||||
430,426,567,224,63,538,908,504,326,837,925,522,51,843,227,936,821,678,428,214
|
|
||||||
534,719,51,395,670,477,603,284,594,127,128,131,829,824,927,75,51,948,395,830
|
|
||||||
427,929,993,865,372,936,532,521,371,825,283,896,417,418,182,440,511,519,723,739
|
|
||||||
426,578,994,327,414,284,94,83,370,52,852,135,239,830,499,569,300,497,870,437
|
|
||||||
659,896,297,444,712,100,421,295,770,519,907,415,567,415,652,228,507,793,925,592
|
|
||||||
478,99,769,905,534,165,545,167,663,832,396,554,62,454,615,783,682,476,478,373
|
|
||||||
789,830,545,719,410,754,630,786,509,887,930,173,335,741,775,375,547,250,437,884
|
|
||||||
433,887,770,172,594,330,215,835,945,603,636,784,84,744,422,172,512,438,284,806
|
|
||||||
619,992,538,591,398,748,495,512,425,373,133,168,583,597,204,736,592,815,57,748
|
|
||||||
735,936,324,589,432,573,98,374,597,578,717,514,212,328,907,686,410,976,893,447
|
|
||||||
129,579,847,216,391,334,177,619,779,918,501,782,78,835,855,578,927,472,811,493
|
|
||||||
426,423,387,233,379,512,592,377,750,865,589,916,822,762,540,124,420,635,844,775
|
|
||||||
904,170,826,933,297,764,233,330,788,829,112,607,547,777,451,807,384,852,126,298
|
|
||||||
511,836,406,779,836,532,8,629,425,840,543,766,929,836,261,372,936,894,686,56
|
|
||||||
440,575,517,827,173,497,835,498,752,212,752,393,59,831,875,877,902,818,600,414
|
|
||||||
893,558,503,379,83,648,62,903,903,786,630,129,231,454,647,233,177,773,823,442
|
|
||||||
949,447,806,275,617,766,909,519,607,302,183,236,58,855,809,629,597,293,526,54
|
|
||||||
84,89,134,658,662,668,77,926,454,634,496,296,334,232,598,493,8,418,509,783
|
|
||||||
756,713,214,817,790,808,600,395,768,882,228,942,767,387,79,299,790,336,754,603
|
|
||||||
788,566,739,325,774,674,564,540,373,62,667,905,100,872,415,575,53,297,859,521
|
|
||||||
171,613,400,898,942,216,207,774,260,783,575,905,522,889,851,947,437,458,713,549
|
|
||||||
762,926,902,671,589,174,96,615,409,615,475,733,376,295,511,129,658,475,761,443
|
|
||||||
203,794,501,514,98,860,79,222,510,792,711,168,646,834,887,208,441,527,289,646
|
|
||||||
397,807,398,337,532,667,770,77,735,941,639,542,763,647,604,213,337,811,410,867
|
|
||||||
217,568,779,428,765,754,606,883,787,534,544,759,900,403,497,629,210,591,753,734
|
|
||||||
130,414,792,410,786,124,833,132,840,653,299,944,137,565,871,236,853,735,514,896
|
|
||||||
878,683,597,521,51,410,116,806,176,715,385,289,672,936,82,588,95,174,933,375
|
|
||||||
363,425,409,612,631,830,669,96,615,767,173,386,366,654,742,411,59,736,941,821
|
|
||||||
520,653,375,83,236,904,720,207,304,762,449,640,527,453,174,549,836,949,545,469
|
|
||||||
444,500,615,839,814,893,593,944,301,243,94,825,211,233,903,872,299,645,410,224
|
|
||||||
679,570,627,438,327,994,391,669,751,447,293,126,646,138,178,679,228,636,578,594
|
|
||||||
549,929,427,373,426,15,668,220,664,776,53,738,941,849,51,52,508,751,406,51
|
|
||||||
928,670,436,782,722,335,845,611,664,794,982,945,300,223,131,870,184,409,80,575
|
|
||||||
420,238,823,394,436,439,811,820,520,869,261,588,631,677,294,292,762,619,597,989
|
|
||||||
824,218,524,766,368,934,815,304,283,266,136,792,412,429,173,750,598,903,746,806
|
|
||||||
295,785,365,517,422,885,569,825,831,424,591,218,650,682,476,549,788,858,575,834
|
|
||||||
937,579,529,821,572,888,385,608,548,607,367,195,471,627,544,523,828,679,94,53
|
|
||||||
437,412,288,372,171,867,506,478,329,786,580,467,610,394,206,453,835,24,616,467
|
|
||||||
370,864,331,780,86,886,441,571,648,482,372,932,892,415,753,394,444,541,165,100
|
|
||||||
230,855,612,820,396,131,296,98,649,841,130,778,176,862,453,173,135,548,839,637
|
|
||||||
794,686,296,285,933,582,679,881,392,515,226,773,763,904,67,439,928,720,610,529
|
|
||||||
172,932,676,885,937,494,717,826,70,129,931,220,635,176,781,364,583,880,911,785
|
|
||||||
663,717,515,927,837,505,735,825,902,211,540,640,126,420,217,542,716,896,886,719
|
|
||||||
868,643,16,472,491,650,933,238,216,613,225,225,865,367,939,433,618,410,477,491
|
|
||||||
229,635,287,593,261,986,759,57,528,775,887,529,237,942,138,411,739,495,225,810
|
|
||||||
530,758,510,755,823,17,753,570,865,833,732,90,776,793,773,175,751,389,588,767
|
|
||||||
474,784,496,719,539,911,566,328,879,928,759,764,819,714,488,532,127,682,512,210
|
|
||||||
525,98,416,757,888,646,179,564,826,430,610,99,734,165,702,847,423,829,765,442
|
|
||||||
504,383,172,636,297,826,928,757,419,222,182,591,586,154,442,908,440,771,376,138
|
|
||||||
982,90,754,495,717,214,56,905,638,531,542,330,876,576,495,329,300,779,712,877
|
|
||||||
132,761,568,917,235,669,673,175,529,933,753,757,236,612,821,819,749,221,438,234
|
|
||||||
545,451,454,749,514,522,174,724,135,595,289,531,445,386,661,784,861,506,226,893
|
|
||||||
334,292,814,939,638,402,878,218,780,72,756,906,864,469,454,401,88,534,823,716
|
|
||||||
667,447,238,578,86,864,565,947,392,179,684,588,851,772,572,751,879,66,295,822
|
|
||||||
833,445,855,730,935,237,506,401,888,239,94,811,131,379,739,219,469,606,815,569
|
|
||||||
403,434,940,633,383,819,237,773,526,910,414,76,630,913,642,524,659,331,791,386
|
|
||||||
508,864,872,397,499,467,671,617,868,110,816,812,217,681,942,510,733,948,713,598
|
|
||||||
446,915,58,474,752,512,285,299,894,573,749,287,823,375,808,531,540,714,840,409
|
|
||||||
137,181,53,496,547,720,714,840,830,829,77,579,167,734,814,447,3,659,432,757
|
|
||||||
10,221,846,753,131,787,454,78,714,410,327,455,375,785,234,51,872,328,370,617
|
|
||||||
850,890,258,385,754,585,780,528,548,379,678,818,438,896,879,648,893,946,941,671
|
|
||||||
539,260,372,127,845,603,711,212,609,366,437,582,239,470,426,540,713,743,785,644
|
|
||||||
577,527,523,210,300,289,591,937,204,775,875,293,822,602,713,741,386,566,669,334
|
|
||||||
743,421,593,573,296,659,847,388,512,493,779,514,501,76,472,606,678,110,505,768
|
|
||||||
898,815,937,384,433,669,513,649,75,260,425,127,679,428,59,658,742,566,383,634
|
|
||||||
417,366,872,377,545,811,197,788,430,843,173,57,743,164,337,580,469,642,841,451
|
|
||||||
493,790,650,181,293,536,836,574,631,882,843,431,417,432,849,751,225,456,910,862
|
|
||||||
392,600,740,847,497,816,658,887,647,910,67,641,774,846,568,893,848,617,381,377
|
|
||||||
295,587,837,168,670,783,766,81,823,452,777,51,622,218,732,78,53,428,786,50
|
|
||||||
469,433,929,13,468,134,522,546,181,375,509,213,76,771,773,683,139,937,548,863
|
|
||||||
852,534,507,547,608,884,564,388,779,811,644,755,653,410,433,101,938,417,174,815
|
|
||||||
531,166,750,940,593,595,492,991,52,824,415,227,138,949,867,375,922,328,640,101
|
|
||||||
379,334,444,854,923,575,714,412,678,206,203,426,174,977,409,786,838,514,335,368
|
|
||||||
52,445,750,778,852,389,787,514,904,659,85,756,727,925,543,203,128,329,495,429
|
|
||||||
812,923,884,417,840,611,717,748,949,636,423,838,556,534,665,892,431,681,528,523
|
|
||||||
450,218,424,418,493,169,134,288,93,189,880,868,430,389,716,864,678,545,882,521
|
|
||||||
789,223,436,540,210,248,55,565,394,59,835,363,509,617,775,535,410,792,684,395
|
|
||||||
329,429,750,138,423,435,210,450,387,770,134,736,638,784,452,863,500,582,829,982
|
|
||||||
390,82,295,598,519,333,754,290,56,702,217,642,420,506,208,172,846,586,824,375
|
|
||||||
418,611,291,496,933,817,730,590,237,501,171,644,588,82,807,172,580,380,499,384
|
|
||||||
880,419,139,329,467,283,829,774,442,137,513,466,176,924,818,978,785,741,184,214
|
|
||||||
415,537,511,377,135,100,254,879,425,827,591,629,787,90,495,411,169,523,619,573
|
|
||||||
378,880,747,744,396,482,446,476,719,497,223,948,940,447,492,168,476,734,834,586
|
|
||||||
388,86,83,475,409,926,821,874,872,386,566,685,498,526,832,791,81,129,781,12
|
|
||||||
169,473,739,751,592,681,577,544,512,895,86,296,646,454,56,501,325,807,74,51
|
|
||||||
939,879,882,572,287,387,585,882,427,564,335,205,505,617,460,411,816,515,931,570
|
|
||||||
248,229,410,632,828,508,332,441,867,99,470,632,442,825,640,442,665,544,762,647
|
|
||||||
609,564,494,834,853,590,772,532,634,295,808,564,772,71,388,446,632,540,614,793
|
|
||||||
225,509,665,234,897,506,777,229,164,768,291,300,545,868,231,733,94,334,521,887
|
|
||||||
406,577,87,538,841,494,436,368,642,866,713,134,671,763,246,607,909,780,499,372
|
|
||||||
217,439,904,205,528,879,827,685,722,569,880,443,643,580,882,334,496,265,787,298
|
|
||||||
98,485,510,893,84,181,567,893,852,849,530,939,84,682,447,638,934,368,716,133
|
|
||||||
886,821,210,585,51,178,134,431,213,56,371,859,237,777,526,337,420,628,526,506
|
|
||||||
231,428,610,567,297,678,547,842,569,811,914,167,364,675,831,403,767,329,910,869
|
|
||||||
455,408,519,715,337,0,84,756,328,466,794,370,868,766,177,437,922,752,326,260
|
|
||||||
414,687,466,672,834,664,171,391,682,509,611,948,466,600,234,513,863,769,468,941
|
|
||||||
428,716,677,760,611,430,775,818,374,176,611,601,538,885,547,776,665,666,363,752
|
|
||||||
751,77,637,133,683,431,378,632,457,62,681,544,62,772,859,578,590,417,863,569
|
|
||||||
217,777,134,125,781,169,478,869,924,139,97,898,647,576,392,236,775,443,523,717
|
|
||||||
807,774,324,62,948,789,746,939,855,168,645,927,939,449,916,441,584,681,932,720
|
|
||||||
210,203,478,220,365,932,333,579,367,424,853,278,591,785,886,218,888,533,99,334
|
|
||||||
640,431,220,807,207,683,932,407,203,405,365,875,863,221,555,61,778,592,780,129
|
|
||||||
852,203,616,89,639,24,501,790,772,617,220,754,810,757,791,438,775,777,715,296
|
|
||||||
449,931,372,750,835,95,206,768,923,907,514,77,601,79,889,433,579,750,217,449
|
|
||||||
886,534,548,844,59,198,53,425,205,134,896,867,670,420,58,830,177,639,829,610
|
|
||||||
666,911,752,578,835,443,783,135,889,411,736,289,280,220,825,456,832,944,331,923
|
|
||||||
806,536,674,788,498,366,633,682,583,134,101,829,196,630,589,433,421,761,669,229
|
|
||||||
930,832,478,415,659,821,662,66,659,820,220,633,935,674,535,80,682,293,381,387
|
|
||||||
663,298,457,332,128,763,332,84,564,611,604,909,770,204,924,216,745,841,416,288
|
|
||||||
781,663,514,858,773,466,719,298,172,825,755,866,453,125,852,826,134,429,648,774
|
|
||||||
528,294,866,794,332,379,184,296,843,596,832,614,532,7,792,664,789,935,600,734
|
|
||||||
570,222,426,169,873,231,91,679,325,366,614,2,299,876,83,237,53,472,771,468
|
|
||||||
84,56,872,684,927,336,820,449,447,902,377,233,86,593,759,403,929,842,169,495
|
|
||||||
382,671,442,589,929,128,214,847,237,800,684,599,164,415,525,684,849,217,227,887
|
|
||||||
837,745,370,740,855,638,660,89,56,866,224,593,508,511,191,441,134,939,782,887
|
|
||||||
814,200,401,891,384,763,885,83,126,478,792,420,910,614,175,822,818,225,764,92
|
|
||||||
716,716,930,388,111,635,842,505,182,467,591,744,88,414,543,444,611,387,512,675
|
|
||||||
379,887,80,594,844,629,677,722,632,874,238,940,847,942,776,519,193,905,261,930
|
|
||||||
433,838,779,208,165,443,477,78,764,521,366,397,612,846,606,747,404,431,106,291
|
|
||||||
386,650,474,331,939,610,489,650,419,416,442,286,93,365,582,367,334,840,642,394
|
|
||||||
818,302,50,794,820,755,561,661,884,683,631,130,867,723,419,807,848,610,382,889
|
|
||||||
928,907,467,614,53,271,511,825,578,827,182,814,431,760,541,765,661,299,51,523
|
|
||||||
377,602,752,169,83,806,527,544,294,325,228,876,866,367,505,531,288,871,368,866
|
|
||||||
368,854,817,328,923,139,498,547,503,431,897,733,543,288,774,614,84,169,540,525
|
|
||||||
599,300,226,628,206,294,638,369,906,527,451,453,937,539,222,367,991,942,881,467
|
|
||||||
513,93,600,794,166,170,416,863,528,511,77,508,115,598,775,217,629,806,512,928
|
|
||||||
760,857,415,525,762,420,716,738,371,684,290,285,821,810,777,498,810,944,336,648
|
|
||||||
105,401,503,565,216,787,548,474,382,939,754,827,924,515,755,438,166,770,773,418
|
|
||||||
871,843,223,588,739,591,328,541,617,678,541,542,916,182,450,776,807,908,424,764
|
|
||||||
363,396,96,390,892,572,407,780,738,212,298,785,233,164,807,235,76,213,252,777
|
|
||||||
565,888,366,557,669,418,778,569,380,447,413,166,907,675,878,810,417,618,401,788
|
|
||||||
368,592,393,810,382,571,741,285,586,632,240,237,779,331,886,378,765,445,869,135
|
|
||||||
138,522,637,817,684,176,581,926,755,380,765,304,441,898,231,743,836,379,670,131
|
|
||||||
291,632,821,659,939,514,643,616,124,579,678,619,367,729,518,768,756,386,167,365
|
|
||||||
818,240,750,237,87,472,769,213,842,260,225,767,629,593,820,775,838,774,764,466
|
|
||||||
478,769,88,248,716,584,78,751,372,583,85,218,294,446,328,396,83,130,166,668
|
|
||||||
444,814,476,67,946,629,911,525,589,864,945,478,180,403,835,474,494,218,177,292
|
|
||||||
527,947,533,500,658,740,737,87,572,97,501,435,911,621,934,466,260,479,413,288
|
|
||||||
73,304,911,761,412,863,891,590,869,638,662,132,410,397,711,477,92,56,576,736
|
|
||||||
89,478,284,203,755,889,237,417,886,424,925,659,713,480,774,56,758,224,62,75
|
|
||||||
871,455,60,675,606,13,516,378,884,506,236,443,763,176,586,789,377,767,547,167
|
|
||||||
285,673,284,130,223,327,575,633,582,986,390,855,441,494,719,907,763,794,757,610
|
|
||||||
507,376,837,101,822,670,466,504,838,595,831,885,405,940,657,62,448,197,757,791
|
|
||||||
788,564,847,786,55,715,288,818,219,468,905,291,789,459,75,792,337,894,515,868
|
|
||||||
671,429,286,888,436,647,735,756,324,907,260,780,459,509,513,775,180,781,439,300
|
|
||||||
90,507,533,401,125,80,590,645,872,89,132,878,502,302,746,941,737,556,874,508
|
|
||||||
597,884,580,849,431,324,418,767,294,532,405,248,785,940,215,841,403,78,374,721
|
|
||||||
164,748,435,617,869,936,855,607,515,462,784,453,927,83,532,600,207,379,503,814
|
|
||||||
15,468,58,223,843,878,633,478,741,224,96,751,784,767,736,531,750,216,643,619
|
|
||||||
472,523,843,481,849,943,90,543,381,572,382,842,566,335,891,911,630,712,420,533
|
|
||||||
5,923,539,213,810,869,738,757,285,878,535,385,432,667,793,454,775,659,401,944
|
|
||||||
518,80,925,723,880,425,914,577,470,475,937,448,409,433,678,794,456,85,889,381
|
|
||||||
602,823,404,176,842,814,528,136,583,716,834,429,908,627,292,744,833,926,855,545
|
|
||||||
669,209,366,126,716,747,882,540,825,452,617,588,816,228,136,288,126,918,871,452
|
|
||||||
865,794,237,654,433,630,722,615,541,790,174,609,128,519,682,232,179,644,527,214
|
|
||||||
401,894,435,543,717,546,238,205,787,555,905,761,407,524,376,757,443,205,373,869
|
|
||||||
668,906,228,733,719,835,751,776,515,83,782,851,836,788,570,577,605,500,86,927
|
|
||||||
759,612,391,602,85,506,946,661,385,408,455,335,363,428,658,416,678,129,853,292
|
|
||||||
853,228,50,399,576,753,422,770,529,862,181,783,391,300,382,784,217,377,366,819
|
|
||||||
892,842,432,824,181,286,472,467,57,331,884,467,498,298,881,892,770,333,825,484
|
|
||||||
853,936,792,598,389,886,11,176,661,444,535,599,89,842,377,908,722,216,421,759
|
|
||||||
182,685,736,206,368,93,877,674,785,837,291,806,324,705,421,877,819,422,490,834
|
|
||||||
58,516,178,532,89,580,516,214,503,612,199,379,758,167,723,238,59,865,536,405
|
|
||||||
564,785,445,176,823,540,884,85,946,890,641,54,834,218,542,928,247,499,229,832
|
|
||||||
925,414,905,199,649,946,816,735,644,753,761,779,328,661,880,849,769,657,547,58
|
|
||||||
184,583,534,844,366,300,910,767,873,24,325,947,870,183,806,80,659,79,470,457
|
|
||||||
885,683,826,722,759,514,52,403,850,178,133,520,214,867,608,618,512,446,900,711
|
|
||||||
660,747,211,443,607,632,95,77,580,826,576,774,804,533,947,747,59,592,885,852
|
|
||||||
513,435,73,615,179,91,873,383,61,455,82,181,754,721,635,869,86,947,893,52
|
|
||||||
937,454,927,932,935,212,227,640,135,762,477,849,415,822,681,577,628,872,9,683
|
|
||||||
374,909,607,775,934,588,373,290,612,457,337,216,545,495,294,134,443,487,742,84
|
|
||||||
524,900,87,874,742,671,133,547,82,394,847,444,594,368,751,549,637,237,673,867
|
|
||||||
456,661,828,85,215,912,720,212,477,90,609,642,847,587,835,905,98,454,780,366
|
|
||||||
873,292,55,833,285,369,405,52,217,650,293,637,926,199,165,662,824,296,223,526
|
|
||||||
8,429,574,364,80,184,540,590,680,826,438,399,380,503,180,739,388,641,526,182
|
|
||||||
756,57,236,212,789,808,571,544,81,722,387,617,862,405,396,518,864,169,455,82
|
|
||||||
93,402,449,610,641,928,2,212,239,420,838,905,790,55,99,946,181,418,748,941
|
|
||||||
425,68,840,423,217,790,470,288,847,669,791,546,718,781,415,81,395,809,935,573
|
|
||||||
21,330,375,595,738,948,523,82,713,335,682,501,296,325,289,90,290,574,426,379
|
|
||||||
410,51,139,410,534,226,520,422,438,498,614,821,495,850,744,396,169,515,440,901
|
|
||||||
577,171,878,134,600,368,171,169,450,229,761,843,82,575,870,886,64,455,414,564
|
|
||||||
1000
src/files/P2.txt
1000
src/files/P2.txt
File diff suppressed because it is too large
Load Diff
323
src/files/P3.txt
323
src/files/P3.txt
@@ -1,323 +0,0 @@
|
|||||||
.#.....#..#..#....##.........#.
|
|
||||||
...#...#.........#..#.#..#.....
|
|
||||||
#.#...#.#....#.....#..#..##..##
|
|
||||||
..#..#.#.#.....#..#..#..##.....
|
|
||||||
.#..........#....####..##.#..#.
|
|
||||||
....##.......#.#.....#.........
|
|
||||||
....#......#....####.#.##......
|
|
||||||
........##..........##......#..
|
|
||||||
.........#........##..#.#.....#
|
|
||||||
.#..##..........#..#...#..##.#.
|
|
||||||
........#........#.....#....#.#
|
|
||||||
..#.......#.###...#.......##...
|
|
||||||
.##..##.#...#........#.........
|
|
||||||
...#....#..#..#..##.......#..#.
|
|
||||||
.#.#.##.##..##..#.#.....#.....#
|
|
||||||
....#.........#........#....##.
|
|
||||||
........#........#....###.#..#.
|
|
||||||
........#....#......##.........
|
|
||||||
.###.##.#.............##.......
|
|
||||||
....#.........#...#.#.##..#....
|
|
||||||
#.............#.#.#.#..#..#..##
|
|
||||||
###...###.###..#........#......
|
|
||||||
##..#.....#....##..##..........
|
|
||||||
.......#...#....#...#...#.....#
|
|
||||||
...#......###...##.###...#...#.
|
|
||||||
#.......#...##..#.......#..#...
|
|
||||||
.....##....#....#..#..#.#.##..#
|
|
||||||
.........#....##.#.#..##.#.....
|
|
||||||
.....#......#.#.#.....#.....#..
|
|
||||||
..#..#...#.#...#.........##.#..
|
|
||||||
.....#..#.................#.#..
|
|
||||||
##.#....##........#......#.....
|
|
||||||
#..#...##...#.#.#..#...........
|
|
||||||
.#..####.....#......#.###......
|
|
||||||
.#.......##............#....#..
|
|
||||||
.#.........##..#.##...#.....###
|
|
||||||
....##.........#.#...####...##.
|
|
||||||
..#.......#......##.....#.#..#.
|
|
||||||
...##....#..#..##....##...#.#.#
|
|
||||||
.................#.............
|
|
||||||
...#.##..#.##..............#...
|
|
||||||
...#......#.........##........#
|
|
||||||
..#.#..##...#.......#.#........
|
|
||||||
.###.#.....#.##.##.#...#...#...
|
|
||||||
.....#.##.....#..#......#..#...
|
|
||||||
.....#.#...#........#..#..#..#.
|
|
||||||
#...#.##.#....#................
|
|
||||||
..#...#.#..#.....#.#.#.........
|
|
||||||
#.#.###...#.....##........##...
|
|
||||||
#..##.##....#..........##.#...#
|
|
||||||
...#..#.#.###...##......#.#....
|
|
||||||
.#..#........##...#......#.#.#.
|
|
||||||
##........###....#.#....#......
|
|
||||||
....#...........#.........#....
|
|
||||||
#.#....#..#.....#.#....#.....#.
|
|
||||||
........###.......#..#.#.#.#.#.
|
|
||||||
..#....#.....#...............##
|
|
||||||
.....#..##....#.#...####.......
|
|
||||||
.#..#.....#..#.....#....#....#.
|
|
||||||
..##....#...........#.#....#...
|
|
||||||
..#.#......#..#.#..#.....###.#.
|
|
||||||
...........................##..
|
|
||||||
##.....#....#......###.#...#..#
|
|
||||||
...#...#.........#..#..#....#..
|
|
||||||
....#####.#.#.#....#..#........
|
|
||||||
.##.#..#.#............###......
|
|
||||||
##.#...##...##....#...#...##...
|
|
||||||
..#.#.....#.......#..##..###.##
|
|
||||||
#..##...........#.##.....#.##..
|
|
||||||
#...#....#...#..##...#.#...#.#.
|
|
||||||
.#..#...........###...#.#...#..
|
|
||||||
.#.....#......#.#......#...#..#
|
|
||||||
.#...##.##...............#....#
|
|
||||||
..#.........#....#.............
|
|
||||||
.#..##..#.#................#...
|
|
||||||
..#.#.#.#.................#.#.#
|
|
||||||
...#..#.#..#.#......#........#.
|
|
||||||
##....#......###.#......#......
|
|
||||||
..#....##.....#..#........#....
|
|
||||||
.#.#....#...#.#.....###..#...#.
|
|
||||||
.#..#...##.....#.#...#.....#.#.
|
|
||||||
...#....#....##....##.....#....
|
|
||||||
.......#...#...##..#.#.......#.
|
|
||||||
.###..#..###.#.#.#.#.#.....##..
|
|
||||||
....#.#......###.#....#....#..#
|
|
||||||
##.....#.....##.#.....#....#...
|
|
||||||
......#...##...#..#.#.....#....
|
|
||||||
...#.........###.....#..##.....
|
|
||||||
....#...#..#....#..#.........##
|
|
||||||
.#........#..#.....#.##.#....#.
|
|
||||||
.......#......#.##...##.#..#...
|
|
||||||
#......#.......##..##..#.#.....
|
|
||||||
..#.##..........#.#..#......#..
|
|
||||||
#.....#.......#......#.........
|
|
||||||
...##......##...........#.#....
|
|
||||||
.#....#........#...#.#..#.....#
|
|
||||||
.#...#...##......##...##...##.#
|
|
||||||
.#.#.##.....##....#.#.#..#.....
|
|
||||||
...#..#........#.....#.#.#####.
|
|
||||||
#..#..#......#....##....##.....
|
|
||||||
.#.............#....###.##.#...
|
|
||||||
.#....#.......#.#.....#......##
|
|
||||||
#..#.#.#........#...#..#...#...
|
|
||||||
#.#.#.....#.......#.##..#.....#
|
|
||||||
..#....#.....#...##.#...##.....
|
|
||||||
......#..#.............###...#.
|
|
||||||
..#...#.#....###...#...........
|
|
||||||
.........#..#..#....#..#.......
|
|
||||||
#....#.....#..#....#.#..##.....
|
|
||||||
.#..#.#.....#...##.....##......
|
|
||||||
.....####..#..#......#....##..#
|
|
||||||
#.#....#....#.##.......#.#.....
|
|
||||||
....#.#.............##..#.#...#
|
|
||||||
....#.#.#.....##.....##..#...#.
|
|
||||||
.#..#...#....#...#.#....#...#..
|
|
||||||
.#..#.#.#.......#...#..........
|
|
||||||
...##..#..#...##.....#.......#.
|
|
||||||
..##...##.#..#.......#.........
|
|
||||||
.##.#.......##...#...#......#.#
|
|
||||||
##.#.#..#...#............#.....
|
|
||||||
..#.##...##..#....##..#......#.
|
|
||||||
...#..........#.....#.#........
|
|
||||||
...#..#..#.......#.#.....##....
|
|
||||||
##.............#.....#.##...#..
|
|
||||||
#.#......#........#...#.##..#.#
|
|
||||||
...#..#...##.#.#........#.#....
|
|
||||||
#.....##...........#....#......
|
|
||||||
...##....#..#.#...#........#...
|
|
||||||
..##..####..#..#...............
|
|
||||||
.#.#..#......#.##.........##.#.
|
|
||||||
.##....#...##.#...#..##..#.....
|
|
||||||
........#........#.###.#.#....#
|
|
||||||
......##...#......#..#..#......
|
|
||||||
..#.......#...#..##........#..#
|
|
||||||
.#....###..###....###...##.#.##
|
|
||||||
#.#....#..#.#...#.#...##...#...
|
|
||||||
..#..##......#..#......####....
|
|
||||||
.#....###.......#...##...#.....
|
|
||||||
...#....#..#.....#..#...####.#.
|
|
||||||
............#.####..##...#..##.
|
|
||||||
.#..#.......#....#...#......#.#
|
|
||||||
.......#.......#..#.#..........
|
|
||||||
...#.#............#..#......#..
|
|
||||||
..#...........#...##......#...#
|
|
||||||
...##......#.........#.#...#.##
|
|
||||||
.#..#..#..#......#...........#.
|
|
||||||
....#.....#.###........#.......
|
|
||||||
..##.#.#........#.#...##....#..
|
|
||||||
.#.#........##....#...#......#.
|
|
||||||
.......#.##..###...............
|
|
||||||
#..#...##.....##........##....#
|
|
||||||
...####........#...#.........##
|
|
||||||
...#..............##..#........
|
|
||||||
......#.....#....#.......#....#
|
|
||||||
..###......#..##.....##....##..
|
|
||||||
##...#.....#..#.#.#...#.....#..
|
|
||||||
...#....#............#.........
|
|
||||||
..#..##...#..#.........#.......
|
|
||||||
.#.#.#...##..........#..###....
|
|
||||||
.......##.#.#.#...#.#...#.....#
|
|
||||||
..#..#..#..#...###.....#.##....
|
|
||||||
.#.#.....#.....##.#..#...###..#
|
|
||||||
.........#..##......##...##.#.#
|
|
||||||
#.........##..#......#..#.#.#..
|
|
||||||
.#..##.#.##......##........#...
|
|
||||||
..#...#.....##..#......#.....##
|
|
||||||
.#..#...#......#..#...#.....##.
|
|
||||||
..#..##...#.....#.....#........
|
|
||||||
....##..#....#.#....#......#.#.
|
|
||||||
..#.......##..#..#.##.#..#...##
|
|
||||||
...#..........#...#..##........
|
|
||||||
..#............#.#......#......
|
|
||||||
.#...##.......#...#.#........#.
|
|
||||||
.#...#....#..#....#....#.#...#.
|
|
||||||
......#..#.#..#..............#.
|
|
||||||
.....#.##.#...............##.##
|
|
||||||
.#...............#.....#..#...#
|
|
||||||
.#..##.......#.#...#..#..#....#
|
|
||||||
..#..###.##........##..........
|
|
||||||
.#....#..##...#.#.........#....
|
|
||||||
.......#.....#....###...##.#.#.
|
|
||||||
##..#.#...##.##.##....##.#.###.
|
|
||||||
#.#...........#..#.#...........
|
|
||||||
....#..#..#..#...#....#.......#
|
|
||||||
........##....#..#......##.#...
|
|
||||||
.#.#..##...##...#....#..#.###..
|
|
||||||
#..##....#..#...#.......##.....
|
|
||||||
..###..#.###......#..####....#.
|
|
||||||
.....#..#........##.#..#.......
|
|
||||||
.#......##..............#.#.#..
|
|
||||||
..#.#.......##...#....#.#.###..
|
|
||||||
#..#..#...###..#...............
|
|
||||||
......#..#.....#..#..#...#.....
|
|
||||||
.#...#..........###..#..#.#....
|
|
||||||
.#......##..#......#.....###..#
|
|
||||||
.......#...#..#....###.....#...
|
|
||||||
#....#.......###.##.....##....#
|
|
||||||
..#.....#..##..#.........##....
|
|
||||||
.....##....#.#......#..........
|
|
||||||
....#...#...#......##.....##.#.
|
|
||||||
........#.#.#......#...........
|
|
||||||
.#....#...#...#....#.....#...#.
|
|
||||||
..............#..##.#.....###.#
|
|
||||||
.#......##.....##...#....#.....
|
|
||||||
.............#.##......#.....#.
|
|
||||||
.#....#.#............#.#..##...
|
|
||||||
.#...##.......#..#...##....#...
|
|
||||||
.#.....#..........#............
|
|
||||||
#.#.#........#.....#..#....##..
|
|
||||||
#....#.##......#...#...........
|
|
||||||
........#.##.....#...##.....#..
|
|
||||||
..#.##....#.##.#...#.#.#....#..
|
|
||||||
......#.......####......#.#...#
|
|
||||||
#...#.##.####......#.....##....
|
|
||||||
.#..#....#.......#...##.....#..
|
|
||||||
................#......#.##....
|
|
||||||
###...##..#.#..........#....#.#
|
|
||||||
#.#..#.....#..##.##.##...#...##
|
|
||||||
..#.......#.......#..##..#..##.
|
|
||||||
......#.##.......#..#.....#...#
|
|
||||||
.##..##..#.#.......#..#......#.
|
|
||||||
....##.#....#...##.#..#.....#.#
|
|
||||||
..#..#.........###.#...........
|
|
||||||
....#.......#....##......#....#
|
|
||||||
..........#...#......#....#...#
|
|
||||||
..#.#....###.....#..#.#.#..#...
|
|
||||||
.....#...##..#.##........####..
|
|
||||||
##.............#....##........#
|
|
||||||
..#..........#..##.#...........
|
|
||||||
##.#.......#.#....#......#.#...
|
|
||||||
........####.....##.#.........#
|
|
||||||
.....#...#.#.....#.##..##.#....
|
|
||||||
........#...#.#.#.#...#......#.
|
|
||||||
.#..#.#....#.#...##.....#..#...
|
|
||||||
.....#.#............#.#.#......
|
|
||||||
....##.#...#...#.##...##.......
|
|
||||||
.........#.##.....#.......#...#
|
|
||||||
...........###....#.#....#...#.
|
|
||||||
.#..#.###......#..#............
|
|
||||||
#...#..#......#.#...#......#...
|
|
||||||
..##.#.#........#........##..##
|
|
||||||
..#.#.##..##....#........#.#.#.
|
|
||||||
...#........###......#.#.....#.
|
|
||||||
#.#.#.##........#.#...#..#.....
|
|
||||||
#..#...............#...#.#...#.
|
|
||||||
.....##......#...#.....#..#....
|
|
||||||
............#...#...#.##.#....#
|
|
||||||
...#..#..#...##.#....#.#..#.#..
|
|
||||||
##.#..#..............##........
|
|
||||||
.#.#..#.#..#....##..#.#.##.##..
|
|
||||||
......######....##.....#.......
|
|
||||||
.#.......#..........#.#..#.#..#
|
|
||||||
..........#.#......#...##......
|
|
||||||
#..........#.#..#.............#
|
|
||||||
...#...#..#....................
|
|
||||||
....#...#.....#.....##.....#...
|
|
||||||
..#....##.....#..#......#......
|
|
||||||
.#.#.....#..##.##..........###.
|
|
||||||
.#.##....#....#....#....#...#..
|
|
||||||
..##.....................##.#..
|
|
||||||
.....#..##....#.#.....##..#....
|
|
||||||
.####...#...##..#.##...#..#....
|
|
||||||
.........#.#...#.......###.....
|
|
||||||
...#..#........#..#..##.....#..
|
|
||||||
..#....#....#....###.....#.....
|
|
||||||
......#....#..#.........#......
|
|
||||||
#.#...#..#..#.#...#..#.#......#
|
|
||||||
..........#..........#.#.##....
|
|
||||||
.#..###..##..#....#.#.....#..#.
|
|
||||||
.##......#..#.##...#.........#.
|
|
||||||
...##...#....#.........#..#....
|
|
||||||
....#..##........#.........#...
|
|
||||||
.........##....#...#.#.....#..#
|
|
||||||
.#..........##...#..#.#..##....
|
|
||||||
#.......#...#...#............#.
|
|
||||||
.....##.#.##.......#.......#...
|
|
||||||
...........#...#.....###.....#.
|
|
||||||
#..................#.##..##...#
|
|
||||||
.........##.............#...#.#
|
|
||||||
#.#.....##...#........###....##
|
|
||||||
...##..#.##.....###.....#......
|
|
||||||
..#...#.#..#......##.#.......#.
|
|
||||||
.........##.#...........###..#.
|
|
||||||
..#...#.....#...#.#.....#..#...
|
|
||||||
.....##..#...#.#.#....#.....###
|
|
||||||
..#.#....#..#..#..#....#.#...#.
|
|
||||||
........##....#......#....#..#.
|
|
||||||
.##..#.....#.#....#..#.###.....
|
|
||||||
..............##.........#.#.#.
|
|
||||||
.##....#.#..#..#...#..........#
|
|
||||||
.....##.......#....#..#......#.
|
|
||||||
...#.#....................#..##
|
|
||||||
#.##..#.#...#...#....#.#....##.
|
|
||||||
...#.#..#.###................#.
|
|
||||||
.....##..#.##.#.#.........#.#..
|
|
||||||
.................##..........#.
|
|
||||||
..#......#........#.#....#.....
|
|
||||||
#......##......#......###....#.
|
|
||||||
....##....#..#..####......#...#
|
|
||||||
.##.##.........#...#..#....#.#.
|
|
||||||
.#..#....##...##..#...........#
|
|
||||||
#...#......#...#...........#...
|
|
||||||
...#...####.............##..#..
|
|
||||||
.....#....##............##....#
|
|
||||||
......##.#...##...........#.#..
|
|
||||||
..#......##.....###.......#.###
|
|
||||||
...#...#......#...##.#........#
|
|
||||||
.#.........##.##......##.......
|
|
||||||
....................#....#....#
|
|
||||||
.#.#.#........##.#....#.....#..
|
|
||||||
#.#.....####..#.........#.#.#..
|
|
||||||
...####..#..............#.#....
|
|
||||||
....#.#....#..........#....#...
|
|
||||||
.#..#..#.#...#..#.#............
|
|
||||||
.#.#.......##........##.....#..
|
|
||||||
#.#.##..#.....##......##....#.#
|
|
||||||
......#...#...#...#......#.....
|
|
||||||
.........##..#.....#.####.#.#..
|
|
||||||
.....#....#.###...#.###.#..#..#
|
|
||||||
..#.#..#..#.......#.......##...
|
|
||||||
.....#.........#......##.#....#
|
|
||||||
..#.#.##....#.#...............#
|
|
||||||
.....#..#....##......##..###...
|
|
||||||
1000
src/files/P4.txt
1000
src/files/P4.txt
File diff suppressed because it is too large
Load Diff
901
src/files/P5.txt
901
src/files/P5.txt
@@ -1,901 +0,0 @@
|
|||||||
BBFBBBBRRL
|
|
||||||
FBFFFFBLRL
|
|
||||||
FBFBBFFRLR
|
|
||||||
FBFFFBFRLR
|
|
||||||
FFBBFFFLRR
|
|
||||||
FFBBBFFRRR
|
|
||||||
BFBBFBFLRL
|
|
||||||
BFFFBFFLRR
|
|
||||||
FBBBFFBLLR
|
|
||||||
BBFFBBFRRL
|
|
||||||
BFBBBBBRLR
|
|
||||||
FBBBBFFLLR
|
|
||||||
FFBFFFBLLR
|
|
||||||
FFBBFBFRRR
|
|
||||||
BBFBFFFRRR
|
|
||||||
FFBFFBBLLR
|
|
||||||
FBBFFBBLRL
|
|
||||||
FFBBBFBLLL
|
|
||||||
FFBFFBBLRR
|
|
||||||
FBFFBFBLLR
|
|
||||||
FFFBBBFLLL
|
|
||||||
BFBBFBFRLR
|
|
||||||
BBFBBBFLLL
|
|
||||||
FBBBFBBRLL
|
|
||||||
FFBBBBFRRL
|
|
||||||
BFBBBBFLRR
|
|
||||||
BBFBBFBLRL
|
|
||||||
FFBFFFBLRL
|
|
||||||
BFBBBBBRRR
|
|
||||||
FFFBFBFLLR
|
|
||||||
BFBFBBBLLR
|
|
||||||
FFBFBBBLRL
|
|
||||||
FFFBFBBLRR
|
|
||||||
BFFBFFFLLL
|
|
||||||
BFFFBFBLRL
|
|
||||||
BFBFFFBRLL
|
|
||||||
BBFFFFBRLR
|
|
||||||
FBBFFFBLRR
|
|
||||||
BFFFFBFLLL
|
|
||||||
BBBFFFFLLL
|
|
||||||
BFBFFBBRLL
|
|
||||||
BBFBFFFRRL
|
|
||||||
BFBBFFFRLR
|
|
||||||
BBFBFBFRRL
|
|
||||||
FBBFFBFRRL
|
|
||||||
BFBFBFFRRL
|
|
||||||
FFBFFFFLLR
|
|
||||||
FBBBFBBLLR
|
|
||||||
BBFFBFBRLL
|
|
||||||
BFFBFBBRLL
|
|
||||||
FBBFFFFRRR
|
|
||||||
BFFFBBBLRL
|
|
||||||
FFBBFFBLLL
|
|
||||||
FFFBBFFRRL
|
|
||||||
FBFBBBBLRR
|
|
||||||
FFBBBFFLLL
|
|
||||||
FBFBFFBRRR
|
|
||||||
FBBFFBBLLR
|
|
||||||
FBFFBFFRLL
|
|
||||||
BFBBBFFRLR
|
|
||||||
FBFFBBBLRR
|
|
||||||
FBFFFFBRLR
|
|
||||||
BBFFBBFLRL
|
|
||||||
FBFFBBFLRL
|
|
||||||
FBFBBFFRRR
|
|
||||||
BFBBBFBLRL
|
|
||||||
FBFBFFFLLR
|
|
||||||
FFFFBBBLLR
|
|
||||||
BFBFFBBLLR
|
|
||||||
BFFBBBFRLR
|
|
||||||
BFBBBFFLRR
|
|
||||||
BBFFFBBLLR
|
|
||||||
BFFFBBFLRL
|
|
||||||
FBFFBFBLRL
|
|
||||||
FBBBFFFRRL
|
|
||||||
FBFFFFBLLL
|
|
||||||
BFBFFBBRLR
|
|
||||||
BFBFBBBLRL
|
|
||||||
BFFBFBBRLR
|
|
||||||
FBBFBBBLLR
|
|
||||||
FFBFBFFRLL
|
|
||||||
FFFBBBBLRR
|
|
||||||
BFBFFFFLLL
|
|
||||||
BBFBFBBLLR
|
|
||||||
BFFFBBBRLR
|
|
||||||
FFBFFBFRLR
|
|
||||||
FBBFBBBLRL
|
|
||||||
BBFFFBBLLL
|
|
||||||
FFBFFBBRRR
|
|
||||||
FBBBBFBLLR
|
|
||||||
BBFBBFFRLL
|
|
||||||
BFBBBBFRLR
|
|
||||||
BBFBFFBRLR
|
|
||||||
FFBFFFFLLL
|
|
||||||
BBFBFBFRLL
|
|
||||||
FFBFFBBRLL
|
|
||||||
FBBFFFFRLR
|
|
||||||
FFBBBBBRRR
|
|
||||||
BBFFBBBLRL
|
|
||||||
BFFBBFBRLL
|
|
||||||
BFFFBBFRLL
|
|
||||||
BFFBFBFLRL
|
|
||||||
FBFFFFFRRR
|
|
||||||
BFFBFBBRRL
|
|
||||||
FBFBBBFLLR
|
|
||||||
FBFBFBBRLL
|
|
||||||
BBBFFFFRRR
|
|
||||||
BFBFBFFLRL
|
|
||||||
FFFFBFBRLL
|
|
||||||
FFBBFFBLRL
|
|
||||||
BBFFBFBLLL
|
|
||||||
BFFBBBBRLL
|
|
||||||
BFFBBBBRRR
|
|
||||||
BFBBBBFRRL
|
|
||||||
BBBFFFBLRL
|
|
||||||
FFBBFFFRRR
|
|
||||||
BFFFFFBRLR
|
|
||||||
FFFBBFBLLL
|
|
||||||
BFBFBBFRLR
|
|
||||||
FBBBFBFLRL
|
|
||||||
BFBFBFFRLR
|
|
||||||
BBFBBFFLRL
|
|
||||||
BFFFBFBLLL
|
|
||||||
BFFFFBBRLL
|
|
||||||
FFBFFFFRRL
|
|
||||||
BFFBFBBLLR
|
|
||||||
FFFFBBBLLL
|
|
||||||
FBBFFBBRRL
|
|
||||||
BFBFFFFLLR
|
|
||||||
FBFBFBFRLL
|
|
||||||
FBBBBBBLRR
|
|
||||||
BBFFFFBLRR
|
|
||||||
FFFFBFBRRR
|
|
||||||
FBBBBFBRLL
|
|
||||||
BBFBFBBLRR
|
|
||||||
FFBBFBFLLL
|
|
||||||
BFBBFFBLRL
|
|
||||||
FFFBBBBRRR
|
|
||||||
BFBBFFFRLL
|
|
||||||
BFBBBFBRRR
|
|
||||||
FFFFBBFRLR
|
|
||||||
FFBBFBFLRR
|
|
||||||
FFFFFBBLLR
|
|
||||||
BBFBBFBRLL
|
|
||||||
FBFBBBBRLR
|
|
||||||
BBFFFFBLRL
|
|
||||||
FBBFFFBLLR
|
|
||||||
FFBFFBBLLL
|
|
||||||
FFFBBBFLLR
|
|
||||||
FFFBBBFRRR
|
|
||||||
FFBBBFBRRR
|
|
||||||
FFFBBFFRRR
|
|
||||||
FFBBFFBLLR
|
|
||||||
BFBFFBFRRR
|
|
||||||
FFBFBBFLLR
|
|
||||||
BFFFFFFRRR
|
|
||||||
FFBFFBFLRL
|
|
||||||
BFFBFBBRRR
|
|
||||||
FBFBFFFRLL
|
|
||||||
BBBFFFBLLL
|
|
||||||
BFBBFBFRRL
|
|
||||||
BFFFFFBLRR
|
|
||||||
FBBBBBFRRR
|
|
||||||
FFBBBBFLRR
|
|
||||||
BBFBBBBLRR
|
|
||||||
BBFBFBFLLR
|
|
||||||
FFFFBBFRRR
|
|
||||||
FFBBBBBLLR
|
|
||||||
BFFFBFBRLR
|
|
||||||
FBBBFFBLLL
|
|
||||||
FFFFFFFRRR
|
|
||||||
FFFBFBFRRL
|
|
||||||
BFBBFBBLRR
|
|
||||||
FBBBBFBLRL
|
|
||||||
FBBBBFBRRR
|
|
||||||
BFFFFBFRRR
|
|
||||||
BFFBBFFLLL
|
|
||||||
FBBFBFBLRL
|
|
||||||
BFBBFFFRRL
|
|
||||||
FBFBFFBRLR
|
|
||||||
FBFFBFFLRR
|
|
||||||
BFFFBFBLLR
|
|
||||||
BFBBFFBRRR
|
|
||||||
BBFBBFBLLL
|
|
||||||
BFFBFFFLRR
|
|
||||||
FFFBBFFRLL
|
|
||||||
BFBBFFFLLL
|
|
||||||
BFFFBBBRLL
|
|
||||||
FBFFBBFRRR
|
|
||||||
FFBFBFBLLR
|
|
||||||
FBFFFFBLRR
|
|
||||||
FFBBFFFLLL
|
|
||||||
FFFBBBBRRL
|
|
||||||
BBFBFFFLLL
|
|
||||||
BBFFBBFLLR
|
|
||||||
BFBFBBBRRR
|
|
||||||
FBBBBFBRRL
|
|
||||||
FBFFFBFLLR
|
|
||||||
FBFBBBFRRR
|
|
||||||
BFFFBFBRRL
|
|
||||||
FBFBBBFLRL
|
|
||||||
BBFFBFFLRL
|
|
||||||
BBFBBFFLLR
|
|
||||||
FFFFBFFRLL
|
|
||||||
FFFBBBBLRL
|
|
||||||
FBBBFBFRLL
|
|
||||||
BBFFFBBLRL
|
|
||||||
FFFBFFBLRR
|
|
||||||
BBFBFBBRRL
|
|
||||||
FFFFBBBRRR
|
|
||||||
FFBBBBBLRL
|
|
||||||
FFFFFFBLLL
|
|
||||||
FBFFFFFRRL
|
|
||||||
FFFFFBBLRR
|
|
||||||
BFFFBBBRRL
|
|
||||||
FBBFFFFLRL
|
|
||||||
FFFFFBBRLR
|
|
||||||
FFBFFBFRLL
|
|
||||||
FFFBBBFRRL
|
|
||||||
BFBBBFFLRL
|
|
||||||
FFFFFBFLRR
|
|
||||||
BFBFBBBRLR
|
|
||||||
FBFBBBFLLL
|
|
||||||
BFBFFBFLRL
|
|
||||||
FFBFBFFRRR
|
|
||||||
FFBBFFFRLL
|
|
||||||
BFBFBFFLLL
|
|
||||||
FBFBFBBRLR
|
|
||||||
BFFBBBFRRL
|
|
||||||
FBFFBBBRRR
|
|
||||||
FBFBFBBLRR
|
|
||||||
BFBBBBFLLR
|
|
||||||
FFFBFFFRLR
|
|
||||||
BFBBFFBRRL
|
|
||||||
BFFFBFFLRL
|
|
||||||
BFBFBBFRRR
|
|
||||||
FBBFFBFLLL
|
|
||||||
FFFFFFBLRR
|
|
||||||
FBFFBFBLRR
|
|
||||||
FFBBBFFLRR
|
|
||||||
FBBBFFBRLL
|
|
||||||
BFFFBBBRRR
|
|
||||||
FFBFFFFRLL
|
|
||||||
BBFFFBFRRR
|
|
||||||
BFFBFBBLLL
|
|
||||||
BFBBFFBRLR
|
|
||||||
FFBFBBBLRR
|
|
||||||
FFFBFBBLLL
|
|
||||||
FFFBBFFLLL
|
|
||||||
FBBBBBBLRL
|
|
||||||
BFBFBBBLLL
|
|
||||||
BFBFFFFRRL
|
|
||||||
FFBFBBFRRR
|
|
||||||
FFBFBFBRRL
|
|
||||||
FFFBBBBRLL
|
|
||||||
BFFBFFBRLL
|
|
||||||
BBFFFFBRRL
|
|
||||||
FFBFBFBLLL
|
|
||||||
FFBFBFBRLL
|
|
||||||
FBFBBBFRRL
|
|
||||||
FBFFBBFRLR
|
|
||||||
BBBFFFFLRL
|
|
||||||
FBFBFFFRRL
|
|
||||||
FFFBFBFRLR
|
|
||||||
FBFBFBBRRL
|
|
||||||
BFBBFBBLLL
|
|
||||||
FFBBBBBRLL
|
|
||||||
BBFFBFBRRL
|
|
||||||
FFFBFFFRRR
|
|
||||||
FBBFBFBLLL
|
|
||||||
BFFFBFFRLR
|
|
||||||
FBFBFFBRLL
|
|
||||||
BBFBBFFLLL
|
|
||||||
FBBBBFFLRR
|
|
||||||
FFBBBFFLRL
|
|
||||||
FBBBFFBRRR
|
|
||||||
FFBBFBBRLR
|
|
||||||
FBFBBFFLLR
|
|
||||||
BFBBBFFLLR
|
|
||||||
FFFBBFFLRR
|
|
||||||
FBFFBFFLRL
|
|
||||||
BFBFBFFLRR
|
|
||||||
BBFBFFFLLR
|
|
||||||
FFFBBBBLLR
|
|
||||||
FFBBFFBRLL
|
|
||||||
BBBFFFBRLL
|
|
||||||
FBFFBFBRRL
|
|
||||||
BFBFFFFRLL
|
|
||||||
FBFBFBFRLR
|
|
||||||
BBFFFFFLLL
|
|
||||||
FFBFBBBLLR
|
|
||||||
FFBFBFFLRR
|
|
||||||
FBBBBFBRLR
|
|
||||||
FFBFBBBRLR
|
|
||||||
BFFBBBBLRL
|
|
||||||
FFBBBBBRLR
|
|
||||||
BFBBBFFRRR
|
|
||||||
FBFBBFBRLL
|
|
||||||
FFBFFFBRRL
|
|
||||||
BBFBFBFLLL
|
|
||||||
BFBBBFBRLR
|
|
||||||
BFBBFBFLLR
|
|
||||||
FBBFBFFRLL
|
|
||||||
FFBFBBFLRR
|
|
||||||
BFFBFBFRLL
|
|
||||||
FFBBFBBLRL
|
|
||||||
FBFBFBBLRL
|
|
||||||
BBFFFBFLLR
|
|
||||||
BFBFBBBLRR
|
|
||||||
BBFFBBBLLR
|
|
||||||
BBFFFFBRRR
|
|
||||||
BFFFFFBLRL
|
|
||||||
FBBBFBBRRR
|
|
||||||
BFBFFFBLLL
|
|
||||||
FFFBBFFLLR
|
|
||||||
BFFBBFFLLR
|
|
||||||
BBFBBBBLRL
|
|
||||||
FBBFBFFLRR
|
|
||||||
FBFBFFBLLR
|
|
||||||
BFFFFFFLLL
|
|
||||||
BFFBBFFRLL
|
|
||||||
BBFFFFFLLR
|
|
||||||
FBFFBBFRRL
|
|
||||||
FBBFFFFLLR
|
|
||||||
BFBFFBBRRL
|
|
||||||
FFBFFFBLLL
|
|
||||||
BFFFFFBLLR
|
|
||||||
FFBBBFBRRL
|
|
||||||
FFBBBBFLLR
|
|
||||||
BFBFFFBLLR
|
|
||||||
FFFFBFFRLR
|
|
||||||
BFBBFFBRLL
|
|
||||||
FFBBBBBLLL
|
|
||||||
FBBFBFFRRR
|
|
||||||
BFFFFFFLLR
|
|
||||||
FFBBBBBLRR
|
|
||||||
FFFFFBFRRR
|
|
||||||
BFFFBBBLLL
|
|
||||||
BFFFBFFRRR
|
|
||||||
FFBBBFBRLR
|
|
||||||
BFFBBBBLRR
|
|
||||||
BFBBBFFRRL
|
|
||||||
BFBFBFFRRR
|
|
||||||
BFBBFBBRLR
|
|
||||||
BFBBBBFRLL
|
|
||||||
FFBBBBFLLL
|
|
||||||
FFFBBFBLRR
|
|
||||||
FBBFBBFRLR
|
|
||||||
BBFBBFFLRR
|
|
||||||
FBBFBBBRRL
|
|
||||||
BFFBFFFRRL
|
|
||||||
BFFFFBFLRR
|
|
||||||
FFBFBBFLLL
|
|
||||||
FFBFBBBLLL
|
|
||||||
FBFFBFBRRR
|
|
||||||
FFFBFFBRLL
|
|
||||||
BFFFFBFLRL
|
|
||||||
FFFFBFFLLR
|
|
||||||
BBFBBBBRLL
|
|
||||||
FBFBBFBRRR
|
|
||||||
BFFFBBBLRR
|
|
||||||
FBFFFBFRLL
|
|
||||||
FFBBBFBLRL
|
|
||||||
FBFFFBBLRR
|
|
||||||
FFBBFBFRLR
|
|
||||||
FBBBBBFLRL
|
|
||||||
FFFFBFBLRR
|
|
||||||
BFBFBFBLRR
|
|
||||||
FFBBFFFLRL
|
|
||||||
BFFBBBFLLR
|
|
||||||
FFFFFFBRLR
|
|
||||||
FFBBBFBLRR
|
|
||||||
FBFBBFFRLL
|
|
||||||
BBFBFBFRLR
|
|
||||||
FBBFFFFLLL
|
|
||||||
BFBBFBFRRR
|
|
||||||
BFFBBBFRRR
|
|
||||||
FBFFFBFLRR
|
|
||||||
FBBFFBFLRL
|
|
||||||
BFBBFFFLRR
|
|
||||||
FFBFFFFLRL
|
|
||||||
BFFBFFBLLL
|
|
||||||
FFFBFBBRRR
|
|
||||||
BBFFBFFLRR
|
|
||||||
BBBFFFFRRL
|
|
||||||
FBBBFFBLRL
|
|
||||||
FBBFFBBLRR
|
|
||||||
FFBFBFFLLR
|
|
||||||
FFFBBFFRLR
|
|
||||||
FBBBFBBRLR
|
|
||||||
FFFFBBBLRR
|
|
||||||
BBFFBFBRRR
|
|
||||||
FBFBBFFLRL
|
|
||||||
FBBBBFFLLL
|
|
||||||
FFBFFBBRLR
|
|
||||||
BBFFFFFLRR
|
|
||||||
FFBFBFBRLR
|
|
||||||
FFBFBFBLRL
|
|
||||||
FBBBFBBLRL
|
|
||||||
FFFBFBBLRL
|
|
||||||
FBFBFFFRRR
|
|
||||||
BFFBFFFRLR
|
|
||||||
BFBBFFBLLR
|
|
||||||
BFBFFBFRLL
|
|
||||||
FBFBFBFRRR
|
|
||||||
FBFFFFBRLL
|
|
||||||
FFFFFBBRRR
|
|
||||||
FBBBFFFLRL
|
|
||||||
FFFBFFBRLR
|
|
||||||
BFBFFBFLRR
|
|
||||||
FBBFBBFRRL
|
|
||||||
BFBBBBFRRR
|
|
||||||
BFFFFBBLRR
|
|
||||||
FBFFFFFLLL
|
|
||||||
BFBFFFBRRL
|
|
||||||
FFFBFFBLRL
|
|
||||||
FFBFFFBLRR
|
|
||||||
FBBFFBFRLL
|
|
||||||
BBFBFFBLLL
|
|
||||||
BBFFBBFLLL
|
|
||||||
FFBBBFFRLL
|
|
||||||
BFBBFFFLRL
|
|
||||||
FBBFBFFLLR
|
|
||||||
FBFBFFBLLL
|
|
||||||
FFBBBFFLLR
|
|
||||||
FBBFFBFLRR
|
|
||||||
FBBFBBFRRR
|
|
||||||
BFFFFBBLLL
|
|
||||||
FFFBFFBLLR
|
|
||||||
FBFBFFFRLR
|
|
||||||
FBFBFBBRRR
|
|
||||||
FBFBBFBRRL
|
|
||||||
BBFBBFBRRR
|
|
||||||
FFFFBBBRLL
|
|
||||||
FBFFBBBLRL
|
|
||||||
BBBFFFFRLL
|
|
||||||
FBFFFBFLRL
|
|
||||||
BFFFFBFLLR
|
|
||||||
FBFBBFFRRL
|
|
||||||
BFFBFBBLRR
|
|
||||||
FBFBBBBRRL
|
|
||||||
FBFBFBBLLR
|
|
||||||
FBFFBBFLRR
|
|
||||||
FFFFBFFLLL
|
|
||||||
BFBFFFFRRR
|
|
||||||
BBFFBBBLRR
|
|
||||||
FBFFFFFLLR
|
|
||||||
BBFBFFFRLR
|
|
||||||
BFFFFBBRLR
|
|
||||||
FBFFFFFLRL
|
|
||||||
FBBBFBBLRR
|
|
||||||
BFFBBFBLLL
|
|
||||||
BFFBFBBLRL
|
|
||||||
BFFBBBFRLL
|
|
||||||
FFBFFBFRRR
|
|
||||||
BFBFBFBRLL
|
|
||||||
BBFBBFBLLR
|
|
||||||
FBFBBFBLRL
|
|
||||||
FBFFFBBRLR
|
|
||||||
BBFBFFBRLL
|
|
||||||
BBFFFBFRLR
|
|
||||||
FBBFFFBLLL
|
|
||||||
BBFBBBBLLL
|
|
||||||
BFFFFFFLRR
|
|
||||||
FBBBBBFRLL
|
|
||||||
BFFFBFBRRR
|
|
||||||
BFFFFFFLRL
|
|
||||||
FBBBBFBLRR
|
|
||||||
FBFFBBBRLR
|
|
||||||
FFBBFBFRRL
|
|
||||||
FFBBFBBRRL
|
|
||||||
FFFBFBFRRR
|
|
||||||
FFBBBBFLRL
|
|
||||||
BFBBFFFRRR
|
|
||||||
FBFBBBBRLL
|
|
||||||
FBFFBBFRLL
|
|
||||||
FFBFFFFRRR
|
|
||||||
BFFFFBBLLR
|
|
||||||
FBFBBFBLLR
|
|
||||||
BBFFBBBRRR
|
|
||||||
FBBFBBBRLR
|
|
||||||
BFBFBFFRLL
|
|
||||||
BFFBBFBLRL
|
|
||||||
BFFBFFFRRR
|
|
||||||
FFBBBFBRLL
|
|
||||||
FBFFBFFRRL
|
|
||||||
FBBBBFFRRR
|
|
||||||
FFFBBBFRLL
|
|
||||||
BBFFFBBRLL
|
|
||||||
BBFFFBBRLR
|
|
||||||
FFBBFFFRRL
|
|
||||||
BBFFBFBLRR
|
|
||||||
BBFBFFBRRR
|
|
||||||
BFBBBBBLRR
|
|
||||||
BFFBBFFLRL
|
|
||||||
BBFFFFBLLL
|
|
||||||
FFFFBFBRRL
|
|
||||||
FBBFFBBRRR
|
|
||||||
FBBBFFFLRR
|
|
||||||
FBBFBBFLRR
|
|
||||||
FBBBFBBLLL
|
|
||||||
FFFFBBFLRL
|
|
||||||
FFFFFBBLLL
|
|
||||||
BFBBBBBLLR
|
|
||||||
BFBFFFFLRR
|
|
||||||
FBFFFFBLLR
|
|
||||||
BBFFBBBRLL
|
|
||||||
FBFFBFFRRR
|
|
||||||
FFBBFBFLLR
|
|
||||||
BBFBBBFLRR
|
|
||||||
FBBBBBBRLL
|
|
||||||
FFFFFFBLLR
|
|
||||||
FFFFFBFRLR
|
|
||||||
FBFFBFBRLL
|
|
||||||
BBFFBFFRRR
|
|
||||||
BFFBFFFLLR
|
|
||||||
FFBBFBBLRR
|
|
||||||
BBFFBBBRLR
|
|
||||||
FFBBFFBRRL
|
|
||||||
FBBBBFFRRL
|
|
||||||
BFBFFFFRLR
|
|
||||||
BFBBBFBLLL
|
|
||||||
BFBFFFBRRR
|
|
||||||
FBBBFFFRLR
|
|
||||||
BFBBFFBLRR
|
|
||||||
BBFBBFFRLR
|
|
||||||
BBFFFBBRRR
|
|
||||||
FFFFBBBRRL
|
|
||||||
FFBFBBFRLL
|
|
||||||
FBFFFFBRRL
|
|
||||||
FBBBFFBRLR
|
|
||||||
FFBFFFBRRR
|
|
||||||
FBBBBBBLLL
|
|
||||||
BFFBFFBLRL
|
|
||||||
FBFFBBBRLL
|
|
||||||
BBFBBBFRLR
|
|
||||||
BFBFBFBRLR
|
|
||||||
BBFFFFBRLL
|
|
||||||
FFBBFBBLLR
|
|
||||||
FFBBFFBRLR
|
|
||||||
BBFBBBBRLR
|
|
||||||
BFBBBFBLLR
|
|
||||||
FFFFBFFRRR
|
|
||||||
BBFFFBFRRL
|
|
||||||
FBBFBBBLLL
|
|
||||||
FFFBFFFLRL
|
|
||||||
BFFFFBBRRR
|
|
||||||
FFFBFBFLRL
|
|
||||||
BBFFBBFRRR
|
|
||||||
FBBFFFFLRR
|
|
||||||
FFFBBBFLRL
|
|
||||||
BFFBBBFLLL
|
|
||||||
BFBBFFBLLL
|
|
||||||
FFFFFFBLRL
|
|
||||||
FBFFBFFLLL
|
|
||||||
FBBBBBBRRR
|
|
||||||
FBBFFBBRLR
|
|
||||||
BFFFBBBLLR
|
|
||||||
BBFBBBBRRR
|
|
||||||
BFBFBFFLLR
|
|
||||||
BFBFFBFRLR
|
|
||||||
FBBBFFFRRR
|
|
||||||
FFBFBBFRLR
|
|
||||||
FFFFFBFRLL
|
|
||||||
FFBFBBBRRR
|
|
||||||
BFBFFBBLLL
|
|
||||||
FBBBBBFRLR
|
|
||||||
FFBBFBBLLL
|
|
||||||
BFBFFBBLRL
|
|
||||||
FBBFBFBRRL
|
|
||||||
BFFBBBBRRL
|
|
||||||
FBBFFFBLRL
|
|
||||||
FBBFBFBLLR
|
|
||||||
FBBFBBBLRR
|
|
||||||
BFBBBFBRRL
|
|
||||||
FBBBFBFLLL
|
|
||||||
BFFFBFFLLR
|
|
||||||
FBBBFBFLRR
|
|
||||||
FFBFFBBLRL
|
|
||||||
BBFBBBBLLR
|
|
||||||
BFFFBFFLLL
|
|
||||||
FBFFFFFLRR
|
|
||||||
BBFBFBBLRL
|
|
||||||
BFBFBBFRRL
|
|
||||||
FBFBFFBLRR
|
|
||||||
BFFFFFFRRL
|
|
||||||
BFFFFBFRLR
|
|
||||||
BFBBFBBRLL
|
|
||||||
BBFFFFFRLL
|
|
||||||
FFBBFFFLLR
|
|
||||||
FFFBFFFLRR
|
|
||||||
FFFBFFBRRR
|
|
||||||
BBFBFFBLLR
|
|
||||||
BFFBFFFRLL
|
|
||||||
FBFBFFBRRL
|
|
||||||
BFBBBFFLLL
|
|
||||||
BBFFBFBLRL
|
|
||||||
FBFBBFFLRR
|
|
||||||
FBBFBBBRRR
|
|
||||||
FFFBBFBRLL
|
|
||||||
FBBFBFBRRR
|
|
||||||
BFFFBBFLLL
|
|
||||||
FBBBFFBLRR
|
|
||||||
BFBFFBBRRR
|
|
||||||
FFFFFFBRLL
|
|
||||||
BBFFFBFLRL
|
|
||||||
BFBFBFBRRR
|
|
||||||
BFFFBBFRLR
|
|
||||||
BFBFFFBLRR
|
|
||||||
FFFBFFBRRL
|
|
||||||
BBFFFBBRRL
|
|
||||||
BFBBBFBRLL
|
|
||||||
BFBFFFBLRL
|
|
||||||
FFFBFFFLLR
|
|
||||||
BFFBFFFLRL
|
|
||||||
BBFBBFBLRR
|
|
||||||
FBBBFBBRRL
|
|
||||||
FBBFBFFRLR
|
|
||||||
FBFFFFFRLR
|
|
||||||
FBBBBFFRLR
|
|
||||||
BFBFBBFRLL
|
|
||||||
BBFBFBFRRR
|
|
||||||
BFBFBFBRRL
|
|
||||||
FBBBBBBRLR
|
|
||||||
BFBFBBFLLR
|
|
||||||
BFFFBBFRRL
|
|
||||||
BBBFFFFRLR
|
|
||||||
BBBFFFBLLR
|
|
||||||
FBFBBBFLRR
|
|
||||||
FBFFFBBLRL
|
|
||||||
FBFFBBBLLR
|
|
||||||
BFBFBBFLRR
|
|
||||||
BFBBFBBLRL
|
|
||||||
BFFFFFBRRL
|
|
||||||
FFBBFFFRLR
|
|
||||||
BFFBBFFRLR
|
|
||||||
BFBFBFBLRL
|
|
||||||
BFFBFBFRLR
|
|
||||||
FFBBFFBRRR
|
|
||||||
BFBBBBBLLL
|
|
||||||
BBFFFFFRRL
|
|
||||||
BBFFFFFLRL
|
|
||||||
FFFBBFFLRL
|
|
||||||
BFBBFBFRLL
|
|
||||||
FFFBBBBLLL
|
|
||||||
FFFFFBFLRL
|
|
||||||
FFFFBBFLRR
|
|
||||||
FBFFFBFRRR
|
|
||||||
BFFBBBBLLL
|
|
||||||
BBFBBFFRRL
|
|
||||||
BFFFBBFLLR
|
|
||||||
FBBBFFFLLL
|
|
||||||
FFBFFBBRRL
|
|
||||||
BFBBBFBLRR
|
|
||||||
BFFBBBFLRL
|
|
||||||
BFBBBBBRLL
|
|
||||||
FFFBBBFRLR
|
|
||||||
FFFFBFFRRL
|
|
||||||
FFBFBFFLLL
|
|
||||||
BBFBFFFLRL
|
|
||||||
BFFFBBFLRR
|
|
||||||
FFFBFBFRLL
|
|
||||||
BFBFFBBLRR
|
|
||||||
FFFBFBBLLR
|
|
||||||
BBFFFFFRLR
|
|
||||||
FFBFBFFRRL
|
|
||||||
FFFFFBBLRL
|
|
||||||
FBBBFBFRRL
|
|
||||||
FBBBBFBLLL
|
|
||||||
FFFFBBBRLR
|
|
||||||
FBBBBFFLRL
|
|
||||||
BFBBBBBRRL
|
|
||||||
BBFFBFBLLR
|
|
||||||
FBFBFFFLRL
|
|
||||||
FBFFFBFRRL
|
|
||||||
FFFBBFBLRL
|
|
||||||
BFFFFFBLLL
|
|
||||||
BFFBFBFLLL
|
|
||||||
FFFFBBFRRL
|
|
||||||
FFFBFBBRLR
|
|
||||||
FBFBBBBRRR
|
|
||||||
FBFFBBBLLL
|
|
||||||
FFBBBBFRRR
|
|
||||||
BFFFFBFRLL
|
|
||||||
BBFBFBBRLR
|
|
||||||
BFFBBBFLRR
|
|
||||||
FBBFBFFRRL
|
|
||||||
FFFFFBFLLL
|
|
||||||
BBFBFBFLRR
|
|
||||||
FFBFBBFLRL
|
|
||||||
BFFBBFBRLR
|
|
||||||
FFBBBFFRLR
|
|
||||||
FFFBBFBRLR
|
|
||||||
FBFBBBBLLR
|
|
||||||
BFFBBBBLLR
|
|
||||||
BBFBFBFLRL
|
|
||||||
BBFFFFFRRR
|
|
||||||
FFFBFFFRRL
|
|
||||||
FBBFFBFRRR
|
|
||||||
BBFFBFFRLL
|
|
||||||
FFBBFBFRLL
|
|
||||||
FFFFBFBLLR
|
|
||||||
BBFFBBFRLL
|
|
||||||
BFBBBBFLRL
|
|
||||||
FBFFBFFRLR
|
|
||||||
BFBFBBFLLL
|
|
||||||
FFFFBBFLLL
|
|
||||||
BFBBBBBLRL
|
|
||||||
FFBFBFBLRR
|
|
||||||
BFFFFFBRRR
|
|
||||||
FBFBBBBLRL
|
|
||||||
FBBFBBFLLR
|
|
||||||
FBBFFFFRRL
|
|
||||||
FBFFFBFLLL
|
|
||||||
FBFFBBBRRL
|
|
||||||
FFBFFFFRLR
|
|
||||||
FBBFBBBRLL
|
|
||||||
FFFFBFBRLR
|
|
||||||
FFBFBBBRRL
|
|
||||||
BFFBFBFRRL
|
|
||||||
FFBFFBFLLL
|
|
||||||
BFFBFBFLRR
|
|
||||||
BBFBFFBLRL
|
|
||||||
BBFFBFFLLR
|
|
||||||
BFBBBBFLLL
|
|
||||||
BBFBBFFRRR
|
|
||||||
BBFFFBBLRR
|
|
||||||
BFBFFBFRRL
|
|
||||||
FBBFBFBLRR
|
|
||||||
BBFBBBFRRR
|
|
||||||
FFFBBFBLLR
|
|
||||||
FFFBFFFLLL
|
|
||||||
FBBBFBFLLR
|
|
||||||
BFBBFBFLLL
|
|
||||||
BFBFBFBLLL
|
|
||||||
BBFFBBFLRR
|
|
||||||
FFFBFBFLRR
|
|
||||||
BFFFFFFRLR
|
|
||||||
BBFBFBBRRR
|
|
||||||
BBFFFBFRLL
|
|
||||||
FFFFBBFRLL
|
|
||||||
FBBFBBFRLL
|
|
||||||
FBFFFFBRRR
|
|
||||||
FBFFBBFLLR
|
|
||||||
BFFBFFBLLR
|
|
||||||
FFBFFBFLRR
|
|
||||||
FBFFBFBRLR
|
|
||||||
FBFBBFFLLL
|
|
||||||
FBBFFFBRRL
|
|
||||||
FBFBFBFRRL
|
|
||||||
FFBFBFBRRR
|
|
||||||
FBFBFBFLRL
|
|
||||||
FFFBFBBRLL
|
|
||||||
FBBBFFFLLR
|
|
||||||
FFBBBBFRLL
|
|
||||||
FBFFFBBRLL
|
|
||||||
BFFBFFBLRR
|
|
||||||
FBBFBBFLRL
|
|
||||||
FBFFFBBRRR
|
|
||||||
FBFFFBBLLR
|
|
||||||
BFFBFFBRRR
|
|
||||||
FBBBFBFRRR
|
|
||||||
FBFFFFFRLL
|
|
||||||
BBFBBBFRLL
|
|
||||||
FFFBFFBLLL
|
|
||||||
FFBFFFFLRR
|
|
||||||
FBFFFBBRRL
|
|
||||||
BBFFBFFRLR
|
|
||||||
FBFBFBBLLL
|
|
||||||
FBBBBBBLLR
|
|
||||||
FBFBBFBLLL
|
|
||||||
BBFBFFFLRR
|
|
||||||
BFFFFBBRRL
|
|
||||||
BBFFFBFLRR
|
|
||||||
FFBFFFBRLL
|
|
||||||
FFFFBBBLRL
|
|
||||||
BFBBBFFRLL
|
|
||||||
BBFBFFFRLL
|
|
||||||
FBFBBBBLLL
|
|
||||||
BBFBBFBRLR
|
|
||||||
BBFFBFBRLR
|
|
||||||
BFBFFFFLRL
|
|
||||||
FBBBFBFRLR
|
|
||||||
FFBFFFBRLR
|
|
||||||
FBBBBBFLLR
|
|
||||||
FFBBBFBLLR
|
|
||||||
BFFBBFBRRL
|
|
||||||
BBFFBFFRRL
|
|
||||||
FFFFFFBRRR
|
|
||||||
FFBBFBBRRR
|
|
||||||
FBBBBBBRRL
|
|
||||||
BFFBBFFRRL
|
|
||||||
FBBFBFBRLR
|
|
||||||
FBBFFFFRLL
|
|
||||||
FBBBBBFLLL
|
|
||||||
FBBFFFBRRR
|
|
||||||
BFFFFBBLRL
|
|
||||||
FFFFBFBLLL
|
|
||||||
FBFBFFFLLL
|
|
||||||
FBFBBFBLRR
|
|
||||||
FFFFBFFLRR
|
|
||||||
FFFBBBFLRR
|
|
||||||
FBFFBFFLLR
|
|
||||||
BBFFBFFLLL
|
|
||||||
FFBFFBFRRL
|
|
||||||
BFBBFBBRRR
|
|
||||||
BBFFFBFLLL
|
|
||||||
FBFFBFBLLL
|
|
||||||
BFFBFFBRRL
|
|
||||||
BBFBFFBLRR
|
|
||||||
FBFBFFFLRR
|
|
||||||
BFBBFBBLLR
|
|
||||||
BFFBBFFRRR
|
|
||||||
FFFFFFBRRL
|
|
||||||
BBBFFFFLLR
|
|
||||||
BFBFFBFLLL
|
|
||||||
FBBBBBFRRL
|
|
||||||
BFFBBBBRLR
|
|
||||||
FFBBFBFLRL
|
|
||||||
FBFBFFBLRL
|
|
||||||
FFBBBBFRLR
|
|
||||||
BBFBBFBRRL
|
|
||||||
FFFFFBFLLR
|
|
||||||
FBFBFBFLLL
|
|
||||||
BFBFBFBLLR
|
|
||||||
FFFBFFFRLL
|
|
||||||
BFFBBFBLLR
|
|
||||||
FFBBFBBRLL
|
|
||||||
FFFBBFBRRL
|
|
||||||
FBBFFBBLLL
|
|
||||||
FFFBBBBRLR
|
|
||||||
FFFBBFBRRR
|
|
||||||
BBFFBBBRRL
|
|
||||||
FBBFBFFLRL
|
|
||||||
FBBBBBFLRR
|
|
||||||
BBFBFFBRRL
|
|
||||||
FFFBFBFLLL
|
|
||||||
FBBBFFFRLL
|
|
||||||
BFFBFBFLLR
|
|
||||||
FFBBBBBRRL
|
|
||||||
BFFBBFFLRR
|
|
||||||
FBBFBFBRLL
|
|
||||||
BFFFBFFRRL
|
|
||||||
BBFFFFBLLR
|
|
||||||
BBFFBBFRLR
|
|
||||||
BFFFBBFRRR
|
|
||||||
FBFBBFBRLR
|
|
||||||
FFFFFBBRLL
|
|
||||||
FBBFFFBRLL
|
|
||||||
BFFFFFBRLL
|
|
||||||
BFFFBFBLRR
|
|
||||||
BFFBFFBRLR
|
|
||||||
FFFFBFBLRL
|
|
||||||
FFBFFBFLLR
|
|
||||||
FBBFBFFLLL
|
|
||||||
BFFBFBFRRR
|
|
||||||
BBFBBBFLRL
|
|
||||||
BBBFFFFLRR
|
|
||||||
BFBBFFFLLR
|
|
||||||
FBBFFFBRLR
|
|
||||||
FFFFFBFRRL
|
|
||||||
FFFBFBBRRL
|
|
||||||
BBBFFFBLRR
|
|
||||||
FFBFBBFRRL
|
|
||||||
FFBBFFBLRR
|
|
||||||
BBFFBBBLLL
|
|
||||||
BFBFBBBRRL
|
|
||||||
BFFFBFBRLL
|
|
||||||
FFBFBBBRLL
|
|
||||||
FBFBFBFLRR
|
|
||||||
FBFFFBBLLL
|
|
||||||
FBBFFBFLLR
|
|
||||||
BFFFFBFRRL
|
|
||||||
FFBBBFFRRL
|
|
||||||
FFBFBFFLRL
|
|
||||||
BBFBBBFLLR
|
|
||||||
FBBFFBFRLR
|
|
||||||
FBBFFBBRLL
|
|
||||||
BFBFFFBRLR
|
|
||||||
BFFFBFFRLL
|
|
||||||
BBFBFBBRLL
|
|
||||||
BFFFFFFRLL
|
|
||||||
FBFBBBFRLL
|
|
||||||
BFBBFBFLRR
|
|
||||||
BFBFBBBRLL
|
|
||||||
BBFBBBFRRL
|
|
||||||
BFFBBFBRRR
|
|
||||||
BFBFFBFLLR
|
|
||||||
FBFBFBFLLR
|
|
||||||
FFFFFBBRRL
|
|
||||||
FBFBBBFRLR
|
|
||||||
FBFFBBFLLL
|
|
||||||
FFBFBFFRLR
|
|
||||||
BBFBFBBLLL
|
|
||||||
FFFFBFFLRL
|
|
||||||
FBBFBBFLLL
|
|
||||||
BFBFBBFLRL
|
|
||||||
FFFFBBFLLR
|
|
||||||
BFBBFBBRRL
|
|
||||||
FBBBFFBRRL
|
|
||||||
FBBBBFFRLL
|
|
||||||
2198
src/files/P6.txt
2198
src/files/P6.txt
File diff suppressed because it is too large
Load Diff
594
src/files/P7.txt
594
src/files/P7.txt
@@ -1,594 +0,0 @@
|
|||||||
muted tomato bags contain 1 bright brown bag, 1 dotted gold bag, 2 faded gray bags, 1 posh yellow bag.
|
|
||||||
posh brown bags contain 1 dark lime bag, 5 mirrored crimson bags, 1 striped chartreuse bag.
|
|
||||||
dotted violet bags contain 4 striped white bags.
|
|
||||||
mirrored black bags contain 1 clear yellow bag.
|
|
||||||
light aqua bags contain 3 clear silver bags, 2 shiny coral bags, 2 muted tomato bags, 2 drab turquoise bags.
|
|
||||||
faded violet bags contain no other bags.
|
|
||||||
shiny lime bags contain 3 muted brown bags, 4 dull gray bags.
|
|
||||||
dark green bags contain 3 muted magenta bags.
|
|
||||||
faded bronze bags contain 5 clear lime bags, 3 muted gold bags.
|
|
||||||
clear lavender bags contain 4 dark beige bags, 3 mirrored crimson bags, 2 bright blue bags.
|
|
||||||
striped bronze bags contain 5 muted olive bags, 4 clear chartreuse bags, 2 vibrant blue bags.
|
|
||||||
dim bronze bags contain 1 clear indigo bag.
|
|
||||||
dull crimson bags contain 3 dotted violet bags, 2 pale teal bags, 3 plaid bronze bags, 3 faded aqua bags.
|
|
||||||
mirrored bronze bags contain 3 striped maroon bags, 4 shiny gold bags, 4 light indigo bags, 5 clear orange bags.
|
|
||||||
vibrant white bags contain 4 light lime bags.
|
|
||||||
dark blue bags contain 1 faded black bag, 5 mirrored plum bags, 4 muted cyan bags.
|
|
||||||
drab bronze bags contain 5 mirrored plum bags, 2 bright turquoise bags, 1 clear gray bag, 3 faded chartreuse bags.
|
|
||||||
mirrored lime bags contain 2 faded red bags.
|
|
||||||
posh violet bags contain 3 dull chartreuse bags, 5 clear plum bags, 2 mirrored chartreuse bags, 5 dull magenta bags.
|
|
||||||
dull bronze bags contain 2 wavy purple bags, 4 drab salmon bags, 5 dull chartreuse bags.
|
|
||||||
dull black bags contain 4 shiny crimson bags, 5 dotted turquoise bags, 4 clear beige bags, 2 striped maroon bags.
|
|
||||||
striped aqua bags contain 1 faded violet bag, 1 plaid teal bag.
|
|
||||||
clear silver bags contain 1 faded green bag.
|
|
||||||
dark yellow bags contain 4 shiny plum bags, 2 dull gray bags, 5 light lime bags, 4 shiny orange bags.
|
|
||||||
dull coral bags contain 2 striped turquoise bags, 4 mirrored fuchsia bags, 5 faded yellow bags.
|
|
||||||
shiny yellow bags contain 5 wavy maroon bags, 1 striped fuchsia bag.
|
|
||||||
shiny black bags contain 2 muted tomato bags, 3 muted maroon bags, 4 shiny orange bags.
|
|
||||||
posh aqua bags contain 3 wavy cyan bags, 5 posh brown bags, 4 dim plum bags.
|
|
||||||
plaid maroon bags contain 5 faded aqua bags, 5 mirrored olive bags, 5 plaid gold bags, 2 vibrant gray bags.
|
|
||||||
mirrored gold bags contain 3 shiny tomato bags, 3 shiny crimson bags.
|
|
||||||
muted lavender bags contain 2 muted tan bags.
|
|
||||||
vibrant magenta bags contain 1 dull purple bag, 2 vibrant coral bags, 5 faded silver bags.
|
|
||||||
striped tomato bags contain 3 faded beige bags, 3 pale tan bags, 2 drab orange bags.
|
|
||||||
dull turquoise bags contain 3 striped green bags, 2 shiny blue bags, 2 dim purple bags.
|
|
||||||
shiny aqua bags contain 1 clear salmon bag.
|
|
||||||
drab silver bags contain 2 shiny gold bags, 4 posh yellow bags.
|
|
||||||
plaid gold bags contain 3 bright lavender bags, 5 plaid cyan bags, 1 bright brown bag, 5 faded turquoise bags.
|
|
||||||
wavy lavender bags contain 2 plaid lavender bags, 3 plaid red bags, 4 posh cyan bags, 4 bright aqua bags.
|
|
||||||
dark bronze bags contain 4 muted cyan bags, 4 clear cyan bags.
|
|
||||||
plaid lime bags contain 1 posh teal bag.
|
|
||||||
mirrored magenta bags contain 5 dotted turquoise bags.
|
|
||||||
light turquoise bags contain 5 posh tan bags, 2 posh aqua bags.
|
|
||||||
dark indigo bags contain 5 clear crimson bags, 3 posh lime bags.
|
|
||||||
mirrored brown bags contain 4 posh white bags, 1 dim lime bag, 2 pale magenta bags, 1 mirrored chartreuse bag.
|
|
||||||
vibrant lavender bags contain 5 posh plum bags, 1 posh aqua bag.
|
|
||||||
dim crimson bags contain 3 vibrant beige bags, 4 clear indigo bags, 3 dim lime bags, 4 striped olive bags.
|
|
||||||
vibrant violet bags contain 5 vibrant red bags, 1 striped white bag.
|
|
||||||
dull silver bags contain 4 striped bronze bags, 1 plaid plum bag, 1 dim tomato bag.
|
|
||||||
plaid brown bags contain 5 drab blue bags, 2 light turquoise bags, 5 dull lavender bags.
|
|
||||||
dim aqua bags contain 4 plaid lavender bags, 5 muted maroon bags.
|
|
||||||
faded plum bags contain 3 striped tan bags.
|
|
||||||
drab black bags contain 5 clear bronze bags, 4 plaid red bags, 1 drab orange bag, 5 clear lavender bags.
|
|
||||||
pale bronze bags contain 5 dim plum bags, 1 drab lavender bag.
|
|
||||||
mirrored purple bags contain 5 mirrored crimson bags.
|
|
||||||
mirrored red bags contain 5 striped magenta bags, 4 mirrored chartreuse bags, 5 pale cyan bags.
|
|
||||||
posh lime bags contain 5 dull lavender bags, 1 faded turquoise bag, 2 striped coral bags, 3 striped green bags.
|
|
||||||
vibrant black bags contain 2 drab salmon bags, 4 clear tomato bags, 2 faded turquoise bags.
|
|
||||||
striped orange bags contain 2 plaid blue bags, 5 pale teal bags, 1 drab maroon bag.
|
|
||||||
dotted tomato bags contain 1 dim white bag, 5 dotted magenta bags, 4 dull tomato bags, 1 dull gold bag.
|
|
||||||
posh orange bags contain 3 posh gold bags, 4 light lime bags, 2 faded violet bags, 5 faded turquoise bags.
|
|
||||||
muted gold bags contain 4 faded maroon bags, 5 dark turquoise bags, 4 bright turquoise bags, 3 plaid silver bags.
|
|
||||||
striped yellow bags contain 4 drab fuchsia bags, 1 dim lime bag.
|
|
||||||
dotted green bags contain 4 clear beige bags.
|
|
||||||
faded fuchsia bags contain 1 dull blue bag, 4 bright coral bags.
|
|
||||||
shiny lavender bags contain 3 mirrored beige bags, 1 dark coral bag, 1 muted turquoise bag, 3 light brown bags.
|
|
||||||
bright maroon bags contain 5 faded lime bags, 3 dim brown bags, 3 vibrant yellow bags.
|
|
||||||
dark maroon bags contain 2 drab red bags.
|
|
||||||
dark white bags contain 3 wavy turquoise bags, 4 dotted red bags, 3 plaid fuchsia bags.
|
|
||||||
dotted aqua bags contain 4 clear green bags, 3 drab magenta bags, 1 dull tomato bag, 3 striped coral bags.
|
|
||||||
faded red bags contain 3 plaid purple bags, 3 dark lime bags.
|
|
||||||
wavy yellow bags contain 1 bright yellow bag, 2 light chartreuse bags, 1 dull chartreuse bag.
|
|
||||||
posh beige bags contain 5 shiny orange bags, 4 drab silver bags, 1 striped cyan bag.
|
|
||||||
dull fuchsia bags contain 5 faded lavender bags, 1 dark cyan bag, 2 clear tomato bags, 3 mirrored chartreuse bags.
|
|
||||||
muted silver bags contain 5 muted brown bags, 2 striped brown bags, 4 mirrored bronze bags, 5 faded plum bags.
|
|
||||||
dim white bags contain 1 dull bronze bag, 3 dotted beige bags, 4 wavy tan bags, 4 vibrant white bags.
|
|
||||||
faded green bags contain 1 clear indigo bag, 2 pale cyan bags, 1 wavy brown bag.
|
|
||||||
pale blue bags contain 2 posh turquoise bags.
|
|
||||||
muted green bags contain 1 dull bronze bag.
|
|
||||||
dull indigo bags contain 4 shiny silver bags, 1 wavy red bag, 4 muted orange bags.
|
|
||||||
muted plum bags contain 1 shiny lime bag, 4 plaid tomato bags, 2 faded indigo bags.
|
|
||||||
striped magenta bags contain 1 mirrored chartreuse bag, 1 faded beige bag, 3 bright blue bags, 2 clear yellow bags.
|
|
||||||
clear coral bags contain 4 dark turquoise bags, 2 posh magenta bags, 2 shiny aqua bags, 5 pale aqua bags.
|
|
||||||
pale olive bags contain 4 shiny crimson bags, 3 wavy cyan bags, 1 vibrant beige bag, 3 dark beige bags.
|
|
||||||
striped plum bags contain 2 light salmon bags.
|
|
||||||
dim indigo bags contain 2 shiny lavender bags, 4 clear lavender bags, 1 bright tomato bag, 1 vibrant bronze bag.
|
|
||||||
striped green bags contain 5 muted cyan bags.
|
|
||||||
shiny salmon bags contain 1 wavy brown bag.
|
|
||||||
wavy aqua bags contain 5 muted white bags, 1 mirrored gray bag, 5 dull lavender bags.
|
|
||||||
posh gold bags contain 1 vibrant beige bag, 3 dull chartreuse bags, 4 mirrored brown bags.
|
|
||||||
wavy blue bags contain 3 shiny gray bags, 4 posh turquoise bags.
|
|
||||||
dark fuchsia bags contain 2 posh fuchsia bags, 4 bright indigo bags, 3 posh maroon bags, 2 posh aqua bags.
|
|
||||||
shiny purple bags contain 5 clear maroon bags, 3 bright indigo bags.
|
|
||||||
dull chartreuse bags contain no other bags.
|
|
||||||
light beige bags contain 4 dim purple bags, 1 posh red bag, 4 clear aqua bags, 1 striped coral bag.
|
|
||||||
wavy purple bags contain 3 bright turquoise bags.
|
|
||||||
clear yellow bags contain 2 posh plum bags.
|
|
||||||
clear violet bags contain 5 faded chartreuse bags, 5 clear green bags, 3 wavy brown bags.
|
|
||||||
striped white bags contain 3 light white bags.
|
|
||||||
clear green bags contain 4 muted bronze bags.
|
|
||||||
drab crimson bags contain 1 posh tan bag.
|
|
||||||
dark turquoise bags contain 2 shiny tomato bags, 5 wavy maroon bags, 5 dim aqua bags.
|
|
||||||
drab magenta bags contain 1 pale gray bag, 4 striped olive bags, 2 posh brown bags.
|
|
||||||
dotted gray bags contain 1 dull tomato bag, 1 posh yellow bag.
|
|
||||||
plaid magenta bags contain 5 clear green bags, 2 dotted bronze bags, 5 drab black bags.
|
|
||||||
striped indigo bags contain 4 mirrored magenta bags, 5 posh beige bags.
|
|
||||||
bright fuchsia bags contain 4 dotted orange bags, 2 faded green bags, 1 bright turquoise bag.
|
|
||||||
mirrored teal bags contain 1 mirrored chartreuse bag, 2 drab brown bags, 2 dull black bags.
|
|
||||||
dotted purple bags contain 5 dotted turquoise bags, 5 dotted orange bags, 5 shiny gold bags.
|
|
||||||
dim lavender bags contain 3 shiny coral bags, 5 mirrored crimson bags, 2 clear yellow bags, 2 muted orange bags.
|
|
||||||
shiny gray bags contain 3 vibrant purple bags.
|
|
||||||
mirrored white bags contain 1 mirrored brown bag, 3 striped purple bags.
|
|
||||||
light cyan bags contain 4 bright maroon bags, 3 posh violet bags, 4 faded aqua bags, 5 dull tan bags.
|
|
||||||
wavy gray bags contain 4 mirrored violet bags, 1 muted orange bag.
|
|
||||||
striped silver bags contain 2 bright silver bags, 5 posh aqua bags.
|
|
||||||
dull green bags contain 5 mirrored chartreuse bags, 2 dim beige bags.
|
|
||||||
faded black bags contain 5 wavy turquoise bags, 1 muted tan bag, 1 dull chartreuse bag.
|
|
||||||
posh crimson bags contain 2 muted tan bags, 4 striped beige bags, 1 mirrored lavender bag, 5 faded white bags.
|
|
||||||
pale teal bags contain 4 posh aqua bags, 5 mirrored plum bags, 1 muted turquoise bag.
|
|
||||||
muted tan bags contain 1 striped coral bag, 1 mirrored brown bag, 1 posh gold bag, 4 muted cyan bags.
|
|
||||||
posh indigo bags contain 5 shiny tomato bags, 1 clear salmon bag, 3 dotted black bags, 1 striped maroon bag.
|
|
||||||
clear gray bags contain 1 bright violet bag.
|
|
||||||
striped olive bags contain no other bags.
|
|
||||||
mirrored silver bags contain 4 shiny maroon bags, 4 muted coral bags.
|
|
||||||
clear brown bags contain 2 dotted magenta bags, 3 clear aqua bags, 5 faded lime bags.
|
|
||||||
striped lavender bags contain 4 dull turquoise bags.
|
|
||||||
plaid teal bags contain 3 muted bronze bags, 2 drab orange bags.
|
|
||||||
faded blue bags contain 3 bright teal bags, 2 posh brown bags.
|
|
||||||
drab gold bags contain 3 dotted black bags, 5 striped yellow bags.
|
|
||||||
plaid gray bags contain 2 drab magenta bags, 4 bright yellow bags, 5 pale beige bags.
|
|
||||||
mirrored coral bags contain 1 shiny fuchsia bag, 5 vibrant gray bags, 1 wavy maroon bag.
|
|
||||||
drab fuchsia bags contain 3 dull silver bags, 5 posh brown bags.
|
|
||||||
wavy olive bags contain 2 plaid lavender bags.
|
|
||||||
vibrant maroon bags contain 4 drab brown bags, 1 dark indigo bag, 1 clear gray bag.
|
|
||||||
faded magenta bags contain 1 dim crimson bag.
|
|
||||||
pale aqua bags contain 3 dotted turquoise bags.
|
|
||||||
dotted orange bags contain 2 light coral bags.
|
|
||||||
dim coral bags contain 4 pale gold bags.
|
|
||||||
faded turquoise bags contain 5 posh gold bags, 2 bright turquoise bags, 1 drab magenta bag.
|
|
||||||
striped tan bags contain 3 bright red bags.
|
|
||||||
drab green bags contain 3 muted gold bags, 3 plaid gold bags.
|
|
||||||
posh red bags contain 3 mirrored red bags, 2 striped fuchsia bags, 3 faded violet bags, 1 bright black bag.
|
|
||||||
drab lime bags contain 2 dotted brown bags.
|
|
||||||
plaid tomato bags contain 4 muted olive bags, 2 striped tan bags.
|
|
||||||
striped blue bags contain 3 drab lavender bags.
|
|
||||||
bright bronze bags contain 2 clear gold bags, 2 striped gold bags, 4 dim coral bags, 5 vibrant purple bags.
|
|
||||||
muted white bags contain 4 light olive bags.
|
|
||||||
pale violet bags contain 1 bright teal bag, 5 bright lavender bags, 2 faded green bags, 5 clear gold bags.
|
|
||||||
striped violet bags contain 2 drab turquoise bags, 2 bright red bags, 3 vibrant blue bags.
|
|
||||||
dull beige bags contain 2 vibrant beige bags.
|
|
||||||
light lime bags contain 1 bright turquoise bag, 3 vibrant beige bags, 2 wavy bronze bags, 1 muted cyan bag.
|
|
||||||
striped gray bags contain 5 vibrant brown bags, 3 wavy red bags, 3 plaid bronze bags, 4 wavy aqua bags.
|
|
||||||
dark violet bags contain 5 dim indigo bags, 1 dim chartreuse bag, 5 dim purple bags, 1 striped magenta bag.
|
|
||||||
dim turquoise bags contain 3 muted tan bags.
|
|
||||||
pale green bags contain 2 pale olive bags, 5 wavy red bags, 5 pale lime bags.
|
|
||||||
dark beige bags contain 1 light green bag, 4 drab beige bags, 2 dim cyan bags.
|
|
||||||
drab maroon bags contain 3 light coral bags, 1 clear crimson bag.
|
|
||||||
dark gold bags contain 1 dim black bag, 1 dotted gold bag, 3 dim gray bags, 5 wavy red bags.
|
|
||||||
drab white bags contain 1 pale gray bag.
|
|
||||||
mirrored olive bags contain 4 mirrored crimson bags, 3 faded beige bags.
|
|
||||||
pale yellow bags contain 4 shiny maroon bags, 5 dim tomato bags, 4 shiny olive bags, 1 faded olive bag.
|
|
||||||
striped lime bags contain 2 light lavender bags, 4 shiny aqua bags, 2 pale maroon bags.
|
|
||||||
mirrored tomato bags contain 2 clear crimson bags, 2 pale beige bags, 5 striped purple bags, 4 clear tomato bags.
|
|
||||||
dark black bags contain 1 mirrored orange bag, 4 shiny brown bags.
|
|
||||||
plaid chartreuse bags contain 1 dim beige bag, 2 vibrant red bags, 1 bright lavender bag, 5 mirrored tomato bags.
|
|
||||||
posh gray bags contain 5 dotted blue bags.
|
|
||||||
mirrored crimson bags contain no other bags.
|
|
||||||
pale silver bags contain 3 plaid cyan bags.
|
|
||||||
shiny green bags contain 4 dotted violet bags, 3 drab olive bags.
|
|
||||||
light brown bags contain 2 vibrant yellow bags, 3 dim tomato bags.
|
|
||||||
muted yellow bags contain 1 drab magenta bag, 5 muted olive bags, 3 clear crimson bags, 2 mirrored brown bags.
|
|
||||||
mirrored plum bags contain 4 muted tan bags, 1 posh brown bag, 3 faded silver bags, 1 dull gold bag.
|
|
||||||
dark chartreuse bags contain 1 dim orange bag, 2 dull indigo bags, 1 dark beige bag.
|
|
||||||
wavy brown bags contain 3 striped chartreuse bags.
|
|
||||||
faded white bags contain 5 striped magenta bags, 2 muted turquoise bags, 2 bright cyan bags, 3 clear chartreuse bags.
|
|
||||||
bright green bags contain 1 light salmon bag.
|
|
||||||
bright salmon bags contain 3 posh tan bags, 2 drab orange bags.
|
|
||||||
drab plum bags contain 2 posh turquoise bags, 4 dark salmon bags, 3 posh lime bags, 4 light coral bags.
|
|
||||||
drab tomato bags contain 5 faded teal bags, 4 mirrored black bags, 4 mirrored lavender bags, 1 drab salmon bag.
|
|
||||||
faded olive bags contain 4 light green bags, 4 clear bronze bags.
|
|
||||||
plaid bronze bags contain 3 dim plum bags, 2 posh white bags, 1 dotted gray bag, 2 dull gray bags.
|
|
||||||
light salmon bags contain 2 faded violet bags.
|
|
||||||
bright red bags contain 1 posh plum bag, 4 clear crimson bags.
|
|
||||||
faded maroon bags contain 3 striped olive bags, 5 wavy bronze bags, 3 bright lavender bags.
|
|
||||||
mirrored orange bags contain 1 bright silver bag, 3 bright red bags, 1 drab brown bag.
|
|
||||||
dotted indigo bags contain 1 dull black bag, 2 posh white bags.
|
|
||||||
wavy teal bags contain 1 dotted tomato bag, 4 faded beige bags, 5 dull beige bags, 1 clear crimson bag.
|
|
||||||
dim magenta bags contain 2 posh maroon bags, 1 dim yellow bag, 4 faded red bags, 5 pale olive bags.
|
|
||||||
light red bags contain 3 dim silver bags, 5 drab maroon bags, 3 shiny red bags.
|
|
||||||
plaid red bags contain 1 posh yellow bag, 5 muted turquoise bags, 1 bright red bag.
|
|
||||||
pale magenta bags contain 4 dim plum bags, 5 dull tomato bags, 3 bright turquoise bags, 1 dark lime bag.
|
|
||||||
posh yellow bags contain 5 posh brown bags.
|
|
||||||
bright lavender bags contain 5 clear aqua bags, 1 posh yellow bag, 4 pale magenta bags.
|
|
||||||
dim fuchsia bags contain 4 muted green bags, 3 mirrored beige bags, 5 dark brown bags, 1 dull crimson bag.
|
|
||||||
vibrant salmon bags contain 4 clear lime bags, 5 plaid brown bags, 5 pale white bags.
|
|
||||||
dim black bags contain 3 faded magenta bags, 5 dull gray bags, 2 vibrant blue bags, 2 vibrant bronze bags.
|
|
||||||
dotted yellow bags contain 3 drab turquoise bags, 3 muted cyan bags, 3 clear gray bags.
|
|
||||||
mirrored beige bags contain 1 drab salmon bag, 1 striped olive bag, 5 dotted gold bags, 2 faded beige bags.
|
|
||||||
striped brown bags contain 5 bright maroon bags, 2 light gold bags.
|
|
||||||
striped chartreuse bags contain no other bags.
|
|
||||||
dark lime bags contain 3 dull chartreuse bags, 5 dim violet bags, 2 mirrored crimson bags.
|
|
||||||
faded salmon bags contain 2 dull chartreuse bags, 4 posh brown bags, 3 mirrored olive bags, 5 light green bags.
|
|
||||||
bright brown bags contain 2 vibrant bronze bags, 2 dim gray bags.
|
|
||||||
dull tan bags contain 5 posh indigo bags.
|
|
||||||
dim silver bags contain 1 vibrant tomato bag, 4 dim maroon bags.
|
|
||||||
clear lime bags contain 4 clear gray bags, 1 clear tan bag, 4 posh brown bags, 1 dark indigo bag.
|
|
||||||
shiny beige bags contain 5 plaid lavender bags, 4 drab red bags, 4 striped green bags, 2 vibrant tomato bags.
|
|
||||||
dim tomato bags contain 3 clear yellow bags, 2 wavy gold bags, 3 pale cyan bags.
|
|
||||||
dotted tan bags contain 3 pale white bags.
|
|
||||||
dark crimson bags contain 1 dim coral bag, 4 muted brown bags, 2 clear chartreuse bags.
|
|
||||||
plaid coral bags contain 1 dark yellow bag, 3 muted tomato bags.
|
|
||||||
faded lavender bags contain 1 muted lavender bag, 5 mirrored red bags, 1 muted orange bag, 3 light coral bags.
|
|
||||||
vibrant crimson bags contain 3 plaid plum bags, 2 bright olive bags.
|
|
||||||
faded chartreuse bags contain 5 dim cyan bags.
|
|
||||||
dark gray bags contain 5 clear plum bags, 5 faded aqua bags.
|
|
||||||
shiny crimson bags contain 4 mirrored gray bags, 2 dull green bags.
|
|
||||||
muted purple bags contain 5 dull tomato bags.
|
|
||||||
light coral bags contain no other bags.
|
|
||||||
pale beige bags contain 3 dark indigo bags, 5 bright turquoise bags, 3 vibrant lavender bags, 1 pale magenta bag.
|
|
||||||
posh turquoise bags contain 4 faded green bags, 2 light coral bags, 1 light teal bag, 3 dim tomato bags.
|
|
||||||
clear aqua bags contain 2 wavy cyan bags, 1 muted yellow bag.
|
|
||||||
posh silver bags contain 4 plaid fuchsia bags, 2 dotted violet bags, 3 drab olive bags.
|
|
||||||
dark silver bags contain 4 vibrant purple bags, 1 vibrant cyan bag.
|
|
||||||
dull plum bags contain 3 dim red bags, 3 wavy turquoise bags, 2 mirrored beige bags.
|
|
||||||
muted magenta bags contain 3 faded lime bags, 2 muted crimson bags, 1 mirrored gray bag.
|
|
||||||
plaid indigo bags contain 4 wavy aqua bags, 1 plaid silver bag, 1 light blue bag, 3 wavy magenta bags.
|
|
||||||
wavy violet bags contain 2 striped bronze bags.
|
|
||||||
plaid yellow bags contain 3 dull plum bags, 1 striped blue bag, 5 faded aqua bags.
|
|
||||||
dotted bronze bags contain 3 bright lavender bags, 1 wavy lime bag, 2 dotted cyan bags, 1 mirrored beige bag.
|
|
||||||
striped coral bags contain 4 dark cyan bags, 4 wavy bronze bags, 2 dotted magenta bags.
|
|
||||||
posh tan bags contain 4 mirrored brown bags, 3 dotted teal bags, 5 light lime bags.
|
|
||||||
bright white bags contain 2 muted indigo bags, 2 wavy aqua bags.
|
|
||||||
posh cyan bags contain 4 muted tomato bags, 1 posh tan bag, 4 mirrored lavender bags, 2 drab blue bags.
|
|
||||||
wavy gold bags contain 1 dim beige bag, 5 dotted teal bags, 2 dotted turquoise bags.
|
|
||||||
mirrored cyan bags contain 2 drab silver bags, 5 muted orange bags, 5 mirrored olive bags.
|
|
||||||
dim orange bags contain 3 striped blue bags.
|
|
||||||
muted indigo bags contain 4 clear aqua bags, 2 mirrored tan bags, 2 clear green bags, 2 posh brown bags.
|
|
||||||
dull tomato bags contain 4 posh plum bags.
|
|
||||||
plaid orange bags contain 1 striped coral bag.
|
|
||||||
posh bronze bags contain 3 vibrant purple bags, 2 dim brown bags, 1 clear violet bag, 4 mirrored gold bags.
|
|
||||||
dotted chartreuse bags contain 3 dull crimson bags.
|
|
||||||
faded coral bags contain 1 wavy tomato bag.
|
|
||||||
pale salmon bags contain 2 dull purple bags, 2 dark tomato bags.
|
|
||||||
wavy crimson bags contain 4 bright fuchsia bags, 5 light lime bags, 1 posh tan bag.
|
|
||||||
pale fuchsia bags contain 2 wavy black bags, 1 muted crimson bag, 2 dotted aqua bags.
|
|
||||||
striped fuchsia bags contain 1 mirrored violet bag, 3 dull chartreuse bags, 1 shiny lavender bag.
|
|
||||||
plaid cyan bags contain 2 vibrant lavender bags.
|
|
||||||
dotted beige bags contain 4 dim beige bags, 2 vibrant lavender bags.
|
|
||||||
mirrored turquoise bags contain 4 mirrored beige bags, 3 dotted turquoise bags, 1 striped maroon bag.
|
|
||||||
faded indigo bags contain 3 dark lime bags, 5 mirrored salmon bags, 3 drab red bags.
|
|
||||||
dotted silver bags contain 3 dark yellow bags, 4 posh crimson bags.
|
|
||||||
light silver bags contain 2 wavy orange bags, 2 vibrant maroon bags, 4 wavy beige bags.
|
|
||||||
vibrant cyan bags contain 1 shiny fuchsia bag, 3 posh plum bags.
|
|
||||||
pale crimson bags contain 1 dotted gold bag, 4 mirrored brown bags, 1 mirrored olive bag.
|
|
||||||
vibrant beige bags contain 4 dull white bags.
|
|
||||||
faded tomato bags contain 4 mirrored salmon bags, 5 faded green bags.
|
|
||||||
dull maroon bags contain 5 mirrored olive bags, 4 dim crimson bags.
|
|
||||||
muted aqua bags contain 2 plaid olive bags, 1 shiny indigo bag.
|
|
||||||
shiny teal bags contain 4 striped bronze bags, 3 dotted aqua bags.
|
|
||||||
dotted cyan bags contain 3 clear yellow bags, 5 faded maroon bags, 3 dim gray bags.
|
|
||||||
wavy beige bags contain 1 posh cyan bag, 4 wavy magenta bags, 5 dim green bags.
|
|
||||||
bright silver bags contain 4 clear beige bags, 2 faded chartreuse bags, 4 clear aqua bags.
|
|
||||||
striped purple bags contain 2 clear chartreuse bags, 4 dotted magenta bags.
|
|
||||||
clear gold bags contain 2 vibrant lavender bags, 3 posh aqua bags, 4 light green bags, 3 pale cyan bags.
|
|
||||||
dull cyan bags contain 5 dim tomato bags, 1 dim orange bag.
|
|
||||||
light crimson bags contain 1 dull green bag.
|
|
||||||
faded crimson bags contain 4 plaid coral bags, 3 dotted orange bags.
|
|
||||||
pale gray bags contain 3 dark lime bags.
|
|
||||||
faded gold bags contain 1 muted crimson bag, 1 plaid red bag, 5 wavy cyan bags.
|
|
||||||
plaid plum bags contain 4 bright blue bags.
|
|
||||||
wavy tomato bags contain 5 posh brown bags, 2 striped maroon bags, 4 faded indigo bags, 3 clear gold bags.
|
|
||||||
shiny fuchsia bags contain 2 mirrored gray bags.
|
|
||||||
wavy magenta bags contain 2 posh olive bags.
|
|
||||||
dim purple bags contain 1 vibrant yellow bag.
|
|
||||||
wavy black bags contain 1 pale green bag.
|
|
||||||
wavy silver bags contain 3 dull yellow bags, 5 faded magenta bags, 4 mirrored black bags, 3 dull indigo bags.
|
|
||||||
shiny cyan bags contain 2 shiny salmon bags, 2 pale olive bags, 1 shiny red bag.
|
|
||||||
striped cyan bags contain 5 pale magenta bags, 3 faded silver bags.
|
|
||||||
dim salmon bags contain 2 vibrant aqua bags, 1 drab red bag.
|
|
||||||
bright chartreuse bags contain 1 shiny tomato bag, 2 wavy yellow bags, 2 wavy silver bags.
|
|
||||||
drab coral bags contain 1 drab silver bag.
|
|
||||||
pale white bags contain 2 faded red bags, 4 pale gray bags, 2 mirrored lavender bags.
|
|
||||||
dim violet bags contain 3 dull white bags.
|
|
||||||
muted red bags contain 3 shiny lime bags, 3 plaid beige bags, 2 shiny aqua bags.
|
|
||||||
bright teal bags contain 3 dim tomato bags, 3 mirrored turquoise bags, 5 vibrant yellow bags.
|
|
||||||
striped maroon bags contain 1 dim plum bag, 2 wavy cyan bags, 1 dull beige bag.
|
|
||||||
vibrant green bags contain 5 dotted salmon bags, 4 mirrored olive bags.
|
|
||||||
dim tan bags contain 2 shiny white bags, 3 posh lime bags, 1 dotted teal bag.
|
|
||||||
muted olive bags contain 4 mirrored chartreuse bags.
|
|
||||||
muted salmon bags contain 1 clear salmon bag.
|
|
||||||
dim beige bags contain 2 pale gray bags, 2 mirrored olive bags, 3 clear yellow bags.
|
|
||||||
light tomato bags contain 1 pale white bag, 2 dark teal bags, 5 shiny lime bags.
|
|
||||||
striped beige bags contain 4 bright plum bags, 1 plaid olive bag, 2 pale crimson bags.
|
|
||||||
light indigo bags contain 4 bright fuchsia bags, 1 dull gold bag, 5 dark beige bags, 3 mirrored teal bags.
|
|
||||||
drab gray bags contain 3 dark coral bags, 5 mirrored teal bags, 5 dim purple bags, 4 mirrored violet bags.
|
|
||||||
dark teal bags contain 2 muted orange bags.
|
|
||||||
dim plum bags contain 1 posh brown bag, 4 dotted orange bags, 3 dotted gold bags, 2 drab salmon bags.
|
|
||||||
dim green bags contain 3 dark beige bags, 3 bright tan bags, 4 striped white bags, 5 faded white bags.
|
|
||||||
drab teal bags contain 1 light gray bag.
|
|
||||||
dark aqua bags contain 5 vibrant green bags, 3 shiny teal bags, 3 dull red bags.
|
|
||||||
wavy lime bags contain 5 mirrored brown bags, 2 dark cyan bags, 4 dull green bags, 1 wavy cyan bag.
|
|
||||||
muted violet bags contain 3 light plum bags.
|
|
||||||
posh green bags contain 2 shiny fuchsia bags, 3 posh aqua bags, 5 dotted turquoise bags.
|
|
||||||
clear blue bags contain 4 vibrant gray bags, 4 shiny plum bags.
|
|
||||||
muted brown bags contain 1 dark lime bag, 1 mirrored olive bag, 1 faded beige bag.
|
|
||||||
dotted black bags contain 5 pale beige bags, 1 dotted tomato bag, 2 wavy cyan bags, 3 wavy aqua bags.
|
|
||||||
muted chartreuse bags contain 5 muted lavender bags, 5 clear aqua bags, 5 bright maroon bags, 4 plaid bronze bags.
|
|
||||||
bright purple bags contain 4 bright fuchsia bags, 3 pale tomato bags, 5 mirrored tomato bags.
|
|
||||||
drab orange bags contain 5 light crimson bags, 4 dark beige bags.
|
|
||||||
clear white bags contain 2 shiny salmon bags.
|
|
||||||
posh lavender bags contain 4 posh tan bags, 1 posh magenta bag.
|
|
||||||
faded purple bags contain 2 dull maroon bags, 2 mirrored coral bags, 4 vibrant green bags.
|
|
||||||
dotted olive bags contain 5 dull chartreuse bags, 2 wavy magenta bags, 1 pale tan bag, 3 dim turquoise bags.
|
|
||||||
muted crimson bags contain 1 striped olive bag, 3 dull chartreuse bags, 1 light bronze bag.
|
|
||||||
striped turquoise bags contain 2 light blue bags.
|
|
||||||
bright indigo bags contain 3 dull green bags, 1 pale teal bag.
|
|
||||||
drab purple bags contain 3 bright aqua bags, 4 dull tan bags, 2 mirrored indigo bags.
|
|
||||||
wavy salmon bags contain 4 dark olive bags, 5 dull chartreuse bags, 3 vibrant purple bags, 1 pale lime bag.
|
|
||||||
drab olive bags contain 5 dim crimson bags, 3 posh green bags, 3 clear brown bags, 1 posh teal bag.
|
|
||||||
muted orange bags contain 5 shiny orange bags, 3 muted black bags, 5 bright blue bags, 1 mirrored olive bag.
|
|
||||||
drab salmon bags contain 5 light coral bags.
|
|
||||||
dark salmon bags contain 4 bright lavender bags, 5 clear gray bags.
|
|
||||||
posh blue bags contain 1 drab coral bag, 3 faded green bags.
|
|
||||||
shiny violet bags contain 1 posh yellow bag, 4 light turquoise bags, 4 drab silver bags, 2 muted teal bags.
|
|
||||||
clear tomato bags contain 3 bright plum bags, 3 muted indigo bags, 2 muted maroon bags, 3 dotted cyan bags.
|
|
||||||
dotted coral bags contain 4 dark tomato bags, 5 dotted magenta bags, 5 wavy gold bags.
|
|
||||||
striped teal bags contain 1 plaid brown bag, 2 bright plum bags, 1 mirrored blue bag.
|
|
||||||
pale maroon bags contain 4 posh gold bags, 5 striped magenta bags, 2 dim brown bags, 1 clear chartreuse bag.
|
|
||||||
muted lime bags contain 5 dull lavender bags, 3 plaid gray bags, 3 shiny tomato bags, 4 drab tomato bags.
|
|
||||||
mirrored green bags contain 2 striped purple bags.
|
|
||||||
posh chartreuse bags contain 4 dull tan bags, 2 plaid coral bags, 1 plaid cyan bag, 4 clear bronze bags.
|
|
||||||
shiny bronze bags contain 3 striped indigo bags, 4 mirrored white bags, 1 faded coral bag, 1 clear violet bag.
|
|
||||||
dull olive bags contain 1 muted coral bag, 3 clear tomato bags, 3 bright tan bags.
|
|
||||||
light maroon bags contain 5 mirrored tomato bags.
|
|
||||||
light chartreuse bags contain 3 dark indigo bags, 2 mirrored coral bags.
|
|
||||||
light bronze bags contain 1 bright yellow bag.
|
|
||||||
dim chartreuse bags contain 3 plaid gray bags, 2 faded teal bags.
|
|
||||||
dotted lavender bags contain 3 bright teal bags, 3 vibrant green bags.
|
|
||||||
dark tan bags contain 5 posh black bags.
|
|
||||||
muted blue bags contain 2 mirrored salmon bags, 4 striped olive bags.
|
|
||||||
mirrored chartreuse bags contain 2 bright turquoise bags.
|
|
||||||
clear cyan bags contain 5 dotted gold bags, 3 shiny fuchsia bags, 3 dim violet bags.
|
|
||||||
light white bags contain 2 vibrant bronze bags.
|
|
||||||
pale orange bags contain 3 plaid aqua bags.
|
|
||||||
faded brown bags contain 2 shiny blue bags, 1 dark cyan bag.
|
|
||||||
plaid salmon bags contain 5 wavy yellow bags, 3 faded aqua bags, 1 dull yellow bag.
|
|
||||||
shiny blue bags contain 2 bright violet bags, 3 light lime bags, 5 clear blue bags.
|
|
||||||
dull orange bags contain 4 faded turquoise bags, 2 dim lavender bags.
|
|
||||||
dull gold bags contain 2 dotted gray bags.
|
|
||||||
vibrant tan bags contain 2 posh turquoise bags, 2 muted orange bags, 4 plaid blue bags.
|
|
||||||
shiny white bags contain 1 pale chartreuse bag, 4 dark tomato bags.
|
|
||||||
light olive bags contain 3 striped bronze bags, 3 posh white bags.
|
|
||||||
dark lavender bags contain 3 drab magenta bags, 3 plaid black bags, 2 dull red bags.
|
|
||||||
shiny turquoise bags contain 1 vibrant black bag, 5 wavy fuchsia bags.
|
|
||||||
clear fuchsia bags contain 2 dull aqua bags, 2 shiny coral bags.
|
|
||||||
shiny coral bags contain 2 pale magenta bags, 4 muted bronze bags, 4 light coral bags.
|
|
||||||
striped salmon bags contain 3 posh olive bags.
|
|
||||||
shiny olive bags contain 5 pale chartreuse bags.
|
|
||||||
dotted brown bags contain 1 mirrored brown bag.
|
|
||||||
dull red bags contain 1 faded chartreuse bag, 1 dull chartreuse bag, 5 clear lavender bags, 5 wavy salmon bags.
|
|
||||||
bright beige bags contain 1 posh crimson bag, 1 posh chartreuse bag.
|
|
||||||
plaid crimson bags contain 5 wavy magenta bags, 4 muted lime bags, 1 muted maroon bag, 3 dim green bags.
|
|
||||||
wavy maroon bags contain 1 wavy cyan bag, 1 bright turquoise bag, 4 shiny coral bags, 3 drab beige bags.
|
|
||||||
vibrant fuchsia bags contain 2 dull tomato bags, 1 light coral bag.
|
|
||||||
pale brown bags contain 5 striped gray bags, 1 light plum bag, 1 pale chartreuse bag, 2 shiny tomato bags.
|
|
||||||
light plum bags contain 4 bright yellow bags, 2 dark tomato bags, 4 plaid coral bags.
|
|
||||||
dull gray bags contain 1 mirrored olive bag.
|
|
||||||
light yellow bags contain 5 bright magenta bags, 5 pale gray bags, 4 mirrored red bags.
|
|
||||||
dull lime bags contain 3 dark indigo bags, 3 mirrored salmon bags, 5 striped white bags, 3 posh aqua bags.
|
|
||||||
drab yellow bags contain 4 shiny white bags, 3 faded green bags.
|
|
||||||
bright gray bags contain 5 drab olive bags.
|
|
||||||
bright coral bags contain 3 mirrored brown bags, 5 dim bronze bags, 5 muted white bags, 1 dim crimson bag.
|
|
||||||
dim maroon bags contain 1 vibrant red bag, 3 faded fuchsia bags, 3 vibrant blue bags.
|
|
||||||
plaid turquoise bags contain 3 bright yellow bags, 5 dark purple bags.
|
|
||||||
plaid violet bags contain 1 clear yellow bag, 2 posh violet bags, 3 mirrored bronze bags, 3 vibrant tan bags.
|
|
||||||
dotted maroon bags contain 2 striped fuchsia bags, 3 striped white bags, 2 light blue bags, 5 plaid cyan bags.
|
|
||||||
dull blue bags contain 1 wavy brown bag.
|
|
||||||
drab tan bags contain 1 clear indigo bag, 4 faded violet bags, 3 pale cyan bags.
|
|
||||||
posh maroon bags contain 5 striped aqua bags, 3 wavy coral bags, 3 mirrored olive bags.
|
|
||||||
dim blue bags contain 4 dotted maroon bags, 5 striped black bags, 5 plaid gray bags.
|
|
||||||
faded teal bags contain 3 clear indigo bags, 5 dark beige bags, 1 shiny cyan bag, 3 bright tomato bags.
|
|
||||||
clear bronze bags contain 1 muted yellow bag.
|
|
||||||
dark plum bags contain 3 faded white bags, 2 wavy brown bags, 5 pale white bags.
|
|
||||||
wavy cyan bags contain 3 mirrored brown bags, 5 faded silver bags, 1 dim lime bag, 5 clear indigo bags.
|
|
||||||
posh plum bags contain no other bags.
|
|
||||||
wavy plum bags contain 4 dull indigo bags, 3 faded black bags, 4 bright turquoise bags, 5 bright red bags.
|
|
||||||
dim red bags contain 2 light cyan bags.
|
|
||||||
pale coral bags contain 2 wavy brown bags, 1 dull gray bag.
|
|
||||||
posh teal bags contain 2 striped purple bags, 1 dotted gray bag.
|
|
||||||
clear tan bags contain 5 striped maroon bags.
|
|
||||||
wavy chartreuse bags contain 5 bright chartreuse bags.
|
|
||||||
posh black bags contain 2 mirrored gray bags, 3 mirrored beige bags, 2 clear aqua bags, 2 bright plum bags.
|
|
||||||
muted maroon bags contain 5 vibrant red bags, 1 plaid lavender bag.
|
|
||||||
vibrant silver bags contain 1 mirrored salmon bag, 5 clear lime bags, 4 shiny violet bags.
|
|
||||||
pale indigo bags contain 4 clear maroon bags, 4 wavy cyan bags.
|
|
||||||
mirrored salmon bags contain 4 pale gray bags, 4 dim beige bags.
|
|
||||||
pale lavender bags contain 1 wavy turquoise bag, 2 striped green bags, 4 light coral bags, 4 clear chartreuse bags.
|
|
||||||
drab beige bags contain no other bags.
|
|
||||||
wavy coral bags contain 3 muted cyan bags, 3 dull bronze bags.
|
|
||||||
plaid black bags contain 2 posh orange bags, 4 shiny tan bags, 5 mirrored brown bags, 3 shiny plum bags.
|
|
||||||
light gray bags contain 2 dim crimson bags, 1 faded salmon bag.
|
|
||||||
shiny plum bags contain 2 dull tomato bags, 1 mirrored tan bag, 2 dull green bags, 1 dark lime bag.
|
|
||||||
drab blue bags contain 5 mirrored chartreuse bags, 5 dull tomato bags, 2 mirrored beige bags, 4 posh plum bags.
|
|
||||||
faded orange bags contain 5 striped yellow bags, 1 drab gray bag, 5 vibrant purple bags, 3 muted fuchsia bags.
|
|
||||||
plaid purple bags contain 1 faded silver bag, 4 shiny gold bags, 4 dim cyan bags.
|
|
||||||
pale tan bags contain 3 shiny gold bags, 2 shiny lavender bags, 3 pale cyan bags.
|
|
||||||
bright crimson bags contain 5 clear cyan bags.
|
|
||||||
dotted lime bags contain 2 posh violet bags, 5 striped beige bags, 4 bright teal bags.
|
|
||||||
posh purple bags contain 5 mirrored silver bags, 1 dim tan bag, 1 pale white bag.
|
|
||||||
vibrant red bags contain 3 pale chartreuse bags, 2 dim purple bags, 4 wavy maroon bags, 1 dull gray bag.
|
|
||||||
light fuchsia bags contain 1 drab maroon bag, 2 faded violet bags.
|
|
||||||
bright blue bags contain 4 drab salmon bags, 4 dotted gold bags.
|
|
||||||
bright turquoise bags contain 2 dotted gold bags, 2 dim violet bags, 1 vibrant bronze bag.
|
|
||||||
light orange bags contain 1 plaid olive bag.
|
|
||||||
light gold bags contain 2 clear plum bags, 2 striped bronze bags, 4 dark yellow bags, 2 posh orange bags.
|
|
||||||
dotted magenta bags contain 4 wavy cyan bags.
|
|
||||||
muted teal bags contain 1 clear beige bag, 4 plaid brown bags, 2 posh plum bags.
|
|
||||||
light black bags contain 3 drab bronze bags, 2 plaid silver bags, 3 mirrored coral bags.
|
|
||||||
wavy turquoise bags contain 5 dotted orange bags.
|
|
||||||
muted fuchsia bags contain 3 dull black bags, 1 striped coral bag, 1 bright magenta bag.
|
|
||||||
posh white bags contain 5 bright blue bags, 2 pale gray bags, 2 dark lime bags, 4 dotted gold bags.
|
|
||||||
striped black bags contain 5 drab maroon bags, 1 faded green bag, 2 mirrored silver bags, 2 shiny white bags.
|
|
||||||
striped gold bags contain 4 dim gray bags.
|
|
||||||
dull violet bags contain 3 light plum bags, 4 faded turquoise bags, 3 mirrored cyan bags.
|
|
||||||
striped red bags contain 5 plaid orange bags, 1 clear plum bag, 2 vibrant lavender bags.
|
|
||||||
bright cyan bags contain 1 dim brown bag, 4 mirrored turquoise bags.
|
|
||||||
dim cyan bags contain 5 bright turquoise bags.
|
|
||||||
shiny chartreuse bags contain 2 striped white bags.
|
|
||||||
vibrant blue bags contain 5 drab tan bags, 4 dotted magenta bags.
|
|
||||||
mirrored aqua bags contain 3 shiny gold bags, 3 drab brown bags, 3 faded black bags, 3 clear tan bags.
|
|
||||||
dark cyan bags contain 4 pale gray bags, 1 dotted gold bag, 4 dotted orange bags, 4 pale magenta bags.
|
|
||||||
wavy fuchsia bags contain 5 mirrored teal bags, 1 dotted gray bag.
|
|
||||||
pale gold bags contain 3 posh lavender bags, 2 drab brown bags.
|
|
||||||
shiny orange bags contain 2 dim gray bags.
|
|
||||||
posh tomato bags contain 5 bright brown bags.
|
|
||||||
clear orange bags contain 4 posh plum bags, 5 dull gray bags.
|
|
||||||
pale purple bags contain 1 drab purple bag, 5 bright crimson bags.
|
|
||||||
drab brown bags contain 1 bright red bag, 3 light turquoise bags, 1 posh plum bag, 2 dull chartreuse bags.
|
|
||||||
shiny tan bags contain 2 dotted gold bags, 2 plaid orange bags, 3 clear cyan bags.
|
|
||||||
faded cyan bags contain 2 wavy cyan bags, 2 posh teal bags.
|
|
||||||
clear maroon bags contain 2 light coral bags.
|
|
||||||
drab cyan bags contain 3 wavy bronze bags, 5 posh aqua bags, 4 dull crimson bags, 1 shiny gold bag.
|
|
||||||
plaid white bags contain 4 wavy brown bags.
|
|
||||||
bright tan bags contain 2 shiny silver bags.
|
|
||||||
drab turquoise bags contain 2 faded beige bags, 4 vibrant lavender bags.
|
|
||||||
faded yellow bags contain 2 dull black bags, 3 vibrant yellow bags, 4 plaid silver bags, 3 posh teal bags.
|
|
||||||
bright lime bags contain 3 striped aqua bags, 4 dull tomato bags, 5 dim gray bags.
|
|
||||||
plaid tan bags contain 2 plaid coral bags, 5 drab blue bags, 4 drab orange bags.
|
|
||||||
clear purple bags contain 2 drab tomato bags, 3 mirrored bronze bags, 2 dark teal bags, 4 dull green bags.
|
|
||||||
wavy red bags contain 4 faded tan bags, 4 wavy cyan bags.
|
|
||||||
vibrant purple bags contain 5 mirrored salmon bags, 1 dark salmon bag.
|
|
||||||
wavy tan bags contain 1 shiny olive bag, 2 faded maroon bags.
|
|
||||||
vibrant gray bags contain 1 mirrored olive bag, 2 dotted turquoise bags, 4 striped chartreuse bags, 1 dull tomato bag.
|
|
||||||
mirrored gray bags contain 4 bright blue bags, 1 striped olive bag.
|
|
||||||
dull aqua bags contain 1 vibrant purple bag, 1 faded maroon bag, 3 muted yellow bags.
|
|
||||||
clear red bags contain 1 posh violet bag.
|
|
||||||
light purple bags contain 2 shiny olive bags, 2 striped yellow bags, 4 dotted turquoise bags, 2 shiny violet bags.
|
|
||||||
dull brown bags contain 2 wavy red bags, 4 clear green bags.
|
|
||||||
wavy bronze bags contain 2 dull tomato bags.
|
|
||||||
muted beige bags contain 5 wavy aqua bags, 4 striped maroon bags, 2 drab tan bags.
|
|
||||||
muted black bags contain 1 posh green bag, 1 clear green bag, 5 striped bronze bags.
|
|
||||||
light green bags contain 4 dim lime bags, 1 shiny gold bag, 3 shiny crimson bags, 2 muted yellow bags.
|
|
||||||
mirrored fuchsia bags contain 1 dull bronze bag.
|
|
||||||
pale tomato bags contain 2 vibrant maroon bags, 2 muted orange bags, 1 wavy brown bag, 2 dull cyan bags.
|
|
||||||
drab chartreuse bags contain 5 mirrored magenta bags.
|
|
||||||
shiny indigo bags contain 4 pale teal bags, 3 dull silver bags, 5 mirrored olive bags.
|
|
||||||
bright aqua bags contain 3 bright violet bags.
|
|
||||||
shiny magenta bags contain 2 bright red bags.
|
|
||||||
vibrant orange bags contain 3 mirrored black bags, 5 mirrored olive bags.
|
|
||||||
mirrored indigo bags contain 4 vibrant coral bags, 1 mirrored crimson bag, 2 mirrored red bags.
|
|
||||||
plaid blue bags contain 5 wavy aqua bags, 2 plaid fuchsia bags, 3 wavy purple bags, 1 dim lime bag.
|
|
||||||
dotted plum bags contain 4 striped chartreuse bags, 4 dotted yellow bags, 4 light yellow bags, 3 striped red bags.
|
|
||||||
light violet bags contain 5 shiny chartreuse bags, 1 wavy lime bag, 1 vibrant beige bag.
|
|
||||||
dotted salmon bags contain 2 drab maroon bags, 5 muted black bags, 1 posh violet bag, 1 dull lime bag.
|
|
||||||
vibrant gold bags contain 5 dull magenta bags, 1 clear aqua bag, 3 mirrored beige bags, 1 pale cyan bag.
|
|
||||||
mirrored lavender bags contain 3 clear gold bags.
|
|
||||||
dotted gold bags contain 1 drab beige bag, 1 mirrored crimson bag.
|
|
||||||
bright magenta bags contain 1 striped maroon bag, 1 striped bronze bag, 5 mirrored beige bags, 1 dotted maroon bag.
|
|
||||||
clear black bags contain 1 faded chartreuse bag, 5 light blue bags.
|
|
||||||
bright tomato bags contain 3 mirrored tan bags, 2 mirrored olive bags, 3 muted bronze bags, 1 posh violet bag.
|
|
||||||
mirrored violet bags contain 3 striped chartreuse bags, 3 dim lime bags, 5 pale chartreuse bags, 1 posh tan bag.
|
|
||||||
faded gray bags contain 4 light crimson bags, 3 muted turquoise bags.
|
|
||||||
dark red bags contain 5 muted green bags, 4 mirrored maroon bags.
|
|
||||||
clear crimson bags contain 2 muted olive bags, 5 striped chartreuse bags.
|
|
||||||
vibrant lime bags contain 1 dim crimson bag, 2 faded coral bags, 3 light crimson bags.
|
|
||||||
vibrant bronze bags contain no other bags.
|
|
||||||
dotted white bags contain 4 dim purple bags, 2 mirrored chartreuse bags.
|
|
||||||
clear indigo bags contain 3 mirrored olive bags, 2 posh brown bags.
|
|
||||||
pale lime bags contain 5 faded salmon bags, 5 striped tan bags, 4 light white bags, 3 pale chartreuse bags.
|
|
||||||
vibrant coral bags contain 1 muted orange bag.
|
|
||||||
clear teal bags contain 1 posh plum bag.
|
|
||||||
wavy white bags contain 2 dim chartreuse bags, 1 dull tomato bag, 1 dull fuchsia bag, 4 faded silver bags.
|
|
||||||
dull yellow bags contain 2 mirrored gray bags, 2 shiny olive bags, 4 clear beige bags, 2 dim crimson bags.
|
|
||||||
posh fuchsia bags contain 3 dull teal bags.
|
|
||||||
dotted teal bags contain 3 dull white bags, 5 pale gray bags.
|
|
||||||
vibrant tomato bags contain 4 dull green bags.
|
|
||||||
dull purple bags contain 3 shiny red bags, 1 dim crimson bag, 5 drab turquoise bags.
|
|
||||||
vibrant aqua bags contain 1 bright cyan bag.
|
|
||||||
clear plum bags contain 5 drab magenta bags, 2 mirrored salmon bags.
|
|
||||||
dark tomato bags contain 1 dull beige bag, 1 faded violet bag.
|
|
||||||
bright violet bags contain 3 dim lime bags, 4 muted cyan bags, 4 dull gold bags.
|
|
||||||
dim teal bags contain 3 mirrored orange bags.
|
|
||||||
dark magenta bags contain 2 light tan bags, 5 bright violet bags, 4 dim aqua bags, 5 bright teal bags.
|
|
||||||
faded silver bags contain 2 dotted gold bags.
|
|
||||||
light lavender bags contain 5 mirrored chartreuse bags.
|
|
||||||
vibrant chartreuse bags contain 1 pale indigo bag, 2 drab tan bags, 2 striped bronze bags.
|
|
||||||
dotted blue bags contain 3 faded gray bags, 3 muted coral bags, 4 drab red bags.
|
|
||||||
drab lavender bags contain 1 dull bronze bag.
|
|
||||||
wavy green bags contain 2 vibrant brown bags.
|
|
||||||
bright gold bags contain 5 shiny blue bags.
|
|
||||||
dull lavender bags contain 4 vibrant beige bags, 4 wavy purple bags.
|
|
||||||
shiny tomato bags contain 5 plaid olive bags.
|
|
||||||
faded aqua bags contain 5 mirrored olive bags.
|
|
||||||
clear beige bags contain 4 shiny fuchsia bags, 5 wavy bronze bags.
|
|
||||||
pale black bags contain 1 shiny lavender bag, 4 muted olive bags, 3 striped gold bags.
|
|
||||||
faded beige bags contain 3 clear yellow bags, 1 bright turquoise bag.
|
|
||||||
dull salmon bags contain 1 plaid tomato bag, 1 dull coral bag, 4 dotted coral bags.
|
|
||||||
drab aqua bags contain 5 muted olive bags.
|
|
||||||
plaid fuchsia bags contain 2 wavy lime bags, 3 mirrored gray bags, 3 clear crimson bags.
|
|
||||||
pale turquoise bags contain 3 bright cyan bags, 3 posh blue bags, 3 dark olive bags.
|
|
||||||
dotted red bags contain 3 pale black bags, 3 light blue bags, 4 clear gold bags, 4 pale olive bags.
|
|
||||||
dark olive bags contain 5 shiny coral bags.
|
|
||||||
dull white bags contain no other bags.
|
|
||||||
shiny silver bags contain 3 posh plum bags, 4 posh brown bags, 4 dull chartreuse bags, 1 drab beige bag.
|
|
||||||
muted gray bags contain 5 posh coral bags.
|
|
||||||
light magenta bags contain 3 vibrant cyan bags, 1 striped tan bag, 5 dark maroon bags, 2 wavy cyan bags.
|
|
||||||
dim brown bags contain 3 dull green bags, 2 dull beige bags, 2 wavy gold bags, 5 wavy bronze bags.
|
|
||||||
vibrant brown bags contain 1 striped violet bag, 2 dull beige bags.
|
|
||||||
pale chartreuse bags contain 5 shiny gold bags, 4 dotted gold bags.
|
|
||||||
vibrant plum bags contain 4 mirrored gray bags, 1 bright silver bag, 3 bright cyan bags, 2 dull gray bags.
|
|
||||||
muted bronze bags contain 2 mirrored beige bags.
|
|
||||||
plaid green bags contain 3 striped tan bags, 4 drab maroon bags.
|
|
||||||
dark orange bags contain 4 drab beige bags, 1 striped beige bag, 1 dim indigo bag.
|
|
||||||
bright olive bags contain 4 bright turquoise bags.
|
|
||||||
drab indigo bags contain 4 striped tan bags, 5 dotted gold bags, 4 shiny crimson bags, 2 dull chartreuse bags.
|
|
||||||
light teal bags contain 5 dotted orange bags, 3 posh brown bags, 3 shiny gold bags.
|
|
||||||
dotted crimson bags contain 5 posh turquoise bags, 1 clear salmon bag, 5 faded salmon bags.
|
|
||||||
shiny red bags contain 4 bright blue bags, 2 posh lime bags, 5 shiny plum bags.
|
|
||||||
dark brown bags contain 5 posh magenta bags.
|
|
||||||
drab violet bags contain 5 posh indigo bags, 2 light chartreuse bags, 2 vibrant crimson bags.
|
|
||||||
plaid beige bags contain 3 drab olive bags, 5 dim fuchsia bags, 5 wavy turquoise bags.
|
|
||||||
bright plum bags contain 2 mirrored salmon bags, 4 faded tan bags.
|
|
||||||
plaid lavender bags contain 2 striped coral bags, 1 light coral bag.
|
|
||||||
shiny brown bags contain 2 wavy tan bags, 1 pale salmon bag, 2 clear bronze bags.
|
|
||||||
clear turquoise bags contain 2 dotted beige bags.
|
|
||||||
wavy orange bags contain 4 shiny green bags, 1 pale magenta bag, 4 dark plum bags, 4 mirrored olive bags.
|
|
||||||
vibrant turquoise bags contain 3 dotted black bags, 4 wavy salmon bags.
|
|
||||||
posh olive bags contain 1 dull black bag.
|
|
||||||
pale red bags contain 5 plaid tomato bags.
|
|
||||||
dim gold bags contain 5 wavy violet bags.
|
|
||||||
dotted fuchsia bags contain 4 pale plum bags, 2 dim salmon bags, 2 clear salmon bags, 4 vibrant blue bags.
|
|
||||||
wavy indigo bags contain 3 muted fuchsia bags, 1 drab maroon bag.
|
|
||||||
clear chartreuse bags contain 3 mirrored olive bags, 1 posh yellow bag, 1 faded salmon bag, 5 drab salmon bags.
|
|
||||||
drab red bags contain 2 faded lime bags, 3 bright fuchsia bags, 5 bright olive bags, 2 striped maroon bags.
|
|
||||||
dotted turquoise bags contain 5 dull white bags, 3 bright olive bags, 4 clear crimson bags.
|
|
||||||
muted coral bags contain 1 posh green bag, 4 dim violet bags, 2 faded silver bags, 3 dim plum bags.
|
|
||||||
plaid olive bags contain 2 striped cyan bags, 4 drab red bags, 2 clear beige bags, 5 plaid coral bags.
|
|
||||||
vibrant indigo bags contain 1 vibrant maroon bag.
|
|
||||||
clear olive bags contain 3 vibrant purple bags, 3 plaid green bags.
|
|
||||||
light blue bags contain 5 plaid lavender bags, 1 mirrored violet bag, 4 muted yellow bags.
|
|
||||||
muted turquoise bags contain 3 plaid brown bags, 5 clear aqua bags, 5 drab silver bags.
|
|
||||||
muted cyan bags contain 5 shiny fuchsia bags.
|
|
||||||
plaid aqua bags contain 3 posh green bags, 2 dull crimson bags.
|
|
||||||
dull teal bags contain 2 drab red bags.
|
|
||||||
dim olive bags contain 3 dark plum bags.
|
|
||||||
bright black bags contain 4 shiny salmon bags, 3 dull white bags, 4 clear brown bags.
|
|
||||||
mirrored maroon bags contain 1 drab turquoise bag, 2 plaid red bags, 3 faded black bags.
|
|
||||||
pale plum bags contain 1 dark salmon bag.
|
|
||||||
posh magenta bags contain 4 bright tan bags.
|
|
||||||
faded tan bags contain 1 pale magenta bag, 1 drab beige bag, 2 dull beige bags, 1 shiny silver bag.
|
|
||||||
dark coral bags contain 4 shiny orange bags, 2 dull green bags, 2 dim crimson bags.
|
|
||||||
plaid silver bags contain 2 dim black bags, 2 mirrored tan bags, 4 shiny plum bags, 4 wavy teal bags.
|
|
||||||
dim gray bags contain 3 dull green bags, 3 dull white bags, 2 clear yellow bags.
|
|
||||||
clear magenta bags contain 5 pale chartreuse bags, 5 light magenta bags, 4 mirrored gray bags.
|
|
||||||
posh coral bags contain 1 muted plum bag, 4 dim turquoise bags.
|
|
||||||
dim yellow bags contain 3 striped white bags.
|
|
||||||
mirrored tan bags contain 1 dim cyan bag, 3 wavy purple bags.
|
|
||||||
vibrant olive bags contain 5 striped fuchsia bags, 3 shiny silver bags.
|
|
||||||
pale cyan bags contain 5 vibrant bronze bags, 2 clear crimson bags, 1 dim violet bag.
|
|
||||||
vibrant teal bags contain 1 pale white bag, 5 clear gold bags, 2 striped white bags.
|
|
||||||
shiny gold bags contain 1 shiny coral bag, 5 posh white bags, 3 wavy cyan bags.
|
|
||||||
dim lime bags contain 1 bright turquoise bag.
|
|
||||||
posh salmon bags contain 1 dotted aqua bag, 3 faded cyan bags.
|
|
||||||
vibrant yellow bags contain 4 dim violet bags, 2 striped bronze bags, 3 clear crimson bags.
|
|
||||||
dull magenta bags contain 5 clear green bags.
|
|
||||||
bright orange bags contain 1 bright indigo bag, 3 clear tan bags, 5 dark brown bags.
|
|
||||||
mirrored blue bags contain 3 dotted aqua bags, 4 dotted magenta bags.
|
|
||||||
clear salmon bags contain 5 striped chartreuse bags, 5 drab brown bags.
|
|
||||||
light tan bags contain 3 drab orange bags, 5 posh purple bags, 3 faded plum bags.
|
|
||||||
dark purple bags contain 2 dim plum bags, 4 dark beige bags, 1 dull tomato bag, 4 dull gray bags.
|
|
||||||
shiny maroon bags contain 3 dotted aqua bags.
|
|
||||||
faded lime bags contain 2 light turquoise bags.
|
|
||||||
mirrored yellow bags contain 4 muted orange bags, 4 shiny black bags, 1 shiny green bag.
|
|
||||||
bright yellow bags contain 1 plaid bronze bag, 2 shiny gold bags.
|
|
||||||
striped crimson bags contain 5 dotted black bags.
|
|
||||||
611
src/files/P8.txt
611
src/files/P8.txt
@@ -1,611 +0,0 @@
|
|||||||
jmp +265
|
|
||||||
jmp +326
|
|
||||||
acc +41
|
|
||||||
acc +21
|
|
||||||
nop +255
|
|
||||||
jmp +104
|
|
||||||
jmp +563
|
|
||||||
jmp +568
|
|
||||||
acc -12
|
|
||||||
acc -7
|
|
||||||
jmp +9
|
|
||||||
jmp +3
|
|
||||||
acc -8
|
|
||||||
jmp +360
|
|
||||||
acc -10
|
|
||||||
acc +35
|
|
||||||
jmp +527
|
|
||||||
acc +27
|
|
||||||
jmp +176
|
|
||||||
jmp +511
|
|
||||||
acc +27
|
|
||||||
acc -18
|
|
||||||
acc +7
|
|
||||||
jmp +272
|
|
||||||
jmp +1
|
|
||||||
acc +45
|
|
||||||
jmp -24
|
|
||||||
acc +47
|
|
||||||
jmp -26
|
|
||||||
jmp +344
|
|
||||||
acc -17
|
|
||||||
acc +26
|
|
||||||
acc -7
|
|
||||||
jmp +193
|
|
||||||
acc +45
|
|
||||||
jmp +238
|
|
||||||
acc +13
|
|
||||||
acc +0
|
|
||||||
acc -13
|
|
||||||
acc +33
|
|
||||||
jmp +381
|
|
||||||
acc +16
|
|
||||||
acc -11
|
|
||||||
acc +14
|
|
||||||
acc +21
|
|
||||||
jmp +194
|
|
||||||
acc +48
|
|
||||||
acc +14
|
|
||||||
nop +271
|
|
||||||
jmp -8
|
|
||||||
acc +24
|
|
||||||
acc -6
|
|
||||||
acc +36
|
|
||||||
jmp +501
|
|
||||||
jmp -35
|
|
||||||
jmp +1
|
|
||||||
jmp +294
|
|
||||||
acc -3
|
|
||||||
jmp +181
|
|
||||||
nop +371
|
|
||||||
acc -12
|
|
||||||
jmp +198
|
|
||||||
nop +120
|
|
||||||
jmp +108
|
|
||||||
acc +45
|
|
||||||
acc +46
|
|
||||||
nop +193
|
|
||||||
jmp +346
|
|
||||||
acc +30
|
|
||||||
acc +26
|
|
||||||
jmp +200
|
|
||||||
acc +0
|
|
||||||
nop +187
|
|
||||||
acc +31
|
|
||||||
acc +30
|
|
||||||
jmp +40
|
|
||||||
acc +39
|
|
||||||
acc +2
|
|
||||||
acc +40
|
|
||||||
jmp +316
|
|
||||||
jmp +279
|
|
||||||
acc +0
|
|
||||||
acc +11
|
|
||||||
jmp +120
|
|
||||||
acc +32
|
|
||||||
nop +336
|
|
||||||
acc +13
|
|
||||||
jmp +178
|
|
||||||
acc -11
|
|
||||||
jmp +144
|
|
||||||
jmp +136
|
|
||||||
acc -3
|
|
||||||
nop +245
|
|
||||||
acc +34
|
|
||||||
jmp -23
|
|
||||||
acc -5
|
|
||||||
acc -11
|
|
||||||
jmp +217
|
|
||||||
acc +28
|
|
||||||
acc +22
|
|
||||||
acc +18
|
|
||||||
jmp +329
|
|
||||||
jmp +1
|
|
||||||
nop +350
|
|
||||||
nop -45
|
|
||||||
acc +13
|
|
||||||
jmp -87
|
|
||||||
acc -13
|
|
||||||
jmp +479
|
|
||||||
acc +31
|
|
||||||
acc -19
|
|
||||||
nop +342
|
|
||||||
jmp -78
|
|
||||||
acc +18
|
|
||||||
jmp +1
|
|
||||||
jmp +1
|
|
||||||
acc +18
|
|
||||||
jmp +278
|
|
||||||
nop +328
|
|
||||||
acc +6
|
|
||||||
jmp +1
|
|
||||||
acc -11
|
|
||||||
jmp +77
|
|
||||||
jmp +4
|
|
||||||
acc +32
|
|
||||||
acc +48
|
|
||||||
jmp +188
|
|
||||||
acc +14
|
|
||||||
acc +32
|
|
||||||
jmp +122
|
|
||||||
acc -6
|
|
||||||
acc -16
|
|
||||||
jmp -42
|
|
||||||
acc +32
|
|
||||||
acc +26
|
|
||||||
acc +33
|
|
||||||
jmp +48
|
|
||||||
acc +3
|
|
||||||
jmp +1
|
|
||||||
jmp +163
|
|
||||||
acc +34
|
|
||||||
acc +17
|
|
||||||
jmp -58
|
|
||||||
nop +254
|
|
||||||
acc +26
|
|
||||||
jmp +223
|
|
||||||
acc +7
|
|
||||||
nop +94
|
|
||||||
acc +12
|
|
||||||
jmp +433
|
|
||||||
acc +30
|
|
||||||
acc -17
|
|
||||||
acc +3
|
|
||||||
acc +50
|
|
||||||
jmp -95
|
|
||||||
jmp +1
|
|
||||||
acc +42
|
|
||||||
jmp -146
|
|
||||||
acc +12
|
|
||||||
acc +33
|
|
||||||
jmp -101
|
|
||||||
acc +18
|
|
||||||
jmp +244
|
|
||||||
nop +243
|
|
||||||
jmp -130
|
|
||||||
acc -8
|
|
||||||
jmp +55
|
|
||||||
acc +39
|
|
||||||
acc +45
|
|
||||||
nop +2
|
|
||||||
jmp +239
|
|
||||||
acc -19
|
|
||||||
acc +23
|
|
||||||
acc +36
|
|
||||||
jmp +59
|
|
||||||
acc -14
|
|
||||||
acc +29
|
|
||||||
jmp -158
|
|
||||||
acc +31
|
|
||||||
acc +6
|
|
||||||
jmp +223
|
|
||||||
jmp +126
|
|
||||||
jmp +306
|
|
||||||
jmp +214
|
|
||||||
acc -16
|
|
||||||
jmp +102
|
|
||||||
acc -6
|
|
||||||
acc +19
|
|
||||||
jmp -174
|
|
||||||
jmp +283
|
|
||||||
acc -13
|
|
||||||
acc +12
|
|
||||||
acc -8
|
|
||||||
jmp +72
|
|
||||||
jmp +252
|
|
||||||
acc +16
|
|
||||||
acc +26
|
|
||||||
nop -19
|
|
||||||
jmp +377
|
|
||||||
jmp -15
|
|
||||||
acc -7
|
|
||||||
acc +34
|
|
||||||
jmp +352
|
|
||||||
jmp -101
|
|
||||||
jmp -154
|
|
||||||
acc +32
|
|
||||||
nop -1
|
|
||||||
acc +49
|
|
||||||
jmp -167
|
|
||||||
jmp +110
|
|
||||||
jmp +127
|
|
||||||
acc -3
|
|
||||||
acc +17
|
|
||||||
jmp +330
|
|
||||||
acc +27
|
|
||||||
jmp -50
|
|
||||||
acc +25
|
|
||||||
acc +8
|
|
||||||
acc +21
|
|
||||||
acc +4
|
|
||||||
jmp +189
|
|
||||||
jmp -157
|
|
||||||
nop +231
|
|
||||||
acc +27
|
|
||||||
acc +27
|
|
||||||
jmp +77
|
|
||||||
acc +6
|
|
||||||
jmp -198
|
|
||||||
nop +274
|
|
||||||
acc -16
|
|
||||||
acc +31
|
|
||||||
acc +5
|
|
||||||
jmp +122
|
|
||||||
jmp -30
|
|
||||||
nop -79
|
|
||||||
acc +43
|
|
||||||
acc +24
|
|
||||||
acc -1
|
|
||||||
jmp +349
|
|
||||||
jmp +80
|
|
||||||
jmp +352
|
|
||||||
acc +15
|
|
||||||
acc +6
|
|
||||||
acc +46
|
|
||||||
acc -11
|
|
||||||
jmp -35
|
|
||||||
acc -9
|
|
||||||
acc -16
|
|
||||||
acc +22
|
|
||||||
nop -71
|
|
||||||
jmp +280
|
|
||||||
acc +28
|
|
||||||
acc +17
|
|
||||||
jmp +127
|
|
||||||
acc -15
|
|
||||||
acc +14
|
|
||||||
acc +0
|
|
||||||
acc +45
|
|
||||||
jmp +311
|
|
||||||
acc -19
|
|
||||||
jmp +309
|
|
||||||
acc +36
|
|
||||||
acc +7
|
|
||||||
nop +102
|
|
||||||
jmp -31
|
|
||||||
nop +278
|
|
||||||
nop +259
|
|
||||||
acc +35
|
|
||||||
jmp -86
|
|
||||||
jmp +1
|
|
||||||
jmp +84
|
|
||||||
acc +30
|
|
||||||
jmp -111
|
|
||||||
jmp +263
|
|
||||||
acc -14
|
|
||||||
acc -8
|
|
||||||
acc +7
|
|
||||||
jmp -263
|
|
||||||
jmp -259
|
|
||||||
jmp -14
|
|
||||||
acc +26
|
|
||||||
acc +4
|
|
||||||
jmp -56
|
|
||||||
acc +31
|
|
||||||
acc +49
|
|
||||||
acc +42
|
|
||||||
jmp +263
|
|
||||||
acc -15
|
|
||||||
acc -13
|
|
||||||
acc -7
|
|
||||||
acc +35
|
|
||||||
jmp +270
|
|
||||||
acc -3
|
|
||||||
acc +31
|
|
||||||
jmp -148
|
|
||||||
acc +8
|
|
||||||
acc +14
|
|
||||||
jmp -247
|
|
||||||
acc -1
|
|
||||||
nop +255
|
|
||||||
acc -15
|
|
||||||
jmp +140
|
|
||||||
acc +38
|
|
||||||
nop +106
|
|
||||||
acc +29
|
|
||||||
jmp +244
|
|
||||||
jmp +62
|
|
||||||
acc +5
|
|
||||||
nop -218
|
|
||||||
acc +47
|
|
||||||
acc -18
|
|
||||||
jmp +208
|
|
||||||
nop +47
|
|
||||||
jmp +46
|
|
||||||
acc +27
|
|
||||||
jmp +126
|
|
||||||
acc +50
|
|
||||||
nop +129
|
|
||||||
jmp -147
|
|
||||||
nop -278
|
|
||||||
jmp +1
|
|
||||||
acc +37
|
|
||||||
acc -17
|
|
||||||
jmp +17
|
|
||||||
acc +18
|
|
||||||
acc +21
|
|
||||||
jmp -121
|
|
||||||
acc +12
|
|
||||||
acc +37
|
|
||||||
acc +48
|
|
||||||
acc +24
|
|
||||||
jmp -176
|
|
||||||
acc +18
|
|
||||||
acc -3
|
|
||||||
nop -169
|
|
||||||
acc -4
|
|
||||||
jmp +23
|
|
||||||
acc +42
|
|
||||||
jmp +30
|
|
||||||
jmp +15
|
|
||||||
acc +33
|
|
||||||
acc +33
|
|
||||||
acc +36
|
|
||||||
acc -7
|
|
||||||
jmp +262
|
|
||||||
acc -16
|
|
||||||
jmp -27
|
|
||||||
acc -14
|
|
||||||
jmp +17
|
|
||||||
jmp -79
|
|
||||||
jmp +242
|
|
||||||
acc +1
|
|
||||||
acc -12
|
|
||||||
jmp -3
|
|
||||||
acc +11
|
|
||||||
acc +44
|
|
||||||
nop -254
|
|
||||||
jmp +52
|
|
||||||
jmp -294
|
|
||||||
acc -9
|
|
||||||
acc +50
|
|
||||||
acc -9
|
|
||||||
jmp -229
|
|
||||||
acc +6
|
|
||||||
jmp +211
|
|
||||||
nop -132
|
|
||||||
jmp +136
|
|
||||||
jmp +74
|
|
||||||
acc +39
|
|
||||||
acc +18
|
|
||||||
jmp +51
|
|
||||||
nop -281
|
|
||||||
jmp -211
|
|
||||||
nop -19
|
|
||||||
jmp +114
|
|
||||||
nop -97
|
|
||||||
jmp +1
|
|
||||||
nop -282
|
|
||||||
acc +45
|
|
||||||
jmp +30
|
|
||||||
jmp -191
|
|
||||||
acc -13
|
|
||||||
acc -4
|
|
||||||
acc -8
|
|
||||||
jmp +159
|
|
||||||
acc +36
|
|
||||||
acc +21
|
|
||||||
acc -13
|
|
||||||
acc +3
|
|
||||||
jmp -266
|
|
||||||
acc +45
|
|
||||||
acc +29
|
|
||||||
nop -55
|
|
||||||
acc +39
|
|
||||||
jmp +121
|
|
||||||
jmp +58
|
|
||||||
jmp -101
|
|
||||||
acc -17
|
|
||||||
acc +44
|
|
||||||
jmp -319
|
|
||||||
acc -15
|
|
||||||
acc -7
|
|
||||||
jmp -132
|
|
||||||
acc +31
|
|
||||||
jmp +165
|
|
||||||
jmp -191
|
|
||||||
jmp +87
|
|
||||||
acc +23
|
|
||||||
jmp +54
|
|
||||||
acc +6
|
|
||||||
nop -330
|
|
||||||
jmp +26
|
|
||||||
jmp -9
|
|
||||||
acc +43
|
|
||||||
acc +50
|
|
||||||
acc +49
|
|
||||||
jmp +63
|
|
||||||
jmp +1
|
|
||||||
acc -6
|
|
||||||
acc +17
|
|
||||||
jmp -311
|
|
||||||
acc +50
|
|
||||||
acc -13
|
|
||||||
acc -15
|
|
||||||
acc +33
|
|
||||||
jmp -279
|
|
||||||
acc +7
|
|
||||||
acc -7
|
|
||||||
acc +40
|
|
||||||
jmp -374
|
|
||||||
acc +18
|
|
||||||
acc -14
|
|
||||||
acc +42
|
|
||||||
jmp -106
|
|
||||||
acc +49
|
|
||||||
acc +50
|
|
||||||
jmp -156
|
|
||||||
jmp -314
|
|
||||||
acc +28
|
|
||||||
acc +49
|
|
||||||
jmp +114
|
|
||||||
acc +15
|
|
||||||
jmp -12
|
|
||||||
acc +11
|
|
||||||
acc +9
|
|
||||||
jmp -386
|
|
||||||
jmp +1
|
|
||||||
jmp -376
|
|
||||||
acc +6
|
|
||||||
acc -9
|
|
||||||
acc -2
|
|
||||||
acc +49
|
|
||||||
jmp +36
|
|
||||||
acc -2
|
|
||||||
jmp +1
|
|
||||||
acc -2
|
|
||||||
jmp -361
|
|
||||||
acc -14
|
|
||||||
acc -16
|
|
||||||
nop -452
|
|
||||||
acc +40
|
|
||||||
jmp -107
|
|
||||||
nop -378
|
|
||||||
acc -17
|
|
||||||
acc +26
|
|
||||||
acc -11
|
|
||||||
jmp -272
|
|
||||||
acc +9
|
|
||||||
acc +8
|
|
||||||
acc +20
|
|
||||||
acc -19
|
|
||||||
jmp -106
|
|
||||||
acc -13
|
|
||||||
jmp -466
|
|
||||||
acc +40
|
|
||||||
acc +43
|
|
||||||
acc +28
|
|
||||||
acc +24
|
|
||||||
jmp +15
|
|
||||||
acc +21
|
|
||||||
nop -456
|
|
||||||
acc +7
|
|
||||||
jmp -97
|
|
||||||
acc +46
|
|
||||||
jmp +1
|
|
||||||
acc -5
|
|
||||||
acc +49
|
|
||||||
jmp +38
|
|
||||||
acc +42
|
|
||||||
jmp -470
|
|
||||||
acc +33
|
|
||||||
acc -10
|
|
||||||
jmp +57
|
|
||||||
acc -19
|
|
||||||
acc +10
|
|
||||||
acc +29
|
|
||||||
jmp -218
|
|
||||||
acc +2
|
|
||||||
acc +19
|
|
||||||
acc -4
|
|
||||||
acc -16
|
|
||||||
jmp -187
|
|
||||||
acc +41
|
|
||||||
acc +16
|
|
||||||
jmp -414
|
|
||||||
acc +30
|
|
||||||
acc +1
|
|
||||||
jmp -229
|
|
||||||
acc -2
|
|
||||||
acc +42
|
|
||||||
jmp -269
|
|
||||||
acc +39
|
|
||||||
acc -2
|
|
||||||
acc +7
|
|
||||||
jmp -300
|
|
||||||
jmp -301
|
|
||||||
acc -4
|
|
||||||
jmp +1
|
|
||||||
jmp -357
|
|
||||||
acc +22
|
|
||||||
acc +47
|
|
||||||
jmp +4
|
|
||||||
acc +45
|
|
||||||
nop -428
|
|
||||||
jmp -115
|
|
||||||
nop -402
|
|
||||||
jmp -312
|
|
||||||
acc -3
|
|
||||||
acc +2
|
|
||||||
jmp -345
|
|
||||||
acc +49
|
|
||||||
acc -12
|
|
||||||
acc +30
|
|
||||||
acc +21
|
|
||||||
jmp -335
|
|
||||||
jmp -440
|
|
||||||
acc -8
|
|
||||||
acc +24
|
|
||||||
jmp -30
|
|
||||||
acc -14
|
|
||||||
acc +32
|
|
||||||
acc +11
|
|
||||||
jmp -188
|
|
||||||
nop -7
|
|
||||||
acc +15
|
|
||||||
acc -14
|
|
||||||
jmp +53
|
|
||||||
acc +5
|
|
||||||
jmp -366
|
|
||||||
acc -13
|
|
||||||
acc +24
|
|
||||||
jmp -492
|
|
||||||
acc +38
|
|
||||||
jmp -258
|
|
||||||
acc +47
|
|
||||||
jmp -40
|
|
||||||
nop -485
|
|
||||||
acc -13
|
|
||||||
acc -2
|
|
||||||
acc +0
|
|
||||||
jmp -154
|
|
||||||
acc +25
|
|
||||||
acc +38
|
|
||||||
acc +47
|
|
||||||
jmp -257
|
|
||||||
acc +0
|
|
||||||
acc +37
|
|
||||||
acc +32
|
|
||||||
jmp -549
|
|
||||||
acc +15
|
|
||||||
acc +29
|
|
||||||
acc +29
|
|
||||||
acc +5
|
|
||||||
jmp -111
|
|
||||||
jmp -392
|
|
||||||
acc +15
|
|
||||||
acc +24
|
|
||||||
acc +38
|
|
||||||
jmp +9
|
|
||||||
nop -299
|
|
||||||
nop -381
|
|
||||||
jmp -552
|
|
||||||
acc +50
|
|
||||||
nop -488
|
|
||||||
acc +45
|
|
||||||
jmp -305
|
|
||||||
jmp -404
|
|
||||||
acc +34
|
|
||||||
jmp -410
|
|
||||||
acc +15
|
|
||||||
acc +25
|
|
||||||
jmp -332
|
|
||||||
acc +2
|
|
||||||
jmp -388
|
|
||||||
acc +31
|
|
||||||
acc +45
|
|
||||||
nop -555
|
|
||||||
nop -247
|
|
||||||
jmp -248
|
|
||||||
acc +3
|
|
||||||
jmp -576
|
|
||||||
acc +22
|
|
||||||
nop -420
|
|
||||||
acc +36
|
|
||||||
acc +33
|
|
||||||
jmp -372
|
|
||||||
nop -551
|
|
||||||
acc +27
|
|
||||||
nop -567
|
|
||||||
nop -554
|
|
||||||
jmp +1
|
|
||||||
1000
src/files/P9.txt
1000
src/files/P9.txt
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user