Browse Source

day 07 part 1

Mistivia 3 months ago
parent
commit
211677cbbf
2 changed files with 880 additions and 0 deletions
  1. 30 0
      07/1.tcl
  2. 850 0
      07/input

+ 30 - 0
07/1.tcl

@@ -0,0 +1,30 @@
+set fp [open "input"]
+set equations {}
+while {[gets $fp line] >= 0} {
+    set s1 [split $line ":"]
+    lappend equations $s1
+}
+
+proc can_match_impl {target numbers current} {
+    if {0 == [llength $numbers]} {
+        return [expr {$target == $current}]
+    }
+    set rest [lrange $numbers 1 end]
+    set first [lindex $numbers 0]
+    return [expr {[can_match_impl $target $rest [expr {$current * $first}]]
+                    || [can_match_impl $target $rest [expr {$current + $first}]]}]
+}
+
+proc can_match {target numbers} {
+    return [can_match_impl $target [lrange $numbers 1 end] [lindex $numbers 0]]
+}
+
+set sum 0
+foreach elem $equations {
+    set test_value [lindex $elem 0]
+    set numbers [lindex $elem 1]
+    if {[can_match $test_value $numbers]} {
+        set sum [expr {$sum + $test_value}]
+    }
+}
+puts $sum

+ 850 - 0
07/input

