In [ ]:
republican_user_ids = [703070204209790977, 756507078198427649, 463765507, 2457337897, 703922221, 1056440384, 619053125, 702888752801320960, 746482315312959488, 218267731, 1075576921, 2500526168, 1368195170, 795427755538190337, 366248049, 236454002, 266240117, 432930933, 788133722390401025, 705012833591889921, 703663873723863041, 67600528, 796197006, 740416304155332612, 701576068407275520, 771529979846766592, 2635235523, 1535082702, 2163900640, 428212450, 181436662, 600342778, 54722813, 441385236, 28180775, 1952776489, 922157372, 32637251, 785876430152491008, 3308224914, 2727248275, 700664546050985984, 1920598429, 3503435782, 1368654265, 745210315, 854000089, 1525055964, 703949650416504832, 33260005, 446464491, 37683692, 425492987, 601326091, 816874003, 1273954866, 4106355269, 163152469, 3866821217, 2924446310, 21332618, 1491534511, 706847754228801536, 3065053924, 716803118487330816, 117277446, 729897050913923073, 723167125272027137, 469533474, 545882915, 148374309, 3159687975, 357958440, 492798778, 16188278, 17367932, 1571292031, 297239423, 439747458, 3352691595, 2459730834, 336561046, 15565732, 262669225, 732361718106603520, 272106433, 169509823, 192545731, 2450031564, 271582172, 104530912, 760231236350644224, 615973858, 199492583, 15631338, 1660355570, 4032398321, 1128989744, 3343909939, 1426916401, 1556612149, 728032302639374337, 3378709565, 4416046169, 625640550, 821625967, 204506226, 1396999286, 181765241, 2823029883, 2505245821, 723665567912202241, 727213676755849217, 726910677948981248, 750459008977362944, 740778051336835078, 284263596, 293536946, 2611971277, 2735834324, 773321700981157888, 2448835519, 24904924, 2540471527, 942507240, 589595873, 39585009, 760988077162496000, 794536922953547776, 603161870, 426247461, 1974240553, 279774512, 38962544, 291734896, 440665467, 256804224, 778306734972600320, 702620270989803520, 515736972, 717562637400276992, 756888300439339009, 2551309442, 4453172661, 721798062650368000, 880936386, 522585544, 15140297, 64390627, 26084851, 4048848381, 65209861, 4766565923, 3228730917, 292619829, 16385605, 276006479, 183666270, 345015901, 406652516, 1462797924, 2828764773, 3266938471, 220071532, 1888126572, 874481269, 426215029, 70911631, 3065677462, 1005356706, 3303868066, 4847142580, 727549620, 985859772, 1078265551, 3002009295, 38110935, 3350791899, 205129445, 1522927340, 773393916511002624, 96569093, 961513244, 2505541405, 326829862, 4471818027, 410371328, 3314452273, 47941426, 1323435835, 753361002545180673, 4830955329, 627771212, 323487565, 2873067346, 2622064467, 3202975583, 24250218, 437978985, 917931890, 789644056678768640, 2970093449, 1020987296, 3583772602, 390793148, 1409320921, 48596978, 273254403, 465963015, 701256360701333504, 3001649164, 742530461289811968, 2349434905, 525895708, 2484734009, 18909242, 802588734, 4634118211, 3319138372, 2409826382, 22841420, 80578644, 2353301596, 90671200, 1062340712, 2723711104, 756180291895627776, 773618323762384896, 784800990600040448, 739893302653292545, 712774193318924290, 753719569085304834, 729118079658168323, 217548992, 45942974, 274368706, 3052144849, 1646102742, 1543407836, 18450651, 61006733, 45648095, 2169440480, 3148908769, 2359953649, 712114307203526656, 89098489, 4819781901, 51480856, 959875352, 300484887, 38865191, 21563711, 2975140163, 876972367, 17402202, 114100584, 3228535163, 1595869574, 80087431, 991332744, 23792010, 1893927306, 176064916, 4889479581, 776460447914557440, 88246701, 731349398395977728, 27888039, 1252657579, 2494728625, 4921461178, 885033439, 64195039, 146016779, 2198243857, 615320083, 2174781979, 2848492060, 761951585744392192, 40995364, 355928613, 763010204027854849, 160631338, 438110780, 956795462, 1889012311, 52890203, 2337475165, 795105866055815168, 239241828, 2564295269, 1377110654, 262933121, 747081340751847424, 715764000517136384, 1602030228, 711729760464998400, 362875555, 166300328, 769734925738188801, 464063144, 3771665067, 348523173, 1037437614, 783367437618126849, 2354088626, 3009284795, 44042941, 261917373, 465210056, 773065418, 2750188235, 292621008, 3060927200, 752524363610546176, 758808951039287298, 1878821653, 470715162, 20515615, 745406361333227526, 3347417902, 18451261, 54463321, 32705370, 751061148418633729, 35031914, 2163968880, 426347383, 1335561104, 33557393, 272108442, 13732762, 714989794699284480, 259132341, 131632068, 15240141, 180036543, 367889370, 156109815, 1736707063, 61049859, 2262141962, 4885515275, 3346271248, 503548941, 743483032577970176, 745705828955623424, 738387195422216192, 102075443, 352652343, 1685982264, 1336708158, 16452682, 221580364, 489065552, 40995927, 760453815002816512, 722903927310651392, 747219415855357952, 89590878, 1661504611, 1115688038, 80350314, 59804843, 552111294, 3060272322, 36342985, 763797758709030912, 413568227, 769614983344906240, 81595627, 4857695475, 72551675, 1441598719, 881167616, 156437754, 284658938, 773418897605353472, 31689994, 538610960, 4496821529, 923897118, 751570320444821504, 283544876, 1189481773, 74943790, 199691563, 361041205, 1894616377, 492703034, 4719545659, 40471894, 503287127, 2269187423, 631901539, 39914871, 365071761, 250121624, 48729528, 2370145720, 508956095, 1588825542, 2996932043, 84381135, 716017105, 731942358, 2421853674, 778239039417778176, 25005555, 23334389, 1332940308, 263622168, 589467162, 375524892, 2358939170, 1858670132, 141758015, 151522885, 550932050, 377785942, 562335323, 233606750, 2581270111, 1051528806, 1449791078, 3376189038, 485756544, 1429053517, 3005484723, 190385852, 818482880, 322965185, 51187394, 705780672296820737, 3304558282, 554471115, 317329114, 4777414364, 2980737609, 2324532993, 3228339975, 396332823, 21106456, 402394908, 23269152, 1920274230, 561614650, 807472957, 1170050898, 25300825, 534941529, 42405745, 61837176, 2429751168, 64065410, 31756169, 3424489361, 3002109841, 794733120478134272, 62033816, 4303490969, 2502397874, 418844598, 1651380174, 199462863, 27627475, 227905495, 17764315, 770327110057594880, 779568890041012224, 768520241148203010, 151654431, 19206204, 3366883389, 747596867752628224, 3432222799, 17371238, 389943444, 450957462, 4855763098, 3282538651, 4362799937, 2495549617, 780821909164306433, 443453649, 614633705, 130388216, 4874670345, 2208862483, 34509098, 1208553805, 1205866832, 343576924, 2581393096, 1711149409, 415175014, 2484801895, 777546540059594752, 19927413, 796987764, 1579159921, 755427796466282497, 788042244980748288, 1926959496, 3247575435, 355799465, 2249331163, 755083979364204544, 795642661411717120, 4828238324, 753438192041390080, 339939834, 3539112443, 525799936, 777881122390900737, 1649087004, 36868644, 18780750, 1342870128, 1832129138, 2657325700, 271422103, 1325601434, 777130650, 4027028127, 617353888, 889361071, 512529083, 2196378314, 998380255, 15667937, 792902180013477888, 263787236, 382178024, 760253490321055744, 739191662501584898, 15405847, 784602400497754117, 756697879905984517, 579015456, 233345828, 4717482796, 457970477, 4789998400, 630723402, 3188855629, 3301053273, 127898461, 105550697, 284791662, 724734840, 2680394636, 446534551, 75436954, 256316319, 1962873763, 3156513708, 43979697, 490968018, 2674791380, 173249499, 1452512222, 2287178726, 2303824872, 462492679, 4085257227, 24974367, 708807885245931520, 2581304357, 412521513, 16224646, 62100520, 3439760429, 248910904, 25760831, 2546734148, 1060508743, 4355789896, 3065910346, 4704932941, 509318229, 465114198, 102831206, 2269647980, 1468929133, 537859182, 21599354, 106632317, 1385043074, 615453830, 785698590995931136, 723170899000713216, 3766162595, 751614783573614592, 620500144, 27727031, 615224514, 34247877, 704148854753591296, 511382735, 764253390, 4090565849, 23270618, 785531751368105984, 1253184769, 708034939103477760, 2475922705, 2349438230, 2738328863, 284398888, 21599534, 707529362, 23106869, 840865080, 1192105274, 1423611211, 1340282191, 588617041, 242947410, 474223955, 1227396444, 244782448, 743951695315513344, 780758187712491520, 793758968094961664, 780453822078517249, 45192612, 238654941, 24221150, 3794736614, 450237928, 2216990185, 330569195, 624989697, 4503803413, 3742438933, 3422721575, 388601450, 4028601988, 512792217, 1939969710, 3053688499, 27137717, 616339131, 551360187, 508729021, 3411678910, 22779588, 27924165, 2291439307, 531732187, 4786132700, 30512862, 496375527, 380049129, 874518254, 778535776346857472, 722614536168202240, 719697364731224065, 1387697934, 380475151, 2575669022, 440801059, 35362595, 281777961, 331224886, 266049337, 337155901, 259462977, 558045041, 1701975920, 3309410179, 1378064268, 779365691795181568, 701470620, 601233313, 245536682, 17536939, 2261620669, 194353091, 124524486, 2477594567, 1344575443, 21010388, 994351070, 17995749, 4461598701, 276764653, 3360757750, 23795703, 2276988926, 873142274, 21534725, 795413909922516992, 501159947, 64624652, 69310475, 11999252, 244979734, 715210139427540993, 4443641901, 4718532689, 618567760, 103618645, 108173407, 1706465378, 3228571744, 36640869, 2270763103, 2999851119, 1581946999, 2808748156, 721545380786114560, 326277253, 101390470, 734075017, 1024694431, 1270847647, 2263881897, 724099056126058496, 3294042300, 31135942, 3413416133, 405280967, 411900110, 589273296, 235182289, 16095454, 2658474207, 2800785632, 3352598757, 19929319, 172824813, 380541182, 1841411, 559913254, 357701936, 367434041, 2300451146, 359602512, 2182617428, 2761005397, 37558626, 775316886292606977, 29268365, 1190926736, 1894029726, 3330841019, 2299533789, 714807774, 538515937, 796535663617249280, 793271757134266372, 2521438740, 2559744533, 2745571873, 788446286735220737, 15276584, 2290031143, 289970734, 3322288689, 43817532, 268081726, 2449054279, 2743114312, 415439444, 1219893846, 2885917271, 27499104, 4885879403, 736689693807509504, 2791021170, 774773382, 3864271514, 1335696024, 1287559842, 709127219554164737, 787084415331606529, 777834517138644993, 806853300, 3065879224, 757254383079923714, 19798734, 2765757143, 932387550, 494344928, 2352650977, 3022691057, 2495126263, 759948335109332993, 147168007, 1191648019, 600480532, 760240471419609092, 29530911, 346331936, 64330537, 2886179627, 764431508216147968, 787763844231917568, 2181274441, 4184021837, 2953583434, 759937652963602433, 380574558, 783115966439915520, 2931792761, 140843907, 2480184195, 3372850053, 347544461, 819829657, 757709612422303744, 4772010922, 122854347, 784873102048006145, 427531214, 2310577104, 27302870, 63806423, 162274281, 25009160, 827005962, 22879246, 273259536, 49519644, 1272585259, 289119282, 1317542964, 425204803, 552246362, 751278609013235712, 1570544736, 123673697, 788012116145954816, 18914404, 2634652785, 20257938, 772498983201550336, 3413974167, 232070311, 894573738, 303471815, 2382929100, 4830272717, 375135445, 50404567, 123706584, 23174361, 190061788, 258481377, 842374393, 1315380474, 4099022075, 4825914615, 488774920, 22289674, 4318567694, 281845012, 93035799, 513252632, 164109605, 346004773, 543628583, 252337065, 357113133, 3258785076, 279354678, 22322494, 2888047934, 2179538262, 1180474717, 3227688294, 3192954225, 514858377, 1917787531, 30875026, 1553964458, 131833261, 345644480, 2308808180, 1219665398, 433921551, 4165639721, 616078893, 460660292, 518954565, 15932995, 1365581400, 3122667111, 2875629179, 515808892, 2245893757, 3341000320, 2975473288, 16752270, 706683223238156288, 2285739697, 517742258, 616144572, 221748931, 16359107, 2945064645, 24485629, 127639313, 632102682, 106929956, 3337854760, 2839453494, 4064124735, 30809952, 2606440291, 127311724, 2268209009, 187047794, 2769952630, 28319608, 483401606, 439263112, 232497086, 519020477, 33267650, 4769488843, 3615006672, 4849639385, 54501332, 372875229, 269492221, 787423878498885632, 699276523354857472, 710154656752803842, 791307588621180932, 124657693, 874848284, 25403443, 589340724, 2314248248, 3147046971, 435396679, 41984073, 126361672, 106012747, 790013250297597952, 721480555280404480, 731303599880474624, 747969231388610560, 26386514, 774650604492886016, 401547356, 423075936, 776478767892074497, 373694564, 28581993, 1689854066, 910663808, 16392327, 1045733533, 2983534760, 139829417, 348922033, 791044813244116992, 1585979576, 273195198, 3259965631, 620175554, 785310696191975424, 35135684, 785503072206237697, 179314925, 190095658, 276013365, 731856000249147392, 381690161, 338010429, 51716438, 3996557657, 2755797369, 254288249, 28778889, 493330823, 38543801, 1173168572, 2926223811, 274145757, 2234065380, 786690535654391808, 859709934, 794395031364927488, 283714036, 145629686, 1905435127, 1682383357, 963125760, 7094272, 965255683, 1387897356, 738044042861236224, 2993660458, 4868547117, 755738097493704704, 788821152344907776, 785986753102422016, 3325534823, 3018170985, 31662741, 1180508838, 616243893, 2396791478, 735346254016880640, 785977629882978304, 1656201948, 719168221, 522789619, 537502486, 1951779469, 329917217, 4132315941, 920199972, 392504108, 2746491705, 43885375, 426156864, 268018495, 3105497924, 65381193, 185410378, 71705429, 537338721, 795921599367094272, 384476033, 735912840, 39592842, 917545873, 596812714, 2315756460, 817406893, 13673392, 3236864952, 2480120759, 715427621119639552, 4898595773, 1026925502, 105256706, 995107790, 19473367, 21668834, 1569629154, 308880374, 415736824, 790874424761315328, 747056589488553984, 746676091100626944, 747199366390120448, 1445045263, 3004179475, 19145749, 1234773025, 1489019940, 124298277, 364028968, 106275883, 134095915, 351937585, 711939422309081089, 102802493, 1628447804, 2533860420, 272114772, 4527694937, 3183092838, 737485933, 1122903158, 365798519, 42607737, 24519809, 3257377926, 2194449554, 43721877, 459678873, 743647871304622080, 2475205798, 4896367778, 1881253033, 25142445, 18588866, 1581720786, 247964887, 3334841585, 41067762, 2882741502, 35595525, 786354551271981056, 2836931870, 3065029919, 756902858763534337, 2335286598, 204449113, 395060571, 1089414511, 2151753076, 39724405, 604808562, 742317387337347072, 715496304777015296, 784894563286646784, 709079954793824256, 779489817377767424, 3681953173, 1972905378, 2282628516, 702255853055901697, 1708271017, 604874153, 81110446, 1697293752, 619488698, 222373314, 144877004, 898672082, 35104212, 1692476900, 1559438821, 2972427753, 2894046698, 2612012533, 4583433736, 1945806368, 190817828, 14689827, 22717996, 1716758064, 2559944240, 30254642, 301246001, 498181684, 267953720, 706838411466952704, 23275069, 454239822, 1154098789, 3297415271, 2273584777, 2585831066, 2417796776, 845719214, 1119921848, 2942117561, 58271423, 287712970, 2868160203, 390244078, 22226671, 454633203, 1267115773, 1014081282, 36284167, 281716492, 2699405072, 32712472, 531244825, 15247143, 781489222700134400, 2306844474, 3222939449, 4885555013, 22259528, 23209800, 497133385, 35891019, 2676500306, 1569269598, 119285599, 618538850, 3077384034, 1550624628, 751915245677842432, 25700237, 286304147, 768565247665770497, 187017162, 23209953, 715333862256082944, 745708924083437568, 750666854759272448, 2618435603, 737509132131958789, 461023259, 2908465185, 794918089607483393, 280340521, 853649466, 772710043020038146, 474359870, 4106627134, 1220323417, 2667194462, 1374890082, 419735656, 84846698, 3181422699, 537340012, 110274670, 481437811, 315336823, 406562943, 2916001927, 2437687438, 584657041, 3007228050, 2411199321, 510470299, 2559660751, 3001264302, 375826610, 2487003316, 107161788, 900802748, 694991008619225089, 4925925597, 85960928, 621553888, 119810291, 765946579333292032, 386312437, 47655158, 2936449271, 16296194, 2374543618, 1260464402, 2381916443, 374286620, 159361307, 746713909151694848, 51620138, 105621798, 179153201, 424421683, 2384210258, 171944275, 2351442257, 545368404, 756610459109822464, 339224936, 831334795, 166865293, 3342150028, 771157265307041792, 750541316589780992, 755356631756603392, 771749851809873921, 35826116, 3043535301, 22456831, 790183420806725636, 2409409034, 63893635, 22030870, 2899487255, 56830512, 92318265, 906406458, 613853750, 2497686085, 313928263, 711881427235635200, 1035184716, 441461331, 285715030, 281291346, 3244665439, 554347114, 2271160944, 1455729265, 1287203448, 528853632, 91761282, 335424139, 4896664211, 188525211, 3659246235, 2349410971, 2568104606, 39332530, 3185748674, 731458248, 3786058456, 50014946, 2846010094, 3998329593, 906373914, 24029979, 621620007, 52374319, 464497454, 26848050, 3337235254, 374549305, 3020696397, 15051600, 2287250259, 22948692, 627551066, 772675326229016577, 3188206429, 2476026724, 1076570982, 1246767992, 3999148941, 759516094293905408, 785300455056248832, 770330477743869952, 728712974790070273, 320711640, 4871007216, 328117237, 24390653, 595012607, 275000320, 1613966342, 112339984, 3053104152, 1060285465, 956476459, 1491446828, 728231967758651392, 90254390, 165882950, 54307930, 789633062141255680, 772956349718159360, 3456085099, 2470161533, 329100418, 317959316, 744008852, 4894469282, 22293675, 186952878, 788573359, 76524721, 23899355, 767686819660128256, 763573170414772224, 421145839, 2347674872, 744955105619881984, 26815768, 29469971, 53259553, 1602465060, 382414118, 944581927, 993789188, 197799227, 735151351957618688, 316910925, 1719315816, 34614631, 733457785, 292072831, 556281218, 54898056, 3778030997, 2504961431, 115223962, 853945784, 741273059353624576, 467676619, 3237850606, 81767924, 576564733, 2355277309, 948874766, 181644814, 3195153935, 2342825490, 205696541, 366259770, 2264870472, 351219283, 887893586, 951955039, 28782187, 761559039566290944, 3797298813, 2382900870, 1599549085, 2464624298, 471576236, 707018594991906816, 163032766, 2313039550, 298233546, 306261708, 2711498446, 2873077459, 391130841, 51097309, 199864032, 2873011948, 832122606, 963522288, 3290672881, 20754187, 1496166156, 20492043, 492252942, 37957391, 65613581, 335130404, 105295653, 148614955, 15740718, 23146294, 4363136836, 429338457, 122957660, 194195296, 463384438, 15347583, 23015316, 64532372, 1624485812, 94384054, 16363462, 3391434693, 1660891086, 563097562, 25538521, 32157685, 24686590, 775213173796286464, 746911948328022016, 724821493469818880, 763044398091337732, 792786738217353220, 251506716, 765633277008936965, 586493995, 25178155, 800370734, 2308812853, 1413001279, 1010249784, 497496122, 244658244, 469741640, 340439113, 791283822692339712, 521810008, 995766360, 1362997351, 64237675, 2281287788, 842575981, 71905399, 394408095, 599732391, 4920815799, 770363639983288320, 3530928317, 59232972, 767072671649656832, 22884588, 24457462, 2860364029, 179646720, 3148689668, 111489288, 477999375, 2373529875, 362033429, 1924149528, 16691482, 2984718618, 117616935, 165130539, 2763960615, 279359793, 3142604315, 18100552, 321073488, 479768922, 133280088, 1063989595, 1424470393, 2332897681, 707550541836996608, 2693443994, 542224794, 479900063, 15610287, 1242739123, 2447520180, 471773633, 2560831950, 24261084, 789902602012164096, 22557161, 796348533490286592, 372617713, 618836471, 719499768, 354497019, 2380739071, 778578287329247233, 2492150280, 15315465, 1441509901, 173158929, 566538772, 3047535133, 35402298, 19116607, 433631819, 59060829, 740787929321181184, 428356194, 723507918901891072, 724079377852420097, 706679881904443392, 733399171432992768, 733275484914470914, 42283722, 703430950219358208, 16659153, 379466451, 335459024, 2930160344, 473182938, 735818079121342464, 3053007606, 325628661, 255308556, 410366739, 3258233631, 348861228, 50049844, 122532715, 39564141, 17412976, 2865017727, 3794187136, 235778954, 389165988, 3145970601, 542913462, 24851408, 860337132, 587084788, 2247930872, 794166211508600833, 785861752361746433, 725920951590739968, 4433785883, 723032718791958528, 2293806115, 17970222, 31568947, 447329336, 3065492537, 1312371768, 22492220, 3063821382, 619066445, 44282957, 285455439, 14529614, 2179019860, 395064419, 4276958303, 558183527, 1410774122, 360395890, 615625843, 845919349, 319403134, 999404670, 28554368, 25113729, 1276032140, 1232680118, 167621823, 3835376835, 4183110856, 1648344619, 3257251025, 760627201918185472, 776051801720172544, 3918410967, 2436412625, 371700961, 36779233, 597669095, 886912231, 2197107955, 425374965, 4817401109, 786542826905403393, 2941728052, 2869081400, 235648313, 478885181, 318616945, 1023030643, 85210483, 103593329, 1141192056, 67089787, 1594537363, 463517081, 1815971, 3308598701, 21935534, 178894274, 23999948, 824096222, 846837224, 1633465850, 24262144, 850048514, 45364738, 193902084, 1458648583, 1156527625, 403093004, 25540110, 57521686, 61650458, 31995420, 198030880, 28030499, 730774618781437952, 2482452039, 3053336135, 548419154, 287815251, 327136870, 16037479, 23344742, 2508994154, 813414006, 723121317596155904, 28817025, 1169995394, 3222849958, 899626652, 3893802653, 1283962532, 2432251593, 945108709, 23803638, 3065951992, 26359548, 50214652, 96450304, 2477438722, 422098692, 42972941, 562345748, 39991065, 177714974, 790748827221389312, 2270803748, 2233874224, 618510125, 4172527403, 471447347, 252163888, 2484680501, 166049592, 2527967047, 16267083, 290633557, 16725857, 513390438, 533411687, 2270312308, 716698473106685952, 783778902837563392, 411056020, 208189351, 38090665, 550385581, 2446473138, 147437492, 87046071, 172832710, 18823115, 575485902, 434255827, 13285352, 3299817450, 2336798699, 342800364, 377305070, 4833818607, 26818553, 55687166, 711281098051948544, 734495238413225985, 766419291767967745, 2315794470, 28784684, 21608493, 410892349, 32749642, 145504334, 259417965, 3987126375, 930789482, 193902705, 42907765, 421148790, 3349723317, 20494522, 1968060614, 3345758416, 355317974, 3330521339, 3305257210, 370030857, 292632842, 24197387, 1226193175, 255277338, 238696733, 197900581, 3239393574, 740384968090615808, 726275184345251840, 22100294, 80984392, 2945530188, 235747670, 3285858660, 36944235, 1433909618, 634632382, 261503372, 2668607880, 51296658, 17250709, 136755605, 3346053525, 4277582236, 740710543569354752, 61815215, 866957744, 850049456, 753286458014924800, 4180982205, 931215810, 1462909380, 786962201043173377, 763100824780308481, 408140238, 17709531, 2563848682, 2730179050, 400833005, 250395115, 147765767, 751908203776974848, 787565977328164864, 1018378777, 166279720, 14826029, 3064707639, 553171511, 911555138, 714619478, 57522782, 3078928994, 776576505157603328, 757096161794727936, 767961510031269888, 280017559, 706158737816428545, 717830635512012801, 2515745462, 443400839, 3065854653, 2252683981, 77740756, 1647524604, 1687730942, 113457921, 836516628, 382286621, 4149918501, 2881010478, 232012591, 3064380213, 432814903, 820790533, 292469599, 267893603, 3351788417, 739097468, 204520324, 146127749, 728564575386243072, 778248345655480320, 798669768, 3260333023, 2480716783, 786262213006950400, 785843949823033345, 3633298457, 2448768031, 822492199, 41270329, 744531756439724032, 1101610074, 35667036, 790346343235543040, 69680228, 88161380, 378223718, 58637430, 88751265, 3136928929, 17546408, 767337440596164608, 32292018, 248522113, 161490307, 782936985002442752, 1375976664, 786723482767941632, 726711518, 406797545, 138919194, 304168251, 34553148, 2894478676, 107822427, 80428382, 741865701258956800, 3228843373, 2784312700, 272743806, 2464660860, 2221686146, 416660896, 3419520419, 1096465837, 922140079, 202948020, 795986541004914688, 854736331, 796025594907656192, 2432777689, 446676461, 49724928, 341327369, 283459090, 3379674663, 748222104059813888, 738887905624498176, 18267698, 4876713517, 3088727603, 498417210, 593247802, 797294150, 379862604, 19218011, 352796251, 967360110, 2717433455, 534036081, 330055285, 999505526, 33111671, 2250817146, 14630525, 2482257544, 156843659, 41467538, 1416806048, 25509548, 2656878260, 1027227318, 52772535, 860208876, 2278113007, 1011462223, 3312926479, 2240102202, 861388620, 1575731034, 2800074589, 4196843359, 852836208, 879148927, 3148595072, 768660273867612160, 277626756, 134496152, 3043082135, 110444444, 115785635, 801423272, 2149793719, 32292802, 2882617302, 834355160, 67321819, 3145482202, 258162657, 465911783, 2957819900, 719717069986643969, 310362130, 795164694, 720814112, 101040161, 1213972514, 15843376, 242303025, 22036532, 702826349090770944, 783453355091890176, 21938258, 244990041, 1928577116, 2675687528, 1025491062, 101793911, 1250508920, 827564210, 2469773443, 230146197, 280969384, 22429865, 777221340013047808, 789898060339916800, 1536803004, 871907526, 3363487941, 382353610, 2477277386, 178045132, 24625380, 601145572, 770840445698080768, 2546221293, 791337348348780544, 4840145171, 382779667, 327205154, 14795042, 4375593261, 3059958065, 2195439925, 2256683329, 1608499525, 868860235, 1158103374, 24494426, 2440839524, 752730344986673152, 3077521775, 3064938887, 78922120, 83214780, 613630403, 595116481, 3068215749, 134300104, 40255962, 765219467915919360, 787425432350195712, 776460063326240768, 30130667, 3244573172, 37011960, 2359673353, 22954506, 14107163, 2788278833, 3237429813, 404210231, 2350727754, 791688592443645952, 787050618959503360, 248463957, 16368218, 766853731, 263799396, 563954275, 789989864393482241, 3895018108, 739085662360588288, 736176864214011904, 14467726, 2657764008, 465879722, 744145113945939968, 114475732, 106021590, 368034531, 944620268, 19874543, 34784009, 98452250, 29279011, 2230633256, 291455784, 323896109, 91407153, 805585716, 535610198, 3363652450, 222675832, 77087624, 850019210, 3393831821, 747160477, 1463731105, 90751918, 168477620, 2535441333, 701019293568385024, 726000601243500544, 265667524, 3568190415, 4144088020, 178078681, 226313177, 619070437, 2619884517, 1222984688, 1099383794, 4750754828, 216417292, 610976784, 227001361, 58246170, 106447900, 46285864, 15516717, 73548866, 79676492, 564347982, 3033121870, 19547221, 2335720549, 2480424045, 236405873, 4893721719, 3182904446, 1937720448, 190694530, 922535046, 2593375371, 526632077, 242369679, 775374224034783232, 2606744737, 74564780, 411124918, 3382396089, 467059897, 350405821, 2773861569, 793643029085106176, 2200323289, 2448540890, 3251619033, 506119390, 77841638, 24790252, 977224946, 4727719157, 24757495, 727582513003012096, 746533007872270338, 723358161999011843, 4576953622, 4532421916, 1684522267, 141706526, 290669857, 219890981, 1833846056, 881182010, 608126270, 380454215, 1330005324, 37733708, 1147356493, 22627669, 101139797, 2854667618, 830424422, 406734182, 2327692656, 3345007984, 27936119, 358499705, 4561585530, 218973561, 613893500, 782132995994025984, 1866220940, 66995612, 861193644, 211862961, 2484946377, 3189458389, 731671239232749568, 60179984, 46122512, 544818707, 495732252, 3098428958, 82920996, 1558758949, 4836181541, 1113048656, 1570981470, 40191608, 2962572922, 711664510067724288, 739080678474698754, 21939883, 2292205227, 3036792491, 2278344374, 567592636, 352372421, 46548684, 767439747186819072, 1363068625, 1115342545, 218515167, 2660321032, 1536870162, 748999989775462400, 792948369299763200, 31180580, 2531051304, 211339069, 15222595, 543573827, 874727256, 3983296349, 18728837, 756684636982349824, 769248124556546048, 1676560280, 1593370238, 264652737, 1209190350, 47138805, 26527734, 100288507, 31344647, 499468295, 774088456142196736, 708710885540368384, 796023042732331008, 2369341458, 4464363561, 3080636458, 700467252, 888850494, 1682786370, 2562967619, 16042058, 775557541539479552, 3424241752, 580831328, 15386729, 2994784367, 351553649, 607635570, 95963257, 36587654, 2549532818, 903366804, 718260366, 265210008, 2978039965, 1450231970, 55036074, 41732289, 547275707, 787990730, 2565288582, 591022284, 451922173, 2720123138, 706952399848546305, 796361606120751104, 927746353, 1476675902, 389138781, 2842052974, 739527025, 1323616627, 523913591, 2974042497, 1872480642, 524896656, 133876131, 778110921654829056, 259377580, 277694894, 4446767534, 237307571, 2320091575, 741123851229233153, 1717324226, 4614670817, 4494445035, 247056879, 2845886962, 415910402, 19778050, 394971653, 328747526, 790111099890704384, 108907027, 465029675, 358238768, 306498144, 753584742, 182635115, 527092342, 116050553, 457796478, 795934066776428544, 796094983761776640, 17943186, 3293989530, 463850149, 1851673267, 50711216, 32164540, 3941780159, 277891773, 3007859392, 2349124292, 634899146, 340609751, 17779417, 21318362, 3846654682, 2943896283, 3439545065, 2329151624, 23808761, 248400646, 3139062538, 1420905253, 370411669, 44288817, 357518138, 19843899, 227035964, 785678721273491456, 3287075652, 622152536, 2647771995, 14797687, 495569785, 1856621438, 41208707, 2329201543, 2485571841, 1551354768, 428559259, 330386339, 703607364696444928, 1426967479, 3671444412, 590433224, 270289872, 731925457, 369839108, 480726027, 380652566, 1023560731, 18107432, 2367245352, 414305328, 20991043, 3433581652, 411716706, 2371079287, 600525969, 793119266929127424, 69323941, 409554100, 4100541623, 36097240, 489999583, 767788656698548224, 29707496, 2642955508, 399854859, 804703506, 3065597205, 19189038, 2945568056, 1977503035, 2328317244, 2745978185, 741683559908311040, 408702278, 331107668, 3310144890, 558058874, 568577409, 792284563, 1494633890, 591449516, 2396507570, 3242282423, 588795321, 71421374, 796502780911484928, 42061260, 264097239, 3139259863, 3347041811, 11587092, 2646822422, 20106777, 1849839132, 636898843, 762039860, 71028310, 460836464, 27741810, 39538293, 3009007222, 1323617922, 563793540, 1197362822, 2758397573, 16404102, 2872364691, 261475991, 2879704731, 253578908, 4252094112, 750911501838512128, 3087650475, 1123536570, 614747837, 65818308, 3123007206, 933023473, 43270794, 320917271, 2224279328, 54316841, 76992333, 340512594, 165859184, 173887345, 393858940, 353783681, 427872143, 121294735, 2449493912, 452513697, 1122521023, 2458996693, 1058754517, 3171438566, 3179892716, 780045023752626176, 556342021, 33247227, 737295254768996352, 702639904665292806, 97341448, 2988003370, 4828385321, 2588823601, 3526643775, 85676100, 468963407, 2522140761, 3243855971, 761798601429422081, 330649703, 706172296994689025, 18796655, 1537495152, 41832569, 45142138, 343789719, 333664412, 3449245876, 707687675457744896, 568676530, 1643630792, 2311966922, 759898357758210049, 447452985, 28397791, 4314648803, 15749351, 430887156, 410964215, 1561841910, 751012002320019456, 1764118784, 792352793994600448, 718776196352319488, 793998477713874944, 783486455163265025, 766393647587794946, 1942201346, 50712879, 44159283, 290574652, 26661184, 1177222826, 259379532, 289689943, 1656541537, 3162919266, 1656410479, 303288711, 587747725, 782782878, 18960828, 1645957572, 421974475, 284250574, 549605845, 2196034015, 619368927, 276582880, 778767266737520640, 2770620904, 1631572460, 2379993587, 14668277, 711676405, 477385204, 1486377476, 2696204816, 574837281, 3343110695, 2374619701, 27152954, 3376861754, 4874129992, 700371529, 35967562, 1879724624, 1917375074, 2386088552, 940462716, 2842677889, 2649182862, 247452307, 104288916, 191156883, 31445651, 357552797, 377967272, 2712130237, 301454026, 742992393113378816, 25842388, 235754196, 363909858, 3288093430, 54940415, 2436322066, 229954362, 49697614, 277238606, 52581202, 3855471447, 3058914136, 283300699, 298242929, 532796281, 825512827, 434525055, 115757952, 1538551808, 26858402, 175494070, 706981778398035968, 1043813328, 79516635, 813487069, 20599794, 2336150533, 503796743, 460182536, 307975180, 20567058, 25121822, 742787096306278400, 1059214370, 839701544, 40686645, 442520639, 2933052491, 75453517, 2372031566, 2202063951, 737475353871024128, 150066293, 2801357968, 2383500434, 2152780969, 13849772, 116544702, 3656537302, 709087996851691521, 789617175610785792, 714535003292434432, 3119895821, 702444256061988865, 332616982, 58381600, 4830713122, 785587772484485121, 4847424813, 102782253, 3322795311, 1096701234, 4864824639, 59233606, 23876941, 259446093, 74077518, 1877169504, 325703009, 1197561187, 3307427176, 555242865, 26989937, 3394917747, 962811254, 26465657, 2465191292, 195089795, 758705945149046784, 703714736689512448, 20960656, 414307724, 3087259028, 126947179, 701266335150505985, 394155427, 3350418910, 776090609400549376, 384030175, 25679331, 23188976, 3031062003, 272061957, 15980046, 193418767, 22304275, 25384474, 2461980188, 1096046107, 3098334750, 605869598, 248763940, 741071878010359808, 167457417, 701403908359507969, 42554977, 158815850, 365188717, 756852432173461504, 2343949959, 544822938, 46028446, 516216487, 193844923, 3482539709, 263509690, 2645055219, 47830785, 1652119297, 1015338758, 476895016, 318134064, 305878858, 14243666, 2690242387, 20633447, 161535878, 715353711967473664, 619075474, 24172445, 775490297253859329, 257939371, 22501290, 1249892270, 38983620, 33904581, 4137408453, 1364940758, 1442502619, 479090654, 262035453, 251910150, 65918983, 2555533333, 51730467, 984897578, 872896560, 19879987, 372070486, 302405719, 3437287514, 20863067, 1591990380, 902944892, 518510715, 1355707542, 66705564, 561338524, 2411583662, 2196428977, 278288562, 724378310151692288, 846387391, 17029338, 404445420, 730485273822437376, 3065665811, 950753575, 3286096220, 326130014, 2440681825, 19323241, 36690283, 148855147, 717412718, 2658621816, 2377701757, 289102205, 2781501825, 3067730319, 360372626, 89708947, 394844566, 783380239128887296, 3799407015, 381213119, 749347013939068929, 13785542, 1053612488, 775341381011197952, 251812315, 47045085, 90724832, 4669823484, 14170124, 381114886, 503470600, 4013218330, 2604063278, 18111023, 601381437, 796909729612255232, 991779428, 508058215, 360340123, 304339617, 121559714, 1605851814, 1035885222, 755968848248053761, 4376156842, 274455210, 805460653, 255351477, 998005441, 969005768, 60971728, 632314579, 1212373716, 3407895251, 3950303961, 300767961, 257186525, 247454439, 29055726, 3281640178, 2950290165, 66476789, 64314109, 2416728828, 24590808, 19454733, 57727755, 3195460367, 338156297, 2434095896, 1526815520, 622418721, 1046174497, 20470560, 3681377063, 759589648121393152, 26925898, 2917423947, 2677758813, 445668203, 613833580, 1183996782, 1634360184, 2363546491, 545119100, 788558855416537088, 1332894625, 210066338, 719575970, 776772131614920704, 3300973485, 273996716, 259480495, 494656434, 4766798597, 41573315, 460708814, 571333586, 38951905, 178576355, 1864883178, 21584887, 214719503, 3535592477, 376527903, 723536740326215680, 32005179, 1171545164, 3093650512, 82041943, 323017814, 2312166499, 2531122285, 424107119, 1729289340, 15359106, 1240194186, 780916230462910464, 2494815403, 1642945718, 3311197421, 42982638, 603479301, 156163339, 571268366, 746920192723267584, 635067693, 459300143, 2230246705, 159866162, 273472835, 717528780105908224, 3062521163, 22568294, 786883036101115904, 1081400713, 574872983, 3223739808, 270884256, 730374706822578176, 51076554, 76340691, 39509489, 22896154, 57335345, 762961460, 556031546, 735994710133612545, 1692458570, 72605276, 917986910, 138796649, 21421677, 3272203904, 1195531914, 26795662, 236019362, 2724421302, 3257228995, 350215876, 1121738449, 704012003, 359522072, 1855151898, 545382180, 3336036155, 627105600, 159244102, 3098369869, 1621745496, 4924694373, 3054821237, 3988971406, 3326926751, 2349227936, 2204229536, 3053313963, 23781293, 795253478402703361, 761062948114604032, 310009779, 97116086, 2337693626, 2871891713, 499179461, 618782662, 3417038795, 24829905, 617373674, 2656165868, 73195502, 1634033654, 969138164, 324984826, 715977011408330753, 706851739505287168, 769161900580102149, 769739836236324869, 25321487, 123363339, 189849628, 1443815455, 476995641, 719937601, 1557042565, 2945376328, 789071714730840064, 796491799552528384, 284647515, 38854747, 310632561, 16189451, 3113607290, 14311549, 30761087, 4805025927, 177660039, 155377802, 101343368, 3264274576, 83517597, 222519463, 3329679533, 712970738337099776, 719940107747241984, 54649019, 261349565, 137781438, 3437387969, 291496150, 4688863452, 3256803552, 11886822, 750477560, 3152503037, 1240195334, 1606344974, 2711831, 98951458, 2911199536, 878174534, 3024478549, 1013506423, 91120004, 790126992, 73458071, 460546460, 16310693, 20734385, 176284085, 3011011001, 766474192862707712, 495378892, 295952846, 465166809, 36037083, 26501597, 25879011, 1660838376, 4833894887, 2456543745, 36856345, 609636352, 727918455178022912, 33579552, 516186659, 933421638, 43311708, 840688225, 1192976994, 1517281896, 259056263, 405234317, 829678224, 802710175, 707388082, 2447893178, 15917758, 61137601, 3228876636, 738512138382286848, 871031503, 722911330534105088, 323478243, 46260963, 453370609, 709442526407696384, 2230510327, 587916029, 393536256, 1490543365, 115532552, 1954898706, 46261025, 271999782, 365814585, 255550268, 1892049740, 285074253, 2596660052, 1674175320, 180544348, 1113154398, 2480333663, 2244436836, 757949299, 3126846325, 1004921724, 187392892, 789092659415642112, 166650767, 150037428, 2267014100, 745787075241345024, 468804589, 413262845, 452682752, 2155340816, 527787040, 2708104225, 63562784, 257745963, 508224555, 3439125575, 2604622939, 53830749, 89973857, 2400412770, 445670525, 466052223, 23094419, 146236561, 788552327846322176, 778395439062212608, 769303678813626368, 2362590133, 2956321963, 977233068, 2637980849, 3610436783, 16639150, 14181575, 770667133084708864, 613967068, 476898525, 101508321, 428467437, 4887635197, 143680775, 705625554544754688, 756760043232428032, 218686734, 2232149276, 1239803190, 374596918, 14738760, 1414194516, 796014200057368576, 155477349, 771134274602926080, 2803557768, 2409684920, 2903893407, 376366503, 4688045485, 3198248367, 137061809, 681403, 16213439, 2185356734, 545547725, 4703938016, 293168641, 299460100, 259515923, 1707468307, 591783448, 44885531, 412673571, 110421556, 18572854, 262403204, 709533710224379904, 18277947, 1650583099, 4785202752, 523593280, 26240584, 1256482394, 47212126, 122709606, 172385895, 4226213486, 217900660, 105670262, 2567713834, 548497022, 2365679234, 414901892, 392357504, 2990958215, 82470559, 562357936, 18802369, 3248842445, 1930651358, 4535314162, 3890898689, 61662979, 779142317567389696, 2163173130, 786722625099821056, 385836840, 30795557, 785203667704115201, 452683587, 70313798, 111667015, 3013306186, 2610587468, 16082765, 2493572947, 49735510, 15558504, 2566186856, 884631404, 1344857960, 959211374, 2316658548, 4910606195, 787385187638374400, 716649854320177152, 712488154272559105, 783394416593661952, 711625856049934336, 781277107024490497, 766393840634884097, 718267227917709314, 64251791, 502359972, 26503084, 3065112495, 55633842, 381708211, 3248646069, 1495754689, 774301639, 4839630831, 1713924104, 1534093321, 82044948, 67627023, 3409340446, 1457252406, 235169846, 712087934179086338, 281045056, 369092678, 206301287, 17950832, 361883762, 127527034, 166226042, 222652550, 272165006, 473458841, 712194469735632896, 3318278309, 779128842229252096, 3184584884, 710331115089879040, 179759330, 124872933, 237791462, 719639686529081346, 14870774, 789216036193234944, 548169981, 65464577, 2566613262, 116517137, 381774101, 330098967, 16967973, 18737445, 30730537, 4827244860, 705000021821931520, 2477615445, 46590299, 74901853, 371288421, 27519338, 714795384, 1402235258, 3065801091, 3306056069, 327444885, 3493685655, 6744472, 55339418, 232057245, 2459888029, 4411124127, 4351814055, 50751917, 3227281832, 2091441, 227273138, 2837113268, 551905721, 15165894, 819489228, 24603089, 2854152665, 756634797791858688, 1010002393, 603253228, 468806134, 4855720452, 794184991257214976, 2507401746, 288156190, 249326116, 305359404, 1159096884, 387803722, 293595728, 189852253, 458746465, 616557153, 977332836, 19294825, 2977983088, 2357291640, 47344251, 323840634, 2448648848, 4749355681, 795982958968639488, 246737574, 3135007412, 2484923068, 17722044, 487811794, 726402281944522755, 251783908, 50653949, 35220224, 1863478026, 2417683218, 190933789, 36465451, 171076401, 4860570419, 176909116, 446032711, 240380758, 4805946269, 3116067743, 27945899, 344400823, 240413628, 2837310396, 429943747, 19786709, 2874567659, 757346439693500416, 2300177412, 1074588680, 17001490, 3247041557, 2282548247, 81030215, 1559260237, 1568512386, 792511360663904256, 767881054392770560, 637201512, 2822204521, 260861038, 1589341302, 29289588, 49704058, 79883392, 54455430, 2964450438, 920120467, 769371016791339008, 709360974730375168, 33975481, 476146875, 3373001925, 36269259, 3004951772, 395635934, 769341291914289152, 430337256, 98430185, 2191420669, 2170055962, 3384438058, 1146744114, 2262232375, 2950131024, 27684186, 2772233570, 4145868135, 30567787, 1163128177, 25816436, 2949868919, 748171983452438530, 790293882, 249916803, 2350869930, 37318060, 373714350, 28569011, 493546931, 737302226646007808, 2588011975, 478211530, 4242304454, 2163076560, 269610449, 613805529, 2567597534, 770449039062077440, 28732897, 2349297128, 755985907, 34172435, 33877540, 70643242, 543944235, 1273392692, 21491270, 726250598144712705, 543092297, 25882186, 2555965026, 257093219, 4905266793, 229311608, 3125538430, 2963664510, 926641795, 3948605069, 3343085200, 539487914, 912027308, 393866934, 549318327, 424636092, 212397759, 67432128, 315485896, 413527758, 2378985174, 20606683, 20344558, 227503880, 114028298, 3039653643, 1510338324, 2759421734, 1709633340, 2597023556, 101412684, 745725086917853184, 581365589, 381120345, 2282778462, 325119840, 762441582, 703070066758262784, 70709132, 4231688079, 482663255, 255717273, 8941472, 1301901217, 1670082468, 784568677211537408, 3064983472, 779841464, 35254201, 32829380, 2559111110, 79359949, 4817711054, 30961636, 339374078, 786902500406358016, 774738068377071617, 768679071198900224, 759172178373963780, 520122398, 156266533, 567603245, 3300028474, 16248895, 2612424768, 339996742, 703948249154129920, 739648957782102017, 788519289833852929, 27521123, 3047190627, 716322768300740609, 787368394962178049, 789933415130927105, 22501258, 2647617650, 349401203, 3285938293, 14479480, 712486457324081152, 787274395987218432, 700476702040788993, 760651298773405697, 782230830215073795, 1368912019, 3530616981, 32895132, 779454086391312384, 763848460193804288, 44495035, 746273255812542465, 983429340, 495513845, 461500672, 2471522562, 401535244, 2800414992, 22245659, 25948457, 742714157489893376, 482439496, 261484872, 2585096521, 764836234871046144, 346911074, 2879189363, 36041076, 3058659695, 2240082307, 933228954, 464482722, 4288934319, 258240944, 2257252783, 2397827510, 460747209, 71594446, 2261447119, 438104530, 788878360944541696, 3956273645, 1969713649, 191689198, 23884277, 748607012188078081, 17723910, 622064142, 721339836406317058, 139096605, 2236510753, 60092967, 3956011576, 198570557, 2438492744, 164393545, 724234826, 703115350020268032, 782655939413352448, 759586736850673664, 262435406, 20607575, 768974433667063809, 627831432, 19395229, 2461201068, 17625780, 124515015, 313062089, 705588682783399936, 704138905566781440, 4280214921, 21951204, 3117740774, 28701415, 708684333276667905, 119599849, 701805175628046337, 2956817138, 26407687, 501183240, 1571812105, 2936402706, 15692566, 2293822280, 383349579, 385676106, 476509002, 288852736, 4831671137, 446854000, 2493543295, 58028934, 41972630, 115733411, 243004333, 151810993, 712389010061180928, 1581249469, 419165115, 217904056, 164328384, 476214209, 505312191, 2487382989, 4678382550, 1536750553, 295498716, 308212706, 2776134634, 171799531, 2477290481, 348484618, 171996174, 2466280482, 399078438, 65532967, 1205138478, 2980344884, 1659302982, 55964743, 27423830, 1888089174, 292418659, 2496394340, 384005220, 70260515, 23557233, 324564082, 1163719802, 732001404, 744207639718957059, 17396939, 3018712962, 750773870936797184, 21525720, 758522015460438016, 388035810, 4550522093, 14218487, 18642171, 2495280386, 3376608525, 784770927468941312, 560657710, 1595798832, 413365553, 2457040196, 178517320, 89748818, 44594514, 705492337, 469431672, 1905423739, 3409409404, 763157274529497088, 787999235547463680, 294778267, 170161565, 2478175648, 15496626, 1969550796, 1018754514, 41219559, 771424207091695616, 2914383347, 215709171, 717426144384040960, 706835581561651200, 707370087821524993, 292451860, 15693337, 2150233640, 1268348454, 14120491, 22967852, 71071278, 4075648563, 733673012, 1035597367, 79558200, 710786236273840128, 397801044, 3199530581, 764900952, 25556573, 880735843, 357561959, 51639928, 2916087419, 283735683, 464189079, 1687352994, 888895141, 1969321638, 322860708, 2804807344, 438859443, 422213301, 900789962, 307459788, 74118897, 244676339, 34502387, 164722448, 3094673172, 17659670, 773295922017103872, 785150070006116352, 28899112, 391083812, 1952708401, 2896066355, 1109587795, 348714857, 4012734315, 51738502, 383514501, 179107719, 695406546004480000, 1944680329, 760219089667100672, 2800777117, 124286885, 210827184, 46987202, 3951949763, 793428726545539072, 3305994185, 20117449, 817362896, 260011994, 82409435, 29849581, 2278881282, 789003956336857088, 711222533438181376, 777319672458907648, 463075353, 141064222, 761938589399781377, 307427364, 263256101, 393541673, 23820360, 302774364, 744263602413047808, 15136906, 2472573066, 738209490273636354, 2784098463, 246053026, 3950803107, 627505338, 63011004, 702092480204955648, 4892719305, 462452954, 2359163102, 235436258, 758138332710785024, 2802481391, 872741106, 450066678, 2326526216, 2311059722, 1336310028, 225048854, 107510040, 574945563, 1898805541, 2964814119, 708740306037030912, 44431678, 45513021, 332462413, 68548942, 222722424, 471857532, 2395404686, 1384249748, 3252189594, 1537603994, 46954911, 1312979378, 1909356980, 767900521080455169, 795653776321445889, 45808079, 2880076241, 160987603, 2475391455, 868710883, 45382131, 887847414, 1591835144, 144865801, 2797894156, 1634204173, 268302868, 1630796316, 1900935716, 1049426468, 1110243889, 27556420, 1176631921, 340064894, 774026048765829120, 752755870262501376, 3058203287, 540244623, 24574618, 2748676779, 4627561157, 1188887257, 364903134, 4926470889, 2990930668, 1852340971, 237861624, 40565497, 1332083461, 16874247, 4921326353, 791509782, 390134573, 98663217, 785284856242696192, 46562119, 696470068771876865, 785111052434497536, 1002797958, 3381033879, 179436438, 116816793, 718967516551385088, 557120426, 3386866634, 21724107, 360807372, 437877710, 787670753730785280, 2508258277, 274365418, 1956576234, 30374907, 634551292, 3544873994, 2275168742, 375880717, 2185395216, 36928528, 3327327249, 2997615637, 2571631644, 327711780, 744861891432976384, 333577274, 1458371647, 253164629, 757697650095382528, 767593610523009024, 23035013, 253262980, 87358629, 18170805, 2674490545, 381648058, 855440576, 4373282013, 468384995, 17235172, 21921014, 412581115, 273120528, 938442002, 2540567833, 2480799002, 1580268835, 438631716, 606731557, 13172022, 3184262458, 1606647097, 3312155975, 362544457, 1671494989, 1619098958, 463797581, 391806297, 621313370, 2920578401, 206863715, 22969707, 20938100, 344522102, 2657156471, 511147396, 116424070, 497417626, 551386527, 4750409127, 254410154, 435223979, 156466608, 433749428, 107740597, 186252727, 2335407546, 8650192, 2242641360, 62356961, 2481126885, 3048472038, 2208169458, 2788130300, 415956480, 242728960, 28737026, 238714368, 1061780995, 1733787151, 4799626768, 347569684, 64880152, 503774748, 32603691, 728009122881249280, 194575920, 49151535, 415301176, 116981306, 1350598213, 16088660, 766672476, 3417833080, 23985786, 1004732030, 2893840001, 3152084612, 614596238, 821689998, 865042082, 529235620, 772505262, 28147376, 288816817, 219741888, 548861087, 977305284, 777116561341571072, 45022932, 2446196454, 4827217648, 318537463, 821788418, 838467330, 4843765511, 59539212, 2781445922, 1491173161, 3296100145, 79167292, 595820359, 2440200020, 2292121435, 133005157, 15925103, 28508025, 964919191, 1217265564, 29065120, 289734575, 544178097, 2572189626, 2700902334]
democrat_user_ids = [789640373882716161, 777659706294894592, 746524551786430470, 452853780, 2226061345, 14450763, 22708298, 254836859, 33128579, 775401174195376130, 593035418, 29458589, 431095992, 758886359993987073, 763609378662428674, 3267854569, 63209712, 977010949, 1365967123, 723812646, 125436201, 614367531, 620724519, 1281786182, 405766472, 2209055052, 4351263087, 20021643, 1633583503, 2150760858, 607814072, 489193918, 4842717633, 360382931, 134316530, 396231173, 298222107, 2470969884, 16941594, 3190587957, 20808273, 257983058, 534872717, 858849950, 41878176, 3808199369, 284689103, 34636521, 446759660, 456852214, 1704035064, 3131147001, 2208596730, 746529766023389184, 709038667336015872, 1237353235, 946930465, 22971181, 67502910, 382960449, 62423890, 1163625301, 2163213145, 2355397466, 2480472923, 282657627, 2485125981, 1518633818, 587105128, 2483061621, 2541912996, 2754151334, 1129186213, 54952892, 31392703, 118981591, 424281050, 43615194, 2330067953, 2828797733, 23659516, 278070278, 3475014682, 346686513, 3002270769, 474514498, 1415709798, 93553769, 1591116914, 714854301580009472, 24249461, 2504426616, 1258325114, 729523998783082496, 601031819, 36570261, 967967922, 3237643444, 2399536327, 1166345497, 2612430119, 827819305, 31589689, 35095868, 233276759, 390038873, 1027605865, 711731864759828480, 26084748, 2546664841, 272205204, 1214743970, 765949403077148673, 1061389736, 14386631, 453707218, 411010548, 231540246, 1172932142, 474449485, 2831156828, 21038686, 92440181, 2521859719, 292095641, 2561935022, 3103622839, 337807078, 4182836985, 3368748808, 74352392, 755455172093046784, 777231751030665216, 42698899, 30967608, 333711168, 17041220, 26249028, 997492549, 3419211685, 12912562, 331974578, 87807234, 30148536, 152635334, 60196807, 161646584, 594282498, 23824407, 4130277400, 336594986, 36997181, 1548748890, 438110305, 715620316228292611, 2317256852, 706243301624713220, 255723689, 48629930, 3071445167, 100010169, 351176890, 25135289, 722913080024424448, 30181594, 1209272556, 30443771, 19826963, 2427881754, 792943091816640512, 948963631, 103057713, 1077807410, 20056379, 1482492223, 410323300, 361990514, 19466620, 139463044, 358091193, 386206139, 765977974906716161, 3274803661, 1601473026, 263326214, 158927412, 3128789574, 2419853930, 217975417, 781633563716362240, 702147673651027968, 724029470563246080, 2758281886, 2414938777, 37292720, 72583878, 1120537310, 1345260265, 785585094975119361, 788767344633929730, 1461553940, 4830432023, 1101761304, 1483770649, 1652951875, 512756554, 332598094, 128093039, 24054719, 772971560185520128, 551062474, 52956108, 28511218, 451087395, 2200538148, 22481961, 56757292, 307989561, 1202392154, 1315245168, 13503602, 271879308, 4847111321, 279809196, 586714314, 17698029, 504007918, 793820393974956032, 283249928, 70257932, 31427959, 40603004, 740494760, 291245522, 23596498, 24808957, 484085270, 270143009, 3035893283, 604900900, 74321453, 25890358, 89329208, 2358447667, 3321990718, 246910578, 23891584, 2484375227, 332992218, 276336368, 2946404081, 78778106, 29396792, 500240195, 944443207, 3931672393, 861966157, 141692762, 122457948, 88543074, 54300515, 36966258, 562171763, 38309768, 2837188489, 159649678, 2357628814, 195792808, 63180712, 2894991326, 263524324, 19828718, 2302250991, 784562837435912192, 705684502681686016, 730452294945345536, 2437779467, 582946854, 2606731305, 867274813, 23761008, 635506802, 609521818, 127930543, 25694384, 776256351144030208, 3134230712, 23466183, 21631194, 2355400925, 437915889, 779200659228860416, 634917114, 17109242, 218141012, 438866289, 1258295665, 790362348175241216, 2950369665, 791441179178971136, 783429477124550656, 221352323, 4865757593, 187568555, 1368527294, 129667539, 783037131677728768, 55611878, 761778872782389248, 794221862842761216, 29397488, 740702516711686144, 75403792, 20058641, 23597584, 2317292048, 2670268963, 151753287, 711001011654041600, 11735652, 2412778105, 129012412, 61969086, 748196120778711040, 1087640300, 757935223397056512, 767173579586822144, 766393776315195397, 3087733544, 24646451, 70456119, 560042821, 71406432, 2955776865, 566727540, 3837367156, 597365631, 2594706307, 258544534, 73012148, 1966773180, 3231650752, 2765067201, 83891141, 41817029, 85824455, 23991246, 552997868, 755718840697389056, 4254438382, 230036465, 3130332153, 39785476, 2462159940, 3010794575, 1323078739, 3509458035, 113841303, 788914770653110272, 18224298, 245601460, 2733315254, 739591077456404481, 15275197, 2335970509, 2505708762, 38573295, 3102708988, 74257667, 459609349, 1239913754, 18584859, 514790720, 252286303, 712446294959194112, 41391501, 809801130, 2409272748, 19240372, 3288864230, 393549296, 277190153, 2954139217, 3557103202, 439522974, 52237982, 2383746728, 373102253, 1120835252, 342300372, 3962246895, 1244862199, 1154848524, 238589720, 603723557, 2312771407, 522655598, 2477266820, 336107401, 776957312674041856, 24319892, 2764052433, 18913255, 314120176, 334665713, 139466913, 456235177, 571349196, 781555922, 30316805, 17275190, 119150912, 3133053259, 4366997835, 3155597646, 21469518, 3283982695, 627579251, 790300827630104576, 402266494, 4199094676, 924981656, 759407974578290688, 738765038165590016, 2479364536, 16456122, 750024293992529921, 17537473, 440670658, 75930057, 322771407, 186161639, 14457321, 16390652, 1434130956, 709884013716971520, 3069614616, 2264799824, 1665997422, 68458378, 372415128, 15047326, 403839667, 48110264, 87857873, 27368162, 2478545689, 82713407, 2267782015, 1609145216, 22420359, 476355476, 7740312, 46799790, 3256687550, 1651055551, 780974366557245441, 2382044102, 4895677385, 32676874, 213916750, 22781012, 779730693463109632, 603266154, 410786954, 137796746, 360193169, 769315793423052800, 2675645600, 2961972385, 764826201752035328, 748821591077904384, 104865001, 167156969, 1286511854, 590060791, 465706259, 701308194, 1902288162, 2577571106, 2347179302, 1617927480, 1228447074, 3234962824, 274406807, 189570457, 26320289, 4901510568, 612638120, 1879023037, 781554668577095680, 876617220, 180985358, 254058004, 346168852, 234495517, 231972384, 43785765, 566697575, 2812026476, 138845857, 3025706686, 1260756672, 2853936831, 793477531890483200, 619454152, 301506256, 310058709, 65150682, 74260207, 300490512, 468786969, 2867994399, 4721352498, 1973395254, 36773691, 359407421, 805183321, 792146624927502336, 355868517, 326475625, 1428758396, 135864208, 2986385303, 9510862, 781322361538609153, 2957975562, 21175052, 222502938, 20258864, 17932343, 1210556472, 34644032, 736788249260265472, 546283608, 352854110, 3294371957, 16326772, 41197691, 2420711548, 448569475, 15474820, 2270961800, 14622862, 118235288, 255139994, 16392353, 40607954, 623288537, 1949704410, 2803245280, 1072537824, 340664546, 568336632, 4175372554, 2729025807, 622895463, 465477993, 491331965, 266379648, 724755639147311105, 3318620573, 1457430944, 101294519, 1406738875, 551133658, 21373413, 758447208907898880, 1610621454, 3975946767, 240460329, 873328778, 3158516279, 47653434, 3352502847, 24126020, 389227088, 694981803094908928, 2286985823, 4710572656, 8882, 3306070708, 108733116, 3052741316, 2891457219, 2796921569, 444146400, 78291687, 22782756, 483271461, 26485562, 258614118, 967713709, 212345778, 54666165, 1851597757, 2437096401, 172336081, 2623939539, 735297696982925312, 590652435, 17146926, 163259439, 422290546, 320578687, 29598848, 46507137, 740261782908985344, 775934276772560896, 1016669491, 184100167, 53552463, 47031632, 4711523663, 20620628, 18589031, 2617091444, 791288624037949440, 791430255688941568, 16622985, 729327501592408066, 732326844448550917, 16623011, 205399477, 320742858, 245802466, 917874170, 1289627154, 152806971, 705946064231256064, 1287464509, 4271777352, 337978953, 36546128, 709666389, 2654381654, 49096285, 22849135, 143238787, 45983393, 2772280998, 1726031528, 22619839, 33793762, 75867874, 3042977507, 75015935, 112862977, 272410378, 563128102, 16295723, 1661020020, 196290435, 405186438, 3128862632, 205858732, 3704367027, 2393253820, 2200119236, 611690464, 727364114205515776, 109389871, 4843644975, 260515897, 533538889, 2385389653, 2782439548, 24914084, 2706024620, 833104076, 2291771604, 402794724, 186165478, 631744746, 3044911340, 173713661, 1430546317, 544680193, 203499823, 55388467, 249276727, 436971835, 1107929412, 33532240, 795692720178204672, 2463836539, 152807804, 397715851, 1939188127, 52767141, 3408046523, 16394687, 328509900, 728967631, 405645775, 771459123292569602, 786747163996934144, 2837785047, 2777852386, 609167891, 450374166, 15084075, 1353165355, 276343350, 92678712, 895330898, 367372884, 820554343, 2426120808, 3733662323, 744003214840832000, 431958671, 23112368, 3294079682, 719137482, 596912888, 777338593916416000, 704296293431177216, 304393027, 16100182, 2873961370, 77015965, 759548073177550848, 3947342787, 23112652, 440282062, 100871131, 60337135, 65874932, 935767052, 970468363, 606907410, 254782489, 32320538, 628698139, 730436093804449792, 978594872, 104639560, 23440458, 2301635665, 354397274, 1534897243, 46509163, 2357537900, 26586232, 706923234222944256, 353250458, 444804260, 46476454, 781856528567590912, 7154912, 3155209439, 117189863, 1114418412, 26881299, 3028528430, 561720635, 39857490, 503852386, 314355042, 433597816, 3109268914, 82226623, 98217411, 30289355, 121581003, 342928849, 319172122, 26652201, 742548444774965248, 764292655, 1152396852, 1216687669, 2707729976, 3072831033, 735161918, 25308741, 332344951, 2741120635, 405253776, 874753681, 147336860, 23998119, 104869553, 631353014, 35499747, 4779650834, 46640950, 4274433855, 630271831, 2415931234, 14757761, 3102093192, 2547036072, 15347644, 330510287, 313012200, 3127160813, 467873778, 788385925608898561, 39628819, 941928517, 373338196, 93892714, 919580804, 1933881481, 198815887, 727167120, 710651787804454912, 3077615801, 24096961, 758624433925984261, 26292436, 781194520897679360, 700643, 42873122, 970240309, 39563577, 480850264, 286830972, 2750755192, 258453890, 16593287, 1589424530, 722691177309450244, 1225503144, 3053466038, 22819266, 81146311, 786943732839055360, 792781114259767296, 71447024, 166703647, 16495147, 1111536199, 721907473506967552, 170799700, 14594661, 531968617, 756007107212771328, 68334205, 331854460, 741809876381224960, 270512792, 17347250, 3111989945, 348664508, 554041484, 2999497440, 19116778, 267956968, 411251484, 252392223, 71152416, 788577609579958272, 86422325, 288961368, 3396547415, 334213985, 3072275300, 18264935, 24687499, 415019912, 3038524298, 983086004, 41726910, 1173566400, 1852421076, 74888154, 211334140, 763189120160137217, 397325397, 1035744338, 2953819224, 12989532, 346141808, 16135292, 27440285, 77411494, 354104487, 3345167549, 280900798, 16725202, 215626965, 37532891, 103560407, 113718554, 632435997, 93041954, 16299331, 1360475474, 259503447, 16332120, 1276786033, 26588542, 4149949840, 116503953, 29111702, 3052975505, 574993836, 29373877, 257996264, 282867181, 1976579575, 168244733, 36728962, 568374801, 106214930, 2894280241, 473544283, 2479076970, 302036599, 1928967852, 1050785454, 3049338562, 120567500, 59815635, 3267311316, 15906536, 1332360972, 749819477915799552, 7616312, 1362114372, 19052450, 785110206199894017, 36059101, 29112290, 23705571, 78067697, 174831622, 742126356130103296, 809908232, 242530316, 1535588408, 46184556, 3315415150, 16201868, 2765830289, 42416266, 303085723, 1957935260, 398506142, 68794529, 789362850, 65747107, 1083226279, 224802990, 14334127, 473020599, 104937671, 279394503, 2885728451, 4746361047, 3065854173, 2854566109, 150124780, 24983788, 528627957, 2825533698, 357939472, 76101908, 802601238, 22919451, 23214372, 19085612, 2832218441, 1954429303, 707065563219161088, 1204533630, 14268812, 724570432179961856, 3284974008, 1450228159, 778231091446579201, 738417105087922178, 885176822, 15022588, 68073985, 932755976, 2475244042, 45464086, 318454304, 91240993, 15743525, 184597041, 799586904, 14629482, 1666562676, 791342868619153408, 771676327149654017, 796048022, 270613147, 89537182, 18004650, 34650794, 241810109, 2559261377, 60046043, 75905761, 1541913314, 24132377, 791297574653325312, 19807057, 2312387442, 39828352, 613989261, 83770274, 4842109874, 15743939, 23968708, 147700678, 1364310984, 319732684, 169884659, 4836506620, 783814222711062529, 768460778424991745, 240073748, 743627175191023616, 885177427, 170703961, 3429284955, 540458083, 27933813, 587676806, 30063770, 26262683, 24362156, 246037676, 292633777, 17218740, 3184606394, 36584638, 53755260, 387792270, 225623465, 796817166943322112, 1345658310, 68402640, 541277649, 582761956, 3091578368, 125353490, 590069276, 3920182812, 1638579745, 17907270, 20823636, 795197018, 18169470, 755909229236645888, 82656904, 26295968, 384417446, 198033084, 24198879, 1265450725, 15089388, 14925552, 144654066, 71417632, 299286311, 27148081, 247545653, 120536908, 234504037, 795989047319687168, 18300781, 21086063, 1954660214, 556482423, 18464634, 760950096783511552, 614809470, 16727945, 24166282, 1648312202, 12959632, 168574881, 2519187374, 551993269, 265437158, 911785982, 717265130946445312, 718411628623052802, 2462597144, 24887351, 319275078, 783864722999414784, 14893145, 577454178, 756263178653339649, 18038886, 3289465001, 615235758, 37667002, 718127303, 906739914, 780869501025787904, 3228287236, 2450473226, 783493421700751364, 2281554199, 275005720, 2426159388, 1043808554, 232669492, 409780534, 114573640, 18137417, 2949398872, 3280978278, 24771871, 3562667295, 455229853, 961724840, 1928315336, 1689666012, 195477983, 780505987539238912, 753711568043606016, 1559708150, 350634485, 3256369657, 779887385010208769, 3228549658, 524436004, 327991848, 3220259370, 394936877, 2306916916, 121553484, 30163537, 26264160, 3300049505, 53068395, 26624654, 574374558, 27804327, 4857709263, 2730345168, 23675655, 20595487, 97108791, 74761031, 763410281183707136, 3003401062, 280970098, 53625776, 24855487, 253838274, 311149538, 227787781, 808043574, 268059706, 25576565, 2301871255, 79053986, 360072367, 943572176, 786321961513201664, 176276688, 1880769762, 1512162534, 2284831995, 730773706071384064, 794337194810802176, 594199862, 544621881, 3408020800, 45499729, 37963098, 2196194656, 14534001, 1054950787, 169624967, 133449103, 98485648, 637289883, 72697263, 211928501, 286836152, 17352145, 24364520, 3681240556, 40486399, 471647748, 702163844601401344, 50677316, 26297925, 161728075, 21022294, 4618667607, 91440758, 18302588, 737119176188416003, 2551629457, 4462560919, 3362834075, 391628445, 3413198495, 739788451, 131122854, 1575601867, 360302335, 3908159232, 2511455998, 221595399, 26330897, 33376017, 15288084, 874563354, 779606186907824128, 2317731643, 506414909, 2698889024, 21546877, 18794365, 3084437375, 1491617713, 74270642, 204163044, 1195624424, 439404524, 59689025, 2300299352, 774983252633382912, 279758985, 18204813, 295422095, 88066198, 37996701, 2229356703, 738371325547450368, 327436509, 1023133934, 978929934, 387238168, 303909146, 3382208403, 588663100, 197871949, 334088526, 21055827, 249284950, 2288404849, 831146365, 495503795, 47499713, 462539202, 17091031, 468797922, 567790053, 15976968, 463489552, 708397609, 34687550, 30886468, 104876617, 64309877, 23939704, 794766252887724033, 795621241277337601, 720751266, 2393328301, 394382005, 2476427974, 21547749, 15780592, 28101374, 361581313, 569559846, 22367041, 2486258514, 1694288773, 803163019, 7097262, 15584222, 449563617, 277236718, 482429938, 99634165, 208194551, 123456506, 134630418, 1668533310, 2824031315, 102845531, 760915391291985920, 226020458, 782040643879133185, 37080191, 72666246, 2976533645, 553864341, 336710813, 262032543, 25152676, 12995762, 25414861, 1691733230, 694283, 2474790146, 17091853, 725341356223246336, 23973149, 97307935, 58936628, 232574287, 91409788, 2468105616, 366890401, 1523338668, 2176241076, 14372319, 2219167208, 126144056, 314003015, 795095880760197120, 585813644, 1370508944, 22007443, 4852010656, 68112032, 2176208549, 2593279660, 1867697838, 195546824, 1352453840, 4067512018, 4031961094, 757656964742651904, 291393278, 165465855, 1955090220, 48910128, 48222014, 803786570, 29609820, 796205872473141248, 2955071377, 73453520, 305713110, 363417561, 28200941, 731934623060611072, 1694945300, 188108831, 34525287, 796446750139682817, 16470141, 2356662398, 491999372, 3001995405, 84758670, 26726552, 614715545, 465785003, 21057710, 23318708, 17027253, 745103262756417536, 31478002, 767444621383311360, 769759973769355265, 717406066766651393, 2348601611, 1969574156, 46780734, 4092547392, 4252553543, 20009297, 20107602, 247779681, 30724453, 428495210, 255807880, 1398100382, 462279079, 372298181, 109138409, 72569323, 16175593, 752919364853178368, 21975544, 440652320, 3042234918, 465195559, 950719021, 37933615, 29315629, 561959489, 783805836300722176, 865522278, 786172450623004673, 722590022738714625, 2980860523, 17617520, 21975666, 838881912, 247288443, 774791, 3132084891, 266326730, 526635724, 484266709, 27218652, 2782057181, 3366441693, 243684072, 2281301796, 1927238408, 636572429, 34493217, 22500148, 845271865, 433836886, 48649058, 724978834060111872, 706169326936551425, 1117279123, 535647155, 22500286, 614355910, 1599198174, 724033066579025920, 115758138, 6444102, 44946533, 391959659, 1596511356, 294737022, 17749139, 2606355609, 2547406002, 787768698811604993, 2225329387, 1084839151, 711351015770071040, 708688555464368128, 25416964, 787080343245291520, 790357118012358656, 35247380, 930239766, 506680601, 2490553627, 114218276, 45274399, 231822653, 3057210760, 1423922575, 468866470, 30758317, 754273976306761728, 21972360, 1553618396, 773379559, 265836021, 21681670, 15980043, 19453476, 110646821, 13817382, 17782325, 750605887, 3283048033, 7460452, 52975265, 490624693, 21419714, 3045147273, 54282881, 74897126, 1101584125, 1337874181, 236574477, 777889085226643456, 103929636, 1357993777, 16045873, 40556340, 868931396, 430266180, 107829064, 3290945359, 775482129719365632, 23353204, 23385971, 726839033750417408, 718075470189694976, 3024508812, 620451736, 16897958, 755451533488033793, 357848999, 30496696, 403068923, 41768964, 23975952, 154261564, 53008466, 4843853907, 345659482, 1068882049, 24762502, 54122635, 456251535, 3075692693, 214980781, 852842671, 3202832566, 1445124288, 50157764, 85219527, 588568778, 7035122, 342677777, 901044512, 521066786, 422795550, 385636744, 110320007, 170023324, 26040733, 776006436337909761, 2926107083, 2546883019, 14539213, 177756652, 2183715312, 154589680, 770710215763329028, 34724386, 15489577, 2448251438, 24762949, 15718981, 23288416, 3086932586, 1161240648, 21584509, 726394937646915584, 160422559, 1488476856, 10509032, 25418475, 2994723564, 350640890, 1929272083, 15915809, 1295833909, 62872377, 2988923718, 542923616, 2211306345, 30890860, 279370614, 24796063, 788195932839907328, 248503216, 182508471, 214686654, 31054783, 756916438615494657, 2210913224, 274095050, 3036371921, 386849769, 449600501, 23452675, 792189967, 29416478, 245193763, 43932742, 423058517, 17849506, 506191011, 793825441530261505, 793146455271890944, 2365676773, 266198285, 21519634, 27057459, 139877699, 16801092, 20536668, 129883520, 601513344, 570121611, 20372895, 1228889514, 208657841, 74800570, 796053902173077505, 34987490, 96722408, 705446673745584128, 233332228, 373087783, 2559761974, 23453239, 1343086136, 37543490, 285892183, 1942478432, 189619828, 391831160, 226680441, 1108991642, 2191351453, 706676598032998402, 1619222257, 773311416296153088, 63725306, 1661624072, 185065243, 1173774108, 193093413, 831020839, 1669127982, 464052109, 20406169, 25878458, 359620551, 12574662, 16015343, 88203250, 14999559, 54321201, 61005918, 30924894, 4579254377, 535748735, 283107492, 792159636447080448, 478175413, 190537948, 76538085, 15393011, 32891127, 4385988856, 16408881, 255713596, 20701551, 521920904, 518152586, 719221000831782912, 711662847239933952, 844161451, 34431418, 558293436, 311910862, 2255217133, 1142677998, 3250217455, 72344055, 14868985, 1419960828, 267828230, 3033020838, 82633231, 1967710746, 3055837729, 810115663, 770365414723362816, 218325592, 611082841, 40755803, 44458622, 2437046916, 2402247301, 260563610, 25911963, 544793245, 19554982, 176284364, 741685422187814912, 2348049104, 528605931, 93414133, 396190469, 151708423, 475489074, 122905398, 1868817212, 19358529, 451470153, 1021010780, 189031287, 22864789, 574088102, 3020645302, 271115191, 20767677, 29811647, 2735006663, 446817245, 19260444, 2903237663, 17359946, 265053293, 2165499054, 922215600, 168191164, 121332927, 18736362, 790625094255063041, 40264947, 761637638864510976, 616719605, 614753526, 15000848, 464296359, 2966250802, 38298931, 4705936698, 1658873142, 35382598, 1547167058, 834823550, 772835763276873728, 412640655, 4606846354, 862283167, 3363726771, 4847691203, 3461834180, 204223494, 468149708, 2166318551, 194799062, 1007773164, 795342826104037376, 770611249067466752, 480896505, 2375542284, 1904109072, 20637214, 31483470, 178906701, 146892402, 32728694, 3244222083, 265414287, 302212774, 22537896, 75982537, 27092690, 22210292, 755648818704707584, 128313212, 31975293, 754478404515328000, 708262062741450753, 1551755156, 711073522198704132, 27191203, 223143868, 480569282, 420079583, 17262565, 466937853, 606824451, 2596628484, 2352343045, 741784811539402752, 242673684, 225306656, 951019554, 775137733195038721, 2192435322, 66906245, 106195097, 17590425, 87812286, 42395846, 38693075, 285927636, 39643350, 452716762, 775387025360953344, 3178391817, 1114990873, 73230631, 485189928, 18606398, 458877274, 15919460, 90892685, 540043664, 562162079, 2901731747, 748323523706388480, 22866347, 247589293, 766069287681425409, 2409163200, 46000575, 201025986, 323578304, 769021258264641537, 2483087824, 238807535, 133130740, 394160641, 2439309896, 160361044, 757885531, 490039900, 4208519774, 284584541, 715709333359697920, 779705685193924608, 3187108532, 3929696952, 113175242, 344615627, 414706394, 67300073, 780346280673501184, 1540090651, 257223459, 377645884, 22506365, 2901732224, 3008457619, 716041121, 2228775841, 3293670307, 1283222443, 231271343, 14937028, 719729169488285696, 4115786717, 207219685, 423816157, 1536453619, 425454601, 128609303, 2366958658, 29322313, 43412556, 3222727759, 497544272, 77229139, 3074288736, 2489740401, 30534794, 149154969, 23424185, 765058520547024896, 95349995, 792984227960725504, 20737270, 1378184442, 44166394, 22179069, 1089694976, 2352278821, 2166287663, 748294696447913985, 780574020567638016, 741486187781619712, 1909321032, 782331241, 2542628202, 390360463, 4231753156, 286485961, 2498031062, 211414510, 801369596, 474410507, 509537839, 20278845, 4367511141, 763164210079629312, 282619516, 873426577, 4250398349, 96399006, 140963487, 3277614776, 1337093828, 283012805, 113667788, 1863380688, 23719632, 3058167576, 3027169085, 53309297, 1583476597, 279244687, 243855266, 2914611107, 54620114, 4888588241, 730238251034808321, 226619383, 43118585, 1651437565, 778412479701479424, 750542641230704644, 2181132306, 280260631, 23719964, 64811059, 762671172, 119074896, 2741104732, 563245155, 48099439, 25718929, 518844554, 64843924, 20803768, 96792757, 134934738, 218591481, 3334861059, 294973715, 1714740139, 55767354, 471363900, 1855156585, 4004770161, 342356345, 2984014208, 454226312, 531820963, 760869288, 3156930984, 17985988, 18248149, 9335262, 464253428, 2752737782, 51966466, 795095923781156864, 795102807087005697, 89059852, 18674185, 24277523, 946401882, 373650018, 3295263370, 2777739913, 3091722890, 2222289565, 4689687224, 320303808, 741453925333803008, 7893742, 478016264, 1007842068, 18248499, 322564915, 568161091, 484963139, 249000820, 569406327, 1541862278, 1210905498, 28734362, 163247004, 795374998248652800, 1115845626, 4925584401, 103019546, 25654301, 3351245853, 3033265182, 29094964, 430273590, 76936250, 413299777, 206795860, 589427800, 275739761, 176780438, 18838689, 80901277, 3010786498, 20051142, 2981328081, 322139366, 2309125351, 14808307, 714633133203652608, 629765391, 1034024276, 63010134, 223212939, 22410635, 776228194571649025, 25130427, 23852483, 569538026, 705226107507884032, 724021078847307777, 701425676398804993, 4237817357, 207320599, 384628249, 2436494913, 14677572, 23164547, 19297956, 891778730, 70874799, 20018864, 238286525, 26375881, 21984985, 327513826, 2345203428, 805304047, 32143095, 153614079, 2414704434, 17889080, 38270795, 35387223, 785431657952186368, 263878507, 23099248, 1505851255, 2301982591, 24803204, 28342185, 43415473, 332625843, 2923755450, 1368651708, 3369859059, 1701881, 21985280, 417265667, 718965552593694720, 271448186, 619509882, 774631162354528256, 26704018, 20641983, 415234254, 23722195, 995719400, 1615919388, 18118941, 305658142, 2571303212, 1461025076, 39647551, 138901825, 22444364, 1090943328, 29292924, 434731394, 1534720434, 1434646968, 15399352, 17103317, 41515481, 157579753, 712735232, 758825127257579520, 1924692518, 252934694, 348617258, 158300733, 68254271, 723253825, 248052290, 19167813, 1226570346, 2263087724, 25557640, 3349117577, 777674248445894656, 44661428, 814086876, 4820925174, 453671693, 288586519, 3281943325, 247986987, 89586490, 48921404, 1491860286, 24804190, 345144175, 38304628, 237042572, 267844502, 107903915, 1139997614, 561609674, 3403512831, 593034258, 3929756543, 1904409654, 1044413497, 1541078078, 57539649, 2411134039, 2712403052, 3304717425, 118062193, 769164735187005440, 21003434, 297499845, 33094865, 762730044632555520, 2929032432, 1273560307, 18087166, 278330650, 3614539037, 60816673, 450395429, 3441392957, 1582014476, 21036370, 36568444, 266403203, 398294419, 69139864, 794348583973748736, 795988641462026240, 263421392, 16678359, 59145693, 218299886, 1202191854, 1700888064, 100007440, 23690779, 329907735, 1693679136, 81526309, 235634214, 122715689, 145292853, 2429877846, 19857047, 440565406, 15662750, 600702624, 23002784, 3615424162, 19955376, 199458585, 124256028, 1225391912, 2194112299, 20479813, 1077903176, 760545114, 2186575717, 38174594, 241696647, 3804659597, 2857861005, 1209794448, 305233809, 2449211330, 2610495437, 2229567443, 176259028, 55246810, 3191078878, 484442079, 521011176]

