From b504ad720b4b16e545493ec4ba913200ae541b1c Mon Sep 17 00:00:00 2001 From: Brandon Scott Date: Sun, 9 Dec 2018 04:06:09 -0600 Subject: [PATCH] Added day 3 solution. --- AoC2018/AoC2018.csproj | 3 + AoC2018/Input/Day3Input.txt | 1383 +++++++++++++++++++++++++++++ AoC2018/Solutions/Day3Solution.cs | 124 +++ AoC2018/Solutions/Solution.cs | 1 - 4 files changed, 1510 insertions(+), 1 deletion(-) create mode 100644 AoC2018/Input/Day3Input.txt create mode 100644 AoC2018/Solutions/Day3Solution.cs diff --git a/AoC2018/AoC2018.csproj b/AoC2018/AoC2018.csproj index e522f8d..10cd49e 100644 --- a/AoC2018/AoC2018.csproj +++ b/AoC2018/AoC2018.csproj @@ -12,6 +12,9 @@ PreserveNewest + + PreserveNewest + \ No newline at end of file diff --git a/AoC2018/Input/Day3Input.txt b/AoC2018/Input/Day3Input.txt new file mode 100644 index 0000000..ab39745 --- /dev/null +++ b/AoC2018/Input/Day3Input.txt @@ -0,0 +1,1383 @@ +#1 @ 662,777: 18x27 +#2 @ 893,985: 13x10 +#3 @ 199,328: 16x16 +#4 @ 12,802: 15x10 +#5 @ 415,174: 15x13 +#6 @ 479,909: 23x14 +#7 @ 35,575: 29x10 +#8 @ 907,971: 17x19 +#9 @ 843,247: 22x24 +#10 @ 447,593: 20x11 +#11 @ 863,570: 26x14 +#12 @ 977,75: 18x25 +#13 @ 236,756: 17x20 +#14 @ 525,80: 25x20 +#15 @ 348,421: 16x11 +#16 @ 276,413: 19x21 +#17 @ 7,969: 18x29 +#18 @ 538,70: 26x22 +#19 @ 725,312: 24x27 +#20 @ 523,389: 18x10 +#21 @ 677,654: 12x20 +#22 @ 2,165: 19x19 +#23 @ 747,632: 29x13 +#24 @ 152,652: 24x21 +#25 @ 782,381: 14x28 +#26 @ 632,161: 10x26 +#27 @ 323,73: 18x25 +#28 @ 513,340: 17x10 +#29 @ 580,474: 25x10 +#30 @ 862,223: 29x10 +#31 @ 661,706: 16x20 +#32 @ 727,758: 28x27 +#33 @ 420,273: 19x23 +#34 @ 416,61: 24x23 +#35 @ 179,961: 28x15 +#36 @ 852,235: 23x15 +#37 @ 172,831: 21x27 +#38 @ 696,637: 12x22 +#39 @ 761,853: 18x23 +#40 @ 539,385: 24x10 +#41 @ 489,188: 24x14 +#42 @ 216,574: 16x20 +#43 @ 865,615: 26x14 +#44 @ 748,757: 14x16 +#45 @ 872,818: 12x12 +#46 @ 57,943: 11x25 +#47 @ 843,564: 24x10 +#48 @ 756,126: 29x23 +#49 @ 902,950: 18x24 +#50 @ 297,193: 22x22 +#51 @ 639,184: 13x12 +#52 @ 42,358: 29x12 +#53 @ 382,116: 3x16 +#54 @ 547,90: 13x11 +#55 @ 248,5: 22x24 +#56 @ 419,15: 29x26 +#57 @ 336,717: 27x28 +#58 @ 295,937: 14x11 +#59 @ 921,303: 26x27 +#60 @ 888,893: 16x24 +#61 @ 238,584: 15x13 +#62 @ 305,262: 26x26 +#63 @ 263,500: 21x26 +#64 @ 410,525: 26x21 +#65 @ 613,654: 17x13 +#66 @ 409,706: 14x26 +#67 @ 783,513: 6x8 +#68 @ 881,61: 29x25 +#69 @ 77,312: 13x29 +#70 @ 40,619: 16x25 +#71 @ 301,565: 11x19 +#72 @ 454,668: 25x22 +#73 @ 904,513: 17x20 +#74 @ 502,148: 18x29 +#75 @ 601,125: 26x17 +#76 @ 799,159: 20x19 +#77 @ 118,486: 26x23 +#78 @ 442,168: 15x10 +#79 @ 938,826: 29x15 +#80 @ 944,336: 7x3 +#81 @ 164,330: 28x10 +#82 @ 814,669: 12x15 +#83 @ 702,432: 15x27 +#84 @ 275,581: 17x24 +#85 @ 651,93: 12x13 +#86 @ 878,988: 20x12 +#87 @ 943,982: 21x13 +#88 @ 838,922: 25x19 +#89 @ 439,627: 13x16 +#90 @ 610,482: 14x22 +#91 @ 16,162: 10x18 +#92 @ 593,770: 29x22 +#93 @ 391,694: 24x12 +#94 @ 247,290: 28x10 +#95 @ 160,636: 25x19 +#96 @ 940,541: 18x13 +#97 @ 661,910: 17x27 +#98 @ 862,58: 22x14 +#99 @ 6,388: 21x18 +#100 @ 672,835: 29x28 +#101 @ 881,52: 11x18 +#102 @ 441,173: 11x26 +#103 @ 773,780: 27x16 +#104 @ 747,605: 26x26 +#105 @ 428,653: 20x10 +#106 @ 738,742: 19x24 +#107 @ 700,853: 12x24 +#108 @ 850,609: 22x22 +#109 @ 610,205: 29x15 +#110 @ 363,577: 26x16 +#111 @ 622,823: 13x21 +#112 @ 956,478: 15x24 +#113 @ 289,559: 29x15 +#114 @ 522,416: 20x13 +#115 @ 103,155: 27x24 +#116 @ 603,43: 29x16 +#117 @ 938,757: 24x27 +#118 @ 65,516: 10x17 +#119 @ 238,736: 17x25 +#120 @ 581,899: 11x26 +#121 @ 798,184: 24x24 +#122 @ 915,299: 28x29 +#123 @ 271,587: 22x23 +#124 @ 53,149: 16x15 +#125 @ 835,722: 15x11 +#126 @ 526,433: 26x21 +#127 @ 841,571: 13x18 +#128 @ 169,275: 27x25 +#129 @ 159,520: 24x25 +#130 @ 810,687: 25x27 +#131 @ 230,226: 10x20 +#132 @ 474,918: 26x27 +#133 @ 39,101: 25x13 +#134 @ 875,827: 19x10 +#135 @ 806,732: 3x20 +#136 @ 700,87: 19x16 +#137 @ 919,871: 29x18 +#138 @ 286,569: 24x20 +#139 @ 471,937: 12x10 +#140 @ 1,99: 25x29 +#141 @ 348,536: 20x18 +#142 @ 98,663: 24x20 +#143 @ 290,134: 22x21 +#144 @ 81,794: 23x24 +#145 @ 915,584: 13x28 +#146 @ 220,795: 20x10 +#147 @ 133,698: 17x23 +#148 @ 325,781: 10x19 +#149 @ 81,123: 11x15 +#150 @ 205,632: 16x24 +#151 @ 207,422: 28x21 +#152 @ 953,349: 28x10 +#153 @ 852,580: 27x27 +#154 @ 71,134: 22x17 +#155 @ 816,776: 22x15 +#156 @ 324,535: 20x10 +#157 @ 145,867: 8x10 +#158 @ 681,886: 23x11 +#159 @ 798,355: 12x21 +#160 @ 84,513: 26x14 +#161 @ 783,800: 11x28 +#162 @ 286,216: 29x25 +#163 @ 713,733: 16x13 +#164 @ 878,226: 12x16 +#165 @ 173,691: 26x28 +#166 @ 611,36: 26x27 +#167 @ 564,39: 20x13 +#168 @ 274,167: 27x23 +#169 @ 194,140: 27x21 +#170 @ 953,828: 10x21 +#171 @ 17,228: 29x16 +#172 @ 592,50: 25x17 +#173 @ 672,935: 23x19 +#174 @ 551,901: 21x23 +#175 @ 986,145: 10x11 +#176 @ 588,546: 25x27 +#177 @ 352,374: 13x24 +#178 @ 257,933: 15x21 +#179 @ 401,371: 14x22 +#180 @ 403,527: 29x29 +#181 @ 374,844: 23x21 +#182 @ 289,355: 27x29 +#183 @ 295,927: 18x18 +#184 @ 162,356: 14x26 +#185 @ 109,898: 22x24 +#186 @ 917,326: 23x29 +#187 @ 193,175: 21x19 +#188 @ 423,874: 24x19 +#189 @ 902,492: 25x28 +#190 @ 977,23: 21x22 +#191 @ 491,199: 26x18 +#192 @ 742,838: 28x13 +#193 @ 935,104: 16x17 +#194 @ 165,822: 14x20 +#195 @ 685,534: 14x11 +#196 @ 616,684: 13x23 +#197 @ 701,463: 29x20 +#198 @ 726,34: 24x14 +#199 @ 205,916: 23x23 +#200 @ 465,67: 13x15 +#201 @ 727,461: 16x20 +#202 @ 666,22: 28x27 +#203 @ 183,304: 21x22 +#204 @ 745,205: 21x27 +#205 @ 657,666: 20x22 +#206 @ 5,504: 27x26 +#207 @ 534,363: 12x15 +#208 @ 205,243: 24x28 +#209 @ 705,695: 21x18 +#210 @ 112,477: 27x12 +#211 @ 548,918: 16x26 +#212 @ 490,829: 20x13 +#213 @ 776,559: 19x23 +#214 @ 106,684: 21x16 +#215 @ 157,381: 28x22 +#216 @ 266,807: 13x16 +#217 @ 532,130: 25x29 +#218 @ 278,517: 18x19 +#219 @ 499,468: 23x16 +#220 @ 91,554: 26x21 +#221 @ 443,519: 12x10 +#222 @ 524,131: 16x18 +#223 @ 953,544: 26x18 +#224 @ 215,942: 25x28 +#225 @ 958,5: 10x14 +#226 @ 211,774: 15x27 +#227 @ 721,748: 10x23 +#228 @ 624,265: 29x17 +#229 @ 623,809: 14x13 +#230 @ 974,143: 19x13 +#231 @ 68,503: 29x23 +#232 @ 746,244: 16x20 +#233 @ 5,494: 16x26 +#234 @ 261,794: 14x17 +#235 @ 120,850: 25x27 +#236 @ 666,152: 25x24 +#237 @ 190,836: 18x23 +#238 @ 651,238: 17x26 +#239 @ 41,614: 16x26 +#240 @ 21,354: 13x24 +#241 @ 453,78: 14x11 +#242 @ 376,615: 11x19 +#243 @ 103,47: 14x15 +#244 @ 771,9: 16x27 +#245 @ 196,458: 11x19 +#246 @ 277,392: 11x19 +#247 @ 787,353: 18x26 +#248 @ 96,202: 15x12 +#249 @ 647,792: 13x20 +#250 @ 932,566: 14x21 +#251 @ 186,668: 29x28 +#252 @ 801,730: 14x27 +#253 @ 924,960: 29x11 +#254 @ 726,435: 15x17 +#255 @ 89,826: 14x21 +#256 @ 631,345: 20x21 +#257 @ 921,969: 20x27 +#258 @ 289,152: 20x12 +#259 @ 205,198: 10x20 +#260 @ 365,965: 16x14 +#261 @ 321,603: 13x26 +#262 @ 871,290: 27x11 +#263 @ 948,43: 12x16 +#264 @ 718,478: 19x23 +#265 @ 412,272: 23x28 +#266 @ 32,528: 29x14 +#267 @ 12,101: 28x20 +#268 @ 591,314: 25x11 +#269 @ 255,535: 10x20 +#270 @ 678,657: 24x17 +#271 @ 797,169: 12x27 +#272 @ 43,153: 22x16 +#273 @ 184,269: 12x20 +#274 @ 392,926: 20x17 +#275 @ 857,605: 22x16 +#276 @ 99,117: 14x22 +#277 @ 605,40: 5x3 +#278 @ 187,866: 25x24 +#279 @ 557,169: 27x26 +#280 @ 227,874: 24x29 +#281 @ 82,615: 25x10 +#282 @ 232,855: 27x28 +#283 @ 968,172: 14x20 +#284 @ 625,295: 12x12 +#285 @ 935,970: 19x22 +#286 @ 886,167: 20x26 +#287 @ 314,191: 21x13 +#288 @ 639,267: 29x14 +#289 @ 644,124: 12x19 +#290 @ 316,140: 23x26 +#291 @ 925,377: 22x28 +#292 @ 598,600: 11x25 +#293 @ 739,315: 15x24 +#294 @ 153,55: 15x29 +#295 @ 150,231: 24x12 +#296 @ 527,434: 28x16 +#297 @ 351,975: 21x16 +#298 @ 675,901: 26x18 +#299 @ 371,423: 23x16 +#300 @ 949,7: 24x11 +#301 @ 270,122: 14x12 +#302 @ 950,903: 26x17 +#303 @ 738,677: 21x15 +#304 @ 111,478: 26x29 +#305 @ 14,786: 11x13 +#306 @ 734,173: 14x21 +#307 @ 365,878: 17x12 +#308 @ 144,702: 21x12 +#309 @ 39,631: 18x19 +#310 @ 72,514: 18x26 +#311 @ 653,748: 21x29 +#312 @ 887,229: 14x10 +#313 @ 918,902: 12x12 +#314 @ 555,100: 14x17 +#315 @ 250,750: 19x15 +#316 @ 145,978: 27x13 +#317 @ 755,777: 14x13 +#318 @ 584,808: 17x24 +#319 @ 982,978: 10x3 +#320 @ 522,314: 19x14 +#321 @ 951,258: 20x26 +#322 @ 936,197: 20x20 +#323 @ 946,481: 27x26 +#324 @ 109,583: 10x6 +#325 @ 409,817: 7x7 +#326 @ 361,738: 10x18 +#327 @ 844,802: 24x18 +#328 @ 866,874: 14x10 +#329 @ 582,942: 10x22 +#330 @ 973,89: 12x24 +#331 @ 64,541: 21x26 +#332 @ 223,249: 14x26 +#333 @ 274,291: 17x12 +#334 @ 433,438: 23x19 +#335 @ 516,735: 21x25 +#336 @ 859,213: 20x25 +#337 @ 499,722: 19x16 +#338 @ 452,560: 24x16 +#339 @ 287,895: 25x11 +#340 @ 10,811: 10x12 +#341 @ 228,667: 14x23 +#342 @ 953,215: 18x20 +#343 @ 781,788: 12x18 +#344 @ 17,144: 20x23 +#345 @ 895,56: 25x29 +#346 @ 309,786: 13x10 +#347 @ 37,490: 29x23 +#348 @ 530,435: 13x23 +#349 @ 493,729: 17x13 +#350 @ 584,656: 25x19 +#351 @ 578,951: 19x29 +#352 @ 425,20: 19x13 +#353 @ 940,50: 19x18 +#354 @ 554,659: 21x22 +#355 @ 907,750: 26x29 +#356 @ 810,806: 27x23 +#357 @ 16,0: 27x26 +#358 @ 675,358: 20x16 +#359 @ 459,623: 22x13 +#360 @ 942,333: 29x10 +#361 @ 654,174: 22x10 +#362 @ 322,589: 23x26 +#363 @ 357,18: 15x23 +#364 @ 707,854: 16x17 +#365 @ 795,415: 17x28 +#366 @ 165,781: 12x28 +#367 @ 967,919: 14x12 +#368 @ 947,227: 13x12 +#369 @ 498,620: 27x22 +#370 @ 963,351: 10x5 +#371 @ 444,873: 16x21 +#372 @ 964,360: 28x22 +#373 @ 337,589: 25x29 +#374 @ 654,831: 27x13 +#375 @ 581,71: 25x23 +#376 @ 108,651: 26x16 +#377 @ 308,135: 11x20 +#378 @ 238,60: 18x21 +#379 @ 874,880: 15x28 +#380 @ 935,399: 13x28 +#381 @ 614,107: 23x19 +#382 @ 895,673: 27x29 +#383 @ 22,983: 23x13 +#384 @ 463,825: 29x18 +#385 @ 867,518: 20x12 +#386 @ 714,760: 25x16 +#387 @ 232,955: 26x12 +#388 @ 449,516: 10x26 +#389 @ 564,448: 28x12 +#390 @ 358,27: 16x19 +#391 @ 704,633: 24x12 +#392 @ 475,537: 28x15 +#393 @ 199,202: 29x23 +#394 @ 875,571: 18x10 +#395 @ 740,639: 13x28 +#396 @ 532,103: 25x28 +#397 @ 905,948: 16x26 +#398 @ 848,856: 23x25 +#399 @ 725,790: 20x18 +#400 @ 948,254: 22x21 +#401 @ 851,571: 16x17 +#402 @ 959,327: 14x20 +#403 @ 905,506: 16x25 +#404 @ 817,805: 24x18 +#405 @ 36,706: 20x27 +#406 @ 776,470: 21x13 +#407 @ 357,746: 13x10 +#408 @ 761,550: 10x19 +#409 @ 604,285: 25x11 +#410 @ 762,56: 25x27 +#411 @ 69,153: 29x24 +#412 @ 167,807: 11x14 +#413 @ 648,504: 25x19 +#414 @ 556,902: 20x17 +#415 @ 215,34: 13x20 +#416 @ 572,814: 13x20 +#417 @ 823,663: 26x21 +#418 @ 535,705: 22x10 +#419 @ 355,111: 12x16 +#420 @ 395,701: 26x12 +#421 @ 806,615: 23x15 +#422 @ 76,471: 25x29 +#423 @ 868,564: 12x17 +#424 @ 275,395: 26x28 +#425 @ 848,207: 26x24 +#426 @ 166,816: 18x18 +#427 @ 826,780: 11x23 +#428 @ 832,310: 18x16 +#429 @ 0,98: 23x10 +#430 @ 114,453: 21x16 +#431 @ 300,383: 21x29 +#432 @ 212,394: 16x21 +#433 @ 70,637: 11x21 +#434 @ 781,505: 16x27 +#435 @ 891,433: 26x23 +#436 @ 576,752: 17x11 +#437 @ 454,124: 13x13 +#438 @ 633,376: 13x21 +#439 @ 329,310: 16x21 +#440 @ 83,99: 13x15 +#441 @ 886,232: 17x15 +#442 @ 538,716: 18x24 +#443 @ 274,680: 16x15 +#444 @ 863,48: 21x18 +#445 @ 960,332: 27x14 +#446 @ 571,65: 27x25 +#447 @ 729,107: 27x27 +#448 @ 905,830: 11x21 +#449 @ 129,814: 13x10 +#450 @ 501,281: 27x20 +#451 @ 930,953: 20x28 +#452 @ 733,745: 29x18 +#453 @ 218,213: 15x15 +#454 @ 817,88: 23x19 +#455 @ 395,803: 21x17 +#456 @ 706,16: 25x13 +#457 @ 699,480: 29x27 +#458 @ 748,618: 10x17 +#459 @ 227,587: 10x15 +#460 @ 20,907: 19x28 +#461 @ 675,724: 18x18 +#462 @ 925,580: 12x26 +#463 @ 725,764: 12x11 +#464 @ 372,320: 18x13 +#465 @ 313,654: 29x28 +#466 @ 866,151: 21x10 +#467 @ 554,910: 22x15 +#468 @ 616,657: 10x5 +#469 @ 61,340: 26x21 +#470 @ 92,512: 22x22 +#471 @ 458,928: 28x11 +#472 @ 120,841: 10x16 +#473 @ 229,791: 25x29 +#474 @ 302,522: 23x15 +#475 @ 673,718: 12x25 +#476 @ 413,472: 26x25 +#477 @ 914,174: 28x28 +#478 @ 927,740: 21x12 +#479 @ 491,549: 13x13 +#480 @ 76,74: 24x17 +#481 @ 925,489: 28x24 +#482 @ 63,21: 18x13 +#483 @ 792,453: 21x10 +#484 @ 454,162: 13x18 +#485 @ 592,48: 26x16 +#486 @ 673,685: 29x28 +#487 @ 259,499: 20x29 +#488 @ 46,774: 13x18 +#489 @ 529,376: 13x11 +#490 @ 774,571: 16x16 +#491 @ 202,219: 19x21 +#492 @ 466,183: 22x21 +#493 @ 430,607: 21x28 +#494 @ 607,918: 27x18 +#495 @ 216,524: 10x24 +#496 @ 730,217: 17x16 +#497 @ 976,400: 23x27 +#498 @ 657,445: 23x21 +#499 @ 842,302: 10x26 +#500 @ 647,275: 23x25 +#501 @ 727,17: 17x25 +#502 @ 454,551: 29x20 +#503 @ 855,934: 13x14 +#504 @ 588,551: 12x17 +#505 @ 726,450: 16x18 +#506 @ 654,766: 18x16 +#507 @ 58,202: 26x26 +#508 @ 543,771: 18x20 +#509 @ 867,550: 15x13 +#510 @ 882,545: 21x26 +#511 @ 511,548: 29x17 +#512 @ 693,466: 11x14 +#513 @ 472,111: 16x19 +#514 @ 664,224: 14x28 +#515 @ 317,924: 28x17 +#516 @ 0,367: 29x17 +#517 @ 143,282: 27x22 +#518 @ 205,831: 19x13 +#519 @ 36,130: 14x17 +#520 @ 32,527: 21x20 +#521 @ 667,784: 8x7 +#522 @ 922,492: 12x10 +#523 @ 1,878: 10x27 +#524 @ 928,350: 27x22 +#525 @ 547,74: 11x10 +#526 @ 452,595: 8x5 +#527 @ 76,669: 25x26 +#528 @ 947,599: 25x28 +#529 @ 686,616: 15x19 +#530 @ 966,92: 23x18 +#531 @ 124,956: 25x27 +#532 @ 620,112: 15x13 +#533 @ 735,72: 23x14 +#534 @ 659,231: 25x20 +#535 @ 792,425: 12x21 +#536 @ 327,800: 23x28 +#537 @ 95,696: 14x13 +#538 @ 453,175: 26x20 +#539 @ 423,139: 10x15 +#540 @ 179,217: 10x27 +#541 @ 434,442: 12x21 +#542 @ 443,677: 20x12 +#543 @ 257,581: 12x16 +#544 @ 55,512: 17x25 +#545 @ 900,399: 28x14 +#546 @ 677,525: 27x17 +#547 @ 867,526: 18x21 +#548 @ 520,840: 20x26 +#549 @ 280,629: 22x16 +#550 @ 255,285: 28x21 +#551 @ 384,119: 21x25 +#552 @ 748,799: 19x28 +#553 @ 34,20: 27x18 +#554 @ 326,500: 10x28 +#555 @ 379,746: 19x11 +#556 @ 223,435: 23x28 +#557 @ 409,502: 14x20 +#558 @ 696,689: 29x22 +#559 @ 889,42: 10x26 +#560 @ 561,281: 28x19 +#561 @ 309,445: 13x23 +#562 @ 410,437: 16x18 +#563 @ 864,546: 26x26 +#564 @ 785,868: 26x23 +#565 @ 479,383: 19x11 +#566 @ 276,138: 28x21 +#567 @ 437,82: 28x24 +#568 @ 105,519: 27x20 +#569 @ 618,645: 11x29 +#570 @ 629,757: 12x10 +#571 @ 100,684: 25x28 +#572 @ 524,402: 13x14 +#573 @ 263,423: 29x20 +#574 @ 629,363: 16x14 +#575 @ 725,35: 16x22 +#576 @ 177,806: 22x13 +#577 @ 227,444: 15x11 +#578 @ 587,473: 28x13 +#579 @ 511,840: 12x21 +#580 @ 370,114: 11x24 +#581 @ 819,765: 20x19 +#582 @ 892,844: 16x25 +#583 @ 773,258: 23x28 +#584 @ 148,336: 29x26 +#585 @ 200,170: 12x26 +#586 @ 672,210: 14x21 +#587 @ 341,321: 27x16 +#588 @ 688,527: 18x14 +#589 @ 704,210: 16x14 +#590 @ 126,8: 11x21 +#591 @ 292,178: 27x11 +#592 @ 808,134: 17x25 +#593 @ 892,766: 23x27 +#594 @ 477,67: 23x13 +#595 @ 924,372: 12x27 +#596 @ 142,802: 22x20 +#597 @ 903,753: 10x20 +#598 @ 97,723: 19x20 +#599 @ 779,440: 21x22 +#600 @ 98,808: 22x19 +#601 @ 210,684: 26x28 +#602 @ 429,82: 18x17 +#603 @ 826,725: 20x11 +#604 @ 613,86: 29x28 +#605 @ 84,479: 13x18 +#606 @ 287,783: 27x20 +#607 @ 216,799: 18x18 +#608 @ 233,700: 27x15 +#609 @ 492,640: 19x20 +#610 @ 716,707: 12x14 +#611 @ 749,567: 19x20 +#612 @ 841,700: 25x18 +#613 @ 523,798: 25x28 +#614 @ 326,398: 13x15 +#615 @ 956,908: 22x19 +#616 @ 223,243: 13x16 +#617 @ 873,881: 14x21 +#618 @ 22,77: 14x28 +#619 @ 443,659: 12x18 +#620 @ 609,76: 24x12 +#621 @ 519,316: 10x17 +#622 @ 107,205: 12x20 +#623 @ 333,82: 14x29 +#624 @ 498,962: 21x15 +#625 @ 211,47: 21x18 +#626 @ 699,317: 29x28 +#627 @ 872,962: 19x27 +#628 @ 826,682: 12x20 +#629 @ 370,923: 17x14 +#630 @ 25,413: 20x15 +#631 @ 631,133: 18x13 +#632 @ 545,672: 11x23 +#633 @ 939,850: 26x25 +#634 @ 139,900: 20x15 +#635 @ 407,815: 17x20 +#636 @ 117,521: 25x24 +#637 @ 271,359: 21x22 +#638 @ 932,752: 20x16 +#639 @ 60,93: 25x19 +#640 @ 112,563: 11x24 +#641 @ 790,239: 10x28 +#642 @ 695,117: 17x25 +#643 @ 276,408: 18x21 +#644 @ 636,726: 10x23 +#645 @ 60,133: 26x21 +#646 @ 359,948: 12x29 +#647 @ 402,5: 24x22 +#648 @ 198,874: 10x28 +#649 @ 237,738: 25x17 +#650 @ 944,36: 18x26 +#651 @ 270,175: 29x12 +#652 @ 610,645: 19x10 +#653 @ 556,162: 13x11 +#654 @ 223,412: 18x20 +#655 @ 59,484: 11x15 +#656 @ 891,215: 22x28 +#657 @ 380,626: 25x12 +#658 @ 98,578: 23x23 +#659 @ 379,112: 11x25 +#660 @ 925,864: 5x4 +#661 @ 480,109: 22x10 +#662 @ 130,903: 19x25 +#663 @ 150,47: 23x28 +#664 @ 803,98: 18x12 +#665 @ 18,792: 23x28 +#666 @ 498,919: 11x27 +#667 @ 375,97: 22x13 +#668 @ 374,619: 10x21 +#669 @ 906,670: 27x10 +#670 @ 896,530: 27x19 +#671 @ 591,37: 24x15 +#672 @ 746,426: 23x16 +#673 @ 359,102: 28x15 +#674 @ 345,591: 10x23 +#675 @ 540,310: 26x22 +#676 @ 882,899: 22x16 +#677 @ 775,267: 13x24 +#678 @ 853,19: 26x17 +#679 @ 754,193: 16x22 +#680 @ 791,591: 14x12 +#681 @ 696,685: 17x25 +#682 @ 513,728: 10x22 +#683 @ 698,865: 10x27 +#684 @ 871,156: 23x18 +#685 @ 544,261: 24x21 +#686 @ 678,370: 14x27 +#687 @ 807,819: 22x17 +#688 @ 298,128: 17x11 +#689 @ 877,942: 10x16 +#690 @ 689,925: 26x15 +#691 @ 186,819: 11x28 +#692 @ 354,596: 11x27 +#693 @ 36,515: 21x17 +#694 @ 918,886: 14x10 +#695 @ 630,805: 26x17 +#696 @ 813,21: 24x25 +#697 @ 149,544: 26x14 +#698 @ 50,236: 10x26 +#699 @ 188,472: 24x22 +#700 @ 260,714: 19x25 +#701 @ 870,857: 13x18 +#702 @ 744,258: 15x10 +#703 @ 196,637: 13x10 +#704 @ 815,682: 14x26 +#705 @ 698,483: 26x22 +#706 @ 90,130: 13x26 +#707 @ 322,494: 18x27 +#708 @ 435,798: 26x21 +#709 @ 655,863: 13x11 +#710 @ 504,465: 11x28 +#711 @ 863,495: 18x13 +#712 @ 354,414: 18x23 +#713 @ 552,666: 20x19 +#714 @ 611,911: 17x24 +#715 @ 292,634: 14x20 +#716 @ 489,227: 12x18 +#717 @ 437,868: 10x13 +#718 @ 788,94: 29x11 +#719 @ 153,327: 21x10 +#720 @ 645,873: 21x19 +#721 @ 265,118: 18x12 +#722 @ 165,369: 17x10 +#723 @ 688,684: 26x12 +#724 @ 536,737: 18x12 +#725 @ 700,457: 18x16 +#726 @ 143,865: 13x17 +#727 @ 262,163: 17x17 +#728 @ 578,939: 14x26 +#729 @ 211,808: 23x11 +#730 @ 910,498: 5x18 +#731 @ 921,396: 17x15 +#732 @ 48,352: 11x26 +#733 @ 697,765: 25x11 +#734 @ 0,379: 26x18 +#735 @ 763,716: 21x24 +#736 @ 927,7: 29x11 +#737 @ 139,620: 14x26 +#738 @ 886,698: 10x26 +#739 @ 193,962: 29x24 +#740 @ 309,313: 24x17 +#741 @ 611,305: 11x13 +#742 @ 362,294: 18x23 +#743 @ 441,599: 13x12 +#744 @ 784,404: 15x27 +#745 @ 52,240: 20x12 +#746 @ 750,715: 14x13 +#747 @ 464,809: 11x29 +#748 @ 105,555: 10x29 +#749 @ 187,266: 26x12 +#750 @ 454,110: 24x18 +#751 @ 363,192: 6x14 +#752 @ 711,438: 28x20 +#753 @ 578,746: 10x11 +#754 @ 462,625: 15x25 +#755 @ 687,291: 17x16 +#756 @ 359,546: 14x20 +#757 @ 67,264: 10x18 +#758 @ 923,857: 13x16 +#759 @ 852,849: 13x19 +#760 @ 225,794: 22x21 +#761 @ 124,176: 12x18 +#762 @ 842,826: 21x19 +#763 @ 526,33: 14x16 +#764 @ 551,494: 26x22 +#765 @ 92,560: 19x18 +#766 @ 428,629: 10x13 +#767 @ 65,580: 18x17 +#768 @ 80,534: 15x29 +#769 @ 576,292: 18x21 +#770 @ 831,38: 27x18 +#771 @ 40,221: 10x19 +#772 @ 34,893: 16x22 +#773 @ 531,117: 20x15 +#774 @ 491,213: 26x28 +#775 @ 890,117: 24x20 +#776 @ 556,17: 15x25 +#777 @ 895,719: 20x20 +#778 @ 384,858: 24x15 +#779 @ 736,169: 25x29 +#780 @ 861,569: 24x15 +#781 @ 192,911: 18x26 +#782 @ 115,798: 20x15 +#783 @ 980,80: 16x19 +#784 @ 605,42: 19x24 +#785 @ 83,739: 25x10 +#786 @ 522,327: 13x29 +#787 @ 317,501: 10x14 +#788 @ 503,47: 13x11 +#789 @ 921,952: 23x24 +#790 @ 69,386: 23x15 +#791 @ 651,54: 21x24 +#792 @ 379,868: 28x13 +#793 @ 656,869: 17x27 +#794 @ 731,712: 12x18 +#795 @ 828,689: 12x11 +#796 @ 237,693: 26x11 +#797 @ 420,153: 14x23 +#798 @ 586,539: 19x24 +#799 @ 173,700: 29x13 +#800 @ 929,721: 26x23 +#801 @ 722,17: 28x22 +#802 @ 963,78: 15x16 +#803 @ 722,953: 27x29 +#804 @ 99,560: 25x16 +#805 @ 587,767: 16x11 +#806 @ 691,216: 24x12 +#807 @ 880,132: 12x15 +#808 @ 31,910: 29x16 +#809 @ 352,917: 14x23 +#810 @ 159,801: 12x29 +#811 @ 590,59: 19x10 +#812 @ 108,34: 22x24 +#813 @ 922,904: 24x12 +#814 @ 379,820: 13x28 +#815 @ 889,544: 16x14 +#816 @ 465,367: 29x24 +#817 @ 430,448: 17x29 +#818 @ 213,138: 28x28 +#819 @ 92,529: 17x19 +#820 @ 654,45: 17x14 +#821 @ 522,83: 10x18 +#822 @ 864,934: 23x24 +#823 @ 790,695: 24x29 +#824 @ 952,389: 25x27 +#825 @ 549,286: 28x21 +#826 @ 211,704: 23x12 +#827 @ 787,254: 16x27 +#828 @ 600,37: 14x21 +#829 @ 712,855: 21x22 +#830 @ 861,493: 26x20 +#831 @ 783,875: 23x13 +#832 @ 87,434: 17x11 +#833 @ 631,184: 17x27 +#834 @ 317,772: 13x19 +#835 @ 455,623: 26x14 +#836 @ 246,877: 16x16 +#837 @ 67,97: 29x29 +#838 @ 959,971: 28x28 +#839 @ 532,115: 22x27 +#840 @ 947,21: 12x27 +#841 @ 497,817: 16x25 +#842 @ 238,587: 23x16 +#843 @ 446,852: 19x25 +#844 @ 969,34: 23x26 +#845 @ 203,551: 18x17 +#846 @ 615,752: 28x29 +#847 @ 323,719: 24x23 +#848 @ 475,577: 11x19 +#849 @ 714,487: 24x21 +#850 @ 412,682: 17x28 +#851 @ 683,780: 16x20 +#852 @ 445,514: 13x15 +#853 @ 105,256: 26x28 +#854 @ 515,552: 26x25 +#855 @ 710,137: 29x10 +#856 @ 573,783: 18x17 +#857 @ 670,679: 18x23 +#858 @ 494,910: 17x10 +#859 @ 785,555: 22x28 +#860 @ 233,64: 27x22 +#861 @ 805,383: 10x29 +#862 @ 29,333: 21x24 +#863 @ 63,518: 18x20 +#864 @ 814,665: 22x13 +#865 @ 436,504: 16x27 +#866 @ 581,920: 13x24 +#867 @ 454,659: 23x11 +#868 @ 799,869: 26x19 +#869 @ 745,336: 26x23 +#870 @ 917,407: 15x12 +#871 @ 844,443: 17x25 +#872 @ 544,69: 27x12 +#873 @ 237,674: 20x22 +#874 @ 819,135: 25x19 +#875 @ 42,417: 27x28 +#876 @ 481,190: 14x19 +#877 @ 911,392: 15x13 +#878 @ 121,674: 16x28 +#879 @ 140,56: 14x27 +#880 @ 577,544: 15x26 +#881 @ 41,891: 25x24 +#882 @ 915,507: 12x9 +#883 @ 875,649: 18x20 +#884 @ 911,969: 13x16 +#885 @ 887,287: 19x26 +#886 @ 912,352: 22x20 +#887 @ 475,115: 5x11 +#888 @ 427,532: 16x27 +#889 @ 953,23: 22x25 +#890 @ 874,82: 20x17 +#891 @ 47,536: 21x12 +#892 @ 763,55: 21x25 +#893 @ 170,132: 27x29 +#894 @ 793,449: 22x22 +#895 @ 534,59: 11x23 +#896 @ 235,569: 11x23 +#897 @ 472,589: 26x19 +#898 @ 406,715: 10x17 +#899 @ 690,528: 27x18 +#900 @ 93,504: 10x14 +#901 @ 124,934: 28x26 +#902 @ 476,632: 19x13 +#903 @ 324,589: 23x11 +#904 @ 225,507: 21x24 +#905 @ 698,64: 25x27 +#906 @ 135,668: 25x29 +#907 @ 883,734: 24x25 +#908 @ 688,537: 7x4 +#909 @ 891,559: 25x29 +#910 @ 256,170: 18x23 +#911 @ 273,670: 20x23 +#912 @ 397,729: 26x23 +#913 @ 26,230: 16x12 +#914 @ 904,675: 26x10 +#915 @ 725,804: 22x28 +#916 @ 518,139: 16x20 +#917 @ 159,474: 25x21 +#918 @ 14,129: 15x25 +#919 @ 113,515: 18x10 +#920 @ 413,487: 25x19 +#921 @ 767,243: 20x12 +#922 @ 82,115: 18x12 +#923 @ 840,267: 13x20 +#924 @ 212,403: 10x29 +#925 @ 32,765: 28x22 +#926 @ 181,975: 18x10 +#927 @ 532,412: 21x29 +#928 @ 903,742: 25x16 +#929 @ 292,903: 13x26 +#930 @ 799,10: 28x23 +#931 @ 588,109: 19x27 +#932 @ 962,977: 16x15 +#933 @ 436,783: 21x28 +#934 @ 77,616: 20x26 +#935 @ 216,767: 16x16 +#936 @ 667,741: 18x20 +#937 @ 726,449: 10x20 +#938 @ 39,235: 13x26 +#939 @ 765,821: 10x11 +#940 @ 79,5: 24x27 +#941 @ 564,363: 14x18 +#942 @ 186,816: 12x24 +#943 @ 831,99: 19x17 +#944 @ 304,774: 10x26 +#945 @ 532,59: 13x19 +#946 @ 552,505: 16x23 +#947 @ 88,392: 26x12 +#948 @ 61,182: 8x16 +#949 @ 149,523: 19x22 +#950 @ 310,236: 16x28 +#951 @ 47,943: 21x28 +#952 @ 847,671: 19x24 +#953 @ 779,518: 26x25 +#954 @ 978,971: 18x14 +#955 @ 177,776: 21x22 +#956 @ 780,782: 18x17 +#957 @ 559,753: 19x25 +#958 @ 947,88: 22x29 +#959 @ 648,100: 14x16 +#960 @ 787,800: 14x27 +#961 @ 470,126: 28x19 +#962 @ 157,462: 11x24 +#963 @ 349,920: 16x14 +#964 @ 661,570: 29x16 +#965 @ 589,509: 10x10 +#966 @ 260,484: 29x23 +#967 @ 204,214: 25x22 +#968 @ 856,815: 17x14 +#969 @ 919,653: 25x18 +#970 @ 344,420: 24x11 +#971 @ 558,904: 10x10 +#972 @ 178,125: 15x13 +#973 @ 877,975: 27x23 +#974 @ 62,609: 17x18 +#975 @ 803,889: 10x19 +#976 @ 492,195: 18x29 +#977 @ 204,258: 13x18 +#978 @ 947,911: 28x25 +#979 @ 518,372: 17x15 +#980 @ 16,797: 25x28 +#981 @ 250,348: 14x24 +#982 @ 644,117: 9x4 +#983 @ 452,596: 26x11 +#984 @ 322,715: 24x11 +#985 @ 545,236: 24x21 +#986 @ 861,861: 10x11 +#987 @ 832,424: 13x17 +#988 @ 659,418: 11x28 +#989 @ 132,503: 11x22 +#990 @ 523,789: 14x22 +#991 @ 704,172: 26x28 +#992 @ 490,860: 20x22 +#993 @ 50,104: 18x16 +#994 @ 256,188: 26x16 +#995 @ 311,623: 13x16 +#996 @ 565,85: 24x17 +#997 @ 708,788: 15x11 +#998 @ 673,535: 24x11 +#999 @ 363,116: 16x15 +#1000 @ 282,493: 17x27 +#1001 @ 727,347: 16x13 +#1002 @ 742,820: 15x24 +#1003 @ 548,815: 27x13 +#1004 @ 212,192: 21x19 +#1005 @ 365,62: 19x14 +#1006 @ 941,366: 13x17 +#1007 @ 636,824: 23x25 +#1008 @ 927,9: 20x11 +#1009 @ 916,729: 23x29 +#1010 @ 332,88: 13x26 +#1011 @ 598,622: 12x18 +#1012 @ 868,603: 10x19 +#1013 @ 486,114: 22x26 +#1014 @ 771,774: 27x17 +#1015 @ 300,567: 22x15 +#1016 @ 154,973: 17x10 +#1017 @ 541,98: 13x23 +#1018 @ 743,459: 23x29 +#1019 @ 348,335: 28x15 +#1020 @ 132,45: 25x28 +#1021 @ 76,790: 11x16 +#1022 @ 404,542: 11x11 +#1023 @ 372,824: 26x25 +#1024 @ 268,939: 26x21 +#1025 @ 916,958: 16x16 +#1026 @ 90,461: 29x23 +#1027 @ 730,39: 14x13 +#1028 @ 278,175: 16x6 +#1029 @ 384,686: 20x19 +#1030 @ 89,436: 5x6 +#1031 @ 52,108: 13x8 +#1032 @ 469,618: 29x13 +#1033 @ 173,317: 27x29 +#1034 @ 178,387: 23x18 +#1035 @ 938,108: 9x6 +#1036 @ 576,455: 14x24 +#1037 @ 958,257: 23x12 +#1038 @ 377,835: 25x12 +#1039 @ 298,597: 25x18 +#1040 @ 504,883: 13x18 +#1041 @ 814,866: 24x20 +#1042 @ 940,597: 22x26 +#1043 @ 184,286: 11x27 +#1044 @ 896,102: 19x22 +#1045 @ 321,610: 12x17 +#1046 @ 295,765: 16x21 +#1047 @ 943,376: 22x28 +#1048 @ 265,36: 26x26 +#1049 @ 145,633: 25x26 +#1050 @ 171,347: 14x18 +#1051 @ 753,106: 25x24 +#1052 @ 512,36: 11x18 +#1053 @ 913,453: 13x19 +#1054 @ 598,313: 15x17 +#1055 @ 631,218: 26x16 +#1056 @ 830,315: 22x26 +#1057 @ 562,59: 18x15 +#1058 @ 190,466: 20x20 +#1059 @ 907,882: 23x21 +#1060 @ 879,184: 27x15 +#1061 @ 882,553: 28x11 +#1062 @ 225,720: 13x27 +#1063 @ 980,272: 10x19 +#1064 @ 322,253: 24x15 +#1065 @ 397,373: 13x20 +#1066 @ 244,359: 20x25 +#1067 @ 449,536: 17x27 +#1068 @ 538,40: 16x28 +#1069 @ 334,859: 24x25 +#1070 @ 920,979: 24x15 +#1071 @ 74,241: 17x24 +#1072 @ 811,385: 13x24 +#1073 @ 680,56: 22x23 +#1074 @ 841,13: 22x27 +#1075 @ 230,220: 12x23 +#1076 @ 20,141: 24x27 +#1077 @ 323,572: 26x29 +#1078 @ 383,688: 12x17 +#1079 @ 17,433: 29x26 +#1080 @ 232,697: 29x21 +#1081 @ 611,785: 22x17 +#1082 @ 954,482: 18x14 +#1083 @ 530,441: 12x14 +#1084 @ 293,902: 21x21 +#1085 @ 14,683: 25x28 +#1086 @ 727,679: 23x10 +#1087 @ 386,324: 15x10 +#1088 @ 527,19: 22x20 +#1089 @ 713,207: 17x15 +#1090 @ 270,176: 16x13 +#1091 @ 716,638: 16x24 +#1092 @ 230,217: 19x11 +#1093 @ 564,531: 26x22 +#1094 @ 609,45: 17x28 +#1095 @ 78,352: 26x14 +#1096 @ 746,131: 10x17 +#1097 @ 665,582: 25x24 +#1098 @ 345,41: 27x28 +#1099 @ 57,588: 25x27 +#1100 @ 74,502: 10x27 +#1101 @ 396,942: 11x12 +#1102 @ 327,615: 23x11 +#1103 @ 336,656: 16x15 +#1104 @ 447,10: 23x10 +#1105 @ 294,450: 21x15 +#1106 @ 309,369: 23x25 +#1107 @ 748,68: 12x14 +#1108 @ 665,60: 26x15 +#1109 @ 321,733: 26x20 +#1110 @ 282,632: 14x14 +#1111 @ 645,856: 12x26 +#1112 @ 269,27: 12x20 +#1113 @ 100,330: 11x13 +#1114 @ 7,812: 13x10 +#1115 @ 943,16: 10x11 +#1116 @ 50,526: 19x20 +#1117 @ 36,647: 18x10 +#1118 @ 204,840: 21x20 +#1119 @ 669,450: 7x7 +#1120 @ 962,269: 11x20 +#1121 @ 781,549: 19x24 +#1122 @ 790,14: 17x27 +#1123 @ 13,363: 17x28 +#1124 @ 832,648: 10x24 +#1125 @ 858,932: 23x19 +#1126 @ 898,666: 22x23 +#1127 @ 727,220: 13x27 +#1128 @ 653,912: 29x20 +#1129 @ 478,108: 19x16 +#1130 @ 497,961: 17x20 +#1131 @ 969,286: 12x29 +#1132 @ 528,143: 18x28 +#1133 @ 272,686: 23x16 +#1134 @ 523,381: 22x11 +#1135 @ 518,727: 17x20 +#1136 @ 122,673: 12x23 +#1137 @ 762,776: 25x13 +#1138 @ 184,810: 24x25 +#1139 @ 715,839: 26x20 +#1140 @ 68,634: 18x28 +#1141 @ 195,553: 28x13 +#1142 @ 745,235: 28x13 +#1143 @ 765,834: 24x29 +#1144 @ 910,835: 23x10 +#1145 @ 471,570: 11x27 +#1146 @ 230,218: 10x13 +#1147 @ 977,187: 11x20 +#1148 @ 535,71: 10x21 +#1149 @ 89,79: 12x11 +#1150 @ 644,814: 25x25 +#1151 @ 325,153: 15x10 +#1152 @ 408,454: 17x21 +#1153 @ 97,259: 15x28 +#1154 @ 697,639: 17x11 +#1155 @ 531,31: 26x17 +#1156 @ 126,652: 29x22 +#1157 @ 531,231: 15x19 +#1158 @ 771,570: 28x28 +#1159 @ 718,329: 16x28 +#1160 @ 4,788: 21x22 +#1161 @ 41,605: 15x21 +#1162 @ 814,927: 28x10 +#1163 @ 376,77: 18x22 +#1164 @ 775,404: 22x26 +#1165 @ 382,853: 22x17 +#1166 @ 924,404: 29x16 +#1167 @ 449,158: 19x17 +#1168 @ 817,884: 23x22 +#1169 @ 780,418: 20x10 +#1170 @ 865,781: 13x28 +#1171 @ 239,723: 12x26 +#1172 @ 689,902: 22x22 +#1173 @ 477,204: 23x26 +#1174 @ 510,172: 10x12 +#1175 @ 699,784: 15x11 +#1176 @ 9,782: 16x16 +#1177 @ 409,805: 16x29 +#1178 @ 643,928: 22x17 +#1179 @ 751,323: 22x16 +#1180 @ 808,209: 26x25 +#1181 @ 589,508: 12x13 +#1182 @ 260,9: 13x18 +#1183 @ 701,864: 24x26 +#1184 @ 289,671: 22x19 +#1185 @ 96,528: 22x25 +#1186 @ 370,307: 22x29 +#1187 @ 366,962: 22x28 +#1188 @ 527,728: 24x29 +#1189 @ 708,950: 22x15 +#1190 @ 694,856: 17x11 +#1191 @ 909,505: 27x14 +#1192 @ 794,774: 17x26 +#1193 @ 692,796: 15x28 +#1194 @ 575,752: 24x17 +#1195 @ 819,805: 20x17 +#1196 @ 165,838: 10x12 +#1197 @ 707,208: 15x26 +#1198 @ 714,302: 29x17 +#1199 @ 555,53: 17x29 +#1200 @ 572,646: 27x23 +#1201 @ 378,633: 11x18 +#1202 @ 902,844: 10x12 +#1203 @ 771,823: 24x26 +#1204 @ 538,75: 22x26 +#1205 @ 821,307: 27x14 +#1206 @ 682,603: 19x18 +#1207 @ 854,229: 27x20 +#1208 @ 78,499: 24x27 +#1209 @ 665,877: 22x17 +#1210 @ 891,748: 26x25 +#1211 @ 642,369: 28x13 +#1212 @ 921,369: 10x15 +#1213 @ 527,925: 26x17 +#1214 @ 632,827: 25x25 +#1215 @ 871,572: 10x14 +#1216 @ 131,902: 22x17 +#1217 @ 163,628: 26x13 +#1218 @ 351,353: 18x26 +#1219 @ 44,600: 19x29 +#1220 @ 316,405: 23x24 +#1221 @ 527,409: 19x13 +#1222 @ 577,886: 23x22 +#1223 @ 175,827: 22x27 +#1224 @ 562,781: 22x24 +#1225 @ 44,567: 16x16 +#1226 @ 878,69: 23x17 +#1227 @ 807,153: 17x22 +#1228 @ 72,613: 11x10 +#1229 @ 785,568: 12x25 +#1230 @ 819,410: 29x21 +#1231 @ 610,701: 26x14 +#1232 @ 2,876: 29x20 +#1233 @ 603,25: 28x28 +#1234 @ 303,583: 23x20 +#1235 @ 814,870: 21x11 +#1236 @ 103,696: 26x14 +#1237 @ 492,931: 12x13 +#1238 @ 623,485: 16x20 +#1239 @ 868,711: 12x12 +#1240 @ 187,964: 15x17 +#1241 @ 43,631: 15x11 +#1242 @ 605,916: 13x22 +#1243 @ 727,465: 21x20 +#1244 @ 642,115: 14x24 +#1245 @ 264,513: 25x10 +#1246 @ 560,682: 10x11 +#1247 @ 390,722: 11x25 +#1248 @ 532,730: 17x22 +#1249 @ 956,863: 21x19 +#1250 @ 949,364: 23x27 +#1251 @ 527,318: 15x15 +#1252 @ 96,567: 28x16 +#1253 @ 251,808: 21x15 +#1254 @ 602,539: 14x12 +#1255 @ 632,820: 28x10 +#1256 @ 398,161: 25x19 +#1257 @ 106,580: 23x19 +#1258 @ 165,840: 28x11 +#1259 @ 284,903: 26x20 +#1260 @ 384,578: 28x21 +#1261 @ 252,423: 16x14 +#1262 @ 279,618: 15x24 +#1263 @ 859,434: 12x13 +#1264 @ 117,586: 28x20 +#1265 @ 170,780: 15x26 +#1266 @ 858,554: 27x22 +#1267 @ 380,926: 27x11 +#1268 @ 769,549: 21x10 +#1269 @ 323,871: 20x10 +#1270 @ 776,510: 24x29 +#1271 @ 534,727: 12x24 +#1272 @ 822,678: 11x24 +#1273 @ 128,16: 6x6 +#1274 @ 580,802: 26x13 +#1275 @ 609,322: 16x11 +#1276 @ 568,851: 14x23 +#1277 @ 689,298: 26x26 +#1278 @ 536,28: 11x23 +#1279 @ 228,759: 21x24 +#1280 @ 709,896: 17x18 +#1281 @ 325,172: 11x17 +#1282 @ 252,552: 12x28 +#1283 @ 323,401: 22x24 +#1284 @ 155,230: 17x15 +#1285 @ 227,739: 19x12 +#1286 @ 341,111: 18x10 +#1287 @ 597,58: 25x24 +#1288 @ 245,892: 26x11 +#1289 @ 726,425: 21x16 +#1290 @ 79,317: 7x16 +#1291 @ 410,626: 25x11 +#1292 @ 784,871: 20x18 +#1293 @ 446,429: 21x22 +#1294 @ 782,808: 17x10 +#1295 @ 360,190: 27x21 +#1296 @ 862,193: 13x28 +#1297 @ 229,713: 18x11 +#1298 @ 561,344: 23x26 +#1299 @ 519,131: 22x26 +#1300 @ 58,180: 16x21 +#1301 @ 767,567: 11x10 +#1302 @ 721,739: 10x19 +#1303 @ 942,971: 23x11 +#1304 @ 245,768: 28x26 +#1305 @ 752,583: 29x18 +#1306 @ 797,199: 26x28 +#1307 @ 584,966: 12x24 +#1308 @ 322,185: 18x18 +#1309 @ 590,941: 14x26 +#1310 @ 877,662: 16x24 +#1311 @ 844,702: 16x12 +#1312 @ 142,590: 14x11 +#1313 @ 239,792: 23x29 +#1314 @ 741,727: 20x24 +#1315 @ 514,219: 28x11 +#1316 @ 505,284: 23x11 +#1317 @ 493,869: 26x28 +#1318 @ 625,520: 26x28 +#1319 @ 621,813: 11x26 +#1320 @ 138,534: 24x22 +#1321 @ 636,736: 10x21 +#1322 @ 811,595: 18x28 +#1323 @ 900,304: 23x28 +#1324 @ 481,927: 10x14 +#1325 @ 538,780: 11x15 +#1326 @ 587,894: 22x26 +#1327 @ 626,162: 18x25 +#1328 @ 410,162: 11x13 +#1329 @ 85,337: 22x18 +#1330 @ 566,763: 25x11 +#1331 @ 971,480: 17x10 +#1332 @ 355,400: 11x29 +#1333 @ 816,796: 29x10 +#1334 @ 448,652: 13x27 +#1335 @ 372,140: 20x28 +#1336 @ 186,772: 10x11 +#1337 @ 57,551: 23x14 +#1338 @ 952,414: 29x10 +#1339 @ 788,795: 17x19 +#1340 @ 870,715: 11x22 +#1341 @ 51,188: 20x20 +#1342 @ 289,113: 22x21 +#1343 @ 41,427: 24x26 +#1344 @ 472,613: 10x27 +#1345 @ 789,674: 19x22 +#1346 @ 769,30: 18x17 +#1347 @ 893,500: 29x20 +#1348 @ 26,81: 22x21 +#1349 @ 539,706: 17x12 +#1350 @ 951,977: 16x22 +#1351 @ 336,786: 15x27 +#1352 @ 702,439: 17x17 +#1353 @ 766,414: 11x16 +#1354 @ 415,436: 28x10 +#1355 @ 667,444: 12x18 +#1356 @ 922,906: 24x10 +#1357 @ 709,813: 19x15 +#1358 @ 78,613: 10x13 +#1359 @ 115,776: 16x23 +#1360 @ 873,571: 27x10 +#1361 @ 691,199: 17x24 +#1362 @ 277,286: 10x12 +#1363 @ 137,800: 18x24 +#1364 @ 186,238: 29x29 +#1365 @ 303,914: 20x11 +#1366 @ 205,472: 19x19 +#1367 @ 877,890: 28x23 +#1368 @ 867,146: 23x21 +#1369 @ 243,663: 11x12 +#1370 @ 731,726: 17x15 +#1371 @ 726,767: 17x24 +#1372 @ 710,816: 24x12 +#1373 @ 507,900: 22x24 +#1374 @ 680,44: 16x12 +#1375 @ 214,234: 23x15 +#1376 @ 631,279: 21x24 +#1377 @ 29,140: 10x18 +#1378 @ 731,461: 24x11 +#1379 @ 303,488: 22x17 +#1380 @ 236,676: 12x20 +#1381 @ 81,109: 20x13 +#1382 @ 413,123: 19x28 +#1383 @ 173,276: 21x22 diff --git a/AoC2018/Solutions/Day3Solution.cs b/AoC2018/Solutions/Day3Solution.cs new file mode 100644 index 0000000..7f5e632 --- /dev/null +++ b/AoC2018/Solutions/Day3Solution.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text.RegularExpressions; + +namespace AoC2018.Solutions +{ + public class Day3Solution : Solution + { + public override string Title => "No Matter How You Slice It"; + + public override int Day => 3; + + public override void Run() + { + string[] input = File.ReadAllLines(Path.Combine("Input", "Day3Input.txt")); + + Console.WriteLine($"Part 1: {CalculatePart1(input)}"); + Console.WriteLine($"Part 2: {CalculatePart2(input)}"); + } + + public int CalculatePart1(string[] input) + { + List claims = new List(); + + int maxX = 0, maxY = 0; + foreach (var s in input) + { + var claim = new Claim(s); + maxX = Math.Max(maxX, claim.X + claim.Width); + maxY = Math.Max(maxY, claim.Y + claim.Height); + claims.Add(claim); + } + + int[] map = new int[maxX * maxY]; + foreach (Claim claim in claims) + { + for (int y = 0; y < claim.Height; y++) + for (int x = 0; x < claim.Width; x++) + map[(maxX * (claim.Y + y)) + (claim.X + x)]++; + } + + int count = 0; + for (int y = 0; y < maxY; y++) + { + for (int x = 0; x < maxX; x++) + { + if (map[y * maxX + x] > 1) + count++; + } + } + + return count; + } + + public int CalculatePart2(string[] input) + { + List claims = new List(); + + int maxX = 0, maxY = 0; + foreach (var s in input) + { + var claim = new Claim(s); + maxX = Math.Max(maxX, claim.X + claim.Width); + maxY = Math.Max(maxY, claim.Y + claim.Height); + claims.Add(claim); + } + + int[] map = new int[maxX * maxY]; + foreach (Claim claim in claims) + { + for (int y = 0; y < claim.Height; y++) + for (int x = 0; x < claim.Width; x++) + map[(maxX * (claim.Y + y)) + (claim.X + x)]++; + } + + foreach (Claim claim in claims) + { + bool clean = true; + + for (int y = 0; y < claim.Height; y++) + for (int x = 0; x < claim.Width; x++) + { + if (map[(maxX * (claim.Y + y)) + (claim.X + x)] > 1) + clean = false; + } + + if (clean) + return claim.Index; + } + + return -1; + } + } + + public class Claim + { + public int Index { get; set; } + public int X { get; set; } + public int Y { get; set; } + public int Width { get; set; } + public int Height { get; set; } + + public Claim(string line) + { + Match match = Regex.Match(line, @"#(\d+) @ (\d+),(\d+): (\d+)x(\d+)"); + if (match.Success) + { + Index = int.Parse(match.Groups[1].Value); + X = int.Parse(match.Groups[2].Value); + Y = int.Parse(match.Groups[3].Value); + Width = int.Parse(match.Groups[4].Value); + Height = int.Parse(match.Groups[5].Value); + } + } + + public override string ToString() + { + return $"Index: {Index}, Pos: {X},{Y}, Size: {Width}x{Height}"; + } + } +} diff --git a/AoC2018/Solutions/Solution.cs b/AoC2018/Solutions/Solution.cs index 10c8675..96fb3de 100644 --- a/AoC2018/Solutions/Solution.cs +++ b/AoC2018/Solutions/Solution.cs @@ -8,7 +8,6 @@ namespace AoC2018.Solutions { public abstract string Title { get; } public abstract int Day { get; } - public abstract void Run(); } }