diff options
| -rw-r--r-- | day4/__init__.py | 121 | ||||
| -rw-r--r-- | day4/example.txt | 19 | ||||
| -rw-r--r-- | day4/input.txt | 601 |
3 files changed, 741 insertions, 0 deletions
diff --git a/day4/__init__.py b/day4/__init__.py new file mode 100644 index 0000000..74c01f1 --- /dev/null +++ b/day4/__init__.py | |||
| @@ -0,0 +1,121 @@ | |||
| 1 | from collections import Counter | ||
| 2 | from copy import copy | ||
| 3 | from dataclasses import dataclass | ||
| 4 | from typing import Iterator, List, Optional, Tuple, Callable | ||
| 5 | |||
| 6 | from aoc import BaseAssignment | ||
| 7 | |||
| 8 | def bold(item: str, condition: Callable[[], bool]): | ||
| 9 | return f'\033[36m{item}\033[0m' if condition() else item | ||
| 10 | |||
| 11 | @dataclass | ||
| 12 | class Number: | ||
| 13 | nr: int | ||
| 14 | marked: bool = False | ||
| 15 | |||
| 16 | def __int__(self): | ||
| 17 | return self.nr | ||
| 18 | |||
| 19 | def __bool__(self): | ||
| 20 | return self.marked | ||
| 21 | |||
| 22 | def __radd__(self, other): | ||
| 23 | return other + int(self) | ||
| 24 | |||
| 25 | def mark(self): | ||
| 26 | self.marked = True | ||
| 27 | |||
| 28 | @dataclass | ||
| 29 | class BingoCard: | ||
| 30 | card: List[List[Number]] | ||
| 31 | |||
| 32 | @property | ||
| 33 | def bingo(self) -> bool: | ||
| 34 | return any([ | ||
| 35 | *[all(bool(item) for item in row) for row in self.card], | ||
| 36 | *[all(bool(row[col_index]) for row in self.card) for col_index in range(5)] | ||
| 37 | ]) | ||
| 38 | |||
| 39 | def mark(self, nr: int): | ||
| 40 | for row in self.card: | ||
| 41 | for item in row: | ||
| 42 | if int(item) == nr: | ||
| 43 | item.mark() | ||
| 44 | |||
| 45 | @property | ||
| 46 | def unmarked(self): | ||
| 47 | return [ | ||
| 48 | item | ||
| 49 | for row in self.card | ||
| 50 | for item in row | ||
| 51 | if not bool(item) | ||
| 52 | ] | ||
| 53 | |||
| 54 | def __str__(self): | ||
| 55 | return '\n'.join([ | ||
| 56 | ''.join([ | ||
| 57 | bold(str(int(item)).rjust(2, ' ').ljust(3, ' '), lambda: item.marked) | ||
| 58 | for item in row | ||
| 59 | ]) | ||
| 60 | for row in self.card | ||
| 61 | ]) | ||
| 62 | |||
| 63 | |||
| 64 | class Assignment(BaseAssignment): | ||
| 65 | def read_input(self, example = False) -> Tuple[List[int], List[BingoCard]]: | ||
| 66 | cards = [] | ||
| 67 | card = None | ||
| 68 | |||
| 69 | input = super().read_input(example) | ||
| 70 | nrs = [ int(n) for n in next(input).split(',') ] | ||
| 71 | |||
| 72 | try: | ||
| 73 | row = next(input) | ||
| 74 | |||
| 75 | while True: | ||
| 76 | if row == '': | ||
| 77 | if card is not None: | ||
| 78 | cards.append(BingoCard(card=card)) | ||
| 79 | card = [] | ||
| 80 | else: | ||
| 81 | card.append([ Number(nr=int(item)) for item in row.split(' ') if item != '']) | ||
| 82 | |||
| 83 | row = next(input) | ||
| 84 | |||
| 85 | except StopIteration: | ||
| 86 | if card is not None: | ||
| 87 | cards.append(BingoCard(card=card)) | ||
| 88 | |||
| 89 | return nrs, cards | ||
| 90 | |||
| 91 | |||
| 92 | class AssignmentOne(Assignment): | ||
| 93 | example_result = 4512 | ||
| 94 | |||
| 95 | def run(self, input: Tuple[List[int], List[BingoCard]]) -> int: | ||
| 96 | nrs, cards = input | ||
| 97 | |||
| 98 | for nr in nrs: | ||
| 99 | for card in cards: | ||
| 100 | card.mark(nr) | ||
| 101 | |||
| 102 | if card.bingo: | ||
| 103 | return nr * sum(card.unmarked) | ||
| 104 | |||
| 105 | |||
| 106 | class AssignmentTwo(Assignment): | ||
| 107 | example_result = 1924 | ||
| 108 | |||
| 109 | def run(self, input: Tuple[List[int], List[BingoCard]]) -> int: | ||
| 110 | nrs, cards = input | ||
| 111 | |||
| 112 | in_game = copy(cards) | ||
| 113 | for nr in nrs: | ||
| 114 | for card in copy(in_game): | ||
| 115 | card.mark(nr) | ||
| 116 | |||
| 117 | if card.bingo: | ||
| 118 | in_game.remove(card) | ||
| 119 | |||
| 120 | if len(in_game) == 0: | ||
| 121 | return nr * sum(card.unmarked) \ No newline at end of file | ||
diff --git a/day4/example.txt b/day4/example.txt new file mode 100644 index 0000000..49d17bc --- /dev/null +++ b/day4/example.txt | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | 7,4,9,5,11,17,23,2,0,14,21,24,10,16,13,6,15,25,12,22,18,20,8,19,3,26,1 | ||
| 2 | |||
| 3 | 22 13 17 11 0 | ||
| 4 | 8 2 23 4 24 | ||
| 5 | 21 9 14 16 7 | ||
| 6 | 6 10 3 18 5 | ||
| 7 | 1 12 20 15 19 | ||
| 8 | |||
| 9 | 3 15 0 2 22 | ||
| 10 | 9 18 13 17 5 | ||
| 11 | 19 8 7 25 23 | ||
| 12 | 20 11 10 24 4 | ||
| 13 | 14 21 16 12 6 | ||
| 14 | |||
| 15 | 14 21 17 24 4 | ||
| 16 | 10 16 15 9 19 | ||
| 17 | 18 8 23 26 20 | ||
| 18 | 22 11 13 6 5 | ||
| 19 | 2 0 12 3 7 \ No newline at end of file | ||
diff --git a/day4/input.txt b/day4/input.txt new file mode 100644 index 0000000..0c1c262 --- /dev/null +++ b/day4/input.txt | |||
| @@ -0,0 +1,601 @@ | |||
| 1 | 17,25,31,22,79,72,58,47,62,50,30,91,11,63,66,83,33,75,44,18,56,81,32,46,93,13,41,65,14,95,19,38,8,35,52,7,12,70,84,23,4,42,90,60,6,40,97,16,27,86,5,48,54,64,29,67,26,89,99,53,34,0,57,3,92,37,59,9,21,78,51,80,73,82,76,28,88,96,45,69,98,1,2,71,68,49,36,15,55,39,87,77,74,94,61,85,10,43,20,24 | ||
| 2 | |||
| 3 | 36 11 70 77 80 | ||
| 4 | 63 3 56 75 28 | ||
| 5 | 89 91 27 33 82 | ||
| 6 | 53 79 52 96 32 | ||
| 7 | 58 14 78 65 38 | ||
| 8 | |||
| 9 | 26 15 50 56 2 | ||
| 10 | 20 27 42 11 16 | ||
| 11 | 93 44 38 28 68 | ||
| 12 | 66 88 78 81 77 | ||
| 13 | 91 46 55 86 6 | ||
| 14 | |||
| 15 | 46 53 14 17 75 | ||
| 16 | 71 4 70 99 48 | ||
| 17 | 65 96 68 80 72 | ||
| 18 | 3 97 62 37 88 | ||
| 19 | 82 35 36 23 39 | ||
| 20 | |||
| 21 | 17 1 61 77 5 | ||
| 22 | 74 60 12 24 48 | ||
| 23 | 34 19 68 65 86 | ||
| 24 | 44 59 38 40 95 | ||
| 25 | 67 64 9 52 27 | ||
| 26 | |||
| 27 | 44 60 8 81 3 | ||
| 28 | 30 71 85 23 99 | ||
| 29 | 68 88 38 97 48 | ||
| 30 | 27 70 63 28 12 | ||
| 31 | 67 57 34 13 93 | ||
| 32 | |||
| 33 | 52 82 88 61 0 | ||
| 34 | 68 21 59 75 71 | ||
| 35 | 86 36 39 20 48 | ||
| 36 | 50 40 19 6 34 | ||
| 37 | 93 26 14 41 49 | ||
| 38 | |||
| 39 | 74 18 93 59 77 | ||
| 40 | 14 45 57 61 92 | ||
| 41 | 10 78 42 63 52 | ||
| 42 | 87 3 0 62 20 | ||
| 43 | 25 64 48 22 96 | ||
| 44 | |||
| 45 | 11 73 88 47 30 | ||
| 46 | 10 6 5 25 67 | ||
| 47 | 89 41 62 94 85 | ||
| 48 | 45 99 58 7 57 | ||
| 49 | 77 19 66 43 48 | ||
| 50 | |||
| 51 | 94 47 45 73 44 | ||
| 52 | 22 8 84 79 6 | ||
| 53 | 14 58 26 92 5 | ||
| 54 | 40 48 42 25 2 | ||
| 55 | 37 76 18 80 74 | ||
| 56 | |||
| 57 | 15 3 89 77 98 | ||
| 58 | 13 99 10 97 59 | ||
| 59 | 18 96 64 47 37 | ||
| 60 | 68 92 90 56 11 | ||
| 61 | 76 81 12 91 69 | ||
| 62 | |||
| 63 | 82 97 69 47 10 | ||
| 64 | 51 12 41 23 45 | ||
| 65 | 71 6 67 80 46 | ||
| 66 | 31 70 40 9 42 | ||
| 67 | 27 1 17 25 74 | ||
| 68 | |||
| 69 | 2 77 1 37 29 | ||
| 70 | 50 8 87 12 76 | ||
| 71 | 74 88 48 60 79 | ||
| 72 | 41 35 92 33 34 | ||
| 73 | 45 52 75 24 28 | ||
| 74 | |||
| 75 | 97 41 49 40 96 | ||
| 76 | 84 54 12 24 45 | ||
| 77 | 39 1 17 85 52 | ||
| 78 | 3 29 67 33 9 | ||
| 79 | 50 7 47 48 81 | ||
| 80 | |||
| 81 | 76 77 15 84 71 | ||
| 82 | 41 7 32 29 62 | ||
| 83 | 30 87 14 10 48 | ||
| 84 | 98 22 96 45 9 | ||
| 85 | 66 91 83 21 55 | ||
| 86 | |||
| 87 | 20 42 33 9 91 | ||
| 88 | 11 71 64 83 61 | ||
| 89 | 82 54 67 38 60 | ||
| 90 | 77 57 81 78 98 | ||
| 91 | 18 1 27 55 87 | ||
| 92 | |||
| 93 | 7 13 36 93 47 | ||
| 94 | 45 25 44 58 72 | ||
| 95 | 74 80 52 24 15 | ||
| 96 | 64 43 96 42 20 | ||
| 97 | 82 10 73 46 57 | ||
| 98 | |||
| 99 | 40 36 86 87 76 | ||
| 100 | 16 11 70 81 25 | ||
| 101 | 55 31 83 72 88 | ||
| 102 | 57 33 44 58 5 | ||
| 103 | 64 15 19 67 53 | ||
| 104 | |||
| 105 | 61 95 27 3 20 | ||
| 106 | 85 1 76 25 80 | ||
| 107 | 12 78 98 36 4 | ||
| 108 | 86 90 19 64 38 | ||
| 109 | 22 65 96 87 68 | ||
| 110 | |||
| 111 | 11 52 17 89 64 | ||
| 112 | 90 35 94 81 62 | ||
| 113 | 65 30 51 67 85 | ||
| 114 | 40 32 37 78 74 | ||
| 115 | 97 27 10 96 91 | ||
| 116 | |||
| 117 | 45 14 34 23 49 | ||
| 118 | 79 21 90 56 4 | ||
| 119 | 25 44 92 0 31 | ||
| 120 | 16 24 88 48 84 | ||
| 121 | 15 63 50 76 52 | ||
| 122 | |||
| 123 | 42 31 84 64 24 | ||
| 124 | 34 58 53 3 73 | ||
| 125 | 56 35 33 89 41 | ||
| 126 | 16 8 85 92 6 | ||
| 127 | 40 19 51 14 4 | ||
| 128 | |||
| 129 | 46 61 74 54 30 | ||
| 130 | 35 79 63 8 10 | ||
| 131 | 64 38 71 23 98 | ||
| 132 | 59 72 83 70 50 | ||
| 133 | 91 77 69 55 84 | ||
| 134 | |||
| 135 | 93 40 9 49 66 | ||
| 136 | 45 35 71 65 61 | ||
| 137 | 5 14 20 83 10 | ||
| 138 | 84 47 53 96 97 | ||
| 139 | 6 30 77 52 67 | ||
| 140 | |||
| 141 | 19 78 68 18 86 | ||
| 142 | 94 82 16 21 95 | ||
| 143 | 71 63 22 3 72 | ||
| 144 | 91 27 59 49 11 | ||
| 145 | 53 69 46 52 36 | ||
| 146 | |||
| 147 | 44 94 30 21 22 | ||
| 148 | 25 81 60 74 99 | ||
| 149 | 32 62 10 79 39 | ||
| 150 | 28 63 96 90 55 | ||
| 151 | 58 85 93 36 76 | ||
| 152 | |||
| 153 | 90 71 76 51 87 | ||
| 154 | 26 64 2 49 19 | ||
| 155 | 54 47 32 93 92 | ||
| 156 | 88 69 24 60 94 | ||
| 157 | 42 73 67 56 23 | ||
| 158 | |||
| 159 | 8 22 47 12 10 | ||
| 160 | 59 31 99 41 17 | ||
| 161 | 60 23 37 0 57 | ||
| 162 | 21 11 77 79 91 | ||
| 163 | 50 34 16 72 15 | ||
| 164 | |||
| 165 | 27 11 12 7 83 | ||
| 166 | 9 50 47 84 35 | ||
| 167 | 75 99 97 78 53 | ||
| 168 | 20 70 51 76 44 | ||
| 169 | 73 90 0 62 58 | ||
| 170 | |||
| 171 | 60 49 0 40 8 | ||
| 172 | 74 73 95 3 90 | ||
| 173 | 27 39 10 19 35 | ||
| 174 | 6 50 16 72 82 | ||
| 175 | 71 36 11 99 52 | ||
| 176 | |||
| 177 | 15 97 9 75 37 | ||
| 178 | 33 65 30 18 10 | ||
| 179 | 93 14 77 80 36 | ||
| 180 | 82 35 88 12 21 | ||
| 181 | 40 22 84 49 81 | ||
| 182 | |||
| 183 | 18 74 94 79 17 | ||
| 184 | 39 51 98 8 99 | ||
| 185 | 33 63 50 65 40 | ||
| 186 | 29 55 75 91 90 | ||
| 187 | 24 54 87 97 48 | ||
| 188 | |||
| 189 | 44 81 21 77 10 | ||
| 190 | 8 52 54 5 88 | ||
| 191 | 37 29 59 43 34 | ||
| 192 | 70 30 86 31 56 | ||
| 193 | 35 40 13 4 45 | ||
| 194 | |||
| 195 | 12 84 38 37 54 | ||
| 196 | 72 69 86 90 91 | ||
| 197 | 31 45 15 52 59 | ||
| 198 | 51 9 1 34 63 | ||
| 199 | 53 29 20 3 56 | ||
| 200 | |||
| 201 | 43 46 86 35 73 | ||
| 202 | 94 87 90 39 95 | ||
| 203 | 25 0 17 84 54 | ||
| 204 | 22 27 76 26 63 | ||
| 205 | 91 68 2 14 37 | ||
| 206 | |||
| 207 | 67 63 20 21 27 | ||
| 208 | 98 78 4 51 82 | ||
| 209 | 74 86 46 12 56 | ||
| 210 | 57 94 81 33 11 | ||
| 211 | 29 13 83 37 40 | ||
| 212 | |||
| 213 | 11 87 71 33 64 | ||
| 214 | 52 97 91 79 24 | ||
| 215 | 54 37 72 55 0 | ||
| 216 | 21 67 80 51 10 | ||
| 217 | 6 35 49 68 18 | ||
| 218 | |||
| 219 | 27 7 95 81 93 | ||
| 220 | 99 97 67 65 72 | ||
| 221 | 59 92 32 43 50 | ||
| 222 | 56 74 42 75 41 | ||
| 223 | 13 36 79 78 23 | ||
| 224 | |||
| 225 | 94 9 47 30 85 | ||
| 226 | 5 80 86 55 11 | ||
| 227 | 44 54 17 74 36 | ||
| 228 | 22 98 84 7 88 | ||
| 229 | 52 34 0 97 73 | ||
| 230 | |||
| 231 | 10 70 26 89 28 | ||
| 232 | 98 41 77 64 38 | ||
| 233 | 46 8 22 5 29 | ||
| 234 | 71 11 57 20 31 | ||
| 235 | 97 90 50 95 51 | ||
| 236 | |||
| 237 | 26 23 73 25 11 | ||
| 238 | 80 97 68 7 27 | ||
| 239 | 43 72 47 49 93 | ||
| 240 | 2 21 50 82 66 | ||
| 241 | 34 81 90 18 48 | ||
| 242 | |||
| 243 | 79 61 33 42 50 | ||
| 244 | 28 44 30 99 88 | ||
| 245 | 57 14 35 60 31 | ||
| 246 | 15 27 34 13 19 | ||
| 247 | 72 71 64 76 21 | ||
| 248 | |||
| 249 | 80 73 78 18 28 | ||
| 250 | 79 1 76 42 58 | ||
| 251 | 90 85 48 81 61 | ||
| 252 | 52 44 51 53 39 | ||
| 253 | 63 98 25 24 70 | ||
| 254 | |||
| 255 | 22 63 35 31 11 | ||
| 256 | 55 48 85 65 68 | ||
| 257 | 49 52 40 74 97 | ||
| 258 | 37 69 98 79 67 | ||
| 259 | 2 91 7 41 16 | ||
| 260 | |||
| 261 | 28 43 21 66 67 | ||
| 262 | 56 88 77 37 41 | ||
| 263 | 63 55 79 94 62 | ||
| 264 | 61 60 23 45 87 | ||
| 265 | 58 12 99 47 73 | ||
| 266 | |||
| 267 | 2 21 26 27 42 | ||
| 268 | 65 47 71 85 4 | ||
| 269 | 76 13 40 56 29 | ||
| 270 | 50 53 28 97 90 | ||
| 271 | 17 1 14 74 48 | ||
| 272 | |||
| 273 | 4 98 39 40 11 | ||
| 274 | 90 88 87 86 13 | ||
| 275 | 92 80 95 99 51 | ||
| 276 | 54 18 70 34 38 | ||
| 277 | 75 37 28 78 46 | ||
| 278 | |||
| 279 | 7 11 73 51 47 | ||
| 280 | 26 69 61 91 57 | ||
| 281 | 55 48 14 94 82 | ||
| 282 | 19 37 15 54 65 | ||
| 283 | 25 43 90 16 81 | ||
| 284 | |||
| 285 | 50 30 78 7 61 | ||
| 286 | 99 32 91 13 21 | ||
| 287 | 5 27 11 92 73 | ||
| 288 | 71 54 29 20 12 | ||
| 289 | 8 75 65 9 39 | ||
| 290 | |||
| 291 | 84 13 22 90 7 | ||
| 292 | 64 6 21 3 23 | ||
| 293 | 8 72 67 61 62 | ||
| 294 | 44 32 20 25 45 | ||
| 295 | 57 81 49 98 77 | ||
| 296 | |||
| 297 | 12 9 53 94 8 | ||
| 298 | 85 0 70 35 82 | ||
| 299 | 90 67 48 79 54 | ||
| 300 | 26 88 51 2 46 | ||
| 301 | 78 63 61 36 29 | ||
| 302 | |||
| 303 | 86 27 13 55 37 | ||
| 304 | 67 61 39 1 66 | ||
| 305 | 79 97 40 42 7 | ||
| 306 | 64 85 33 31 46 | ||
| 307 | 34 65 24 54 50 | ||
| 308 | |||
| 309 | 8 58 80 35 47 | ||
| 310 | 31 66 45 36 54 | ||
| 311 | 9 27 64 16 5 | ||
| 312 | 34 14 10 57 85 | ||
| 313 | 40 79 60 61 3 | ||
| 314 | |||
| 315 | 49 31 2 25 9 | ||
| 316 | 34 65 14 54 61 | ||
| 317 | 88 28 45 3 76 | ||
| 318 | 7 94 24 1 86 | ||
| 319 | 29 66 70 96 50 | ||
| 320 | |||
| 321 | 72 35 31 84 37 | ||
| 322 | 8 86 4 17 46 | ||
| 323 | 39 80 43 11 3 | ||
| 324 | 26 76 44 20 95 | ||
| 325 | 71 5 51 65 32 | ||
| 326 | |||
| 327 | 98 33 8 41 75 | ||
| 328 | 94 49 27 95 72 | ||
| 329 | 44 18 82 0 90 | ||
| 330 | 86 74 2 59 45 | ||
| 331 | 20 57 25 87 42 | ||
| 332 | |||
| 333 | 64 72 33 23 96 | ||
| 334 | 70 2 68 97 69 | ||
| 335 | 59 49 19 35 10 | ||
| 336 | 87 92 85 34 90 | ||
| 337 | 56 95 88 66 94 | ||
| 338 | |||
| 339 | 97 23 75 47 43 | ||
| 340 | 32 19 69 29 94 | ||
| 341 | 45 38 61 4 40 | ||
| 342 | 26 82 30 16 2 | ||
| 343 | 95 76 5 67 83 | ||
| 344 | |||
| 345 | 4 75 91 82 23 | ||
| 346 | 52 38 47 49 46 | ||
| 347 | 97 17 6 90 59 | ||
| 348 | 8 16 12 73 85 | ||
| 349 | 88 64 32 99 11 | ||
| 350 | |||
| 351 | 2 61 15 7 37 | ||
| 352 | 45 57 43 46 92 | ||
| 353 | 76 99 34 14 9 | ||
| 354 | 51 8 18 81 50 | ||
| 355 | 19 47 97 29 26 | ||
| 356 | |||
| 357 | 70 61 79 67 17 | ||
| 358 | 25 69 78 4 24 | ||
| 359 | 87 11 95 68 91 | ||
| 360 | 51 89 39 66 80 | ||
| 361 | 29 98 43 64 86 | ||
| 362 | |||
| 363 | 95 40 97 32 48 | ||
| 364 | 44 0 64 45 83 | ||
| 365 | 34 88 20 86 31 | ||
| 366 | 84 16 96 78 65 | ||
| 367 | 2 81 72 69 43 | ||
| 368 | |||
| 369 | 98 88 93 3 10 | ||
| 370 | 53 72 68 81 62 | ||
| 371 | 56 38 36 87 27 | ||
| 372 | 29 99 76 28 23 | ||
| 373 | 16 59 71 21 92 | ||
| 374 | |||
| 375 | 95 17 8 7 46 | ||
| 376 | 71 61 5 90 38 | ||
| 377 | 63 65 25 45 22 | ||
| 378 | 11 16 93 34 14 | ||
| 379 | 55 56 36 91 49 | ||
| 380 | |||
| 381 | 61 36 9 12 40 | ||
| 382 | 60 51 57 41 87 | ||
| 383 | 35 97 75 20 21 | ||
| 384 | 74 34 19 14 95 | ||
| 385 | 84 68 98 62 0 | ||
| 386 | |||
| 387 | 3 5 57 40 61 | ||
| 388 | 30 79 94 86 84 | ||
| 389 | 20 9 13 27 34 | ||
| 390 | 59 98 17 12 14 | ||
| 391 | 28 73 18 97 75 | ||
| 392 | |||
| 393 | 3 86 99 48 2 | ||
| 394 | 65 97 26 82 79 | ||
| 395 | 51 16 70 7 89 | ||
| 396 | 22 83 50 78 32 | ||
| 397 | 31 72 28 21 60 | ||
| 398 | |||
| 399 | 67 27 78 91 14 | ||
| 400 | 21 4 20 42 62 | ||
| 401 | 52 3 36 17 18 | ||
| 402 | 6 40 46 39 63 | ||
| 403 | 80 75 54 96 99 | ||
| 404 | |||
| 405 | 89 77 18 59 99 | ||
| 406 | 5 55 14 52 12 | ||
| 407 | 91 70 85 16 24 | ||
| 408 | 72 42 80 81 76 | ||
| 409 | 46 95 37 23 11 | ||
| 410 | |||
| 411 | 48 66 23 26 15 | ||
| 412 | 16 76 81 10 49 | ||
| 413 | 57 74 68 67 98 | ||
| 414 | 43 31 53 94 86 | ||
| 415 | 80 71 85 0 33 | ||
| 416 | |||
| 417 | 95 69 45 80 35 | ||
| 418 | 38 88 62 28 1 | ||
| 419 | 44 10 91 39 31 | ||
| 420 | 74 81 64 63 98 | ||
| 421 | 33 13 89 53 56 | ||
| 422 | |||
| 423 | 85 22 55 95 44 | ||
| 424 | 93 9 58 11 27 | ||
| 425 | 15 40 2 28 87 | ||
| 426 | 5 84 77 48 42 | ||
| 427 | 94 18 16 12 79 | ||
| 428 | |||
| 429 | 69 74 75 16 77 | ||
| 430 | 45 56 60 81 68 | ||
| 431 | 33 73 49 14 92 | ||
| 432 | 94 51 24 38 15 | ||
| 433 | 90 10 89 6 32 | ||
| 434 | |||
| 435 | 15 86 73 20 71 | ||
| 436 | 7 33 47 36 96 | ||
| 437 | 31 55 87 22 14 | ||
| 438 | 13 35 8 77 89 | ||
| 439 | 3 37 98 52 34 | ||
| 440 | |||
| 441 | 92 79 95 74 85 | ||
| 442 | 19 3 5 73 67 | ||
| 443 | 93 41 81 78 77 | ||
| 444 | 48 88 57 82 15 | ||
| 445 | 36 38 42 4 69 | ||
| 446 | |||
| 447 | 87 36 38 65 91 | ||
| 448 | 18 47 41 66 35 | ||
| 449 | 0 63 59 54 10 | ||
| 450 | 44 1 37 81 48 | ||
| 451 | 75 96 42 4 25 | ||
| 452 | |||
| 453 | 14 19 63 8 36 | ||
| 454 | 35 38 84 66 42 | ||
| 455 | 99 7 70 74 6 | ||
| 456 | 4 12 86 65 22 | ||
| 457 | 46 40 60 31 80 | ||
| 458 | |||
| 459 | 38 29 26 65 85 | ||
| 460 | 21 6 15 77 14 | ||
| 461 | 61 25 86 12 35 | ||
| 462 | 71 67 74 59 42 | ||
| 463 | 46 52 30 19 93 | ||
| 464 | |||
| 465 | 10 61 18 67 26 | ||
| 466 | 15 27 20 62 38 | ||
| 467 | 58 24 28 45 90 | ||
| 468 | 98 39 59 3 92 | ||
| 469 | 64 35 60 68 19 | ||
| 470 | |||
| 471 | 34 44 11 25 56 | ||
| 472 | 2 63 5 94 76 | ||
| 473 | 72 92 0 27 84 | ||
| 474 | 60 8 80 48 90 | ||
| 475 | 23 7 75 70 47 | ||
| 476 | |||
| 477 | 78 18 19 34 39 | ||
| 478 | 31 66 95 9 36 | ||
| 479 | 64 99 57 94 75 | ||
| 480 | 29 97 51 45 47 | ||
| 481 | 93 79 23 84 24 | ||
| 482 | |||
| 483 | 72 23 78 90 21 | ||
| 484 | 41 67 31 4 57 | ||
| 485 | 34 58 50 46 74 | ||
| 486 | 55 37 81 63 45 | ||
| 487 | 85 8 48 28 12 | ||
| 488 | |||
| 489 | 18 30 28 50 81 | ||
| 490 | 67 47 41 45 59 | ||
| 491 | 51 14 92 6 68 | ||
| 492 | 8 46 69 84 13 | ||
| 493 | 93 25 58 26 75 | ||
| 494 | |||
| 495 | 76 16 78 36 18 | ||
| 496 | 3 7 28 73 41 | ||
| 497 | 34 97 42 23 8 | ||
| 498 | 9 67 49 83 64 | ||
| 499 | 81 5 29 85 79 | ||
| 500 | |||
| 501 | 3 35 80 53 5 | ||
| 502 | 91 96 77 52 69 | ||
| 503 | 44 32 4 60 26 | ||
| 504 | 41 13 28 39 64 | ||
| 505 | 73 27 34 71 92 | ||
| 506 | |||
| 507 | 72 4 77 80 29 | ||
| 508 | 32 36 70 47 79 | ||
| 509 | 96 56 69 2 90 | ||
| 510 | 13 20 24 81 67 | ||
| 511 | 23 25 83 89 91 | ||
| 512 | |||
| 513 | 32 46 88 81 75 | ||
| 514 | 5 98 15 72 31 | ||
| 515 | 56 89 90 21 16 | ||
| 516 | 37 2 82 93 18 | ||
| 517 | 63 52 49 19 41 | ||
| 518 | |||
| 519 | 52 51 76 91 33 | ||
| 520 | 29 37 32 43 42 | ||
| 521 | 27 34 21 72 87 | ||
| 522 | 62 64 8 73 41 | ||
| 523 | 23 46 67 96 85 | ||
| 524 | |||
| 525 | 82 19 5 88 54 | ||
| 526 | 71 27 92 48 16 | ||
| 527 | 25 96 40 56 37 | ||
| 528 | 41 11 26 58 95 | ||
| 529 | 63 17 1 0 24 | ||
| 530 | |||
| 531 | 46 36 85 78 32 | ||
| 532 | 55 50 94 9 57 | ||
| 533 | 0 20 24 68 28 | ||
| 534 | 52 22 3 84 17 | ||
| 535 | 16 2 1 66 69 | ||
| 536 | |||
| 537 | 14 87 83 79 36 | ||
| 538 | 9 64 77 49 24 | ||
| 539 | 25 92 5 62 91 | ||
| 540 | 73 33 74 6 65 | ||
| 541 | 39 2 59 71 50 | ||
| 542 | |||
| 543 | 99 0 48 98 45 | ||
| 544 | 50 27 92 8 73 | ||
| 545 | 91 80 54 42 57 | ||
| 546 | 18 78 55 19 36 | ||
| 547 | 76 28 53 6 7 | ||
| 548 | |||
| 549 | 29 68 27 95 47 | ||
| 550 | 40 32 79 60 2 | ||
| 551 | 44 53 57 6 25 | ||
| 552 | 41 56 66 30 77 | ||
| 553 | 26 13 83 23 51 | ||
| 554 | |||
| 555 | 7 76 59 44 22 | ||
| 556 | 81 15 48 8 47 | ||
| 557 | 77 79 32 61 39 | ||
| 558 | 65 29 95 35 45 | ||
| 559 | 1 6 13 9 3 | ||
| 560 | |||
| 561 | 3 52 93 20 70 | ||
| 562 | 49 80 40 66 53 | ||
| 563 | 2 71 41 1 13 | ||
| 564 | 44 24 15 83 0 | ||
| 565 | 14 17 7 56 63 | ||
| 566 | |||
| 567 | 77 12 99 19 21 | ||
| 568 | 62 63 98 56 66 | ||
| 569 | 28 4 22 68 55 | ||
| 570 | 49 65 96 84 57 | ||
| 571 | 41 74 46 60 53 | ||
| 572 | |||
| 573 | 64 7 16 8 38 | ||
| 574 | 55 68 21 43 99 | ||
| 575 | 92 0 79 35 96 | ||
| 576 | 75 28 51 87 53 | ||
| 577 | 57 73 84 18 3 | ||
| 578 | |||
| 579 | 95 90 17 40 51 | ||
| 580 | 46 12 23 91 38 | ||
| 581 | 80 10 68 9 93 | ||
| 582 | 65 69 49 27 66 | ||
| 583 | 94 4 39 97 31 | ||
| 584 | |||
| 585 | 4 64 39 3 33 | ||
| 586 | 26 88 10 96 54 | ||
| 587 | 21 48 7 78 50 | ||
| 588 | 22 90 16 15 72 | ||
| 589 | 92 2 71 70 68 | ||
| 590 | |||
| 591 | 42 26 72 54 41 | ||
| 592 | 97 94 80 47 63 | ||
| 593 | 19 24 90 78 6 | ||
| 594 | 48 34 50 98 89 | ||
| 595 | 33 81 66 38 10 | ||
| 596 | |||
| 597 | 65 24 23 1 19 | ||
| 598 | 54 35 76 71 49 | ||
| 599 | 10 75 99 91 97 | ||
| 600 | 21 78 17 18 81 | ||
| 601 | 3 48 72 7 96 \ No newline at end of file | ||
