diff options
-rw-r--r-- | 2018/input/2.txt | 250 | ||||
-rw-r--r-- | 2018/input/3.txt | 1409 | ||||
-rw-r--r-- | 2018/src/day3.rs | 92 | ||||
-rw-r--r-- | 2018/src/main.rs | 4 |
4 files changed, 1754 insertions, 1 deletions
diff --git a/2018/input/2.txt b/2018/input/2.txt new file mode 100644 index 0000000..871b0e4 --- /dev/null +++ b/2018/input/2.txt @@ -0,0 +1,250 @@ +luojygedpvsthptkxiwnaorzmq +lucjqgedppsbhftkxiwnaorlmq +lucjmgefpvsbhftkxiwnaorziq +lucjvgedpvsbxftkxiwpaorzmq +lrcjygedjvmbhftkxiwnaorzmq +lucjygedpvsbhftkxiwnootzmu +eucjygedpvsbhftbxiwnaorzfq +lulnygedpvsbhftkxrwnaorzmq +lucsygedpvsohftkxqwnaorzmq +lucjyaedpvsnhftkxiwnaorzyq +lunjygedpvsohftkxiwnaorzmb +lucjxgedpvsbhrtkxiwnamrzmq +lucjygevpvsbhftkxcwnaorzma +lucjbgedpvsbhftrxiwnaoazmq +llcjygkdpvhbhftkxiwnaorzmq +lmcjygxdpvsbhftkxswnaorzmq +lucpygedpvsbhftkxiwraorzmc +lucjbgrdpvsblftkxiwnaorzmq +lucjfgedpvsbhftkxiwnaurzmv +lucjygenpvsbhytkxiwnaorgmq +luqjyredsvsbhftkxiwnaorzmq +lucjygedpvavhftkxiwnaorumq +gucjygedpvsbhkxkxiwnaorzmq +lucjygedpvsbhftkxlwnaordcq +lucjygedpvibhfqkxiwnaorzmm +lucjegedpvsbaftkxewnaorzmq +kucjygeqpvsbhfokxiwnaorzmq +lugjygedwvsbhftkxiwnatrzmq +lucjygedqvsbhftdxiwnayrzmq +lucjygekpvsbuftkxiwnaqrzmq +lucjygedpvsbhfbkxiwnaoozdq +lscjygedpvzchftkxiwnaorzmq +luckygedpvsbxftkxiwnaorvmq +luyjygedgvsbhptkxiwnaorzmq +lmcjygedpvsbhfckxiwnaodzmq +lucmygedwvybhftkxiwnaorzmq +lgcjhgedavsbhftkxiwnaorzmq +lucjugedpvsbhftkxiwmaoozmq +lucjygedpvybhftkxkwnaorumq +lucjygedpvzbhfakxiwnaorzpq +lucjygedpvsbhftyxzwnajrzmq +lucjygedpvsdhfakxiwnoorzmq +luyjygeopvhbhftkxiwnaorzmq +lucjygadpvsbhntkxiwnaorzmx +lucjygedzvsbhftkiiwuaorzmq +sucjygodpvsbhftkxiwuaorzmq +euijygydpvsbhftkxiwnaorzmq +lucjlgeduvsbhftkxicnaorzmq +lucjdgedpvsbhfgkxiwnhorzmq +lucjymedpvsbhotkxiqnaorzmq +lucjygmdpvsbhftkxywnairzmq +lucjggedpvsbhfxkxiqnaorzmq +sucjygedpvsbhftkxiwnaorjmv +lucjlgedpvsbhftkxiwnairzmg +lucjygedppubhftkxijnaorzmq +lucjyxedpvsvhftkxlwnaorzmq +lucjygedpvxbhftkfiwyaorzmq +lucjygedposbhftkniwnaorzmw +lucjygewpvsbhftgxiwnavrzmq +lucjynedpvsbmftkaiwnaorzmq +lucjyhedpvzbhftkxiwncorzmq +lucjygedpvsbhfikpiwnaoezmq +lupjypedpvsbhftkjiwnaorzmq +lucjygudpvsbhfwkxivnaorzmq +lucjygrdpvsbhatkxzwnaorzmq +lucjbgmdpvsbhftkxihnaorzmq +lucjmgedpvpbhftkxiwnaorcmq +lucjygedpvskhfukmiwnaorzmq +lucjygedgvsbhftkxiwnvprzmq +lucjzgedppsbhytkxiwnaorzmq +lfcjypedpvsbhftrxiwnaorzmq +lucjyqldphsbhftkxiwnaorzmq +lucjygedpvsbhftzxewnaorzqq +lucjygeapvsbhftkxiinoorzmq +lucjygedpvszhftguiwnaorzmq +luojygedpvsbhftkxawnaornmq +lucjygedpcsboetkxiwnaorzmq +lufjygedpvfbhftaxiwnaorzmq +luciygedpvsbhftkxhwaaorzmq +lucjygedpvnbhftkaiwnaorzmc +lucjygedpvsbhftkxiwcaorbdq +lucjygelpvsbhftaxiwsaorzmq +lujjygedpssbhftkxiwnaorzmr +ludjygedpvsbhftkxiynaorzmj +lukjygeedvsbhftkxiwnaorzmq +lucjqpedpvsbhftkxiwnaozzmq +jucjygedpvsbhftkxgwnaorqmq +llwjygedpvsbhetkxiwnaorzmq +rucjygedpvsbhftkxiwndorymq +lucjygedpvsbhftvxswnaorwmq +lucjygerpvsbhfykxiwnaormmq +lucjynedpvsbhftkxijnaorziq +ljcjygedpvrbhftkeiwnaorzmq +lucjygedpnsbhftkxiwhaornmq +lucjygadpvsbhftkxibnaorzqq +lucjqgedpvsihftkxiwnaorzdq +lucjygedpvsqhfttjiwnaorzmq +llcjygedsvsbhftkxiwwaorzmq +lfckygedpvsbhftkxiunaorzmq +lucjyeedpdsbhftkxiwnaotzmq +lucjygedpvsbhftkoiwnaoqzcq +huwjvgedpvsbhftkxiwnaorzmq +lucjygldpvsbdhtkxiwnaorzmq +lycxygedpvsbhftmxiwnaorzmq +lucjygedpvsbhftyxianvorzmq +lucuygedpdsbhqtkxiwnaorzmq +lucjyggdpvsbhftkxiwnavremq +lucjyggdpvsbkftkxiwnaorbmq +luchyqedpvsbhftixiwnaorzmq +lpcnygedpvsbhftkxzwnaorzmq +lucjygedpvsihftkxiwfaortmq +lucjygvdpvsbhgtkxiwnamrzmq +lucjygodpvrbhqtkxiwnaorzmq +lucjygedpfsbhftkxipnaorzma +lucjygedpvsbhftkxpcjaorzmq +lucjygodbmsbhftkxiwnaorzmq +lucjygedpvsbhftkxipnaogzmb +luxjygjdpvsbhltkxiwnaorzmq +lucxygedpvsbhftkxzwnaorjmq +luajygedpvsbhftzxiwaaorzmq +lhcjygedpvsqhftfxiwnaorzmq +lucjygecphsbhftkxiwnaprzmq +lucjygedpvsbhptkxifnaorqmq +lucjygedpvichftkpiwnaorzmq +lucjygedpcsbhstkxswnaorzmq +kucjygedpvsbhftkxiwbyorzmq +lfpjxgedpvsbhftkxiwnaorzmq +lucjytldpvsbhftkxiwdaorzmq +lufjygedpvfbhftbxiwnaorzmq +lucjygebpvgbhftkxipnaorzmq +luujygedpvdbhftkxiwnaorzmd +lucjygedpvsbhfbyxwwnaorzmq +lucjygedpvsbhftkxiwnaoqpmw +qucgygedpvsbhftkxiwnaortmq +ludjtgedpvsbhftkxiunaorzmq +lucjyiedovsbhftkxiwjaorzmq +lucjygedpysbjftoxiwnaorzmq +lumjygedpvsbuftkxiknaorzmq +lucjygedpvsbhfokxgonaorzmq +lucjygeqpvsbhftkfiwnaorzeq +lucjygedpvskhftkxiwntorkmq +luujygedpvsbhftkxiwraorzmt +lucwygedpvsbjftkxiwnaorzmj +jucjyfedcvsbhftkxiwnaorzmq +luujygedpnsehftkxiwnaorzmq +lucjygedpvszhfckxiwnaorzmi +lucjyredpvsbzftkpiwnaorzmq +lucjygedpvsbwfgkxiwnaorzoq +lucjygedpvgbhftkpiwnaorzms +lucjygedpvjbhftkxzwnaoizmq +vucjycedpvsbhftkxiwfaorzmq +luawygeapvsbhftkxiwnaorzmq +lucjygetpvsbhftkxiwnaafzmq +lucjvgedpvsbhftkxywnavrzmq +luolygedpvsbgftkxiwnaorzmq +likjygedpvsbhftkxiwnabrzmq +lucjygedovsbhftkxirpaorzmq +lucjygedphsshftkxqwnaorzmq +uuqjygewpvsbhftkxiwnaorzmq +lucjygedcvsbhftkxiwoarrzmq +lucnygedpvsbhfakxiwnaorzms +lucjygedpvsbhntkxiwnawrzmb +lucjygedpvsblfxkxivnaorzmq +lucjygedpvsghftkxiwnaawzmq +yucjygedpgsbhftkxiwnaorzbq +lucjyweapvsbhftkxiwnaoezmq +lucjygevpvsbyftcxiwnaorzmq +luejygedovsbhftkxiwnqorzmq +lucjyqedpvsbhfbkxiwnaorzms +lucjypedpvsbhftwxiwnhorzmq +lucjygedpvsbhmtkviwxaorzmq +lucjogedpvpbhftkxiwnaorqmq +lucjygedpvsbhztkxkwnaoazmq +lucjyaedpvsbcftkxiwnaorzhq +lucjygbdpvkbhftkxiznaorzmq +lucpygedpvzbhftkxfwnaorzmq +lucjmgedpcsbhftkxiwnaoezmq +lucjygedyvsbbftkxiwnnorzmq +lucjyyedpvsbhftuxiwnaonzmq +lucjygfdpvsbhutkxiwnaorzmt +uccjygedpvschftkxiwnaorzmq +lusjygedpvbbhqtkxiwnaorzmq +ducuygedpvsbhftkxiwnaorzyq +lucjygkdvwsbhftkxiwnaorzmq +cucjyyedpvsbhftkxiwnaerzmq +lucjygedavsbhftkxiwnkorzbq +lucjygedmvsyhftkxiwiaorzmq +lucjygeipvsbhfpkxiwnaorzpq +vucjugedvvsbhftkxiwnaorzmq +lucjyzedpvsbhftkxpwnaoozmq +lucjygedpvgbhftkxiwtaorzqq +lecjygedpvcwhftkxiwnaorzmq +lucjyghdpvsbhfcyxiwnaorzmq +lucjygedpvesqftkxiwnaorzmq +lucjyjehpvsbhftbxiwnaorzmq +lucjygedpvtbhdtkxignaorzmq +lucjygxdpgsbhftkxivnaorzmq +lucjygvdpvsbhftkpiwnaorzqq +lucjysedpvsbhftkxiwnalrzmc +lucjygedpvkbhjtkxiwnaorsmq +lucjygedpvsbvfgkxiwnaerzmq +lucjygedpvsihftkxilnaorzmu +lvcvygndpvsbhftkxiwnaorzmq +lucjysedpqsbhftkxiwnaordmq +lucsygeypvsbhftkwiwnaorzmq +lucjygewpotbhftkxiwnaorzmq +lucjysedpvsbhftkxiwnanrzmv +lucjygedpvsbhutkxiwnaoplmq +wucjygedpvsqbftkxiwnaorzmq +lacjygeepvsbhftkxiwnjorzmq +lucjygedpusyhftkxicnaorzmq +qucjyredpvsbhftkxiwnworzmq +lucjygedevsbhftkgiwnayrzmq +lucjygedpksbrftkliwnaorzmq +lucjygedpvsbhfgkxisnaorzeq +lucjygedpvhdhftkeiwnaorzmq +lucjsgedpvsboftkxiwnaorumq +luctygedpvsbhftouiwnaorzmq +lucjygedpvsjhfukjiwnaorzmq +lucjagrepvsbhftkxiwnaorzmq +lucjkgerpvsbhftkxiwnairzmq +turjygedpvsbnftkxiwnaorzmq +lbcjygedpvsbhftkdpwnaorzmq +lucpygedpvsbhftkxnwnoorzmq +jucjygedpvsbhbtkxicnaorzmq +lecjygedpvsbhftkriwnaogzmq +licjyvcdpvsbhftkxiwnaorzmq +lrcjygewpnsbhftkxiwnaorzmq +ltcxygedpvlbhftkxiwnaorzmq +luctygedpvhbhztkxiwnaorzmq +lucwygedplsbhfakxiwnaorzmq +lucjygedpnsbhftkxiwjaoezmq +lucpygedptsbhftkxiwnaorzmo +lucjygedpvibhqtkxiknaorzmq +lucjwgqdpvrbhftkxiwnaorzmq +lucjmgkdpvsbhftkxiwraorzmq +lucjygwupvsbhftkxiznaorzmq +lucjhgedpvobhftkxiwncorzmq +lucjygedpvsbhftkxiwnaohtmj +lucjygedpvsbeftkfiwnaorzyq +lucjygcdpvsbpftkhiwnaorzmq +lucjygedpmsbhftkxiwnkouzmq +oucjygedpvsbyftkximnaorzmq +lucjcgedpvsbhftkxywnforzmq +lfcjygedfvsbdftkxiwnaorzmq +ducjygedevsbhfttxiwnaorzmq +ldcjdgedpvsbhftkxiwnavrzmq +lucjymedmvsbhqtkxiwnaorzmq +lucjygedpvabhftkxiwnasrlmq +lucjygefpvsbhftkxmwnaorkmq diff --git a/2018/input/3.txt b/2018/input/3.txt new file mode 100644 index 0000000..35f84f2 --- /dev/null +++ b/2018/input/3.txt @@ -0,0 +1,1409 @@ +#1 @ 37,526: 17x23 +#2 @ 75,649: 23x11 +#3 @ 138,364: 29x12 +#4 @ 370,260: 20x17 +#5 @ 345,512: 17x22 +#6 @ 798,255: 11x21 +#7 @ 65,658: 27x12 +#8 @ 561,59: 11x24 +#9 @ 676,491: 25x24 +#10 @ 466,216: 12x14 +#11 @ 244,867: 21x22 +#12 @ 540,331: 24x15 +#13 @ 588,819: 21x16 +#14 @ 449,749: 11x11 +#15 @ 718,975: 22x24 +#16 @ 634,684: 3x4 +#17 @ 762,66: 14x22 +#18 @ 890,30: 28x12 +#19 @ 765,380: 29x13 +#20 @ 362,91: 12x20 +#21 @ 409,438: 25x14 +#22 @ 951,842: 13x26 +#23 @ 561,384: 28x26 +#24 @ 231,112: 16x13 +#25 @ 295,64: 18x11 +#26 @ 559,254: 12x27 +#27 @ 542,298: 19x22 +#28 @ 380,923: 20x11 +#29 @ 639,811: 28x26 +#30 @ 355,781: 18x15 +#31 @ 346,401: 18x27 +#32 @ 863,904: 22x20 +#33 @ 674,53: 28x23 +#34 @ 547,932: 21x27 +#35 @ 330,763: 29x14 +#36 @ 9,26: 25x12 +#37 @ 736,934: 12x29 +#38 @ 199,569: 12x26 +#39 @ 238,881: 15x21 +#40 @ 285,409: 28x21 +#41 @ 889,332: 27x28 +#42 @ 491,332: 16x19 +#43 @ 804,806: 19x22 +#44 @ 400,539: 19x11 +#45 @ 858,364: 22x18 +#46 @ 781,391: 29x12 +#47 @ 775,65: 28x24 +#48 @ 142,303: 24x15 +#49 @ 176,82: 23x14 +#50 @ 919,370: 28x11 +#51 @ 533,62: 21x10 +#52 @ 787,796: 18x20 +#53 @ 663,127: 23x29 +#54 @ 685,477: 26x29 +#55 @ 915,940: 28x13 +#56 @ 271,34: 14x16 +#57 @ 335,111: 26x17 +#58 @ 69,221: 12x14 +#59 @ 561,67: 29x28 +#60 @ 562,559: 27x19 +#61 @ 78,194: 27x24 +#62 @ 597,392: 14x22 +#63 @ 727,201: 19x29 +#64 @ 795,818: 18x10 +#65 @ 323,772: 13x14 +#66 @ 522,267: 15x23 +#67 @ 583,373: 20x20 +#68 @ 22,955: 27x11 +#69 @ 958,782: 18x16 +#70 @ 288,650: 17x25 +#71 @ 244,459: 28x10 +#72 @ 337,36: 27x28 +#73 @ 384,95: 19x11 +#74 @ 510,205: 13x21 +#75 @ 778,577: 18x22 +#76 @ 263,407: 11x26 +#77 @ 50,388: 25x26 +#78 @ 224,546: 18x27 +#79 @ 31,556: 13x26 +#80 @ 834,320: 22x29 +#81 @ 797,292: 12x15 +#82 @ 34,29: 23x11 +#83 @ 529,324: 14x29 +#84 @ 492,346: 19x16 +#85 @ 271,427: 10x29 +#86 @ 411,804: 12x13 +#87 @ 158,518: 21x15 +#88 @ 904,628: 22x26 +#89 @ 268,958: 15x10 +#90 @ 198,555: 21x11 +#91 @ 922,868: 18x25 +#92 @ 684,127: 14x12 +#93 @ 738,110: 19x16 +#94 @ 545,449: 24x19 +#95 @ 437,264: 17x22 +#96 @ 207,572: 14x28 +#97 @ 850,622: 24x19 +#98 @ 315,329: 27x10 +#99 @ 233,436: 15x29 +#100 @ 817,217: 26x28 +#101 @ 90,221: 19x15 +#102 @ 267,846: 29x27 +#103 @ 855,222: 12x21 +#104 @ 516,777: 23x16 +#105 @ 397,676: 23x12 +#106 @ 664,117: 29x20 +#107 @ 22,395: 13x26 +#108 @ 900,693: 26x16 +#109 @ 134,396: 18x19 +#110 @ 837,369: 28x18 +#111 @ 512,448: 14x21 +#112 @ 745,542: 18x15 +#113 @ 801,269: 10x24 +#114 @ 774,874: 28x29 +#115 @ 275,286: 11x25 +#116 @ 674,726: 15x13 +#117 @ 461,205: 18x17 +#118 @ 909,91: 24x13 +#119 @ 49,287: 12x14 +#120 @ 784,46: 15x11 +#121 @ 381,834: 16x22 +#122 @ 79,910: 29x24 +#123 @ 840,147: 20x13 +#124 @ 54,353: 11x21 +#125 @ 133,398: 23x18 +#126 @ 384,783: 13x11 +#127 @ 833,886: 25x28 +#128 @ 891,30: 27x25 +#129 @ 741,302: 26x12 +#130 @ 246,767: 10x18 +#131 @ 635,252: 11x21 +#132 @ 337,671: 12x12 +#133 @ 529,563: 8x15 +#134 @ 338,575: 29x17 +#135 @ 27,31: 17x10 +#136 @ 436,912: 20x27 +#137 @ 877,709: 24x25 +#138 @ 741,122: 27x16 +#139 @ 784,134: 21x21 +#140 @ 256,837: 21x21 +#141 @ 569,959: 27x28 +#142 @ 94,163: 12x10 +#143 @ 434,25: 12x12 +#144 @ 467,375: 3x16 +#145 @ 554,946: 12x27 +#146 @ 594,345: 15x27 +#147 @ 579,196: 28x27 +#148 @ 746,688: 23x28 +#149 @ 420,724: 15x18 +#150 @ 372,674: 28x12 +#151 @ 647,862: 22x25 +#152 @ 700,47: 26x16 +#153 @ 762,568: 26x18 +#154 @ 960,139: 15x28 +#155 @ 762,524: 22x27 +#156 @ 3,31: 29x13 +#157 @ 278,843: 24x12 +#158 @ 312,868: 13x22 +#159 @ 393,682: 4x6 +#160 @ 440,47: 11x21 +#161 @ 798,263: 13x10 +#162 @ 650,819: 20x22 +#163 @ 385,569: 29x19 +#164 @ 305,464: 17x22 +#165 @ 452,719: 12x19 +#166 @ 373,92: 20x13 +#167 @ 937,502: 17x29 +#168 @ 636,185: 23x10 +#169 @ 708,21: 22x29 +#170 @ 434,412: 15x10 +#171 @ 848,599: 23x13 +#172 @ 540,948: 12x19 +#173 @ 781,553: 14x24 +#174 @ 660,237: 19x24 +#175 @ 914,69: 15x27 +#176 @ 133,481: 20x20 +#177 @ 26,681: 15x14 +#178 @ 219,800: 29x23 +#179 @ 712,201: 11x29 +#180 @ 487,879: 22x13 +#181 @ 57,557: 26x15 +#182 @ 915,404: 18x12 +#183 @ 154,358: 13x17 +#184 @ 196,193: 27x23 +#185 @ 488,630: 10x17 +#186 @ 658,614: 13x23 +#187 @ 76,170: 26x27 +#188 @ 549,454: 14x10 +#189 @ 779,751: 25x20 +#190 @ 234,766: 13x29 +#191 @ 713,964: 29x11 +#192 @ 695,679: 13x15 +#193 @ 888,651: 19x11 +#194 @ 513,195: 11x24 +#195 @ 402,685: 21x4 +#196 @ 891,270: 28x12 +#197 @ 851,72: 13x25 +#198 @ 591,788: 10x14 +#199 @ 861,638: 13x15 +#200 @ 13,33: 25x23 +#201 @ 386,621: 16x12 +#202 @ 260,437: 29x29 +#203 @ 264,223: 14x18 +#204 @ 398,432: 26x27 +#205 @ 364,304: 23x23 +#206 @ 68,763: 18x15 +#207 @ 662,833: 19x24 +#208 @ 587,923: 26x22 +#209 @ 983,663: 11x18 +#210 @ 1,176: 24x21 +#211 @ 599,764: 16x24 +#212 @ 557,83: 10x25 +#213 @ 335,766: 19x7 +#214 @ 537,310: 11x12 +#215 @ 59,922: 3x3 +#216 @ 471,740: 27x17 +#217 @ 585,443: 10x13 +#218 @ 695,860: 29x11 +#219 @ 542,647: 21x25 +#220 @ 457,382: 15x29 +#221 @ 859,697: 21x19 +#222 @ 842,131: 10x29 +#223 @ 426,767: 13x27 +#224 @ 972,232: 19x21 +#225 @ 113,38: 11x15 +#226 @ 780,347: 16x28 +#227 @ 39,115: 10x12 +#228 @ 358,180: 25x27 +#229 @ 932,926: 22x15 +#230 @ 8,173: 21x27 +#231 @ 369,553: 23x15 +#232 @ 718,186: 14x10 +#233 @ 379,606: 18x17 +#234 @ 608,965: 21x11 +#235 @ 221,895: 10x27 +#236 @ 773,280: 16x22 +#237 @ 301,99: 14x17 +#238 @ 771,57: 28x14 +#239 @ 840,378: 27x19 +#240 @ 667,186: 11x23 +#241 @ 842,215: 29x23 +#242 @ 441,113: 11x26 +#243 @ 960,287: 29x14 +#244 @ 673,204: 19x23 +#245 @ 945,741: 24x11 +#246 @ 739,641: 23x22 +#247 @ 627,163: 23x14 +#248 @ 784,813: 19x15 +#249 @ 644,756: 15x15 +#250 @ 837,536: 24x28 +#251 @ 884,75: 17x24 +#252 @ 551,558: 14x29 +#253 @ 937,865: 10x12 +#254 @ 715,830: 24x28 +#255 @ 343,562: 21x22 +#256 @ 111,832: 12x10 +#257 @ 639,108: 20x16 +#258 @ 368,767: 21x24 +#259 @ 607,570: 12x14 +#260 @ 777,80: 26x23 +#261 @ 667,108: 16x12 +#262 @ 229,529: 25x12 +#263 @ 825,701: 10x28 +#264 @ 246,820: 15x18 +#265 @ 842,871: 29x15 +#266 @ 468,559: 29x10 +#267 @ 538,396: 20x28 +#268 @ 516,901: 29x19 +#269 @ 264,423: 12x14 +#270 @ 149,901: 16x12 +#271 @ 414,782: 27x29 +#272 @ 671,745: 11x27 +#273 @ 425,860: 18x27 +#274 @ 949,346: 26x18 +#275 @ 13,783: 14x27 +#276 @ 276,225: 19x14 +#277 @ 642,83: 14x25 +#278 @ 638,885: 29x10 +#279 @ 4,445: 17x21 +#280 @ 401,947: 19x15 +#281 @ 226,810: 26x27 +#282 @ 0,188: 21x24 +#283 @ 455,588: 24x26 +#284 @ 64,98: 20x10 +#285 @ 554,78: 27x26 +#286 @ 978,174: 16x26 +#287 @ 57,651: 27x24 +#288 @ 844,963: 20x22 +#289 @ 10,141: 27x21 +#290 @ 360,11: 28x29 +#291 @ 642,210: 13x15 +#292 @ 205,272: 26x11 +#293 @ 523,561: 19x20 +#294 @ 388,566: 14x17 +#295 @ 384,558: 15x12 +#296 @ 21,988: 10x11 +#297 @ 875,712: 14x16 +#298 @ 208,399: 28x14 +#299 @ 62,150: 11x13 +#300 @ 235,273: 12x27 +#301 @ 770,561: 16x20 +#302 @ 498,651: 15x24 +#303 @ 229,778: 18x21 +#304 @ 646,520: 26x17 +#305 @ 95,913: 14x17 +#306 @ 227,532: 10x14 +#307 @ 187,700: 11x24 +#308 @ 843,715: 27x28 +#309 @ 269,954: 13x11 +#310 @ 672,890: 28x13 +#311 @ 198,382: 25x22 +#312 @ 790,272: 15x20 +#313 @ 656,714: 11x19 +#314 @ 550,164: 28x13 +#315 @ 537,916: 25x23 +#316 @ 77,314: 19x27 +#317 @ 390,297: 25x19 +#318 @ 145,346: 28x11 +#319 @ 638,724: 13x16 +#320 @ 922,29: 15x3 +#321 @ 940,29: 19x20 +#322 @ 388,436: 19x19 +#323 @ 170,304: 23x26 +#324 @ 911,652: 20x28 +#325 @ 932,13: 11x21 +#326 @ 874,839: 13x12 +#327 @ 313,628: 18x26 +#328 @ 716,229: 17x25 +#329 @ 119,667: 15x27 +#330 @ 471,303: 10x10 +#331 @ 0,795: 20x10 +#332 @ 413,17: 23x26 +#333 @ 415,23: 20x13 +#334 @ 43,367: 29x21 +#335 @ 227,528: 18x13 +#336 @ 195,98: 18x19 +#337 @ 647,209: 27x10 +#338 @ 94,913: 18x22 +#339 @ 627,483: 29x22 +#340 @ 387,938: 16x11 +#341 @ 493,837: 16x23 +#342 @ 808,500: 21x22 +#343 @ 26,793: 18x18 +#344 @ 95,283: 19x23 +#345 @ 507,168: 29x12 +#346 @ 919,563: 18x16 +#347 @ 110,899: 14x18 +#348 @ 66,539: 28x27 +#349 @ 283,819: 11x27 +#350 @ 133,591: 24x10 +#351 @ 205,740: 22x14 +#352 @ 343,676: 19x11 +#353 @ 932,369: 14x11 +#354 @ 218,419: 27x18 +#355 @ 871,760: 14x29 +#356 @ 212,5: 22x12 +#357 @ 693,652: 10x24 +#358 @ 574,656: 27x25 +#359 @ 488,872: 14x17 +#360 @ 71,362: 28x24 +#361 @ 518,735: 22x23 +#362 @ 359,67: 20x29 +#363 @ 92,270: 19x22 +#364 @ 376,316: 26x13 +#365 @ 410,931: 24x13 +#366 @ 703,199: 23x21 +#367 @ 801,432: 20x18 +#368 @ 907,859: 21x20 +#369 @ 161,263: 26x21 +#370 @ 312,734: 10x10 +#371 @ 489,732: 27x28 +#372 @ 548,898: 20x23 +#373 @ 150,87: 12x18 +#374 @ 636,840: 17x17 +#375 @ 268,319: 15x25 +#376 @ 937,958: 28x24 +#377 @ 417,523: 29x24 +#378 @ 27,110: 13x23 +#379 @ 543,37: 29x13 +#380 @ 618,464: 21x29 +#381 @ 142,313: 14x29 +#382 @ 664,723: 20x21 +#383 @ 303,427: 29x18 +#384 @ 651,579: 19x22 +#385 @ 327,707: 21x16 +#386 @ 66,59: 20x25 +#387 @ 156,502: 23x20 +#388 @ 753,288: 23x25 +#389 @ 146,259: 29x20 +#390 @ 232,400: 13x24 +#391 @ 753,446: 14x15 +#392 @ 351,616: 11x19 +#393 @ 303,713: 24x11 +#394 @ 324,902: 29x12 +#395 @ 965,284: 11x18 +#396 @ 512,952: 27x14 +#397 @ 869,301: 17x17 +#398 @ 89,303: 12x10 +#399 @ 923,737: 24x20 +#400 @ 137,418: 21x23 +#401 @ 315,607: 19x23 +#402 @ 868,595: 23x13 +#403 @ 29,160: 14x17 +#404 @ 626,761: 11x28 +#405 @ 482,675: 27x28 +#406 @ 960,747: 11x29 +#407 @ 179,962: 11x13 +#408 @ 782,90: 25x28 +#409 @ 177,71: 20x13 +#410 @ 822,692: 13x14 +#411 @ 98,326: 16x27 +#412 @ 807,435: 13x13 +#413 @ 583,155: 18x16 +#414 @ 275,250: 20x23 +#415 @ 320,689: 25x25 +#416 @ 741,704: 27x24 +#417 @ 880,380: 26x15 +#418 @ 697,506: 13x13 +#419 @ 830,228: 20x24 +#420 @ 163,652: 27x25 +#421 @ 412,239: 25x10 +#422 @ 35,548: 11x16 +#423 @ 617,247: 27x22 +#424 @ 167,567: 27x10 +#425 @ 556,69: 15x21 +#426 @ 363,203: 16x13 +#427 @ 558,947: 17x28 +#428 @ 298,282: 14x23 +#429 @ 697,706: 10x18 +#430 @ 754,740: 19x10 +#431 @ 681,345: 22x12 +#432 @ 219,490: 29x25 +#433 @ 579,638: 21x29 +#434 @ 57,70: 21x13 +#435 @ 27,337: 23x17 +#436 @ 151,685: 28x28 +#437 @ 312,474: 10x23 +#438 @ 972,664: 27x21 +#439 @ 638,446: 11x26 +#440 @ 270,845: 13x15 +#441 @ 235,788: 27x22 +#442 @ 638,209: 16x10 +#443 @ 484,873: 12x25 +#444 @ 922,295: 5x7 +#445 @ 182,964: 27x23 +#446 @ 902,376: 23x14 +#447 @ 187,688: 15x13 +#448 @ 188,612: 18x13 +#449 @ 406,688: 22x11 +#450 @ 164,71: 20x12 +#451 @ 341,299: 18x23 +#452 @ 670,837: 18x14 +#453 @ 706,424: 23x26 +#454 @ 75,160: 27x24 +#455 @ 431,285: 28x25 +#456 @ 502,966: 12x20 +#457 @ 287,537: 16x16 +#458 @ 236,115: 13x28 +#459 @ 208,741: 17x11 +#460 @ 665,590: 27x15 +#461 @ 928,10: 19x10 +#462 @ 558,277: 28x15 +#463 @ 80,114: 11x27 +#464 @ 830,224: 11x24 +#465 @ 571,834: 29x16 +#466 @ 758,337: 20x19 +#467 @ 936,727: 20x10 +#468 @ 843,100: 13x13 +#469 @ 692,656: 23x12 +#470 @ 168,358: 29x26 +#471 @ 804,87: 16x11 +#472 @ 272,637: 14x13 +#473 @ 681,669: 3x14 +#474 @ 530,701: 15x26 +#475 @ 420,287: 11x14 +#476 @ 407,276: 29x24 +#477 @ 636,27: 27x10 +#478 @ 12,301: 14x15 +#479 @ 837,953: 14x25 +#480 @ 851,625: 10x20 +#481 @ 303,604: 10x16 +#482 @ 2,648: 21x17 +#483 @ 434,747: 29x16 +#484 @ 875,505: 26x12 +#485 @ 915,467: 16x13 +#486 @ 319,321: 22x23 +#487 @ 288,160: 21x25 +#488 @ 683,112: 10x27 +#489 @ 673,69: 17x20 +#490 @ 63,482: 27x22 +#491 @ 454,813: 16x17 +#492 @ 247,496: 22x19 +#493 @ 112,584: 10x21 +#494 @ 897,323: 17x20 +#495 @ 71,762: 29x28 +#496 @ 111,678: 14x20 +#497 @ 121,686: 21x19 +#498 @ 745,902: 26x15 +#499 @ 537,784: 13x26 +#500 @ 337,781: 22x15 +#501 @ 467,155: 27x28 +#502 @ 201,301: 24x18 +#503 @ 168,663: 15x10 +#504 @ 310,427: 20x26 +#505 @ 940,404: 12x28 +#506 @ 564,203: 26x12 +#507 @ 263,975: 11x21 +#508 @ 39,871: 19x11 +#509 @ 647,841: 28x10 +#510 @ 347,548: 24x23 +#511 @ 463,565: 28x10 +#512 @ 775,350: 20x20 +#513 @ 228,424: 23x13 +#514 @ 677,145: 12x18 +#515 @ 401,819: 28x29 +#516 @ 427,271: 24x22 +#517 @ 502,943: 26x18 +#518 @ 387,925: 23x11 +#519 @ 294,214: 15x15 +#520 @ 21,976: 16x13 +#521 @ 798,534: 18x22 +#522 @ 519,692: 29x23 +#523 @ 826,368: 19x13 +#524 @ 964,626: 10x21 +#525 @ 570,958: 19x20 +#526 @ 388,203: 13x13 +#527 @ 432,975: 21x15 +#528 @ 143,354: 15x13 +#529 @ 920,25: 22x13 +#530 @ 552,278: 22x19 +#531 @ 348,171: 23x27 +#532 @ 132,462: 17x28 +#533 @ 117,379: 15x11 +#534 @ 951,608: 13x12 +#535 @ 202,552: 17x19 +#536 @ 92,932: 10x14 +#537 @ 887,967: 28x17 +#538 @ 18,698: 10x16 +#539 @ 652,596: 18x20 +#540 @ 815,532: 29x29 +#541 @ 740,730: 17x14 +#542 @ 787,55: 24x29 +#543 @ 67,654: 21x29 +#544 @ 406,202: 12x21 +#545 @ 363,20: 27x15 +#546 @ 817,68: 15x18 +#547 @ 563,494: 29x15 +#548 @ 841,149: 16x23 +#549 @ 125,168: 28x15 +#550 @ 879,26: 19x23 +#551 @ 335,603: 27x13 +#552 @ 71,106: 17x14 +#553 @ 37,203: 11x19 +#554 @ 481,311: 12x14 +#555 @ 166,578: 23x20 +#556 @ 546,366: 26x24 +#557 @ 747,233: 24x20 +#558 @ 835,544: 22x18 +#559 @ 819,106: 28x17 +#560 @ 832,234: 4x8 +#561 @ 452,611: 28x13 +#562 @ 614,481: 21x20 +#563 @ 759,0: 12x14 +#564 @ 692,688: 13x10 +#565 @ 143,497: 15x20 +#566 @ 848,159: 18x12 +#567 @ 839,359: 12x12 +#568 @ 796,137: 22x18 +#569 @ 565,709: 29x16 +#570 @ 91,784: 18x28 +#571 @ 263,974: 15x20 +#572 @ 158,447: 15x14 +#573 @ 178,157: 14x14 +#574 @ 252,580: 20x28 +#575 @ 501,479: 10x26 +#576 @ 593,815: 10x11 +#577 @ 597,850: 16x29 +#578 @ 753,601: 25x29 +#579 @ 554,283: 24x15 +#580 @ 906,833: 10x28 +#581 @ 863,957: 28x19 +#582 @ 956,461: 14x16 +#583 @ 829,555: 22x24 +#584 @ 269,598: 11x16 +#585 @ 628,503: 18x12 +#586 @ 83,160: 22x25 +#587 @ 576,918: 22x12 +#588 @ 777,359: 19x10 +#589 @ 342,95: 13x28 +#590 @ 123,878: 25x21 +#591 @ 946,860: 18x29 +#592 @ 647,913: 27x28 +#593 @ 793,261: 28x18 +#594 @ 859,847: 23x11 +#595 @ 612,950: 11x22 +#596 @ 3,50: 20x20 +#597 @ 298,574: 26x10 +#598 @ 231,722: 26x25 +#599 @ 95,533: 16x17 +#600 @ 661,100: 19x18 +#601 @ 259,169: 13x18 +#602 @ 507,866: 29x17 +#603 @ 286,706: 25x19 +#604 @ 334,429: 23x20 +#605 @ 427,399: 22x16 +#606 @ 709,701: 24x15 +#607 @ 536,803: 19x26 +#608 @ 694,437: 15x26 +#609 @ 513,866: 23x20 +#610 @ 544,484: 23x25 +#611 @ 330,650: 13x17 +#612 @ 214,943: 23x25 +#613 @ 490,478: 15x22 +#614 @ 891,633: 20x16 +#615 @ 733,671: 18x23 +#616 @ 537,895: 11x16 +#617 @ 365,259: 11x16 +#618 @ 170,868: 26x16 +#619 @ 737,701: 27x10 +#620 @ 728,80: 19x15 +#621 @ 713,974: 14x25 +#622 @ 105,320: 12x16 +#623 @ 66,22: 20x10 +#624 @ 550,28: 27x24 +#625 @ 264,324: 12x25 +#626 @ 573,621: 28x13 +#627 @ 487,339: 13x16 +#628 @ 562,166: 28x13 +#629 @ 632,868: 21x12 +#630 @ 739,235: 23x29 +#631 @ 401,292: 14x28 +#632 @ 365,930: 29x22 +#633 @ 306,927: 20x25 +#634 @ 961,665: 17x20 +#635 @ 74,85: 23x13 +#636 @ 478,656: 13x26 +#637 @ 342,381: 14x11 +#638 @ 921,415: 21x15 +#639 @ 236,293: 13x12 +#640 @ 736,741: 15x29 +#641 @ 56,790: 29x11 +#642 @ 379,195: 24x29 +#643 @ 263,461: 18x19 +#644 @ 590,485: 28x20 +#645 @ 388,679: 14x16 +#646 @ 54,461: 15x23 +#647 @ 317,932: 12x22 +#648 @ 261,619: 15x12 +#649 @ 875,443: 18x15 +#650 @ 206,30: 29x18 +#651 @ 138,543: 12x27 +#652 @ 552,145: 29x25 +#653 @ 337,606: 23x19 +#654 @ 415,882: 29x10 +#655 @ 105,593: 16x12 +#656 @ 18,61: 18x23 +#657 @ 399,681: 28x22 +#658 @ 661,876: 26x12 +#659 @ 183,403: 14x23 +#660 @ 922,665: 17x16 +#661 @ 703,863: 23x27 +#662 @ 109,88: 22x18 +#663 @ 428,104: 24x26 +#664 @ 557,637: 12x19 +#665 @ 270,853: 23x21 +#666 @ 139,308: 21x22 +#667 @ 536,697: 25x16 +#668 @ 800,142: 15x11 +#669 @ 14,28: 26x26 +#670 @ 585,196: 12x22 +#671 @ 153,437: 21x26 +#672 @ 632,432: 27x15 +#673 @ 477,94: 16x13 +#674 @ 960,342: 27x21 +#675 @ 176,644: 20x29 +#676 @ 498,427: 16x29 +#677 @ 487,736: 20x23 +#678 @ 637,154: 28x18 +#679 @ 491,393: 29x12 +#680 @ 529,352: 14x11 +#681 @ 128,508: 21x14 +#682 @ 51,278: 16x17 +#683 @ 136,508: 17x19 +#684 @ 861,151: 10x14 +#685 @ 829,958: 22x11 +#686 @ 728,812: 13x26 +#687 @ 418,307: 24x23 +#688 @ 27,186: 17x29 +#689 @ 736,336: 15x26 +#690 @ 161,791: 14x24 +#691 @ 233,116: 22x16 +#692 @ 17,300: 23x24 +#693 @ 913,828: 14x29 +#694 @ 919,313: 12x15 +#695 @ 791,591: 29x22 +#696 @ 794,555: 25x25 +#697 @ 764,396: 17x25 +#698 @ 155,304: 12x15 +#699 @ 973,615: 17x19 +#700 @ 594,431: 18x15 +#701 @ 606,746: 13x21 +#702 @ 166,770: 29x20 +#703 @ 350,50: 11x10 +#704 @ 325,677: 25x20 +#705 @ 424,385: 19x12 +#706 @ 443,708: 13x15 +#707 @ 282,549: 11x20 +#708 @ 164,962: 17x20 +#709 @ 100,13: 21x10 +#710 @ 454,914: 24x27 +#711 @ 208,421: 25x17 +#712 @ 85,25: 22x26 +#713 @ 824,480: 6x10 +#714 @ 280,290: 23x29 +#715 @ 732,678: 18x26 +#716 @ 963,335: 18x11 +#717 @ 780,981: 26x18 +#718 @ 162,144: 21x11 +#719 @ 609,918: 25x26 +#720 @ 814,191: 25x27 +#721 @ 641,610: 18x16 +#722 @ 374,721: 12x25 +#723 @ 534,939: 27x16 +#724 @ 8,449: 9x8 +#725 @ 919,362: 22x25 +#726 @ 206,953: 19x22 +#727 @ 584,388: 15x11 +#728 @ 643,742: 16x28 +#729 @ 224,25: 29x18 +#730 @ 643,709: 18x19 +#731 @ 495,188: 14x23 +#732 @ 489,603: 15x21 +#733 @ 156,364: 7x7 +#734 @ 447,399: 11x17 +#735 @ 894,52: 19x15 +#736 @ 878,63: 15x21 +#737 @ 383,625: 27x21 +#738 @ 586,86: 16x25 +#739 @ 121,907: 13x14 +#740 @ 832,14: 29x27 +#741 @ 188,370: 19x25 +#742 @ 551,478: 18x12 +#743 @ 13,800: 27x26 +#744 @ 527,335: 15x14 +#745 @ 36,421: 22x13 +#746 @ 743,710: 20x8 +#747 @ 540,788: 18x25 +#748 @ 421,263: 22x26 +#749 @ 16,187: 21x20 +#750 @ 515,149: 14x16 +#751 @ 549,89: 26x25 +#752 @ 675,926: 13x22 +#753 @ 90,146: 18x18 +#754 @ 188,360: 14x22 +#755 @ 242,108: 18x21 +#756 @ 200,557: 14x22 +#757 @ 876,895: 10x13 +#758 @ 961,664: 26x28 +#759 @ 765,77: 24x12 +#760 @ 930,696: 18x23 +#761 @ 646,628: 27x17 +#762 @ 421,56: 22x14 +#763 @ 436,146: 11x28 +#764 @ 415,391: 26x25 +#765 @ 259,779: 13x29 +#766 @ 770,384: 28x16 +#767 @ 59,429: 19x16 +#768 @ 130,905: 19x17 +#769 @ 165,799: 11x13 +#770 @ 922,672: 24x11 +#771 @ 892,381: 14x10 +#772 @ 27,413: 14x23 +#773 @ 479,179: 17x27 +#774 @ 13,160: 22x10 +#775 @ 826,448: 26x27 +#776 @ 233,514: 14x13 +#777 @ 344,761: 29x28 +#778 @ 833,497: 18x28 +#779 @ 87,535: 22x14 +#780 @ 932,691: 11x11 +#781 @ 389,574: 19x4 +#782 @ 189,162: 21x22 +#783 @ 359,937: 19x21 +#784 @ 29,266: 13x20 +#785 @ 356,61: 15x29 +#786 @ 760,607: 20x28 +#787 @ 748,724: 24x29 +#788 @ 72,890: 23x12 +#789 @ 897,48: 15x14 +#790 @ 446,802: 21x20 +#791 @ 147,463: 16x20 +#792 @ 950,447: 10x18 +#793 @ 155,510: 21x12 +#794 @ 636,291: 29x13 +#795 @ 593,914: 26x18 +#796 @ 295,719: 13x28 +#797 @ 768,934: 10x22 +#798 @ 242,98: 18x29 +#799 @ 410,326: 19x13 +#800 @ 115,653: 12x19 +#801 @ 276,874: 10x25 +#802 @ 300,657: 25x22 +#803 @ 345,202: 21x14 +#804 @ 474,818: 29x26 +#805 @ 428,403: 14x23 +#806 @ 948,752: 23x14 +#807 @ 898,316: 24x17 +#808 @ 51,84: 15x24 +#809 @ 871,279: 25x16 +#810 @ 905,373: 17x20 +#811 @ 341,81: 19x23 +#812 @ 166,506: 27x15 +#813 @ 144,240: 29x26 +#814 @ 676,221: 25x20 +#815 @ 83,398: 29x22 +#816 @ 50,180: 26x16 +#817 @ 192,559: 14x24 +#818 @ 44,918: 27x12 +#819 @ 83,819: 25x10 +#820 @ 324,666: 16x26 +#821 @ 623,249: 28x15 +#822 @ 263,426: 21x12 +#823 @ 144,298: 12x29 +#824 @ 861,62: 11x27 +#825 @ 918,291: 24x19 +#826 @ 75,896: 13x18 +#827 @ 881,607: 22x24 +#828 @ 471,278: 12x28 +#829 @ 17,350: 27x12 +#830 @ 327,436: 22x22 +#831 @ 774,299: 11x21 +#832 @ 125,238: 10x17 +#833 @ 822,476: 11x18 +#834 @ 291,424: 29x18 +#835 @ 909,309: 26x29 +#836 @ 15,330: 21x10 +#837 @ 378,871: 18x19 +#838 @ 63,148: 10x12 +#839 @ 418,112: 13x16 +#840 @ 350,700: 21x12 +#841 @ 428,377: 26x10 +#842 @ 81,96: 17x11 +#843 @ 654,229: 19x29 +#844 @ 268,42: 24x10 +#845 @ 716,833: 19x12 +#846 @ 358,177: 29x21 +#847 @ 520,720: 15x22 +#848 @ 458,760: 19x21 +#849 @ 606,774: 29x14 +#850 @ 96,90: 17x29 +#851 @ 604,910: 20x25 +#852 @ 343,831: 27x28 +#853 @ 593,709: 17x16 +#854 @ 58,387: 14x17 +#855 @ 834,73: 18x19 +#856 @ 479,345: 27x15 +#857 @ 497,442: 6x9 +#858 @ 217,553: 28x12 +#859 @ 32,110: 29x19 +#860 @ 305,565: 26x26 +#861 @ 633,499: 14x21 +#862 @ 293,810: 26x29 +#863 @ 483,884: 11x14 +#864 @ 662,599: 12x16 +#865 @ 724,21: 23x11 +#866 @ 282,409: 23x10 +#867 @ 218,275: 26x15 +#868 @ 952,953: 28x25 +#869 @ 864,599: 19x24 +#870 @ 523,944: 15x23 +#871 @ 942,381: 14x25 +#872 @ 802,813: 17x24 +#873 @ 771,736: 13x12 +#874 @ 64,93: 24x19 +#875 @ 937,11: 28x21 +#876 @ 679,665: 10x29 +#877 @ 420,727: 18x25 +#878 @ 741,767: 18x19 +#879 @ 741,200: 10x15 +#880 @ 612,289: 16x13 +#881 @ 644,519: 26x20 +#882 @ 937,474: 22x28 +#883 @ 409,650: 18x20 +#884 @ 54,875: 17x20 +#885 @ 379,875: 25x11 +#886 @ 13,276: 21x25 +#887 @ 267,425: 4x7 +#888 @ 481,382: 21x16 +#889 @ 815,436: 28x10 +#890 @ 723,183: 29x11 +#891 @ 209,105: 28x17 +#892 @ 102,229: 14x23 +#893 @ 386,265: 18x27 +#894 @ 406,683: 15x26 +#895 @ 283,248: 10x10 +#896 @ 634,217: 24x23 +#897 @ 782,51: 24x23 +#898 @ 973,159: 24x19 +#899 @ 366,195: 13x23 +#900 @ 522,778: 20x11 +#901 @ 509,726: 14x20 +#902 @ 214,291: 28x25 +#903 @ 579,550: 29x24 +#904 @ 747,374: 24x21 +#905 @ 947,389: 4x13 +#906 @ 585,44: 25x28 +#907 @ 647,639: 29x11 +#908 @ 518,848: 22x22 +#909 @ 976,18: 22x27 +#910 @ 309,653: 14x14 +#911 @ 258,606: 15x15 +#912 @ 79,19: 28x23 +#913 @ 82,550: 15x13 +#914 @ 425,279: 21x29 +#915 @ 953,95: 25x11 +#916 @ 905,190: 11x24 +#917 @ 832,356: 27x24 +#918 @ 420,354: 21x28 +#919 @ 22,630: 24x22 +#920 @ 530,701: 14x10 +#921 @ 452,294: 10x19 +#922 @ 562,343: 28x29 +#923 @ 830,63: 21x28 +#924 @ 860,587: 28x23 +#925 @ 389,367: 16x24 +#926 @ 850,875: 15x29 +#927 @ 437,750: 27x17 +#928 @ 571,776: 10x29 +#929 @ 546,390: 21x19 +#930 @ 140,889: 13x19 +#931 @ 567,843: 21x14 +#932 @ 845,514: 10x15 +#933 @ 980,835: 14x13 +#934 @ 593,767: 22x22 +#935 @ 299,576: 16x25 +#936 @ 495,438: 13x23 +#937 @ 411,663: 28x14 +#938 @ 260,605: 13x29 +#939 @ 550,603: 20x23 +#940 @ 162,239: 10x25 +#941 @ 214,645: 13x24 +#942 @ 15,693: 17x13 +#943 @ 909,42: 10x25 +#944 @ 396,215: 23x15 +#945 @ 713,876: 29x21 +#946 @ 151,77: 13x15 +#947 @ 713,27: 25x23 +#948 @ 718,472: 12x13 +#949 @ 683,154: 28x13 +#950 @ 160,880: 17x23 +#951 @ 320,880: 12x24 +#952 @ 961,184: 23x10 +#953 @ 195,418: 13x25 +#954 @ 953,339: 26x15 +#955 @ 311,874: 18x12 +#956 @ 275,626: 15x29 +#957 @ 876,593: 10x18 +#958 @ 9,376: 28x17 +#959 @ 732,227: 23x25 +#960 @ 910,167: 11x29 +#961 @ 826,369: 24x19 +#962 @ 735,639: 28x12 +#963 @ 796,361: 28x19 +#964 @ 149,794: 23x23 +#965 @ 379,369: 29x20 +#966 @ 738,33: 15x16 +#967 @ 933,915: 11x14 +#968 @ 14,171: 13x17 +#969 @ 776,291: 25x12 +#970 @ 831,97: 15x28 +#971 @ 832,131: 18x11 +#972 @ 900,898: 13x24 +#973 @ 235,784: 16x17 +#974 @ 744,178: 20x25 +#975 @ 890,712: 15x27 +#976 @ 256,928: 20x26 +#977 @ 575,454: 26x26 +#978 @ 939,375: 16x16 +#979 @ 64,632: 16x21 +#980 @ 614,292: 19x28 +#981 @ 234,120: 10x24 +#982 @ 93,16: 29x23 +#983 @ 889,373: 16x14 +#984 @ 264,414: 20x16 +#985 @ 61,664: 23x23 +#986 @ 900,671: 11x26 +#987 @ 336,331: 13x26 +#988 @ 836,89: 28x26 +#989 @ 681,852: 18x12 +#990 @ 83,788: 10x15 +#991 @ 709,220: 17x27 +#992 @ 321,737: 10x27 +#993 @ 618,755: 11x26 +#994 @ 616,505: 26x17 +#995 @ 404,195: 17x27 +#996 @ 490,633: 3x10 +#997 @ 272,866: 28x17 +#998 @ 554,160: 21x14 +#999 @ 138,916: 19x25 +#1000 @ 375,379: 23x16 +#1001 @ 416,464: 18x19 +#1002 @ 720,951: 21x10 +#1003 @ 110,539: 18x15 +#1004 @ 670,345: 29x19 +#1005 @ 728,553: 22x20 +#1006 @ 374,883: 17x24 +#1007 @ 293,169: 10x8 +#1008 @ 610,734: 15x17 +#1009 @ 538,222: 21x28 +#1010 @ 355,532: 17x23 +#1011 @ 654,102: 27x16 +#1012 @ 595,110: 25x14 +#1013 @ 347,518: 12x6 +#1014 @ 366,679: 25x20 +#1015 @ 758,362: 14x25 +#1016 @ 862,297: 19x12 +#1017 @ 267,335: 26x22 +#1018 @ 141,888: 25x17 +#1019 @ 944,524: 10x15 +#1020 @ 550,548: 14x21 +#1021 @ 495,357: 24x27 +#1022 @ 189,104: 13x21 +#1023 @ 851,784: 21x14 +#1024 @ 819,545: 29x25 +#1025 @ 464,371: 11x25 +#1026 @ 601,92: 29x19 +#1027 @ 256,413: 27x26 +#1028 @ 599,941: 28x13 +#1029 @ 162,363: 29x24 +#1030 @ 84,24: 20x27 +#1031 @ 732,417: 28x29 +#1032 @ 148,300: 26x24 +#1033 @ 374,268: 15x22 +#1034 @ 952,611: 19x22 +#1035 @ 248,330: 21x19 +#1036 @ 28,90: 26x20 +#1037 @ 803,320: 18x27 +#1038 @ 633,735: 19x19 +#1039 @ 571,771: 18x13 +#1040 @ 485,888: 6x4 +#1041 @ 734,374: 13x16 +#1042 @ 737,38: 17x11 +#1043 @ 594,930: 12x15 +#1044 @ 669,880: 28x14 +#1045 @ 733,372: 11x22 +#1046 @ 507,897: 11x23 +#1047 @ 402,533: 11x19 +#1048 @ 291,54: 14x28 +#1049 @ 598,369: 17x12 +#1050 @ 784,249: 12x14 +#1051 @ 803,556: 28x25 +#1052 @ 236,418: 18x12 +#1053 @ 288,586: 29x28 +#1054 @ 108,324: 20x20 +#1055 @ 392,844: 17x14 +#1056 @ 713,949: 23x25 +#1057 @ 692,446: 22x16 +#1058 @ 738,245: 10x27 +#1059 @ 662,877: 14x22 +#1060 @ 32,411: 16x20 +#1061 @ 369,370: 28x10 +#1062 @ 66,184: 17x21 +#1063 @ 143,584: 16x10 +#1064 @ 147,216: 26x20 +#1065 @ 52,354: 19x19 +#1066 @ 108,315: 19x13 +#1067 @ 930,690: 21x26 +#1068 @ 304,579: 22x14 +#1069 @ 586,861: 18x26 +#1070 @ 96,772: 12x26 +#1071 @ 799,823: 13x10 +#1072 @ 962,144: 14x25 +#1073 @ 854,639: 15x10 +#1074 @ 550,552: 24x10 +#1075 @ 964,636: 18x18 +#1076 @ 5,179: 4x12 +#1077 @ 73,408: 19x18 +#1078 @ 145,787: 15x18 +#1079 @ 203,398: 24x10 +#1080 @ 984,281: 11x27 +#1081 @ 582,785: 23x23 +#1082 @ 766,516: 28x26 +#1083 @ 397,852: 14x10 +#1084 @ 854,961: 12x14 +#1085 @ 28,532: 20x17 +#1086 @ 350,374: 21x15 +#1087 @ 974,622: 17x24 +#1088 @ 113,834: 6x5 +#1089 @ 802,313: 21x19 +#1090 @ 106,106: 29x28 +#1091 @ 610,572: 4x5 +#1092 @ 195,301: 28x14 +#1093 @ 327,124: 15x24 +#1094 @ 249,677: 16x28 +#1095 @ 674,117: 17x10 +#1096 @ 328,320: 11x11 +#1097 @ 942,952: 10x10 +#1098 @ 718,428: 14x13 +#1099 @ 192,1: 27x14 +#1100 @ 905,867: 28x27 +#1101 @ 812,83: 18x18 +#1102 @ 401,217: 28x12 +#1103 @ 781,982: 13x11 +#1104 @ 252,178: 11x24 +#1105 @ 335,175: 14x27 +#1106 @ 514,159: 15x15 +#1107 @ 25,258: 20x28 +#1108 @ 534,102: 27x20 +#1109 @ 333,841: 5x3 +#1110 @ 31,935: 18x29 +#1111 @ 799,432: 12x12 +#1112 @ 103,7: 15x22 +#1113 @ 52,773: 20x24 +#1114 @ 152,463: 26x28 +#1115 @ 386,381: 10x14 +#1116 @ 430,246: 18x19 +#1117 @ 53,279: 16x15 +#1118 @ 61,74: 14x17 +#1119 @ 178,943: 13x25 +#1120 @ 145,418: 17x25 +#1121 @ 552,66: 13x15 +#1122 @ 980,220: 18x22 +#1123 @ 763,863: 29x16 +#1124 @ 712,844: 20x10 +#1125 @ 502,419: 23x11 +#1126 @ 631,420: 11x13 +#1127 @ 58,225: 18x18 +#1128 @ 695,465: 27x20 +#1129 @ 940,688: 17x19 +#1130 @ 505,627: 27x16 +#1131 @ 719,540: 28x16 +#1132 @ 358,320: 10x13 +#1133 @ 834,295: 19x26 +#1134 @ 632,712: 16x12 +#1135 @ 607,786: 21x23 +#1136 @ 952,453: 21x15 +#1137 @ 430,543: 10x16 +#1138 @ 568,159: 21x16 +#1139 @ 662,218: 28x10 +#1140 @ 808,511: 27x25 +#1141 @ 893,877: 26x29 +#1142 @ 517,897: 22x10 +#1143 @ 596,464: 10x26 +#1144 @ 725,233: 24x22 +#1145 @ 129,116: 25x26 +#1146 @ 411,914: 27x12 +#1147 @ 36,871: 7x7 +#1148 @ 373,187: 29x17 +#1149 @ 786,755: 12x12 +#1150 @ 555,271: 17x19 +#1151 @ 530,771: 20x23 +#1152 @ 597,463: 26x26 +#1153 @ 508,629: 18x8 +#1154 @ 682,500: 10x12 +#1155 @ 707,154: 20x28 +#1156 @ 345,848: 18x26 +#1157 @ 345,706: 27x16 +#1158 @ 473,293: 24x13 +#1159 @ 316,609: 28x23 +#1160 @ 651,504: 23x16 +#1161 @ 381,277: 26x25 +#1162 @ 674,771: 22x23 +#1163 @ 830,718: 13x25 +#1164 @ 966,131: 22x26 +#1165 @ 28,866: 28x17 +#1166 @ 183,72: 22x19 +#1167 @ 564,536: 16x26 +#1168 @ 972,30: 15x28 +#1169 @ 387,296: 22x29 +#1170 @ 385,86: 26x26 +#1171 @ 671,832: 10x26 +#1172 @ 759,241: 13x23 +#1173 @ 237,289: 6x6 +#1174 @ 25,828: 18x16 +#1175 @ 194,379: 21x13 +#1176 @ 273,624: 10x12 +#1177 @ 404,627: 12x15 +#1178 @ 596,623: 12x25 +#1179 @ 674,96: 27x26 +#1180 @ 1,342: 24x26 +#1181 @ 307,609: 10x13 +#1182 @ 379,878: 24x14 +#1183 @ 390,382: 25x17 +#1184 @ 889,427: 21x19 +#1185 @ 486,887: 21x20 +#1186 @ 213,644: 15x24 +#1187 @ 593,468: 16x28 +#1188 @ 943,13: 21x29 +#1189 @ 541,704: 27x15 +#1190 @ 23,577: 22x16 +#1191 @ 582,721: 14x13 +#1192 @ 118,241: 23x12 +#1193 @ 403,810: 11x13 +#1194 @ 648,732: 28x23 +#1195 @ 532,939: 13x12 +#1196 @ 832,370: 19x11 +#1197 @ 381,783: 18x19 +#1198 @ 644,795: 20x19 +#1199 @ 253,475: 10x22 +#1200 @ 185,305: 18x10 +#1201 @ 554,498: 16x27 +#1202 @ 249,683: 24x14 +#1203 @ 175,773: 27x26 +#1204 @ 363,816: 24x29 +#1205 @ 525,353: 18x25 +#1206 @ 368,720: 17x10 +#1207 @ 553,310: 17x13 +#1208 @ 911,328: 17x29 +#1209 @ 262,452: 23x25 +#1210 @ 727,311: 26x26 +#1211 @ 850,965: 11x28 +#1212 @ 392,821: 16x10 +#1213 @ 828,873: 21x16 +#1214 @ 377,89: 25x12 +#1215 @ 922,424: 28x13 +#1216 @ 165,677: 27x17 +#1217 @ 306,717: 12x22 +#1218 @ 390,552: 21x10 +#1219 @ 657,19: 10x23 +#1220 @ 259,679: 13x10 +#1221 @ 783,593: 11x28 +#1222 @ 186,670: 28x22 +#1223 @ 633,86: 19x22 +#1224 @ 57,425: 25x25 +#1225 @ 421,164: 21x20 +#1226 @ 881,815: 17x17 +#1227 @ 220,521: 21x17 +#1228 @ 154,282: 11x27 +#1229 @ 143,517: 16x27 +#1230 @ 45,748: 27x27 +#1231 @ 622,188: 25x24 +#1232 @ 932,969: 24x23 +#1233 @ 918,979: 23x17 +#1234 @ 748,283: 28x29 +#1235 @ 802,691: 23x22 +#1236 @ 264,609: 10x15 +#1237 @ 763,303: 21x17 +#1238 @ 702,220: 28x29 +#1239 @ 520,450: 19x23 +#1240 @ 154,584: 23x13 +#1241 @ 67,135: 21x18 +#1242 @ 827,937: 15x25 +#1243 @ 162,135: 11x26 +#1244 @ 511,943: 28x11 +#1245 @ 773,306: 10x21 +#1246 @ 655,902: 23x27 +#1247 @ 492,300: 20x21 +#1248 @ 548,118: 24x24 +#1249 @ 531,395: 22x21 +#1250 @ 932,404: 24x16 +#1251 @ 31,675: 12x24 +#1252 @ 20,534: 19x10 +#1253 @ 924,408: 25x15 +#1254 @ 58,272: 28x24 +#1255 @ 886,369: 26x10 +#1256 @ 748,307: 23x15 +#1257 @ 0,223: 11x24 +#1258 @ 397,684: 15x14 +#1259 @ 728,433: 12x13 +#1260 @ 419,120: 24x14 +#1261 @ 332,117: 13x10 +#1262 @ 293,301: 10x14 +#1263 @ 791,146: 26x21 +#1264 @ 296,907: 29x28 +#1265 @ 846,700: 15x28 +#1266 @ 584,425: 27x15 +#1267 @ 712,102: 27x14 +#1268 @ 330,838: 13x11 +#1269 @ 470,335: 29x11 +#1270 @ 200,537: 26x22 +#1271 @ 291,613: 21x10 +#1272 @ 974,838: 16x23 +#1273 @ 94,272: 4x16 +#1274 @ 255,687: 15x13 +#1275 @ 682,158: 29x16 +#1276 @ 24,220: 23x26 +#1277 @ 3,158: 29x27 +#1278 @ 251,209: 28x29 +#1279 @ 740,62: 23x20 +#1280 @ 355,621: 15x22 +#1281 @ 688,691: 17x16 +#1282 @ 498,610: 25x16 +#1283 @ 917,464: 24x14 +#1284 @ 78,540: 17x18 +#1285 @ 826,227: 24x19 +#1286 @ 235,589: 22x19 +#1287 @ 539,571: 22x25 +#1288 @ 528,274: 22x15 +#1289 @ 230,819: 21x19 +#1290 @ 460,938: 22x19 +#1291 @ 727,880: 28x27 +#1292 @ 770,4: 27x23 +#1293 @ 51,276: 25x11 +#1294 @ 177,140: 18x29 +#1295 @ 308,899: 25x11 +#1296 @ 581,179: 16x20 +#1297 @ 548,556: 26x18 +#1298 @ 850,10: 23x20 +#1299 @ 142,588: 14x20 +#1300 @ 34,241: 23x11 +#1301 @ 806,697: 15x25 +#1302 @ 72,542: 21x18 +#1303 @ 906,473: 12x10 +#1304 @ 755,386: 27x26 +#1305 @ 644,923: 15x18 +#1306 @ 942,969: 18x18 +#1307 @ 715,555: 10x20 +#1308 @ 781,655: 20x14 +#1309 @ 741,694: 27x26 +#1310 @ 636,430: 11x29 +#1311 @ 64,332: 23x23 +#1312 @ 408,238: 17x10 +#1313 @ 353,604: 26x25 +#1314 @ 164,588: 28x25 +#1315 @ 113,163: 25x12 +#1316 @ 3,293: 26x15 +#1317 @ 152,401: 18x23 +#1318 @ 898,877: 20x12 +#1319 @ 475,636: 24x21 +#1320 @ 514,706: 26x13 +#1321 @ 227,509: 24x25 +#1322 @ 538,679: 18x24 +#1323 @ 435,10: 23x10 +#1324 @ 261,891: 23x24 +#1325 @ 509,964: 21x24 +#1326 @ 424,466: 5x13 +#1327 @ 486,180: 16x18 +#1328 @ 7,234: 29x12 +#1329 @ 513,146: 19x26 +#1330 @ 43,182: 20x20 +#1331 @ 385,898: 29x17 +#1332 @ 628,283: 18x17 +#1333 @ 473,953: 26x24 +#1334 @ 933,669: 11x10 +#1335 @ 954,902: 12x27 +#1336 @ 397,422: 18x23 +#1337 @ 314,857: 16x22 +#1338 @ 398,928: 24x14 +#1339 @ 443,279: 16x10 +#1340 @ 865,491: 15x25 +#1341 @ 182,110: 26x15 +#1342 @ 184,390: 21x10 +#1343 @ 28,374: 19x17 +#1344 @ 150,597: 20x17 +#1345 @ 285,109: 20x25 +#1346 @ 535,306: 16x20 +#1347 @ 545,216: 16x19 +#1348 @ 72,258: 16x18 +#1349 @ 487,96: 18x21 +#1350 @ 942,729: 10x4 +#1351 @ 359,409: 28x13 +#1352 @ 199,292: 16x27 +#1353 @ 786,383: 17x15 +#1354 @ 593,94: 14x10 +#1355 @ 518,348: 12x17 +#1356 @ 753,444: 17x13 +#1357 @ 231,721: 16x11 +#1358 @ 328,587: 26x26 +#1359 @ 83,826: 21x24 +#1360 @ 167,146: 28x20 +#1361 @ 922,856: 13x23 +#1362 @ 124,531: 17x24 +#1363 @ 600,332: 11x15 +#1364 @ 22,825: 29x23 +#1365 @ 290,869: 25x20 +#1366 @ 942,452: 21x12 +#1367 @ 171,448: 26x14 +#1368 @ 881,646: 24x28 +#1369 @ 766,117: 10x17 +#1370 @ 602,246: 16x21 +#1371 @ 770,936: 3x16 +#1372 @ 567,600: 22x16 +#1373 @ 541,269: 23x22 +#1374 @ 934,2: 10x27 +#1375 @ 865,821: 27x10 +#1376 @ 936,550: 23x16 +#1377 @ 612,447: 23x20 +#1378 @ 558,400: 22x21 +#1379 @ 950,919: 10x18 +#1380 @ 548,404: 13x26 +#1381 @ 188,189: 14x17 +#1382 @ 819,709: 12x13 +#1383 @ 951,91: 19x21 +#1384 @ 300,821: 11x9 +#1385 @ 273,431: 18x17 +#1386 @ 300,663: 13x13 +#1387 @ 211,905: 16x18 +#1388 @ 295,395: 19x22 +#1389 @ 526,861: 11x11 +#1390 @ 306,777: 22x15 +#1391 @ 973,296: 12x25 +#1392 @ 570,109: 10x19 +#1393 @ 231,543: 27x12 +#1394 @ 265,851: 12x27 +#1395 @ 484,289: 14x25 +#1396 @ 773,636: 14x27 +#1397 @ 435,385: 11x19 +#1398 @ 960,769: 19x14 +#1399 @ 55,92: 19x22 +#1400 @ 554,922: 28x10 +#1401 @ 139,196: 16x28 +#1402 @ 112,380: 28x16 +#1403 @ 635,869: 16x13 +#1404 @ 259,924: 10x27 +#1405 @ 898,980: 26x16 +#1406 @ 75,197: 12x16 +#1407 @ 632,681: 10x11 +#1408 @ 434,974: 14x14 +#1409 @ 782,377: 24x29 diff --git a/2018/src/day3.rs b/2018/src/day3.rs new file mode 100644 index 0000000..15a4dc2 --- /dev/null +++ b/2018/src/day3.rs @@ -0,0 +1,92 @@ +use std::io; +use std::io::BufRead; +use std::str::FromStr; + +struct Point { + x: usize, + y: usize +} + +struct Claim { + id: i16, + origin: Point, + size: Point +} + +impl FromStr for Claim { + type Err = std::num::ParseIntError; + + fn from_str(s: &str) -> Result<Self, Self::Err> { + let bytes = s.as_bytes(); + let mut cursor = 1; + let mut idx = 1; + + while bytes[idx].is_ascii_digit() { idx += 1; } + let id = s[cursor..idx].parse()?; + + idx = idx + 3; + cursor = idx; + while bytes[idx].is_ascii_digit() { idx += 1; } + let ox = s[cursor..idx].parse()?; + + idx = idx + 1; + cursor = idx; + while bytes[idx].is_ascii_digit() { idx += 1; } + let oy = s[cursor..idx].parse()?; + + idx = idx + 2; + cursor = idx; + while bytes[idx].is_ascii_digit() { idx += 1; } + let sx = s[cursor..idx].parse()?; + + let sy = s[idx+1..].parse()?; + + Ok(Claim { + id: id, + origin: Point {x: ox, y: oy}, + size: Point {x: sx, y: sy} + }) + } +} + +pub fn main<T: BufRead>(reader: T) -> io::Result<()> { + let w = 1000; + let maxnum = 1500; + + let mut sheet: Vec<i16> = vec![0; w * w]; + let mut double: i64 = 0; + let mut free: Vec<bool> = vec![false; maxnum as usize]; + + for line in reader.lines() { + let claim = line.unwrap().parse::<Claim>().unwrap(); + assert!(0 < claim.id && claim.id < maxnum); + + free[claim.id as usize] = true; + + for y in claim.origin.y .. claim.origin.y + claim.size.y { + for x in claim.origin.x .. claim.origin.x + claim.size.x { + let val = sheet[w * y + x]; + if val > 0 { + free[val as usize] = false; + free[claim.id as usize] = false; + double += 1; + sheet[w * y + x] = -1; + } else if val == 0 { + sheet[w * y + x] = claim.id; + } else { + free[claim.id as usize] = false; + } + } + } + } + + println!("{}", double); + + for i in 1 .. maxnum as usize { + if free[i] { + println!("{}", i); + } + } + + Ok(()) +} diff --git a/2018/src/main.rs b/2018/src/main.rs index 162a56e..349d857 100644 --- a/2018/src/main.rs +++ b/2018/src/main.rs @@ -8,11 +8,13 @@ use argparse::{ArgumentParser, StoreTrue, Store}; mod day1; mod day2; +mod day3; fn day_switch<T: BufRead>(day: i32, reader: T) -> io::Result<()> { match day { 1 => day1::main(reader), 2 => day2::main(reader), + 3 => day3::main(reader), _ => Err(Error::new(ErrorKind::Other, "Invalid day")) } } @@ -68,7 +70,7 @@ fn main() -> io::Result<()> { error_handler(|| if day_string.len() == 0 { - for day in 1..3 { + for day in 1..4 { run_day(day, &options)?; } Ok(()) |