@@ -0,0 +1,850 @@
+187418: 8 1 32 1 3 7 700 2 6 8 9 9
+51480079: 88 650 9 8 1
+45694842: 2 9 227 6 1 5 4 382 1 5 2
+324153: 4 6 165 26 2 8 9 3 50 9
+28501243947: 66 18 84 68 6 926 78 7
+20763: 8 9 7 123 308 2 2 709
+1275: 40 5 6 75 1
+769249: 1 47 4 4 3 9 49
+464700680640: 94 7 26 7 917 9 6 5 392
+501133472: 3 901 3 9 3 979 557 15
+1408080699: 2 93 35 12 4 5 87 48 64
+257184: 4 68 8 6 116 72
+381878965: 727 5 1 56 28 6 67
+625: 79 5 41 488 13
+1382535550: 8 91 1 5 66 931 4 470
+543135657: 7 649 5 9 7 71 979 7
+69632: 7 51 8 2 963 8 6 3 701 9
+4087: 1 3 576 2 7 7 10 6 9 592
+6351: 21 298 4 2 84 3
+15702: 7 1 419 36 366
+89661885: 8 112 1 585 25 8 84
+266450902950: 65 7 59 2 57 968 9 9 71
+194394: 194 366 28
+972: 6 29 546 1 390
+1833720: 1 6 4 6 4 9 6 4 4 2 777 5
+7263349: 9 84 780 93 4 9
+94534: 781 12 8 9 797
+258695989: 582 14 4 246 129 421
+1371: 187 9 440 9 726
+1403130963: 45 547 2 6 4 8 70 22 2
+5172: 1 28 3 88 3 4 94 642 6
+240988525: 5 865 441 5 21 382 3 2
+212541850: 6 4 84 927 5 3 813 73
+9096239: 890 67 4 1 9 95 84
+482781: 635 1 1 95 8 5 8 5 7 58 7
+4540643307: 5 4 5 898 5 5 92 9 9 8 3 6
+46738900180: 976 706 17 58 57 4 70
+259616: 312 207 6 314 4
+174270594: 544 745 4 43 21 1
+23194043: 773 3 3 9 1 43
+2838182357: 28 381 81 1 1 357
+557952: 9 62 80 9 62 6 36 7 3 7 8
+82653627132: 8 507 7 6 565 6 5 6 7 6 3
+917397714: 9 173 97 71 4
+63564: 846 1 75 48 65 1
+16152750: 714 7 795 99 26 5 1 99
+64418: 6 86 4 4 92 7 18
+96932098: 5 46 19 320 98
+412070765: 318 3 4 69 5 313 3 2
+1986: 990 3 2
+10295: 6 3 940 826 687 322
+143356: 3 98 4 9 7 6
+264829968: 293 12 106 7 543 9 3 3
+73800979: 10 5 3 1 46 8 9 28 4 6 9 8
+2804772: 6 600 892 39 9 8 8 2 4 6
+300031: 8 3 55 545 31
+20008369743: 8 330 6 82 4 2 5 6 4 7 5 6
+13396057557: 8 76 91 17 220 4 4 7 7
+116812844776: 96 59 477 3 7 982 85
+1197286087823: 9 829 9 3 3 2 87 3 4 2 9 7
+288934843: 4 13 212 33 43
+12097735: 1 120 884 93 35
+2323: 4 7 129 250 654
+4452928: 18 97 1 472 24 82
+3693500: 9 825 56 494 4 89
+230650225261: 863 1 96 8 4 87 3 5 8 5 9
+6471: 76 73 898 8 17
+1137: 5 2 47 297 786
+368741: 8 458 113 2 1 3 7 1 90 2
+347319: 447 9 69 816 259
+6153742: 8 4 2 9 7 5 1 344 7 1 71 2
+2300212040: 6 7 7 7 55 15 727 15 56
+217743931: 24 3 234 718 18 379
+1143073502: 216 84 7 167 9
+1447474: 516 7 4 9 165 6 3 7 839
+24175: 481 3 8 49 70
+1198210: 69 633 7 2 845
+3200: 8 50 8
+7529214347: 376 46 5 34 9 40 387
+23264072: 279 730 556 4 83
+58517605: 959 305 61
+3694797: 647 68 9 47 51
+98762746: 7 980 6 27 46
+675: 3 6 4 7 15 30
+3302: 7 94 25 93 47 1 630 6
+50372628: 7 943 16 9 92 2 9 9 5 4 4
+546760284: 60 9 134 67 84
+48336753: 69 24 90 33 175 3
+327848: 6 607 90 8 60
+1099845: 461 9 60 39 45
+2913111: 5 726 190 8 761
+215712: 1 9 9 8 7 7 3 8 7 8 225 7
+187980: 2 9 32 2 23 78 2
+28105: 1 373 3 74 207
+13669642: 17 8 6 964 2
+7519900: 695 56 98 99 1
+52373979: 62 253 34 7 9 543
+244520658: 8 39 1 922 3 7 9 8 5 2 4 4
+761166846259: 702 80 5 73 375 271 9
+1710191: 6 84 90 95 27 164
+108219300: 6 669 5 3 4 8 96 3 7 2 7 5
+83418128640: 752 9 3 2 3 6 8 99 9 4 4 9
+31892804: 39 3 73 81 67 4
+42680000: 4 268 4 50 50
+23479827: 4 984 35 679 7
+210060261: 206 3 21 84 73 7 289 1
+3177: 47 3 71 5 457
+902503660: 6 44 763 56 93 6 254 7
+30198724521: 7 8 9 2 9 47 2 379 45 2 2
+2163: 746 2 19 85 518 49
+954304: 2 1 2 3 2 40 3 7 950 52 8
+5835456294: 30 7 48 396 292 2
+43320718: 456 95 2 8 4 434
+3308760: 5 302 5 42 52
+5796: 9 92 7
+25910231829: 3 67 706 3 1 832
+878427678805: 92 26 1 1 81 50 952 6
+1473321: 71 2 635 30 5 2 6 4 1
+8400848504: 9 6 96 56 84 8 2 3 100 4
+49322159387: 13 2 8 92 7 3 5 8 6 7 8 7
+684519833: 7 61 4 519 836
+191600640: 8 8 540 528 42
+311237: 631 9 486 9 8 15 165
+951160: 9 3 983 5 9 1 77 8 7 5 2 5
+59041208704: 98 4 6 11 987 99 9 6 8
+354018: 72 3 1 59 124 118 3 7
+35886127: 3 87 3 92 2 1 5 4 603 9
+701625: 77 9 8 62 3
+136802924: 958 425 7 7 2 3 2 47 1 4
+71282596: 6 54 22 259 6
+245520: 385 71 4 5 528
+3517169040: 8 5 5 8 125 7 530 7 9 76
+7792441765301: 778 7 2 7 9 2 365 9 4 14
+607622809527: 5 6 48 8 36 730 9 52 5 2
+842: 9 22 5 2 7 9 4 43 3 8 1 30
+1173375: 7 4 2 3 225 7
+3650074: 2 84 12 328 977
+3812606: 9 8 8 23 28 151 2 7 8 86
+17360: 3 820 1 7 3 18 3 4 1 7 1 2
+12405: 16 1 9 86 20 1
+66919866641: 211 8 6 44 5 9 8 7 9 1 4 1
+8013364: 58 157 88 8 4
+185974: 7 48 4 54 8 59 1 3
+565292571: 896 29 33 123 590
+471460: 556 24 7 116 500
+9804900: 24 54 270 87 70 46 7
+425: 2 9 6 25
+512403750: 9 91 84 6 625
+7303840435: 730 383 36 68 35
+44385941654: 45 63 8 215 364 2 1 50
+17793072: 1 86 3 2 406 28 517 9 4
+68567808019: 6 2 192 8 370 19 16 3
+16224908: 4 970 9 7 596
+9437: 5 938 7
+386334417: 696 6 94 59 3 2 3 4
+4935770786: 4 7 52 8 9 8 1 49 5 1 7 86
+926168190738: 9 260 7 7 2 26 1 90 738
+1086806: 7 5 51 5 656 80 6
+2131: 274 7 96 46 71
+3560: 20 70 840 60 591
+545: 4 11 9 379 79 1 63
+4101: 3 1 6 5 352 574 8 2 2 3 2
+40731: 93 86 503 991 690 4 3
+16841473152: 94 52 4 96 763 47
+404950: 71 83 419 77 623
+3500596447460: 1 323 6 7 7 58 2 9 7 46 2
+199362631126: 7 7 56 28 4 1 26 31 126
+1298121: 6 8 781 3 7 5 1 5 309 7 5
+33750: 30 3 34 90 57 33 3
+1048524: 29 69 524
+28241257580297: 713 5 978 5 81 802 97
+688232: 60 2 8 2 598 9 5 4 79 9
+4970: 9 1 8 1 7 2 60 8 5 460 3 7
+38071: 791 368 7 79 30 721
+20128402: 2 48 2 6 482 80 9 59 23
+97596756600: 435 466 95 724 7
+6525364319935: 3 684 636 863 987 5
+437787903: 8 114 4 4 91 9 9 3 8 9 1 3
+1457: 3 3 44 4 1
+293090: 5 241 283 6 53
+619297: 52 9 92 9 4
+962292: 765 10 95 31 478 4
+648387: 36 28 83 2 3 3 34
+466433: 424 110 3 3 1
+6967: 4 102 1 8 6 9 8
+3396540: 242 61 140
+3561767: 12 400 7 99 726 11
+979543: 1 8 7 250 87 260 3 6 2 5
+27988800000: 5 25 700 4 952 4 21
+133389: 241 6 54 3 6
+9533672: 89 631 25 479 69 514
+24714: 1 86 26 507 3 9
+9455893049: 28 5 7 7 888 6 3 4 2 4 1 9
+1224: 4 8 36 485 671
+2058747: 4 7 378 1 9 524 2 4 8 1 1
+8122: 5 47 60 205 2
+23657723657: 6 32 183 51 94 23 63 8
+1238563682: 618 2 4 5 32 6 5 9 4 6 82
+7039053: 9 367 213 366 3
+144999092: 8 8 31 41 2 9 96 87 2 9 9
+3416010: 400 854 2 2 5
+307549178: 782 6 9 5 5 963 3 3 683
+344179424889: 46 2 5 737 4 2 48 8 8 1
+55345590: 366 120 7 1 20 710 9
+38358188702684: 9 5 89 8 4 3 7 740 537 5
+7063729304401: 569 183 973 77 881
+12816555: 762 92 2 3 3 10 1 410 5
+9621: 94 2 21
+70948948: 6 4 1 9 8 178 1 4 6 264 2
+411358: 423 97 791 36 2
+3369019540: 56 617 2 975 7 38 41
+1504080630: 39 5 62 1 207 601
+779137845564: 37 101 8 21 3 1 5 564
+5800032: 309 677 4 6 98
+4168816845: 6 78 89 36 160 8 4 5
+2911: 4 5 56 2 255 31 385
+1142856906: 8 1 5 4 3 1 6 8 55 1 900 6
+5823576: 56 604 34 86 2
+6608969236: 5 5 6 2 86 3 3 1 3 9 236
+1328554651: 4 1 324 74 80 648
+4947149: 9 3 4 102 43 9 71 9 5 6 3
+239760188: 6 2 2 2 40 6 6 92 3 4 9 92
+1891987951: 4 2 82 465 5 33 968 7
+933744: 42 445 9 3 71 158 7
+15774: 556 3 578 7 5 44 3
+2945: 2 9 716 4 28 9
+392802448878: 6 98 5 5 4 4 1 70 4 1 93 6
+5644947: 3 26 1 2 80 40 9 112 35
+1490: 1 7 638 69 2 5 41 8 5 1 1
+210990: 8 63 99 4 30
+121980885: 3 27 1 271 5 9 3 9 1 9 5 3
+7300117: 79 8 15 13 769
+108410439: 542 2 10 1 350 89
+5184867: 948 53 94 103 53
+1127: 6 74 638 2 399 8
+455827: 91 5 827
+61760955: 9 49 4 4 2 71 80 5 433
+191368: 7 5 2 8 5 7 791 7 3 4 2 2
+567544412088: 963 9 736 76 39 8 88
+12146752: 709 2 3 8 76 1 28 5 9 7 6
+885889: 8 42 9 347 3
+1106: 43 67 6
+7202952: 405 8 5 355 2
+20562: 284 610 23 1
+191497654329: 824 50 83 9 1 7 28 2 9
+2808193: 767 4 1 61 5 1 3 52 3
+133955535: 3 8 2 601 818 1 2 7 645
+6752263840: 5 4 6 4 8 5 314 7 8 5 7 4
+313500: 469 4 56 11 6
+1110: 14 1 74
+15488: 95 4 1 26 2 6 7 3 5
+35418: 11 723 47 5 915
+391535: 7 403 953 1 486 319
+1388084: 724 71 27 92 65 7 3 9 1
+44009264785064: 55 137 833 73 813 3 8
+18867200: 3 4 99 7 6 8 383 51 8 16
+9612421: 6 2 34 6 553 7 362 959
+8117920: 267 4 11 691 52
+294154650: 29 409 6 46 49
+189788268: 3 18 4 6 65 6 38 1 6 5 6 3
+1676757: 75 4 69 81 51 6
+605176: 7 34 61 506 4
+539081638393: 33 146 33 974 506
+419239: 610 9 245 8 73
+21401: 7 5 57 5 26
+240460: 9 74 2 15 4 6 29 221 55
+153678511980: 7 204 810 542 237 7
+16223812320: 7 7 6 279 7 597 57 80
+175564935: 2 84 8 14 11 38 9 5 403
+6048: 5 2 7 29 91 4
+675100: 61 8 11 316 628
+1155949124: 477 411 8 76 737
+94353: 31 58 52 857
+1128071: 393 5 8 6 6 59 333 248
+4621214: 2 639 901 1 79 31 2 4 6
+26092259600: 53 195 2 981 280 50
+182162: 11 253 91 7 1 6 99 5 2
+4452230: 138 6 7 8 9 12 1 8 29 2 7
+314085244: 9 88 419 166 946
+2291933389799: 5 472 3 7 47 72 3 831 2
+1637032: 433 52 912 646 1 68
+8505: 3 6 929 96 31 17
+1051: 4 5 75 352 24
+53861: 91 51 712 33 1
+12176325: 6 3 773 9 5 35
+53550: 414 9 99 7 2
+76978: 2 84 50 8 4 44 66
+166020482: 73 1 8 684 41 2
+2994024: 19 816 8 3 56 5 8
+531: 9 2 39 7 89 6
+534784472: 2 3 1 9 95 9 60 58 3 4 72
+584932732319: 29 31 89 6 5 65 1 72 19
+4514: 9 35 11 58 45
+49509809: 76 41 91 983 2 87 21 2
+1404717811: 8 8 16 4 2 756 717 811
+2687382: 3 10 4 4 90 2 91 6 863
+339914973856: 713 68 41 37 26 7 435
+296058: 3 4 3 1 5 33 8 2 8 38 1 7
+67488804: 89 745 8 6 94
+1252695: 9 92 6 9 5 8 8 1 2 4 63 3
+27424: 8 47 60 8 925 1 99
+1943363853992: 1 200 2 46 8 5 159 88
+6294075553: 2 892 5 1 34 5 191 5 7 3
+9476: 1 2 37 338 23
+5001673: 4 2 2 3 5 9 8 2 7 991 4 92
+19: 10 1 1 4 5
+465093: 75 2 74 94 7 9 9 2 4 8 5 9
+1369373: 898 471 3 73 1
+1525: 23 2 61
+41257: 4 1 1 2 57
+6264: 30 96 7 7 6 84
+321300: 3 435 1 7 31 6 1 5 7
+1368: 98 57 2 6 4 9 971 68
+784450040: 9 76 199 62 2 374
+6835209: 9 1 436 905 2 8 6 5 206
+362124546: 88 29 796 7 8 9 2 2 9 2 3
+126885: 5 9 63 72 7 19 3
+5676536: 3 3 945 44 664
+29555174: 875 281 36 5 6 710 4
+1809145007: 289 626 497 3 7
+64764: 7 8 2 3 2 7 7 5 5 676 86 6
+327240: 12 594 3 9 1 20
+3945066: 9 73 5 6 65
+86424: 4 5 567 848 2 731 24
+52286469: 3 1 489 9 82 4 4 9 637 8
+4251579: 457 7 556 2 64 65 59
+229770: 65 60 874 46 5
+2700: 1 7 96 3 3
+198787972: 4 3 5 6 68 5 2 45 4 2 5 2
+10115: 77 5 231 5 5
+4303635: 1 14 782 9 69 595
+2678: 20 9 7 81 1
+145017912744: 99 4 783 107 9 47 93 9
+13034369: 5 7 43 6 5 3 375 49 4 73
+989: 84 92 8 5 687 94 7 8 4
+53545060811: 80 4 85 84 8 99 7 4
+230081372: 8 2 49 651 7 6 4 1 4 9 7 2
+58091386: 56 5 1 7 3 222 4 8 3 158
+48204: 3 461 91 333 47 26
+58448887252: 7 175 22 66 486 52
+197235: 410 9 48
+22386781689439: 956 7 65 6 2 8 6 943 9
+119340: 9 5 52 51
+563562323: 8 5 7 903 79 5 79 14 9
+52547762: 724 8 9 2 6 7 29 4 2 6 6 8
+227057993908: 99 6 26 82 199 192 52
+2700292479: 1 925 1 9 50 3 84 383 3
+119784: 7 3 2 79 7 6 6 6 20 53 1 5
+217977480: 91 3 6 8 2 980 81
+9559: 828 56 65 3 66
+134739247559: 10 8 4 6 4 9 1 3 9 675 59
+1284754815: 594 56 590 8 5 2 9 335
+6090685515: 2 60 2 758 9 8 4 5 87 9 5
+1352574963: 1 69 69 17 7 97 1 843 9
+2936812726: 42 4 6 174 317 2 716 7
+21: 2 7 4 2 6
+166409: 6 2 268 24 9
+322: 122 9 4 143 44
+4538: 450 1 33 4
+1862003: 2 9 302 215 610 449
+86940: 85 9 10 3 8
+38072: 6 613 4 15 4 692
+99725486: 6 12 6 6 6 6 65 25 478 8
+13750: 53 2 439 27 412
+7038816: 57 6 65 7 80 9 3 454 8
+2855136: 6 620 8 570 543 33
+146592: 84 7 160 2 67 924
+569936: 7 5 621 4 4
+740: 20 53 1 7 659
+70911: 5 2 8 66 2 9 1 4 8 1 4 511
+64728: 3 66 6 93
+265592: 440 6 7 2 545 6 967 2
+1497366612: 2 53 9 78 513 63 7 404
+61277: 150 5 1 2 9 5 2 48 8 1 7 5
+3346539: 8 82 5 42 7 3 59
+3365893552180: 12 995 7 28 7 37 180
+1009: 6 15 53 50 885
+127008: 83 7 894 37 84
+562032713741: 3 869 174 21 199 59
+987527: 34 61 3 9 385
+19712100: 735 4 530 84 25
+26901: 303 117 1 4 3 63
+15116264: 9 8 75 48 25 2 457 7 68
+204191226: 3 89 1 2 4 2 8 8 3 9 327 6
+5198984: 8 3 8 6 9 72 994 4 526 7
+11382: 759 1 164 7 868 6 594
+504391: 852 73 848 8 39
+530085603: 30 558 984 5 9 2 5
+624: 9 2 136 475 2
+3629563236: 359 2 247 54 379
+395873445: 9 227 47 8 9 3 2 2 5 687
+552102: 5 77 20 567 4 18 8 551
+76000078085: 47 2 33 7 7 2 156 5 85
+132685: 9 46 2 386 7 96 7 6 4 9
+10372: 3 5 1 9 47 189 2 2
+20543565: 978 2 65 3 7
+1472385558: 5 7 6 340 794 7
+14144491524: 44 2 64 983 5 24
+2692998: 48 1 19 63 638
+1252924947: 9 5 869 534 7 1 6 697
+4716: 12 98 1 3 4
+2496938: 3 41 7 725 9 4 2
+1235912: 7 3 99 4 217 49 92 76
+2481026: 30 810 510 18 8
+287777439: 74 83 411 2 3 1 57
+6343360: 2 6 7 72 76 688
+77516: 1 1 75 479 37
+3030894: 8 7 6 1 2 4 71 29 4 2 6 40
+5048088466: 80 631 8 765 7 71 6 30
+359727: 897 80 5 923 4
+74387040000: 50 52 80 5 13 393 7 2
+220838337605: 65 48 56 44 760 1 76 5
+25607876: 595 532 43
+33263: 524 4 63
+2233205: 956 6 4 389 348
+49713: 115 54 9 4 4 86 2 5 864
+6057554870011: 931 7 9 189 8 55 903 1
+933697: 3 833 1 93 913 4 3 42
+10924942: 780 353 14
+284929536: 3 4 4 3 98 94 861 92 6
+6695: 7 914 191 1 7 3 86 9
+6245883: 9 989 85 62 6
+30: 7 3 9
+10155582722: 755 6 35 8 3 2 4 2 30 8 4
+10213731200: 5 4 576 94 262 88 80
+234673837: 41 81 31 4 7 5 831 6
+324941866: 7 8 7 7 365 27 2 6 1 81
+145341868: 995 4 961 6 38
+2637745: 8 2 828 7 199
+17982455851: 64 2 4 2 9 222 5 7 4 6 1
+9608793: 574 956 628 4 8 381
+719687: 71 9 6 80 7
+48985815113: 85 571 450 8 151 11
+4889892: 8 3 15 9 3 428 1 8 7 4 1 7
+1505669220: 88 648 947 77 8 9 6 30
+2127186: 818 91 468 3 9 5 8 58
+4029145071: 15 562 37 64 45 3 287
+79038: 48 661 1 2 707 2 981 9
+50824: 50 7 1 2 4
+3007: 79 29 5 6 2 9 8 778 72 7
+97461: 25 779 5 81 5
+72103770: 6 1 827 5 378 66 7 8 9 9
+10958: 307 747 41 7 1
+20287324856: 7 5 97 1 79 3 6 92 1 9 5 4
+169639: 2 68 2 1 83 8 95 5 154
+4596255180: 1 67 6 67 55 1 8 3
+95786: 425 259 28 5 26
+42269125: 80 6 331 22 4
+293888: 4 2 4 2 821 54 425 4 7 8
+5203652120: 2 260 36 52 120
+214028823995: 9 7 889 2 670 7 1 9 9 5
+46785931: 9 5 104 6 7 59 8 5 32 8 3
+1249: 3 183 78 584 38
+39642467328: 73 27 10 3 3 984 667
+33264275: 22 782 2 3 5 73
+138424899: 9 68 143 89 9
+70342494: 195 958 61 9 447 47
+194789: 83 3 782 50 21
+183549: 6 40 399 7 2
+68052: 6 51 553 9 649 5 2 9 53
+14620480: 6 7 1 905 1 6 8 8 369 8 8
+3453258: 89 388 58
+17724262883: 35 92 24 1 8 2 8 688 1
+10296335: 7 22 23 9 62 57
+930: 913 11 6
+1528389206: 198 7 907 4 822 218
+684211: 6 9 76 7 596 6 570 23
+3953055575502: 7 6 7 10 4 7 3 860 4 476
+235864: 2 35 864
+342199842: 46 6 70 4 41 37 6 6 2 3
+38875005: 620 627 6 94 5
+47902: 717 6 2 40 13 432 8 4
+3437568326: 2 4 8 2 9 373 10 4 8 6
+71911489: 7 5 38 258 633 233
+116689560: 681 2 5 571 6
+13336633: 66 535 516 3 33 43 97
+2561353: 1 5 2 472 41
+7100813: 998 73 78 85 83
+9016487158: 1 915 3 3 9 3 8 94 49 5 8
+231873894863: 2 98 42 2 777 863
+17802929988398: 456 79 167 49 972 49
+205498: 8 9 2 3 56 48 4 3 3 3 622
+53767644: 537 673 5 4 290
+64823081: 4 8 1 546 742 390 5 4 7
+224054: 257 30 7 9 29
+4381459: 84 3 629 5 9
+156092264318: 26 60 92 264 319
+4835710: 112 7 5 2 9 521 1 9 6 5 7
+2097368646: 9 961 2 9 299 4 9 18 5 6
+5199015150: 4 1 529 40 234 15 7 6 5
+2263449: 7 236 8 2 9 8 8 3 245 9
+17923542: 2 12 2 91 92 702 44 2
+1822830370: 4 619 7 451 14 8 394 8
+787528: 423 7 8 9 44 3 1 1 667 2
+2861205060: 1 5 86 5 18 7 917 76 51
+2139301: 80 347 23 77 10
+78: 31 33 14
+1938: 1 1 1 68 101 7 2 9 6
+439607545: 6 29 378 3 1 904 1 481
+21129: 704 3 9
+1581: 848 1 21 649 1 62
+2662: 68 3 62 2
+3026494946287: 8 57 4 1 57 8 189 9 86
+146835081730: 339 7 1 96 2 20 9 2 6 9 9
+54568804: 1 65 99 848 4
+344196191: 65 802 3 62 78 22 75
+6009142314: 4 852 1 77 5 533 7 654
+2293044: 902 37 6 407 6
+66217250: 8 327 12 68 256 9 242
+7449: 10 105 7 23 76
+713: 73 50 586 1 3
+8396761070: 691 9 821 3 5 9 9 5 8 56
+84093834: 76 226 4 612 59 3 3 2 8
+8021: 24 3 293 87 23
+4588059: 8 55 5 8 547 1 6 4 2 27 3
+896: 3 6 96 7 8
+203856: 117 9 49 83 2 2 6
+1755: 5 5 6 56 19
+94983133313: 91 4 9 6 9 2 71 611 3
+36501584: 421 59 200 84 76
+2739260160: 83 8 78 3 60 67 32
+11431577: 4 85 4 54 86 8 74 57
+3904975: 762 183 28 451 36
+1061781890400: 1 90 712 99 797 210
+104260: 218 2 8 71 451 26
+12831: 231 3 479 96 793 8 8 7
+1867: 249 621 9 9 24 955
+2736990: 52 56 9 19 3 930
+7372456: 13 3 9 5 55 158 676 41
+13995957291847: 87 86 655 4 838 852 7
+262752: 7 755 9 180 6 8
+116756: 60 85 8 86 665 5
+21520534503978: 2 25 8 1 883 953 4 978
+20702160: 65 72 7 8 45
+47451357: 15 6 1 3 4 4 603 108 9 3
+90184: 892 1 6 91 4
+522977087: 6 8 8 35 75 5 5 9 76 6 5 3
+19773: 938 46 2 9 3
+591448: 96 8 611
+151932: 9 6 8 7 300 6 997 7 3 2 6
+677133: 55 94 96 7 17 8 15
+62605459434: 236 75 5 33 5 4 2 6 609
+1134716637: 5 134 4 814 576 8 51
+203685: 138 7 885 22 3 8 3 5 5
+411259430463: 7 60 4 988 2 7 384 7 6 3
+69479410: 6 28 93 7 8 23 711 631
+36480513: 747 4 5 10 488 73
+6529930114: 98 37 398 638 110 1
+3158302: 8 32 7 4 688 78 3 1
+1329: 956 213 6 95 59
+103528339432: 4 38 9 5 1 5 6 9 887 536
+26058526: 86 1 69 6 3 7 155 75 3
+16637174616501: 60 5 9 577 2 88 3 4 3 52
+496403648: 24 10 1 419 8 617 8
+70983429060: 234 1 5 20 1 6 8 5 8 5 60
+18430386766: 7 5 42 7 776 198 55 34
+4336513875: 7 869 534 1 3 15 89
+146733: 2 179 8 8 6 300 99 15
+719431: 1 418 7 4 4 7 4 5 8 35 6
+123489453: 1 235 650 2 9 89 47 87
+1817054297589: 6 40 395 5 4 297 592
+28112657546: 48 73 71 58 113 6
+3698184: 79 871 389 268 4
+33904566: 8 359 3 95 2 97 9 4 3 6
+3749036750: 37 4 903 6 750
+9653520: 2 28 2 5 57 584
+64502825: 7 9 20 171 8 60 5 65 5
+258198671: 2 6 840 55 551 7 1
+7876133: 9 9 32 46 963 718
+795924: 8 31 3 51 873 48
+25961153: 58 89 55 630 17 9 2 6 5
+7689010: 83 6 602 699 9
+37694322: 5 57 3 329 134 775 17
+370720500: 7 6 371 8 767 1 14 606
+396636777: 67 6 965 6 4 7 3 29 7
+683362696: 68 33 62 6 96
+176659289957: 8 2 3 57 824 8 899 57
+942096: 6 830 74 2 5 4 2 1 93 6
+139897: 50 6 4 5 466 3 86 8
+25310524: 842 9 835 4 4
+284646313: 7 2 858 677 4 623 5 4 7
+182325: 361 418 3 75 7 6 6 75
+55: 3 2 9 35 5
+2383002: 384 31 62 73 207
+5783478945: 61 2 9 15 7 14 8 351
+6822681600: 8 840 490 56 37
+4081902: 9 88 7 5 2 10 7 506
+499758: 1 27 41 426 326
+129: 53 7 61 3 5
+4093163: 940 75 4 8 3 8 7 5 6 317
+1735787709: 4 7 39 10 8 4 8 5 35 5 1 9
+1466379: 6 8 8 1 4 3 6 5 625 6 25 9
+1132930: 2 44 81 8 2 3 19 2 6 6 2 8
+813082430: 2 9 2 27 72 5 616 486 5
+39761608992: 8 3 1 5 9 4 7 9 942 476 4
+183663: 3 17 407 9
+290472: 52 7 798
+26524378336980: 2 7 808 977 3 92 8 980
+130466560295040: 778 533 9 98 816 190
+4905495936: 4 11 17 93 808 99 8
+593640: 492 5 5 1 2 3 39 9 6 30
+6233: 9 12 68 7 6 2 1 5 3 16 41
+36038: 9 476 863 7 9
+128815: 1 2 88 15
+1864323072: 202 292 9 128 8
+9950315: 52 4 938 51 3 8
+501726: 5 476 303 187 5
+92280: 922 27 2 9 42
+76472: 661 208 88
+61014: 1 97 1 629 1
+17078477400: 1 44 4 5 128 308 2 5 3 8
+376022848: 21 760 1 4 224 6 56 8
+6639080646: 945 3 2 7 7 99 881 643
+116944: 4 3 7 38 81 6 3 8 1 441 7
+230277087093: 319 430 9 801 93
+1043119420033: 4 31 6 1 4 341 2 350 35
+17346278: 6 45 69 9 157 545 18
+2901672: 2 287 1 16 72
+117015525: 5 1 8 594 4 9 97 6 3 3 55
+48944038: 539 9 71 608 5 703 26
+51469483: 113 965 472 217 26
+35344593648: 7 54 7 822 238 549 78
+9385011: 938 493 5 9 22
+8666140861: 5 6 6 1 4 44 60 6 6 1 8 5
+5300472946: 692 5 31 762 948
+25608: 87 4 3 24 552
+308240474597: 770 6 5 8 429 45 5 9 2 5
+16439885: 2 8 822 3 50 651 5 77
+544500: 8 22 253 37 26 4 2
+30379565: 3 903 1 5 323 1 9 565
+41656: 144 47 794 31 41
+24807: 48 7 63 7 552
+3485: 499 4 74 6 23
+839060: 1 27 1 35 5 7 9 3 7 6 1 25
+23088: 9 9 33 42 148
+9154663: 4 817 311 8 7 91 6 63 1
+90682288496: 7 577 8 5 20 1 6 748 6
+43937079: 5 770 7 89 91 4
+29472: 614 6 8
+11561778226: 2 6 6 4 34 9 9 963 2 2 2 6
+117144416: 317 8 8 6 6 8 39 8 1 956
+2462640: 3 8 15 2 9 7 5 8 4 7 930 8
+6991816: 6 2 867 3 4 5 7 8 1 35 4 9
+10813: 12 76 14 37 576
+5764467: 90 94 9 8 5 2 68 92 9 4 2
+20995047250: 5 814 4 6 7 9 4 4 7 9 2 50
+340676: 492 32 5 92 7
+460049: 9 8 839 39 5 69 4 8 2 7 8
+39360102: 46 101 5 7 845 2
+632489040: 632 48 896 1 73 6
+4515: 73 1 4 5 15
+22440: 4 8 21 663 561
+34573: 26 2 65 77 3
+1205424: 3 48 930 2 4 1 4 2 4 1 9
+2288024: 4 6 411 9 92 7 5 56 6 8
+7166740: 5 62 4 980 103
+43925184: 68 7 767 23 8 8 1 2 6 2 8
+73957520: 8 4 6 1 3 4 440 67 560
+4497072: 449 6 858 3 211
+379852098: 65 68 68 3 29 7 9 6 1 2 6
+7039622942269: 7 491 357 4 6 9 683 84
+59297832: 83 895 586 9 11 8
+3222143: 98 427 77 4 1
+2706396: 2 7 4 9 9 8 5 5 8 3 85 609
+54899: 9 40 5 8 99
+15470567600: 423 6 737 988 9 1 6 4 4
+414459045: 640 8 468 369 3 13 35
+28680: 286 73 7
+148225337: 5 63 394 6 5 4 4 922 7
+1548: 8 9 20 83 25
+52488: 55 4 5 8 81
+309758831546: 7 4 3 4 39 7 4 3 145 1 8 8
+45710059: 2 77 5 38 5 17 26 89 7 8
+110968: 3 8 9 4 5 435 3 4 32 1 1 5
+296175877: 2 3 124 9 3 2 46 71 6 55
+183182295: 3 6 31 82 295
+18032285875: 733 246 26 459 875
+2252773168103: 6 690 743 91 370 3
+208683: 90 1 303 531
+5905: 5 83 9 4 59 3
+2547957588: 2 135 6 7 9 4 5 57 5 87
+864108: 10 525 233 204 889
+2632797169: 9 5 78 52 578 3 5 71 2 2
+3861135: 17 94 6 330 91 42
+279877248: 98 69 966 503 72
+4321455138000: 567 4 611 20 75 693 3
+109506168: 771 73 43 3 9 5 8 896 9
+131686680949: 2 344 6 55 3 632 1 950
+11285568: 42 3 622 48 3
+7429: 6 7 35 15 5 4
+1344632850: 6 81 825 986 19
+1349: 12 9 23 866
+135629: 52 4 5 3 5 6 17 4 6 39 65
+109541641: 772 1 665 3 705 71
+36454: 32 11 847 33
+18256000: 79 4 792 326 64
+634608: 9 784 13 13 8
+2149222: 391 7 54 21 1
+1020512181: 8 89 9 3 3 4 40 80 1 8 9 3
+778156485: 6 21 5 4 2 7 23 663 9 5 3
+4983272739052: 280 5 530 11 920 4 73
+4161: 72 44 925 60 8
+2507022432: 4 489 6 9 8 2 8 8 90 2 8 2
+650605: 9 12 629 60 5
+2092992: 85 1 3 991 24
+26902: 9 2 3 74 6 5 42 9 8 123 2
+15599: 4 151 98 1
+41225189: 8 16 1 91 44 429 5
+1473989040: 7 228 6 1 30 32 920
+61866: 20 28 934 3 21
+570190125: 471 99 1 90 128
+16235927: 6 26 35 731 992 855
+21528: 565 2 1 2 1 8 1 9 6 66 6
+43993993848: 6 2 8 95 805 62 28 5 1
+26706275149: 4 60 451 2 58 6 5 42 8
+1011: 52 7 635 6 6
+299093: 9 8 2 4 7 8 4 9 4 5 5 867
+833382: 6 3 6 23 671
+14505768: 2 97 268 3 93
+4923890: 93 61 526 4
+48105: 751 4 16 3 38
+1414794: 70 38 16 61 251 11 6 3
+38616996: 4 79 68 791 2 3 6 999
+1904796000: 39 8 606 4 9 546 999
+147334: 9 732 65 44 22
+34232: 7 31 598 42 2
+12270967818: 27 722 9 885 5 2 3 8 8
+9264135: 3 451 441 25 6 4 13 5
+45507450163: 45 496 11 450 163
+91440: 4 41 6 916 5 48
+88344832: 882 4 8 38 8 41
+287671639: 985 29 202 1 1 56 7 2 4
+507668: 911 8 804 90 4 70 20 8
+394114: 19 837 51 434 7 469
+77382: 5 9 5 55 29 4 9 3 3 7 30 8
+9957630062: 56 9 310 73 2 291 7 3 2
+10296: 7 98 3 1 6 84 3 735 9
+295260: 7 2 18 9 84 1 39 3 19 6 7
+4701: 20 57 34 2 2 2 1
+3848560: 28 4 8 7 72 8 359 20 4
+16949608: 7 1 3 413 8 6 3 42 8 2 5 8
+31453576: 53 1 2 33 580 21 77 8
+314611: 33 9 24 86 773
+15245: 6 2 1 2 5 5 4 6 89 9 853 5
+7265: 1 7 7 6 8 1 7 669 3 4 6 63
+548073: 9 88 282 20 669 324
+62260835: 2 971 916 9 35
+835164: 30 4 3 513 44
+19800544: 440 45 1 136 407
+33392435588: 73 829 54 739 9 746
+9119277: 4 1 433 39 2 6 1 1 2 5 9
+2473338468: 2 4 24 446 155 3 3
+3391904: 5 42 291 248 8
+4854: 89 310 738 77 4
+7990517: 1 659 3 2 747 8 6 61 5
+27168: 195 80 8 6 16
+356592: 9 7 6 9 7 152 11 45 57
+803: 3 2 792 3 2
+7324966325691: 7 8 327 4 12 3 814 2 3 4
+4348464: 87 238 35 34 6
+78: 1 31 1 46
+2333: 395 903 8 93 9 2 923
+17413920: 1 730 95 8 2 580 2 9
+121371: 6 2 1 1 7 693 57 1 8 35 3
+52915920: 201 2 263 2 54 66
+4205: 1 6 82 9 6 722 4 3 5 3 5
+102938: 2 8 7 70 62 1 157 73 8
+64212990: 15 423 269 5 109
+2891: 2 24 4 15 11
+7707154: 411 954 4 1 7 1 3 6 7 94
+83830: 1 40 2 3 27 7 24 2 6 62
+342729: 7 83 272 14 9
+55247775: 541 851 8 16 41 15
+4259: 5 73 7 5 4 5
+13394887: 4 7 2 2 6 5 58 783 7 6 2 7
+904: 4 2 727 80 91
+7641038: 485 1 8 860 516 6 18 2
+2359540874: 2 546 3 8 6 36 71
+833: 42 62 1 14 7
+1581: 4 60 857 1 1 7 477
+225893352782: 225 893 35 278 2
+19077: 40 9 28 247 58
+1026671144: 5 46 3 74 8 359 8 7 69 3
+398072: 44 3 635 56 3
+15469480: 409 1 539 35 90 2
+1809270: 8 331 48 85 55 45
+2627552: 4 7 26 3 6 25 2 2 8 7 5 2
+6983: 1 950 1 70 6 9 4 844 1
+864439333: 8 98 80 439 330
+7739: 857 9 14 4 8
+527424: 5 19 6 32 67
+178358491551: 242 66 42 758 968 3 1
+23466: 4 60 4 1 2 1 166 8 5 379
+8865: 1 788 193 3 9 3
+25531136601: 2 55 311 36 601
+1435774: 8 84 27 578 18 4
+6228: 4 878 7 7 5
+1642: 3 8 3 4 2
+38584000: 8 6 4 2 41 6 95 2 4 8 875
+24723940: 209 31 477 9 8 4
+2116117: 697 3 2 6 7 23 425 36 6
+3124451126: 26 3 11 12 78 4 6
+86185: 879 9 4 4 6 66 8 9 1 853
+35383157110: 2 1 792 31 43 730 7
+1658134437620: 7 3 5 233 465 44 2 485
+43437081675: 5 713 216 2 176 77
+800998632: 7 3 214 4 54 246 378
+5200: 8 9 463 9 8 377
+33760: 67 2 3 2 5
+1120091: 63 5 55 37 344 8 11 16
+140: 1 47 92
+5721882: 42 49 29 2 469 82
+34206: 37 6 77 9 2
+121: 29 3 76 9 4
+4941531369: 91 54 22 5 53 137 1
+3463558642: 28 13 87 971 1 63 8 4
+31093720: 66 7 5 73 6 1 4 910 840
+52280: 5 1 75 7 847 8 8 62 40
+3272268: 59 5 644 459 701 4
+35454732: 7 7 984 5 32 3 9 69 37 2
+450758928: 51 4 59 2 8 8 4 195 2 24
+36492: 364 1 86 1 6
+34656285942: 83 93 1 51 2 9 3 54 223
+326592350: 8 36 5 81 40 5 70
+3808350: 6 3 623 19 8 8 675
+611496: 9 626 28 3 36
+415429: 373 436 513 1 412
+6713332057: 97 3 884 5 46 57
+3383861896801: 1 81 38 1 955 5 6 9 77 1
+140384: 3 5 5 970 47 3 33 761
+1916: 5 6 4 4 9 7 2 1 4 342 2
+17252: 5 11 140 63 3 5 76
+10500: 5 35 2 1 30
+1593745: 54 868 34 1 2 2 92
+307311: 8 376 8 68 2 42
+60696: 89 75 61 8 9
+76288046546: 13 6 4 9 5 7 303 6 1 2 14
+9273613: 92 73 613
+335922: 331 2 2 37 3 84 50 9 51
+17043713: 44 220 1 98 132 8 64
+1755720677: 48 77 180 2 677
+763: 42 250 7 1 463
+4841686083: 60 23 90 24 88 90
+7945523600154: 895 166 1 764 70 15 4
+292513: 2 25 91 64 1 852 460
+44328197: 73 877 3 29 962 2 3 12
+4732438201: 5 87 4 2 77 2 6 700
+1690422050730: 2 600 86 8 216 76 2 5 7
+73303: 35 74 8 31 1 1 9 3 9 1 52
+2929506: 1 9 186 175 6