Author: Nicholas Prado <nmprado@nzen.ws>
Date: Mon Dec 2 04:10:30 UTC 2019
Parent: 5534450dfddfb5d8fa917b6adad0db0b410355ab
Log message:
(181203,4) abortive day 3 first task
I forget if this is an incomplete attempt or complete and gives
the wrong answer. Oh well. I'd probably restart if I took another
crack at it.
1: diff --git a/src/java/Exercise18031.java b/src/java/Exercise18031.java
2: new file mode 100644
3: index 0000000..3f75c4c
4: --- /dev/null
5: +++ b/src/java/Exercise18031.java
6: @@ -0,0 +1,359 @@
7: +
8: +import java.io.IOException;
9: +import java.nio.file.Files;
10: +import java.nio.file.InvalidPathException;
11: +import java.nio.file.Path;
12: +import java.nio.file.Paths;
13: +import java.text.ParseException;
14: +import java.util.LinkedList;
15: +import java.util.List;
16: +import java.util.Map;
17: +import java.util.NavigableMap;
18: +import java.util.Set;
19: +import java.util.TreeSet;
20: +import java.util.TreeMap;
21: +import java.util.regex.Matcher;
22: +import java.util.regex.Pattern;
23: +
24: +public class Exercise18031
25: +{
26: + private class Rectangle
27: + {
28: + String rectId = "";
29: + int posX = 0;
30: + int posY = 0;
31: + int lenX = 0;
32: + int lenY = 0;
33: + boolean beenChecked = false;
34: + public String toString()
35: + {
36: + return String.format( "id-%s px-%d py-%d lx-%d ly-%d",
37: + rectId, posX, posY, lenX, lenY );
38: + }
39: + }
40: + private static final String cl = "e031.";
41: +
42: + public static void main( String args[] )
43: + {
44: + final String here = cl +"m ";
45: + if ( args.length < 1 )
46: + {
47: + throw new RuntimeException( here +"add a filename argument" );
48: + }
49: + String userSaysFile = args[ 0 ];
50: + List<String> fileLines = new LinkedList<>();
51: + try
52: + {
53: + Path where = Paths.get( userSaysFile );
54: + fileLines = Files.readAllLines( where );
55: + }
56: + catch ( IOException | InvalidPathException ie )
57: + {
58: + System.err.println( here +"couldn't read file "+ userSaysFile +" because "+ ie );
59: + return;
60: + }
61: + Exercise18031 solvesTheProblem = new Exercise18031();
62: + solvesTheProblem.with( fileLines );
63: + }
64: +
65: +
66: + void with( List<String> fileLines )
67: + {
68: + final String here = cl +"w ";
69: + // 4TESTS
70: + fileLines.clear();
71: + fileLines.add( "#11 @ 1,1: 3x3" );
72: + fileLines.add( "#22 @ 2,1: 3x3" );
73: + fileLines.add( "#33 @ 1,2: 3x3" );
74: + // fileLines.add( "#44 @ 5,4: 1x1" );
75: + // fileLines.add( "#55 @ 1,6: 7x3" );
76: + // 4TESTS
77: + List<Rectangle> userRectangles = parse( fileLines );
78: + Map<String, Rectangle> allRect = new TreeMap<>();
79: + NavigableMap<Integer, List<String>> xxPositions = new TreeMap<>();
80: + NavigableMap<Integer, List<String>> yyPositions = new TreeMap<>();
81: + for ( Rectangle currRect : userRectangles )
82: + {
83: + allRect.put( currRect.rectId, currRect );
84: + List<String> shapesAtXx = xxPositions.get( currRect.posX );
85: + if ( shapesAtXx == null )
86: + {
87: + shapesAtXx = new LinkedList<>();
88: + }
89: + shapesAtXx.add( currRect.rectId );
90: + xxPositions.put( currRect.posX, shapesAtXx );
91: + List<String> shapesAtYy = yyPositions.get( currRect.posY );
92: + if ( shapesAtYy == null )
93: + {
94: + shapesAtYy = new LinkedList<>();
95: + }
96: + shapesAtYy.add( currRect.rectId );
97: + yyPositions.put( currRect.posY, shapesAtYy );
98: + }
99: + String delimiter = "@@", separator = "^^";
100: + Set<String> bothOcclude = occlusionPairs(
101: + userRectangles, xxPositions, yyPositions, delimiter );
102: + // NOTE create new rectangles at the intersection
103: + Map<String, Rectangle> allJoins = new TreeMap<>();
104: + xxPositions.clear();
105: + yyPositions.clear();
106: + for ( String comboId : bothOcclude )
107: + {
108: + String[] pair = comboId.split( delimiter );
109: + Rectangle first = allRect.get( pair[0 ] );
110: + Rectangle last = allRect.get( pair[ 1 ] );
111: + Rectangle intersect = intersectionOf( first, last, comboId );
112: + System.out.println( here +"occluded at "+ intersect ); // 4TESTS
113: + allJoins.put( comboId, intersect );
114: + List<String> shapesAtXx = xxPositions.get( intersect.posX );
115: + if ( shapesAtXx == null )
116: + {
117: + shapesAtXx = new LinkedList<>();
118: + }
119: + shapesAtXx.add( intersect.rectId );
120: + xxPositions.put( intersect.posX, shapesAtXx );
121: + List<String> shapesAtYy = yyPositions.get( intersect.posY );
122: + if ( shapesAtYy == null )
123: + {
124: + shapesAtYy = new LinkedList<>();
125: + }
126: + shapesAtYy.add( intersect.rectId );
127: + yyPositions.put( intersect.posY, shapesAtYy );
128: + }
129: + System.out.println( here +"combined area is "+ overlappingAreaOf( allJoins, xxPositions, yyPositions, separator ) );
130: + }
131: +
132: +
133: + /** format: #[[ number ]] @ [[ x ]],[[ y ]]: [[ width ]]x[[ height ]]
134: + ex: #121 @ 55,2424: 224x2424 */
135: + List<Rectangle> parse( List<String> rectangleDesc )
136: + {
137: + final String here = cl +"p ";
138: + List<Rectangle> rectangles = new LinkedList<>();
139: + int idInd = 1, xposInd = idInd +1, yposInd = xposInd +1,
140: + xlenInd = yposInd +1, ylenInd = xlenInd +1; // one indexed because 0 is the whole thing
141: + int currInd = 0;
142: + String rectangleFormat = "#(\\d+) @ (\\d+),(\\d+): (\\d+)x(\\d+)";
143: + String expression = "";
144: + try
145: + {
146: + Pattern fsmSpec = Pattern.compile( rectangleFormat );
147: + Matcher fsmRuntime;
148: + for ( String currInput : rectangleDesc )
149: + {
150: + expression = currInput; // 4TESTS ensuring that I can get the problematic line, otherwise unnecessary
151: + fsmRuntime = fsmSpec.matcher( currInput );
152: + Rectangle currRect = new Rectangle();
153: + if ( fsmRuntime.find( currInd ) )
154: + {
155: + currRect.rectId = fsmRuntime.group( idInd );
156: + currRect.posX = Integer.valueOf( fsmRuntime.group( xposInd ) );
157: + currRect.posY = Integer.valueOf( fsmRuntime.group( yposInd ) );
158: + currRect.lenX = Integer.valueOf( fsmRuntime.group( xlenInd ) );
159: + currRect.lenY = Integer.valueOf( fsmRuntime.group( ylenInd ) );
160: + rectangles.add( currRect );
161: + }
162: + }
163: + }
164: + catch ( IllegalArgumentException | IllegalStateException iae )
165: + {
166: + System.err.println( here +"couldn't interpret "+ expression
167: + +" as a rectangle "+ iae );
168: + }
169: + return rectangles;
170: + }
171: +
172: +
173: + Set<String> occlusionPairs( List<Rectangle> userRectangles,
174: + NavigableMap<Integer, List<String>> xxPositions,
175: + NavigableMap<Integer, List<String>> yyPositions,
176: + String delimiter )
177: + {
178: + Set<String> bothOcclude = new TreeSet<>();
179: + final boolean inclusive = true;
180: + for ( Rectangle currRect : userRectangles )
181: + {
182: + NavigableMap<Integer, List<String>> xxOcclusions = xxPositions.subMap(
183: + currRect.posX, inclusive, currRect.posX + currRect.lenX, ! inclusive );
184: + NavigableMap<Integer, List<String>> yyOcclusions = yyPositions.subMap(
185: + currRect.posY, inclusive, currRect.posY + currRect.lenY, ! inclusive );
186: + Set<String> inXxShadow = new TreeSet<>();
187: + Set<String> inYyShadow = new TreeSet<>();
188: + for ( Integer currXx : xxOcclusions.keySet() )
189: + {
190: + List<String> idsAtXx = xxOcclusions.get( currXx );
191: + for ( String idAt : idsAtXx )
192: + {
193: + if ( idAt.equals( currRect.rectId ) )
194: + {
195: + continue;
196: + }
197: + else
198: + {
199: + inXxShadow.add( idAt );
200: + }
201: + }
202: + }
203: + for ( Integer currYy : yyOcclusions.keySet() )
204: + {
205: + List<String> idsAtYy = yyOcclusions.get( currYy );
206: + for ( String idAt : idsAtYy )
207: + {
208: + if ( idAt.equals( currRect.rectId ) )
209: + {
210: + continue;
211: + }
212: + else
213: + {
214: + inYyShadow.add( idAt );
215: + }
216: + }
217: + }
218: + // NOTE find the intersection of the two sets, these actually overlap the current rectangle
219: + for ( String xxId : inXxShadow )
220: + {
221: + for ( String yyId : inYyShadow )
222: + {
223: + if ( xxId.equals( yyId )
224: + && ! bothOcclude.contains( xxId + delimiter + currRect.rectId ) ) // avoiding inserting when we find the reverse of an existing pair
225: + {
226: + bothOcclude.add( currRect.rectId + delimiter + xxId );
227: + }
228: + }
229: + }
230: + }
231: + return bothOcclude;
232: + }
233: +
234: +
235: + int overlappingAreaOf( Map<String, Rectangle> allJoins,
236: + NavigableMap<Integer, List<String>> xxPositions,
237: + NavigableMap<Integer, List<String>> yyPositions,
238: + String delimiter )
239: + {
240: + int combinedArea = 0;
241: + final boolean inclusive = true;
242: + boolean multiOverlap;
243: + for ( String pairId : allJoins.keySet() )
244: + {
245: + multiOverlap = false;
246: + Rectangle currRect = allJoins.get( pairId );
247: + NavigableMap<Integer, List<String>> xxOcclusions = xxPositions.subMap(
248: + currRect.posX, inclusive, currRect.posX + currRect.lenX, ! inclusive );
249: + NavigableMap<Integer, List<String>> yyOcclusions = yyPositions.subMap(
250: + currRect.posY, inclusive, currRect.posY + currRect.lenY, ! inclusive );
251: + Set<String> inXxShadow = new TreeSet<>();
252: + Set<String> inYyShadow = new TreeSet<>();
253: + for ( Integer currXx : xxOcclusions.keySet() )
254: + {
255: + List<String> idsAtXx = xxOcclusions.get( currXx );
256: + for ( String idAt : idsAtXx )
257: + {
258: + if ( idAt.equals( currRect.rectId ) )
259: + {
260: + continue;
261: + }
262: + else
263: + {
264: + inXxShadow.add( idAt );
265: + multiOverlap |= true;
266: + }
267: + }
268: + }
269: + for ( Integer currYy : yyOcclusions.keySet() )
270: + {
271: + List<String> idsAtYy = yyOcclusions.get( currYy );
272: + for ( String idAt : idsAtYy )
273: + {
274: + if ( idAt.equals( currRect.rectId ) )
275: + {
276: + continue;
277: + }
278: + else
279: + {
280: + inYyShadow.add( idAt );
281: + }
282: + }
283: + }
284: + // NOTE find the intersection of the two sets, these actually overlap the current rectangle
285: + for ( String xxId : inXxShadow )
286: + {
287: + for ( String yyId : inYyShadow )
288: + {
289: + if ( xxId.equals( yyId ) )
290: + {
291: + Rectangle first = allJoins.get( xxId );
292: + Rectangle intersect = intersectionOf( first, currRect, delimiter );
293: + if ( ! first.beenChecked || ! currRect.beenChecked )
294: + {
295: + // if they've both been checked, then this is a really multi overlap (3 pairs) avoiding overdraft
296: + combinedArea -= intersect.lenX * intersect.lenY;
297: + }
298: + if ( ! first.beenChecked )
299: + {
300: + combinedArea += first.lenX * first.lenY;
301: + first.beenChecked = true;
302: + }
303: + if ( ! currRect.beenChecked )
304: + {
305: + combinedArea += currRect.lenX * currRect.lenY;
306: + currRect.beenChecked = true;
307: + }
308: + multiOverlap |= true;
309: + }
310: + }
311: + }
312: + if ( ! multiOverlap )
313: + {
314: + combinedArea += currRect.lenX * currRect.lenY;
315: + currRect.beenChecked = true;
316: + }
317: + // else handled above
318: + }
319: + return combinedArea;
320: + }
321: +
322: +
323: + Rectangle intersectionOf( Rectangle some, Rectangle other, String idToUse )
324: + {
325: + Rectangle between = new Rectangle();
326: + between.rectId = idToUse;
327: + between.posX = Math.max( some.posX, other.posX );
328: + between.posY = Math.max( some.posY, other.posY );
329: + int endSome = some.posX + some.lenX;
330: + int endOther = other.posX + other.lenX;
331: + between.lenX = Math.min( endSome, endOther ) - between.posX;
332: + endSome = some.posY + some.lenY;
333: + endOther = other.posY + other.lenY;
334: + between.lenY = Math.min( endSome, endOther ) - between.posY;
335: + return between;
336: + }
337: +
338: +}
339: +
340: +
341: +
342: +
343: +
344: +
345: +
346: +
347: +
348: +
349: +
350: +
351: +
352: +
353: +
354: +
355: +
356: +
357: +
358: +
359: +
360: +
361: +
362: +
363: +
364: +
365: +
366: diff --git a/src/res/18_03_input.txt b/src/res/18_03_input.txt
367: new file mode 100644
368: index 0000000..dfe5246
369: --- /dev/null
370: +++ b/src/res/18_03_input.txt
371: @@ -0,0 +1,1285 @@
372: +#1 @ 82,901: 26x12
373: +#2 @ 8,540: 18x12
374: +#3 @ 835,180: 23x13
375: +#4 @ 690,544: 29x23
376: +#5 @ 140,218: 18x12
377: +#6 @ 366,229: 28x28
378: +#7 @ 41,677: 18x17
379: +#8 @ 569,685: 10x10
380: +#9 @ 432,953: 13x20
381: +#10 @ 411,225: 13x28
382: +#11 @ 155,396: 28x26
383: +#12 @ 590,968: 25x14
384: +#13 @ 928,664: 18x15
385: +#14 @ 733,903: 18x24
386: +#15 @ 722,641: 17x20
387: +#16 @ 930,579: 24x29
388: +#17 @ 496,596: 23x13
389: +#18 @ 724,650: 14x15
390: +#19 @ 735,418: 27x10
391: +#20 @ 265,936: 14x13
392: +#21 @ 369,495: 14x14
393: +#22 @ 12,203: 18x27
394: +#23 @ 550,409: 21x19
395: +#24 @ 756,58: 19x20
396: +#25 @ 676,294: 29x22
397: +#26 @ 983,152: 8x7
398: +#27 @ 706,431: 18x23
399: +#28 @ 249,118: 27x29
400: +#29 @ 239,531: 11x22
401: +#30 @ 339,916: 20x26
402: +#31 @ 89,280: 27x20
403: +#32 @ 264,844: 23x18
404: +#33 @ 233,729: 29x27
405: +#34 @ 885,845: 20x22
406: +#35 @ 721,450: 11x22
407: +#36 @ 113,661: 16x24
408: +#37 @ 753,478: 29x22
409: +#38 @ 530,92: 20x18
410: +#39 @ 215,72: 28x14
411: +#40 @ 694,750: 27x11
412: +#41 @ 671,810: 22x11
413: +#42 @ 141,515: 17x24
414: +#43 @ 247,258: 14x24
415: +#44 @ 13,6: 11x12
416: +#45 @ 478,983: 25x11
417: +#46 @ 568,522: 14x28
418: +#47 @ 428,720: 25x21
419: +#48 @ 872,518: 18x14
420: +#49 @ 439,942: 26x28
421: +#50 @ 14,68: 21x26
422: +#51 @ 19,977: 11x23
423: +#52 @ 139,203: 22x21
424: +#53 @ 821,665: 29x20
425: +#54 @ 957,936: 23x16
426: +#55 @ 594,134: 13x27
427: +#56 @ 21,617: 28x14
428: +#57 @ 213,324: 20x27
429: +#58 @ 266,456: 16x25
430: +#59 @ 206,369: 14x13
431: +#60 @ 77,374: 20x23
432: +#61 @ 624,476: 16x29
433: +#62 @ 301,425: 27x25
434: +#63 @ 404,275: 29x12
435: +#64 @ 170,14: 22x26
436: +#65 @ 292,546: 29x27
437: +#66 @ 897,27: 25x13
438: +#67 @ 198,227: 21x13
439: +#68 @ 910,355: 15x28
440: +#69 @ 69,897: 27x29
441: +#70 @ 507,916: 23x20
442: +#71 @ 712,413: 12x17
443: +#72 @ 895,851: 12x20
444: +#73 @ 820,946: 19x20
445: +#74 @ 33,317: 16x19
446: +#75 @ 800,810: 27x19
447: +#76 @ 103,18: 18x16
448: +#77 @ 383,884: 23x14
449: +#78 @ 222,262: 12x10
450: +#79 @ 277,562: 16x13
451: +#80 @ 606,631: 27x13
452: +#81 @ 141,532: 24x21
453: +#82 @ 862,495: 4x7
454: +#83 @ 456,216: 15x17
455: +#84 @ 165,53: 12x21
456: +#85 @ 273,74: 10x20
457: +#86 @ 471,831: 17x17
458: +#87 @ 662,452: 13x10
459: +#88 @ 567,255: 14x22
460: +#89 @ 473,836: 8x4
461: +#90 @ 813,854: 14x18
462: +#91 @ 24,966: 15x20
463: +#92 @ 120,537: 15x24
464: +#93 @ 122,957: 28x15
465: +#94 @ 46,800: 10x10
466: +#95 @ 132,650: 15x13
467: +#96 @ 400,543: 17x29
468: +#97 @ 739,868: 13x26
469: +#98 @ 805,576: 27x19
470: +#99 @ 393,673: 25x27
471: +#100 @ 499,695: 24x28
472: +#101 @ 534,393: 28x27
473: +#102 @ 294,720: 16x25
474: +#103 @ 436,878: 25x25
475: +#104 @ 273,522: 21x23
476: +#105 @ 194,364: 22x15
477: +#106 @ 183,754: 17x14
478: +#107 @ 423,42: 26x10
479: +#108 @ 197,420: 20x24
480: +#109 @ 32,317: 20x14
481: +#110 @ 440,876: 23x23
482: +#111 @ 803,971: 28x10
483: +#112 @ 458,558: 28x28
484: +#113 @ 462,896: 10x29
485: +#114 @ 143,725: 15x16
486: +#115 @ 611,629: 15x18
487: +#116 @ 0,239: 25x15
488: +#117 @ 160,485: 11x17
489: +#118 @ 383,457: 24x22
490: +#119 @ 96,823: 28x26
491: +#120 @ 557,936: 19x10
492: +#121 @ 178,3: 14x27
493: +#122 @ 353,296: 24x23
494: +#123 @ 424,829: 13x29
495: +#124 @ 714,415: 5x11
496: +#125 @ 501,66: 14x5
497: +#126 @ 302,637: 27x20
498: +#127 @ 266,64: 11x26
499: +#128 @ 725,348: 13x25
500: +#129 @ 710,543: 24x18
501: +#130 @ 204,907: 29x22
502: +#131 @ 900,528: 22x19
503: +#132 @ 177,469: 16x27
504: +#133 @ 483,932: 12x26
505: +#134 @ 950,16: 24x29
506: +#135 @ 431,936: 22x25
507: +#136 @ 508,879: 11x26
508: +#137 @ 468,819: 16x25
509: +#138 @ 262,104: 25x14
510: +#139 @ 309,933: 21x12
511: +#140 @ 801,805: 23x18
512: +#141 @ 671,967: 21x15
513: +#142 @ 794,251: 23x19
514: +#143 @ 957,482: 17x29
515: +#144 @ 61,684: 23x28
516: +#145 @ 191,824: 24x29
517: +#146 @ 772,315: 14x20
518: +#147 @ 883,493: 12x22
519: +#148 @ 4,238: 22x18
520: +#149 @ 962,488: 29x23
521: +#150 @ 159,896: 12x26
522: +#151 @ 315,903: 13x16
523: +#152 @ 979,857: 12x20
524: +#153 @ 339,935: 22x11
525: +#154 @ 543,92: 12x27
526: +#155 @ 697,500: 22x25
527: +#156 @ 431,682: 15x26
528: +#157 @ 134,754: 25x27
529: +#158 @ 723,216: 18x14
530: +#159 @ 682,387: 16x23
531: +#160 @ 460,909: 15x19
532: +#161 @ 926,661: 21x16
533: +#162 @ 194,274: 14x12
534: +#163 @ 113,158: 27x24
535: +#164 @ 496,672: 29x13
536: +#165 @ 490,44: 16x13
537: +#166 @ 44,184: 13x21
538: +#167 @ 812,722: 21x28
539: +#168 @ 691,132: 21x29
540: +#169 @ 242,732: 11x11
541: +#170 @ 965,231: 18x28
542: +#171 @ 201,315: 27x24
543: +#172 @ 454,833: 20x15
544: +#173 @ 50,509: 29x28
545: +#174 @ 526,590: 16x17
546: +#175 @ 885,743: 14x19
547: +#176 @ 38,933: 23x24
548: +#177 @ 691,166: 27x13
549: +#178 @ 261,108: 23x12
550: +#179 @ 532,332: 16x13
551: +#180 @ 18,86: 29x12
552: +#181 @ 385,425: 15x13
553: +#182 @ 695,490: 25x16
554: +#183 @ 127,959: 15x18
555: +#184 @ 86,789: 23x24
556: +#185 @ 242,613: 23x19
557: +#186 @ 445,334: 23x24
558: +#187 @ 474,350: 25x25
559: +#188 @ 921,905: 26x19
560: +#189 @ 558,277: 20x23
561: +#190 @ 320,323: 29x29
562: +#191 @ 449,68: 12x28
563: +#192 @ 375,934: 11x13
564: +#193 @ 107,323: 29x11
565: +#194 @ 563,587: 29x24
566: +#195 @ 957,590: 13x27
567: +#196 @ 442,241: 16x10
568: +#197 @ 518,602: 18x10
569: +#198 @ 569,526: 25x27
570: +#199 @ 556,400: 12x28
571: +#200 @ 659,301: 26x16
572: +#201 @ 833,350: 29x13
573: +#202 @ 96,835: 10x14
574: +#203 @ 231,902: 27x26
575: +#204 @ 78,168: 23x11
576: +#205 @ 57,937: 19x13
577: +#206 @ 167,762: 21x22
578: +#207 @ 251,506: 17x23
579: +#208 @ 864,536: 21x14
580: +#209 @ 605,488: 15x26
581: +#210 @ 345,368: 27x18
582: +#211 @ 974,247: 25x24
583: +#212 @ 253,493: 12x27
584: +#213 @ 141,86: 10x17
585: +#214 @ 257,115: 16x12
586: +#215 @ 110,949: 28x11
587: +#216 @ 323,910: 18x26
588: +#217 @ 908,433: 27x17
589: +#218 @ 688,866: 25x12
590: +#219 @ 598,308: 14x23
591: +#220 @ 72,203: 12x12
592: +#221 @ 114,187: 15x27
593: +#222 @ 191,808: 28x11
594: +#223 @ 297,332: 18x12
595: +#224 @ 664,894: 12x25
596: +#225 @ 691,839: 17x12
597: +#226 @ 182,538: 26x24
598: +#227 @ 435,670: 10x23
599: +#228 @ 535,365: 22x19
600: +#229 @ 785,642: 21x10
601: +#230 @ 666,452: 10x20
602: +#231 @ 239,577: 20x25
603: +#232 @ 591,493: 23x14
604: +#233 @ 823,513: 12x27
605: +#234 @ 932,470: 22x15
606: +#235 @ 639,207: 22x13
607: +#236 @ 690,546: 10x16
608: +#237 @ 192,110: 16x16
609: +#238 @ 828,193: 26x26
610: +#239 @ 749,423: 20x23
611: +#240 @ 892,415: 16x28
612: +#241 @ 423,955: 25x20
613: +#242 @ 864,302: 21x18
614: +#243 @ 538,344: 17x28
615: +#244 @ 324,259: 25x17
616: +#245 @ 659,851: 23x18
617: +#246 @ 905,868: 27x27
618: +#247 @ 566,519: 12x19
619: +#248 @ 30,552: 28x10
620: +#249 @ 419,314: 13x26
621: +#250 @ 938,294: 25x12
622: +#251 @ 70,361: 10x16
623: +#252 @ 679,143: 26x14
624: +#253 @ 911,499: 18x23
625: +#254 @ 385,914: 18x14
626: +#255 @ 562,134: 13x16
627: +#256 @ 117,368: 19x17
628: +#257 @ 32,315: 11x17
629: +#258 @ 741,550: 11x24
630: +#259 @ 729,317: 14x17
631: +#260 @ 7,944: 28x28
632: +#261 @ 479,603: 29x17
633: +#262 @ 341,958: 23x10
634: +#263 @ 599,451: 16x19
635: +#264 @ 605,136: 13x18
636: +#265 @ 569,276: 23x13
637: +#266 @ 787,857: 13x16
638: +#267 @ 939,324: 19x17
639: +#268 @ 781,866: 12x13
640: +#269 @ 289,740: 22x11
641: +#270 @ 347,238: 11x19
642: +#271 @ 843,569: 25x13
643: +#272 @ 81,371: 11x14
644: +#273 @ 411,58: 21x27
645: +#274 @ 607,517: 16x22
646: +#275 @ 301,927: 28x23
647: +#276 @ 410,191: 17x17
648: +#277 @ 262,67: 29x12
649: +#278 @ 246,184: 12x11
650: +#279 @ 213,16: 29x25
651: +#280 @ 941,292: 16x13
652: +#281 @ 91,756: 27x14
653: +#282 @ 936,975: 13x14
654: +#283 @ 262,820: 13x27
655: +#284 @ 480,127: 24x27
656: +#285 @ 935,973: 14x17
657: +#286 @ 320,607: 25x25
658: +#287 @ 967,117: 20x22
659: +#288 @ 517,724: 10x25
660: +#289 @ 438,751: 10x19
661: +#290 @ 672,465: 15x27
662: +#291 @ 813,834: 23x11
663: +#292 @ 699,174: 20x25
664: +#293 @ 436,775: 17x16
665: +#294 @ 601,209: 16x19
666: +#295 @ 732,372: 15x29
667: +#296 @ 931,378: 22x27
668: +#297 @ 312,778: 24x22
669: +#298 @ 47,100: 24x19
670: +#299 @ 340,115: 15x14
671: +#300 @ 581,375: 29x20
672: +#301 @ 122,679: 3x4
673: +#302 @ 422,780: 27x14
674: +#303 @ 818,464: 11x17
675: +#304 @ 518,142: 18x24
676: +#305 @ 49,523: 19x17
677: +#306 @ 87,157: 15x28
678: +#307 @ 801,509: 18x21
679: +#308 @ 525,189: 18x12
680: +#309 @ 670,832: 11x12
681: +#310 @ 276,752: 24x20
682: +#311 @ 695,834: 12x10
683: +#312 @ 709,479: 11x20
684: +#313 @ 751,72: 24x10
685: +#314 @ 841,794: 24x19
686: +#315 @ 503,134: 15x24
687: +#316 @ 591,959: 22x12
688: +#317 @ 184,598: 19x10
689: +#318 @ 768,496: 28x25
690: +#319 @ 243,676: 22x26
691: +#320 @ 225,530: 17x29
692: +#321 @ 90,675: 24x17
693: +#322 @ 898,801: 20x10
694: +#323 @ 287,756: 17x28
695: +#324 @ 629,199: 11x14
696: +#325 @ 631,532: 25x15
697: +#326 @ 448,317: 18x15
698: +#327 @ 789,865: 11x20
699: +#328 @ 520,548: 18x27
700: +#329 @ 336,49: 29x17
701: +#330 @ 657,506: 17x22
702: +#331 @ 298,426: 17x23
703: +#332 @ 615,965: 23x28
704: +#333 @ 780,52: 25x29
705: +#334 @ 556,961: 23x19
706: +#335 @ 196,191: 11x13
707: +#336 @ 230,262: 12x11
708: +#337 @ 683,161: 19x25
709: +#338 @ 31,615: 19x15
710: +#339 @ 762,856: 15x22
711: +#340 @ 323,370: 28x26
712: +#341 @ 466,328: 23x12
713: +#342 @ 757,863: 29x23
714: +#343 @ 837,672: 12x14
715: +#344 @ 650,41: 14x13
716: +#345 @ 175,297: 11x29
717: +#346 @ 300,414: 10x25
718: +#347 @ 827,107: 15x22
719: +#348 @ 348,89: 17x10
720: +#349 @ 940,726: 18x14
721: +#350 @ 446,300: 23x23
722: +#351 @ 32,331: 28x12
723: +#352 @ 615,491: 26x27
724: +#353 @ 343,223: 26x18
725: +#354 @ 598,371: 25x12
726: +#355 @ 682,687: 20x24
727: +#356 @ 27,93: 22x16
728: +#357 @ 239,10: 14x27
729: +#358 @ 151,886: 18x23
730: +#359 @ 940,849: 20x29
731: +#360 @ 282,65: 19x21
732: +#361 @ 933,65: 27x23
733: +#362 @ 26,264: 21x19
734: +#363 @ 683,418: 23x25
735: +#364 @ 882,313: 14x19
736: +#365 @ 200,686: 19x24
737: +#366 @ 36,809: 15x11
738: +#367 @ 764,312: 21x24
739: +#368 @ 448,757: 18x27
740: +#369 @ 513,644: 20x18
741: +#370 @ 482,740: 14x27
742: +#371 @ 709,6: 25x17
743: +#372 @ 259,234: 12x28
744: +#373 @ 659,145: 23x16
745: +#374 @ 514,954: 11x26
746: +#375 @ 575,937: 17x28
747: +#376 @ 484,892: 25x12
748: +#377 @ 897,857: 7x7
749: +#378 @ 36,103: 18x19
750: +#379 @ 458,212: 17x21
751: +#380 @ 499,62: 19x13
752: +#381 @ 200,51: 24x21
753: +#382 @ 675,243: 14x23
754: +#383 @ 73,182: 28x23
755: +#384 @ 442,326: 23x14
756: +#385 @ 375,675: 23x22
757: +#386 @ 266,350: 10x25
758: +#387 @ 545,31: 16x28
759: +#388 @ 439,672: 12x23
760: +#389 @ 328,221: 29x24
761: +#390 @ 844,643: 20x12
762: +#391 @ 474,896: 14x27
763: +#392 @ 666,35: 23x12
764: +#393 @ 228,29: 15x12
765: +#394 @ 844,241: 21x11
766: +#395 @ 785,632: 16x20
767: +#396 @ 885,458: 28x29
768: +#397 @ 648,554: 19x21
769: +#398 @ 809,169: 25x13
770: +#399 @ 797,380: 16x11
771: +#400 @ 512,621: 16x28
772: +#401 @ 892,19: 19x14
773: +#402 @ 376,194: 23x10
774: +#403 @ 436,667: 13x11
775: +#404 @ 25,550: 11x27
776: +#405 @ 546,863: 28x26
777: +#406 @ 129,530: 17x10
778: +#407 @ 304,965: 26x16
779: +#408 @ 877,630: 29x11
780: +#409 @ 226,47: 23x10
781: +#410 @ 28,293: 21x26
782: +#411 @ 199,185: 25x20
783: +#412 @ 249,50: 12x28
784: +#413 @ 702,643: 29x18
785: +#414 @ 326,485: 16x24
786: +#415 @ 662,142: 25x10
787: +#416 @ 463,382: 26x12
788: +#417 @ 786,731: 15x18
789: +#418 @ 440,797: 21x15
790: +#419 @ 674,673: 14x11
791: +#420 @ 191,722: 11x26
792: +#421 @ 903,117: 15x14
793: +#422 @ 330,14: 21x15
794: +#423 @ 240,160: 19x29
795: +#424 @ 636,380: 16x24
796: +#425 @ 802,821: 10x19
797: +#426 @ 496,587: 22x28
798: +#427 @ 586,314: 16x29
799: +#428 @ 936,107: 12x13
800: +#429 @ 276,794: 10x21
801: +#430 @ 495,148: 15x27
802: +#431 @ 500,318: 29x12
803: +#432 @ 49,545: 27x14
804: +#433 @ 83,841: 11x19
805: +#434 @ 139,425: 10x20
806: +#435 @ 332,730: 26x25
807: +#436 @ 108,919: 15x27
808: +#437 @ 191,598: 10x16
809: +#438 @ 683,707: 21x26
810: +#439 @ 835,356: 22x10
811: +#440 @ 807,809: 10x29
812: +#441 @ 55,65: 12x10
813: +#442 @ 422,40: 12x10
814: +#443 @ 922,618: 12x26
815: +#444 @ 478,69: 29x16
816: +#445 @ 883,171: 26x12
817: +#446 @ 377,58: 20x23
818: +#447 @ 155,628: 23x26
819: +#448 @ 264,334: 19x19
820: +#449 @ 158,748: 14x10
821: +#450 @ 625,490: 28x23
822: +#451 @ 239,459: 23x21
823: +#452 @ 636,19: 29x27
824: +#453 @ 205,811: 11x23
825: +#454 @ 170,212: 16x25
826: +#455 @ 90,922: 27x14
827: +#456 @ 956,39: 15x10
828: +#457 @ 238,586: 19x25
829: +#458 @ 463,150: 18x22
830: +#459 @ 88,366: 16x11
831: +#460 @ 170,177: 11x19
832: +#461 @ 647,261: 17x26
833: +#462 @ 502,693: 20x25
834: +#463 @ 631,435: 28x19
835: +#464 @ 409,53: 26x19
836: +#465 @ 875,106: 27x26
837: +#466 @ 632,722: 11x27
838: +#467 @ 618,231: 28x13
839: +#468 @ 845,370: 18x29
840: +#469 @ 641,137: 10x14
841: +#470 @ 587,379: 14x5
842: +#471 @ 15,415: 28x11
843: +#472 @ 337,409: 10x18
844: +#473 @ 749,673: 26x20
845: +#474 @ 27,736: 25x19
846: +#475 @ 943,462: 17x16
847: +#476 @ 580,432: 20x20
848: +#477 @ 244,592: 16x13
849: +#478 @ 903,733: 20x25
850: +#479 @ 755,736: 16x19
851: +#480 @ 786,864: 12x15
852: +#481 @ 659,329: 22x11
853: +#482 @ 474,122: 16x14
854: +#483 @ 871,849: 22x16
855: +#484 @ 524,849: 19x23
856: +#485 @ 714,890: 13x15
857: +#486 @ 836,782: 19x24
858: +#487 @ 562,528: 12x15
859: +#488 @ 301,71: 23x13
860: +#489 @ 309,715: 25x17
861: +#490 @ 253,802: 25x22
862: +#491 @ 264,53: 17x29
863: +#492 @ 112,952: 17x19
864: +#493 @ 585,377: 20x16
865: +#494 @ 679,396: 29x27
866: +#495 @ 104,31: 21x11
867: +#496 @ 367,892: 17x26
868: +#497 @ 89,193: 28x10
869: +#498 @ 734,541: 11x10
870: +#499 @ 938,416: 18x25
871: +#500 @ 90,845: 13x16
872: +#501 @ 267,491: 19x27
873: +#502 @ 519,145: 20x22
874: +#503 @ 144,468: 20x15
875: +#504 @ 104,244: 12x12
876: +#505 @ 592,914: 23x18
877: +#506 @ 852,562: 11x18
878: +#507 @ 611,205: 29x27
879: +#508 @ 429,7: 12x26
880: +#509 @ 223,325: 11x24
881: +#510 @ 845,201: 16x12
882: +#511 @ 680,691: 15x20
883: +#512 @ 365,494: 28x24
884: +#513 @ 5,0: 25x12
885: +#514 @ 319,848: 12x24
886: +#515 @ 7,834: 27x10
887: +#516 @ 731,346: 26x11
888: +#517 @ 772,340: 13x20
889: +#518 @ 168,466: 26x28
890: +#519 @ 757,420: 14x10
891: +#520 @ 665,908: 23x29
892: +#521 @ 807,961: 10x14
893: +#522 @ 942,456: 11x21
894: +#523 @ 719,811: 29x25
895: +#524 @ 476,211: 21x28
896: +#525 @ 766,90: 15x20
897: +#526 @ 747,410: 16x20
898: +#527 @ 443,756: 25x14
899: +#528 @ 741,847: 29x28
900: +#529 @ 970,782: 22x16
901: +#530 @ 167,710: 25x16
902: +#531 @ 209,468: 11x22
903: +#532 @ 267,279: 25x11
904: +#533 @ 458,60: 23x18
905: +#534 @ 196,579: 14x14
906: +#535 @ 537,408: 20x23
907: +#536 @ 750,862: 29x19
908: +#537 @ 301,780: 25x12
909: +#538 @ 298,669: 10x11
910: +#539 @ 389,801: 25x17
911: +#540 @ 677,468: 10x15
912: +#541 @ 751,325: 27x25
913: +#542 @ 757,466: 12x27
914: +#543 @ 700,146: 18x14
915: +#544 @ 800,45: 24x25
916: +#545 @ 297,545: 15x10
917: +#546 @ 948,383: 29x24
918: +#547 @ 939,77: 26x15
919: +#548 @ 218,948: 11x24
920: +#549 @ 704,814: 12x13
921: +#550 @ 801,373: 23x13
922: +#551 @ 268,254: 20x12
923: +#552 @ 494,923: 17x22
924: +#553 @ 730,169: 19x18
925: +#554 @ 39,255: 12x26
926: +#555 @ 169,191: 18x15
927: +#556 @ 359,553: 21x26
928: +#557 @ 228,212: 23x10
929: +#558 @ 485,754: 7x6
930: +#559 @ 965,910: 28x24
931: +#560 @ 400,790: 23x22
932: +#561 @ 653,33: 22x13
933: +#562 @ 161,647: 12x16
934: +#563 @ 654,697: 3x12
935: +#564 @ 183,66: 27x10
936: +#565 @ 758,708: 29x24
937: +#566 @ 298,622: 26x27
938: +#567 @ 799,301: 26x20
939: +#568 @ 12,528: 16x22
940: +#569 @ 701,473: 10x13
941: +#570 @ 238,324: 16x27
942: +#571 @ 652,691: 10x23
943: +#572 @ 169,618: 25x11
944: +#573 @ 915,792: 10x28
945: +#574 @ 450,848: 24x18
946: +#575 @ 23,311: 26x13
947: +#576 @ 346,302: 25x23
948: +#577 @ 652,275: 14x15
949: +#578 @ 791,311: 20x21
950: +#579 @ 907,148: 28x16
951: +#580 @ 559,395: 15x14
952: +#581 @ 422,723: 24x14
953: +#582 @ 859,99: 16x21
954: +#583 @ 217,69: 12x10
955: +#584 @ 206,313: 24x15
956: +#585 @ 716,317: 19x15
957: +#586 @ 172,893: 15x16
958: +#587 @ 734,377: 12x12
959: +#588 @ 565,260: 16x13
960: +#589 @ 762,574: 13x11
961: +#590 @ 21,303: 26x28
962: +#591 @ 814,708: 24x17
963: +#592 @ 267,797: 25x18
964: +#593 @ 211,464: 10x12
965: +#594 @ 799,583: 18x22
966: +#595 @ 213,351: 10x14
967: +#596 @ 901,794: 20x23
968: +#597 @ 589,749: 29x21
969: +#598 @ 217,335: 28x28
970: +#599 @ 574,287: 10x29
971: +#600 @ 125,14: 23x25
972: +#601 @ 40,690: 26x29
973: +#602 @ 973,247: 13x23
974: +#603 @ 734,422: 24x19
975: +#604 @ 880,539: 17x13
976: +#605 @ 501,974: 19x21
977: +#606 @ 613,746: 22x29
978: +#607 @ 569,752: 5x10
979: +#608 @ 50,785: 12x27
980: +#609 @ 222,7: 19x10
981: +#610 @ 510,857: 23x29
982: +#611 @ 873,342: 14x29
983: +#612 @ 368,65: 10x23
984: +#613 @ 705,490: 26x11
985: +#614 @ 193,454: 15x16
986: +#615 @ 942,669: 21x26
987: +#616 @ 795,960: 29x29
988: +#617 @ 681,555: 26x29
989: +#618 @ 877,685: 19x28
990: +#619 @ 158,482: 17x27
991: +#620 @ 123,166: 18x20
992: +#621 @ 409,733: 29x28
993: +#622 @ 701,843: 12x13
994: +#623 @ 808,459: 11x20
995: +#624 @ 105,699: 27x13
996: +#625 @ 191,421: 19x26
997: +#626 @ 465,120: 28x11
998: +#627 @ 91,793: 17x11
999: +#628 @ 755,345: 27x27
1000: +#629 @ 778,268: 20x22
1001: +#630 @ 141,487: 27x11
1002: +#631 @ 399,938: 17x25
1003: +#632 @ 201,771: 17x18
1004: +#633 @ 582,373: 17x29
1005: +#634 @ 3,944: 10x12
1006: +#635 @ 488,320: 19x15
1007: +#636 @ 358,642: 24x26
1008: +#637 @ 881,90: 18x20
1009: +#638 @ 930,857: 21x16
1010: +#639 @ 753,535: 15x25
1011: +#640 @ 527,135: 22x18
1012: +#641 @ 514,742: 12x21
1013: +#642 @ 617,21: 18x10
1014: +#643 @ 821,348: 25x22
1015: +#644 @ 721,764: 19x13
1016: +#645 @ 865,158: 23x11
1017: +#646 @ 275,62: 19x27
1018: +#647 @ 378,413: 23x28
1019: +#648 @ 498,667: 13x16
1020: +#649 @ 308,97: 28x10
1021: +#650 @ 111,377: 16x22
1022: +#651 @ 242,461: 26x18
1023: +#652 @ 890,178: 26x24
1024: +#653 @ 489,320: 26x16
1025: +#654 @ 667,368: 19x17
1026: +#655 @ 730,859: 16x25
1027: +#656 @ 356,215: 16x25
1028: +#657 @ 634,29: 24x12
1029: +#658 @ 805,663: 12x25
1030: +#659 @ 293,541: 21x10
1031: +#660 @ 642,287: 28x23
1032: +#661 @ 785,105: 27x15
1033: +#662 @ 370,198: 25x15
1034: +#663 @ 205,462: 18x24
1035: +#664 @ 205,936: 28x26
1036: +#665 @ 241,12: 8x22
1037: +#666 @ 204,237: 25x12
1038: +#667 @ 40,412: 17x25
1039: +#668 @ 643,313: 23x28
1040: +#669 @ 527,144: 10x28
1041: +#670 @ 677,936: 10x20
1042: +#671 @ 774,575: 16x23
1043: +#672 @ 387,676: 15x20
1044: +#673 @ 768,335: 18x12
1045: +#674 @ 878,746: 29x16
1046: +#675 @ 203,826: 12x24
1047: +#676 @ 82,762: 27x15
1048: +#677 @ 500,536: 21x28
1049: +#678 @ 982,378: 13x21
1050: +#679 @ 724,803: 19x18
1051: +#680 @ 856,232: 11x25
1052: +#681 @ 728,114: 29x29
1053: +#682 @ 704,175: 14x10
1054: +#683 @ 755,824: 28x23
1055: +#684 @ 651,523: 12x29
1056: +#685 @ 331,25: 20x21
1057: +#686 @ 881,335: 20x17
1058: +#687 @ 563,498: 21x15
1059: +#688 @ 370,414: 29x19
1060: +#689 @ 70,946: 22x13
1061: +#690 @ 450,319: 12x9
1062: +#691 @ 905,812: 29x12
1063: +#692 @ 383,954: 17x22
1064: +#693 @ 149,726: 14x18
1065: +#694 @ 793,315: 14x13
1066: +#695 @ 426,624: 15x17
1067: +#696 @ 264,390: 22x19
1068: +#697 @ 708,747: 27x14
1069: +#698 @ 837,319: 14x29
1070: +#699 @ 266,260: 27x17
1071: +#700 @ 765,14: 11x14
1072: +#701 @ 188,260: 23x20
1073: +#702 @ 420,264: 22x13
1074: +#703 @ 150,536: 21x23
1075: +#704 @ 356,535: 19x25
1076: +#705 @ 203,545: 29x15
1077: +#706 @ 374,270: 27x20
1078: +#707 @ 906,380: 11x26
1079: +#708 @ 901,418: 27x23
1080: +#709 @ 323,764: 15x23
1081: +#710 @ 635,488: 12x21
1082: +#711 @ 236,550: 21x24
1083: +#712 @ 693,826: 22x22
1084: +#713 @ 720,9: 10x10
1085: +#714 @ 315,105: 29x13
1086: +#715 @ 374,286: 25x12
1087: +#716 @ 609,904: 15x29
1088: +#717 @ 661,363: 26x19
1089: +#718 @ 776,347: 18x26
1090: +#719 @ 91,246: 26x23
1091: +#720 @ 664,786: 11x21
1092: +#721 @ 868,518: 12x20
1093: +#722 @ 577,203: 26x26
1094: +#723 @ 793,723: 23x26
1095: +#724 @ 803,137: 12x25
1096: +#725 @ 576,728: 14x23
1097: +#726 @ 719,109: 15x14
1098: +#727 @ 671,423: 22x12
1099: +#728 @ 970,677: 17x26
1100: +#729 @ 647,467: 20x10
1101: +#730 @ 350,705: 29x29
1102: +#731 @ 791,958: 21x26
1103: +#732 @ 952,566: 8x8
1104: +#733 @ 829,110: 18x27
1105: +#734 @ 383,177: 21x20
1106: +#735 @ 480,352: 7x16
1107: +#736 @ 873,745: 10x14
1108: +#737 @ 43,701: 26x10
1109: +#738 @ 564,482: 16x10
1110: +#739 @ 421,247: 23x19
1111: +#740 @ 674,932: 18x11
1112: +#741 @ 102,75: 24x28
1113: +#742 @ 810,287: 11x22
1114: +#743 @ 803,499: 19x25
1115: +#744 @ 941,358: 14x25
1116: +#745 @ 336,495: 27x21
1117: +#746 @ 445,393: 21x19
1118: +#747 @ 745,411: 29x23
1119: +#748 @ 236,797: 27x21
1120: +#749 @ 890,702: 15x27
1121: +#750 @ 714,214: 15x26
1122: +#751 @ 191,915: 25x24
1123: +#752 @ 492,722: 14x28
1124: +#753 @ 916,441: 12x23
1125: +#754 @ 254,231: 29x14
1126: +#755 @ 746,172: 22x11
1127: +#756 @ 693,444: 29x11
1128: +#757 @ 398,644: 15x17
1129: +#758 @ 781,180: 11x28
1130: +#759 @ 918,285: 20x18
1131: +#760 @ 407,919: 13x28
1132: +#761 @ 269,402: 19x11
1133: +#762 @ 496,46: 5x6
1134: +#763 @ 591,911: 16x20
1135: +#764 @ 248,586: 18x18
1136: +#765 @ 343,960: 21x16
1137: +#766 @ 832,313: 10x17
1138: +#767 @ 906,441: 24x10
1139: +#768 @ 121,953: 21x28
1140: +#769 @ 204,343: 12x29
1141: +#770 @ 664,228: 14x24
1142: +#771 @ 819,559: 15x14
1143: +#772 @ 111,3: 26x18
1144: +#773 @ 898,46: 13x10
1145: +#774 @ 320,780: 12x13
1146: +#775 @ 664,230: 18x27
1147: +#776 @ 22,736: 15x16
1148: +#777 @ 189,927: 29x16
1149: +#778 @ 392,416: 19x20
1150: +#779 @ 920,793: 17x20
1151: +#780 @ 138,99: 11x10
1152: +#781 @ 385,946: 17x12
1153: +#782 @ 317,420: 29x17
1154: +#783 @ 291,967: 28x11
1155: +#784 @ 365,493: 10x16
1156: +#785 @ 502,978: 18x15
1157: +#786 @ 566,464: 29x17
1158: +#787 @ 925,873: 20x13
1159: +#788 @ 364,250: 17x28
1160: +#789 @ 514,324: 26x15
1161: +#790 @ 513,901: 14x19
1162: +#791 @ 839,217: 26x19
1163: +#792 @ 791,171: 11x19
1164: +#793 @ 904,635: 18x19
1165: +#794 @ 262,789: 10x15
1166: +#795 @ 323,107: 19x10
1167: +#796 @ 28,528: 29x26
1168: +#797 @ 129,409: 12x12
1169: +#798 @ 638,405: 11x22
1170: +#799 @ 288,42: 20x25
1171: +#800 @ 579,280: 18x25
1172: +#801 @ 446,908: 13x26
1173: +#802 @ 465,334: 28x20
1174: +#803 @ 874,154: 24x23
1175: +#804 @ 799,44: 23x18
1176: +#805 @ 510,185: 18x11
1177: +#806 @ 10,856: 16x16
1178: +#807 @ 552,924: 11x25
1179: +#808 @ 567,746: 10x23
1180: +#809 @ 862,633: 18x21
1181: +#810 @ 125,407: 17x19
1182: +#811 @ 336,769: 22x13
1183: +#812 @ 383,463: 10x17
1184: +#813 @ 843,622: 22x23
1185: +#814 @ 363,793: 12x29
1186: +#815 @ 762,472: 5x4
1187: +#816 @ 672,549: 21x17
1188: +#817 @ 255,468: 17x19
1189: +#818 @ 24,930: 27x29
1190: +#819 @ 451,666: 16x11
1191: +#820 @ 567,688: 14x13
1192: +#821 @ 526,42: 14x11
1193: +#822 @ 262,213: 10x28
1194: +#823 @ 874,352: 16x26
1195: +#824 @ 839,783: 11x11
1196: +#825 @ 143,434: 25x16
1197: +#826 @ 936,834: 25x18
1198: +#827 @ 350,88: 11x26
1199: +#828 @ 199,648: 27x20
1200: +#829 @ 922,379: 14x21
1201: +#830 @ 958,477: 12x17
1202: +#831 @ 103,63: 23x14
1203: +#832 @ 125,746: 29x13
1204: +#833 @ 951,933: 17x10
1205: +#834 @ 235,809: 22x26
1206: +#835 @ 55,710: 16x15
1207: +#836 @ 701,807: 14x24
1208: +#837 @ 345,422: 15x16
1209: +#838 @ 837,786: 12x14
1210: +#839 @ 26,290: 18x28
1211: +#840 @ 554,870: 18x24
1212: +#841 @ 233,14: 14x27
1213: +#842 @ 345,267: 19x11
1214: +#843 @ 830,526: 13x22
1215: +#844 @ 951,354: 15x21
1216: +#845 @ 367,192: 26x15
1217: +#846 @ 368,695: 18x12
1218: +#847 @ 352,758: 27x18
1219: +#848 @ 629,694: 13x12
1220: +#849 @ 218,666: 23x23
1221: +#850 @ 970,688: 12x10
1222: +#851 @ 764,100: 13x10
1223: +#852 @ 52,590: 19x3
1224: +#853 @ 884,466: 28x21
1225: +#854 @ 829,73: 24x26
1226: +#855 @ 32,71: 24x16
1227: +#856 @ 411,289: 17x25
1228: +#857 @ 174,635: 11x26
1229: +#858 @ 150,875: 26x12
1230: +#859 @ 468,847: 10x21
1231: +#860 @ 23,929: 10x12
1232: +#861 @ 279,75: 28x27
1233: +#862 @ 220,966: 23x13
1234: +#863 @ 236,17: 13x21
1235: +#864 @ 53,801: 10x13
1236: +#865 @ 903,362: 26x28
1237: +#866 @ 146,515: 15x26
1238: +#867 @ 236,379: 10x19
1239: +#868 @ 705,227: 17x20
1240: +#869 @ 146,398: 20x14
1241: +#870 @ 200,585: 26x21
1242: +#871 @ 905,46: 18x19
1243: +#872 @ 323,24: 29x26
1244: +#873 @ 976,846: 16x14
1245: +#874 @ 437,808: 14x29
1246: +#875 @ 641,417: 28x19
1247: +#876 @ 508,390: 23x29
1248: +#877 @ 548,354: 15x18
1249: +#878 @ 152,975: 26x20
1250: +#879 @ 880,750: 16x24
1251: +#880 @ 452,785: 29x25
1252: +#881 @ 482,338: 26x18
1253: +#882 @ 516,899: 10x13
1254: +#883 @ 628,481: 16x27
1255: +#884 @ 76,200: 15x22
1256: +#885 @ 544,97: 26x21
1257: +#886 @ 491,19: 16x23
1258: +#887 @ 86,770: 23x20
1259: +#888 @ 369,794: 10x26
1260: +#889 @ 78,950: 11x26
1261: +#890 @ 874,425: 14x10
1262: +#891 @ 482,945: 29x10
1263: +#892 @ 768,5: 29x24
1264: +#893 @ 562,400: 17x7
1265: +#894 @ 587,928: 15x13
1266: +#895 @ 134,526: 28x18
1267: +#896 @ 148,67: 27x26
1268: +#897 @ 188,861: 16x15
1269: +#898 @ 725,374: 22x22
1270: +#899 @ 916,792: 14x13
1271: +#900 @ 704,497: 10x23
1272: +#901 @ 392,935: 16x15
1273: +#902 @ 358,407: 12x14
1274: +#903 @ 429,322: 20x10
1275: +#904 @ 929,780: 23x28
1276: +#905 @ 683,974: 26x15
1277: +#906 @ 728,547: 17x22
1278: +#907 @ 803,130: 15x18
1279: +#908 @ 330,933: 14x21
1280: +#909 @ 964,788: 25x19
1281: +#910 @ 731,800: 12x23
1282: +#911 @ 301,833: 12x23
1283: +#912 @ 507,382: 13x11
1284: +#913 @ 766,6: 15x16
1285: +#914 @ 293,510: 19x14
1286: +#915 @ 534,93: 19x16
1287: +#916 @ 984,912: 10x14
1288: +#917 @ 915,133: 15x18
1289: +#918 @ 336,521: 22x17
1290: +#919 @ 325,430: 18x28
1291: +#920 @ 907,98: 29x28
1292: +#921 @ 651,555: 10x19
1293: +#922 @ 314,321: 26x22
1294: +#923 @ 550,111: 12x16
1295: +#924 @ 543,464: 20x11
1296: +#925 @ 932,621: 16x21
1297: +#926 @ 169,201: 24x17
1298: +#927 @ 670,439: 13x17
1299: +#928 @ 172,316: 19x27
1300: +#929 @ 84,839: 24x28
1301: +#930 @ 732,391: 13x20
1302: +#931 @ 166,367: 29x29
1303: +#932 @ 673,808: 24x22
1304: +#933 @ 26,246: 14x28
1305: +#934 @ 49,585: 28x19
1306: +#935 @ 741,801: 28x16
1307: +#936 @ 303,817: 27x27
1308: +#937 @ 795,864: 22x20
1309: +#938 @ 981,147: 18x25
1310: +#939 @ 116,746: 19x27
1311: +#940 @ 735,930: 28x16
1312: +#941 @ 118,462: 21x12
1313: +#942 @ 560,398: 26x13
1314: +#943 @ 562,115: 11x25
1315: +#944 @ 740,863: 12x24
1316: +#945 @ 661,461: 14x20
1317: +#946 @ 71,700: 15x16
1318: +#947 @ 485,540: 15x21
1319: +#948 @ 369,689: 22x25
1320: +#949 @ 639,707: 10x15
1321: +#950 @ 929,920: 18x23
1322: +#951 @ 943,232: 23x19
1323: +#952 @ 336,760: 6x13
1324: +#953 @ 705,430: 27x19
1325: +#954 @ 443,90: 15x16
1326: +#955 @ 61,350: 27x29
1327: +#956 @ 752,571: 15x28
1328: +#957 @ 17,511: 26x25
1329: +#958 @ 298,316: 15x19
1330: +#959 @ 632,367: 20x24
1331: +#960 @ 688,233: 13x26
1332: +#961 @ 649,747: 19x24
1333: +#962 @ 415,331: 14x29
1334: +#963 @ 17,200: 23x14
1335: +#964 @ 209,835: 15x15
1336: +#965 @ 816,644: 12x11
1337: +#966 @ 31,102: 18x19
1338: +#967 @ 559,376: 24x29
1339: +#968 @ 662,467: 27x20
1340: +#969 @ 261,615: 24x29
1341: +#970 @ 744,908: 11x24
1342: +#971 @ 832,229: 27x13
1343: +#972 @ 266,219: 14x25
1344: +#973 @ 306,724: 10x18
1345: +#974 @ 120,668: 12x29
1346: +#975 @ 775,836: 20x14
1347: +#976 @ 941,805: 20x18
1348: +#977 @ 461,370: 10x18
1349: +#978 @ 821,538: 12x26
1350: +#979 @ 799,500: 14x10
1351: +#980 @ 883,472: 18x25
1352: +#981 @ 132,677: 29x28
1353: +#982 @ 26,54: 18x18
1354: +#983 @ 659,394: 26x17
1355: +#984 @ 501,13: 17x14
1356: +#985 @ 633,470: 18x16
1357: +#986 @ 518,861: 21x27
1358: +#987 @ 658,53: 17x19
1359: +#988 @ 898,487: 19x13
1360: +#989 @ 141,209: 21x20
1361: +#990 @ 23,245: 26x25
1362: +#991 @ 882,630: 19x26
1363: +#992 @ 339,39: 11x18
1364: +#993 @ 505,167: 17x14
1365: +#994 @ 348,312: 17x15
1366: +#995 @ 442,801: 22x27
1367: +#996 @ 963,496: 10x14
1368: +#997 @ 658,50: 25x20
1369: +#998 @ 138,573: 25x21
1370: +#999 @ 819,101: 29x16
1371: +#1000 @ 470,160: 25x12
1372: +#1001 @ 973,681: 19x25
1373: +#1002 @ 756,596: 24x20
1374: +#1003 @ 87,295: 29x16
1375: +#1004 @ 745,538: 21x28
1376: +#1005 @ 390,199: 28x18
1377: +#1006 @ 829,339: 12x10
1378: +#1007 @ 687,814: 17x19
1379: +#1008 @ 277,661: 26x18
1380: +#1009 @ 145,538: 24x12
1381: +#1010 @ 534,31: 13x24
1382: +#1011 @ 459,349: 21x26
1383: +#1012 @ 447,98: 6x3
1384: +#1013 @ 643,769: 22x23
1385: +#1014 @ 813,85: 25x16
1386: +#1015 @ 364,922: 18x21
1387: +#1016 @ 419,628: 18x18
1388: +#1017 @ 43,683: 22x26
1389: +#1018 @ 749,752: 28x27
1390: +#1019 @ 774,69: 28x22
1391: +#1020 @ 940,438: 11x24
1392: +#1021 @ 218,941: 25x27
1393: +#1022 @ 609,213: 12x28
1394: +#1023 @ 333,753: 19x24
1395: +#1024 @ 115,255: 27x18
1396: +#1025 @ 153,459: 21x20
1397: +#1026 @ 809,650: 11x12
1398: +#1027 @ 883,745: 24x11
1399: +#1028 @ 473,915: 18x28
1400: +#1029 @ 362,179: 22x20
1401: +#1030 @ 440,909: 23x13
1402: +#1031 @ 943,198: 10x17
1403: +#1032 @ 194,834: 24x20
1404: +#1033 @ 727,774: 28x16
1405: +#1034 @ 882,639: 14x17
1406: +#1035 @ 385,416: 11x17
1407: +#1036 @ 895,312: 26x12
1408: +#1037 @ 597,569: 28x22
1409: +#1038 @ 482,924: 10x28
1410: +#1039 @ 858,384: 22x11
1411: +#1040 @ 900,417: 27x22
1412: +#1041 @ 884,432: 29x10
1413: +#1042 @ 576,424: 28x27
1414: +#1043 @ 833,176: 29x13
1415: +#1044 @ 508,703: 14x20
1416: +#1045 @ 759,343: 12x16
1417: +#1046 @ 803,510: 17x19
1418: +#1047 @ 36,34: 17x29
1419: +#1048 @ 280,569: 29x23
1420: +#1049 @ 162,858: 24x20
1421: +#1050 @ 647,492: 25x13
1422: +#1051 @ 595,535: 14x20
1423: +#1052 @ 749,692: 11x21
1424: +#1053 @ 876,13: 15x18
1425: +#1054 @ 696,644: 28x21
1426: +#1055 @ 958,237: 27x27
1427: +#1056 @ 588,230: 25x20
1428: +#1057 @ 97,782: 13x14
1429: +#1058 @ 410,816: 27x24
1430: +#1059 @ 959,498: 27x18
1431: +#1060 @ 915,274: 20x17
1432: +#1061 @ 226,267: 8x20
1433: +#1062 @ 888,307: 20x27
1434: +#1063 @ 609,983: 10x12
1435: +#1064 @ 959,676: 17x13
1436: +#1065 @ 249,603: 18x21
1437: +#1066 @ 507,159: 29x29
1438: +#1067 @ 846,490: 25x17
1439: +#1068 @ 131,672: 28x18
1440: +#1069 @ 153,487: 22x13
1441: +#1070 @ 713,426: 10x14
1442: +#1071 @ 334,584: 23x28
1443: +#1072 @ 721,228: 25x14
1444: +#1073 @ 591,142: 16x18
1445: +#1074 @ 236,359: 17x21
1446: +#1075 @ 490,939: 12x27
1447: +#1076 @ 643,139: 4x4
1448: +#1077 @ 915,599: 19x15
1449: +#1078 @ 237,278: 10x23
1450: +#1079 @ 124,444: 21x29
1451: +#1080 @ 663,415: 17x10
1452: +#1081 @ 954,599: 20x16
1453: +#1082 @ 584,450: 24x16
1454: +#1083 @ 974,918: 18x24
1455: +#1084 @ 202,931: 12x27
1456: +#1085 @ 502,921: 16x17
1457: +#1086 @ 231,720: 13x14
1458: +#1087 @ 665,135: 17x24
1459: +#1088 @ 962,217: 10x18
1460: +#1089 @ 164,886: 22x16
1461: +#1090 @ 128,239: 14x24
1462: +#1091 @ 361,439: 28x23
1463: +#1092 @ 363,413: 13x11
1464: +#1093 @ 448,701: 18x25
1465: +#1094 @ 413,235: 24x19
1466: +#1095 @ 47,180: 11x25
1467: +#1096 @ 615,515: 13x18
1468: +#1097 @ 188,690: 18x13
1469: +#1098 @ 399,66: 25x25
1470: +#1099 @ 96,698: 18x23
1471: +#1100 @ 940,174: 13x27
1472: +#1101 @ 319,508: 18x21
1473: +#1102 @ 122,539: 5x17
1474: +#1103 @ 620,222: 11x21
1475: +#1104 @ 245,214: 22x15
1476: +#1105 @ 432,28: 27x17
1477: +#1106 @ 844,284: 26x12
1478: +#1107 @ 268,490: 29x23
1479: +#1108 @ 186,463: 27x16
1480: +#1109 @ 338,26: 12x13
1481: +#1110 @ 191,467: 10x24
1482: +#1111 @ 1,840: 16x20
1483: +#1112 @ 635,503: 12x12
1484: +#1113 @ 463,344: 10x18
1485: +#1114 @ 830,188: 18x17
1486: +#1115 @ 268,57: 21x16
1487: +#1116 @ 681,464: 27x13
1488: +#1117 @ 133,657: 17x23
1489: +#1118 @ 200,859: 23x27
1490: +#1119 @ 740,421: 12x19
1491: +#1120 @ 33,104: 13x14
1492: +#1121 @ 167,642: 22x11
1493: +#1122 @ 711,303: 19x20
1494: +#1123 @ 704,860: 10x19
1495: +#1124 @ 377,635: 24x17
1496: +#1125 @ 425,858: 18x25
1497: +#1126 @ 352,417: 18x18
1498: +#1127 @ 200,365: 13x13
1499: +#1128 @ 785,831: 14x25
1500: +#1129 @ 330,960: 21x25
1501: +#1130 @ 232,214: 14x29
1502: +#1131 @ 914,984: 16x13
1503: +#1132 @ 485,705: 21x11
1504: +#1133 @ 907,987: 20x13
1505: +#1134 @ 171,369: 19x22
1506: +#1135 @ 916,518: 26x15
1507: +#1136 @ 279,275: 22x11
1508: +#1137 @ 361,172: 17x23
1509: +#1138 @ 955,668: 28x19
1510: +#1139 @ 855,282: 29x19
1511: +#1140 @ 442,666: 17x18
1512: +#1141 @ 41,59: 18x24
1513: +#1142 @ 260,792: 23x27
1514: +#1143 @ 652,383: 12x20
1515: +#1144 @ 571,454: 26x28
1516: +#1145 @ 295,434: 16x10
1517: +#1146 @ 744,906: 25x11
1518: +#1147 @ 894,499: 27x15
1519: +#1148 @ 678,694: 19x19
1520: +#1149 @ 215,855: 22x25
1521: +#1150 @ 224,265: 27x25
1522: +#1151 @ 812,657: 11x29
1523: +#1152 @ 251,519: 15x28
1524: +#1153 @ 300,627: 28x28
1525: +#1154 @ 832,651: 15x21
1526: +#1155 @ 682,675: 28x21
1527: +#1156 @ 248,929: 21x10
1528: +#1157 @ 151,529: 15x27
1529: +#1158 @ 243,844: 25x13
1530: +#1159 @ 415,538: 12x16
1531: +#1160 @ 590,151: 29x23
1532: +#1161 @ 132,214: 17x14
1533: +#1162 @ 240,675: 16x23
1534: +#1163 @ 962,24: 28x26
1535: +#1164 @ 598,571: 25x22
1536: +#1165 @ 544,478: 21x22
1537: +#1166 @ 701,529: 15x25
1538: +#1167 @ 245,49: 26x29
1539: +#1168 @ 641,415: 29x26
1540: +#1169 @ 134,394: 26x21
1541: +#1170 @ 671,363: 20x29
1542: +#1171 @ 715,434: 15x28
1543: +#1172 @ 628,721: 21x27
1544: +#1173 @ 175,767: 27x29
1545: +#1174 @ 790,515: 21x14
1546: +#1175 @ 320,714: 17x27
1547: +#1176 @ 807,143: 14x26
1548: +#1177 @ 487,238: 16x19
1549: +#1178 @ 397,913: 15x19
1550: +#1179 @ 3,574: 26x28
1551: +#1180 @ 961,106: 23x17
1552: +#1181 @ 497,921: 16x27
1553: +#1182 @ 471,331: 28x16
1554: +#1183 @ 115,319: 23x25
1555: +#1184 @ 316,291: 14x26
1556: +#1185 @ 321,861: 14x12
1557: +#1186 @ 64,362: 29x12
1558: +#1187 @ 412,639: 22x16
1559: +#1188 @ 549,105: 25x21
1560: +#1189 @ 756,727: 15x11
1561: +#1190 @ 929,702: 29x25
1562: +#1191 @ 946,507: 17x11
1563: +#1192 @ 446,73: 20x27
1564: +#1193 @ 937,334: 24x10
1565: +#1194 @ 121,121: 20x12
1566: +#1195 @ 258,241: 26x23
1567: +#1196 @ 555,474: 12x10
1568: +#1197 @ 886,26: 22x12
1569: +#1198 @ 356,501: 23x18
1570: +#1199 @ 343,304: 17x11
1571: +#1200 @ 776,19: 11x14
1572: +#1201 @ 475,318: 10x14
1573: +#1202 @ 923,108: 25x11
1574: +#1203 @ 240,641: 25x26
1575: +#1204 @ 793,839: 18x11
1576: +#1205 @ 737,874: 17x22
1577: +#1206 @ 728,323: 24x13
1578: +#1207 @ 128,560: 11x23
1579: +#1208 @ 129,112: 22x24
1580: +#1209 @ 592,544: 18x12
1581: +#1210 @ 971,491: 10x25
1582: +#1211 @ 352,13: 26x20
1583: +#1212 @ 237,547: 12x14
1584: +#1213 @ 670,312: 10x24
1585: +#1214 @ 488,194: 14x29
1586: +#1215 @ 792,687: 26x26
1587: +#1216 @ 240,727: 17x17
1588: +#1217 @ 419,71: 10x22
1589: +#1218 @ 398,161: 23x20
1590: +#1219 @ 218,352: 22x13
1591: +#1220 @ 312,272: 15x29
1592: +#1221 @ 759,458: 21x23
1593: +#1222 @ 588,579: 17x14
1594: +#1223 @ 809,131: 14x11
1595: +#1224 @ 618,702: 27x16
1596: +#1225 @ 495,724: 6x18
1597: +#1226 @ 130,955: 12x10
1598: +#1227 @ 830,85: 13x22
1599: +#1228 @ 864,108: 19x20
1600: +#1229 @ 650,836: 23x17
1601: +#1230 @ 634,770: 23x10
1602: +#1231 @ 815,821: 17x24
1603: +#1232 @ 974,396: 11x13
1604: +#1233 @ 277,792: 23x22
1605: +#1234 @ 355,935: 26x10
1606: +#1235 @ 971,18: 19x17
1607: +#1236 @ 174,955: 15x23
1608: +#1237 @ 76,697: 24x25
1609: +#1238 @ 336,421: 19x20
1610: +#1239 @ 108,402: 23x12
1611: +#1240 @ 724,407: 28x19
1612: +#1241 @ 222,274: 24x15
1613: +#1242 @ 900,330: 20x15
1614: +#1243 @ 650,853: 13x10
1615: +#1244 @ 987,903: 12x14
1616: +#1245 @ 225,826: 15x17
1617: +#1246 @ 399,926: 26x20
1618: +#1247 @ 318,625: 10x21
1619: +#1248 @ 503,167: 21x11
1620: +#1249 @ 176,120: 19x13
1621: +#1250 @ 679,440: 15x29
1622: +#1251 @ 70,187: 12x23
1623: +#1252 @ 348,957: 21x16
1624: +#1253 @ 253,265: 13x18
1625: +#1254 @ 691,893: 24x17
1626: +#1255 @ 485,605: 16x11
1627: +#1256 @ 173,857: 22x17
1628: +#1257 @ 933,855: 13x23
1629: +#1258 @ 523,25: 24x24
1630: +#1259 @ 567,491: 21x12
1631: +#1260 @ 787,972: 21x10
1632: +#1261 @ 85,823: 28x25
1633: +#1262 @ 431,810: 23x24
1634: +#1263 @ 258,71: 15x14
1635: +#1264 @ 330,26: 24x20
1636: +#1265 @ 385,180: 29x15
1637: +#1266 @ 149,624: 26x15
1638: +#1267 @ 949,564: 25x16
1639: +#1268 @ 257,900: 25x14
1640: +#1269 @ 638,46: 14x19
1641: +#1270 @ 711,537: 12x14
1642: +#1271 @ 418,285: 12x19
1643: +#1272 @ 477,191: 18x22
1644: +#1273 @ 0,826: 20x16
1645: +#1274 @ 681,790: 22x25
1646: +#1275 @ 214,28: 27x29
1647: +#1276 @ 646,539: 15x22
1648: +#1277 @ 651,49: 14x14
1649: +#1278 @ 641,209: 15x5
1650: +#1279 @ 792,710: 27x25
1651: +#1280 @ 515,859: 24x17
1652: +#1281 @ 888,541: 19x29
1653: +#1282 @ 977,504: 17x16
1654: +#1283 @ 553,394: 27x21
1655: +#1284 @ 951,507: 20x26
1656: +#1285 @ 429,871: 21x24