def is_republican(user_id):
    return user_id in republican_user_ids

def is_democrat(user_id):
    return user_id in democrat_user_ids

def user_id_to_political_affiliation(user_id):
    is_repub = is_republican(user_id)
    is_demo = is_democrat(user_id)
    assert(is_repub != is_demo)
    if not is_repub and not is_demo:
        return "Neutral"
    if is_repub:
        return "Republican"
    if is_demo:
        return "Democrat"
    
print(user_id_to_political_affiliation(703070204209790977))
print(user_id_to_political_affiliation(789640373882716161))

In [ ]:


In [ ]:


In [ ]:


In [ ]:
# note that honeypot dataset is more than just tweets, hence the different name
from loader import load_michigan_tweets, load_political_tweets, load_honeypot_data, load_michigan_unretreived_tweet_ids
import datetime
from dateutil.parser import parse
from collections import Counter
import numpy as np
import pandas

In [1]:
from loader import load_michigan_tweets
import tweet_util

michigan_tweets = load_michigan_tweets() # a list of dictionaries
print("Loaded Michigan tweets.")


Loaded Michigan tweets.

In [3]:
tweet = michigan_tweets[0]
print(tweet_util.get_hashtags(tweet))


['Huma', 'Clinton']

In [ ]:
print(michigan_tweets[0].keys())
print(michigan_tweets[0]['entities']['hashtags'])

In [ ]:
user_ids = set()

for tweet in michigan_tweets:
    user_ids.add(tweet['user']['id'])
    
print("There are {} users in the Michigan tweets (that we currently have downloaded).".format(len(user_ids)))

In [ ]:
def get_tweets_by_user_id(user_id):
    tweets = []
    for tweet in michigan_tweets:
        if tweet['user']['id'] == user_id:
            tweets.append(tweet)
    return tweets

def tweet_to_hashtags(tweet):
    hashtags = [entity['text'] for entity in tweet['entities']['hashtags']]
    return hashtags


user_ids_to_hashtags = {}

count = 0
for user_id in user_ids:
    hashtags = []
    tweets = get_tweets_by_user_id(user_id)    
    for tweet in tweets:
        tweet_hashtags = tweet_to_hashtags(tweet)
        hashtags += tweet_hashtags
     
    user_ids_to_hashtags[user_id] = hashtags

In [ ]:
# Hashtags used by the Oxford paper.

pro_trump_hashtags = set(['AmericaFirst','benghazi','CrookedHillary','DrainTheSwamp','lockherup','maga3x','MAGA','MakeAmericaGreatAgain','NeverHillary','PodestaEmails','projectveritas','riggedelection','tcot','Trump2016','Trump','TrumpPence16','TrumpTrain','VoterFraud','votetrump','wakeupamerica'])
pro_hillary_hashtags = set(['Clinton','ClintonKaine16','democrats','dems','dnc','dumptrump','factcheck','hillary2016','Hillary','HillaryClinton','hillarysupporter','hrc','ImWithHer','LastTimeTrumpPaidTaxes','NeverTrump','OHHillYes','p2','strongertogether','trumptape','uniteblue'])
neutral_hashtags = set(['Election2016','Elections2016','uselections','uselection','earlyvote','iVoted','Potus'])


# make sure each hashtag exists in exactly one set
for hashtag in pro_trump_hashtags:
    assert(hashtag not in neutral_hashtags)
    assert(hashtag not in pro_hillary_hashtags)
    
for hashtag in pro_hillary_hashtags:
    assert(hashtag not in neutral_hashtags)
    
user_id_to_political_affiliation = {}

for user_id in user_ids_to_hashtags.keys():
    hashtags = user_ids_to_hashtags[user_id]
    
    if len(hashtags) == 0:
        affiliation = "Neutral"
    
    else:
        pro_hillary_hashtag_count = 0
        pro_trump_hashtag_count = 0
        neutral_hashtag_count = 0
        uncategorized_hashtag_count = 0

        for hashtag in hashtags:
            if hashtag in pro_trump_hashtags: 
                pro_trump_hashtag_count += 1
            elif hashtag in pro_hillary_hashtags:
                pro_hillary_hashtag_count += 1
            elif hashtag in neutral_hashtags:
                neutral_hashtag_count += 1
            else:
                uncategorized_hashtag_count += 1 # this could later be an uncategorized count 
        
        if (pro_hillary_hashtag_count > pro_trump_hashtag_count) and (pro_hillary_hashtag_count > neutral_hashtag_count):
            affiliation = "Democrat"
        elif (pro_trump_hashtag_count > pro_hillary_hashtag_count) and (pro_trump_hashtag_count > neutral_hashtag_count):
            affiliation = "Republican"
        elif (neutral_hashtag_count > pro_hillary_hashtag_count) and (neutral_hashtag_count > pro_trump_hashtag_count):
            affilition = "Neutral"
        elif pro_hillary_hashtag_count == pro_trump_hashtag_count:
            affiliation = "Neutral"
            print("Equal trump and hillary hashtags. How quaint!")
#             print(hashtags) # too complicated to 
        elif pro_hillary_hashtag_count == neutral_hashtag_count:
            affiliation = "Democrat"
            print("Equal hillary and neutral hashtags.")
        elif pro_trump_hashtag_count == neutral_hashtag_count:
            affiliation = "Republican"
            print("Equal trump and neutral hashtags.")
        else:
            affiliation = "Neutral"
            print(pro_hillary_hashtag_count, pro_trump_hashtag_count, neutral_hashtag_count)
        
    user_id_to_political_affiliation[user_id] = affiliation

In [ ]:
from collections import Counter
print(Counter(user_id_to_political_affiliation.values()))

In [ ]:
republican_user_ids = []
for user_id, affiliation in user_id_to_political_affiliation.items():
    if affiliation == "Republican":
        republican_user_ids.append(user_id)
print(len(republican_user_ids))

democrat_user_ids = []
for user_id, affiliation in user_id_to_political_affiliation.items():
    if affiliation == "Democrat":
        democrat_user_ids.append(user_id)
print(len(democrat_user_ids))

In [ ]:
print(republican_user_ids)

In [ ]:
print(democrat_user_ids)

In [ ]:


In [ ]:
# Usage examples

get_timestamp(sample_tweet), \
get_hashtags(sample_tweet), \
get_tweet_id(sample_tweet), \
get_derived_tweet_id(sample_tweet), \
get_user_id(sample_tweet), \
get_derived_user_id(sample_tweet), \
get_display_name(sample_tweet), \
get_handle(sample_tweet), \
get_num_followers(sample_tweet), \
get_num_friends(sample_tweet), \
get_num_posts(sample_tweet), \
get_num_retweets(sample_tweet), \
get_tweet_to_derived_tweet_edge(sample_tweet)

In [ ]:


In [ ]:
# Populating some data structures.
# For now, we're lumping everything together; later, we can distinguish between Trump, Hillary, and Neutral.

tweet_id_to_user_id = {}
user_id_to_handle = {}
edges = []  # list, not set, because we want to allow multiple edges

timestamps = []
dates = []
formatted_time = []

for t in michigan_tweets:
    user_id = get_user_id(t)
    tweet_id_to_user_id[get_tweet_id(t)] = user_id
    tweet_id_to_user_id[get_derived_tweet_id(t)] = get_derived_user_id(t)
    user_id_to_handle[user_id] = get_handle(t)
    timestamp = get_timestamp(t)
    timestamps.append(timestamp)
    dates.append(str(parse(timestamp).date()))
    formatted_time.append(parse(timestamp).strftime("%m-%d-%H"))

for t in michigan_tweets:
    edge = get_tweet_to_derived_tweet_edge(t)
    if edge:
        edges.append((tweet_id_to_user_id[edge[0]], tweet_id_to_user_id[edge[1]]))

print('The average edge weight between connected users (i.e., one of whom has retweeted the other at least once) is %f.' % (len(edges) / float(len(set(edges)))))

# The reason this is not equal to one is because user A may retweet user B multiple times.

In [ ]:
%matplotlib inline
date_counts = Counter(dates)
`histogram = pandas.DataFrame.from_dict(date_counts, orient='index')
plt = histogram.plot(kind='bar')
plt.legend(["Number of Tweets"])

formatted_time_counts = Counter(formatted_time)
histogram = pandas.DataFrame.from_dict(formatted_time_counts, orient='index')
every_n = 12  # two x-axis ticks per day
plt = histogram.plot(kind='bar')
tick_locations = plt.xaxis.get_ticklocs()
tick_labels = [label.get_text() for label in plt.xaxis.get_ticklabels()]
_ = plt.xaxis.set_ticks(tick_locations[::every_n])
_ = plt.xaxis.set_ticklabels(tick_labels[::every_n])
plt.legend(["Number of Tweets"])

# The first graph shows the number of tweets per day.
# The second graph shows the number of tweets per hour.  The axis ticks are 12 hours apart, but the data is hourly.

In [ ]: