Skip to content

Instantly share code, notes, and snippets.

@lynaghk
Last active February 6, 2021 12:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lynaghk/eb213db1ea0e69c61b427d08871f866a to your computer and use it in GitHub Desktop.
Save lynaghk/eb213db1ea0e69c61b427d08871f866a to your computer and use it in GitHub Desktop.
id val
C4410 1000
C17985 750
C17887 300
C17900 100000
C17901 100
C17902 10000
C17903 10
C17924 180
C17928 1
C17936 4700
C17944 2000
C17955 20
C17958 22
C22107 1200000
C25076 100
C25092 22
C25117 470
C25120 49
C25741 100000
C25744 10000
C11702 1000
C25792 47000
C25796 56000
C25867 1500
C25879 2200
C25890 3300
C25900 4700
C26083 1000000
C25790 470000
C25862 1200
C26082 10000000
C25077 10
C25750 120000
C25079 120
C25752 12000
C25755 150000
C25082 150
C25756 15000
C25762 18000
C25086 1
C25882 2400
C25764 200000
C25087 200
C25765 20000
C25767 220000
C25091 220
C25768 22000
C25769 24000
C25771 27000
C51721 3900
C25774 300000
C25102 300
C25778 330000
C25104 330
C25779 33000
C25105 33
C25783 39000
C25118 47
C25897 49900
C25905 5100
C25908 5600
C11616 510000
C25123 510
C25794 51000
C25125 51
C25917 6800
C25130 680
C36871 68000
C25918 7500
C25798 75000
C25133 75
C25924 8200
C4172 1500000
C4184 20000
C4216 33000
C4275 75
C7250 10000000
C8218 200
C4260 6200
C12447 40200
C13320 5100000
C21190 1000
C22765 1200
C22766 1200000
C22775 100
C22787 120
C22790 12000
C22797 13000
C22807 150000
C22808 150
C22809 15000
C22810 15
C22818 16000
C22827 180000
C22828 180
C22843 1500
C4177 1800
C22859 10
C22935 1000000
C22936 1
C4190 2200
C22938 2200000
C22939 2
C22940 2400
C13167 2700
C22950 20
C22961 220000
C22962 220
C22965 270000
C22966 270
C22967 27000
C22975 2000
C22976 2000000
C22977 2
C22978 3300
C22980 3600
C23018 3900
C23024 300000
C23025 300
C23046 4990
C23137 330000
C23138 330
C23140 33
C23147 36000
C23150 390000
C23151 390
C23153 39000
C4211 3000
C23156 3000000
C23159 4300
C23162 4700
C23163 4700000
C23164 4
C23172 43000
C23178 470000
C23179 470
C23182 47
C23184 49900
C23185 49
C23186 5100
C23189 5600
C23192 510000
C23193 510
C23196 51000
C23203 560000
C23204 560
C23206 56000
C23212 6800
C23221 62000
C23228 680
C23231 68000
C23234 7500
C23241 750
C23242 75000
C23253 820
C23254 82000
C23260 9100
C23265 91000
C23345 22
C4197 240000
C23350 240
C23352 24000
C25190 27
C25196 56
C25197 5
C25803 100000
C25805 110000
C25808 120000
C25810 18000
C25811 200000
C25819 47000
C25822 680000
C25950 11000
C25981 8200
C27592 68
C31850 22000
C25804 10000
C23197 51
C23255 82
C22764 1100
C22781 110
C22795 130000
C22796 130
C22813 160000
C22814 160
C4198 24
C22984 30000
C23146 360000
C25194 360
C25969 430000
C23170 430
C23219 620000
C23220 620
C23240 750000
C23264 910
C25199 91
C17399 1800000
C4310 1500
C4360 36000
C17590 270
C26117 3000000
C15785 560000
C17379 1200
C17398 1800
C17407 100000
C17408 100
C17415 10
C17429 11000
C17436 120000
C17437 120
C17444 12000
C17455 13000
C17470 150000
C17471 150
C17475 15000
C17480 15
C17501 180000
C17506 18000
C17513 1000
C17514 1000000
C17520 2200
C17521 2
C17526 2400
C17530 2700
C17539 200000
C17540 200
C4328 20000
C17544 20
C17556 220000
C17557 220
C17560 22000
C17561 22
C17575 24000
C17589 270000
C17593 27000
C17594 27
C17604 2000
C17606 2
C17614 3900
C17616 300000
C17617 300
C17629 330000
C17630 330
C17633 33000
C17634 33
C17655 390
C17656 390000
C17661 3000
C17667 4300
C17675 4
C17695 43000
C17709 470000
C17710 470
C17713 47000
C17714 47
C17719 49900
C17720 49
C17673 4700
C17724 5
C4382 5600
C17733 510000
C17734 510
C17737 51000
C17738 51
C17756 56000
C17767 6200
C17772 6800
C17783 62000
C17797 680000
C17798 680
C17801 68000
C17807 7500
C17818 750
C17819 75000
C17828 8200
C17837 820
C17840 82000
C17841 82
C17855 9100
C18359 3600
C20638 75
C25270 180
C25271 1
C25826 39000
C26010 3300
C26108 10000000
C26112 2000000
C17414 10000
C27834 5100
C28636 560
C17757 56
C17802 68
C17572 240
C17677 4990
C17490 16000
C17678 40200
C17866 91000
C17422 110000
C25824 240000
C17380 1200000
C26110 1500000
C26113 2200000
C17674 4700000
C26114 5100000
C4109 2000
C13318 1800000
C21389 1
C22769 1
C22771 1
C22946 2
C22979 3
C23020 3
C23191 5
C23247 8
C22791 12
C22830 18
C23154 39
C17621 30000
C17663 4019
C17601 28
C147142 22000
C75782 1000000
C17959 249
C22767 1300
C22847 1600
C23252 820000
C23263 910000
C23222 62
C23173 43
C23148 36
C22985 30
C25185 16
C22798 13
C25184 11
C23261 9
C23235 7
C23210 6
C25188 1
C103386 1
C22941 2
C103610 3
C23015 3
C23161 4
C17894 1
C17899 1
C15545 1
C17952 2
C17945 3
C17885 3
C17970 5
C25345 6
C18022 8
C17913 12
C17918 15
C17922 18
C17946 27
C18005 33
C17969 47
C17881 3
C17882 3600
C17883 3900
C17884 300000
C17886 30
C17889 1100
C17890 1
C17891 1200
C17892 1300
C17893 1
C17895 1370
C17896 1600
C17897 1
C17898 1500000
C17906 11000
C17907 11
C17908 120000
C17909 120
C17910 121000
C17911 13
C17912 12000
C17914 130
C17915 14000
C17916 150000
C17917 150
C17919 160
C17920 16
C17921 18000
C17923 180000
C17925 182000
C17927 1000000
C17929 330000
C17930 330
C17931 360000
C17932 360
C17933 390000
C17935 4750
C17937 4
C17939 3
C17940 270000
C17941 270
C17942 2
C17943 27000
C17947 2
C17948 2200
C17949 2400
C17950 2700
C17956 220000
C17957 220
C17960 24000
C17961 240
C17962 24
C17963 24
C17964 430000
C17965 430
C17966 43200
C17967 46
C17968 5110
C17971 62
C17972 620000
C17973 620
C17974 680000
C17975 680
C17976 68
C17977 7
C17978 7500
C17979 82000
C17980 82
C17981 91000
C17982 866
C17983 820000
C17984 820
C17986 75000
C17987 75
C17988 5
C17989 51
C17990 510000
C17991 510
C17992 51000
C17993 560000
C17994 560
C17995 56
C17996 6200
C17997 470000
C17998 3
C17999 30000
C18000 24900
C18001 240000
C18002 200
C18003 20000
C18004 33000
C18006 36
C18007 36000
C18008 39000
C18009 4300
C18010 4
C18018 49
C18019 51
C18020 5
C18021 62000
C18023 910000
C18024 910
C18025 9100
C18026 9
C18027 8200
C18028 5600
C18029 56000
C22108 1800
C22198 39
C22581 2000000
C25342 140
C25344 6
C25346 91
C25352 12
C25354 15
C25358 1
C25367 27
C25370 2
C25371 2
C25375 33
C25378 390
C25381 3
C25382 3
C25383 470
C25384 47
C25828 15000
C25829 16000
C25830 22000
C25831 28000
C25832 402000
C25833 47000
C25834 68000
C25835 750000
C26029 1400
C26030 1500
C26031 21500
C26032 3300
C26033 5100
C26034 6800
C25662 3000
C34847 13000
C37800 4700000
C37862 200000
C40089 121
C41712 16
C41755 22000000
C2884 6
C4437 160000
C4491 390
C4502 470
C25390 5
C25397 8
C33886 3320
C26123 3000000
C26125 20000000
C26126 3900000
C43544 1910000
C43554 301000
C43670 11500
C43696 357000
C24883 127
C28420 2
C30544 137000
C30846 64
C34629 499000
C63498 1580
C63499 2100
C63503 9530
C73039 221000
C73040 68100
C79297 1
C79298 3300000
C79299 3600000
C85725 2
C85726 2
C72256 4220
C30273 226000
C45833 619000
C55074 3570
C55346 31600
C55354 8870
C55569 1240
C57568 4
C57572 60
C57609 4990
C57647 3900000
C83722 1100000
C83723 191000
C83725 35
C86993 374000
C98724 110000
C43002 732000
C43003 9090
C43004 909
C45027 63
C45030 124
C61834 2800
C71009 10000000
C78210 665000
C38337 40
C38385 7500000
C38386 5600000
C40517 5100000
C40574 3480
C40823 5100000
C42983 1650
C54228 18200
C54229 30100
C54230 665
C54231 2370
C56487 12000000
C59575 34000
C59781 100000000
C63896 15800
C66686 23
C62206 806
C62953 255000
C63497 56200
C63897 237000
C130127 1000000
C68406 1130
C134157 549000
C76395 2
C74154 19100
C75577 4530
C74155 475000
C139133 12400
C74379 1200
C81753 51000
C82092 130000
C81754 15000
C81755 13
C81756 300
C81757 200
C18017 49900
C18178 280
C21635 287000
C82093 60400
C81250 2740
C17905 110
C18012 3000
C18013 43000
C18014 43
C18016 499
C17904 110000
C17951 2700000
C17953 21000
C17954 200000
C15969 1800000
C15544 2
C189572 1200
C189571 4700
C26119 10000000
C26120 2000000
C26121 2200000
C26122 2400000
C25359 1
C25360 1
C190839 6800
C190840 1000000
C95218 1000
C95220 20
C95519 10000
C95520 300000
C95522 1000
C95531 120000
C95222 100
C95523 330000
C95530 10
C95524 3300
C95525 3000
C95526 20000
C95527 100000
C191714 120
C93144 13300
C37158 249000
C36926 6200000
C43005 6490
C42985 6810
C42986 47500
C42987 33200
C43546 7680
C45041 38
C45424 255
C49822 71500
C44912 11300
C47772 4300000
C49509 4700
C47424 3010
C47426 4420
C47909 221
C49510 47000
C172882 365
C46662 3300000
C46664 2
C46821 2490000
C108884 100
C108974 10000
C49508 2200
C46661 3600000
C50721 806000
C56636 240
C57251 22
C57252 22
C54124 13700
C55444 4
C55766 9760
C58968 332000
C60238 357
C60483 3160
C247146 18
C247164 976000
C247171 909000
C247173 9310
C247180 845000
C247182 825000
C247187 787
C247189 78700
C247196 715
C247152 1600000
C247166 97600
C247167 95
C247168 931000
C247169 93
C247170 93100
C247183 82
C247198 71
C247205 68
C247207 66500
C247212 619
C247214 61900
C247216 604000
C247221 59
C247230 56
C247232 548000
C247237 523000
C247239 52300
C247241 51100
C247246 487000
C247248 48700
C247255 442000
C247257 44200
C247262 422000
C247264 412
C247266 41
C247271 4320
C247273 392
C247280 37
C247282 365000
C247289 34
C247291 332
C247296 32400
C247298 31
C247305 3090
C247307 29
C247314 274000
C247316 27400
C247321 26
C247323 26100
C247330 232
C247332 23700
C247339 215000
C247341 205
C247346 2550
C247348 2320
C247184 80
C247185 8450
C247186 8250
C247200 698
C247201 698000
C247202 69800
C247203 681
C247217 6980
C247218 6650
C247219 6190
C247220 6040
C247234 54900
C247235 536000
C247236 523
C247250 464
C247251 46400
C247252 453000
C247253 45
C247267 41200
C247268 402
C247269 4870
C247270 4640
C247283 36
C247284 36500
C247285 35700
C247286 34
C247287 348
C247300 301
C247301 30
C247302 3830
C247303 3650
C247317 267
C247318 267000
C247320 261000
C247333 23200
C247334 226
C247335 22600
C247336 22
C247337 22100
C247355 19600
C247357 187000
C247364 17
C247366 169000
C247371 16200
C247373 158000
C247382 14300
C247389 12700
C247391 12100
C247396 113000
C247398 11800
C247405 102
C247407 10
C247414 1780
C247416 1690
C247421 1270
C247423 1150
C247464 8
C247466 8199999
C247471 7
C247473 6
C247475 6
C247482 5
C247489 4
C247491 4
C247496 3
C247498 3
C247500 3
C247505 2
C247507 2
C247350 2150
C247351 2050
C247352 196
C247353 191
C247367 165000
C247368 162
C247369 162000
C247370 16
C247384 13
C247385 13
C247386 127000
C247387 124000
C247400 11
C247401 107
C247402 107000
C247403 105
C247404 105000
C247417 1620
C247418 1540
C247420 1430
C247451 15000000
C247467 8
C247468 8
C247469 7
C247470 7500000
C247484 5
C247486 4
C247487 4
C247501 2800000
C247502 2
C247503 2
C247514 1
C247516 1
C247504 2
C247517 1470000
C247518 1
C247519 1
C247520 1
C247142 6800000
C247144 43
C247175 887000
C247176 88
C247177 88700
C247178 866000
C247191 768000
C247192 76
C247193 76800
C247194 73
C247195 73200
C247208 649
C247209 649000
C247210 634000
C247211 63400
C247225 576
C247226 576000
C247227 57600
C247228 562
C247242 5900
C247243 5620
C247244 5490
C247245 487
C247258 432
C247259 432000
C247260 43
C247261 422
C247275 39
C247276 39200
C247277 383000
C247278 38300
C247293 324
C247294 324000
C247295 32
C247308 29400
C247309 207
C247310 280000
C247311 28
C247312 28700
C247325 243
C247326 243000
C247327 24
C247328 24300
C247342 205000
C247343 20500
C247344 2870
C247345 2670
C247360 178000
C247361 174000
C247362 17
C247375 15
C247376 15400
C247377 147
C247378 143000
C247392 118
C247393 115
C247394 115000
C247395 113
C247409 10
C247410 10200
C247411 1960
C247412 1910
C247425 1050
C247460 9
C247461 9
C247462 9
C247476 6
C247477 6
C247478 6
C247479 5
C247492 4
C247493 3
C247165 97
C247172 90900
C247174 887
C247179 845
C247181 825
C247188 787000
C247190 768
C247197 715000
C247199 7320
C247204 681000
C247206 66
C247213 61
C247215 684
C247222 59000
C247224 590000
C247229 562000
C247231 549
C247238 52
C247240 511
C247247 48
C247249 475
C247256 44
C247263 42
C247265 412000
C247272 4120
C247274 392000
C247279 374
C247288 348000
C247290 34800
C247297 316000
C247299 309
C247304 3400
C247306 294000
C247313 274
C247315 27
C247322 26700
C247324 25
C247329 237
C247331 23
C247338 215
C247340 210000
C247347 2430
C247349 2260
C247354 19
C247356 187
C247358 182
C247363 17800
C247365 17400
C247372 158
C247374 15
C247379 14
C247381 14
C247383 137
C247388 12
C247390 12
C247397 11
C247399 11
C247406 102000
C247408 10700
C247413 1820
C247415 1740
C247422 1210
C247424 1070
C247463 9
C247465 8
C247472 7
C247474 6
C247481 5
C247483 5
C247488 4
C247490 4
C247497 3
C247499 3
C247506 2
C247508 2
C247513 1600000
C247515 1
C247494 3
C247495 3
C247509 1
C247510 1
C247511 1
C247512 1
C65241 18000000
C128030 110000
C65869 165000
C65068 22
C65649 3740
C65847 4
C66212 24
C67632 243
C61682 62
C61683 120
C61684 100
C61732 100
C62728 37400
C4368 43
C4407 91
C61685 300
C64564 20000
C63494 806000
C62137 1100000
C62325 45
C63500 365
C63865 50000
C179827 20
C68930 1
C71067 4420
C12825 22600
C134293 5100
C72936 3480
C73038 39200
C78599 49
C17805 698000
C17814 73200
C17816 732000
C17823 768
C17825 787000
C17830 8
C17832 8660
C17839 825
C17848 866000
C17850 88700
C17857 9
C17864 910000
C17873 95300
C17875 953000
C17880 976
C17806 7150
C17808 7500000
C17813 715
C17815 73
C17822 768000
C17824 78
C17831 8450
C17833 80
C17838 825000
C17847 86
C17849 866
C17856 9100000
C17858 9530
C17863 909
C17865 910
C17872 931
C17874 95
C17809 7
C17810 7870
C17811 71500
C17812 71
C17826 787
C17827 8250
C17829 8199999
C17842 84500
C72998 60
C17843 84
C17844 845000
C17845 845
C17846 86600
C17859 9760
C17860 90900
C17861 90
C17862 909000
C17876 953
C17877 97600
C17878 97
C17879 976000
C17803 69800
C17804 69
C17817 750000
C17821 76800
C17834 806
C17835 82500
C17836 82
C17851 88
C17852 887000
C17853 887
C17854 9090
C17869 93100
C17870 93
C17871 931000
C75431 221000
C75250 17800
C75781 1000
C75783 499000
C79787 37
C74377 150
C74378 200
C75784 3300
C83385 360
C83387 2490
C83396 510
C21237 2490
C21437 5620
C21841 30100
C83386 499
C83384 47
C83397 249
C83497 2490000
C83388 6200
C83395 51
C19796 17400
C19797 6340
C83389 13000
C83390 18000
C83391 300000
C80321 200000
C18360 3920
C18361 5760
C19006 8060
C21398 53600
C189664 1370000
C189665 1430000
C189666 1470000
C16107 30900
C16257 3
C17369 1020
C17383 1370
C17384 1300
C17385 1
C17386 1430
C17400 1
C17401 1910
C17402 10200
C17403 10
C17416 11300
C17417 11
C17418 11500
C17419 11
C17433 12
C17434 12700
C17435 12
C17450 130000
C17451 130
C17452 133000
C17453 133
C17466 15400
C17467 15
C17468 15800
C17469 15
C17483 16
C17484 16900
C17485 160000
C17486 162000
C17500 18
C17502 182000
C17503 182
C17517 2100
C17518 2210
C17519 2260
C17533 2870
C17534 2800
C17535 2
C17536 2940
C17550 21000
C17551 21
C17552 22100
C17553 22
C17567 232
C17568 237000
C17569 24300
C17570 24
C17583 261000
C17584 261
C17585 267000
C17586 267
C17587 27400
C17371 1130
C17373 1
C17382 1330
C17387 1470
C17389 1540
C17396 1
C17405 10700
C17412 107000
C17421 11
C17423 110
C17430 11
C17432 12
C17439 121
C17446 13300
C17448 13700
C17457 14
C17462 147000
C17464 14000
C17473 154
C17482 16
C17487 165
C17489 169
C17496 178
C17498 18
C17505 187
C17507 18
C17512 196000
C17516 2150
C17523 2370
C17532 2
C17537 20500
C17541 205000
C17546 21
C17548 210
C17555 22
C17564 23700
C17566 232000
C17571 24900
C17573 243000
C17580 26
C17582 26
C17591 274000
C17596 28
C17598 287000
C17605 294000
C17607 3090
C17623 31600
C17632 332
C17639 348
C17641 34
C17646 360
C17657 392000
C17664 4120
C17666 4320
C17671 4640
C17680 402000
C17682 41200
C17689 422
C17691 43
C17698 44
C17705 46
C17707 464
C17716 48
C17721 499000
C17730 5900
C17732 51
C17739 5230
C17741 52
C17746 536
C17748 54
C17750 549
C17755 562
C17766 6190
C17771 6810
C17600 28000
C17602 29400
C17603 29
C17618 301
C17619 301000
C17620 309
C17635 34
C17636 340000
C17637 340
C17650 38300
C17651 38
C17652 383000
C17653 383
C17668 4300000
C17669 4
C17670 4530
C17684 412000
C17685 412
C17686 42200
C17773 6800000
C17775 6980
C17780 619000
C17782 620
C17789 64
C17791 66500
C17796 68
C189670 2260000
C17687 42
C17700 442
C17701 45300
C17702 453000
C17703 453
C17704 46400
C17717 487000
C17718 487
C17735 511000
C17736 511
C17751 56200
C17752 56
C17754 562000
C17768 6
C17769 6490
C17770 6650
C17784 62
C17800 681
C17370 1050
C17372 1150
C17381 1
C17388 1400
C17390 1580
C17395 1740
C17397 1780
C17404 10
C17406 10
C17413 107
C17420 11800
C17424 113000
C17431 12100
C17438 121000
C17440 124000
C17447 13
C17449 13
C17454 137
C17785 63400
C17786 63
C17787 634
C17456 14300
C17463 147
C17465 14
C17472 154000
C17474 158000
C17479 1960
C17481 16200
C17488 169000
C17497 18200
C17499 18700
C17504 187000
C17515 2050
C17522 2320
C17524 2430
C17529 2610
C17531 2700000
C17538 20
C17547 210000
C17549 215
C17563 23
C17565 23
C17574 249
C17579 255
C17581 26700
C17588 27
C17597 280000
C17599 287
C17613 3570
C17615 3
C17622 30
C17624 31
C17631 332000
C17638 348000
C17640 34000
C17647 365000
C17649 374000
C17654 39
C17658 392
C17665 4220
C17672 4750
C17681 402
C17683 41
C17688 422000
C17690 43200
C17697 44200
C17699 442000
C17706 464000
C17708 47
C17715 48700
C17722 499
C17731 51100
C17740 52300
C17747 54900
C17749 549000
C17758 57600
C17763 59000
C17765 6040
C17774 6
C17781 619
C17788 64900
C17790 649000
C17799 681000
C17374 1180
C17375 1100
C17376 1
C17377 1210
C17378 1240
C17392 1
C17393 1650
C17394 1600
C17409 102
C17410 105000
C17411 105
C17425 113
C17426 115
C17427 118000
C17428 118
C17441 124
C17442 127000
C17443 127
C17445 12
C17458 14700
C17459 14
C17460 140000
C17461 143
C17476 1070
C17491 16
C17492 17
C17493 174000
C17494 174
C17495 178000
C17508 19100
C17509 19
C17510 19600
C17511 191000
C17525 2
C17527 2400000
C17528 2
C17542 205
C17545 21500
C17558 221
C17559 226
C17562 23200
C17576 24
C17577 25
C17578 255000
C17592 274
C17595 28700
C17608 3400
C17609 3240
C17610 3
C17611 3650
C17625 32
C17626 324000
C17627 324
C17628 33
C17642 35
C17643 357000
C17644 36
C17645 360000
C17659 39
C17660 3
C17662 3000000
C17676 4870
C17679 40
C17692 430000
C17693 432000
C17694 432
C17711 475000
C17712 475
C17725 5360
C17726 5490
C17728 5600000
C17729 5
C17742 523000
C17743 523
C17744 53
C17745 536000
C17759 57
C17760 576000
C17761 576
C17762 590000
C17776 604000
C17777 604
C17778 61900
C17779 61
C17792 66
C17793 665000
C17794 665
C17795 68100
C189656 16
C189657 17
C189672 2870000
C189660 76
C189667 1620000
C189669 1910000
C25268 13
C25269 160
C25825 249000
C26009 2740
C26109 1300000
C27535 698
C27536 3830
C25827 620000
C26011 47500
C26012 78700
C27571 2670
C25273 4
C26111 1600000
C25272 1
C25274 59
C30041 7680
C30040 1620
C34154 3300000
C34719 22000000
C30515 374
C30908 12400
C191713 24
C32391 3320
C35709 3900000
C32136 2550
C35710 3600000
C35721 162
C160136 10000
C35928 36500
C35729 7320
C35929 16500
C36938 32400
C36524 36
C40880 1270
C37801 20000000
C37998 732
C37252 33200
C37551 8870
C41949 80600
C41006 3010
C41952 16000000
C42161 1870
C42000 430
C42861 15000000
C43252 6810000
C169373 100000000
C170172 150000
C44385 140
C40372 102000
C40086 10500
C50136 820000
C47183 26100
C48183 1690
C48770 715000
C48674 137000
C48806 60400
C105609 316
C109433 80
C46670 25500
C108883 68000
C109434 39000
C109436 10
C118217 1500
C118218 4990
C109437 470
C55317 5110
C55566 590
C52534 357
C57246 100000
C57248 1200
C57644 1
C57249 2700
C53725 12000000
C56827 1820
C53726 5
C52603 3160
C57863 150
C57864 5100
C57148 309000
C57245 10000
C57643 1
C57860 61900
C110914 2000
C57859 10000
C57821 1020000
C247028 90000
C247030 649
C247032 35700
C247037 280
C247039 226000
C247071 9
C247073 9
C247080 5
C247082 4
C247087 4
C247089 4019999
C247096 3
C247098 2
C247105 1
C247107 1
C247112 1
C247114 1
C247033 34800
C247034 30
C247035 30
C247036 294
C247083 4
C247084 4
C247085 4
C247086 4
C247100 2
C247101 2
C247102 2210000
C247103 2
C247026 9000
C247027 90
C247041 191
C247042 19
C247043 158
C247044 143000
C247074 8
C247075 7
C247076 6
C247077 6
C247078 5
C247091 3
C247092 3
C247093 3
C247094 3
C247108 1
C247109 1
C247110 1
C247111 1
C247029 900000
C247031 634000
C247038 237
C247040 215000
C247072 9
C247079 5
C247081 4990000
C247088 4
C247090 3
C247095 3
C247097 3
C247099 2
C247104 1
C247106 1
C247113 1
C126296 47
C126297 22000
C66183 1
C126482 30000
C126158 2490
C65831 634000
C67548 510000
C126481 3000
C124686 249
C61494 36000
C174318 4700
C61538 511
C61679 1870000
C64264 100000
C64266 10000
C61953 200000
C61958 33
C128777 680
C128782 300000
C133162 47
C133201 300
C133163 22000
C133198 510000
C133199 300000
C133200 49
C131439 6040
C128778 511
C128779 2700
C128780 100
C128781 10000
C133205 200
C128783 1000
C179829 4700
C69096 12700
C13187 32400
C13322 7500000
C13323 8199999
C13324 9100000
C12054 16
C12055 12
C12056 11
C13049 8
C13319 2400000
C68804 10000
C68806 1800
C12057 11
C13015 5
C13314 1100000
C13316 1300000
C139128 12400
C139125 16000
C139129 470
C139124 22100
C81321 52
C83627 120
C83629 5600
C135618 20000
C80615 15000000
C84382 300000
C83906 1
C80305 20000
C185077 1000000
C14889 107000
C14891 64900
C85334 4120
C14892 8450
C85335 24900
C14890 73200
C85333 330
C86441 36000
C16840 105000
C22762 1070
C22776 102
C22777 105
C22778 107
C22792 13
C22793 13700
C22794 13
C22811 16
C22812 16500
C22826 18
C22829 187
C22842 1540
C22844 1620
C22845 1650
C22860 11300
C22861 11800
C22862 113000
C22876 140
C22877 143000
C22878 147000
C22879 147
C22892 18200
C22893 18700
C22894 182000
C22895 182
C22896 187000
C22909 2940
C22910 20500
C22911 21500
C22912 23700
C22926 27
C22927 274
C22928 28700
C22773 10
C22780 11
C22782 113
C22789 127
C22805 15
C22816 165000
C22821 17800
C22823 178000
C22825 18
C22832 1050
C22839 1370
C22841 1470
C22846 1690
C22848 1740
C22850 1870
C22855 10500
C22857 10700
C22864 12100
C22866 12700
C22873 137
C22875 140000
C22880 15800
C22882 154
C22889 169
C22891 174
C22898 19600
C22900 2050
C22905 2320
C22907 2870
C22914 237000
C22916 24
C22923 26700
C22925 261
C22930 196000
C22932 191000
C22948 20
C22955 215
C22957 21
C22964 27400
C22973 28
C22982 3830
C22989 28000
C22991 3010
C22998 3570
C23000 30100
C23005 348
C23007 332
C23014 205
C23016 3740
C23023 30
C23030 36
C23032 365
C23039 392
C23041 4120
C23048 402000
C23050 412000
C23055 432
C23057 442
C23059 46400
C23064 487
C23073 51
C23075 53
C23080 56200
C23082 57600
C23084 590
C23089 60400
C23091 61900
C23098 69800
C23100 698
C23105 73
C23107 76800
C23109 78700
C23114 8660
C23116 806
C23123 866
C23125 9090
C22929 287
C22943 2670
C22944 2740
C22959 22600
C22960 22
C22993 3160
C22994 3240
C22995 3320
C22996 3480
C23009 232
C23010 26
C23011 261000
C23012 237
C23013 23
C23026 301000
C23027 35700
C23028 357
C23029 36500
C23043 4420
C23044 4640
C23045 4870
C23060 464
C23061 47500
C23062 47
C23063 48700
C23076 523000
C23077 54900
C23078 54
C23079 549
C23093 63400
C23094 634
C23095 649
C23096 665
C23110 78
C23111 787
C23112 8060
C23113 8250
C143264 249
C22763 1180
C22772 10200
C22774 10
C22783 115000
C22788 124000
C22799 14300
C22806 15
C22815 162000
C22822 17
C22824 178
C22831 1020
C22833 1130
C22838 1330
C22840 1430
C22849 1780
C22856 10
C22858 102000
C22863 115
C22865 12400
C23132 93
C23134 97
C23139 332000
C23141 34800
C23157 3
C23166 41200
C23175 442000
C23198 52300
C23200 536000
C23207 576000
C23216 604000
C23223 63
C23225 66500
C23239 732000
C23248 8870
C23250 806000
C23257 866000
C23259 887000
C22872 137000
C22874 14700
C22881 154000
C22883 158000
C22888 165
C22890 174000
C22897 19100
C22899 196
C22906 2430
C22908 2490
C22913 232000
C22915 24
C22922 26
C22924 267
C22931 19
C22933 19
C22942 2610
C22947 2800
C22949 205000
C22956 21000
C22958 22
C22963 267000
C22972 287000
C22974 29400
C22981 3600000
C22983 309
C22988 32
C22990 294
C22992 3090
C22997 3400
C22999 3650
C23006 348000
C23008 34000
C23017 3920
C23022 30900
C23031 365000
C23033 37400
C23042 4220
C23047 40
C23049 402
C23056 44200
C23058 45300
C23065 499
C23067 5110
C23072 51100
C23074 53600
C23081 562
C23083 57
C23090 60
C23092 61
C23097 68
C23099 69
C23106 732
C23108 768
C23115 80
C23117 82
C23122 86
C23124 88
C23131 909
C23133 931
C23142 34
C23149 374
C23158 4320
C23165 4
C23167 42200
C23174 44
C23176 45
C23181 475
C23183 487000
C23190 5600000
C23199 523
C23201 536
C23208 590000
C23215 6980
C23217 619000
C23224 64
C23226 66
C23233 698000
C23249 80600
C23126 9310
C23127 9530
C23128 9760
C23129 90900
C23130 90
C23143 340000
C23144 340
C23145 357000
C23160 4300000
C23177 464000
C23180 475000
C23194 511000
C23195 511
C23211 6810
C23213 6800000
C23227 665000
C23229 681000
C23230 681
C23243 76
C23244 768000
C23245 787000
C23262 909000
C23341 221000
C23354 255000
C23355 255
C23356 26100
C142353 49900
C143856 100
C23251 82500
C23256 845000
C23258 88700
C23267 95300
C23343 226
C22768 1580
C22770 1600000
C22784 118
C22785 12
C22786 12
C22800 14
C22801 14
C22802 143
C22803 14000
C22804 15400
C22817 169000
C22819 17400
C22820 17
C22834 1150
C22835 1210
C22836 1270
C22853 1910
C22854 1960
C22867 121
C22868 124
C22869 127000
C22870 133000
C22871 133
C22884 158
C22885 16200
C22886 16
C22887 162
C22901 2150
C22902 2100
C22903 2210
C22904 2260
C22917 243
C22918 249000
C22919 249
C22920 25500
C22921 25
C22951 21
C22952 210000
C22953 210
C22954 215000
C22968 274000
C22969 28
C22970 280000
C22971 280
C22986 31
C22987 316
C23001 309000
C23002 324
C23003 33200
C23004 33
C23019 3900000
C23266 93100
C23342 221
C23351 243000
C23021 30
C23034 38300
C23035 38
C23036 383
C23037 39200
C23038 39
C23051 412
C23052 422
C23053 43200
C23054 43
C23068 5230
C23069 5490
C23070 5760
C23071 5900
C23085 59000
C23086 59
C23087 6340
C23088 6490
C23101 7320
C23102 7680
C23103 71500
C23104 71
C23118 84500
C23119 84
C23120 845
C23121 86600
C23135 976
C23152 392000
C23168 42
C23169 422000
C23171 432000
C23188 5620
C23202 56
C23205 562000
C23218 619
C23236 7870
C23237 715000
C23238 715
C23268 95
C23269 97600
C23346 23200
C23347 23
C23348 24300
C25818 453000
C25820 549000
C25821 649000
C25952 13300
C25954 16900
C25971 4530
C25186 191
C25200 9
C25814 316000
C25816 383000
C25823 825000
C25957 1400
C25964 2370
C25973 5360
C25806 118000
C25815 374000
C25949 11500
C25956 1240
C25958 1820
C25965 2550
C25967 31600
C25972 4750
C25976 68100
C26751 499000
C25809 121000
C25813 294000
C25961 22100
C25962 24900
C25977 6040
C25978 6190
C25980 7150
C25189 1
C26095 2700000
C26096 3300000
C146569 750000
C190321 10000
C25195 37
C25192 301
C25193 34
C148463 7500
C146211 5100
C146568 120000
C146565 10
C146566 39
C146567 75
C146814 7680
C148464 4700
C148466 510
C148465 750
C148467 430
C90432 470000
C90434 680
C190213 1800
C90237 680
C90653 3920
C88865 7500
C95223 249000
C95224 75000
C95612 165000
C95611 40200
C98728 2400
C98729 12000
C98730 9100
C94830 1580000
C32183 604
C33619 226000
C93619 887
C93622 953
C37078 14
C39048 39000
C39049 1500
C39050 10000
C38070 1400000
C165976 1000
C167144 10000
C45321 576
C108486 4
C192811 510
C50214 825
C48136 453
C117935 43200
C48922 976000
C118148 3000
C117655 2000
C51261 36500
C51262 562000
C51263 845000
C51613 1
C53197 20000
C53198 820000
C51218 1000
C51219 953
C51220 60400
C51221 30100
C51222 90900
C51224 35700
C51265 37
C54536 6200000
C55913 2200
C55719 2200
C56053 100000
C56069 499
C54022 49900
C54019 1000
C54021 100
C54345 100000
C55912 6800
C51223 5230
C51225 316
C51264 121000
C58130 11000
C54020 4990
C58085 49
C58837 35
C59003 14700
C59295 1780000
C59894 12000000
C60344 6650
C60587 200000
C60588 24000
C60589 51000
C246846 953000
C246848 48
C246853 29800
C246849 46
C246850 41
C246851 324000
C247046 7
C247048 5
C247055 1
C247057 1
C247049 4990000
C247050 4
C247051 4
C247052 3
C247053 2
C247058 1050000
C246847 931000
C246854 29
C247045 8060000
C247047 6
C247054 1690000
C247056 1
C65628 133
C67014 1130
C67558 820000
C67232 162
C67234 30
C67239 78700
C67233 23
C5099 24
C67236 3830
C67237 422
C67238 56
C61601 76
C61897 1620
C5101 442000
C4131 680000
C4142 82000
C4908 1600
C4940 3400
C4961 620
C4962 62
C4147 91000
C4125 499
C62741 2800
C64171 147000
C62740 15400
C62742 97600
C64531 147
C11457 3240
C11489 215000
C11425 249000
C11460 3090
C11462 3160
C11476 18700
C11512 2000000
C132339 560000
C11463 31600
C11481 182000
C11490 2200000
C11549 9090
C11537 68100
C11626 54900
C11660 10200
C11693 121000
C11550 909
C70427 1960
C11692 12400
C11717 82500
C68457 536000
C11671 1430
C129765 54
C129766 17800
C8329 43000
C8369 604
C82292 143000
C84352 4990
C82287 16
C19709 86600
C82134 23700
C82295 73
C82296 23
C84351 10000
C85373 1020
C15172 3740
C141650 30000
C22276 1500000
C22065 3480
C141649 3000
C150511 806
C25751 127000
C25753 133000
C25754 13000
C25770 270000
C25784 3000
C25785 402000
C25786 430000
C25787 432000
C25801 953000
C25802 976000
C25851 11300
C25852 12100
C25853 12700
C25854 13700
C25869 1650
C25870 1690
C25871 1800
C25885 2700
C25886 2940
C25887 36500
C25888 37400
C25901 4750
C25902 4870
C25903 4990
C25904 51100
C25919 7680
C25920 7870
C25921 80600
C25083 15
C25084 18
C25085 191
C25099 270
C25100 27
C25101 2
C25116 464
C25134 80
C25135 820
C25136 82
C25742 105000
C25747 115000
C25749 11000
C25758 169000
C25772 28000
C25781 374000
C25797 681000
C25748 118000
C25757 160000
C25766 21000
C25775 301000
C25780 348000
C25782 390000
C25789 464000
C25791 475000
C25800 910000
C25850 10500
C25855 14300
C25857 16500
C25859 18200
C25864 1240
C25866 1300
C25873 23200
C25875 26100
C25880 2210
C25884 2490
C25889 3010
C25891 3600
C25898 4220
C25907 5230
C25909 5620
C25914 6190
C25916 6490
C25923 8060
C25925 93100
C26084 1020000
C25799 909000
C25856 14700
C25858 16900
C25865 1270
C25872 21500
C25874 24900
C25881 2370
C25883 2430
C25892 3920
C25899 4300
C25906 5110
C25915 6200
C25922 88700
C26982 52300
C26983 57600
C26984 64900
C26985 69800
C26998 221000
C26999 226000
C27000 232000
C27001 237000
C27015 698000
C27016 732000
C27017 768000
C27018 787000
C25743 107000
C25745 110000
C25746 113000
C25759 16000
C25760 180000
C25761 187000
C25776 30000
C25777 316000
C25793 499000
C25795 549000
C26969 24300
C26971 27400
C26978 41200
C26980 45300
C26987 76800
C26989 90900
C26994 174000
C26996 196000
C27003 261000
C27005 357000
C27012 576000
C25860 1100
C25863 1210
C25876 26700
C25877 2100
C25878 2150
C25893 40200
C25894 43200
C25895 44200
C25896 47500
C25910 5760
C25911 60400
C25912 61900
C25913 6040
C25926 9100
C27021 931000
C25078 110
C25080 121
C25089 20
C25096 249
C25098 26
C25103 301
C25107 348
C25112 412
C25114 43
C25121 4
C25128 5
C25132 750
C25137 93
C26957 17400
C26959 19600
C26960 22600
C26973 29400
C26974 32400
C26975 35700
C26976 38300
C26990 95300
C26991 102000
C26993 154000
C27007 392000
C27008 412000
C25081 140
C25088 205
C25090 210
C25095 243
C25097 261
C25106 33
C25113 432
C25115 44
C25122 4
C27009 453000
C27010 487000
C27175 6810
C27176 16200
C25093 22
C25094 240
C25108 37
C25109 390
C25110 39
C25111 40
C25124 511
C25126 560
C25127 56
C25129 665
C25131 68
C26260 1070
C26956 15800
C26970 25500
C26972 28700
C29401 1150
C26979 42200
C26981 48700
C26986 73200
C26988 84500
C26995 178000
C26997 205000
C27004 274000
C27006 365000
C27011 523000
C27013 604000
C27020 866000
C29402 30100
C29263 806000
C30328 20000000
C95596 2550
C95598 8250
C95594 113
C96273 9530
C98836 100
C98837 100000
C98838 10000
C32298 137000
C29281 332
C29381 66500
C30329 3900000
C98835 1500
C32980 97
C98841 1000
C31439 27
C98847 9090
C32297 59000
C34906 2610
C33359 698
C33360 2740
C35293 931
C93751 5360
C93752 11800
C36777 124000
C36954 169
C38587 1800000
C41042 402
C36356 430
C37825 62000
C38006 5900
C38373 6
C38606 63400
C38706 165000
C38941 180
C39650 1400
C36951 1910
C36953 8870
C38586 1690000
C43249 243000
C43251 4019
C43676 36000
C43473 22100
C43675 1200000
C44198 1
C45320 576
C45325 45
C44358 332000
C44937 3
C45323 39
C45956 360000
C46006 280000
C46007 590000
C43534 71500
C45013 6340
C45432 3
C39886 124
C39887 187
C48939 34000
C44933 910
C45194 6650
C45993 383000
C47500 6980
C47493 34800
C47764 7
C48838 562000
C48938 8
C49065 475
C105614 30000
C53398 53600
C53516 18
C52929 130000
C54831 14000
C52037 82
C54968 56200
C113475 953
C113480 324000
C52960 226
C52962 237
C56583 665000
C57106 39200
C57678 36
C52036 19100
C52269 4420
C52378 46400
C52959 215
C114988 15
C57982 499
C58495 825000
C58827 210000
C56582 3000000
C57105 20500
C54068 162000
C60073 3
C60154 4640
C60081 4120
C59651 22
C60076 2050
C60310 60
C60390 422000
C60075 3320
C247162 5
C247161 8
C247163 1
C21617 1
C21618 1000
C21619 2000
C21624 3
C30210 12
C30705 39000
C30706 33000
C30707 120000
C30708 110000
C32486 20
C34762 4700000
C35217 7
C35218 100
C35219 8
C35528 8
C36686 91
C39346 1
C39347 3
C40361 15
C41977 51
C42963 1
C44451 10
C47019 10
C47444 270
C49298 2
C50371 68
C50720 3
C51988 16
C52842 100000
C54195 1600
C54315 1000
C55022 10
C55486 220000
C55487 130000
C55502 3
C55914 200
C56080 680
C58775 280
C58849 39000
C58850 3300
C59292 64900
C59294 200000
C60111 1
C64042 511000
C64043 240000
C65168 100000
C65306 300000
C67235 3650
C67619 8250000
C68084 3
C68599 2
C68734 71
C70404 22
C70405 91
C70407 51
C78022 1
C79537 4530
C82289 69
C82293 29
C82294 649
C84087 4990000
C88090 249
C95455 47000
C107596 56
C111107 6
C114978 52
C116140 18
C122545 750000
C126137 442
C129579 25
C131001 1800
C133501 120
C134162 6
C136113 1
C182355 12000
C182356 6200
C189661 1210000
C189663 1130000
C189671 2430000
C190228 36
C191220 1210
C26428 240
C30412 51000
C30413 150000
C31987 200000
C37784 510000
C39356 3
C40223 64
C55559 470000
C56239 100
C61618 10000
C63863 25000
C65089 33200
C66696 180
C69400 43000
C69478 3
C70992 110
C70994 11000
C72208 2200000
C73112 270000
C73113 5
C75581 6340
C75582 10500
C75737 105
C82626 180
C83487 39
C84642 5
C92196 392
C96184 910000
C97157 2
C99151 22
C99152 43
C99153 62
C110596 16
C113358 24
C113474 715
C113478 1780
C113479 2870
C113483 1580
C129693 90
C133039 1100000
C11254 1
C20087 15
C30206 11
C34839 75
C40836 294000
C41950 20
C42957 180
C42962 10
C44304 62
C46193 1
C48277 6
C48874 4
C50472 100
C52443 4700
C52444 1000
C53728 33
C54203 1400
C55014 7
C55093 62000
C55484 56
C55485 1000000
C60131 390
C68384 20000
C71971 3900
C72398 47
C72399 56
C76471 5
C78980 5000
C81247 4990
C81251 15000
C82297 2320
C82298 2670
C90385 60
C94903 249
C96245 49900
C99856 158000
C99964 200000
C105607 383
C105608 316
C106195 169
C106196 86
C107659 24
C109103 510
C109426 39
C110257 430000
C118189 22
C122363 120
C122364 390
C122546 309000
C122547 13300
C122548 33200
C122549 1540
C124344 510
C126124 487
C132122 137
C145018 215000
C150966 2000
C181897 3
C245838 9
C247117 619000
C247118 340
C25487 49
C247119 316
C247122 221
C270420 9760
C270571 95
C270572 9310
C270573 9
C270574 91
C270576 8660
C270577 84
C270579 8450
C270581 8
C270582 787
C270584 71
C270587 68
C270589 6
C270591 5900
C270592 523
C270593 5
C270594 51
C270595 5100000
C270596 4990000
C270597 48
C270599 453
C270600 43
C270601 4
C270602 41
C270603 4
C270604 374
C270605 365
C270607 360
C270608 35
C270609 3570
C270610 34
C270611 34
C270612 3
C270613 3300000
C270615 30900
C270616 309
C270617 30
C270618 294
C270620 274
C270621 2700000
C270622 267000
C270623 255000
C270624 2
C270625 24
C270626 232
C270627 2260
C270630 2
C270631 196
C270632 191000
C270633 1870
C270634 182
C270635 1
C270636 17
C270637 1740000
C270638 1740
C270639 16
C270640 16
C270641 160
C270642 1
C270644 1400000
C270645 140000
C270646 13
C270647 1
C270649 130
C270650 12
C270651 1180
C270652 118
C270653 11500
C270654 10700
C270890 33000
C270905 14
C270935 3
C270936 3
C270937 2
C270938 2800000
C270939 2
C270940 2490000
C270941 16000000
C270943 1
C270956 10000
C270964 8
C270965 6
C270966 5
C270968 4
C270971 3
C270975 330
C270878 750
C327280 3
C102018 47000
C351640 56000
C20441 5600
C139886 30000
C318138 1000000
C311935 20000
C319645 30
C319998 1200
C311933 20
C319865 150
C175529 560000
C31884 3300
C55864 200
C144744 60
C170311 40
C15458 100000
C25423 30
C25426 360
C25471 150
C25473 1
C25476 24
C25477 270
C25478 27
C25493 75
C25546 220000
C25552 2000
C25553 30000
C25554 330000
C25572 910000
C25573 91000
C25707 68000
C25713 15000
C25929 1300
C25945 7500
C25946 8200
C25947 9100
C26060 4700
C39008 6
C48769 3300000
C66578 1
C73035 430000
C76486 36000
C93205 4300
C107618 43000
C15401 10000
C72209 100000
C80761 470000
C24920 100
C48395 3
C60136 510000
C70196 5
C73169 100000
C20374 1500
C246839 2400000
C20400 2200000
C20406 300
C20411 33
C20428 47000
C20431 4700
C20435 51000
C20456 750
C20466 8
C25145 180
C25245 510
C25304 300
C25308 360
C25328 820
C25329 82
C25479 2
C25480 2
C25488 4
C25489 4
C25490 51
C26103 3000000
C153391 22100
C149984 20300
C346756 100000
C218500 300
C149999 95300
C64468 30000
C63044 49900
C44786 100
C42959 100
C48370 10
C81341 51
C61496 11000
C56299 34000
C44538 36000
C84699 1000
C141893 120000
C165990 2000
C111648 510000
C382732 680000
C79483 3480
C95521 249000
C59093 2700
C43781 10000
C171687 240
C44535 1000
C55868 100000
C45525 200
C63045 4990
C44791 10000
C111022 120
C81653 2000
C129125 150
C44796 140
C56054 309000
C97164 3000
C79482 2400
C97163 12000
C64285 3240
C61924 4700
C44794 330
C141890 56000
C111588 75000
C95529 470
C46223 100
C64288 15
C90238 680
C55720 1200
C44534 330
C86445 332
C154438 499
C64289 4120
C67089 470000
C55866 10000
C74850 150000
C47009 2000
C52244 100
C171686 220000
C63039 20000
C54106 10
C59092 1500
C59057 33000
C64462 5100
C90433 680
C44533 140
C46250 80600
C67071 120
C56453 100000
C67072 68000
C56009 200000
C185252 18000
C44793 36000
C51347 18000
C86866 15000
C141888 10000
C75157 249
C407711 1
C407695 2
C169072 1000
C169071 10000
C270588 634000
C270578 845000
C270656 470
C270657 22000
C270658 100000
C270374 6490
C270379 110000
C270583 76
C31366 576
C192807 1500
C81084 6
C42792 35700
C31608 2
C53718 34800
C60005 39200
C32281 249
C38522 10000
C46039 5110
C62398 22000000
C37659 560
C421600 24000
(ns z3-resistor-combinatorics
(:require [clojure.java.jdbc :as jdbc]
[clojure.edn :as edn]
[clojure.java.shell :refer [sh]]
[backtick :refer [template]]
[lonocloud.synthread :as ->])
(:import (java.io File)))
(defn z3->str
[forms]
(with-out-str
(doseq [l forms]
(prn l))))
(defn z3
[s]
(let [f (File/createTempFile "foo" ".z3")]
(spit f (if (string? s) s (z3->str s)))
(time
(:out (sh "z3" (.getAbsolutePath f))))))
(def db
{:classname "org.sqlite.JDBC"
:subprotocol "sqlite"
:subname "/Users/dev/Dropbox/jlc_2020_oct.db"})
(def re-resistor-description
#"(?i)[^0-9]*([0-9]+\.?[0-9]*)(.*)Ohms.*±([0-9]+\.?[0-9]*)% ([0-9/\.]+)(.*)W.*")
(defn parse-si-prefix
[prefix]
(case prefix
"K" 1e3
"M" 1e6
"m" 1e-3
"" 1))
(def resistors
(->> (jdbc/query db ["SELECT LCSCPart, Description, LibraryType, Package FROM parts WHERE FirstCategory = 'Resistors' AND SolderJoint = '2' AND Stock != 0"])
(map (fn [m]
(merge m (when-let [[_ r r-prefix tolerance power power-prefix] (re-matches re-resistor-description (:description m))]
(try
{:val (-> (* (Double/parseDouble r)
(parse-si-prefix r-prefix)
;;TODO: don't actually round to 1ohm --- this is hack to workaround printing in scientific notation
)
long)
:tolerance (Double/parseDouble tolerance)
:power (double (* (edn/read-string power) ;;parsing a ratio
(parse-si-prefix power-prefix)))}
(catch Exception e
(dbg (:description m))
nil))))))))
(println (z3 (template (
(define-fun abs ((x Real)) Real
(ite (>= x 0) x (- x)))
(define-fun in-catalog ((id String) (val Real)) Bool
(or
;;special case for "no resistor"
(and (= id "0") (= val 0))
~@(->> resistors
;;(take 3000)
(keep (fn [{:keys [lcscpart val]}]
(when val
(template (and (= id ~lcscpart)
(= val ~val)))))))))
(define-fun combine ((r1 Real) (r2 Real) (series Bool)) Real
(ite series
(+ r1 r2)
;;parallel
(ite (= r1 0)
r2
(ite (= r2 0)
r1
(/ 1 (+ (/ 1 r1) (/ 1 r2)))))))
(declare-const target-val Real)
(declare-const tolerance Real)
(declare-const result-val Real)
(declare-const abs-error Real)
(declare-const series Bool)
(declare-const a-id String)
(declare-const a-val Real)
(declare-const b-id String)
(declare-const b-val Real)
(assert (in-catalog a-id a-val))
(assert (in-catalog b-id b-val))
(assert (= result-val (combine a-val b-val series)))
(assert (= abs-error (/ (abs (- result-val target-val))
target-val)))
(assert (< abs-error (* tolerance target-val)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;inputs
(assert (= tolerance 0.01))
(assert (= target-val 101.0))
(check-sat)
;;(check-sat-using smt) ;;sometimes this helps w/ "unknown", othertimes not so much
;;(check-sat-using qfnra-nlsat)
;;(set-option :timeout 15000)
(get-model)))))
;;z3 takes about 1s on my laptop to parse 3500 resistors; takes about 10s to solve a 2-resistor problem.
;;but seems to work intermittently. cannot find solution w/ 3000 resistors but works fine with 2000.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment