Files
adventcode2024/11/11.ipynb
2024-12-11 23:09:05 +01:00

152 lines
63 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 336,
"metadata": {},
"outputs": [],
"source": [
"input = r'''0 1 10 99 999'''\n",
"input = r'''125 17'''\n",
"input = r'''475449 2599064 213 0 2 65 5755 51149'''\n",
"\n",
"\n",
"stones = {int(x):1 for x in input.split()}\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from collections import defaultdict\n",
"\n",
"def step(stones):\n",
" output=defaultdict(int)\n",
" for stone,count in stones.items():\n",
" if stone == 0:\n",
" output[1]+=count\n",
" elif (tx_stone := str(stone)) and len(tx_stone) %2 == 0:\n",
" half = len(tx_stone)//2\n",
" left = int(tx_stone[:half])\n",
" right = int(tx_stone[half:])\n",
" output[left]+=count\n",
" output[right]+=count\n",
" else:\n",
" output[stone * 2024]+=count\n",
" return output\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"for i in range(75):\n",
" stones=step(stones)\n"
]
},
{
"cell_type": "code",
"execution_count": 269,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"228449040027793"
]
},
"execution_count": 269,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sum(stones.values())"
]
},
{
"cell_type": "code",
"execution_count": 459,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"defaultdict(<class 'int'>, {6072: 673206953446361827286, 4048: 2734962356528935214636, 14168: 1343031271242210938014, 12144: 2300399947749196772879, 32772608: 1863779202753698640740, 40: 1800617350854067786011, 48: 1963004354915731679509, 2024: 1901242329177217918652, 80: 2071514762314577986161, 96: 1909127758252913749300, 16192: 2830947128757671518126, 18216: 1268972356388161972299, 8096: 2899816988343294077917, 10120: 569045306257576076768, 1: 2887855190943409245055, 36869184: 835429087093576428724, 24579456: 1514487337123235977781, 28: 545640724430717426974, 67: 383253720369045854463, 60: 826473730693175762336, 32: 1191095444078885640165, 24: 1908139147880629965130, 57: 656448851778621933102, 94: 656448851778621838017, 56: 656448851778627848108, 3: 1022537248590681705286, 2: 4154202543052785522877, 7: 2039928642914626319453, 6: 3494049803451761028009, 77: 807841723709838053671, 26: 807841723709836079846, 8: 4299935420757677600191, 36: 362115363446705336479, 86: 362115363446702092621, 91: 362115363446699634033, 84: 362115363446704267359, 20: 1414077300163673644677, 0: 4024270438576582418162, 4: 4404541520680163316089, 9: 1927418059972380388541, 72: 443220010324135438919, 28676032: 884207592768322392473, 3277: 1227019168257705602169, 2608: 1227019168257705617679, 20482880: 374644389308688664777, 3686: 550006170363052763461, 9184: 550006170363052763461, 2457: 997052327100450699998, 9456: 997052327100450699998, 5: 864321261489050567651, 2867: 582104108096953186703, 6032: 582104108096953405172, 2048: 246636878600168153652, 2880: 246636878600168153652, 291: 1789758, 151: 342634, 849: 342634, 472: 1844850, 7644: 902465, 6480: 902465, 8717: 902465, 7728: 902465, 7827: 1013758, 104: 2102093, 277518444544: 1013758, 485: 1329398, 760: 2384941, 848: 1206102, 3490282752: 24893, 582: 978569, 912: 1136525, 383: 139159, 177: 64484, 332: 546023, 736: 924747, 514096: 1532150, 902704: 709670, 1068672: 1538929, 1036288: 1746323, 7296: 827680, 3176: 685472, 355910522880: 685472, 36459: 399206, 52640: 399206, 22940: 4557788, 82560: 4557788, 26750: 1000893, 64128: 1000893, 30806: 1830556, 25152: 1830556, 6964: 1212535, 7864: 1212535, 4825: 1661335, 2160: 1423211, 276: 80970, 338: 2639160, 630: 80970, 656: 886237, 327: 439800, 463: 309842, 899: 309842, 136: 1139416, 4294: 961302, 9280: 961302, 5336: 961302, 8832: 961302, 1190112: 1118783, 1991616: 2000995, 1866128: 1680826, 1910656: 1888411, 7097: 179997, 3584: 179997, 282893152256: 179997, 1256904: 253530, 744832: 856504, 26545: 894907, 81248: 894907, 2318662016: 617107, 2949534720: 2453816, 4576: 1106822, 8712: 253523, 409: 711184, 133: 51132, 238: 342218, 272: 215231, 316: 381339, 714: 826842, 483: 436766, 712: 2471469, 7511: 198201, 8736: 501195, 400874541056: 198201, 6235: 1342286, 1344: 1342286, 5090: 1342286, 7648: 1342286, 28757: 184489, 96352: 184489, 1341912: 1767369, 1764928: 4344696, 21384: 506160, 12672: 506160, 785312: 313055, 1230592: 447840, 4593: 258062, 4680: 258062, 30478: 608194, 52544: 608194, 34083: 656657, 51232: 656657, 1260952: 384633, 793408: 1223060, 21097: 255457, 36640: 255457, 817696: 773910, 1619200: 1207773, 1477520: 388830, 1343936: 696267, 1165824: 528848, 1700160: 2254190, 941160: 371454, 1052480: 1580061, 24251: 815059, 72992: 815059, 763: 471883, 827: 522166, 816: 1780515, 2982307328: 2142927, 4170: 376772, 4520: 376772, 318418659328: 376772, 8092: 398269, 3568: 398269, 238322405376: 398269, 378: 181581, 195: 1336377, 896: 1362239, 320: 665404, 2162992128: 1323657, 249: 1118147, 71: 3838249, 820: 476981, 800: 1415292, 623: 452973, 392: 1439963, 920: 2335213, 3219908736: 355285, 2031901696: 1539696, 26422: 118500, 91520: 118500, 26873: 551159, 53856: 551159, 4958: 92533, 1928: 92533, 214857218048: 92533, 39204: 108810, 23232: 108810, 1441088: 2111239, 906752: 475091, 1789216: 601144, 987712: 1556273, 752928: 750103, 841984: 852123, 530288: 633355, 1426920: 526219, 455400: 544669, 1473472: 2494680, 29495: 2095582, 34720: 2095582, 22285: 4328598, 37344: 4328598, 1853984: 1459066, 1540264: 1731186, 394: 1392627, 39378944: 314596, 347: 405899, 258: 420481, 554: 566990, 368: 1009121, 6840: 560668, 3104: 912076, 308062515200: 560668, 6566: 706360, 6656: 706360, 361285230592: 706360, 5737: 41638, 6352: 41638, 6191: 41638, 8208: 385856, 1720400: 121360, 40638: 493941, 3392: 695861, 7462: 115095, 2856: 115095, 3724: 115095, 1600: 115095, 5638: 2326812, 544: 6922743, 293642567680: 2326812, 4692: 383261, 8464: 383261, 254053257216: 383261, 5969: 1537165, 7880: 1537165, 7027: 1537165, 3280: 1558662, 22695: 351408, 23596: 387076, 27776: 387076, 1993640: 85057, 1392512: 4265707, 32117: 764042, 15584: 764042, 1513952: 12930, 1781120: 1280411, 1605032: 896373, 825792: 1413315, 6168: 446442, 7472: 446442, 215250489344: 446442, 82: 4305448, 23: 2720733, 27: 3133528, 65: 6737772, 59: 4095116, 61: 4788411, 327463: 361498, 899136: 361498, 1453232: 589783, 37278: 315239, 84160: 315239, 36049: 938929, 86880: 938929, 2228537344: 5074874, 293: 2126708, 642: 1708852, 567: 1708852, 680: 5085788, 3289550528: 284538, 49498944: 152427, 113084928: 152427, 2122026368: 1537246, 456: 2688143, 2568553152: 373186, 890: 641662, 560: 7284919, 78436072: 92212, 123253504: 92212, 41787504: 133049, 150391296: 133049, 58370136: 510720, 181156096: 510720, 45104840: 3713392, 75584256: 3713392, 593: 2240477, 2630001792: 1250259, 2322758592: 1250259, 2785671680: 3718640, 7528: 236334, 4704: 426395, 372821188608: 214998, 6434: 316995, 936: 1529841, 8698: 316995, 3424: 329228, 5497: 950303, 1840: 1075867, 6049: 950303, 3312: 950303, 7230: 2335400, 1328: 2335400, 2888: 2335400, 6528: 2767119, 35230: 518453, 55360: 518453, 892: 44622, 584: 469045, 469: 183361, 568: 306962, 43694112: 8333, 193397248: 8333, 62185376: 8333, 64768000: 8333, 588: 1311363, 984: 2345222, 922: 1967365, 944: 2211887, 2195764736: 2562196, 728: 2928150, 640: 2128579, 81421472: 8333, 76167168: 8333, 4026934208: 68990, 2720126464: 601205, 43777096: 966408, 186467072: 966408, 260: 575822, 607: 575822, 778: 575822, 386: 1017854, 454: 683523, 536: 3501102, 461: 217969, 3617276608: 69679, 3662338944: 69679, 550: 157649, 528: 1804486, 301: 108519, 901: 100416, 264: 1692418, 6898: 481537, 3992: 481537, 209875781632: 481537, 671: 401387, 968: 4565894, 3432930688: 353952, 2482525056: 429353, 3473896448: 886080, 479: 486686, 688: 5012155, 2191668160: 1597265, 3531248512: 577078, 3211715584: 899864, 37852: 1218192, 36224: 1218192, 39654: 2854112, 85568: 2854112, 35148: 1269716, 62208: 1269716, 720544: 2158552, 453376: 2721300, 833: 439337, 888: 814434, 3670532096: 993808, 2335048320: 180830, 3146170368: 671549, 74041968: 70880, 85752832: 70880, 621: 296675, 2654581248: 1049022, 4427: 569896, 5000: 569896, 293249296384: 569896, 27856: 3174683, 71680: 3174683, 232: 250962, 426: 190103, 3768849920: 1710044, 574: 552481, 4055610240: 552481, 2453849024: 1287406, 340: 1857598, 80259696: 2447204, 173189632: 2447204, 360: 1221169, 3863071168: 860673, 3834395136: 1120168, 2294082560: 5336320, 213: 2444635, 314: 2444635, 28020: 1207227, 57984: 1207227, 457424: 3082082, 696256: 1542679, 26013: 1157865, 25760: 1157865, 21957: 2186825, 64736: 2186825, 4643: 3334329, 338213314560: 3334329, 479688: 566330, 1082840: 1863338, 1744688: 671244, 1586816: 1044439, 3785236224: 1420079, 3965485568: 3344143, 3514862208: 1481528, 356: 2527640, 224: 3185827, 44: 13900256, 16: 10334782, 89: 5170732, 63: 5658650, 12: 8895319, 30: 4510261, 13: 6434685, 88: 9658637, 57708288: 1389738, 34197504: 1389738, 1277144: 933509, 536360: 1020588, 394680: 1136847, 1908632: 1000518, 1894464: 1303196, 1384416: 1648670, 226688: 3563369, 872344: 1528511, 1285240: 1582811, 1084864: 2983277, 3969582144: 305272, 57044416: 2676528, 89638912: 2676528, 35: 3134828, 79: 3318753, 279222: 855300, 620160: 855300, 47: 2831856, 14: 1867224, 98: 2827252, 18: 2849568, 31: 5110236, 54: 2787269, 350: 1531150, 535: 2180348, 815: 1560076, 168: 2534570, 254: 1790393, 839: 678420, 799: 977594, 808: 1143312, 24087: 819047, 86688: 819047, 40310: 1466228, 30784: 1466228, 37770: 1232605, 43072: 1232605, 38671: 1385001, 67744: 1385001, 52: 9915991, 83: 2393991, 76: 12869720, 85: 2530209, 81836392: 795849, 41516288: 795849, 59034008: 1322734, 125714688: 1322734, 708400: 1310444, 1649560: 1335070, 340032: 2161198, 44440968: 1872071, 131025664: 1872071, 2621808640: 1556270, 3264971072: 745959, 56380544: 2721334, 145080320: 2721334, 78: 6771388, 291545: 460163, 120768: 460163, 62: 4880066, 389731: 599202, 854336: 599202, 237535: 756862, 862784: 756862, 924: 1941291, 858: 2024270, 176: 3181965, 72301328: 2724491, 28886528: 2724491, 2851216896: 1898974, 518: 2098949, 144: 1440182, 631488: 1274270, 1959232: 3900265, 265195: 1368785, 943936: 1368785, 684112: 2256663, 431112: 2091384, 635536: 2091384, 1133440: 6233700, 336: 2267057, 509: 193536, 138: 140056, 2310468864: 446752, 908: 469601, 776: 691901, 663: 2073770, 872: 5093204, 51405552: 392002, 156090880: 392002, 653: 1592878, 752: 2920558, 3441123840: 1932821, 29003: 701064, 75808: 701064, 1637416: 1659088, 1214400: 2547457, 4435: 997990, 7984: 1041237, 279222620160: 997990, 6757: 714454, 5288: 714454, 323840: 2539067, 21056: 821107, 40064: 821107, 6956: 311070, 4880: 311070, 5518: 311070, 2336: 563569, 6624: 446681, 7544: 446681, 263098497024: 446681, 6699: 523413, 4400: 1893038, 6761: 523413, 7792: 648977, 75: 7513354, 260607: 668682, 778816: 668682, 386454: 793356, 593536: 793356, 718520: 805790, 248952: 463896, 1983520: 375314, 582912: 1141144, 425040: 1314047, 1003904: 1793953, 560648: 633725, 1048432: 1793346, 898656: 633725, 1101056: 5914631, 514: 1314077, 902: 618523, 704: 952413, 2097446912: 1496222, 58702072: 601745, 153435392: 601745, 3314129984: 1420008, 2457945600: 2187104, 2818444288: 3665086, 323: 2180609, 840: 2644440, 2408786688: 960890, 4031030784: 1716643, 45187824: 211231, 68654080: 211231, 489: 757227, 3604986880: 1098310, 63677064: 490223, 142424832: 490223, 3224005312: 275023, 64: 8992158, 60608680: 275023, 196441344: 275023, 70807616: 275023, 153629696: 275023, 969: 417812, 496: 2102522, 44357984: 1169600, 137955840: 1169600, 71471488: 420925, 98188288: 420925, 65004808: 657818, 31542016: 657818, 7661: 891566, 2448: 1625448, 7331: 891566, 7376: 891566, 8025: 2091112, 9696: 2091112, 350535815168: 2091112, 7113: 929359, 9552: 929359, 254839799808: 929359, 1457280: 2860096, 916872: 1992909, 761024: 2363626, 52318376: 584053, 79858944: 584053, 4043320512: 1087618, 2916762112: 1807663, 25: 5494311, 350535: 1789498, 815168: 1789498, 797: 1019739, 78187120: 628666, 144044032: 628666, 77606232: 818788, 192555264: 818788, 56712480: 1035384, 117359616: 1035384, 457: 2656147, 424: 2769541, 3572214272: 3726916, 696: 2594219, 256: 1775016, 52650312: 992960, 52138240: 992960, 46: 5257257, 43: 5855230, 338213: 2859261, 314560: 2859261, 473: 237410, 616: 49244, 522: 811186, 192: 505884, 2462042176: 47589, 4676: 279010, 2496: 527407, 282106609664: 279010, 5770: 1191242, 8288: 1552308, 3419: 1191242, 7504: 1304190, 5231: 502587, 8376: 502587, 7985: 502587, 8944: 908379, 40433: 934368, 20512: 934368, 29167: 1549166, 62112: 1549166, 425: 1127955, 648: 1434279, 898: 545623, 433: 378689, 50494752: 152202, 29922816: 152202, 55054824: 439376, 53563136: 439376, 928: 643302, 3363288896: 371185, 380: 115504, 512: 2042551, 2490718208: 386215, 52816280: 96405, 38277888: 96405, 46430560: 3909991, 167101440: 3909991, 68: 6097296, 11: 2022385, 319598: 220834, 473216: 220834, 989: 554886, 3310033408: 838822, 72963176: 803374, 175845120: 803374, 530: 583860, 288: 1337348, 2888086080: 452114, 455: 674779, 400: 2650103, 25685: 316149, 53152: 316149, 1801360: 546167, 4585: 171769, 1696: 1486180, 1928872: 171769, 615296: 976711, 33796: 763385, 75200: 763385, 32444: 961821, 88192: 961821, 37196: 293497, 91008: 293497, 31789: 433203, 42976: 433203, 27160: 1294768, 29888: 1294768, 35722: 3185797, 14272: 3185797, 315: 244617, 927: 244617, 941: 564253, 120: 799118, 262705: 623937, 225728: 623937, 50: 4680758, 90: 1807271, 4410: 123516, 9032: 123516, 321302648832: 123516, 25849: 684345, 39456: 684345, 1997688: 1273269, 402: 532727, 578: 279873, 716: 119805, 672: 405295, 405462: 185154, 706176: 185154, 4018741056: 713922, 63013192: 1280336, 197866240: 1280336, 58: 6533238, 33: 3155788, 44275000: 661411, 144886016: 661411, 45: 6725545, 232554: 219543, 426368: 219543, 74: 5759110, 29: 2958767, 1862080: 1995582, 574816: 638561, 2003760: 638561, 1212376: 1494242, 70309712: 648290, 195210752: 648290, 860: 822869, 200: 1234615, 41125656: 1124783, 42949280: 1123534, 53368832: 1123534, 3678725248: 397949, 2687353856: 646813, 60527720: 245576, 971520: 537055, 47758304: 333931, 56218624: 333931, 69647864: 1412471, 48252160: 1412471, 3854878016: 412816, 43115248: 996208, 39508480: 996208, 49: 5468127, 299017: 513434, 275392: 513434, 7329: 324038, 5112: 324038, 299803817984: 324038, 38016: 403627, 22528: 403627, 34452: 465784, 20416: 465784, 2965921024: 143844, 2425172992: 960896, 3322323136: 127777, 2556263424: 355476, 985: 100527, 661: 334976, 3637759488: 597483, 62351344: 1562773, 50907648: 1562773, 3256777920: 149687, 874: 311394, 720: 3347735, 453: 2331586, 376: 2766375, 526: 474195, 423: 350107, 3584504000: 314502, 3199425856: 804705, 2589036032: 730100, 7735: 73184, 9304: 73184, 7918: 620739, 2928: 652602, 6088: 620739, 1920: 620739, 69066976: 236121, 96763392: 236121, 73627048: 438485, 120403712: 438485, 700304: 625494, 955328: 1575831, 2383: 487080, 4624: 487080, 25030: 293426, 7936: 293426, 1014024: 1444311, 1926848: 1364236, 6782: 226294, 2216: 226294, 406249248768: 226294, 7437: 226294, 3904: 322298, 5803: 226294, 2128: 269886, 7628: 1072341, 204501073920: 1072341, 2617712064: 204906, 2392400384: 343704, 59199976: 444032, 111854336: 444032, 4002354752: 334336, 856: 391663, 152: 552788, 977: 456455, 592: 1311722, 3015079936: 676316, 2109736640: 300941, 404: 904231, 730: 458109, 664: 819109, 576: 623087, 465: 437199, 520: 1857396, 93: 1559223, 69: 4189608, 2052384576: 1237910, 3899940352: 1171483, 78933976: 859742, 81672448: 859742, 42: 6019463, 21: 2370857, 1572648: 548266, 437184: 1118540, 7594: 784470, 8576: 784470, 260607778816: 784470, 6309: 931413, 6176: 931413, 386454593536: 931413, 503: 818390, 976: 865096, 599: 1760133, 777: 643163, 216: 1314580, 204501: 917484, 73920: 917484, 2900375808: 822341, 809: 1940505, 600: 2988506, 67575288: 837683, 160: 2977134, 66247544: 524039, 129989376: 524039, 3977775296: 452625, 2130219520: 1360949, 876: 276186, 275: 1275236, 310159: 170128, 962112: 170128, 4153: 776275, 8552: 776275, 346472011776: 776275, 7893: 733882, 3976: 733882, 8167: 780093, 7130: 379538, 5520: 379538, 226786447360: 379538, 1653608: 768444, 1408704: 2220170, 32772: 885965, 60800: 885965, 838: 481539, 606: 583975, 220: 466558, 625: 297204, 197: 297204, 32485: 658444, 84768: 658444, 1669800: 1040558, 1603008: 1309778, 1837792: 400874, 1570624: 591149, 4742: 121416, 6368: 121416, 8393: 121416, 9328: 121416, 4510: 3171360, 4840: 3171360, 7558: 3171360, 4256: 3171360, 33387: 975173, 9440: 976096, 27528: 255248, 99072: 255248, 6284: 90825, 9248: 90825, 4394: 268516, 3064: 268516, 349356001280: 268516, 5671: 885199, 2480: 885199, 237535862784: 885199, 924968: 2266610, 858176: 2363410, 28184: 3127860, 44288: 3127860, 397: 205478, 204: 818545, 282: 335568, 893: 131521, 526240: 489102, 1228568: 489102, 1574672: 489102, 1651584: 1511967, 781264: 865571, 918896: 579989, 1200232: 1903114, 1145584: 714243, 1645512: 422768, 1311552: 1221529, 1777072: 191530, 33141: 1215069, 29984: 1215069, 24579: 1866109, 45600: 1866109, 39859: 483384, 68448: 483384, 6301: 1093544, 3192: 1093544, 400481269760: 1093544, 1161776: 468053, 40556: 468053, 10240: 468053, 24538: 1096494, 49024: 1096494, 688160: 1580005, 1301432: 391827, 1279168: 851877, 1712304: 271050, 26996: 372050, 43584: 372050, 973544: 900023, 1317624: 404649, 1657656: 367476, 71305520: 439786, 112048640: 439786, 817: 897425, 3277260800: 1032608, 73: 6539016, 51: 2295613, 299803: 275337, 817984: 275337, 76944384: 344148, 45596672: 344148, 69730848: 397879, 41321984: 397879, 81587440: 1253798, 62306816: 1253798, 981640: 1134603, 1538240: 2037887, 23760: 358461, 14080: 358461, 26300: 1063111, 1792: 1063111, 23227: 1063111, 58592: 1063111, 846032: 368765, 1576696: 28102, 485760: 1552919, 259: 313624, 821: 507893, 236: 191245, 48752088: 700536, 175456512: 700536, 76446480: 1052058, 87177728: 1052058, 78270104: 1183301, 137113856: 1183301, 8283: 62418, 325366452224: 62418, 7495: 154515, 4792: 282456, 6367: 418869, 7064: 433717, 288267859968: 418869, 890560: 745257, 653752: 1861348, 20728: 149431, 67456: 149431, 40515: 345583, 13664: 345583, 30150: 575128, 79936: 575128, 28512: 1624686, 16896: 1624686, 291456: 1230763, 1732544: 333238, 307648: 470423, 7255: 195695, 280: 1144523, 6475: 505056, 5856: 505056, 5233: 505056, 2544: 505056, 5240: 456458, 1360: 456458, 7292: 456458, 8768: 456458, 6906: 201920, 6976: 201920, 9676: 201920, 7362: 373242, 7048: 373242, 243697113088: 373242, 700: 537364, 304: 1144666, 955: 1355784, 328: 2830943, 50660720: 251431, 22: 1469733, 406249: 193434, 248768: 193434, 37: 1258093, 39: 3147123, 627: 508009, 440: 874033, 2265406528: 275783, 471: 275783, 825: 1221101, 792: 1540584, 708: 1122026, 3338709440: 1143053, 4444: 1602560, 265195943936: 1602560, 29823: 1828887, 7328: 1954499, 26218: 1330642, 8640: 1330642, 32649: 635597, 71072: 635597, 545: 393362, 768: 916161, 389: 512378, 731: 512378, 854: 512378, 1248808: 155908, 647680: 564083, 25562: 300812, 63424: 353336, 7039: 155908, 2696: 155908, 381079885824: 155908, 39122: 847031, 30080: 847031, 860200: 962512, 20319: 1314411, 21220: 1314954, 26368: 1314954, 1817552: 464563, 1327744: 753402, 4916: 1026092, 7008: 1026092, 284990599168: 1026092, 240: 1812375, 580: 575292, 992: 794670, 355: 942715, 123: 543305, 980: 440464, 910: 502251, 880: 1497435, 540: 224941, 408: 1661853, 3518958784: 224941, 803: 388989, 2445655872: 208558, 566: 839519, 3875360896: 125660, 2064674304: 181257, 2883989504: 696067, 24784: 309357, 28480: 309357, 6657: 177812, 9480: 177812, 206991792128: 177812, 6774: 414181, 1256: 414181, 8158: 1075718, 7440: 1077023, 6230: 1075718, 6816: 1172582, 1040336: 1121712, 1825648: 528312, 1424896: 812920, 21629: 1127290, 92128: 1127290, 20974: 1280465, 46912: 1280465, 7030: 550200, 9712: 550200, 395106562048: 550200, 5870: 513090, 2072: 857308, 310553233408: 513090, 279: 833039, 222: 875424, 620: 730553, 263: 369703, 497: 358638, 8050: 281622, 8648: 281622, 308455786496: 281622, 4311: 847921, 5248: 954362, 3950: 847921, 8480: 847921, 35886: 172732, 1125344: 793856, 1080816: 1055314, 680064: 1932827, 321: 233483, 3940906112: 106566, 226: 3618686, 81: 4238859, 92: 8553094, 41: 3521574, 254446: 966531, 528512: 966531, 437: 963360, 184: 963360, 1698136: 581548, 1617176: 833936, 1635392: 978010, 59697880: 1793488, 70273280: 1793488, 3752463616: 1248997, 3117494336: 1480846, 31256: 293982, 87488: 293982, 33878: 324627, 68352: 324627, 33428: 1110111, 6016: 1148294, 29249: 515645, 55264: 515645, 1932920: 1154586, 663872: 2411586, 6036: 1344195, 1752: 1344195, 643632: 283519, 1333816: 507848, 481712: 291059, 651728: 546837, 819720: 499910, 1548360: 112788, 797456: 1184412, 1376320: 4333364, 36705: 851455, 32096: 851455, 1309528: 413103, 4377: 826679, 7096: 826679, 377409353728: 826679, 1018072: 697513, 1975424: 737117, 33591: 297668, 92320: 297668, 2802057984: 1416901, 344: 1809507, 2601325760: 1358984, 237: 664840, 862: 787937, 784: 1228462, 1870176: 1662350, 1736592: 1732830, 356224: 2717163, 5704: 2295010, 4416: 2295010, 8963: 2295010, 8912: 2311686, 631: 1093346, 488: 1823654, 265: 1199719, 943: 1175716, 684: 1933958, 112: 4179025, 431: 1791072, 635: 1854495, 1961256: 355901, 7147: 361066, 1488: 361066, 9818: 361066, 6500: 561278, 4808: 561278, 3154: 561278, 2016: 561278, 95: 1550994, 254839: 793600, 799808: 793600, 916: 1707156, 761: 2026395, 53: 5969582, 3777043072: 1441367, 3867167744: 1620190, 1295360: 1814449, 1613128: 867310, 922944: 2295589, 7818: 537471, 7120: 537471, 291545120768: 537471, 7760: 774217, 6232: 699345, 389731854336: 699345, 518144: 1517040, 5265: 849486, 312: 1494778, 5213: 849486, 8240: 849486, 39777: 383233, 75296: 383233, 21302: 1155567, 19520: 1155567, 1773024: 234931, 556600: 1084971, 534336: 1441298, 310: 692881, 159: 144719, 962: 144719, 884488: 820059, 372416: 820059, 4104: 33355, 2672: 33355, 333: 33355, 231: 33355, 878: 222925, 480: 630081, 214: 516707, 2302275712: 318838, 32158: 170115, 12160: 170115, 5041: 242248, 1768: 242248, 3685: 242248, 2992: 372222, 6517: 222300, 37033: 211397, 5563: 183657, 5712: 183657, 395: 405041, 106: 609088, 562: 431910, 36869: 157028, 18400: 157028, 23186: 524587, 62016: 524587, 245: 100191, 794: 100191, 32977: 100191, 43680: 100191, 22613: 345215, 9952: 345215, 775: 102706, 3945002688: 69762, 3330516288: 362842, 3596793728: 164102, 841: 743358, 67077384: 1040183, 60687616: 1040183, 49747896: 1600044, 92294400: 1600044, 80674616: 414071, 138538752: 414071, 400481: 937923, 269760: 937923, 706376: 166928, 66: 5203164, 316714: 445372, 483712: 445372, 25931: 145058, 32608: 145058, 1072720: 498491, 273: 152780, 847: 152780, 448: 559781, 6574: 483923, 9640: 483923, 347258554368: 483923, 501: 1689850, 149614080: 784465, 64340936: 371725, 86983424: 371725, 553: 376764, 233: 376764, 6707: 891025, 7384: 891025, 6068: 891025, 7616: 1132739, 4974: 1369625, 7896: 1369625, 9229: 1369625, 564: 611027, 449: 642187, 2539877120: 535741, 1321672: 1367185, 1522048: 2498943, 34411: 1655180, 23840: 1655180, 27488: 248397, 6948: 219617, 1896: 219617, 6211: 219617, 2512: 219617, 5024: 328705, 5800: 266606, 5071: 266606, 3344: 266606, 31748: 63005, 46400: 63005, 6800: 43247, 4609: 427694, 8624: 711320, 394320019456: 427694, 6135: 129625, 5536: 129625, 271357194240: 129625, 361: 626205, 678: 107243, 5099: 399483, 632: 997564, 386061322240: 399483, 358: 267920, 401: 158524, 241: 186986, 162: 175393, 393: 277493, 6425: 46631, 7952: 46631, 9391: 46631, 3600: 468457, 1588840: 230300, 24907: 328420, 18208: 328420, 29659: 121702, 21024: 121702, 20523: 1059249, 84576: 1059249, 38999: 1001286, 40352: 1001286, 1064624: 405611, 24866: 360314, 21632: 360314, 31871: 360314, 36128: 360314, 1580744: 937060, 1858032: 481889, 1813504: 1162641, 24292: 1398733, 69568: 1398733, 5820: 135937, 4168: 135937, 394713290752: 135937, 4328: 370526, 1216: 373070, 2564: 370526, 8128: 457242, 25521: 282216, 66848: 282216, 4270: 187832, 7415: 187832, 9360: 187832, 29905: 285322, 27201: 510494, 26464: 510494, 1904584: 482990, 4908: 598667, 4024: 598667, 299017275392: 598667, 6807: 231787, 1168: 231787, 364169220096: 231787, 1556456: 72133, 242880: 685846, 20605: 513222, 77728: 513222, 39982: 542263, 58176: 542263, 31830: 401828, 39552: 401828, 38876: 84931, 50624: 84931, 4709: 140894, 4432: 140894, 225999904768: 140894, 42451376: 1096076, 94949888: 1096076, 412: 601879, 302818: 576365, 897920: 576365, 5306: 974620, 5232: 974620, 6608: 466854, 1576: 466854, 291151849472: 466854, 2232633920: 288549, 242: 586058, 787: 375432, 2994597056: 375432, 3498475904: 375432, 70: 7606903, 310553: 440059, 233408: 440059, 564696: 713063, 449328: 748852, 1254880: 625663, 532312: 316505, 1005928: 306687, 2486621632: 420715, 3187136128: 420715, 3342806016: 1303372, 781: 1099223, 918: 562706, 2429269568: 1639122, 1465376: 165250, 1198208: 1112939, 1641464: 147527, 1262976: 409588, 985688: 115948, 661848: 374584, 1797312: 694374, 1609080: 173067, 874368: 190830, 97: 1833518, 402971: 179692, 987968: 179692, 87: 2036480, 290758: 186200, 578176: 186200, 17: 3917563, 392222: 168066, 572544: 168066, 667920: 86766, 702328: 343313, 15: 717787, 291151: 397872, 849472: 397872, 593032: 1809157, 1299408: 1454678, 1147608: 1454678, 1750760: 138414, 572792: 138414, 43611128: 253898, 200327424: 253898, 981: 974882, 3113397760: 1747152, 64755856: 589113, 52332544: 589113, 2187571584: 907247, 76114544: 300943, 114898432: 300943, 74290920: 728850, 64962304: 728850, 284990: 875611, 599168: 875611, 1740640: 706259, 404800: 1054808, 4112: 987292, 5656: 963553, 36787: 339683, 25248: 339683, 6052: 209383, 7720: 209383, 971: 616514, 5505: 373621, 4824: 373621, 5356: 381077, 3136: 420610, 4775: 283626, 8304: 283626, 5621: 332585, 38548: 353858, 78016: 353858, 299: 678149, 3937: 266790, 503976: 951365, 599104: 1168705, 777216: 702368, 38: 2390386, 293642: 1989277, 567680: 1989277, 548504: 87669, 722568: 80905, 392656: 80905, 27774: 66999, 78528: 66999, 36377: 508479, 59488: 508479, 25890: 622324, 36032: 622324, 99: 2475570, 21793: 168775, 78432: 168775, 4120: 163533, 6616: 163533, 402578716672: 163533, 32199: 302994, 347258: 410053, 554368: 410053, 68403104: 650921, 152204800: 650921, 65666656: 821988, 178500608: 821988, 394320: 364372, 19456: 364372, 293249: 483303, 296384: 483303, 5198: 231060, 6440: 231060, 217741207552: 231060, 26586: 105831, 77824: 105831, 28839: 594551, 89504: 594551, 6765: 813550, 8272: 941491, 349356: 227447, 1280: 227447, 48256208: 523793, 75616640: 609034, 156479488: 609034, 712448: 353292, 1281192: 197488, 76280512: 1252854, 101038080: 1252854, 6740: 225972, 9320: 225972, 3296: 424240, 6912: 225972, 5372: 655758, 7080: 890214, 332838606848: 655758, 7279: 102248, 7208: 102248, 383963875328: 102248, 434: 258335, 973: 770319, 813: 494149, 416: 998403, 210: 1539583, 277: 744001, 444: 744001, 3985968448: 563945, 48090240: 309496, 28497920: 309496, 82251312: 426992, 10: 3131868, 53231200: 916746, 47011448: 916746, 118590208: 916746, 39040: 125736, 36928: 125736, 1244760: 744696, 609: 283198, 637: 178884, 3797525952: 178884, 5414: 733561, 2000: 733561, 262705225728: 733561, 33305: 309470, 16288: 309470, 35967: 140502, 93728: 140502, 1702184: 635888, 8067: 354460, 4616: 354460, 280402434048: 354460, 481: 1052540, 269: 838928, 4059706816: 95959, 3244488192: 1127415, 4261: 600373, 7344: 1046414, 8108: 600373, 9536: 600373, 7478: 283465, 8824: 283465, 2338: 283465, 1248: 283465, 5837: 435444, 366659938304: 435444, 377: 642664, 353: 606572, 54805872: 180191, 74353664: 180191, 77689216: 130342, 185625088: 130342, 2277696256: 686062, 367: 48600, 209: 477405, 2105640064: 961440, 884: 704367, 372: 878337, 41953472: 128949, 136530944: 128949, 82002360: 297588, 27655936: 297588, 61023600: 497926, 161790464: 497926, 702: 297781, 2269503104: 415268, 744: 973616, 832: 1050953, 308: 618834, 515: 411746, 285: 585753, 230: 518962, 534: 1239191, 2666870976: 348869, 819: 430085, 935: 116756, 2892182656: 222383, 8133: 446041, 8488: 446041, 8309: 446041, 296: 1370575, 384: 824149, 2351434624: 403995, 82085344: 403995, 20725760: 403995, 49664912: 941821, 99224576: 941821, 50990632: 468107, 190741760: 468107, 19: 2808031, 54971840: 1109613, 60493312: 1109613, 597080: 131007, 1475496: 131007, 605176: 575520, 76612448: 1038924, 73317376: 1038924, 71139552: 1083520, 125908992: 1083520, 763048: 547596, 827816: 605511, 714472: 516672, 41704520: 437450, 157321472: 437450, 80923568: 462363, 117748224: 462363, 378195: 186283, 896320: 186283, 249071: 553989, 820800: 553989, 433136: 437599, 23022: 269408, 75712: 269408, 254053: 330831, 257216: 330831, 1001880: 61956, 32526: 61956, 81344: 61956, 2009832: 134745, 5779: 125612, 1272: 125612, 2726: 125612, 933064: 185495, 68071168: 272875, 179925504: 272875, 61687472: 518952, 106349056: 518952, 41538552: 906487, 171181824: 906487, 288267: 359111, 859968: 359111, 3412447808: 322701, 346472: 664019, 11776: 664019, 1236664: 401646, 501952: 930157, 33509: 309065, 99168: 309065, 36746: 309065, 28672: 309065, 37688: 1462538, 49920: 1462538, 405: 586863, 462: 159745, 706: 303448, 40187: 609930, 41056: 609930, 71056568: 43206, 132839168: 43206, 72550280: 230628, 52401360: 536154, 72928768: 536154, 63262144: 253089, 177075712: 253089, 68569072: 280323, 138344448: 280323, 67658272: 953439, 3912230080: 992963, 643: 460599, 846: 317854, 2699643584: 436224, 651: 476031, 3133880640: 97277, 2650484672: 356143, 377409: 708784, 353728: 708784, 2060577728: 597725, 3998258176: 631833, 67988184: 255212, 186855680: 255212, 66330528: 757968, 123059200: 757968, 615: 872140, 791: 70668, 4092479424: 101273, 3703304704: 246388, 445: 343702, 2560360000: 218727, 398: 218727, 639: 279824, 2924955264: 605451, 4875: 600559, 2088: 600559, 355123980288: 600559, 532: 272095, 2035998272: 263862, 786: 484403, 7263: 127418, 3264: 127418, 2359627776: 456890, 22776: 582030, 96256: 582030, 21875: 777400, 71584: 777400, 649: 171818, 79763816: 78528, 64423920: 344695, 80053248: 344695, 597: 283916, 2986403904: 112518, 307: 406119, 605: 497971, 556: 936377, 793: 1056556, 3695111552: 451215, 25439: 186049, 73696: 186049, 1505856: 827129, 1683968: 893400, 295: 153620, 729: 153620, 937: 242058, 3682821824: 227876, 2716029888: 1519067, 7802: 260292, 1152: 260292, 319598473216: 260292, 73295112: 376248, 148124416: 376248, 3080625152: 2135474, 3801622528: 469558, 3445220416: 543113, 45851696: 202446, 953: 202446, 3379675200: 892843, 46762496: 327642, 139380736: 327642, 3719691008: 344292, 3178942976: 507269, 55: 2130840, 315927: 287584, 941120: 287584, 2675064128: 1164118, 3355095744: 314999, 70890600: 73449, 146699520: 73449, 81006552: 244898, 110818048: 244898, 611: 468886, 248: 1089430, 595: 41781, 388: 370708, 608: 528374, 55716672: 218819, 200521728: 218819, 3142073792: 124173, 3424737536: 124173, 718: 691763, 3727884160: 368819, 2138412672: 594138, 435160: 462325, 28921: 189667, 82656: 189667, 1293336: 238361, 1182016: 400616, 1977448: 389780, 5903: 1134534, 4008: 1134534, 254446528512: 1134534, 37114: 271038, 97856: 271038, 23842: 612232, 7232: 612232, 37360: 709836, 77312: 709836, 4245: 937443, 1376: 937443, 9494: 937443, 9888: 952800, 833888: 513549, 302: 640293, 818: 492398, 897: 492398, 271: 102366, 357: 94511, 194: 94511, 142: 5021, 591: 5021, 6442: 294491, 3920: 294491, 8005: 294491, 3248: 348478, 36213: 441383, 73184: 441383, 1878272: 549701, 342: 124975, 8001: 47200, 392615843840: 47200, 8034: 190868, 2680: 190868, 336509138944: 190868, 1432992: 957346, 809600: 2263354, 21916: 1362326, 68160: 1362326, 34370: 425296, 27264: 425296, 32731: 609623, 64224: 609623, 33100: 715061, 33408: 715061, 75948576: 913610, 128758784: 913610, 63096176: 1083584, 190936064: 1083584, 257: 338516, 79182928: 728035, 60881920: 728035, 2027805120: 54043, 65832624: 54043, 164640256: 54043, 2593132608: 170615, 4560: 71943, 2744: 71943, 3400: 71943, 3200: 408192, 5364: 222955, 4096: 222955, 346865283072: 222955, 4966: 804340, 4912: 804340, 9922: 804340, 5323: 779943, 1200: 779943, 4701: 779943, 1448: 779943, 240026580992: 779943, 1590864: 412819, 904728: 237028, 728640: 1040380, 67741256: 481099, 1358104: 340144, 34329: 300509, 30688: 300509, 24825: 364052, 25056: 364052, 34738: 749907, 96448: 749907, 900680: 291316, 566720: 980737, 25603: 184693, 60000: 184693, 805552: 184693, 6208: 448800, 7561: 520359, 6640: 566570, 316714483712: 520359, 4477: 102841, 2904: 102841, 209089239040: 102841, 24948: 178279, 14784: 178279, 7470: 46525, 5840: 46525, 3031: 46525, 1424: 46525, 7429: 626969, 6496: 631862, 2304: 626969, 880440: 337688, 1024144: 203824, 2001736: 471564, 1489664: 786293, 856152: 297074, 35845: 267437, 4000: 267437, 31994: 684966, 25856: 684966, 40146: 274544, 44480: 274544, 1177968: 836858, 1845888: 970242, 210496: 1793882, 355910: 587263, 522880: 587263, 73793016: 343010, 106543360: 343010, 54142000: 851880, 129795072: 851880, 558624: 68490, 1275120: 68490, 937112: 264833, 1819576: 264833, 275264: 970603, 282893: 152971, 152256: 152971, 2543973696: 216591, 53727080: 768562, 164445952: 768562, 3346902592: 658223, 446: 830029, 46928464: 451377, 125520384: 451377, 740: 283191, 3842588288: 234067, 3125687488: 344934, 3387868352: 382643, 60361752: 1566009, 4067899968: 116147, 68983992: 561355, 103693568: 561355, 933: 159308, 386061: 342656, 322240: 342656, 1416800: 457714, 267: 307764, 859: 307764, 34124: 275687, 47808: 275687, 346: 731904, 23834624: 567603, 2503007936: 343724, 952: 1601515, 67822216: 264316, 200716032: 264316, 74373904: 264316, 58032128: 264316, 2400593536: 139801, 3932712960: 139801, 62849248: 107003, 47924272: 151039, 42358272: 151039, 53976032: 255026, 143655424: 255026, 1337864: 282750, 1716352: 1023984, 1896488: 204574, 36828: 192400, 21824: 192400, 70475680: 76731, 181350400: 76731, 520168: 289913, 1841840: 430476, 1056528: 691057, 215643: 250455, 760640: 250455, 1129392: 49605, 25808: 49605, 42880: 49605, 813648: 457824, 878416: 222769, 1186064: 161201, 1943040: 161201, 31052: 124455, 4608: 133477, 23678: 175199, 20928: 175199, 908776: 548860, 23432: 165746, 41472: 165746, 26177: 174530, 12064: 174530, 23924: 292623, 5919: 378210, 9976: 378210, 226393176064: 378210, 40023: 285638, 54752: 285638, 3183039552: 469707, 409526: 62300, 509568: 62300, 423016: 406406, 1771000: 365762, 77359304: 85749, 37524: 1070584, 63616: 1070584, 31174: 1270359, 94336: 1270359, 3523055360: 603290, 5804: 246091, 25193: 544455, 94240: 544455, 435: 397410, 506: 239868, 2384207232: 715629, 3736077312: 831283, 2212151040: 165014, 71222536: 165014, 118978816: 165014, 243: 285742, 697: 273833, 113: 273833, 2867603200: 392870, 821744: 184702, 1554432: 780540, 412896: 701714, 302818897920: 672613, 4850: 46989, 397204008960: 46989, 32567: 126746, 77920: 126746, 1768976: 263309, 1208328: 243609, 29864: 96004, 621368: 345086, 1224520: 421404, 36951: 387143, 11552: 387143, 7246: 142208, 4485: 66693, 5888: 66693, 9637: 66693, 4784: 66693, 5853: 139690, 6104: 139690, 338606585856: 139690, 491832: 244207, 1410728: 234119, 228712: 234119, 28676: 336249, 993: 159158, 3408351232: 768715, 57791272: 148290, 27267328: 148290, 742: 35449, 215: 543793, 262: 743923, 705: 617292, 225: 639362, 67409320: 266197, 32966912: 266197, 308455: 242587, 786496: 242587, 586: 191358, 960: 191358, 3105204608: 146621, 2367820928: 206100, 1829696: 287733, 34: 1972787, 1659680: 405184, 66081576: 544978, 143849728: 544978, 53644096: 260291, 171376128: 260291, 58204168: 158553, 195016448: 158553, 43281216: 434919, 25648128: 434919, 785: 270711, 2552166848: 331578, 42700328: 219824, 74159360: 219824, 2990500480: 335793, 49084024: 702455, 147735808: 702455, 45768712: 296085, 409133: 59664, 238272: 59664, 75118736: 230803, 198060544: 230803, 2875796352: 217418, 45934680: 303291, 3047852544: 709323, 623392: 524340, 920920: 575471, 2642291520: 138095, 49581928: 107153, 106154752: 107153, 3920423232: 126671, 209089: 88582, 239040: 88582, 647: 487254, 57376352: 49021, 61918208: 49021, 850: 143566, 4063803392: 581981, 74622856: 134081, 37241600: 134081, 748: 15183, 8200: 254145, 2360: 254145, 2765: 254145, 5936: 309088, 6102: 421826, 327463899136: 421826, 1625272: 329718, 24456: 177815, 55872: 177815, 1269048: 433479, 38753: 107493, 60896: 107493, 20646: 154469, 74304: 154469, 1530144: 39604, 37606: 352559, 56768: 352559, 7105: 36513, 6568: 36513, 268866476032: 36513, 1805408: 38155, 949256: 156505, 1149632: 260812, 400874: 168841, 541056: 168841, 5571: 186749, 6672: 482617, 405855977472: 186749, 31420: 106153, 73792: 106153, 34247: 106153, 37536: 106153, 58536104: 162045, 167295744: 162045, 611248: 547241, 1655632: 420808, 1815528: 420808, 585: 102436, 5298: 127917, 2248: 127917, 2441: 127917, 7536: 127917, 4842: 214670, 2176: 214670, 8100: 209570, 6552: 209570, 224295729152: 209570, 541: 146242, 257330: 67255, 518016: 67255, 3465703296: 232211, 53312160: 246552, 199096832: 246552, 53065232: 1139180, 50162816: 265728, 57643520: 265728, 46098624: 500520, 194822144: 500520, 65749640: 563807, 171570432: 563807, 51654504: 242512, 135300352: 242512, 3248584768: 772411, 3588600576: 202074, 364169: 199277, 220096: 199277, 3150266944: 62112, 787336: 437772, 1479544: 437772, 1728496: 437772, 1305480: 161339, 24497: 125742, 52448: 125742, 1936968: 148050, 43943064: 311923, 172606720: 311923, 352633: 241084, 262080: 241084, 349: 197050, 51986440: 273301, 107579648: 273301, 3645952640: 469047, 3904036928: 148081, 282106: 239870, 609664: 239870, 75284704: 251764, 184200192: 251764, 637560: 210535, 1876248: 210535, 5115: 84448, 6600: 84448, 358007969792: 84448, 26504: 303778, 84672: 303778, 771: 84448, 3625469760: 84448, 3375578624: 125329, 7445: 249611, 6888: 249611, 5110: 249611, 1952: 249611, 5439: 405115, 220625197056: 405115, 2941341568: 505582, 81255504: 235429, 90027520: 235429, 75450672: 270153, 170339840: 270153, 44772904: 120794, 103304960: 120794, 240813: 120794, 123584: 120794, 66579480: 208136, 102268672: 208136, 228883: 111500, 894272: 111500, 249465: 67600, 92096: 67600, 304391: 97070, 983104: 97070, 366659: 372969, 938304: 372969, 6002: 90022, 9816: 90022, 4255: 90022, 2576: 90022, 7172: 74872, 7739: 74872, 904: 337894, 3404254656: 20920, 81338488: 522393, 83097344: 522393, 49167008: 1197930, 140805632: 1197930, 240026: 670138, 580992: 670138, 375: 104880, 178: 81400, 1730520: 116703, 302294: 65966, 536192: 65966, 59531912: 369992, 84133632: 369992, 1360128: 348164, 344767: 197233, 836160: 197233, 52982248: 149617, 24417536: 149617, 48422176: 251381, 226393: 324387, 176064: 324387, 3506669056: 287590, 361285: 601587, 230592: 601587, 2146605824: 169238, 633512: 29137, 1679920: 27695, 999856: 27695, 420992: 227534, 42617344: 704788, 81089536: 704788, 3621373184: 515609, 987: 1489418, 4014644480: 322944, 318418: 319545, 659328: 319545, 238322: 337729, 405376: 337729, 375311: 27975, 906816: 27975, 271357: 111188, 194240: 111188, 730664: 531472, 1372272: 91989, 795: 203843, 432: 225142, 5016: 227045, 2816: 357019, 5764: 227045, 3520: 227045, 23514: 344218, 34624: 344218, 5344: 344218, 5760: 344218, 34820: 89650, 89600: 89650, 8225: 362581, 1312: 362581, 322: 640172, 4361: 218809, 1128: 218809, 405462706176: 218809, 1985544: 830422, 31133: 1491016, 97760: 1491016, 7611: 260081, 4544: 260081, 232554426368: 260081, 284: 754492, 990: 754492, 2933148416: 88405, 2752899072: 297567, 330: 101383, 824: 169866, 74788824: 331135, 23381248: 331135, 70973584: 209073, 139769344: 209073, 5953: 315863, 1912: 315863, 8413: 315863, 3632: 315863, 69564880: 364455, 55182336: 364455, 66994400: 613645, 67617792: 613645, 6326: 215713, 2144: 215713, 358401241088: 215713, 6856: 238499, 9072: 238499, 280009162752: 238499, 31338: 83043, 80640: 83043, 6798: 218965, 8184: 218965, 378195896320: 218965, 6633: 650138, 249071820800: 650138, 588984: 1529019, 2584939456: 800389, 39695: 260906, 82144: 260906, 8183: 684259, 6392: 722442, 4151: 684259, 6288: 684259, 673: 24599, 467: 24599, 21711: 367096, 85280: 367096, 5845: 283874, 3120: 283874, 352633262080: 283874, 280402: 303269, 434048: 303269, 544456: 717999, 47592336: 295983, 70078976: 295983, 1173920: 492018, 2007808: 677725, 65915608: 110084, 157710080: 110084, 3580407424: 228311, 60444736: 82898, 2478428480: 364377, 1157728: 224471, 37647: 28881, 53344: 28881, 33919: 28881, 64928: 28881, 1965304: 523984, 256937: 16424, 246720: 16424, 65087792: 144252, 24611840: 144252, 2171185280: 426210, 58453120: 330306, 174225920: 330306, 35025: 85881, 72480: 85881, 595056: 48739, 388608: 428003, 1552408: 145031, 1692064: 145031, 319205: 79908, 201920: 79908, 72467296: 166069, 2261309952: 406858, 70226728: 82400, 202140928: 82400, 3711497856: 316971, 645: 189523, 2449752448: 147943, 957: 174335, 352: 415080, 58040224: 288029, 2519394240: 639871, 217741: 200063, 207552: 200063, 79016960: 108203, 74742272: 108203, 308062: 476766, 515200: 476766, 570768: 286381, 214544: 519927, 1232616: 242697, 372821: 184359, 188608: 184359, 1289288: 153783, 37975: 153783, 25952: 153783, 489808: 501659, 395106: 472927, 562048: 472927, 74456888: 292156, 51101952: 292156, 54390952: 474472, 109004544: 474472, 78021152: 301706, 157904384: 301706, 7694: 295868, 4384: 295868, 4559: 295868, 6973: 341982, 4132: 341982, 1984: 341982, 60029816: 105154, 42552576: 105154, 67243352: 93849, 46827264: 93849, 51737488: 260022, 128370176: 305316, 4035127360: 73899, 2707836736: 246724, 969496: 414769, 38057: 6764, 19104: 6764, 657800: 40084, 740784: 330444, 914848: 40084, 1807432: 111389, 367053: 55415, 209600: 55415, 358401: 185142, 241088: 185142, 280009: 204854, 162752: 204854, 447: 277315, 33469: 563927, 2592: 563927, 374918: 73639, 635520: 73639, 220625: 345512, 197056: 345512, 1734568: 68117, 441232: 70248, 33223: 107979, 23136: 107979, 1313576: 145053, 7976: 65924, 3816: 65924, 33550: 269957, 95744: 269957, 7089: 63024, 296919828480: 63024, 226786: 323808, 447360: 323808, 77855184: 8218, 171764736: 8218, 1094984: 123500, 65170776: 259677, 3359192320: 347978, 346865: 189620, 283072: 189620, 225999: 119523, 904768: 119523, 28471: 22434, 20320: 22434, 524216: 265327, 993784: 183029, 28553: 170653, 13472: 170653, 461472: 252544, 1833744: 368341, 1060576: 194322, 33632: 315757, 88896: 315757, 965448: 118232, 876392: 319682, 4659: 196590, 310159962112: 196590, 51488536: 157642, 149160704: 157642, 332838: 560964, 606848: 560964, 61355536: 151979, 134069760: 151979, 361678: 125977, 501888: 125977, 218: 83271, 527: 15496, 750: 15496, 982: 15496, 486: 15496, 4949: 129980, 228883894272: 129980, 327888: 149506, 240419: 39499, 852288: 39499, 48586120: 102625, 189316864: 102625, 79597848: 102625, 26231040: 102625, 617: 184003, 70392696: 184003, 188280576: 184003, 338999: 13535, 857152: 13535, 3174846400: 75736, 724: 196554, 2748802496: 294377, 2285889408: 43696, 52235392: 43696, 86789120: 43696, 3838491712: 178095, 74539872: 167844, 44171776: 167844, 570: 247087, 3658242368: 97329, 5148: 137257, 8536: 166591, 301901264896: 137257, 2253116800: 115455, 2216247616: 106938, 713: 100295, 290: 260363, 250: 327784, 875: 428166, 5165: 207713, 4504: 207713, 273847912448: 207713, 374: 63423, 3510765632: 58713, 441: 60859, 865: 164301, 283: 164301, 965: 103529, 63926016: 45563, 121634304: 45563, 285777: 45563, 141760: 45563, 322089: 67324, 191424: 67324, 80508648: 331146, 152399104: 331146, 47426368: 141693, 83939328: 141693, 3760656768: 411107, 22326: 245988, 33920: 245988, 31461: 571100, 70368: 571100, 1592888: 320440, 29945: 320440, 97056: 320440, 34984: 320440, 75904: 320440, 243303: 13686, 841792: 13686, 1685992: 375848, 3350999168: 360235, 3674628672: 360235, 22654: 235129, 953304: 235129, 23104: 381345, 68864: 381345, 5140: 334625, 5552: 334625, 315927941120: 334625, 336509: 163424, 138944: 163424, 1141536: 521814, 25398: 457986, 77120: 457986, 35312: 491988, 48512: 491988, 38630: 733178, 71168: 733178, 38343: 954945, 95136: 954945, 671968: 465274, 1696112: 410903, 1226544: 497876, 35804: 193556, 7424: 193556, 22162: 90917, 47616: 90917, 1400608: 77597, 1821600: 212706, 1706232: 29190, 305624: 290888, 1718376: 290888, 277518: 866971, 444544: 866971, 791384: 82770, 1989592: 80901, 2021976: 117573, 445280: 398662, 1265000: 253161, 398728: 253161, 5762: 16481, 5304: 16481, 7680: 16481, 586960: 219931, 1534192: 168972, 1169872: 238814, 649704: 199670, 29331: 75370, 48416: 75370, 420: 196738, 61438520: 91697, 127139584: 91697, 2634098368: 335838, 47260400: 132120, 97799680: 132120, 769: 84385, 50411768: 281352, 36852992: 281352, 645656: 219593, 1210352: 171128, 957352: 201880, 4051513664: 405638, 633: 232708, 53810064: 92549, 157515776: 92549, 209875: 410874, 781632: 410874, 6790: 198066, 5200: 198066, 392222572544: 198066, 7752: 53987, 403758530560: 53987, 206: 141752, 991: 130384, 128: 166072, 217: 169719, 741: 169719, 207: 215013, 552: 553961, 7379: 292688, 3016: 292688, 215643760640: 292688, 377278: 41865, 263296: 41865, 736736: 145501, 342056: 145501, 80010744: 54653, 193980160: 54653, 82332272: 84681, 202335232: 84681, 3822105408: 116166, 263098: 383537, 497024: 383537, 69398912: 19731, 69042688: 19731, 2072867456: 175326, 2154798976: 345958, 50328784: 306872, 43783168: 306872, 64506904: 306872, 73123072: 306872, 69481896: 259300, 62112512: 259300, 50245800: 313999, 50713344: 313999, 3031466240: 207951, 54639904: 319308, 88214016: 319308, 77772200: 171994, 178694912: 171994, 949: 134333, 2326855168: 224866, 1661704: 431513, 477664: 161635, 414920: 58166, 406824: 58166, 394713: 115597, 290752: 115597, 2527587392: 134313, 381079: 134313, 885824: 134313, 4220: 87928, 2424: 87928, 234258601984: 87928, 627440: 593966, 1119272: 321876, 471592: 321876, 1076768: 230389, 20359: 223305, 98272: 223305, 355123: 513899, 980288: 513899, 1246784: 41895, 24620: 40453, 42176: 40453, 23350: 153354, 48320: 153354, 5049: 129974, 4752: 129974, 769120: 98120, 5281: 81869, 6280: 81869, 3827: 81869, 7888: 81869, 319: 258241, 598: 201189, 28880: 385790, 86080: 385790, 321302: 106664, 648832: 106664, 1449184: 103324, 1497760: 240852, 38425: 199843, 88288: 199843, 4518: 179953, 7824: 179953, 6865: 201289, 4080: 257144, 989736: 645100, 32240: 234456, 5312: 234456, 6060: 234456, 8680: 234456, 397597280256: 234456, 310946504704: 234456, 358007: 71218, 969792: 71218, 1560504: 71218, 36254: 71218, 69760: 71218, 33755: 105626, 78624: 105626, 4809: 262717, 2849: 262717, 7920: 262717, 29413: 430856, 41568: 430856, 8125: 201161, 5504: 201161, 9002: 201161, 7520: 201161, 7545: 229695, 344767836160: 229695, 228: 295702, 883: 95064, 894: 95064, 186402304: 57212, 391: 95980, 983: 93977, 366: 386164, 659: 594846, 938: 319460, 20851: 120488, 57184: 120488, 617320: 212456, 34779: 212456, 93024: 212456, 6525: 171398, 3760: 171398, 946: 171398, 504: 247420, 79348896: 93103, 47021568: 93103, 906: 432170, 372034: 19614, 646016: 19614, 3215812160: 196967, 540408: 262769, 1738616: 262769, 72633264: 147535, 63760048: 45220, 135494656: 45220, 439: 125375, 208: 267388, 3035562816: 125375, 418: 433691, 2658677824: 126028, 405855: 160128, 977472: 160128, 38302: 73424, 98560: 73424, 1969352: 659511, 1920776: 114886, 23268: 191345, 55168: 191345, 4759: 252499, 7007: 252499, 8976: 252499, 724592: 226497, 811624: 135076, 487784: 159047, 795432: 237403, 888536: 106384, 30355: 106384, 62816: 106384, 1103080: 335854, 1092960: 192041, 35189: 192041, 58784: 192041, 80342680: 223331, 166259456: 223331, 3543538240: 120431, 572: 265302, 43447184: 122871, 3953195840: 75072, 246187: 33171, 831296: 33171, 576840: 497196, 285384: 33171, 386584: 49256, 900: 251758, 51820472: 160436, 121440000: 160436, 805: 160436, 639584: 326049, 1445136: 705031, 977592: 373161, 1042360: 348549, 465520: 439483, 40597: 81258, 1544312: 401528, 1673848: 443724, 1888392: 135044, 7321: 43592, 313830494208: 43592, 7412: 43592, 4952: 43592, 7882: 43592, 2656: 43592, 22531: 98104, 16800: 98104, 32403: 44029, 91616: 44029, 8150: 43010, 4456: 43010, 6923: 43010, 6992: 88511, 30314: 175849, 66240: 175849, 5463: 272173, 9904: 272173, 8821: 272173, 4016: 272173, 7777: 145834, 2200: 145834, 361678501888: 145834, 473616: 55338, 522192: 356324, 1216424: 55338, 1153680: 209798, 380512: 134785, 26095: 112422, 18912: 112422, 7686: 112422, 1400: 112422, 5252: 112422, 6848: 112422, 44109032: 146015, 158746368: 146015, 402578: 141812, 716672: 141812, 1898512: 273569, 51156600: 97993, 176881408: 97993, 259821: 222435, 236224: 222435, 771144: 97993, 1791240: 97993, 1667776: 144940, 22121: 140147, 51040: 140147, 7122: 140147, 2536: 140147, 240813123584: 140147, 32895: 242333, 50528: 242333, 7843: 78456, 249465092096: 78456, 4178: 112948, 304391983104: 112948, 1030216: 164598, 279312: 119301, 3482089600: 105108, 70145768: 169528, 273847: 177425, 912448: 177425, 52484344: 124175, 65998592: 124175, 1882320: 49240, 269192: 43542, 550528: 183135, 59116992: 53825, 118784512: 53825, 3469799872: 111903, 71720440: 88096, 77397760: 88096, 2343241472: 194542, 27324: 58600, 919: 45585, 828: 45585, 24374: 25894, 62720: 25894, 855: 136032, 6359: 77191, 302294536192: 77191, 6931: 77191, 5928: 77191, 7597: 77191, 2864: 77191, 1536216: 65410, 1273096: 15028, 939136: 18298, 20810: 1305, 60608: 1305, 6716: 1305, 5375: 1305, 61521504: 18878, 120209408: 18878, 27078: 207207, 36736: 207207, 205: 68420, 201: 68420, 1648: 14848, 338999857152: 14848, 1568600: 87029, 1113200: 133582, 215250: 379720, 489344: 379720, 1420848: 251072, 26668: 295568, 70976: 295568, 692: 91322, 491: 215528, 2855313472: 200638, 206991: 151752, 792128: 151752, 1787192: 81891, 1809456: 81891, 377278263296: 49623, 72797208: 120074, 189705472: 120074, 383177: 74423, 332736: 74423, 21466: 142439, 5824: 142439, 1953160: 86710, 1329768: 28679, 1849936: 28679, 1600984: 60207, 33960: 5056, 61504: 5056, 67905200: 230045, 193785856: 230045, 276338: 93362, 630656: 93362, 416944: 120307, 2005784: 110606, 259072: 141725, 799480: 344935, 1137488: 367916, 265144: 9701, 483736: 64471, 45436776: 40837, 47863552: 40837, 59863848: 37723, 56412928: 37723, 47094432: 164207, 111660032: 164207, 1406680: 31119, 81670424: 53606, 55376640: 53606, 243697: 320769, 113088: 320769, 2244923648: 55597, 2957727872: 51447, 321695: 42568, 920128: 42568, 439208: 146005, 1499784: 146005, 418968: 184572, 1117248: 470214, 318811: 67430, 930624: 67430, 3437027264: 497844, 3273164224: 717007, 837: 37130, 397204: 40046, 8960: 40046, 8233: 72107, 2272: 164395, 409526509568: 72107, 38221: 99289, 5408: 99289, 506000: 278557, 5066: 215382, 406: 216185, 803528: 176706, 3191232704: 24000, 325366: 54346, 452224: 54346, 6890: 12785, 1008: 12785, 223902457856: 12785, 5397: 218469, 290758578176: 218469, 31584: 51786, 60096: 51786, 7337: 51786, 285777141760: 51786, 6832: 76754, 322089191424: 76754, 325: 46391, 452: 46391, 268: 26747, 866: 26747, 476: 26747, 38384: 149671, 91712: 149671, 7453: 140924, 9872: 140924, 4417: 140924, 1776: 140924, 1088912: 12330, 5182: 135109, 245794560000: 135109, 1629320: 135109, 301901: 115712, 264896: 115712, 848056: 28351, 1724448: 28351, 1350008: 80577, 35435: 101282, 38240: 101282, 7022: 69320, 6728: 69320, 409133238272: 69320, 469568: 212906, 1121296: 479788, 862224: 161141, 495880: 85060, 1607056: 85060, 66745448: 85060, 88408320: 85060, 1097008: 16666, 35476: 16666, 34816: 16666, 1949112: 81266, 78685024: 71384, 102462976: 71384, 44855888: 77988, 96374784: 77988, 29208: 61372, 58688: 61372, 552552: 129060, 1714328: 129060, 318: 332957, 765: 132304, 41042672: 39016, 333231: 39016, 878144: 39016, 3097011456: 34108, 268866: 31580, 476032: 31580, 3654145792: 32494, 4344: 210948, 7184: 104507, 2376014080: 421942, 758: 199663, 311: 23480, 657: 34080, 914: 34080, 495: 73457, 3252681344: 73457, 6674: 73457, 5448: 73457, 8840: 73457, 8320: 73457, 77110352: 30982, 31736320: 30982, 2085157184: 141572, 765072: 153744, 843: 34477, 756: 46706, 364: 169354, 169: 169354, 4195: 110614, 3472: 110614, 276338630656: 110614, 35066: 244464, 69056: 244464, 55635712: 214734, 1860056: 39091, 1675872: 39091, 419: 33487, 852: 33487, 4858: 87088, 6120: 87088, 383177332736: 87088, 7959: 87088, 7848: 87088, 2623: 87088, 1040: 89384, 25275: 114603, 87392: 114603, 5173: 220685, 7488: 220685, 259821236224: 259252, 381: 114603, 885: 114603, 5331: 210676, 402971987968: 210676, 7014: 146409, 5768: 146409, 2179378432: 198969, 41206616: 193262, 198902528: 193262, 21547: 296864, 98976: 296864, 5032: 263776, 8784: 263776, 4378: 263776, 3168: 263776, 6450: 263776, 6904: 280452, 7312: 265549, 3072: 263776, 51073616: 26637, 183811584: 26637, 2494814784: 207540, 2732416192: 69764, 68320120: 91519, 159134976: 91519, 811: 173485, 624: 484113, 487: 136915, 55799656: 13405, 193591552: 13405, 3871264320: 13405, 383963: 88760, 875328: 88760, 3830298560: 85873, 46596528: 233404, 153241088: 233404, 6508: 125564, 2461: 125564, 274: 28462, 183: 28462, 65253760: 201411, 397597: 201411, 280256: 201411, 310946: 201411, 504704: 201411, 779: 32930, 82830176: 73954, 160754176: 73954, 74954792: 180357, 1914704: 147605, 1020096: 211508, 5537: 46211, 5480: 152666, 5872: 152666, 7435: 152666, 3664: 152666, 24005: 118499, 93536: 118499, 39327: 118499, 12960: 118499, 4272: 127941, 4235: 127941, 5530: 43194, 3776: 43194, 1892440: 99571, 4543: 34492, 6776: 34492, 4786: 34492, 3552: 34492, 5986: 31863, 3848: 31863, 5641: 31863, 2847120320: 26420, 59365944: 65063, 97993984: 65063, 3809815680: 42433, 79846800: 51259, 2920858688: 73663, 542432: 23121, 1752784: 23121, 963424: 23121, 73958984: 23674, 92683008: 23674, 3887650624: 97340, 330347: 51881, 888640: 51881, 65583672: 37813, 185430784: 37813, 3686918400: 184457, 245794: 116683, 560000: 116683, 3297743680: 116683, 524: 229980, 477: 140468, 3158460096: 61961, 73378096: 61961, 141194240: 61961, 538: 15044, 759: 77780, 667: 94848, 6268: 21497, 2318: 21497, 6944: 21497, 542: 19996, 3547634816: 19996, 963: 94671, 7395: 20791, 8984: 20791, 9268: 20791, 3008: 20791, 1428944: 258890, 6599: 106441, 8592: 106441, 305: 251306, 3477993024: 251306, 508024: 2429, 1639440: 2429, 64257952: 55352, 93913600: 55352, 38098: 35852, 15680: 35852, 234258: 75717, 601984: 75717, 40678: 98156, 99968: 98156, 2777478528: 78122, 403758: 45637, 530560: 45637, 1184040: 86973, 26340: 286081, 98368: 286081, 34657: 198268, 6342: 60659, 8112: 60659, 330347888640: 60659, 36582: 81791, 42368: 81791, 1803384: 4734, 1941016: 4734, 74705840: 53330, 30311424: 53330, 188: 157666, 62932232: 41135, 403: 39595, 2396496960: 75401, 7868: 62099, 207385063424: 62099, 999: 137962, 77523248: 62258, 199485440: 62258, 338606: 118185, 585856: 118185, 39531: 63366, 95840: 63366, 5347: 86716, 374918635520: 86716, 34288: 22729, 34112: 22729, 775192: 118971, 5911: 45501, 240419852288: 45501, 46264592: 31860, 180961792: 31860, 45602744: 84482, 34003200: 84482, 63428112: 71034, 163215360: 71034, 321816: 124485, 1947088: 124485, 613: 8746, 366266: 23092, 667008: 23092, 375705: 94800, 178112: 94800, 548: 76022, 722: 70121, 56214576: 58022, 158940672: 58022, 360891: 6699, 959296: 6699, 206598: 13507, 520832: 13507, 288661: 13507, 131264: 13507, 3691014976: 73007, 55303776: 51035, 2834830592: 67774, 370: 21001, 756976: 54300, 35107: 49935, 65632: 49935, 892584: 51765, 31912: 21041, 32704: 21041, 64589888: 17642, 66192896: 17642, 1677896: 7211, 609224: 92385, 263491: 7211, 768320: 7211, 39450: 59627, 2688: 76303, 3109301184: 56618, 6152: 16191, 1504: 16191, 243303841792: 16191, 63594080: 90727, 149355008: 90727, 69315928: 90727, 75972864: 90727, 2203957888: 10937, 1204280: 35886, 42202424: 104430, 115740416: 104430, 28348: 56837, 30592: 56837, 850080: 166231, 239: 75314, 296919: 53740, 828480: 53740, 224295: 179621, 729152: 179621, 2437462720: 30363, 287: 3592, 2421076416: 3592, 3502572480: 99717, 2691450432: 25020, 3744270464: 25020, 558: 59322, 2580842880: 59322, 5944: 54943, 9799: 54943, 3984: 54943, 6143: 77802, 8520: 77802, 257330518016: 77802, 3240391616: 51758, 81504456: 50521, 69236992: 50521, 53478128: 100897, 185236480: 100897, 3428834112: 26717, 692208: 106623, 274241: 33143, 183744: 33143, 857: 80197, 170: 1303, 7785: 7217, 5184: 7217, 347651825664: 7217, 929: 10621, 134: 10621, 2220344192: 14491, 71803424: 14491, 70467584: 14491, 2523490816: 36203, 49830880: 34899, 85364224: 34899, 22858: 36925, 89408: 36925, 5223: 36925, 5392: 36925, 8678: 36925, 9120: 36925, 68818024: 17244, 117553920: 17244, 629: 17491, 464: 21358, 68901008: 15241, 110623744: 15241, 1109152: 63903, 1461328: 59010, 321695920128: 48959, 4626: 27051, 4592: 27051, 366266667008: 27051, 7768: 109872, 9216: 109872, 375705178112: 109872, 7404: 60093, 1968: 60093, 8575: 60093, 2832: 60093, 1823624: 85174, 23964: 63543, 96960: 63543, 70641648: 18102, 167490048: 18102, 7934: 79726, 8896: 79726, 4702: 79726, 1568: 79726, 7047: 65635, 5680: 65635, 367053209600: 65635, 2756995648: 17912, 945: 17912, 6376: 38650, 274241183744: 38650, 385: 45294, 6724: 79031, 3352: 79031, 4682: 79031, 7264: 79031, 40351: 62620, 27360: 62620, 6591: 93053, 5608: 93053, 319205201920: 93053, 935088: 135690, 22449: 46976, 23648: 46976, 29577: 43371, 27872: 43371, 695: 35688, 930: 57571, 7619: 21336, 218527750144: 21336, 2056: 21336, 265982486528: 21336, 6044: 70322, 4736: 70322, 497904: 36145, 48503136: 54699, 196247040: 54699, 1443112: 84441, 39409: 90857, 6112: 90857, 378488: 23971, 1681944: 23971, 1362152: 21081, 945208: 21081, 40924: 86008, 79424: 86008, 6458: 15357, 6619: 15357, 2896: 15357, 53561112: 8925, 178306304: 8925, 54473936: 18330, 102074368: 18330, 75782608: 18330, 142619136: 18330, 34001: 20004, 58080: 20004, 759000: 89534, 629464: 20231, 21588: 9671, 95552: 9671, 30724: 9671, 32000: 9671, 40228: 9671, 37632: 9671, 234: 64595, 601: 64595, 2609518912: 131234, 76861400: 131234, 52526848: 131234, 31502: 52632, 66944: 52632, 815672: 33482, 207385: 52524, 20278: 45562, 5120: 45562, 6583: 45562, 2624: 46294, 333231878144: 45562, 7901: 92288, 6960: 92288, 7474: 92288, 36172: 59883, 76608: 59883, 36623: 59883, 38944: 59883, 278: 36742, 40269: 59139, 34208: 59139, 1694088: 31354, 358248: 54371, 69896816: 18533, 27461632: 18533, 451352: 8050, 44606936: 7672, 117165312: 7672, 44938872: 10600, 89444608: 10600, 392615: 40033, 843840: 40033, 837936: 42623, 391829: 9689, 301248: 9689, 78353088: 9689, 130183680: 9689, 313830: 37315, 494208: 37315, 8216: 59609, 8328: 59609, 49332976: 22037, 126945280: 22037, 5381: 77847, 318811930624: 77847, 5447: 15510, 3936: 15510, 206598520832: 15510, 7578: 15510, 288661131264: 15510, 4726: 112793, 9779: 112793, 9680: 112793, 30396: 22025, 59392: 22025, 30970: 29041, 11456: 29041, 36541: 27878, 45792: 27878, 76197528: 24725, 107968256: 24725, 68652056: 24725, 131414272: 24725, 25234: 30379, 90816: 30379, 4983: 29334, 4224: 29334, 767: 168471, 836: 168471, 1307504: 14174, 313: 33784, 830: 32129, 494: 32129, 6558: 32220, 3672: 32220, 375311906816: 32220, 294: 56666, 251: 2702, 810: 2702, 742808: 40773, 34902: 20777, 82752: 20777, 214857: 78780, 218048: 78780, 6989: 15606, 2746: 15606, 1632: 15606, 3613180032: 2800, 939: 15441, 3400158080: 23373, 6293: 35119, 2232: 35119, 246: 42140, 62683280: 24913, 23186944: 24913, 237929: 12529, 134080: 12529, 3805719104: 7855, 57625304: 19363, 41127680: 19363, 414: 50087, 82168328: 70149, 2576746304: 12641, 62019408: 8073, 78628352: 8073, 779240: 38567, 538384: 16791, 360272: 69303, 266: 20313, 36910: 62649, 14976: 62649, 34697: 94550, 99872: 94550, 1501808: 29919, 73129144: 2026, 161984768: 2026, 3846684864: 11380, 2646388096: 12189, 246187831296: 38183, 141: 38183, 191: 56513, 73212128: 51071, 155054592: 51071, 74124952: 51071, 78822656: 51071, 562672: 31495, 829: 8103, 7835: 8103, 3088: 8103, 263491768320: 8103, 748880: 17661, 7711: 25878, 3173: 25878, 6320: 25878, 303: 11909, 27569: 15287, 95648: 15287, 1912680: 15287, 218527: 18062, 750144: 18062, 265982: 18062, 486528: 18062, 3895843776: 1304, 4493: 9022, 8872: 9022, 3396061504: 6144, 4369: 7258, 391436029952: 7258, 6218: 7258, 5376: 7258, 6476: 7258, 8000: 7258, 8142: 7258, 1472: 7258, 7168: 7258, 613272: 10088, 26914: 20927, 50432: 20927, 37442: 20927, 70464: 20927, 38958: 1045, 43776: 1045, 5579: 11153, 9656: 11153, 391829301248: 11153, 38712: 11153, 64320: 11153, 26463: 10198, 88096: 10198, 5107: 22396, 3616: 22396, 372034646016: 22396, 554576: 23971, 370392: 23971, 34042: 17415, 54656: 17415, 347651: 6072, 825664: 6072, 951: 1655, 1112: 7456, 360891959296: 7456, 3039659392: 25960, 3453413568: 25654, 223902: 11293, 457856: 11293, 646: 16304, 9144: 1773, 327857170432: 1773, 38466: 9625, 84864: 9625, 6881: 14725, 8024: 14725, 237929134080: 14725, 436: 5183, 60622848: 5183, 1066648: 13044, 1518000: 13044, 1987568: 13044, 983664: 13044, 52152408: 9354, 93719296: 9354, 673992: 28835, 467544: 28835, 36500: 3480, 49216: 3480, 39286: 3480, 16384: 3480, 68735040: 4452, 124484096: 4452, 77027368: 5901, 38666496: 5901, 391436: 6015, 29952: 6015, 882: 3867, 891: 5421, 959: 5421, 131: 11368, 237142: 5692, 591488: 5692, 31093: 47323, 1184: 47323, 25767: 10664, 46304: 10664, 1900536: 13119, 7702: 4893, 7368: 4893, 3866: 4893, 882464: 4329, 6062: 4329, 2848: 4329, 3764753344: 33381, 3391964928: 33381, 4933: 19055, 2976: 19055, 256937246720: 19055, 3650049216: 4048, 3928616384: 4048, 30642: 9467, 38848: 9467, 187: 27958, 831: 27958, 451: 6836, 1880296: 9231, 271216: 9231, 22203: 12233, 44192: 12233, 7180: 12233, 7046: 12233, 7584: 12233, 2511201088: 6416, 2081060608: 1485, 67160368: 1485, 53757440: 1485, 6939: 16676, 344080: 1097, 22039: 9088, 57888: 9088, 4460: 6872, 6936: 6872, 237142591488: 6872, 50826688: 4731, 251955: 3179, 810304: 3179, 2158895552: 11283, 3072432000: 11283, 4022837632: 11283, 1240712: 7320, 49001040: 2691, 154665984: 2691, 6201: 7014, 9408: 7014, 7862: 7014, 8352: 7014, 36131: 2455, 80032: 2455, 34534: 21110, 13568: 21110, 223: 9326, 5082: 4002, 6688: 4002, 73876000: 2985, 99613184: 2985, 79514864: 2985, 33161216: 2985, 508: 1988, 3318226560: 1988, 4900: 2296, 313043951616: 2296, 7885: 732, 8860: 732, 5215: 7852, 2408: 7852, 9371: 7852, 9296: 7852, 78850992: 931, 88602624: 931, 248285: 866, 278208: 866, 313043: 2004, 951616: 2004, 1028192: 1797, 33182: 1797, 26560: 1797, 287408: 4205, 1196184: 4205, 580888: 3025, 24210: 3025, 76416: 3025, 4211: 923, 248285278208: 923, 1924824: 1442, 1785168: 3270, 25112: 5386, 1088: 5386, 7387: 2544, 6000: 2544, 9961: 2544, 3184: 2544, 7951: 2544, 4864: 2544, 3316: 2544, 6873: 3747, 5040: 3747, 251955810304: 3747, 327857: 1419, 170432: 1419, 3064238848: 11032, 42119440: 1038, 122670592: 1038, 912824: 5916})\n",
"3811\n"
]
}
],
"source": [
"print(stones)\n",
"stones=step(stones)\n",
" \n",
"print(len(stones))"
]
},
{
"cell_type": "code",
"execution_count": 271,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"defaultdict(<class 'int'>, {2: 1, 0: 1})\n"
]
}
],
"source": [
"from collections import defaultdict\n",
"\n",
"def step(stones):\n",
" output = defaultdict(int) # Use defaultdict with int, which defaults to 0\n",
" for stone, count in stones.items(): # Iterate over the dictionary of stones with their counts\n",
" if stone == 0:\n",
" output[1] += count # Zero turns into 1, add the count to the 1 key\n",
" elif (tx_stone := str(stone)) and len(tx_stone) % 2 == 0:\n",
" half = len(tx_stone) // 2\n",
" left = int(tx_stone[:half])\n",
" right = int(tx_stone[half:])\n",
" output[left] += count # Add the count to the left split part\n",
" output[right] += count # Add the count to the right split part\n",
" else:\n",
" output[stone * 2024] += count # Multiply by 2024 and add to the count for that stone\n",
" return output\n",
"\n",
"# Example usage:\n",
"stones = {20: 1} # Example input: stone values and their counts\n",
"result = step(stones)\n",
"print(result)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "pdf",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}