Last active
December 30, 2019 15:04
-
-
Save tovask/588182bb2a07978da6f72fe1c42d6aea to your computer and use it in GitHub Desktop.
solutions for AdventOfCode2017 in Swift https://adventofcode.com/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func part1(digits: String){ | |
| //print("solving \(digits): \n\t",terminator: "") | |
| let chars = digits.characters.map { String($0) } | |
| var sum = 0 | |
| for i in stride(from: 0, to: chars.count, by: 1) { | |
| if Int( chars[i] )! == Int( chars[ (i+1) % chars.count] )! { | |
| //print( Int( chars[i] )! ) | |
| sum = sum + Int( chars[i] )! | |
| } | |
| } | |
| print(sum) | |
| } | |
| func part2(digits: String){ | |
| //print("solving \(digits): \n\t",terminator: "") | |
| let chars = digits.characters.map { String($0) } | |
| var sum = 0 | |
| print(chars.count/2,terminator: " ") | |
| for i in stride(from: 0, to: chars.count, by: 1) { | |
| if Int( chars[ (i) % chars.count ] )! == Int( chars[(i+chars.count/2) % chars.count] )! { | |
| //print( Int( chars[i] )! ) | |
| sum = sum + Int( chars[i] )! | |
| } | |
| } | |
| print(sum) | |
| } | |
| let tests1 = ["1122","1111","1234","91212129","818275977931166178424892653779931342156567268946849597948944469863818248114327524824136924486891794739281668741616818614613222585132742386168687517939432911753846817997473555693821316918473474459788714917665794336753628836231159578734813485687247273288926216976992516314415836985611354682821892793983922755395577592859959966574329787693934242233159947846757279523939217844194346599494858459582798326799512571365294673978955928416955127211624234143497546729348687844317864243859238665326784414349618985832259224761857371389133635711819476969854584123589566163491796442167815899539788237118339218699137497532932492226948892362554937381497389469981346971998271644362944839883953967698665427314592438958181697639594631142991156327257413186621923369632466918836951277519421695264986942261781256412377711245825379412978876134267384793694756732246799739464721215446477972737883445615664755923441441781128933369585655925615257548499628878242122434979197969569971961379367756499884537433839217835728263798431874654317137955175565253555735968376115749641527957935691487965161211853476747758982854811367422656321836839326818976668191525884763294465366151349347633968321457954152621175837754723675485348339261288195865348545793575843874731785852718281311481217515834822185477982342271937155479432673815629144664144538221768992733498856934255518875381672342521819499939835919827166318715849161715775427981485233467222586764392783699273452228728667175488552924399518855743923659815483988899924199449721321589476864161778841352853573584489497263216627369841455165476954483715112127465311353411346132671561568444626828453687183385215975319858714144975174516356117245993696521941589168394574287785233685284294357548156487538175462176268162852746996633977948755296869616778577327951858348313582783675149343562362974553976147259225311183729415381527435926224781181987111454447371894645359797229493458443522549386769845742557644349554641538488252581267341635761715674381775778868374988451463624332123361576518411234438681171864923916896987836734129295354684962897616358722633724198278552339794629939574841672355699222747886785616814449297817352118452284785694551841431869545321438468118"] | |
| for test in tests1 { | |
| part1(digits: test) | |
| } | |
| let tests2 = ["1212","1221","123425","123123","12131415","818275977931166178424892653779931342156567268946849597948944469863818248114327524824136924486891794739281668741616818614613222585132742386168687517939432911753846817997473555693821316918473474459788714917665794336753628836231159578734813485687247273288926216976992516314415836985611354682821892793983922755395577592859959966574329787693934242233159947846757279523939217844194346599494858459582798326799512571365294673978955928416955127211624234143497546729348687844317864243859238665326784414349618985832259224761857371389133635711819476969854584123589566163491796442167815899539788237118339218699137497532932492226948892362554937381497389469981346971998271644362944839883953967698665427314592438958181697639594631142991156327257413186621923369632466918836951277519421695264986942261781256412377711245825379412978876134267384793694756732246799739464721215446477972737883445615664755923441441781128933369585655925615257548499628878242122434979197969569971961379367756499884537433839217835728263798431874654317137955175565253555735968376115749641527957935691487965161211853476747758982854811367422656321836839326818976668191525884763294465366151349347633968321457954152621175837754723675485348339261288195865348545793575843874731785852718281311481217515834822185477982342271937155479432673815629144664144538221768992733498856934255518875381672342521819499939835919827166318715849161715775427981485233467222586764392783699273452228728667175488552924399518855743923659815483988899924199449721321589476864161778841352853573584489497263216627369841455165476954483715112127465311353411346132671561568444626828453687183385215975319858714144975174516356117245993696521941589168394574287785233685284294357548156487538175462176268162852746996633977948755296869616778577327951858348313582783675149343562362974553976147259225311183729415381527435926224781181987111454447371894645359797229493458443522549386769845742557644349554641538488252581267341635761715674381775778868374988451463624332123361576518411234438681171864923916896987836734129295354684962897616358722633724198278552339794629939574841672355699222747886785616814449297817352118452284785694551841431869545321438468118"] | |
| for test in tests2 { | |
| part2(digits: test) | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #if os(Linux) | |
| import Glibc | |
| #else | |
| import Darwin.C | |
| #endif | |
| setbuf(stdout, nil); // turn off buffering (just for debugging) | |
| import Foundation | |
| var data: [ Int : [Int] ] = [:] | |
| while let line = readLine() { | |
| if line.count <= 0 { | |
| continue | |
| } | |
| let side = line.components(separatedBy: "<->") | |
| data[Int(side[0].trimmingCharacters(in:CharacterSet.whitespaces))!] = | |
| side[1].characters.split(separator:",").map{ | |
| Int(String($0).trimmingCharacters(in:CharacterSet.whitespaces))! | |
| }; | |
| } | |
| print(data[1999]!) | |
| var sum = 0 | |
| var moved = true | |
| while moved { | |
| sum+=1 | |
| print("round \(sum)") | |
| moved = false | |
| for (num, mates) in data { | |
| for i in mates { | |
| if !data[i]!.contains(num) { | |
| moved = true | |
| data[i]!.append(num) | |
| } | |
| for j in mates { | |
| if i>j && !data[i]!.contains(j) { | |
| moved = true | |
| data[i]!.append(j) | |
| } | |
| } | |
| } | |
| if num%300==0 { | |
| print("num \(num)") | |
| } | |
| } | |
| } | |
| print(data[1999]!) | |
| /* | |
| for i in range(0,2000): | |
| for j in data[i]: | |
| if j<i and j in data: | |
| del data[j] | |
| for i in range(0,2000): | |
| print i, | |
| if i in data: | |
| print sorted(data[i]) | |
| else: | |
| print '-' | |
| print len(data) | |
| print sum | |
| */ | |
| /* | |
| stdin: | |
| 0 <-> 889, 1229, 1736 | |
| 1 <-> 1, 480, 793, 1361 | |
| 2 <-> 607 | |
| 3 <-> 273, 422 | |
| 4 <-> 965, 1052, 1130, 1591 | |
| 5 <-> 1998 | |
| 6 <-> 483, 1628 | |
| 7 <-> 1012, 1242, 1244, 1491 | |
| 8 <-> 524 | |
| 9 <-> 13, 281, 1498 | |
| 10 <-> 10 | |
| 11 <-> 1956 | |
| 12 <-> 598, 621, 1210 | |
| 13 <-> 9 | |
| 14 <-> 1728 | |
| 15 <-> 912, 1461 | |
| 16 <-> 1489, 1680, 1994 | |
| 17 <-> 854 | |
| 18 <-> 1157, 1299 | |
| 19 <-> 759 | |
| 20 <-> 1352, 1831 | |
| 21 <-> 1425 | |
| 22 <-> 470, 685, 857, 1526 | |
| 23 <-> 405 | |
| 24 <-> 43, 536, 1849 | |
| 25 <-> 1674 | |
| 26 <-> 26, 1738 | |
| 27 <-> 558 | |
| 28 <-> 1863 | |
| 29 <-> 154, 649, 1818 | |
| 30 <-> 721, 1366 | |
| 31 <-> 725 | |
| 32 <-> 413, 880, 903 | |
| 33 <-> 414, 442, 1403 | |
| 34 <-> 489, 1308 | |
| 35 <-> 385, 1254, 1464 | |
| 36 <-> 167, 1013, 1860 | |
| 37 <-> 535 | |
| 38 <-> 605, 1297 | |
| 39 <-> 680, 1408, 1982 | |
| 40 <-> 169, 615, 952, 1547 | |
| 41 <-> 644, 991, 1319, 1509 | |
| 42 <-> 453, 1315 | |
| 43 <-> 24, 200, 805 | |
| 44 <-> 919, 1083 | |
| 45 <-> 500 | |
| 46 <-> 1532, 1550 | |
| 47 <-> 910, 1837 | |
| 48 <-> 1849 | |
| 49 <-> 542, 1945 | |
| 50 <-> 57, 660 | |
| 51 <-> 354, 934 | |
| 52 <-> 1212 | |
| 53 <-> 569 | |
| 54 <-> 706 | |
| 55 <-> 55, 114, 1077 | |
| 56 <-> 1453 | |
| 57 <-> 50, 1438 | |
| 58 <-> 616, 738 | |
| 59 <-> 1242 | |
| 60 <-> 312, 523, 648 | |
| 61 <-> 748, 1780, 1965 | |
| 62 <-> 1533, 1909 | |
| 63 <-> 562, 661, 1016 | |
| 64 <-> 280, 300, 677 | |
| 65 <-> 661, 698, 1881 | |
| 66 <-> 283, 440 | |
| 67 <-> 382, 421 | |
| 68 <-> 986, 1592, 1824 | |
| 69 <-> 541, 1363 | |
| 70 <-> 266, 1855 | |
| 71 <-> 371, 433, 1055, 1682 | |
| 72 <-> 793 | |
| 73 <-> 73 | |
| 74 <-> 1139 | |
| 75 <-> 770, 1190, 1409, 1433, 1886 | |
| 76 <-> 1135 | |
| 77 <-> 492, 1771 | |
| 78 <-> 575, 1107, 1596, 1670 | |
| 79 <-> 1374 | |
| 80 <-> 1168, 1519 | |
| 81 <-> 1258 | |
| 82 <-> 919, 1519, 1768 | |
| 83 <-> 1463 | |
| 84 <-> 684 | |
| 85 <-> 517, 1655 | |
| 86 <-> 1226 | |
| 87 <-> 1700 | |
| 88 <-> 523, 1292, 1939 | |
| 89 <-> 177, 1695, 1706 | |
| 90 <-> 400, 1683 | |
| 91 <-> 194 | |
| 92 <-> 106, 1546 | |
| 93 <-> 104 | |
| 94 <-> 501, 1686 | |
| 95 <-> 285, 1985 | |
| 96 <-> 402, 770 | |
| 97 <-> 196 | |
| 98 <-> 318, 1827 | |
| 99 <-> 220, 1272, 1766, 1802 | |
| 100 <-> 1105 | |
| 101 <-> 380, 957 | |
| 102 <-> 1305, 1483 | |
| 103 <-> 262, 481, 621 | |
| 104 <-> 93, 708, 1731 | |
| 105 <-> 282 | |
| 106 <-> 92, 901 | |
| 107 <-> 553, 742, 1833 | |
| 108 <-> 480, 1140 | |
| 109 <-> 1247 | |
| 110 <-> 1549 | |
| 111 <-> 1283 | |
| 112 <-> 1503, 1963 | |
| 113 <-> 819, 1601 | |
| 114 <-> 55, 593, 1020 | |
| 115 <-> 324 | |
| 116 <-> 378 | |
| 117 <-> 1534 | |
| 118 <-> 1740, 1836 | |
| 119 <-> 1223, 1283 | |
| 120 <-> 435, 1063 | |
| 121 <-> 404, 939 | |
| 122 <-> 294, 360, 1809 | |
| 123 <-> 1166 | |
| 124 <-> 1988 | |
| 125 <-> 163 | |
| 126 <-> 126 | |
| 127 <-> 255, 754 | |
| 128 <-> 634, 969 | |
| 129 <-> 563, 1732, 1926 | |
| 130 <-> 1196 | |
| 131 <-> 1019, 1429 | |
| 132 <-> 1287, 1417 | |
| 133 <-> 1453 | |
| 134 <-> 184, 786 | |
| 135 <-> 647 | |
| 136 <-> 260, 306 | |
| 137 <-> 1342 | |
| 138 <-> 292 | |
| 139 <-> 1265 | |
| 140 <-> 613 | |
| 141 <-> 1001, 1217 | |
| 142 <-> 142, 1901 | |
| 143 <-> 758, 822, 1533 | |
| 144 <-> 866, 930, 1197, 1443, 1665 | |
| 145 <-> 1672 | |
| 146 <-> 1937 | |
| 147 <-> 1409, 1697 | |
| 148 <-> 608, 954, 1624 | |
| 149 <-> 527, 652, 1938 | |
| 150 <-> 709 | |
| 151 <-> 447, 1305, 1314 | |
| 152 <-> 1741 | |
| 153 <-> 901, 1997 | |
| 154 <-> 29, 929 | |
| 155 <-> 1178, 1976 | |
| 156 <-> 560 | |
| 157 <-> 522 | |
| 158 <-> 541 | |
| 159 <-> 1212, 1878 | |
| 160 <-> 1078 | |
| 161 <-> 1128, 1913 | |
| 162 <-> 588, 734 | |
| 163 <-> 125, 1073, 1952 | |
| 164 <-> 1156 | |
| 165 <-> 1781 | |
| 166 <-> 1692 | |
| 167 <-> 36, 1637 | |
| 168 <-> 1043, 1085 | |
| 169 <-> 40, 334, 1257, 1313 | |
| 170 <-> 170 | |
| 171 <-> 171 | |
| 172 <-> 1391 | |
| 173 <-> 925 | |
| 174 <-> 1733 | |
| 175 <-> 175, 1466 | |
| 176 <-> 726, 1182 | |
| 177 <-> 89, 1100 | |
| 178 <-> 611, 1141 | |
| 179 <-> 1036, 1307 | |
| 180 <-> 1556 | |
| 181 <-> 1930 | |
| 182 <-> 775, 1284 | |
| 183 <-> 1907 | |
| 184 <-> 134, 1981 | |
| 185 <-> 255, 1278 | |
| 186 <-> 1891 | |
| 187 <-> 531, 1318 | |
| 188 <-> 790, 1623 | |
| 189 <-> 379, 1749, 1865 | |
| 190 <-> 1103, 1676 | |
| 191 <-> 534 | |
| 192 <-> 477 | |
| 193 <-> 193, 860 | |
| 194 <-> 91, 710, 1780 | |
| 195 <-> 290, 1383, 1510 | |
| 196 <-> 97, 1664 | |
| 197 <-> 1416 | |
| 198 <-> 287, 1760 | |
| 199 <-> 366 | |
| 200 <-> 43 | |
| 201 <-> 813, 1882 | |
| 202 <-> 246, 1175 | |
| 203 <-> 203, 1007 | |
| 204 <-> 204, 923 | |
| 205 <-> 924 | |
| 206 <-> 1162, 1818 | |
| 207 <-> 365, 487, 923 | |
| 208 <-> 1281, 1290 | |
| 209 <-> 1280 | |
| 210 <-> 210, 288, 1333 | |
| 211 <-> 211, 417, 754 | |
| 212 <-> 1698 | |
| 213 <-> 1626 | |
| 214 <-> 1256 | |
| 215 <-> 215, 1385, 1671 | |
| 216 <-> 811, 1025 | |
| 217 <-> 554, 1715 | |
| 218 <-> 1483 | |
| 219 <-> 1741 | |
| 220 <-> 99, 530, 1081, 1319, 1801 | |
| 221 <-> 804, 1144 | |
| 222 <-> 1288, 1702 | |
| 223 <-> 223, 1231 | |
| 224 <-> 649, 1179 | |
| 225 <-> 1271, 1776 | |
| 226 <-> 226, 1991 | |
| 227 <-> 496, 857, 1004, 1821 | |
| 228 <-> 371, 500 | |
| 229 <-> 1162 | |
| 230 <-> 693, 1081 | |
| 231 <-> 506, 973 | |
| 232 <-> 859, 969, 1922 | |
| 233 <-> 233 | |
| 234 <-> 875, 1006 | |
| 235 <-> 1035, 1998 | |
| 236 <-> 236 | |
| 237 <-> 289, 569, 1440 | |
| 238 <-> 1249, 1923 | |
| 239 <-> 1564, 1775, 1944 | |
| 240 <-> 1888 | |
| 241 <-> 951, 1874 | |
| 242 <-> 825 | |
| 243 <-> 384, 983, 1838 | |
| 244 <-> 715, 1501 | |
| 245 <-> 592, 671 | |
| 246 <-> 202, 391, 632, 656 | |
| 247 <-> 663 | |
| 248 <-> 253, 752 | |
| 249 <-> 1073, 1558 | |
| 250 <-> 290 | |
| 251 <-> 792, 1389 | |
| 252 <-> 797 | |
| 253 <-> 248, 771 | |
| 254 <-> 254, 1047 | |
| 255 <-> 127, 185, 369 | |
| 256 <-> 623 | |
| 257 <-> 1636, 1740 | |
| 258 <-> 317 | |
| 259 <-> 1775 | |
| 260 <-> 136, 561, 1290 | |
| 261 <-> 359, 1657 | |
| 262 <-> 103, 697, 1074 | |
| 263 <-> 1205 | |
| 264 <-> 1779, 1782 | |
| 265 <-> 1407 | |
| 266 <-> 70, 1215, 1306 | |
| 267 <-> 333, 790 | |
| 268 <-> 603 | |
| 269 <-> 269, 1497 | |
| 270 <-> 270, 1613 | |
| 271 <-> 1416, 1562, 1923 | |
| 272 <-> 579, 894 | |
| 273 <-> 3, 993 | |
| 274 <-> 333 | |
| 275 <-> 1188 | |
| 276 <-> 535, 645, 1166, 1269 | |
| 277 <-> 1369 | |
| 278 <-> 744, 1717 | |
| 279 <-> 349, 695, 985, 1096 | |
| 280 <-> 64, 1516 | |
| 281 <-> 9, 427, 768, 1468 | |
| 282 <-> 105, 867 | |
| 283 <-> 66, 1235, 1525, 1748 | |
| 284 <-> 530 | |
| 285 <-> 95, 800, 1191 | |
| 286 <-> 339, 611, 1581 | |
| 287 <-> 198, 1285, 1501 | |
| 288 <-> 210, 1059 | |
| 289 <-> 237, 1928 | |
| 290 <-> 195, 250, 1934 | |
| 291 <-> 337, 1902 | |
| 292 <-> 138, 1805, 1849 | |
| 293 <-> 906 | |
| 294 <-> 122, 1582 | |
| 295 <-> 602 | |
| 296 <-> 778 | |
| 297 <-> 471, 483 | |
| 298 <-> 298 | |
| 299 <-> 402, 729 | |
| 300 <-> 64, 1002 | |
| 301 <-> 856 | |
| 302 <-> 1084, 1538, 1739 | |
| 303 <-> 892, 1774 | |
| 304 <-> 1029, 1350 | |
| 305 <-> 521, 1628, 1902 | |
| 306 <-> 136, 469, 653, 835 | |
| 307 <-> 981 | |
| 308 <-> 1997 | |
| 309 <-> 1612 | |
| 310 <-> 1338, 1571 | |
| 311 <-> 1388 | |
| 312 <-> 60 | |
| 313 <-> 1557 | |
| 314 <-> 886, 1704 | |
| 315 <-> 672, 779 | |
| 316 <-> 1062, 1906 | |
| 317 <-> 258, 1290 | |
| 318 <-> 98, 318 | |
| 319 <-> 1974 | |
| 320 <-> 839 | |
| 321 <-> 395, 615, 909, 1046 | |
| 322 <-> 1077, 1390, 1989 | |
| 323 <-> 323, 773, 1571 | |
| 324 <-> 115, 493, 511, 650 | |
| 325 <-> 325 | |
| 326 <-> 1944, 1972 | |
| 327 <-> 1489 | |
| 328 <-> 412, 468 | |
| 329 <-> 1637 | |
| 330 <-> 556, 1176 | |
| 331 <-> 656 | |
| 332 <-> 564, 1688 | |
| 333 <-> 267, 274, 421, 1205, 1743 | |
| 334 <-> 169, 1896 | |
| 335 <-> 1176 | |
| 336 <-> 638, 1408, 1633 | |
| 337 <-> 291, 844, 1549 | |
| 338 <-> 515 | |
| 339 <-> 286 | |
| 340 <-> 340, 1959 | |
| 341 <-> 943 | |
| 342 <-> 417, 638, 1116, 1536 | |
| 343 <-> 1030 | |
| 344 <-> 584, 1751 | |
| 345 <-> 345, 1810 | |
| 346 <-> 346 | |
| 347 <-> 587 | |
| 348 <-> 515, 1187 | |
| 349 <-> 279, 349 | |
| 350 <-> 1749 | |
| 351 <-> 1030, 1097 | |
| 352 <-> 352 | |
| 353 <-> 353, 683 | |
| 354 <-> 51, 354, 735 | |
| 355 <-> 1362 | |
| 356 <-> 1593 | |
| 357 <-> 357 | |
| 358 <-> 441, 501, 899, 1672 | |
| 359 <-> 261 | |
| 360 <-> 122, 360, 1234, 1927 | |
| 361 <-> 736 | |
| 362 <-> 1169 | |
| 363 <-> 780 | |
| 364 <-> 444, 905, 1049, 1911 | |
| 365 <-> 207 | |
| 366 <-> 199, 1469 | |
| 367 <-> 1612 | |
| 368 <-> 675, 1800 | |
| 369 <-> 255 | |
| 370 <-> 370, 873, 962, 1238 | |
| 371 <-> 71, 228, 456 | |
| 372 <-> 1912 | |
| 373 <-> 1318 | |
| 374 <-> 1018, 1246 | |
| 375 <-> 898, 1303 | |
| 376 <-> 376, 573 | |
| 377 <-> 1080 | |
| 378 <-> 116, 1140 | |
| 379 <-> 189, 1984 | |
| 380 <-> 101 | |
| 381 <-> 472, 827, 1097 | |
| 382 <-> 67 | |
| 383 <-> 383, 582 | |
| 384 <-> 243, 432, 444, 569, 634 | |
| 385 <-> 35 | |
| 386 <-> 1496 | |
| 387 <-> 637, 737, 756, 1293 | |
| 388 <-> 1562 | |
| 389 <-> 633 | |
| 390 <-> 488 | |
| 391 <-> 246, 853, 1422 | |
| 392 <-> 1253, 1331 | |
| 393 <-> 921, 1567, 1777, 1970 | |
| 394 <-> 809 | |
| 395 <-> 321, 798, 1040 | |
| 396 <-> 746, 1332 | |
| 397 <-> 400, 953 | |
| 398 <-> 1958 | |
| 399 <-> 399 | |
| 400 <-> 90, 397, 808, 1485 | |
| 401 <-> 1395 | |
| 402 <-> 96, 299, 1388 | |
| 403 <-> 716 | |
| 404 <-> 121 | |
| 405 <-> 23, 934, 1221 | |
| 406 <-> 1007 | |
| 407 <-> 1391 | |
| 408 <-> 497, 1090, 1644 | |
| 409 <-> 1479 | |
| 410 <-> 793, 1977 | |
| 411 <-> 1026 | |
| 412 <-> 328, 581, 806 | |
| 413 <-> 32, 1354 | |
| 414 <-> 33, 1920 | |
| 415 <-> 799, 1207, 1880 | |
| 416 <-> 1862 | |
| 417 <-> 211, 342, 589, 1858 | |
| 418 <-> 556, 1437, 1490 | |
| 419 <-> 1393 | |
| 420 <-> 420 | |
| 421 <-> 67, 333, 1813 | |
| 422 <-> 3, 706, 1598, 1721 | |
| 423 <-> 1834 | |
| 424 <-> 854, 1442 | |
| 425 <-> 855, 1080 | |
| 426 <-> 1408, 1469 | |
| 427 <-> 281 | |
| 428 <-> 832, 1998 | |
| 429 <-> 553, 657, 834 | |
| 430 <-> 1466 | |
| 431 <-> 1357 | |
| 432 <-> 384 | |
| 433 <-> 71 | |
| 434 <-> 434, 489, 1137 | |
| 435 <-> 120 | |
| 436 <-> 972, 1461 | |
| 437 <-> 550 | |
| 438 <-> 486, 844 | |
| 439 <-> 978 | |
| 440 <-> 66, 705, 1850 | |
| 441 <-> 358, 589, 783, 804, 1129 | |
| 442 <-> 33, 497 | |
| 443 <-> 1806 | |
| 444 <-> 364, 384, 1698 | |
| 445 <-> 1208, 1294, 1452 | |
| 446 <-> 1143, 1452 | |
| 447 <-> 151, 1072 | |
| 448 <-> 448 | |
| 449 <-> 997, 1829 | |
| 450 <-> 1277 | |
| 451 <-> 1531, 1866 | |
| 452 <-> 1175, 1622, 1975 | |
| 453 <-> 42, 1486 | |
| 454 <-> 689 | |
| 455 <-> 1497 | |
| 456 <-> 371, 1577 | |
| 457 <-> 702 | |
| 458 <-> 461, 921, 1279 | |
| 459 <-> 1004 | |
| 460 <-> 485, 505, 1211, 1451 | |
| 461 <-> 458, 541, 916, 1844 | |
| 462 <-> 1281 | |
| 463 <-> 856, 1481 | |
| 464 <-> 602, 1476, 1553 | |
| 465 <-> 543, 1566 | |
| 466 <-> 847, 1593 | |
| 467 <-> 1270 | |
| 468 <-> 328, 829 | |
| 469 <-> 306, 667, 720, 1931 | |
| 470 <-> 22 | |
| 471 <-> 297 | |
| 472 <-> 381 | |
| 473 <-> 473 | |
| 474 <-> 599, 1146 | |
| 475 <-> 1570, 1894 | |
| 476 <-> 1145 | |
| 477 <-> 192, 1193, 1690 | |
| 478 <-> 1469, 1840 | |
| 479 <-> 1684 | |
| 480 <-> 1, 108 | |
| 481 <-> 103, 963 | |
| 482 <-> 1778 | |
| 483 <-> 6, 297, 1662 | |
| 484 <-> 1435 | |
| 485 <-> 460 | |
| 486 <-> 438 | |
| 487 <-> 207, 998, 1185 | |
| 488 <-> 390, 1231, 1668 | |
| 489 <-> 34, 434, 1341 | |
| 490 <-> 990, 1203 | |
| 491 <-> 936 | |
| 492 <-> 77 | |
| 493 <-> 324 | |
| 494 <-> 1984 | |
| 495 <-> 495, 1954 | |
| 496 <-> 227 | |
| 497 <-> 408, 442, 1551 | |
| 498 <-> 1704, 1788 | |
| 499 <-> 836 | |
| 500 <-> 45, 228, 1358, 1798 | |
| 501 <-> 94, 358, 1559 | |
| 502 <-> 951 | |
| 503 <-> 1036 | |
| 504 <-> 1303 | |
| 505 <-> 460 | |
| 506 <-> 231, 606, 1473 | |
| 507 <-> 1109 | |
| 508 <-> 1724 | |
| 509 <-> 1644 | |
| 510 <-> 848 | |
| 511 <-> 324, 1036 | |
| 512 <-> 523 | |
| 513 <-> 809, 1294 | |
| 514 <-> 785 | |
| 515 <-> 338, 348, 1027, 1193, 1226 | |
| 516 <-> 1988 | |
| 517 <-> 85, 1482 | |
| 518 <-> 518 | |
| 519 <-> 1625 | |
| 520 <-> 520 | |
| 521 <-> 305, 1033 | |
| 522 <-> 157, 1355, 1476, 1588 | |
| 523 <-> 60, 88, 512 | |
| 524 <-> 8, 1998 | |
| 525 <-> 990, 1275 | |
| 526 <-> 1310, 1552 | |
| 527 <-> 149, 979, 1805 | |
| 528 <-> 698 | |
| 529 <-> 631, 970 | |
| 530 <-> 220, 284, 1533, 1944 | |
| 531 <-> 187, 551, 1168, 1574 | |
| 532 <-> 1484 | |
| 533 <-> 892 | |
| 534 <-> 191, 879 | |
| 535 <-> 37, 276, 1527 | |
| 536 <-> 24, 1094 | |
| 537 <-> 747, 952 | |
| 538 <-> 1620, 1735 | |
| 539 <-> 858, 1467 | |
| 540 <-> 1263, 1572 | |
| 541 <-> 69, 158, 461 | |
| 542 <-> 49, 1384 | |
| 543 <-> 465, 639, 873 | |
| 544 <-> 1338 | |
| 545 <-> 1967 | |
| 546 <-> 806, 1239 | |
| 547 <-> 792, 1039, 1078 | |
| 548 <-> 548, 1891, 1941 | |
| 549 <-> 861 | |
| 550 <-> 437, 1209, 1967 | |
| 551 <-> 531, 888, 896 | |
| 552 <-> 798 | |
| 553 <-> 107, 429, 1330, 1951 | |
| 554 <-> 217 | |
| 555 <-> 744, 947, 1246 | |
| 556 <-> 330, 418, 1070, 1925 | |
| 557 <-> 1826, 1854 | |
| 558 <-> 27, 1629 | |
| 559 <-> 1042, 1150 | |
| 560 <-> 156, 1472, 1834 | |
| 561 <-> 260 | |
| 562 <-> 63 | |
| 563 <-> 129, 1309 | |
| 564 <-> 332 | |
| 565 <-> 1770, 1842 | |
| 566 <-> 621 | |
| 567 <-> 1160, 1178, 1642 | |
| 568 <-> 895 | |
| 569 <-> 53, 237, 384 | |
| 570 <-> 641 | |
| 571 <-> 571, 1261, 1924 | |
| 572 <-> 882 | |
| 573 <-> 376 | |
| 574 <-> 982 | |
| 575 <-> 78, 1255 | |
| 576 <-> 887, 1539 | |
| 577 <-> 603, 1122, 1679 | |
| 578 <-> 742 | |
| 579 <-> 272, 1444, 1747 | |
| 580 <-> 797, 1554, 1718 | |
| 581 <-> 412, 1926 | |
| 582 <-> 383 | |
| 583 <-> 1611 | |
| 584 <-> 344, 1620 | |
| 585 <-> 1692 | |
| 586 <-> 1383 | |
| 587 <-> 347, 1351 | |
| 588 <-> 162, 1220 | |
| 589 <-> 417, 441 | |
| 590 <-> 1919 | |
| 591 <-> 884, 992 | |
| 592 <-> 245, 814 | |
| 593 <-> 114 | |
| 594 <-> 1843 | |
| 595 <-> 1809 | |
| 596 <-> 837 | |
| 597 <-> 1563, 1575 | |
| 598 <-> 12, 605, 984 | |
| 599 <-> 474, 1218 | |
| 600 <-> 732, 1237, 1714 | |
| 601 <-> 1913 | |
| 602 <-> 295, 464, 1061 | |
| 603 <-> 268, 577, 720 | |
| 604 <-> 604 | |
| 605 <-> 38, 598 | |
| 606 <-> 506, 686, 1813 | |
| 607 <-> 2, 1948 | |
| 608 <-> 148 | |
| 609 <-> 1571 | |
| 610 <-> 772, 901 | |
| 611 <-> 178, 286, 880 | |
| 612 <-> 1814 | |
| 613 <-> 140, 883, 1198, 1764, 1942 | |
| 614 <-> 1352 | |
| 615 <-> 40, 321 | |
| 616 <-> 58, 1413 | |
| 617 <-> 624, 1008, 1591, 1791 | |
| 618 <-> 1625 | |
| 619 <-> 871, 1567 | |
| 620 <-> 1954 | |
| 621 <-> 12, 103, 566 | |
| 622 <-> 1895 | |
| 623 <-> 256, 1767 | |
| 624 <-> 617 | |
| 625 <-> 663 | |
| 626 <-> 626 | |
| 627 <-> 1650 | |
| 628 <-> 884 | |
| 629 <-> 1104, 1421 | |
| 630 <-> 630, 864 | |
| 631 <-> 529, 646 | |
| 632 <-> 246 | |
| 633 <-> 389, 1847 | |
| 634 <-> 128, 384 | |
| 635 <-> 1553, 1817 | |
| 636 <-> 636 | |
| 637 <-> 387 | |
| 638 <-> 336, 342, 646, 1453 | |
| 639 <-> 543, 815, 1087 | |
| 640 <-> 1422, 1597 | |
| 641 <-> 570, 805, 993, 1961 | |
| 642 <-> 1371 | |
| 643 <-> 959, 1044, 1444 | |
| 644 <-> 41 | |
| 645 <-> 276, 1022, 1184 | |
| 646 <-> 631, 638, 1790 | |
| 647 <-> 135, 1286 | |
| 648 <-> 60 | |
| 649 <-> 29, 224, 1636 | |
| 650 <-> 324 | |
| 651 <-> 863, 1321 | |
| 652 <-> 149, 687, 1128, 1346 | |
| 653 <-> 306 | |
| 654 <-> 1409 | |
| 655 <-> 1142, 1733 | |
| 656 <-> 246, 331, 768, 1815 | |
| 657 <-> 429 | |
| 658 <-> 1511, 1569 | |
| 659 <-> 1744 | |
| 660 <-> 50, 796, 1524 | |
| 661 <-> 63, 65, 810 | |
| 662 <-> 995, 1661 | |
| 663 <-> 247, 625, 1001 | |
| 664 <-> 664 | |
| 665 <-> 1305 | |
| 666 <-> 666, 1817 | |
| 667 <-> 469, 1003, 1550 | |
| 668 <-> 1540, 1958 | |
| 669 <-> 831, 883, 1349, 1719 | |
| 670 <-> 1531 | |
| 671 <-> 245, 671, 1693 | |
| 672 <-> 315, 1088 | |
| 673 <-> 942, 1381, 1660 | |
| 674 <-> 880 | |
| 675 <-> 368 | |
| 676 <-> 1269, 1699 | |
| 677 <-> 64, 1654 | |
| 678 <-> 784 | |
| 679 <-> 1760 | |
| 680 <-> 39 | |
| 681 <-> 681 | |
| 682 <-> 728, 749, 1995 | |
| 683 <-> 353 | |
| 684 <-> 84, 1150 | |
| 685 <-> 22 | |
| 686 <-> 606 | |
| 687 <-> 652, 1687 | |
| 688 <-> 1878 | |
| 689 <-> 454, 689 | |
| 690 <-> 924, 1183 | |
| 691 <-> 1410, 1413 | |
| 692 <-> 1702 | |
| 693 <-> 230, 1658 | |
| 694 <-> 820, 1282, 1873 | |
| 695 <-> 279 | |
| 696 <-> 1168 | |
| 697 <-> 262, 766, 776 | |
| 698 <-> 65, 528, 698, 940 | |
| 699 <-> 1778 | |
| 700 <-> 743, 1459, 1825 | |
| 701 <-> 1475 | |
| 702 <-> 457, 792, 861, 1467 | |
| 703 <-> 1581 | |
| 704 <-> 1969 | |
| 705 <-> 440, 1145 | |
| 706 <-> 54, 422 | |
| 707 <-> 1015, 1780 | |
| 708 <-> 104, 1266 | |
| 709 <-> 150, 1778 | |
| 710 <-> 194 | |
| 711 <-> 751 | |
| 712 <-> 963 | |
| 713 <-> 1525, 1762 | |
| 714 <-> 1713 | |
| 715 <-> 244, 1293, 1421 | |
| 716 <-> 403, 1572 | |
| 717 <-> 1142 | |
| 718 <-> 1204 | |
| 719 <-> 1672 | |
| 720 <-> 469, 603 | |
| 721 <-> 30, 1268, 1400 | |
| 722 <-> 1183 | |
| 723 <-> 1012 | |
| 724 <-> 1029, 1289, 1368 | |
| 725 <-> 31, 1039 | |
| 726 <-> 176, 726 | |
| 727 <-> 856 | |
| 728 <-> 682, 1000 | |
| 729 <-> 299, 1216, 1967 | |
| 730 <-> 850, 900 | |
| 731 <-> 1540, 1884 | |
| 732 <-> 600, 784 | |
| 733 <-> 1655 | |
| 734 <-> 162 | |
| 735 <-> 354, 1955 | |
| 736 <-> 361, 1084, 1822 | |
| 737 <-> 387 | |
| 738 <-> 58, 1573 | |
| 739 <-> 1119, 1216, 1822 | |
| 740 <-> 829, 1219 | |
| 741 <-> 1164 | |
| 742 <-> 107, 578 | |
| 743 <-> 700, 1744 | |
| 744 <-> 278, 555 | |
| 745 <-> 835, 1903 | |
| 746 <-> 396 | |
| 747 <-> 537, 1843 | |
| 748 <-> 61 | |
| 749 <-> 682, 1217, 1731 | |
| 750 <-> 874, 1110, 1724 | |
| 751 <-> 711, 1767 | |
| 752 <-> 248, 1011 | |
| 753 <-> 1327, 1885 | |
| 754 <-> 127, 211, 1117 | |
| 755 <-> 755 | |
| 756 <-> 387 | |
| 757 <-> 1098, 1169 | |
| 758 <-> 143, 1689 | |
| 759 <-> 19, 1517 | |
| 760 <-> 831, 1915 | |
| 761 <-> 761, 1195 | |
| 762 <-> 1634 | |
| 763 <-> 763 | |
| 764 <-> 848, 1375 | |
| 765 <-> 765, 1136 | |
| 766 <-> 697, 1295, 1887 | |
| 767 <-> 1906 | |
| 768 <-> 281, 656, 1031 | |
| 769 <-> 1457, 1863 | |
| 770 <-> 75, 96 | |
| 771 <-> 253, 846, 1375 | |
| 772 <-> 610 | |
| 773 <-> 323 | |
| 774 <-> 1067 | |
| 775 <-> 182, 1494 | |
| 776 <-> 697 | |
| 777 <-> 1136 | |
| 778 <-> 296, 1057 | |
| 779 <-> 315, 1631, 1796 | |
| 780 <-> 363, 780, 1814 | |
| 781 <-> 928, 1423 | |
| 782 <-> 1850 | |
| 783 <-> 441 | |
| 784 <-> 678, 732, 999, 1988 | |
| 785 <-> 514, 1248 | |
| 786 <-> 134, 786, 1009 | |
| 787 <-> 1348, 1863 | |
| 788 <-> 891, 1183, 1455 | |
| 789 <-> 1310, 1420, 1510 | |
| 790 <-> 188, 267 | |
| 791 <-> 1276 | |
| 792 <-> 251, 547, 702 | |
| 793 <-> 1, 72, 410, 1092 | |
| 794 <-> 880 | |
| 795 <-> 1799, 1807 | |
| 796 <-> 660, 1548 | |
| 797 <-> 252, 580, 797 | |
| 798 <-> 395, 552 | |
| 799 <-> 415, 799 | |
| 800 <-> 285, 1889 | |
| 801 <-> 801 | |
| 802 <-> 802 | |
| 803 <-> 1188, 1326, 1935 | |
| 804 <-> 221, 441 | |
| 805 <-> 43, 641, 1772 | |
| 806 <-> 412, 546, 918, 1617 | |
| 807 <-> 876, 1887 | |
| 808 <-> 400, 1435, 1716 | |
| 809 <-> 394, 513 | |
| 810 <-> 661 | |
| 811 <-> 216, 1259 | |
| 812 <-> 1883 | |
| 813 <-> 201, 1692 | |
| 814 <-> 592 | |
| 815 <-> 639 | |
| 816 <-> 1041, 1734 | |
| 817 <-> 1134, 1432 | |
| 818 <-> 1575 | |
| 819 <-> 113, 1063 | |
| 820 <-> 694 | |
| 821 <-> 1242 | |
| 822 <-> 143, 892 | |
| 823 <-> 1393, 1492 | |
| 824 <-> 946 | |
| 825 <-> 242, 999 | |
| 826 <-> 1594 | |
| 827 <-> 381, 1079, 1580 | |
| 828 <-> 1941 | |
| 829 <-> 468, 740, 1905 | |
| 830 <-> 977, 1260, 1861 | |
| 831 <-> 669, 760, 946, 1332 | |
| 832 <-> 428, 832, 944, 1172 | |
| 833 <-> 837, 1008, 1470 | |
| 834 <-> 429, 915 | |
| 835 <-> 306, 745, 976 | |
| 836 <-> 499, 967 | |
| 837 <-> 596, 833, 974 | |
| 838 <-> 1335 | |
| 839 <-> 320, 839, 1703 | |
| 840 <-> 1053, 1398, 1760 | |
| 841 <-> 1193 | |
| 842 <-> 842, 1066, 1108 | |
| 843 <-> 1414, 1697, 1894 | |
| 844 <-> 337, 438 | |
| 845 <-> 1506 | |
| 846 <-> 771 | |
| 847 <-> 466, 907, 1432 | |
| 848 <-> 510, 764 | |
| 849 <-> 1063, 1195, 1701 | |
| 850 <-> 730, 1551 | |
| 851 <-> 1112, 1331, 1479 | |
| 852 <-> 1652 | |
| 853 <-> 391 | |
| 854 <-> 17, 424, 906, 1665 | |
| 855 <-> 425, 1082 | |
| 856 <-> 301, 463, 727, 1744 | |
| 857 <-> 22, 227 | |
| 858 <-> 539, 1252, 1472 | |
| 859 <-> 232, 1843 | |
| 860 <-> 193 | |
| 861 <-> 549, 702, 1709, 1884 | |
| 862 <-> 1149 | |
| 863 <-> 651, 955 | |
| 864 <-> 630 | |
| 865 <-> 1138 | |
| 866 <-> 144, 1111, 1114 | |
| 867 <-> 282, 1487, 1835 | |
| 868 <-> 1699 | |
| 869 <-> 869 | |
| 870 <-> 1487 | |
| 871 <-> 619 | |
| 872 <-> 872 | |
| 873 <-> 370, 543, 1968 | |
| 874 <-> 750, 874 | |
| 875 <-> 234, 1202, 1473 | |
| 876 <-> 807, 933, 1741 | |
| 877 <-> 1205, 1874 | |
| 878 <-> 1831 | |
| 879 <-> 534, 1860 | |
| 880 <-> 32, 611, 674, 794 | |
| 881 <-> 1361, 1750 | |
| 882 <-> 572, 1495 | |
| 883 <-> 613, 669 | |
| 884 <-> 591, 628, 1815 | |
| 885 <-> 996, 1237 | |
| 886 <-> 314, 1709 | |
| 887 <-> 576 | |
| 888 <-> 551 | |
| 889 <-> 0, 1494 | |
| 890 <-> 1100, 1966 | |
| 891 <-> 788, 1312 | |
| 892 <-> 303, 533, 822, 1334, 1812, 1935 | |
| 893 <-> 1723 | |
| 894 <-> 272, 1992 | |
| 895 <-> 568, 1038 | |
| 896 <-> 551, 1425 | |
| 897 <-> 1783 | |
| 898 <-> 375 | |
| 899 <-> 358 | |
| 900 <-> 730 | |
| 901 <-> 106, 153, 610 | |
| 902 <-> 1203 | |
| 903 <-> 32, 1935 | |
| 904 <-> 1109 | |
| 905 <-> 364 | |
| 906 <-> 293, 854, 1565 | |
| 907 <-> 847, 1139, 1180, 1431, 1563, 1878 | |
| 908 <-> 1908 | |
| 909 <-> 321, 943 | |
| 910 <-> 47, 1067 | |
| 911 <-> 1468, 1495 | |
| 912 <-> 15 | |
| 913 <-> 1692 | |
| 914 <-> 922, 1445 | |
| 915 <-> 834, 1002 | |
| 916 <-> 461 | |
| 917 <-> 1177, 1924 | |
| 918 <-> 806, 962, 1058, 1419 | |
| 919 <-> 44, 82, 1933 | |
| 920 <-> 1147, 1539 | |
| 921 <-> 393, 458, 1055, 1951 | |
| 922 <-> 914, 1271 | |
| 923 <-> 204, 207, 1201 | |
| 924 <-> 205, 690 | |
| 925 <-> 173, 1816 | |
| 926 <-> 1279 | |
| 927 <-> 927 | |
| 928 <-> 781 | |
| 929 <-> 154 | |
| 930 <-> 144 | |
| 931 <-> 972, 1237 | |
| 932 <-> 1317 | |
| 933 <-> 876, 1756 | |
| 934 <-> 51, 405, 1105, 1960 | |
| 935 <-> 935, 1674 | |
| 936 <-> 491, 1201, 1247 | |
| 937 <-> 956, 1576, 1788 | |
| 938 <-> 1377, 1733 | |
| 939 <-> 121, 1638 | |
| 940 <-> 698, 1808 | |
| 941 <-> 1665, 1957 | |
| 942 <-> 673 | |
| 943 <-> 341, 909 | |
| 944 <-> 832 | |
| 945 <-> 1087, 1340 | |
| 946 <-> 824, 831 | |
| 947 <-> 555 | |
| 948 <-> 959 | |
| 949 <-> 1068 | |
| 950 <-> 1664 | |
| 951 <-> 241, 502, 1151 | |
| 952 <-> 40, 537, 1376 | |
| 953 <-> 397 | |
| 954 <-> 148, 1075, 1364 | |
| 955 <-> 863, 1235, 1618, 1724 | |
| 956 <-> 937 | |
| 957 <-> 101, 1323 | |
| 958 <-> 1794, 1972 | |
| 959 <-> 643, 948, 1023 | |
| 960 <-> 960, 1417 | |
| 961 <-> 1278 | |
| 962 <-> 370, 918 | |
| 963 <-> 481, 712 | |
| 964 <-> 1198 | |
| 965 <-> 4 | |
| 966 <-> 966 | |
| 967 <-> 836, 967, 1821 | |
| 968 <-> 1513 | |
| 969 <-> 128, 232 | |
| 970 <-> 529 | |
| 971 <-> 1471 | |
| 972 <-> 436, 931 | |
| 973 <-> 231 | |
| 974 <-> 837 | |
| 975 <-> 1390 | |
| 976 <-> 835 | |
| 977 <-> 830 | |
| 978 <-> 439, 1687 | |
| 979 <-> 527 | |
| 980 <-> 980, 1609, 1940 | |
| 981 <-> 307, 1671 | |
| 982 <-> 574, 1318, 1643 | |
| 983 <-> 243 | |
| 984 <-> 598 | |
| 985 <-> 279 | |
| 986 <-> 68 | |
| 987 <-> 1060 | |
| 988 <-> 1942 | |
| 989 <-> 1478 | |
| 990 <-> 490, 525, 1838 | |
| 991 <-> 41, 1263, 1302 | |
| 992 <-> 591 | |
| 993 <-> 273, 641 | |
| 994 <-> 1026, 1240, 1618 | |
| 995 <-> 662, 1545 | |
| 996 <-> 885, 1528 | |
| 997 <-> 449, 1058 | |
| 998 <-> 487 | |
| 999 <-> 784, 825 | |
| 1000 <-> 728 | |
| 1001 <-> 141, 663, 1626, 1681 | |
| 1002 <-> 300, 915 | |
| 1003 <-> 667 | |
| 1004 <-> 227, 459 | |
| 1005 <-> 1780 | |
| 1006 <-> 234, 1578 | |
| 1007 <-> 203, 406 | |
| 1008 <-> 617, 833 | |
| 1009 <-> 786, 1064 | |
| 1010 <-> 1010, 1031, 1919 | |
| 1011 <-> 752, 1754 | |
| 1012 <-> 7, 723, 1068, 1181 | |
| 1013 <-> 36 | |
| 1014 <-> 1594 | |
| 1015 <-> 707 | |
| 1016 <-> 63 | |
| 1017 <-> 1511 | |
| 1018 <-> 374, 1034 | |
| 1019 <-> 131, 1155 | |
| 1020 <-> 114 | |
| 1021 <-> 1288 | |
| 1022 <-> 645 | |
| 1023 <-> 959, 1375 | |
| 1024 <-> 1024 | |
| 1025 <-> 216 | |
| 1026 <-> 411, 994 | |
| 1027 <-> 515 | |
| 1028 <-> 1417 | |
| 1029 <-> 304, 724 | |
| 1030 <-> 343, 351 | |
| 1031 <-> 768, 1010 | |
| 1032 <-> 1032 | |
| 1033 <-> 521 | |
| 1034 <-> 1018 | |
| 1035 <-> 235, 1578 | |
| 1036 <-> 179, 503, 511, 1036 | |
| 1037 <-> 1037, 1044 | |
| 1038 <-> 895, 1125 | |
| 1039 <-> 547, 725, 1599 | |
| 1040 <-> 395 | |
| 1041 <-> 816 | |
| 1042 <-> 559, 1042 | |
| 1043 <-> 168, 1873 | |
| 1044 <-> 643, 1037, 1312 | |
| 1045 <-> 1232 | |
| 1046 <-> 321 | |
| 1047 <-> 254 | |
| 1048 <-> 1747 | |
| 1049 <-> 364 | |
| 1050 <-> 1050, 1947, 1963 | |
| 1051 <-> 1156 | |
| 1052 <-> 4, 1201 | |
| 1053 <-> 840 | |
| 1054 <-> 1133, 1342, 1537, 1708, 1778 | |
| 1055 <-> 71, 921, 1786 | |
| 1056 <-> 1672 | |
| 1057 <-> 778, 1423, 1787 | |
| 1058 <-> 918, 997 | |
| 1059 <-> 288, 1337, 1401 | |
| 1060 <-> 987, 1781 | |
| 1061 <-> 602, 1660 | |
| 1062 <-> 316, 1863 | |
| 1063 <-> 120, 819, 849 | |
| 1064 <-> 1009 | |
| 1065 <-> 1065 | |
| 1066 <-> 842 | |
| 1067 <-> 774, 910, 1089 | |
| 1068 <-> 949, 1012 | |
| 1069 <-> 1900 | |
| 1070 <-> 556 | |
| 1071 <-> 1884 | |
| 1072 <-> 447, 1122 | |
| 1073 <-> 163, 249, 1073, 1237 | |
| 1074 <-> 262 | |
| 1075 <-> 954, 1075, 1789 | |
| 1076 <-> 1076, 1680 | |
| 1077 <-> 55, 322 | |
| 1078 <-> 160, 547 | |
| 1079 <-> 827, 1079 | |
| 1080 <-> 377, 425, 1739 | |
| 1081 <-> 220, 230 | |
| 1082 <-> 855, 1638 | |
| 1083 <-> 44 | |
| 1084 <-> 302, 736 | |
| 1085 <-> 168, 1431 | |
| 1086 <-> 1973 | |
| 1087 <-> 639, 945 | |
| 1088 <-> 672 | |
| 1089 <-> 1067, 1190 | |
| 1090 <-> 408, 1492 | |
| 1091 <-> 1674 | |
| 1092 <-> 793 | |
| 1093 <-> 1802 | |
| 1094 <-> 536 | |
| 1095 <-> 1095, 1204 | |
| 1096 <-> 279 | |
| 1097 <-> 351, 381 | |
| 1098 <-> 757, 1519 | |
| 1099 <-> 1099, 1752 | |
| 1100 <-> 177, 890 | |
| 1101 <-> 1145 | |
| 1102 <-> 1280 | |
| 1103 <-> 190, 1200 | |
| 1104 <-> 629 | |
| 1105 <-> 100, 934 | |
| 1106 <-> 1426 | |
| 1107 <-> 78, 1497 | |
| 1108 <-> 842 | |
| 1109 <-> 507, 904, 1109 | |
| 1110 <-> 750 | |
| 1111 <-> 866 | |
| 1112 <-> 851 | |
| 1113 <-> 1113 | |
| 1114 <-> 866, 1131, 1861 | |
| 1115 <-> 1187, 1629 | |
| 1116 <-> 342 | |
| 1117 <-> 754 | |
| 1118 <-> 1637 | |
| 1119 <-> 739 | |
| 1120 <-> 1837 | |
| 1121 <-> 1133, 1758 | |
| 1122 <-> 577, 1072, 1349 | |
| 1123 <-> 1359 | |
| 1124 <-> 1174 | |
| 1125 <-> 1038, 1789 | |
| 1126 <-> 1260 | |
| 1127 <-> 1213 | |
| 1128 <-> 161, 652 | |
| 1129 <-> 441 | |
| 1130 <-> 4 | |
| 1131 <-> 1114 | |
| 1132 <-> 1132, 1979 | |
| 1133 <-> 1054, 1121, 1253 | |
| 1134 <-> 817 | |
| 1135 <-> 76, 1606 | |
| 1136 <-> 765, 777, 1860 | |
| 1137 <-> 434 | |
| 1138 <-> 865, 1280, 1471, 1736 | |
| 1139 <-> 74, 907 | |
| 1140 <-> 108, 378 | |
| 1141 <-> 178 | |
| 1142 <-> 655, 717 | |
| 1143 <-> 446 | |
| 1144 <-> 221 | |
| 1145 <-> 476, 705, 1101, 1271, 1956 | |
| 1146 <-> 474, 1179, 1936 | |
| 1147 <-> 920, 1147 | |
| 1148 <-> 1148, 1795 | |
| 1149 <-> 862, 1799 | |
| 1150 <-> 559, 684, 1797 | |
| 1151 <-> 951 | |
| 1152 <-> 1229 | |
| 1153 <-> 1515, 1530 | |
| 1154 <-> 1154 | |
| 1155 <-> 1019, 1300 | |
| 1156 <-> 164, 1051, 1156 | |
| 1157 <-> 18, 1157 | |
| 1158 <-> 1208 | |
| 1159 <-> 1651 | |
| 1160 <-> 567, 1510, 1710 | |
| 1161 <-> 1161, 1427, 1590 | |
| 1162 <-> 206, 229, 1561 | |
| 1163 <-> 1388 | |
| 1164 <-> 741, 1494 | |
| 1165 <-> 1217 | |
| 1166 <-> 123, 276 | |
| 1167 <-> 1262, 1547 | |
| 1168 <-> 80, 531, 696 | |
| 1169 <-> 362, 757, 1504 | |
| 1170 <-> 1854 | |
| 1171 <-> 1171, 1898 | |
| 1172 <-> 832 | |
| 1173 <-> 1173, 1315 | |
| 1174 <-> 1124, 1174, 1831 | |
| 1175 <-> 202, 452 | |
| 1176 <-> 330, 335, 1761 | |
| 1177 <-> 917 | |
| 1178 <-> 155, 567 | |
| 1179 <-> 224, 1146 | |
| 1180 <-> 907, 1661 | |
| 1181 <-> 1012 | |
| 1182 <-> 176 | |
| 1183 <-> 690, 722, 788 | |
| 1184 <-> 645 | |
| 1185 <-> 487 | |
| 1186 <-> 1659 | |
| 1187 <-> 348, 1115, 1670 | |
| 1188 <-> 275, 803 | |
| 1189 <-> 1689 | |
| 1190 <-> 75, 1089 | |
| 1191 <-> 285 | |
| 1192 <-> 1744 | |
| 1193 <-> 477, 515, 841 | |
| 1194 <-> 1308 | |
| 1195 <-> 761, 849 | |
| 1196 <-> 130, 1993 | |
| 1197 <-> 144 | |
| 1198 <-> 613, 964, 1329 | |
| 1199 <-> 1389 | |
| 1200 <-> 1103 | |
| 1201 <-> 923, 936, 1052 | |
| 1202 <-> 875 | |
| 1203 <-> 490, 902, 1692 | |
| 1204 <-> 718, 1095, 1245 | |
| 1205 <-> 263, 333, 877 | |
| 1206 <-> 1311 | |
| 1207 <-> 415, 1883 | |
| 1208 <-> 445, 1158 | |
| 1209 <-> 550, 1640 | |
| 1210 <-> 12, 1210, 1428 | |
| 1211 <-> 460, 1529 | |
| 1212 <-> 52, 159, 1493, 1819 | |
| 1213 <-> 1127, 1213 | |
| 1214 <-> 1214, 1436 | |
| 1215 <-> 266, 1758 | |
| 1216 <-> 729, 739 | |
| 1217 <-> 141, 749, 1165, 1315 | |
| 1218 <-> 599, 1595 | |
| 1219 <-> 740, 1549 | |
| 1220 <-> 588, 1374 | |
| 1221 <-> 405 | |
| 1222 <-> 1966 | |
| 1223 <-> 119 | |
| 1224 <-> 1528 | |
| 1225 <-> 1314 | |
| 1226 <-> 86, 515 | |
| 1227 <-> 1681 | |
| 1228 <-> 1228 | |
| 1229 <-> 0, 1152, 1374 | |
| 1230 <-> 1453 | |
| 1231 <-> 223, 488 | |
| 1232 <-> 1045, 1261 | |
| 1233 <-> 1759 | |
| 1234 <-> 360 | |
| 1235 <-> 283, 955, 1241, 1783 | |
| 1236 <-> 1356 | |
| 1237 <-> 600, 885, 931, 1073 | |
| 1238 <-> 370, 1602 | |
| 1239 <-> 546, 1373 | |
| 1240 <-> 994 | |
| 1241 <-> 1235, 1392 | |
| 1242 <-> 7, 59, 821, 1945 | |
| 1243 <-> 1296 | |
| 1244 <-> 7, 1300, 1434 | |
| 1245 <-> 1204, 1347 | |
| 1246 <-> 374, 555, 1508 | |
| 1247 <-> 109, 936 | |
| 1248 <-> 785, 1715 | |
| 1249 <-> 238 | |
| 1250 <-> 1600, 1623 | |
| 1251 <-> 1251 | |
| 1252 <-> 858 | |
| 1253 <-> 392, 1133 | |
| 1254 <-> 35, 1394 | |
| 1255 <-> 575 | |
| 1256 <-> 214, 1607, 1685 | |
| 1257 <-> 169 | |
| 1258 <-> 81, 1264, 1320 | |
| 1259 <-> 811, 1425 | |
| 1260 <-> 830, 1126 | |
| 1261 <-> 571, 1232 | |
| 1262 <-> 1167, 1862 | |
| 1263 <-> 540, 991 | |
| 1264 <-> 1258, 1651 | |
| 1265 <-> 139, 1569 | |
| 1266 <-> 708 | |
| 1267 <-> 1267 | |
| 1268 <-> 721 | |
| 1269 <-> 276, 676, 1759 | |
| 1270 <-> 467, 1270, 1916 | |
| 1271 <-> 225, 922, 1145, 1700 | |
| 1272 <-> 99 | |
| 1273 <-> 1302 | |
| 1274 <-> 1966 | |
| 1275 <-> 525 | |
| 1276 <-> 791, 1834 | |
| 1277 <-> 450, 1474, 1645 | |
| 1278 <-> 185, 961 | |
| 1279 <-> 458, 926 | |
| 1280 <-> 209, 1102, 1138 | |
| 1281 <-> 208, 462, 1943 | |
| 1282 <-> 694, 1522 | |
| 1283 <-> 111, 119, 1407 | |
| 1284 <-> 182, 1996 | |
| 1285 <-> 287 | |
| 1286 <-> 647, 1286, 1715 | |
| 1287 <-> 132 | |
| 1288 <-> 222, 1021, 1398 | |
| 1289 <-> 724 | |
| 1290 <-> 208, 260, 317 | |
| 1291 <-> 1498 | |
| 1292 <-> 88 | |
| 1293 <-> 387, 715, 1322, 1519, 1645 | |
| 1294 <-> 445, 513, 1504 | |
| 1295 <-> 766 | |
| 1296 <-> 1243, 1379, 1964 | |
| 1297 <-> 38, 1669 | |
| 1298 <-> 1906 | |
| 1299 <-> 18, 1804 | |
| 1300 <-> 1155, 1244 | |
| 1301 <-> 1371, 1453 | |
| 1302 <-> 991, 1273 | |
| 1303 <-> 375, 504, 1948 | |
| 1304 <-> 1667, 1933 | |
| 1305 <-> 102, 151, 665 | |
| 1306 <-> 266 | |
| 1307 <-> 179 | |
| 1308 <-> 34, 1194 | |
| 1309 <-> 563 | |
| 1310 <-> 526, 789 | |
| 1311 <-> 1206, 1311, 1769 | |
| 1312 <-> 891, 1044 | |
| 1313 <-> 169 | |
| 1314 <-> 151, 1225 | |
| 1315 <-> 42, 1173, 1217 | |
| 1316 <-> 1316 | |
| 1317 <-> 932, 1805 | |
| 1318 <-> 187, 373, 982 | |
| 1319 <-> 41, 220, 1948 | |
| 1320 <-> 1258, 1859 | |
| 1321 <-> 651 | |
| 1322 <-> 1293 | |
| 1323 <-> 957, 1472 | |
| 1324 <-> 1324 | |
| 1325 <-> 1325 | |
| 1326 <-> 803, 1846 | |
| 1327 <-> 753 | |
| 1328 <-> 1879 | |
| 1329 <-> 1198 | |
| 1330 <-> 553, 1330 | |
| 1331 <-> 392, 851 | |
| 1332 <-> 396, 831 | |
| 1333 <-> 210 | |
| 1334 <-> 892 | |
| 1335 <-> 838, 1552, 1568 | |
| 1336 <-> 1336 | |
| 1337 <-> 1059 | |
| 1338 <-> 310, 544 | |
| 1339 <-> 1897 | |
| 1340 <-> 945 | |
| 1341 <-> 489 | |
| 1342 <-> 137, 1054 | |
| 1343 <-> 1343 | |
| 1344 <-> 1946 | |
| 1345 <-> 1345 | |
| 1346 <-> 652 | |
| 1347 <-> 1245, 1914, 1930 | |
| 1348 <-> 787, 1591 | |
| 1349 <-> 669, 1122 | |
| 1350 <-> 304, 1790 | |
| 1351 <-> 587, 1997 | |
| 1352 <-> 20, 614 | |
| 1353 <-> 1738 | |
| 1354 <-> 413, 1608 | |
| 1355 <-> 522, 1816, 1917 | |
| 1356 <-> 1236, 1450 | |
| 1357 <-> 431, 1575 | |
| 1358 <-> 500 | |
| 1359 <-> 1123, 1599 | |
| 1360 <-> 1370, 1385 | |
| 1361 <-> 1, 881 | |
| 1362 <-> 355, 1611, 1952 | |
| 1363 <-> 69 | |
| 1364 <-> 954 | |
| 1365 <-> 1948 | |
| 1366 <-> 30, 1470 | |
| 1367 <-> 1527 | |
| 1368 <-> 724 | |
| 1369 <-> 277, 1482 | |
| 1370 <-> 1360 | |
| 1371 <-> 642, 1301, 1478, 1485 | |
| 1372 <-> 1372, 1594 | |
| 1373 <-> 1239 | |
| 1374 <-> 79, 1220, 1229 | |
| 1375 <-> 764, 771, 1023 | |
| 1376 <-> 952 | |
| 1377 <-> 938, 1520, 1730 | |
| 1378 <-> 1378, 1411, 1823 | |
| 1379 <-> 1296, 1832 | |
| 1380 <-> 1380 | |
| 1381 <-> 673 | |
| 1382 <-> 1382 | |
| 1383 <-> 195, 586 | |
| 1384 <-> 542 | |
| 1385 <-> 215, 1360 | |
| 1386 <-> 1386 | |
| 1387 <-> 1536 | |
| 1388 <-> 311, 402, 1163 | |
| 1389 <-> 251, 1199 | |
| 1390 <-> 322, 975 | |
| 1391 <-> 172, 407, 1453 | |
| 1392 <-> 1241, 1587 | |
| 1393 <-> 419, 823, 1636 | |
| 1394 <-> 1254, 1588, 1699 | |
| 1395 <-> 401, 1621 | |
| 1396 <-> 1396, 1870 | |
| 1397 <-> 1629 | |
| 1398 <-> 840, 1288 | |
| 1399 <-> 1399, 1932 | |
| 1400 <-> 721 | |
| 1401 <-> 1059 | |
| 1402 <-> 1402 | |
| 1403 <-> 33 | |
| 1404 <-> 1449, 1632, 1832 | |
| 1405 <-> 1634 | |
| 1406 <-> 1726 | |
| 1407 <-> 265, 1283, 1999 | |
| 1408 <-> 39, 336, 426 | |
| 1409 <-> 75, 147, 654 | |
| 1410 <-> 691, 1780 | |
| 1411 <-> 1378 | |
| 1412 <-> 1447, 1759 | |
| 1413 <-> 616, 691 | |
| 1414 <-> 843 | |
| 1415 <-> 1415 | |
| 1416 <-> 197, 271 | |
| 1417 <-> 132, 960, 1028 | |
| 1418 <-> 1418, 1426 | |
| 1419 <-> 918, 1560 | |
| 1420 <-> 789 | |
| 1421 <-> 629, 715 | |
| 1422 <-> 391, 640 | |
| 1423 <-> 781, 1057 | |
| 1424 <-> 1614 | |
| 1425 <-> 21, 896, 1259 | |
| 1426 <-> 1106, 1418 | |
| 1427 <-> 1161 | |
| 1428 <-> 1210, 1677 | |
| 1429 <-> 131 | |
| 1430 <-> 1822 | |
| 1431 <-> 907, 1085, 1846 | |
| 1432 <-> 817, 847 | |
| 1433 <-> 75 | |
| 1434 <-> 1244 | |
| 1435 <-> 484, 808 | |
| 1436 <-> 1214 | |
| 1437 <-> 418 | |
| 1438 <-> 57 | |
| 1439 <-> 1469, 1824 | |
| 1440 <-> 237 | |
| 1441 <-> 1722 | |
| 1442 <-> 424, 1678 | |
| 1443 <-> 144 | |
| 1444 <-> 579, 643, 1869 | |
| 1445 <-> 914 | |
| 1446 <-> 1524, 1728 | |
| 1447 <-> 1412, 1962 | |
| 1448 <-> 1485 | |
| 1449 <-> 1404 | |
| 1450 <-> 1356, 1647 | |
| 1451 <-> 460, 1907, 1967 | |
| 1452 <-> 445, 446 | |
| 1453 <-> 56, 133, 638, 1230, 1301, 1391 | |
| 1454 <-> 1994 | |
| 1455 <-> 788 | |
| 1456 <-> 1914 | |
| 1457 <-> 769 | |
| 1458 <-> 1458 | |
| 1459 <-> 700, 1796 | |
| 1460 <-> 1799 | |
| 1461 <-> 15, 436 | |
| 1462 <-> 1678 | |
| 1463 <-> 83, 1553, 1684 | |
| 1464 <-> 35 | |
| 1465 <-> 1471 | |
| 1466 <-> 175, 430 | |
| 1467 <-> 539, 702 | |
| 1468 <-> 281, 911, 1475 | |
| 1469 <-> 366, 426, 478, 1439, 1524 | |
| 1470 <-> 833, 1366 | |
| 1471 <-> 971, 1138, 1465 | |
| 1472 <-> 560, 858, 1323, 1937 | |
| 1473 <-> 506, 875 | |
| 1474 <-> 1277, 1937 | |
| 1475 <-> 701, 1468 | |
| 1476 <-> 464, 522 | |
| 1477 <-> 1785 | |
| 1478 <-> 989, 1371 | |
| 1479 <-> 409, 851 | |
| 1480 <-> 1677 | |
| 1481 <-> 463 | |
| 1482 <-> 517, 1369, 1482 | |
| 1483 <-> 102, 218 | |
| 1484 <-> 532, 1531, 1735 | |
| 1485 <-> 400, 1371, 1448 | |
| 1486 <-> 453 | |
| 1487 <-> 867, 870, 1577, 1584 | |
| 1488 <-> 1488 | |
| 1489 <-> 16, 327 | |
| 1490 <-> 418 | |
| 1491 <-> 7, 1589 | |
| 1492 <-> 823, 1090 | |
| 1493 <-> 1212, 1519, 1675 | |
| 1494 <-> 775, 889, 1164 | |
| 1495 <-> 882, 911 | |
| 1496 <-> 386, 1496 | |
| 1497 <-> 269, 455, 1107 | |
| 1498 <-> 9, 1291, 1758 | |
| 1499 <-> 1685, 1893 | |
| 1500 <-> 1657 | |
| 1501 <-> 244, 287 | |
| 1502 <-> 1951 | |
| 1503 <-> 112 | |
| 1504 <-> 1169, 1294 | |
| 1505 <-> 1987 | |
| 1506 <-> 845, 1905 | |
| 1507 <-> 1507 | |
| 1508 <-> 1246 | |
| 1509 <-> 41 | |
| 1510 <-> 195, 789, 1160, 1980 | |
| 1511 <-> 658, 1017 | |
| 1512 <-> 1990 | |
| 1513 <-> 968, 1513, 1612 | |
| 1514 <-> 1514 | |
| 1515 <-> 1153, 1632 | |
| 1516 <-> 280 | |
| 1517 <-> 759 | |
| 1518 <-> 1837 | |
| 1519 <-> 80, 82, 1098, 1293, 1493 | |
| 1520 <-> 1377, 1978 | |
| 1521 <-> 1521 | |
| 1522 <-> 1282 | |
| 1523 <-> 1749, 1876 | |
| 1524 <-> 660, 1446, 1469, 1535, 1729 | |
| 1525 <-> 283, 713 | |
| 1526 <-> 22, 1767 | |
| 1527 <-> 535, 1367, 1889 | |
| 1528 <-> 996, 1224 | |
| 1529 <-> 1211, 1736 | |
| 1530 <-> 1153 | |
| 1531 <-> 451, 670, 1484 | |
| 1532 <-> 46 | |
| 1533 <-> 62, 143, 530 | |
| 1534 <-> 117, 1992 | |
| 1535 <-> 1524 | |
| 1536 <-> 342, 1387 | |
| 1537 <-> 1054 | |
| 1538 <-> 302, 1589 | |
| 1539 <-> 576, 920 | |
| 1540 <-> 668, 731 | |
| 1541 <-> 1639 | |
| 1542 <-> 1542 | |
| 1543 <-> 1702 | |
| 1544 <-> 1927 | |
| 1545 <-> 995 | |
| 1546 <-> 92, 1890 | |
| 1547 <-> 40, 1167 | |
| 1548 <-> 796 | |
| 1549 <-> 110, 337, 1219 | |
| 1550 <-> 46, 667 | |
| 1551 <-> 497, 850 | |
| 1552 <-> 526, 1335 | |
| 1553 <-> 464, 635, 1463 | |
| 1554 <-> 580, 1696 | |
| 1555 <-> 1556, 1648, 1867 | |
| 1556 <-> 180, 1555, 1676 | |
| 1557 <-> 313, 1831 | |
| 1558 <-> 249 | |
| 1559 <-> 501 | |
| 1560 <-> 1419 | |
| 1561 <-> 1162 | |
| 1562 <-> 271, 388 | |
| 1563 <-> 597, 907 | |
| 1564 <-> 239 | |
| 1565 <-> 906, 1854 | |
| 1566 <-> 465 | |
| 1567 <-> 393, 619 | |
| 1568 <-> 1335, 1745 | |
| 1569 <-> 658, 1265, 1651 | |
| 1570 <-> 475 | |
| 1571 <-> 310, 323, 609 | |
| 1572 <-> 540, 716 | |
| 1573 <-> 738 | |
| 1574 <-> 531 | |
| 1575 <-> 597, 818, 1357 | |
| 1576 <-> 937 | |
| 1577 <-> 456, 1487, 1630 | |
| 1578 <-> 1006, 1035 | |
| 1579 <-> 1704 | |
| 1580 <-> 827 | |
| 1581 <-> 286, 703, 1888 | |
| 1582 <-> 294 | |
| 1583 <-> 1907 | |
| 1584 <-> 1487 | |
| 1585 <-> 1955 | |
| 1586 <-> 1586, 1641 | |
| 1587 <-> 1392 | |
| 1588 <-> 522, 1394 | |
| 1589 <-> 1491, 1538, 1589 | |
| 1590 <-> 1161, 1642, 1946 | |
| 1591 <-> 4, 617, 1348 | |
| 1592 <-> 68 | |
| 1593 <-> 356, 466 | |
| 1594 <-> 826, 1014, 1372 | |
| 1595 <-> 1218 | |
| 1596 <-> 78 | |
| 1597 <-> 640 | |
| 1598 <-> 422 | |
| 1599 <-> 1039, 1359 | |
| 1600 <-> 1250 | |
| 1601 <-> 113, 1631 | |
| 1602 <-> 1238 | |
| 1603 <-> 1603 | |
| 1604 <-> 1604 | |
| 1605 <-> 1980 | |
| 1606 <-> 1135, 1828 | |
| 1607 <-> 1256, 1607 | |
| 1608 <-> 1354 | |
| 1609 <-> 980, 1864 | |
| 1610 <-> 1610 | |
| 1611 <-> 583, 1362 | |
| 1612 <-> 309, 367, 1513 | |
| 1613 <-> 270, 1620 | |
| 1614 <-> 1424, 1688 | |
| 1615 <-> 1615 | |
| 1616 <-> 1884 | |
| 1617 <-> 806, 1763 | |
| 1618 <-> 955, 994, 1897 | |
| 1619 <-> 1622 | |
| 1620 <-> 538, 584, 1613 | |
| 1621 <-> 1395, 1621 | |
| 1622 <-> 452, 1619 | |
| 1623 <-> 188, 1250 | |
| 1624 <-> 148 | |
| 1625 <-> 519, 618, 1625, 1765 | |
| 1626 <-> 213, 1001 | |
| 1627 <-> 1929 | |
| 1628 <-> 6, 305 | |
| 1629 <-> 558, 1115, 1397 | |
| 1630 <-> 1577 | |
| 1631 <-> 779, 1601 | |
| 1632 <-> 1404, 1515 | |
| 1633 <-> 336 | |
| 1634 <-> 762, 1405, 1734 | |
| 1635 <-> 1635 | |
| 1636 <-> 257, 649, 1393 | |
| 1637 <-> 167, 329, 1118 | |
| 1638 <-> 939, 1082 | |
| 1639 <-> 1541, 1639 | |
| 1640 <-> 1209 | |
| 1641 <-> 1586 | |
| 1642 <-> 567, 1590 | |
| 1643 <-> 982 | |
| 1644 <-> 408, 509 | |
| 1645 <-> 1277, 1293 | |
| 1646 <-> 1836, 1875 | |
| 1647 <-> 1450, 1772 | |
| 1648 <-> 1555, 1946 | |
| 1649 <-> 1743 | |
| 1650 <-> 627, 1720 | |
| 1651 <-> 1159, 1264, 1569 | |
| 1652 <-> 852, 1930 | |
| 1653 <-> 1653 | |
| 1654 <-> 677 | |
| 1655 <-> 85, 733 | |
| 1656 <-> 1875 | |
| 1657 <-> 261, 1500, 1703 | |
| 1658 <-> 693, 1679 | |
| 1659 <-> 1186, 1659 | |
| 1660 <-> 673, 1061 | |
| 1661 <-> 662, 1180 | |
| 1662 <-> 483 | |
| 1663 <-> 1663, 1904 | |
| 1664 <-> 196, 950, 1664 | |
| 1665 <-> 144, 854, 941 | |
| 1666 <-> 1666 | |
| 1667 <-> 1304, 1890 | |
| 1668 <-> 488 | |
| 1669 <-> 1297 | |
| 1670 <-> 78, 1187 | |
| 1671 <-> 215, 981 | |
| 1672 <-> 145, 358, 719, 1056 | |
| 1673 <-> 1673 | |
| 1674 <-> 25, 935, 1091 | |
| 1675 <-> 1493 | |
| 1676 <-> 190, 1556 | |
| 1677 <-> 1428, 1480 | |
| 1678 <-> 1442, 1462, 1987 | |
| 1679 <-> 577, 1658 | |
| 1680 <-> 16, 1076 | |
| 1681 <-> 1001, 1227 | |
| 1682 <-> 71 | |
| 1683 <-> 90 | |
| 1684 <-> 479, 1463, 1852 | |
| 1685 <-> 1256, 1499 | |
| 1686 <-> 94 | |
| 1687 <-> 687, 978, 1787 | |
| 1688 <-> 332, 1614, 1688 | |
| 1689 <-> 758, 1189, 1779 | |
| 1690 <-> 477 | |
| 1691 <-> 1691, 1986 | |
| 1692 <-> 166, 585, 813, 913, 1203, 1913 | |
| 1693 <-> 671 | |
| 1694 <-> 1711 | |
| 1695 <-> 89, 1795 | |
| 1696 <-> 1554 | |
| 1697 <-> 147, 843, 1900 | |
| 1698 <-> 212, 444, 1793 | |
| 1699 <-> 676, 868, 1394, 1705 | |
| 1700 <-> 87, 1271 | |
| 1701 <-> 849 | |
| 1702 <-> 222, 692, 1543 | |
| 1703 <-> 839, 1657 | |
| 1704 <-> 314, 498, 1579 | |
| 1705 <-> 1699 | |
| 1706 <-> 89, 1993 | |
| 1707 <-> 1990, 1994 | |
| 1708 <-> 1054, 1892 | |
| 1709 <-> 861, 886 | |
| 1710 <-> 1160 | |
| 1711 <-> 1694, 1737 | |
| 1712 <-> 1712 | |
| 1713 <-> 714, 1935 | |
| 1714 <-> 600 | |
| 1715 <-> 217, 1248, 1286 | |
| 1716 <-> 808 | |
| 1717 <-> 278, 1914 | |
| 1718 <-> 580 | |
| 1719 <-> 669 | |
| 1720 <-> 1650, 1762, 1856 | |
| 1721 <-> 422, 1918 | |
| 1722 <-> 1441, 1722 | |
| 1723 <-> 893, 1915 | |
| 1724 <-> 508, 750, 955 | |
| 1725 <-> 1725 | |
| 1726 <-> 1406, 1959 | |
| 1727 <-> 1797 | |
| 1728 <-> 14, 1446 | |
| 1729 <-> 1524 | |
| 1730 <-> 1377, 1737 | |
| 1731 <-> 104, 749 | |
| 1732 <-> 129, 1908 | |
| 1733 <-> 174, 655, 938 | |
| 1734 <-> 816, 1634, 1734 | |
| 1735 <-> 538, 1484 | |
| 1736 <-> 0, 1138, 1529 | |
| 1737 <-> 1711, 1730 | |
| 1738 <-> 26, 1353, 1757 | |
| 1739 <-> 302, 1080 | |
| 1740 <-> 118, 257 | |
| 1741 <-> 152, 219, 876 | |
| 1742 <-> 1841, 1945 | |
| 1743 <-> 333, 1649 | |
| 1744 <-> 659, 743, 856, 1192 | |
| 1745 <-> 1568 | |
| 1746 <-> 1746 | |
| 1747 <-> 579, 1048 | |
| 1748 <-> 283 | |
| 1749 <-> 189, 350, 1523, 1848, 1894 | |
| 1750 <-> 881 | |
| 1751 <-> 344 | |
| 1752 <-> 1099 | |
| 1753 <-> 1753 | |
| 1754 <-> 1011 | |
| 1755 <-> 1755, 1939 | |
| 1756 <-> 933 | |
| 1757 <-> 1738 | |
| 1758 <-> 1121, 1215, 1498 | |
| 1759 <-> 1233, 1269, 1412 | |
| 1760 <-> 198, 679, 840 | |
| 1761 <-> 1176 | |
| 1762 <-> 713, 1720 | |
| 1763 <-> 1617 | |
| 1764 <-> 613 | |
| 1765 <-> 1625 | |
| 1766 <-> 99 | |
| 1767 <-> 623, 751, 1526 | |
| 1768 <-> 82 | |
| 1769 <-> 1311, 1921 | |
| 1770 <-> 565, 1995 | |
| 1771 <-> 77, 1771 | |
| 1772 <-> 805, 1647, 1772 | |
| 1773 <-> 1773, 1826 | |
| 1774 <-> 303 | |
| 1775 <-> 239, 259 | |
| 1776 <-> 225 | |
| 1777 <-> 393 | |
| 1778 <-> 482, 699, 709, 1054 | |
| 1779 <-> 264, 1689 | |
| 1780 <-> 61, 194, 707, 1005, 1410, 1999 | |
| 1781 <-> 165, 1060, 1978 | |
| 1782 <-> 264 | |
| 1783 <-> 897, 1235, 1845 | |
| 1784 <-> 1784 | |
| 1785 <-> 1477, 1915 | |
| 1786 <-> 1055 | |
| 1787 <-> 1057, 1687, 1899 | |
| 1788 <-> 498, 937, 1859 | |
| 1789 <-> 1075, 1125 | |
| 1790 <-> 646, 1350 | |
| 1791 <-> 617 | |
| 1792 <-> 1855 | |
| 1793 <-> 1698 | |
| 1794 <-> 958 | |
| 1795 <-> 1148, 1695 | |
| 1796 <-> 779, 1459, 1857 | |
| 1797 <-> 1150, 1727 | |
| 1798 <-> 500 | |
| 1799 <-> 795, 1149, 1460 | |
| 1800 <-> 368, 1800 | |
| 1801 <-> 220 | |
| 1802 <-> 99, 1093 | |
| 1803 <-> 1810 | |
| 1804 <-> 1299 | |
| 1805 <-> 292, 527, 1317 | |
| 1806 <-> 443, 1865 | |
| 1807 <-> 795, 1911 | |
| 1808 <-> 940 | |
| 1809 <-> 122, 595 | |
| 1810 <-> 345, 1803 | |
| 1811 <-> 1980 | |
| 1812 <-> 892 | |
| 1813 <-> 421, 606 | |
| 1814 <-> 612, 780 | |
| 1815 <-> 656, 884 | |
| 1816 <-> 925, 1355 | |
| 1817 <-> 635, 666 | |
| 1818 <-> 29, 206 | |
| 1819 <-> 1212 | |
| 1820 <-> 1874 | |
| 1821 <-> 227, 967 | |
| 1822 <-> 736, 739, 1430 | |
| 1823 <-> 1378 | |
| 1824 <-> 68, 1439 | |
| 1825 <-> 700 | |
| 1826 <-> 557, 1773 | |
| 1827 <-> 98, 1971 | |
| 1828 <-> 1606, 1865 | |
| 1829 <-> 449 | |
| 1830 <-> 1830 | |
| 1831 <-> 20, 878, 1174, 1557 | |
| 1832 <-> 1379, 1404, 1832 | |
| 1833 <-> 107 | |
| 1834 <-> 423, 560, 1276 | |
| 1835 <-> 867 | |
| 1836 <-> 118, 1646 | |
| 1837 <-> 47, 1120, 1518 | |
| 1838 <-> 243, 990 | |
| 1839 <-> 1839 | |
| 1840 <-> 478 | |
| 1841 <-> 1742 | |
| 1842 <-> 565 | |
| 1843 <-> 594, 747, 859 | |
| 1844 <-> 461 | |
| 1845 <-> 1783 | |
| 1846 <-> 1326, 1431 | |
| 1847 <-> 633, 1888 | |
| 1848 <-> 1749 | |
| 1849 <-> 24, 48, 292, 1851 | |
| 1850 <-> 440, 782 | |
| 1851 <-> 1849 | |
| 1852 <-> 1684 | |
| 1853 <-> 1853 | |
| 1854 <-> 557, 1170, 1565 | |
| 1855 <-> 70, 1792 | |
| 1856 <-> 1720 | |
| 1857 <-> 1796 | |
| 1858 <-> 417 | |
| 1859 <-> 1320, 1788 | |
| 1860 <-> 36, 879, 1136 | |
| 1861 <-> 830, 1114 | |
| 1862 <-> 416, 1262 | |
| 1863 <-> 28, 769, 787, 1062 | |
| 1864 <-> 1609, 1920, 1953 | |
| 1865 <-> 189, 1806, 1828, 1969 | |
| 1866 <-> 451 | |
| 1867 <-> 1555 | |
| 1868 <-> 1868 | |
| 1869 <-> 1444 | |
| 1870 <-> 1396 | |
| 1871 <-> 1939 | |
| 1872 <-> 1914 | |
| 1873 <-> 694, 1043 | |
| 1874 <-> 241, 877, 1820 | |
| 1875 <-> 1646, 1656 | |
| 1876 <-> 1523 | |
| 1877 <-> 1877 | |
| 1878 <-> 159, 688, 907 | |
| 1879 <-> 1328, 1879 | |
| 1880 <-> 415 | |
| 1881 <-> 65 | |
| 1882 <-> 201 | |
| 1883 <-> 812, 1207 | |
| 1884 <-> 731, 861, 1071, 1616 | |
| 1885 <-> 753, 1885 | |
| 1886 <-> 75 | |
| 1887 <-> 766, 807 | |
| 1888 <-> 240, 1581, 1847 | |
| 1889 <-> 800, 1527 | |
| 1890 <-> 1546, 1667 | |
| 1891 <-> 186, 548 | |
| 1892 <-> 1708 | |
| 1893 <-> 1499 | |
| 1894 <-> 475, 843, 1749 | |
| 1895 <-> 622, 1895, 1978 | |
| 1896 <-> 334 | |
| 1897 <-> 1339, 1618, 1949 | |
| 1898 <-> 1171 | |
| 1899 <-> 1787 | |
| 1900 <-> 1069, 1697 | |
| 1901 <-> 142 | |
| 1902 <-> 291, 305 | |
| 1903 <-> 745 | |
| 1904 <-> 1663 | |
| 1905 <-> 829, 1506 | |
| 1906 <-> 316, 767, 1298, 1999 | |
| 1907 <-> 183, 1451, 1583 | |
| 1908 <-> 908, 1732 | |
| 1909 <-> 62 | |
| 1910 <-> 1999 | |
| 1911 <-> 364, 1807 | |
| 1912 <-> 372, 1912 | |
| 1913 <-> 161, 601, 1692 | |
| 1914 <-> 1347, 1456, 1717, 1872 | |
| 1915 <-> 760, 1723, 1785 | |
| 1916 <-> 1270 | |
| 1917 <-> 1355 | |
| 1918 <-> 1721 | |
| 1919 <-> 590, 1010 | |
| 1920 <-> 414, 1864 | |
| 1921 <-> 1769 | |
| 1922 <-> 232 | |
| 1923 <-> 238, 271, 1923 | |
| 1924 <-> 571, 917 | |
| 1925 <-> 556, 1925 | |
| 1926 <-> 129, 581 | |
| 1927 <-> 360, 1544 | |
| 1928 <-> 289 | |
| 1929 <-> 1627, 1929 | |
| 1930 <-> 181, 1347, 1652 | |
| 1931 <-> 469, 1931 | |
| 1932 <-> 1399 | |
| 1933 <-> 919, 1304 | |
| 1934 <-> 290 | |
| 1935 <-> 803, 892, 903, 1713 | |
| 1936 <-> 1146 | |
| 1937 <-> 146, 1472, 1474 | |
| 1938 <-> 149 | |
| 1939 <-> 88, 1755, 1871 | |
| 1940 <-> 980 | |
| 1941 <-> 548, 828 | |
| 1942 <-> 613, 988 | |
| 1943 <-> 1281 | |
| 1944 <-> 239, 326, 530 | |
| 1945 <-> 49, 1242, 1742 | |
| 1946 <-> 1344, 1590, 1648 | |
| 1947 <-> 1050 | |
| 1948 <-> 607, 1303, 1319, 1365 | |
| 1949 <-> 1897 | |
| 1950 <-> 1950 | |
| 1951 <-> 553, 921, 1502 | |
| 1952 <-> 163, 1362 | |
| 1953 <-> 1864 | |
| 1954 <-> 495, 620 | |
| 1955 <-> 735, 1585 | |
| 1956 <-> 11, 1145 | |
| 1957 <-> 941 | |
| 1958 <-> 398, 668 | |
| 1959 <-> 340, 1726 | |
| 1960 <-> 934 | |
| 1961 <-> 641 | |
| 1962 <-> 1447 | |
| 1963 <-> 112, 1050 | |
| 1964 <-> 1296 | |
| 1965 <-> 61 | |
| 1966 <-> 890, 1222, 1274 | |
| 1967 <-> 545, 550, 729, 1451 | |
| 1968 <-> 873 | |
| 1969 <-> 704, 1865 | |
| 1970 <-> 393 | |
| 1971 <-> 1827 | |
| 1972 <-> 326, 958 | |
| 1973 <-> 1086, 1973 | |
| 1974 <-> 319, 1974 | |
| 1975 <-> 452 | |
| 1976 <-> 155 | |
| 1977 <-> 410 | |
| 1978 <-> 1520, 1781, 1895 | |
| 1979 <-> 1132 | |
| 1980 <-> 1510, 1605, 1811 | |
| 1981 <-> 184 | |
| 1982 <-> 39 | |
| 1983 <-> 1983 | |
| 1984 <-> 379, 494 | |
| 1985 <-> 95 | |
| 1986 <-> 1691 | |
| 1987 <-> 1505, 1678 | |
| 1988 <-> 124, 516, 784 | |
| 1989 <-> 322 | |
| 1990 <-> 1512, 1707 | |
| 1991 <-> 226 | |
| 1992 <-> 894, 1534 | |
| 1993 <-> 1196, 1706 | |
| 1994 <-> 16, 1454, 1707 | |
| 1995 <-> 682, 1770 | |
| 1996 <-> 1284 | |
| 1997 <-> 153, 308, 1351 | |
| 1998 <-> 5, 235, 428, 524 | |
| 1999 <-> 1407, 1780, 1906, 1910 | |
| */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func generator(start: Int, multiply: Int, modulo: Int, dividable: Int = 1) -> () -> Int { | |
| var i = start | |
| return { | |
| repeat { | |
| i *= multiply | |
| i %= modulo | |
| } while (i%dividable != 0) | |
| return i & ( (1<<16)-1 ) | |
| } | |
| } | |
| var A : ()->Int; | |
| var B : ()->Int; | |
| A = generator(start: 65, multiply: 16807, modulo: 2147483647, dividable: 4) | |
| B = generator(start: 8921, multiply: 48271, modulo: 2147483647, dividable: 8) | |
| var sum = 0 | |
| for _ in stride(from: 0, to: 5000000, by: 1) { | |
| //print(A(),B(),separator:" ") | |
| if A() == B() { | |
| sum += 1 | |
| } | |
| } | |
| print( sum ) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| func part1( step: Int = 3 ){ | |
| var list = [0] | |
| var pos = 0 | |
| for i in 1...2017 { | |
| pos += step | |
| pos %= list.count | |
| list.insert( i, at: pos+1) | |
| pos += 1 | |
| //print(pos,list) | |
| } | |
| var found = false | |
| for i in 1...2017 { | |
| if found { | |
| print(list[i]) | |
| break | |
| } | |
| if list[i] == 2017 { | |
| found = true | |
| } | |
| } | |
| } | |
| func part2( step: Int = 3 ) { | |
| var size = 1 | |
| var pos = 0 | |
| var after = 0 | |
| for i in 1...50000000 { | |
| pos += step | |
| pos = pos % size | |
| size += 1 // insert | |
| pos += 1 | |
| if pos == 1 { | |
| after = i | |
| } | |
| } | |
| print(after) | |
| } | |
| part1( step: 329) | |
| part2( step: 329) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #if os(Linux) | |
| import Glibc | |
| #else | |
| import Darwin.C | |
| #endif | |
| setbuf(stdout, nil); // turn off buffering (just for debugging) | |
| var sum1=0 | |
| var sum2=0 | |
| while let line = readLine() { | |
| var a = line.characters.split(separator:"\t").map(String.init) | |
| var data = Array<Int>() | |
| for i in stride(from: 0, to: a.count, by: 1) { | |
| data.append( Int(a[i])! ) | |
| } | |
| var max = data[0] | |
| var min = data[0] | |
| for i in stride(from: 0, to: data.count, by: 1) { | |
| if data[i] > max { | |
| max=data[i] | |
| } | |
| if data[i] < min { | |
| min=data[i] | |
| } | |
| for j in stride(from: 0, to: data.count, by: 1) { | |
| if i != j && ( data[i] % data[j] == 0 ) { | |
| sum2+=data[i]/data[j] | |
| } | |
| } | |
| } | |
| sum1+=max-min | |
| } | |
| print(sum1) //42378 | |
| print(sum2) //246 | |
| /* | |
| stdin for the test: | |
| 5 1 9 5 | |
| 7 5 3 | |
| 2 4 6 8 | |
| stdin for the input: | |
| 278 1689 250 1512 1792 1974 175 1639 235 1635 1690 1947 810 224 928 859 | |
| 160 50 55 81 68 130 145 21 211 136 119 78 174 155 149 72 | |
| 4284 185 4499 273 4750 4620 4779 4669 2333 231 416 1603 197 922 5149 2993 | |
| 120 124 104 1015 1467 110 299 320 1516 137 1473 132 1229 1329 1430 392 | |
| 257 234 3409 2914 2993 3291 368 284 259 3445 245 1400 3276 339 2207 233 | |
| 1259 78 811 99 2295 1628 3264 2616 116 3069 2622 1696 1457 1532 268 82 | |
| 868 619 139 522 168 872 176 160 1010 200 974 1008 1139 552 510 1083 | |
| 1982 224 3003 234 212 1293 1453 3359 326 3627 3276 3347 1438 2910 248 2512 | |
| 4964 527 5108 4742 4282 4561 4070 3540 196 228 3639 4848 152 1174 5005 202 | |
| 1381 1480 116 435 980 1022 155 1452 1372 121 128 869 1043 826 1398 137 | |
| 2067 2153 622 1479 2405 1134 2160 1057 819 99 106 1628 1538 108 112 1732 | |
| 4535 2729 4960 241 4372 3960 248 267 230 5083 827 1843 3488 4762 2294 3932 | |
| 3245 190 2249 2812 2620 2743 2209 465 139 2757 203 2832 2454 177 2799 2278 | |
| 1308 797 498 791 1312 99 1402 1332 521 1354 1339 101 367 1333 111 92 | |
| 149 4140 112 3748 148 815 4261 138 1422 2670 32 334 2029 4750 4472 2010 | |
| 114 605 94 136 96 167 553 395 164 159 284 104 530 551 544 18 | |
| */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import Foundation | |
| func part1(num: Int) -> Int { | |
| let closestknown = Int((sqrt(Double(num))-1.0)/2)*2+1; | |
| let closestcorner = Int(pow(Double(closestknown),2.0)); | |
| var dx = closestknown/2; | |
| var dy = closestknown/2; | |
| print(closestcorner) | |
| print(dx,dy); | |
| if num > closestcorner { | |
| dx += 1; | |
| dy -= min(num-closestcorner-1,closestknown); | |
| } | |
| print(dx,dy); | |
| if num > closestcorner+closestknown+1 { | |
| dx -= min(num-(closestcorner+closestknown+1),closestknown+1); | |
| } | |
| print(dx,dy); | |
| if num > closestcorner+(closestknown+1)*2 { | |
| dy += min(num-(closestcorner+(closestknown+1)*2),closestknown+1); | |
| } | |
| print(dx,dy); | |
| if num > closestcorner+(closestknown+1)*3 { | |
| dx += min(num-(closestcorner+(closestknown+1)*3),closestknown+1); | |
| } | |
| print(dx,dy); | |
| return abs(dx)+abs(dy); | |
| } | |
| print( part1(num:1) ); | |
| print( part1(num:12) ); | |
| print( part1(num:23) ); | |
| print( part1(num:312051) ); | |
| func part2(num:Int){ | |
| let matrixsize = 50 | |
| var matrix:[[Int]] = [[Int]](repeating: [Int](repeating: 0, count:matrixsize), count:matrixsize) | |
| var posx = matrixsize/2 | |
| var posy = matrixsize/2 | |
| var v = 1 | |
| matrix[posy][posx] = v | |
| v+=1 | |
| let part = 1 | |
| func fillcell(x:Int,y:Int) -> Bool { | |
| /*matrix[y][x] = v | |
| v+=1*/ | |
| var sum = 0 | |
| for i in stride(from:x-1, to: x+2, by: 1) { | |
| for j in stride(from:y-1, to: y+2, by: 1) { | |
| sum+=matrix[j][i] | |
| } | |
| } | |
| matrix[y][x] = sum | |
| if sum > num { | |
| print("found: "+String(sum)) | |
| return true | |
| } | |
| return false | |
| } | |
| for level in stride(from:3, to: 100, by: 2) { | |
| posx+=1 | |
| posy+=1 | |
| for _ in 0..<(level-1) { | |
| posy-=1 | |
| if fillcell(x:posx,y:posy) { | |
| return | |
| } | |
| } | |
| for _ in 0..<(level-1) { | |
| posx-=1 | |
| if fillcell(x:posx,y:posy) { | |
| return | |
| } | |
| } | |
| for _ in 0..<(level-1) { | |
| posy+=1 | |
| if fillcell(x:posx,y:posy) { | |
| return | |
| } | |
| } | |
| for _ in 0..<(level-1) { | |
| posx+=1 | |
| if fillcell(x:posx,y:posy) { | |
| return | |
| } | |
| } | |
| } | |
| /* | |
| for coll in matrix { | |
| for cell in coll { | |
| print(cell,terminator:" ") | |
| } | |
| print() | |
| } | |
| */ | |
| } | |
| //print(matrix) | |
| part2(num:10) | |
| part2(num:312051) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment