package com.jdt.fedlearn.core.entity.mpc;

import org.testng.Assert;
import org.testng.annotations.Test;

import java.util.Arrays;


public class TestPartyB {
    int num = 3;
    int min = 2;
    int max = 20;
    PartyB partyB = new PartyB(num, min, max);

    @Test
    public void testSetRandomNumLen() {
        int numLen = 3;
        partyB.setRandomNumLen(numLen);
        int res = partyB.randomNumLen;
        Assert.assertEquals(res, numLen);
    }

    @Test
    public void testSendPublicKey() {
        long publicKey = partyB.sendPublicKey();
        Assert.assertEquals(publicKey, partyB.publicKey);
    }

    @Test
    public void testSendN() {
        long res = partyB.sendN();
        Assert.assertEquals(res,partyB.n);
    }

    //TODO step2list randomseed
    @Test
    public void testStep2List() {
        long num = 2;
        long[] res = partyB.step2List(num);
        String resStr = Arrays.toString(res);
        System.out.println("res: " + Arrays.toString(res));
        long[] ex = new long[]{7629509, 11222284, 13240423, 2237203, 9115308, 1900764, 10142936, 794397, 13009719, 964076, 13351993, 8530884, 13689862, 7585298, 9904098, 8647401, 99256, 4421685};
//        String exStr = "[15718277, 3644499, 13739720, 30074177, 17101290, 1870531, 19148399, 11600784, 18530190, 8969033, 31445809, 19433114, 28040892, 21999330, 25847136, 30882452, 23103174, 10406542, 25843420, 14598597, 2970579, 19415661, 8827907, 13125946, 21328499, 3017759, 19326212, 17722734, 11058790, 25184349, 26822045, 18838903, 19182862, 20412918, 31495436, 30134847, 8886086, 23253806, 16557278, 6477889, 13105444, 31664248, 8363387, 8874141, 3322000, 29744533, 32395175, 4439520, 5865123, 15454943, 27915133, 385624, 7366660, 6273407, 652129, 16131147, 32070484, 17212453, 12694442, 17753194, 9927918, 10292133, 13841773, 23809046, 27733767, 7181991, 16080251, 25490102, 25625119, 1805621, 13782467, 1420490, 14968036, 6470662, 27875131, 17638450, 22424915, 22329456, 18144259, 32463800, 17890593, 14697491, 5018308, 7057358, 6405946, 14979102, 31956591, 16260002, 15013119, 4107467, 29451520, 12329302, 9791484, 20734701, 4423721, 21132925, 24990354, 5928752, 15680151, 32062100, 30139558, 1598866, 29729731, 18850732, 5486147, 18442688, 7714961, 30346171, 12384786, 26109210, 14564584, 20645061, 22206952, 22670045, 24928420, 32308288, 29899132, 26209959, 3483844, 3606470, 9753197, 20202122, 14162225, 11602515, 4336702, 25275459, 25302730, 23200859, 28434461, 8744184, 436701, 2054011, 7196041, 7278234, 10336914, 7116820, 26347823, 7078630, 7532657, 27156413, 26181254, 17318732, 21599074, 22607137, 15786473, 14263426, 13936951, 2413084, 26166057, 25345136, 12277222, 12316160, 15959333, 28447554, 22267857, 1530398, 13229929, 31536567, 17609594, 31611718, 1462547, 2327526, 10016479, 20388355, 1664105, 15077456, 9230634, 32310943, 27002657, 25163223, 17558054, 1848670, 11690089, 22259865, 13282618, 20343922, 15975035, 1562802, 14623627, 18714374, 24237457, 21498489, 9827293, 24628871, 31226267, 20314060, 13006784, 10002348, 8513046, 29248679, 25803495, 2622928, 11280419, 22550999, 30174055, 22100059, 14617775, 16111698, 31204925, 26951530, 30967290, 228118, 16495001, 29884774, 9575541, 16783964, 48204, 13181273, 24725951, 1855057, 11261059, 12894137, 23420436, 29895946, 23255364, 18943230, 7828020, 18241085, 30515582, 232055, 13275064, 5650531, 32354419, 13076269, 13635770, 12934361, 28542446, 24184010, 23670412, 32507375, 19766060, 5411309, 5604440, 10452612, 13372402, 29195488, 22357475, 28535096, 27744927, 15832726, 22229661, 21435502, 28206298, 21773286, 7372452, 25895241, 16241800, 4366688, 6376199, 22713796, 17849062, 25252287, 924530, 22753992, 5482885, 31156813, 14458059, 26626102, 11628183, 1371373, 30431166, 1091803, 18518991, 30475990, 25480825, 30686147, 713580, 17329090, 13495339, 301893, 21967168, 6634578, 29740071, 19551907, 13800441, 8321239, 30817808, 28732437, 31512912, 21525280, 22186663, 1267934, 28741973, 20863282, 16620590, 22243286, 30424637, 18714507, 21819603, 10139987, 18254677, 2105840, 7519543, 4592243, 26312700, 1071553, 22642266, 4401218, 2129808, 2212601, 11153560, 14908530, 212791, 16588048, 2700945, 3445615, 31130764, 16654004, 9425959, 17578625, 6084374, 2536340, 931052, 28916474, 26101833, 14167792, 31133954, 14570937, 28202715, 18833399, 22293759, 32811180, 2873855, 5392282, 4115071, 1370209, 8862881, 32095531, 10916281, 18554791, 9523810, 27933663, 21463409, 11065888, 6295433, 12799901, 22157143, 17994983, 25715366, 2957319, 13938948, 2202331, 26243995, 27344982, 1035156, 10522074, 13285984, 8015667, 12959589, 13366226, 4351832, 4610275, 8030668, 20673891, 5284511, 9535135, 16788744, 23150013, 3422928, 4160742, 7288746, 1565300, 1912034, 31508091, 18434465, 16905236, 11209659, 2729106, 32442129, 14956178, 3747705, 5823103, 25428287, 19431584, 27183815, 12789749, 23007503, 3341163, 13575019, 11036900, 16698175, 27209087, 12713771, 7478927, 22614449, 2772131, 13883899, 17824399, 5118321, 16971673, 28063568, 24341989, 22841277, 16939037, 23473186, 21110811, 27260368, 973019, 7208288, 14983418, 32879734, 22257889, 17018732, 19298104, 9314821, 4791432, 25734420, 29793285, 9516, 8781686, 18933992, 24859502, 15608914, 17685142, 5821299, 26727521, 31205571, 6819961, 31633083, 7102242, 4309751, 23088702, 24467033, 28535662, 9813996, 26072134, 8107401, 21674293, 23962375, 7593880, 18698331, 2455680, 6913758, 13006874, 7590154, 16728688, 3289093, 32106961, 11741828, 9080275, 8605027, 25686615, 16078979, 19243643, 11197967, 20571466, 28338568, 4610841, 32268939, 30783746, 14410410, 857924, 31979533, 7984349, 11173661, 14666494, 27362873, 19977017, 21348178, 15304614, 29278950, 25217245, 27767502, 6611871, 7051962, 18443596, 13765921, 1370172, 15677907, 13056364, 13195083, 3729040, 24264067, 25475964, 20620295, 29049321, 20723984, 24539085, 11617892, 24918855, 31606209, 27819395, 31407497, 25365166, 4515882, 22882966, 267896, 20674315, 32461994, 22384599, 379175, 2285966, 14891185, 13736600, 24978686, 22808600, 28720889, 26221883, 31574495, 19916864, 4672118, 13612226, 29502124, 26890329, 15897750, 28610176, 18653719, 2472011, 2743118, 19370886, 13398646, 10531340, 26692790, 30886865, 24336231, 13620207, 13505953, 31489724, 768137, 707888, 11784670, 26460133, 3068956, 21726598, 8823336, 24875330, 10174956, 13529042, 7618467, 25899721, 29055173, 11042276, 22514675, 17998951, 9458387, 9609603, 740392, 29567853, 25717808, 10906691, 23230860, 31445970, 7306170, 26145711, 3896422, 2353863, 20680284, 9869578, 269836, 20316709, 5809019, 32866348, 8776117, 29837500, 5608950, 21212578, 28741230, 13498979, 24209396, 5030476, 8734549, 29255524, 13966737, 31912387, 26687559, 27406763, 14364376, 14810008, 27931269, 3682158, 1644602, 18319625, 4793211, 22735551, 1206362, 25224220, 17993777, 17823317, 10253599, 9345733, 24805848, 5902755, 27251502, 8666617, 32794082, 32095746, 23998907, 20483609, 14425656, 19302178, 4956333, 31268080, 13405035, 3546780, 24457021, 1333695, 9698728, 22264170, 475837, 4059935, 27629921, 27326525, 11422067, 1251459, 5682241, 13065512, 10449859, 13938704, 13502119, 17287667, 13947051, 29642029, 29314753, 25600082, 30713370, 849045, 30000345, 26180197, 27641568, 9848854, 14451114, 30793711, 27104493, 26999395, 5105326, 17559383, 31119805, 9417182, 15216489, 31113554, 7597060, 28497226, 10942897, 29933231, 25297128, 26169018, 8887093, 24505069, 6734933, 13215646, 16056029, 32274475, 13545309, 15640205, 638338, 30720451, 10408906, 22381972, 24876323, 28988772, 19703544, 28501850, 15820169, 24926373, 5735201, 25430926, 5976981, 7105842, 2115805, 9386919, 15801764, 6821605, 8700616, 14654433, 22992961, 204800, 25607897, 9309755, 17892260, 20218720, 28778000, 4862568, 9752415, 26023854, 24304948, 3340329, 29626028, 8955461, 6221883, 608652, 22317118, 7959603, 6539839, 25704948, 589655, 14549748, 24689755, 25418304, 24277132, 27411005, 5203166, 28496130, 29734221, 19934867, 10051250, 19924486, 14320443, 6679949, 4695523, 9785058, 16856518, 27149126, 8044485, 28920249, 15168504, 21362121, 19152607, 2097535, 8865132, 7713280, 8157829, 18451836, 17967322, 2160412, 32413545, 25856716, 11348778, 27087988, 21815829, 32295785, 10788338, 9907537, 956589, 30539721, 20878398, 31398326, 7703334, 11685192, 880803, 9527527, 26120397, 4995494, 9416368, 28660042, 13673033, 17870193, 16412470, 986526, 6090310, 25967811, 25667998, 2678365, 28035788, 15900455, 30799670, 541085, 31965712, 31964886, 1941110, 16178012, 11495577, 29082205, 25958069, 10694053, 28116548, 31475776, 713522, 27732578, 21904081, 26828118, 31957886, 18527739, 23357200, 18537610, 7845257, 26836310, 26914305, 3175840, 18361450, 18591244, 31028666, 4227879, 17647179, 15858654, 19009763, 5233836, 29517618, 27098435, 3716981, 11555691, 19203602, 21005742, 10238981, 399797, 26278435, 14665730, 6578602, 9740334, 15226281, 12356566, 4236527, 13570980, 5302983, 23127988, 4998633, 14192307, 12735062, 6801741, 1451018, 3640811, 3726030, 29432351, 1568578, 29169542, 9977011, 4169951, 7550274, 17328678, 4264889, 1841274, 1987426, 20608634, 30843195, 12654023, 10676844, 5640523, 29951071, 7618739, 5582976, 30239954, 8061966, 5074102, 8389023, 30231082, 9275010, 18346518, 4225290, 29442436, 29407003, 26290390, 16781293, 6437057, 3456862, 26014329, 26585809, 8054167, 28907406, 11940290, 31150678, 25013277, 31417477, 26433119, 5580769, 26418858, 32925398, 1341589, 1337390, 9822482, 10593277, 850666, 31396329, 5865874, 14459826, 24468434, 22882678, 2328787, 26670753, 1153946, 11296635, 21416674, 16973127, 15820891, 12645479, 11887239, 25468498, 9007647, 24684341, 3403066, 30624403, 9075178, 32258273, 1052655, 1095780, 3916588, 11632732, 23720212, 14145745, 8228772, 13106810, 4739883, 23220134, 27929141, 27522257, 25169611, 11854510, 17680483, 8180731, 24845740, 5101195, 2385264, 8053175, 28758703, 23405747, 6106818, 10126715, 16607671, 31047573, 17394706, 14400637, 28473286, 20947928, 4524235, 8206379, 30585213, 17393137, 27397662, 24256762, 30462909, 20201710, 11273929, 17998453, 20233815, 32514658, 8175168, 5242871, 7151588, 28980951, 26469336, 8773229, 29659120, 4940266, 29123143, 10000076, 23068013, 24355590, 12937807, 21119194, 8875835, 17742711, 32457849, 11091053, 23082724, 13686356, 15162449, 24052241, 9368017, 18615328, 25456941, 4887572, 12082392, 30602712, 26267133, 6142225, 24255082, 11797412, 20417408, 31368128, 6352202, 17900485, 31557944, 31905035, 10165282, 29071845, 32060982, 4228712, 13358501, 3421276, 29289582, 22386046, 25152505, 13200529, 30138653, 22697987, 19558751, 22363771, 1723620, 11984764, 3501376, 659459, 29527744, 32522850, 19673196, 11353569, 26017030, 5608609, 31218830, 30132378, 27304802, 25895029, 16988276, 32930162, 25228642, 27156300, 495790, 5555199, 13408889, 7864901, 26158900, 23780434, 14947793, 23858276, 815712, 22516251, 15450562, 626676, 21108146, 13770839, 31666782, 30437959, 10012012, 11651839, 14342469, 10369478, 12341430, 3654285, 16783133, 15982172, 20710158, 9943657, 23308248, 24682705, 19307287, 16808472, 17170066, 14560987, 20502945, 20558866, 31599452, 1292609, 13953403, 25920047, 8395048, 8117586, 31648304, 6910044, 293510, 2232536, 18344889, 21072498, 9004522, 13674964, 26808038, 20963835, 9686774, 20851586, 21111214, 23051088, 22357844, 11488593, 22530738, 5317494, 30677358, 12438127, 7031907, 4112461, 25121201, 16609458, 31826383, 32150059, 20813465, 24124199, 13197712, 34984, 29991412, 31597175, 31965794, 18130919, 9842472, 13892475, 29710934, 22300902, 23492132, 2152502, 2855663, 11990979, 18395546, 24886634, 2276044, 3943096, 1713847, 11544519, 17170372, 18851223, 29772147, 13591400, 6755631, 4309939, 7743342, 19283009, 24464926, 7797350, 5390510, 24398085, 21629875, 8116727, 2347269, 21347500, 31199263, 10282802, 12750309, 1189905, 12698000, 15324860, 17878951, 29465709, 16578601, 2849959, 6699524, 26327654, 11193702, 3116878, 4228160, 4406926, 27464778, 2159292, 22399894, 31855372, 17922584, 26090383, 26480145, 14118357, 5674266, 17983866, 30594601, 24171246, 1969397, 15933594, 10928074, 2535767, 1025675, 16039094, 16828557, 9501289, 12427533, 2169967, 3739718, 26691094, 4892301, 29004138, 14984066, 19001894, 2518363, 21279513, 22551585, 24148907, 14277587, 12123355, 26543748, 17339141, 21941691, 16698964, 23152544, 8721368, 32300927, 10716509, 22600051, 32918588, 8262053, 6385094, 20297818, 29595254, 9272621, 1289401, 18389195, 5381111, 31490288, 19924984, 2087313, 28593066, 3726730, 28934323, 29045678, 15646113, 24225633, 1887202, 9616921, 6387378, 32388248, 15409582, 28974098, 1165415, 22245209, 25368259, 2280143, 14523010, 32171518, 13688478, 18947982, 10017785, 29116517, 2839026, 3247658, 19577075, 29424592, 25424665, 7332619, 31685112, 30444411, 31496021, 6034276, 23744736, 15853902, 12069448, 30882215, 29361395, 2065202, 4360330, 29002155, 7861860, 6330605, 19170893, 30300695, 21832823, 9520658, 23724101, 11072122, 29144191, 7199784, 7631848, 27503222, 25715696, 2157004, 8436762, 6564009, 11571572, 12973010, 14423841, 5809765, 6815958, 20800936, 15320803, 12082232, 28163577, 5025529, 29614387, 12186649, 19720164, 9896112, 8287028, 2971702, 18821557, 17850451, 28912752, 14156150, 25329900, 22916897, 24208578, 31312466, 11136488, 23382134, 30261030, 15060264, 20266927, 11684570, 11816991, 5612721, 17624267, 31869368, 9368873, 20700957, 14002924, 8087118, 30267850, 6636790, 32501307, 1605673, 10000711, 17802559, 7924592, 13448883, 14439006, 115847, 12599035, 15081087, 21915228, 28683852, 29490711, 11624007, 22746761, 12953639, 6343166, 10749872, 2053056, 20799065, 12272772, 27966241, 32463988, 10070492, 23786253, 29355667, 14639218, 8016292, 19199113, 26480184, 27104417, 5316398, 2417893, 29027765, 3174261, 2914956, 14192070, 17437418, 24006824, 30003097, 18586808, 2128926, 21713781, 12933189, 3573106, 13946079, 32247262, 16513740, 406576, 22905645, 26799553, 9707326, 27259297, 30977885, 22630460, 9133213, 26778910, 30945624, 19343157, 14172440, 30246325, 15199209, 28857901, 2103550, 12075369, 31462004, 21300093, 23703297, 25929958, 7571923, 12280914, 7471065, 31953002, 3137379, 12431220, 17786999, 15122392, 18000604, 25487917, 17038960, 26188453, 32399331, 29104187, 9855448, 10568946, 19412688, 5491496, 12299002, 24179285, 14812437, 23582755, 19753275, 790925, 8536963, 2752533, 28280584, 13799731, 10207328, 21219104, 1554312, 8695755, 13506917, 8317585, 12298278, 1131549, 2941311, 11409687, 12775051, 29689603, 17821220, 31943416, 19239447, 10246713, 23540362, 19877409, 22041696, 14964610, 12642352, 19072990, 10326750, 13890935, 6087960, 10746895, 15406493, 17508991, 32814839, 16993284, 28739254, 386413, 2201631, 397452, 22917233, 15722067, 8360487, 20653467, 2463973, 7626885, 3723076, 7993498, 7874848, 18091088, 17394291, 657464, 26342281, 7370477, 12072377, 21205895, 32481199, 8995249, 24007943, 32455181, 2924920, 29222201, 8369801, 17753407, 14552256, 14679482, 20280338, 264620, 12739284, 24954096, 27767775, 6828237, 31903903, 745440, 22536371, 3226774, 32687725, 8165292, 16950660, 5373000, 18046843, 19291410, 32174756, 21041746, 23692554, 29355566, 20166595, 6130219, 20880258, 16064775, 14658492, 7979848, 13276105, 21057207, 22963106, 14056642, 26809600, 2223133, 4513138, 3831477, 8682106, 26206122, 17942596, 11291063, 20602924, 6761596, 18653502, 5128940, 27281860, 28317346, 6101782, 4737485, 32924391, 17062295, 5016987, 7757046, 23551745, 32568458, 14040008, 10467101, 3470880, 14133325, 21757057, 10445376, 16790794, 18070418, 15123466, 19734074, 17167622, 26090733, 5765566, 5046210, 8104201, 26002097, 3022097, 4348227, 12007666, 29197091, 11620346, 8511818, 25995757, 838451, 16123413, 8052645, 9208625, 22291824, 16149138, 15564338, 24021524, 17359244, 14398799, 27200171, 32650866, 5096228, 12553004, 21965526, 3887584, 3520850, 17124839, 11069880, 18208032, 4258490, 32676107, 32314011, 19265339, 30474419, 21996544, 30858377, 18318164, 32449326, 11880466, 18598116, 5935075, 8476879, 31563100, 26479322, 3927999, 19170333, 3949468, 30199028, 22846174, 4572580, 29739275, 25558188, 5836228, 31016776, 8900283, 18761494, 11314686, 16772335, 201140, 5216737, 1543147, 17226132, 24317202, 16285131, 20014150, 30144425, 13281643, 3403217, 12082012, 20241344, 6877913, 2707799, 9438168, 16830231, 13763751, 72856, 32675468, 758747, 12016851, 6566707, 29956391, 30843167, 23993621, 20597225, 1884521, 10113579, 14096926, 12940050, 3342735, 31807549, 12957832, 15550734, 16564736, 31737852, 18961034, 26636359, 22414330, 22427464, 14851008, 17278183, 4269886, 3152787, 26232650, 4531200, 8431049, 32243873, 32234865, 12605132, 27855164, 23807046, 9744283, 23308444, 27215612, 24282382, 22447861, 769664, 1506689, 703093, 5556410, 25092167, 17058211, 26530344, 11789438, 30336960, 27523121, 18354714, 8953887, 16736373, 28894601, 11462598, 21449061, 23695739, 8290056, 28740016, 11137187, 29007375, 3579845, 15037419, 16886756, 4983517, 25863626, 31323660, 11460261, 10363878, 695737, 4373534, 25815154, 26899368, 21644440, 12202555, 8372723, 14945450, 12287984, 19557150, 8640944, 30474496, 9069113, 12247488, 11337146, 11197327, 9693548, 18032573, 26321097, 19423462, 1061848, 828348, 8124640, 2215032, 8105902, 981923, 6658594, 8783599, 7844222, 1099975, 26858336, 5036127, 15723308, 31157230, 1347763, 7801994, 26229452, 24355012, 32039654, 17784690, 9048274, 358638, 1409789, 27375871, 213223, 5743577, 7095637, 1584590, 1436414, 3468020, 20834445, 24353412, 10591660, 11570346, 20595025, 25976944, 9511050, 25043126, 22417130, 14840487, 5416678, 3089791, 30897623, 13270675, 6673742, 2705653, 7275236, 17796294, 17634687, 22894510, 14110345, 29147295, 11104423, 10351273, 17654351, 16490485, 12683668, 22578338, 1836342, 29531273, 32538044, 25184868, 17326225, 31725374, 9104158, 5297651, 26415780, 26473269, 8675859, 15013312, 19381934, 11520609, 29695313, 26820719, 4650558, 21745229, 27311936, 18973677, 10460505, 14284568, 31652302, 22134805, 31300307, 32539057, 28056160, 31414058, 8032879, 12735712, 20563651, 29234954, 14993836, 29543591, 27317061, 2677663, 17834212, 23206529, 29233121, 5656984, 21488411, 1126812, 2915902, 18269339, 8797247, 18607610, 16717133, 9867900, 15084199, 32098941, 2966041, 15671611, 11223129, 29054574, 27661991, 8273194, 13543741, 30670065, 20226308, 25013383, 15958801, 4538190, 12218979, 24319794, 16257494, 8442478, 15596299, 14918096, 16254218, 12408626, 31855084, 2637135, 10487092, 29103127, 2783462, 25472739, 29354086, 31662980, 23601945, 9384250, 3632355, 6603408, 11271434, 13033711, 29911375, 13839992, 32810963, 5166375, 22523571, 3070205, 29785710, 7728199, 12474721, 972812, 11685442, 30111190, 24442752, 9440583, 15614525, 29839439, 14489359, 26317638, 30228730, 21724397, 17273801, 23301760, 15444803, 2443759, 17733298, 11755217, 32530181, 17872685, 2966955, 3419610, 8257630, 25199567, 13613449, 23342138, 9229594, 23259301, 7432847, 26161572, 18074230, 19131679, 28414543, 18466888, 32333848, 6798716, 13498075, 29150949, 27143465, 18264540, 2423978, 31397689, 18364495, 365041, 3930800, 7026086, 3465845, 29416913, 11305244, 14250385, 12748478, 19376796, 7672260, 1898525, 25675379, 11193755, 20735269, 4395528, 20220919, 23177487, 29077345, 11937140, 27290626, 32324017, 19462714, 1289090, 1513768, 4268737, 20337204, 14467947, 9453210, 31138233, 3448578, 10628556, 328922, 2294406, 11431933, 4357767, 17959029, 8805816, 23799305, 20385836, 26172516, 16627480, 14692223, 7661439, 10773723, 13479677, 17638417, 26525714, 29016818, 31521628, 29343366, 900428, 5216319, 2727758, 21324309, 21847654, 10506135, 28611187, 3954101, 5101508, 31234283, 31115698, 24332867, 21585599, 13862884, 18034376, 7903224, 24246123, 8985041, 4167816, 7540660, 23190851, 3625540, 13804522, 11183073, 9943289, 24802530, 27106698, 19806359, 20628795, 20094880, 21065897, 26820919, 10680416, 7322928, 5078349, 13617965, 675397, 16014446, 5865709, 28191214, 2066970, 24797759, 17051105, 12012103, 4863741, 14800583, 22805911, 16300927, 5235580, 6065130, 544524, 20930618, 8577265, 8349137, 20918192, 13542835, 27737792, 24138284, 46881, 25083054, 28673691, 23570619, 25335844, 24591277, 5176074, 28022968, 13346987, 18428347, 25748281, 19242348, 25941148, 24560665, 23381, 7001042, 609004, 15146844, 2438171, 10515431, 15239179, 26667764, 29502990, 12964178, 4117280, 31904534, 7446173, 24875931, 2309687, 26188176, 10612847, 5213920, 3388096, 25241712, 25822588, 17639335, 5084735, 2274151, 28168686, 20588324, 6268700, 12973008, 25406030, 11991755, 31074442, 31218442, 11400201, 4719327, 13158776, 26087966, 11117334, 25389937, 24632777, 23985558, 19511821, 24500596, 19697831, 922061, 767822, 13707295, 20070251, 16309901, 15424905, 5782034, 6090975, 751163, 28071666, 1178043, 12016831, 15028436, 2487649, 10785865, 10041013, 26120393, 29788843, 22976985, 1610778, 22650927, 7473605, 18733107, 16212555, 9843592, 23987039, 19447782, 23618949, 4301262, 7356255, 5377870, 29696905, 27445061, 8391596, 23135874, 17695298, 9950093, 28592615, 26056838, 11872072, 9597143, 21267711, 18779759, 32526675, 31850332, 6769680, 11993048, 9891593, 23985209, 12506829, 14786321, 150067, 17281636, 11083244, 13057763, 27806896, 1805200, 18867286, 17018413, 12451556, 30654961, 2615287, 15867754, 17057805, 14697896, 20746924, 17198372, 16032510, 11449935, 28037278, 19143301, 19138032, 8871490, 10424105, 27665562, 25595419, 16919381, 11344779, 14087850, 209730, 24655052, 10949386, 23262317, 20302223, 26242012, 12259620, 2164767, 15955420, 5665340, 19629335, 14826585, 28038680, 31381879, 5957349, 9745806, 10325867, 10895382, 1145185, 5294983, 21365973, 1267105, 24909287, 1085387, 12458765, 19897489, 24739303, 21204773, 15813231, 31233359, 6137861, 26518471, 8340448, 6633988, 12175324, 9793524, 19458517, 10937129, 24477208, 8654816, 29156068, 31414140, 31907883, 10383400, 17823093, 23722173, 1871457, 6778002, 18258221, 13579190, 23839332, 6324081, 3716494, 16459243, 2818327, 20590980, 23926397, 18152339, 9736314, 16235957, 24529536, 6626067, 26448556, 26372854, 7768140, 29373654, 31323855, 25777258, 17866510, 9395742, 10298753, 19979560, 2839737, 10366779, 22266038, 13920733, 17062049, 13182478, 3324971, 32210016, 16309424, 23729014, 22297343, 32424771, 7890839, 28105590, 18907522, 17034922, 25005802, 10692459, 18028963, 14370089, 17652307, 22540121, 31806783, 9993580, 4315211, 20460994, 29996154, 7953388, 24037023, 21070566, 4043516, 16110744, 23274789, 238500, 23180470, 2109947, 22646702, 4487392, 32026017, 22752336, 14979913, 19177882, 20846037, 31856300, 26407487, 22768260, 25519477, 26629585, 6864269, 13597265, 14352890, 25676252, 25605269, 9499723, 17359392, 2747613, 9871349, 1910468, 32735623, 2600842, 15563697, 22939330, 28801216, 13843257, 17084597, 32668436, 27504657, 29127484, 27463761, 30442544, 2306904, 5075388, 14335421, 3718437, 18665292, 8196674, 13537160, 25759355, 17054470, 11678956, 3721574, 21692521, 52114, 12032944, 24728991, 26702967, 24252489, 31974973, 18481776, 15149814, 2270893, 4935163, 6832048, 7497422, 1992246, 21028513, 32637653, 30874444, 7305003, 26598229, 25953793, 15260152, 23703353, 21630708, 24117476, 26772562, 12039400, 11597515, 14283311, 14639796, 8406733, 15342449, 29715044, 12681324, 2538275, 16311767, 24693788, 21626661, 32829476, 22894021, 25923290, 22917448, 29396624, 17128746, 8664034, 950166, 6402890, 13393576, 19125500, 22158719, 15255666, 15523832, 4968233, 25341542, 20228387, 13372815, 25088637, 13511847, 13929876, 30328844, 22743964, 16611540, 28546126, 23004443, 4633647, 32539797, 4411049, 17676676, 1624171, 12735438, 32556692, 10413535, 4936721, 10602036, 2081232, 6647797, 1341693, 5472976, 1532753, 3452818, 24856116, 23179135, 19292541, 6717434, 18166418, 30179062, 21800823, 26709862, 16000115, 14965380, 25053761, 18480121, 17391974, 29665145, 11661886, 28535576, 654194, 16194481, 28710654, 14396835, 2176575, 30494035, 854982, 2039679, 31136658, 17537514, 27388448, 13473834, 8470047, 4249635, 14060539, 16923329, 27209156, 22919366, 2743960, 5308065, 9045127, 2238660, 31303577, 11629056, 1077902, 21141661, 13815728, 24733642, 12531823, 17575880, 26033176, 7919350, 8144299, 11162332, 9375809, 20534646, 20784292, 21353317, 8857102, 9283145, 8802526, 6551241, 32631479, 32616915, 27640657, 3201384, 30892258, 3161909, 25693582, 13359380, 19558303, 20745991, 31969456, 1901879, 17818891, 16749396, 6362110, 25327639, 1610809, 10187889, 4392920, 10570177, 13318309, 15659969, 11265678, 10097786, 29421810, 10562121, 11994991, 14831836, 1999914, 11116464, 1051011, 13285559, 17682661, 23882060, 7608941, 8952785, 23336278, 30118186, 514554, 23001487, 22690451, 20066402, 14410328, 15746666, 23124434, 8113618, 22754883, 6496061, 10601116, 21412156, 25275605, 15746397, 18480138, 20773810, 31829392, 31597541, 14369014, 21581529, 3289592, 12695824, 24833656, 25588660, 31211468, 5424846, 29509333, 12119574, 29469642, 8245856, 4362236, 430289, 8448104, 17139869, 1488788, 5851789, 29106618, 27238014, 26873770, 11919681, 4469226, 10472506, 15728672, 4379597, 25358648, 32302739, 21859316, 14426249, 22979969, 23122341, 24803176, 6279803, 29260027, 29801807, 1494281, 17772356, 11180200, 29594622, 10023969, 11761081, 30213101, 6222760, 23808750, 32169112, 32452863, 890360, 10060085, 24191307, 23889862, 15977371, 14946652, 29853879, 19460158, 16511576, 13806982, 28244345, 21910466, 24642679, 28082772, 7551720, 3649565, 26799385, 30358033, 28614872, 175999, 338574, 21667473, 3364021, 11070559, 11840860, 8501738, 28860146, 7833471, 15620346, 12845426, 3817547, 2552540, 6136531, 15302056, 4173676, 13876137, 22857307, 9932540, 27220255, 13115279, 25521599, 8846274, 9533032, 15293914, 20986456, 25357651, 17027111, 23056105, 31881404, 31215470, 2862893, 6788825, 7517744, 19777882, 5771142, 12722939, 15720802, 1016033, 23717215, 26381003, 8419496, 15350860, 8439721, 8932613, 4338559, 1574115, 14202844, 12746155, 17982898, 11164500, 4728482, 21400486, 32930157, 24290356, 6084764, 2135174, 32295107, 22944860, 27435360, 16150389, 21454750, 10049626, 3780168, 24808815, 23121703, 4804901, 14107326, 12452352, 29477715, 9786660, 642130, 14910406, 8136751, 24078808, 6871582, 8006902, 16515377, 6358633, 8878499, 26013843, 23611998, 29864613, 14331531, 32941668, 14355381, 8666518, 29264124, 28058098, 30932994, 22810859, 8231126, 31623389, 12634742, 32686628, 20443821, 20387000, 3295972, 13203597, 28336741, 10294888, 23935666, 26316964, 4606851, 13566885, 24539260, 31432695, 870162, 27322507, 1807963, 18610232, 868745, 29420750, 5669585, 32412159, 27107584, 5332054, 14551019, 247508, 25892860, 19484808, 29837526, 22952450, 31699823, 18955730, 197869, 25459494, 19481548, 14931969, 8779317, 30146398, 29786314, 32351751, 30419172, 20322300, 25885737, 25398096, 784932, 10857940, 27363282, 26732149, 761849, 23429215, 2495598, 3090147, 6314184, 25651969, 18235290, 4344718, 25728219, 24848040, 22191495, 6924248, 24562769, 24950461, 22992438, 17187078, 20837454, 22763651, 27318635, 11776772, 3679797, 15919006, 27396361, 14143515, 5595753, 5866194, 13356799, 27242201, 8838903, 8255222, 23789696, 5699248, 18687500, 13942403, 14368834, 20206556, 32621575, 6130837, 21617439, 3896443, 21145545, 17187935, 14210360, 32608306, 106632, 2011742, 25519834, 23436575, 30553560, 18737248, 25283247, 11877667, 19125810, 9382072, 4568817, 32968511, 21504701, 28593253, 18735867, 18065053, 20011913, 22507755, 11060928, 18544078, 9116954, 5505868, 28954697, 253787, 25370003, 16244234, 3460123, 1662690, 19202351, 6496980, 22013244, 14232094, 16586523, 21618200, 2873705, 16865528, 25607367, 24836777, 22870208, 13392892, 11689854, 3915294, 5741217, 8378630, 2198638, 9595085, 18548915, 11311251, 16464495, 22815416, 29351332, 17626201, 24145217, 25963252, 19552333, 12508255, 14204144, 1783665, 21405781, 4489605, 14349839, 2502221, 23391091, 13087046, 28925462, 28809621, 7587271, 21748342, 22805646, 19781968, 30343085, 31349410, 15380121, 2171366, 19688998, 7298872, 29000569, 7719201, 30758731, 21325752, 12260983, 29874730, 19287166, 9070161, 27679401, 8127327, 15218182, 23332170, 14986361, 2313407, 30847221, 8540141, 15767463, 9565919, 6848079, 21359191, 32769032, 26531172, 21422122, 7105429, 1788539, 5138550, 4535017, 9899698, 20053273, 25655450, 20003909, 4116200, 7585572, 7357368, 12458182, 3426019, 29921004, 12224572, 31371430, 2718624, 26385995, 30079014, 6261660, 18720000, 20849975, 2498834, 32845913, 8874823, 22191692, 17540479, 135138, 30124404, 14711016, 12569988, 11279774, 29580819, 32851564, 29542818, 8486585, 11382458, 16868478, 18317466, 24091104, 21450702, 23140228, 21694572, 7686569, 28243581, 20627098, 793698, 18288051, 12365200, 1101146, 29534358, 29945646, 10531146, 9700603, 17202109, 21332943, 26761102, 23783441, 17428291, 3026279, 25097711, 32234609, 18978264, 28638443, 5809178, 32689255, 32517307, 25363343, 20049237, 30357203, 22129395, 19264719, 8296238, 6400664, 4822161, 12124375, 4495825, 31232523, 3450657, 21305706, 16144406, 28387393, 20810728, 24579989, 16112305, 8379359, 27460198, 2251216, 13201286, 14702510, 31265303, 2385316, 18344332, 14274720, 9321755, 614924, 14316901, 5352832, 7562611, 26596597, 15313193, 32824598, 9493932, 26763861, 20201423, 14310706, 13232393, 1066886, 15119362, 15630632, 9249542, 3139855, 8552131, 24046990, 26405477, 21958838, 3246112, 12955494, 12941982, 4435796, 15827699, 4060821, 19294102, 13088449, 20111242, 1821701, 15643733, 22510418, 14099024, 20104538, 26216978, 29923894, 15562501, 25175560, 4502965, 7794483, 30944149, 23368899, 21315891, 25181823, 15595003, 13024871, 25324689, 21136563, 2544423, 7601276, 5901516, 3751118, 16103654, 31879118, 15717844, 32209626, 31992186, 30783026, 15790990, 16844090, 901248, 21243198, 25995598, 10937528, 22199964, 26343137, 28269575, 25156525, 32624055, 9861616, 17985672, 271171, 21894280, 4567705, 20241923, 13684440, 30993125, 16822316, 14838449, 9308655, 14613138, 22755664, 9467335, 12820577, 10328478, 21055170, 27636251, 2388645, 16145441, 1850694, 11865378, 19010955, 19547594, 24125165, 9336417, 29234087, 27406361, 15892419, 27425097, 27455222, 25322687, 10317754, 32789504, 25785476, 6753559, 29557592, 18818205, 23905987, 18620905, 28317230, 32541533, 5428114, 17382962, 30524745, 2316396, 6920165, 16062218, 24610881, 29120759, 21775512, 7670597, 12968915, 6623999, 27999568, 7930450, 20969950, 17031084, 24948760, 24108856, 8113047, 20850881, 8467897, 10424193, 12447454, 2518788, 1080339, 4120168, 32939723, 22856238, 19043393, 18341635, 20694905, 30816109, 22288835, 2566072, 22759919, 17315969, 32914751, 5715050, 2301369, 23734794, 2545788, 2429404, 17910933, 24061162, 17642433, 31255997, 14292438, 24499391, 32293134, 25896667, 31208829, 14719201, 22265198, 13977758, 12560871, 32713144, 32139217, 30666026, 11182731, 27518024, 26297542, 1210132, 6051915, 21559736, 13582227, 25681635, 5692381, 23759387, 8492728, 21516915, 7820633, 14112105, 32878424, 8664701, 8329445, 12706552, 30679629, 18863649, 19273581, 29713312, 13472940, 10458789, 23913826, 8539165, 11013795, 11046190, 31119681, 14737401, 24216959, 19758245, 22931799, 18352134, 10202744, 7108927, 20607586, 982467, 22649331, 545749, 23390367, 17633257, 5420536, 9049112, 6307083, 440038, 6950277, 18440822, 32338980, 21089352, 20622683, 18412627, 5444152, 29934120, 25757425, 17334342, 28083601, 3323688, 9658107, 28676401, 16651377, 13168998, 5644414, 4931908, 2310982, 16743460, 3289191, 20697067, 5815528, 1211089, 22088551, 29583316, 32326063, 13139252, 8053013, 860150, 11108876, 18945004, 27651703, 2748244, 12141775, 13332842, 10775528, 9723992, 25970439, 16122607, 6605786, 19925045, 10799910, 25537668, 3921049, 8050660, 2346231, 23217422, 13102744, 16598411, 31898952, 5391053, 6734112, 15397952, 6980744, 8781961, 28507174, 7513745, 17066722, 6076597, 12103936, 7558955, 11042881, 27663094, 15917097, 4202296, 31862041, 25742012, 269433, 6385334, 8741176, 9311509, 12473857, 19442077, 28234171, 3231207, 14511943, 25937309, 5144807, 29685540, 3451381, 16640181, 18861063, 21612573, 1473610, 9242985, 19735424, 11137763, 258786, 15366110, 28149166, 23620325, 19947384, 19069871, 14647631, 10657775, 32685312, 19020809, 16510674, 30068285, 22158222, 25014973, 28673465, 23348161, 1773234, 21032786, 14946190, 5321079, 25483328, 12854721, 7720393, 16748118, 17613233, 28350500, 9820990, 12093322, 11304672, 24523337, 7502432, 27594242, 4229751, 5521034, 25701899, 22608577, 16724822, 16484880, 24289641, 27558968, 212502, 23331454, 6198100, 18312968, 27849123, 8627042, 32173068, 21285656, 29061750, 22958796, 2733676, 11343570, 31336086, 16360679, 25511715, 13447696, 24964538, 2892312, 15674573, 6628499, 2481197, 22915743, 16651176, 31602731, 4686679, 11448818, 18796045, 26928111, 17575461, 12991726, 20107210, 10207543, 19437969, 22207103, 17236111, 18815184, 11319127, 6834857, 23933950, 23693623, 2869496, 32000178, 18147034, 6148972, 7151388, 27168221, 19433819, 20791704, 2098055, 5190134, 10112462, 27313778, 10768756, 10808535, 9287394, 25431979, 9643110, 18265490, 21062942, 8944016, 26374086, 16049613, 13895739, 7364726, 27453765, 19176202, 29176973, 11759525, 27992793, 30143195, 11386958, 18956286, 27189451, 7748274, 11711928, 1443531, 27387697, 2428837, 18786702, 19092784, 16439168, 10753151, 2587166, 3754374, 20791077, 4049126, 19936925, 18787292, 6090731, 26311680, 30709799, 4726813, 9545776, 5063363, 27142342, 31203243, 17801687, 28118175, 19467478, 14537459, 7707653, 5214766, 16871342, 32082585, 25908772, 12958706, 26958654, 22927942, 3697156, 22423556, 22859404, 26606429, 14042113, 19875890, 12445767, 30481561, 17244320, 29624736, 28136983, 5410100, 31881122, 2366186, 702571, 16044514, 31187197, 8299344, 4059061, 21681481, 3353356, 26232420, 18342777, 8243735, 9917851, 23985510, 10664992, 3446426, 3887554, 10844124, 12972838, 8187204, 4132601, 20397390, 28822885, 18837816, 5223798, 11110672, 26514601, 16468240, 11459796, 4563841, 19960793, 29883120, 4674857, 22259185, 29038697, 17994405, 13523858, 14677683, 5094187, 17747813, 12509705, 29498427, 16614569, 7034374, 27229483, 17260967, 30389046, 29241713, 8570599, 16882568, 6299202, 12059969, 23066421, 4213315, 27521095, 23896681, 3775182, 12051890, 11073702, 6826674, 23063606, 13898355, 2111349, 31416423, 27785410, 7200907, 7149084, 168369, 13744607, 23219214, 27078688, 16870733, 23185149, 3581500, 122153, 587189, 15527679, 11793890, 4529054, 19280285, 32731321, 4015156, 18374793, 31577650, 27063320, 4694044, 12073853, 9643866, 12848955, 21162660, 22200911, 19021355, 3092563, 17259015, 7493239, 3306423, 22156719, 18436539, 2332711, 28588168, 4927884, 594079, 4953936, 6875826, 949652, 10472855, 6385584, 29582804, 8986732, 6125304, 4114066, 13516246, 1541471, 1915970, 3309895, 27073202, 11472404, 6070794, 4542091, 8239088, 16529990, 24208452, 23056720, 781769, 18890316, 15344568, 8111199, 19074660, 14760182, 23042539, 10769180, 4003471, 6525946, 31236968, 11702506, 32456851, 30993910, 14957409, 17918371, 2230348, 10675536, 20281391, 26117744, 12822808, 11315249, 17504059, 24129369, 11548722, 25445228, 23995402, 17798415, 13629049, 4011818, 772686, 25151069, 1403311, 22339869, 24508539, 9972282, 31184499, 29065603, 26591728, 27893037, 16241912, 3649241, 2984570, 14011142, 25558185, 19495145, 5249578, 10466945, 29241079, 16257298, 8499029, 11593983, 19935238, 4559718, 8151437, 707319, 3395739, 14445481, 4570206, 5827376, 13824801, 466435, 3830205, 13235407, 7375531, 25353122, 3949724, 12644268, 32404727, 6954668, 25744316, 30606808, 10623122, 22245844, 23990992, 30760519, 24574408, 564322, 19001811, 92976, 18076035, 28435921, 28287506, 25290385, 26073396, 10494507, 2418589, 9074792, 15164280, 12007690, 2160214, 18640208, 6201963, 12013844, 2172458, 22617021, 2530592, 28910956, 14426608, 20175795, 32823048, 27505121, 4292926, 13611339, 11687486, 23232293, 6947024, 30567068, 2384743, 26607935, 22544222, 22980583, 10991586, 11572985, 25009164, 9722460, 8969868, 4616876, 10265557, 30146992, 8804038, 15089678, 11188906, 9021631, 7316149, 17975113, 29450723, 22771651, 12406618, 20788600, 29419276, 21214093, 25910996, 18803992, 18090057, 15525692, 6373014, 25984675, 17244917, 7818240, 32867168, 25181716, 1469213, 31180015, 8980525, 12561843, 10426460, 13041767, 21970224, 4141804, 17088354, 23459324, 12416, 31348431, 32704337, 11056406, 30961905, 12788342, 14277989, 12022208, 27839951, 22996346, 2370846, 3182778, 31074939, 32777837, 27842900, 31025100, 12030812, 15535144, 17020038, 1208918, 19120206, 10006453, 20246167, 16058667, 9088360, 953662, 23956398, 3675850, 21961435, 14710589, 8694811, 7413, 12882853, 2256731, 11818546, 29002896, 19539118, 16355266, 21003736, 21045756, 23973255, 17678800, 27549667, 20705839, 3880423, 23360782, 15279679, 27497977, 22261075, 30563302, 21489546, 25377130, 16456434, 211341, 31574995, 19883795, 30979511, 31673777, 25975906, 22225927, 24724576, 19094588, 11783949, 29371886, 27771431, 20033069, 23262274, 5604878, 15483365, 4423854, 383593, 14446029, 32809974, 28604622, 28019882, 22670913, 983775, 24086413, 22336611, 22767657, 13475900, 12505629, 11259247, 32717938, 28208302, 23772103, 6962892, 11385289, 31613702, 25631974, 2465188, 22303027, 6464783, 31711953, 21720345, 14182664, 6802544, 14671018, 16593916, 23714362, 3426762, 2944583, 27052370, 3181012, 12881060, 21244772, 19081680, 30806508, 9146602, 22399857, 25663321, 12685690, 17597988, 17379991, 9208044, 4637557, 6682988, 22684447, 31679602, 11115887, 30910212, 22826795, 23811885, 31624538, 21379179, 29275168, 26743643, 12049981, 10613798, 26596695, 19676115, 607387, 20048824, 8737613, 26870769, 29567874, 5878885, 13049205, 25156171, 1762367, 22466679, 677173, 32155035, 5702490, 505921, 9277626, 24859346, 2972680, 4131141, 326076, 21360950, 13387690, 16156561, 20069266, 8565210, 29191012, 30764159, 17481285, 4090763, 10559951, 29633287, 751022, 7558342, 18930417, 11526961, 10635482, 5184470, 12157838, 12516921, 24133361, 23389369, 28599029, 4558297, 22009455, 992453, 25088647, 29261336, 26112648, 7731722, 1173575, 22324860, 13008277, 7800177, 32319491, 19054379, 20768200, 14106769, 25935536, 17510733, 16157506, 28577455, 14244134, 11077612, 24610822, 26068613, 4507144, 28474026, 24176649, 17665775, 14717492, 9315157, 22458890, 31191610, 8572947, 21823012, 14465372, 29896773, 2340214, 1441500, 12846413, 10669681, 15774481, 17930998, 102362, 16979332, 5599235, 25671393, 25883377, 31868183, 8391093, 23954653, 26881467, 31534969, 21408409, 28622118, 30023615, 18529801, 2069360, 19967487, 8389154, 8791888, 26209782, 32546438, 6128136, 7174446, 137555, 14417581, 30500321, 16120697, 7108668, 10749257, 475119, 9757437, 29487130, 29378902, 32477863, 6499735, 7936674, 2553647, 2337198, 18661455, 9317055, 24789379, 5769839, 6762910, 3977398, 3632460, 28998714, 24583901, 14623066, 9438499, 17613155, 12870247, 19164414, 15950287, 14285992, 12037784, 20915036, 31372726, 19602103, 11712121, 22208212, 90674, 19756576, 25417081, 30672995, 10108398, 30046734, 22391992, 30183355, 1274691, 4451867, 10898837, 24585008, 16169992, 14468059, 20074169, 2440527, 25277646, 15285913, 30776953, 30036329, 25499447, 11489755, 31264241, 4346137, 6165272, 275388, 24444221, 13889535, 32846744, 2372823, 16861539, 5117933, 30464135, 12459667, 20398547, 21327067, 9425167, 32415606, 32523373, 14939099, 18166911, 1100561, 17700850, 23781887, 5125562, 26495195, 19733985, 18668525, 10839102, 14640162, 16185052, 17273724, 17553507, 27714240, 15034121, 14191780, 8808963, 17075778, 26459406, 3147182, 21876912, 23437973, 17980235, 28733368, 17830688, 21581667, 14913644, 6039089, 20895675, 3309618, 17674837, 32928079, 23450716, 3366881, 22359645, 24337910, 21173803, 24021096, 4875234, 6248631, 3842655, 17730740, 18263283, 12639985, 28011066, 1977946, 29939074, 17163617, 8230387, 8561318, 11213369, 3542663, 4518200, 14473142, 13711177, 9237306, 11484838, 484861, 6350260, 27224243, 26110079, 24014375, 1106003, 21082011, 24031422, 11511874, 770939, 29256816, 13134593, 26086409, 27732467, 2227638, 6122554, 32798830, 10405332, 7997871, 27901349, 30259764, 1894824, 12974475, 4977830, 29233658, 12458470, 31312479, 20397592, 5167440, 28266981, 200864, 7049737, 23021609, 22872886, 31474750, 18937355, 18285817, 6700573, 19346523, 21812362, 23256852, 29109258, 12120617, 15030648, 17415967, 6412213, 4182596, 23015314, 12081930, 1924197, 1142121, 32504140, 31736808, 5599977, 5758127, 15249844, 30863888, 28267978, 9247770, 21191233, 19151452, 21410542, 27495235, 26725781, 19144137, 14451275, 45079, 17962489, 14451292, 6550984, 30787584, 26307490, 30808153, 18626939, 13518172, 9972809, 20713876, 31443251, 985917, 16295159, 13686325, 8891447, 20054478, 3365794, 5894253, 24040471, 28971060, 1990504, 31697734, 8523395, 25964705, 2697712, 17198300, 17273903, 5516658, 29067929, 14027703, 28969223, 16185126, 17266947, 16336513, 2329743, 11509949, 7146593, 11659272, 16676353, 13601634, 18747057, 28218749, 22222817, 6845034, 20615654, 9255883, 12879000, 4853455, 15268244, 29011605, 18968707, 14201228, 31626289, 6239474, 17389370, 11417237, 3179481, 14875615, 9216299, 3715099, 28987588, 19340678, 4480441, 26637319, 30071158, 10499742, 19024796, 29578318, 6338613, 26992431, 26909502, 13909553, 6895133, 23268487, 5652197, 26801321, 18811063, 29483846, 13307418, 6201665, 8779906, 23497055, 16336116, 27186828, 4625202, 32439544, 3109561, 6318503, 14372307, 18486121, 5169976, 29856264, 269202, 7682821, 21939838, 12093269, 6282893, 3672251, 8906294, 32266698, 1824208, 25625424, 7485147, 29488819, 11936451, 18570681, 12897219, 18367997, 706613, 31532090, 17233484, 24840367, 6996800, 3374654, 17142572, 16369727, 32612673, 23982967, 6387862, 10748417, 7395652, 22717480, 2244033, 26050111, 6140001, 7145994, 6811844, 18684782, 2329401, 11481590, 20533596, 16154556, 20922793, 23480818, 8552766, 28893840, 2277120, 3773363, 25258062, 4668058, 16475522, 28283517, 15602353, 17061308, 23077229, 23577782, 29601598, 11168238, 4456208, 18836676, 6223243, 17617736, 55262, 21578471, 22377720, 30268941, 19337561, 28399256, 11223056, 26858819, 11304172, 8365162, 19081875, 10010245, 23356167, 12507277, 2026699, 13086364, 3837415, 12994476, 12924608, 23269504, 10087772, 30855589, 10157728, 31805217, 25742082, 20272378, 4677283, 18728164, 28350145, 6531587, 13358781, 17526057, 16700925, 20731059, 16748888, 12685084, 29680026, 2908710, 2160018, 8608996, 29355970, 5478804, 12162672, 4470503, 17596926, 10298486, 17054981, 8465969, 9251603, 2639631, 9433744, 9970323, 25422318, 20005989, 21832212, 29632405, 15154988, 10247011, 9551468, 8396140, 28763488, 6510124, 14967272, 11952713, 14584085, 14168711, 16914034, 22820246, 25170543, 2516832, 9876461, 8903079, 13648457, 21080120, 29344039, 2328907, 15035988, 28927627, 4662394, 12430261, 25893494, 21641232, 20041054, 25868141, 27242614, 12510090, 7773215, 26392839, 1969582, 5155870, 20087108, 5914921, 21213015, 32102206, 4647811, 11143524, 27158445, 31486074, 7235207, 1228388, 27386106, 11686376, 8070812, 17554823, 21599211, 17398118, 50945, 16215472, 16206697, 30562375, 23514211, 30431177, 9756912, 14550777, 28195899, 1230556, 16815319, 7625421, 29443357, 14763692, 1783063, 6182732, 19602827, 25381401, 32816540, 6738323, 6220469, 19121943, 11119159, 18241665, 14159111, 7342815, 3643991, 8299396, 26422395, 24897157, 11391970, 16873655, 25418284, 7271462, 11158759, 1661101, 262552, 17272419, 10222593, 32930892, 31419091, 28113227, 13043925, 19841130, 23477047, 17098362, 16935094, 30793721, 22498639, 12854719, 25180886, 26006617, 1390411, 2208823, 4818579, 14694067, 4732147, 16248907, 10095974, 30771962, 32360172, 5005132, 20837955, 9241401, 14026822, 21667870, 5907615, 29366455, 17916305, 10587112, 12539195, 17744039, 15095145, 15427120, 31735987, 22136594, 5016264, 3941709, 31212685, 18282158, 25224884, 19360047, 5933400, 9403288, 32885614, 4168637, 20621956, 13927380, 13268528, 31374461, 22688623, 21855788, 12494911, 22666027, 31453585, 29292575, 25580426, 810820, 30635489, 2036639, 9996584, 1264332, 5350634, 13644857, 655099, 28636252, 15735636, 31014107, 6363161, 29738967, 26128707, 2156898, 2729000, 5472165, 20607134, 31542584, 27238785, 13839120, 17535827, 4578619, 5052798, 30182713, 30908527, 4048042, 17362858, 9423370, 17893906, 31320369, 16118195, 26711784, 364688, 15065412, 23914213, 30568067, 2319194, 24054941, 13772693, 28703883, 29237804, 28511658, 26047865, 22276365, 23454619, 28851118, 25882360, 1020209, 23315511, 26182675, 805011, 24139266, 10670812, 19739600, 31368649, 6807848, 16234562, 6507100, 29181242, 23630904, 20668684, 8573067, 10553770, 2021273, 10216105, 32072089, 4676828, 6483007, 32648803, 9438270, 6557354, 23133014, 18506721, 3187373, 18261336, 445359, 2242738, 9189269, 22863780, 6373790, 14256139, 4046065, 12868303, 8308462, 1169031, 13815140, 22075652, 13398074, 32140215, 12013217, 15896199, 22773350, 12099904, 31441268, 6600525, 30997421, 25036047, 28858432, 13446413, 32406937, 9650228, 22389314, 4805449, 10319099, 24268956, 25389002, 14770162, 19612738, 21874067, 25201939, 22243247, 3559560, 6918194, 19059306, 3339484, 24158522, 5823472, 25825723, 19168683, 29621776, 16560843, 27969333, 20210776, 29890891, 21049463, 24112401, 2113691, 17357233, 15013200, 6604282, 17939720, 28397275, 7688173, 27599837, 10600747, 22436561, 17121180, 1439745, 20748830, 25024211, 3593324, 6689684, 1886420, 10984288, 7649350, 8099303, 22939822, 10733101, 22477980, 27203560, 8384147, 31471599, 16592679, 21190856, 15554258, 1517940, 30624938, 9754999, 17277766, 53691, 451765, 31606168, 19484255, 2563825, 22144900, 6546260, 22603948, 1970942, 28132692, 17787094, 2151779, 26572044, 14061603, 15475013, 15151816, 15829415, 5161378, 5737865, 16087307, 8123216, 5647025, 7608907, 25285409, 2004340, 14095708, 18856244, 22002896, 2954190, 24473611, 3664355, 6902024, 11810768, 3220572, 2289106, 9008620, 1016280, 32087296, 5606834, 17149876, 16633216, 30729583, 26594188, 2273217, 2643188, 18520295, 30454114, 7426102, 30669996, 28384664, 13855659, 14293583, 6736517, 24889955, 2348898, 28330212, 16064854, 15687613, 10262693, 21448848, 14762065, 21722524, 32745723, 19857696, 16044314, 13832079, 3563426, 12202262, 6658850, 20995557, 12275890, 14728415, 22816548, 16197911, 28453702, 6903719, 5811901, 2917439, 31332946, 24942245, 12668245, 19472871, 10985425, 28148973, 13673808, 19596069, 19230790, 1314714, 31713818, 8933185, 45556, 18841877, 11952708, 13177998, 9107762, 11872992, 17432965, 17969400, 1764403, 14478392, 32948898, 1687514, 8940676, 17804356, 31729904, 12102945, 30572737, 18022455, 24822234, 6713823, 23227821, 18552485, 3719526, 31573677, 31571135, 16265157, 31789567, 10243957, 6369655, 16514232, 14232525, 26078759, 30553391, 31097090, 27227167, 7680892, 30985573, 25394337, 7941387, 1946555, 24057101, 19024405, 25955176, 31990758, 4566943, 8877393, 11798943, 959213, 20214604, 16581994, 8992351, 24877043, 8237821, 17399442, 27577039, 1896060, 13545493, 1726442, 11679037, 11821736, 9976600, 19725147, 23026089, 4201902, 15505718, 16669484, 20368350, 30537708, 25916753, 10658570, 7632441, 4679644, 31867633, 32216403, 24834611, 31926258, 9500345, 5385851, 16627732, 21500490, 18266270, 26666239, 3437923, 13535418, 16075142, 32711681, 6701271, 6289341, 6046226, 18353716, 28563980, 20489398, 15998010, 7164173, 24188258, 6522423, 14462377, 17591999, 4887842, 4319530, 31390453, 31460311, 23414368, 4864436, 22357328, 11274247, 28560469, 13420123, 12811558, 15409490, 27914525, 13671542, 4595065, 5092012, 23410887, 23363649, 22772565, 24869836, 7004942, 25592853, 26614851, 19687171, 28607216, 21669607, 15235246, 10954111, 2477186, 2964146, 13829066, 20490372, 24828343, 15069912, 28058102, 15943011, 14393077, 25851261, 30764069, 7440530, 13923021, 1600031, 30213322, 19258161, 21108883, 23430148, 26912921, 20367160, 3806935, 19447200, 8106657, 9377667, 24003925, 25971972, 24034881, 15400272, 8804370, 26107155, 14612444, 4216702, 29499886, 9490416, 629102, 6284010, 11688007, 2688899, 25358953, 20575374, 21366296, 24270749, 14375190, 787791, 16809150, 1517679, 27131041, 10652248, 26747323, 10284359, 17397698, 24063263, 21191738, 22870201, 1666550, 19081714, 5683489, 17647038, 24984823, 6986553, 26226115, 29666209, 31814633, 23304940, 26393874, 16748117, 5034251, 15107604, 32959172, 18931344, 11155257, 20797078, 5618797, 15083646, 3838197, 29805735, 28180035, 25358853, 1887358, 19141769, 22094463, 9600018, 19819526, 13134256, 24184421, 28412925, 10732990, 16880328, 21708267, 3419088, 23907154, 21432962, 8025510, 17794249, 11332381, 24300402, 21436227, 18838935, 17215699, 18994153, 16631365, 29947285, 346695, 16825232, 32635642, 10972092, 7764932, 12532594, 1955195, 5742524, 12339989, 17612660, 27421684, 7626082, 7400114, 16224341, 18790659, 8406771, 23230972, 6778916, 11157825, 22241534, 701690, 13933860, 16032058, 23041513, 17116033, 1250336, 27566236, 2632414, 4254244, 2583736, 15645677, 24033714, 3247645, 20939470, 31426533, 17286488, 3869193, 15030925, 26353441, 21248632, 5238988, 16990853, 24145112, 15822055, 17704456, 5243128, 31995137, 32414577, 5989831, 30998669, 7890547, 9415175, 3547212, 2291966, 1753970, 15072299, 5209853, 23651605, 1360015, 25627950, 30798408, 25636215, 10722338, 32582732, 18091474, 5369202, 27819597, 25781064, 648451, 5239138, 9726104, 32078660, 29877592, 29294331, 15274427, 18026805, 27332970, 5942668, 21631993, 30007336, 9609026, 22439289, 10715492, 2220121, 3182086, 22389988, 20589835, 3726894, 16888407, 14322035, 3913085, 4895884, 98005, 18628040, 25086237, 4826938, 2385976, 25024040, 716227, 18278695, 4274160, 26416475, 8230661, 24308758, 2612623, 8150607, 6486490, 23011520, 22576216, 30083956, 32406893, 22563721, 31709499, 26611616, 17844029, 32562955, 31371251, 10762432, 32860292, 17094771, 28823362, 3980025, 4978907, 18017930, 7879831, 17987571, 22327206, 13787315, 7230249, 2981100, 29902290, 9664442, 1243533, 20314688, 1905708, 946581, 2414861, 27907441, 9917094, 5551690, 6596283, 9323590, 30287581, 21978099, 20614445, 21714528, 3571997, 23778616, 19582290, 11580758, 20224471, 8565832, 1698842, 13329806, 4730880, 9310552, 25397687, 28646458, 24752795, 27405766, 3915280, 21657672, 21994454, 6217532, 893234, 7353500, 8967768, 14040402, 26793651, 3117944, 24889511, 17734922, 4354869, 6776785, 2876371, 6331242, 3754190, 25308428, 11353489, 7874188, 4442176, 15052861, 19508030, 5762772, 10455396, 7269294, 28043112, 28144118, 27294607, 8950105, 9206843, 12553414, 13938575, 12891019, 1872933, 30762936, 20393594, 5308189, 16799350, 2044984, 18773874, 8592471, 20893799, 18800741, 23122596, 7428660, 27277479, 26198840, 7056809, 17596663, 13672880, 9036697, 16785622, 28732083, 11132594, 18945229, 21880628, 3874322, 1615271, 2191968, 16387657, 29683063, 24063279, 31420964, 24467347, 11949824, 515672, 9191236, 15323258, 12807894, 27221713, 14537786, 31125651, 14461973, 25739711, 14180902, 21884179, 581704, 20372486, 23860914, 11844659, 32251802, 25746544, 16488474, 31982774, 27977416, 28504172, 5435827, 7209533, 27003545, 18460149, 21682074, 29350090, 12679015, 13702495, 18048547, 27303359, 2980247, 7247706, 26195184, 44457, 23316609, 5378000, 9086705, 2779652, 15564228, 9865580, 19327001, 16416788, 4851150, 30519409, 4766240, 7782324, 20905042, 440229, 15822004, 31460173, 8119600, 19361783, 4630536, 31853789, 11198201, 2812522, 5050916, 10502397, 25624051, 1297331, 30556435, 13039835, 18727881, 22949730, 26592527, 19378304, 14497998, 687060, 19705854, 18937339, 27379292, 13512242, 21963857, 10119731, 25400915, 3166585, 6990072, 24681926, 14561830, 8443348, 23286859, 21478272, 31750569, 23382230, 28923337, 17174800, 25943474, 9039874, 9382366, 26756662, 25540557, 13660084, 27950321, 30640571, 30715729, 14347315, 14342625, 32307795, 16119806, 1599891, 28132900, 27670271, 30712442, 11258219, 11789213, 22473024, 27033223, 10642498, 10369892, 14937042, 14793727, 2798669, 5859855, 85524, 31985736, 20748203, 22908090, 30937585, 31905253, 13629138, 20529143, 21856145, 8271720, 8456669, 9414206, 5610004, 12621932, 19393901, 1249106, 26159643, 31210895, 30132575, 26943583, 29542870, 27674930, 18426329, 20874122, 17642612, 27850374, 22590582, 27824388, 18971621, 5501770, 18057246, 812345, 29525647, 3910629, 2075744, 29990016, 3974470, 14260605, 10316447, 11102798, 10659736, 1853275, 23148620, 23791118, 13577685, 1746185, 17220497, 12241944, 32808338, 21593904, 23978292, 4513214, 6540956, 4457220, 24133789, 1395769, 27114176, 30271519, 29589669, 3737230, 24575395, 32426206, 12381618, 18884090, 5008656, 29861088, 13743017, 6953175, 13571033, 32762146, 6275220, 19856080, 13963329, 32107237, 6957692, 667876, 24258102, 23619497, 18162703, 30578379, 31450831, 14508422, 22207164, 6397626, 32918183, 27332894, 17242662, 27756035, 27971213, 8962147, 1058409, 25336923, 7341576, 28938864, 28058400, 11571353, 16807430, 26264085, 31161670, 25333446, 24818865, 14614698, 21535528, 18127082, 5648187, 15274098, 11451267, 21812092, 1757198, 2865043, 20435989, 15711158, 31973822, 24892758, 20987030, 32719959, 27821019, 25808248, 20707658, 13274792, 20950422, 6760595, 9006801, 5890119, 11340522, 23498292, 8457213, 21218711, 9210994, 29136930, 26156958, 20507819, 999288, 29157302, 16966371, 24196019, 19126442, 27149314, 5939222, 31563002, 2618847, 5115128, 22072889, 20025593, 26975107, 32047331, 9517583, 7790598, 15343442, 32219185, 15931191, 15209712, 26217492, 3864444, 28962325, 4727600, 15741583, 29819315, 32789080, 16257812, 8885734, 13605173, 4757828, 11781365, 30701472, 30478842, 18695284, 22284467, 4310777, 15342558, 197492, 10296501, 2730541, 24147118, 24498283, 10001728, 31323473, 17713993, 11477496, 22564757, 7681126, 26021078, 28149190, 7814026, 27817214, 14642853, 32628638, 5843151, 16567171, 12743986, 6221729, 18334485, 1629967, 10211204, 10188692, 1787133, 15441187, 15252037, 11357224, 3249341, 13602345, 20362609, 10868283, 14532923, 12736142, 11744524, 24500558, 8668473, 8398059, 26550135, 18312621, 32326854, 13188061, 5712719, 9766577, 31961545, 25769583, 20328071, 3336144, 20643119, 929469, 15542807, 29674380, 10053799, 27916589, 2268107, 13372189, 6518751, 20983266, 2125996, 31572431, 3594568, 9405749, 30878728, 1821134, 22430662, 1613035, 12451705, 26956599, 1543544, 19453639, 21405556, 11205080, 28062514, 7575590, 31216267, 28794594, 18294641, 2198792, 31001924, 17759369, 20560148, 30101796, 9279437, 13319360, 20016113, 7794330, 3518076, 12838687, 4004901, 8741257, 21828924, 10103891, 21696044, 14651247, 8689116, 1033466, 19431841, 32135447, 2993679, 6379812, 6866542, 2628720, 15334690, 14147699, 28180477, 12691068, 10796639, 896237, 12781577, 8422439, 23318774, 1528013, 12456053, 13240596, 6266601, 5542189, 17287086, 10600867, 2993267, 29969359, 12520906, 9112123, 13901451, 12835692, 7077745, 22014704, 13216420, 2758948, 22797802, 22031096, 23369723, 26609421, 28852672, 25180645, 18987171, 12518594, 31066158, 10947516, 11722810, 18449336, 3349076, 5494958, 25826099, 14648534, 29613509, 22598488, 7264739, 9610891, 23257316, 3550018, 10105266, 1319417, 31882251, 14789839, 31618886, 3805577, 23245552, 3538994, 8221102, 23171280, 11054454, 17644388, 28547352, 19118053, 32909603, 31734464, 2528780, 29144979, 16675175, 2351909, 16534587, 11724779, 6863062, 9752255, 2156884, 13981145, 22869394, 5173871, 29957579, 8771166, 29674959, 24316861, 20958612, 30851781, 19749526, 30908386, 15296705, 26723960, 21514403, 3378633, 21555452, 31449043, 13225785, 8713963, 6561583, 10752771, 6958520, 12761098, 24507881, 4007041, 19564984, 20221030, 2579225, 23993619, 18886483, 23819831, 6049900, 7378426, 1454155, 32785691, 30740861, 3129735, 24771528, 22285673, 18294070, 29694101, 19351928, 3728754, 26740525, 25425559, 17978493, 6559589, 24361442, 5090696, 11048798, 7198970, 22054614, 32174842, 30457932, 2008477, 10687749, 30958496, 24329322, 30537594, 20318524, 32147963, 20890954, 29281019, 19839976, 11804330, 16115024, 4618171, 31950640, 6932628, 20297105, 12258623, 10139683, 9851898, 11263298, 3840965, 13374651, 15762932, 13211836, 12265063, 30520343, 13758884, 8467922, 12025329, 23391321, 28466297, 4663144, 15714030, 11093676, 29764045, 23239338, 14362016, 21352462, 30290116, 14736862, 17834689, 10635643, 6839016, 14118496, 28697148, 10666348, 30140536, 16747210, 12484943, 17682318, 21608631, 17108038, 23098094, 5438709, 20035284, 24166735, 16669418, 11082940, 30271224, 4612877, 28857722, 20792544, 2220558, 8288203, 23935195, 173171, 30599810, 10010705, 2913198, 15322072, 2337376, 4448180, 26700204, 14978369, 30179105, 32321168, 17070194, 22019533, 7528245, 28017949, 3073921, 14419417, 21728222, 7065200, 24967895, 4387483, 18802499, 17596761, 16091854, 8240773, 13802896, 23802220, 15302329, 13059104, 31538318, 26439781, 27069866, 8665573, 22337174, 1729587, 4903709, 24760960, 7010998, 30645735, 15712087, 21390356, 28366106, 5259968, 26533426, 2579271, 25359985, 20747326, 700642, 22944996, 9760658, 20242521, 18058982, 22598692, 6808504, 5834040, 31996146, 19841229, 19227624, 17401295, 14003989, 22914108, 7554114, 12858424, 26688711, 20355832, 10753590, 10848239, 31352327, 5086154, 32383512, 23019981, 20185754, 14190920, 29020852, 12322277, 6341562, 15137758, 14108595, 6524671, 6779958, 13577613, 12793634, 20566033, 532141, 6146933, 6257878, 19785222, 3103473, 27941517, 19570060, 16222769, 6151708, 5675540, 7842902, 27266321, 4185081, 4064936, 20107777, 2790653, 29047355, 17905467, 23951115, 5975706, 3839693, 12062474, 24595324, 25657867, 7354184, 11260428, 28889617, 30128790, 13621422, 16079793, 7272088, 16089833, 3390275, 24966086, 30936928, 7164435, 32566070, 28321518, 2748038, 9502625, 1500600, 5219744, 2854556, 8405731, 12126538, 673959, 6887684, 7045279, 32203073, 9759279, 31118085, 4802880, 2876041, 17629526, 26741685, 29591206, 25521800, 27164448, 2228441, 27819576, 15455749, 15181737, 14464660, 11826545, 15820092, 30457008, 7629701, 5085752, 32415263, 25385356, 30615247, 15241946, 2065051, 27559350, 2741313, 18396187, 19204748, 30997486, 6289647, 1344282, 25616943, 11086646, 26463758, 21794648, 26736030, 17498607, 27264410, 25458467, 11357720, 32816962, 20032967, 22951262, 23813007, 32932974, 14327789, 9530706, 3086194, 31816547, 5139901, 31927237, 8839546, 5432332, 26167851, 12022965, 12905017, 26968338, 24519962, 25737307, 11910241, 20939685, 6341158, 30517026, 19235, 24038851, 25856106, 25162947, 6115391, 14311543, 29807735, 14960937, 28970019, 9721822, 19865244, 14138983, 6521521, 2781418, 27296856, 14574121, 6235347, 12290537, 1153893, 21738498, 951147, 19761902, 20719039, 5700731, 25343207, 32185765, 6514867, 16362507, 11143740, 12491853, 14722490, 30146981, 28206019, 21233526, 17031693, 28350033, 19725562, 9454032, 28264242, 32526697, 7499087, 30776531, 26591084, 10599906, 12807643, 9989189, 20796766, 14356802, 31564085, 6543534, 15743991, 1942505, 20039652, 26726491, 19647182, 13999843, 666659, 14232718, 12647827, 23638225, 11940877, 14898821, 5867086, 2378067, 17221516, 6699119, 24058662, 5129654, 14460719, 5264062, 12722599, 26214714, 16313014, 193438, 16344213, 20750512, 13001513, 20826123, 22153183, 14973463, 4957673, 32728711, 30882371, 19574459, 20055862, 6733951, 14613200, 13661354, 5033461, 23137202, 15174195, 18041168, 27687758, 28194576, 10508427, 21403695, 16498755, 31476692, 18667127, 25203181, 18214190, 1432034, 29439556, 13509657, 3293340, 1092990, 2197393, 9570579, 10497660, 28191280, 10243904, 11587483, 21971069, 13178702, 20914864, 31932031, 11389808, 6913136, 7328594, 12954266, 5549117, 22759523, 27336325, 30311600, 28095421, 12941660, 13420448, 22176242, 26771353, 31005535, 9631297, 21575931, 10063072, 19215154, 8851310, 28000391, 28449428, 20646606, 765366, 30949083, 14945269, 8578628, 26979094, 23209230, 27625338, 16610575, 23259087, 23338309, 32672926, 28496782, 20294076, 13682483, 10477104, 11033790, 2387999, 16670801, 29360008, 8919261, 8946191, 2935531, 11930772, 14680554, 20546909, 10798823, 12519088, 10569275, 17081804, 14119356, 27122085, 24971375, 1817379, 12736332, 1905088, 30648328, 1496003, 9480320, 7437357, 12356556, 18043104, 7947631, 30455527, 3726208, 7533243, 19091129, 2330495, 9914579, 17511421, 16672353, 5953, 20884952, 20210635, 22437668, 4466340, 17935508, 30825595, 17854702, 8584873, 25983285, 24021839, 9754048, 20441834, 9050965, 31572783, 25484561, 25130220, 30344447, 9293700, 11287073, 8481683, 7512934, 1831572, 8975235, 5901679, 3731557, 723416, 4149803, 29135011, 5533724, 26860149, 9369601, 24780466, 12222759, 20939415, 16933130, 6174615, 12164471, 10137040, 13912850, 23858143, 14304678, 13096189, 21207641, 19187008, 18994980, 17551341, 10911719, 12162590, 194109, 8137245, 20078694, 10804614, 1370549, 26627137, 21916566, 29484069, 27083148, 19198656, 26562957, 21298516, 13474860, 11622933, 22714217, 1142585, 19619378, 22152466, 1069649, 23943398, 6939354, 26435555, 2312162, 891301, 19318778, 24735117, 11009569, 253952, 14828463, 23828734, 26279866, 26328446, 19872773, 28288233, 29028498, 21779501, 9527807, 1723575, 9150825, 18254222, 15625476, 20668216, 6292788, 690276, 3543827, 485769, 32154177, 8035588, 3573129, 13875277, 13902316, 29945131, 11372904, 15224201, 24073100, 7884186, 3672481, 21380670, 17354777, 4881293, 7659161, 22179085, 5754066, 7235443, 1125501, 25433021, 32731308, 9875034, 24758426, 32883334, 27788471, 6708144, 8598159, 17258858, 15318432, 21391523, 12560052, 12654724, 10856410, 18161612, 24875457, 10184458, 26663057, 14578810, 25062070, 17887830, 10637342, 12186347, 29314051, 19712243, 17585519, 11676734, 26443674, 17045300, 14564329, 7917438, 2420906, 21773215, 6948847, 30730645, 11337193, 19285589, 23815532, 13235759, 8722990, 29415960, 20026873, 1013961, 8218476, 20425530, 20609662, 3159708, 21945480, 15825957, 16312886, 12578447, 25424785, 10304923, 12220719, 1037149, 16849173, 24951253, 15342420, 15385654, 29493659, 13338628, 13732919, 20933905, 21700765, 10357659, 16129293, 14136438, 16772760, 1701430, 2847598, 14008110, 88475, 32837980, 22087784, 9743751, 27882552, 3684976, 8438632, 5305832, 24472288, 31725495, 18557047, 30819666, 12161132, 24621703, 11197195, 32890087, 19687355, 7358652, 28073030, 16504845, 25478731, 12186695, 1609264, 23086788, 23822347, 26783488, 14565152, 10737207, 4991788, 30809716, 22745343, 3720744, 31378872, 21219623, 1139861, 3085452, 24520602, 29271094, 29985085, 24153144, 8432284, 16881218, 18562874, 18324449, 24463765, 2187997, 25071031, 18852602, 15830279, 18333047, 24547326, 24917990, 2151928, 20528888, 23030045, 32635532, 19110240, 24052139, 30480235, 30128477, 18160938, 2583281, 1232726, 9066257, 11952077, 25282644, 13321877, 29948648, 6571391, 1203635, 6326668, 24613952, 7558106, 24479597, 28611923, 1947220, 23758946, 9493765, 27318747, 11945833, 22628454, 2256961, 31989801, 26220468, 22432834, 214602, 679366, 29794734, 11664422, 28597554, 32439562, 18874130, 8432304, 1344420, 20104520, 26132363, 27381483, 22306618, 28136467, 4605537, 4924901, 17225344, 28528175, 15499000, 8183762, 20796968, 17749241, 27788146, 28242108, 8711115, 6738205, 31961996, 6088572, 10361375, 21479192, 30631974, 19832396, 27474676, 16589542, 23355535, 14382026, 1355721, 14550557, 6314190, 11113726, 15079098, 9919817, 31101597, 28264122, 13946031, 915518, 25257101, 19077524, 22977591, 11864608, 8830519, 15745892, 12383876, 26066985, 19596269, 32050121, 6682449, 18089347, 13743615, 18322798, 17873622, 25907242, 8175610, 22069706, 20415371, 16392122, 26820710, 19283139, 10006972, 2107505, 7959168, 23676404, 17224511, 16693313, 19527443, 21083979, 7558096, 29554907, 20087419, 12508850, 30120208, 9507955, 2350935, 6397703, 16157114, 31928853, 31833251, 13969716, 29940179, 11556031, 1130396, 11100317, 9791744, 22609113, 12372952, 24474173, 26243248, 7216, 17740144, 21326933, 16701508, 26292960, 12297916, 1203013, 22510583, 8597621, 14003245, 22645778, 1336812, 16667207, 12531927, 13655401, 291835, 28763550, 13259107, 22088141, 24500892, 2179797, 3996600, 25587293, 12281429, 8380761, 23746184, 27688711, 19404144, 13655921, 21655161, 20960605, 29321424, 7369571, 7198060, 4911188, 4199102, 26585570, 13769642, 9567469, 13224659, 22981795, 5674385, 25222687, 9971054, 3525973, 6548161, 31261147, 32439589, 23393235, 5721410, 2344678, 8508131, 10614064, 13432860, 7258235, 5530653, 30786379, 1065280, 2355722, 27191890, 32151546, 11612284, 382272, 1348205, 31720950, 22849506, 5466368, 4739039, 4887548, 31979726, 10214749, 6321260, 13770796, 18894535, 14294233, 7694526, 29934042, 14883146, 6256507, 4373831, 10216977, 22916927, 28105270, 26086506, 3249135, 23288941, 11661471, 10381250, 10206266, 30630078, 569758, 22813320, 25184843, 11656681, 28035249, 19881559, 21333232, 1985362, 643156, 1723522, 4210404, 11799450, 25173559, 32596636, 24985467, 16848281, 20739548, 12501041, 13194693, 14438969, 20220237, 28765729, 4750682, 2356196, 26410051, 30062029, 12610981, 30696101, 15293490, 19076858, 9319854, 194036, 31774508, 13992267, 18963277, 28541582, 6200341, 10139474, 2536698, 9617845, 23893527, 6302250, 26717034, 21418854, 32276036, 29630478, 10811461, 26015261, 1089654, 17971142, 20307842, 13401105, 22142853, 7467414, 1164797, 8519860, 28195786, 1915470, 12501418, 17544813, 6497380, 6114013, 23684263, 29398189, 4237398, 5847198, 25672411, 26140857, 2970371, 10960314, 5519267, 19003196, 16749688, 4079144, 22286796, 15541194, 497403, 6214968, 7934463, 5551902, 2828906, 17996796, 20040854, 23144957, 29696688, 31726575, 6018618, 7631969, 16410650, 14027732, 12653515, 3375892, 25645374, 19714185, 14634779, 10218148, 31055307, 11018452, 10689157, 3690242, 13643163, 12878998, 32923956, 4562645, 8571973, 15715974, 20205960, 7140238, 29870525, 21350548, 7832687, 29085168, 32845876, 1019495, 15845680, 14881373, 30259709, 19627981, 4933996, 2205478, 26918778, 16394924, 22202943, 5177186, 12777422, 23107310, 32866908, 2602936, 14127205, 1322236, 12568859, 6961876, 16137630, 32841465, 9899477, 24381061, 2928981, 8222172, 28243019, 15550130, 19474458, 18740626, 31841435, 30622103, 6738861, 27028654, 15942450, 14524929, 12409567, 18838562, 5784987, 4463964, 4698568, 19598386, 23196652, 180258, 9609299, 3419096, 12218713, 7913946, 16675198, 16155878, 21289230, 23847210, 7698923, 23080939, 21269919, 16101666, 24170502, 32213522, 21080360, 27009336, 21270551, 9530034, 16663455, 25085483, 282024, 17222692, 19058226, 28984511, 2063794, 31434893, 26036287, 15546722, 17896472, 8773522, 2826028, 24287558, 21509788, 14359671, 9886179, 4242840, 32131553, 21780174, 28775843, 6215579, 21946336, 2130824, 29603091, 15073094, 3925774, 7638473, 9953064, 32493707, 28228446, 28481295, 21679830, 9137556, 19428783, 25808759, 11181195, 28535164, 6396580, 29704536, 1794191, 10701032, 14722816, 23479499, 17107612, 8100119, 3051908, 25903305, 28885753, 12665749, 16495320, 6443800, 12918674, 23336782, 8862315, 26155371, 9718730, 17399763, 32937541, 6098104, 6074319, 20711521, 24443331, 23401105, 1478009, 25904867, 11190642, 9800985, 24581571, 29223477, 2067098, 2988982, 8224024, 19328490, 30116536, 10431618, 5969516, 3093386, 20994264, 25641639, 6547698, 13920444, 16287769, 30861565, 4511695, 11719175, 7014609, 11292194, 19591824, 32323678, 32870453, 30314985, 12125201, 13694851, 25303545, 27166635, 17462654, 14113367, 615510, 14120042, 23631913, 19168186, 5628126, 31411670, 30655109, 10143614, 4257829, 15074425, 12841089, 25520659, 8926005, 22092730, 9022902, 1008619, 13357742, 10471778, 4266072, 9418796, 28378379, 23667873, 15351582, 23066025, 17196300, 16374832, 19396938, 1309778, 4862923, 23338421, 28673271, 11121319, 18814321, 29998723, 9807355, 29227903, 15574937, 19798995, 21699752, 13092738, 2159470, 11380908, 24600569, 8896752, 11503060, 11980536, 27352828, 17647239, 29584567, 11014216, 31836295, 19242170, 23753057, 15553794, 5612176, 2715926, 26745482, 27145078, 27416432, 10569395, 26141549, 5118243, 26762854, 17895252, 14162558, 9668845, 32151035, 10951415, 25945016, 13768327, 14335895, 27869446, 10197966, 17387367, 18231669, 2758354, 15094567, 7896693, 26681566, 15231848, 24095756, 10622097, 25900318, 20235212, 24974207, 25947761, 3330296, 21429637, 27548001, 23992555, 4606878, 32753442, 18265322, 22821193, 2722211, 32307196, 3963054, 32375091, 22369412, 6785832, 17112812, 30904991, 21045788, 24610948, 23736925, 29017847, 25317872, 28425307, 5771737, 31520881, 29615582, 27539998, 21435805, 27522945, 4113786, 26425253, 8829272, 24924065, 3365334, 1614623, 28056725, 8426628, 11765558, 9160058, 8273491, 17102856, 12348290, 23397690, 10527570, 11456160, 22228450, 5485159, 25051089, 3062354, 28575823, 2384079, 7226469, 8618986, 11712824, 22486112, 5038453, 12339813, 22072804, 18199129, 27427636, 28198835, 27076990, 11472543, 11164624, 15586436, 30438445, 6027405, 7106146, 26904560, 27690678, 4249749, 16976553, 15674255, 24747281, 18229106, 12735667, 28554494, 10656822, 6297976, 30429323, 20961212, 18395796, 13556360, 226731, 27500730, 25079095, 1573737, 8416911, 30335545, 20183362, 9223701, 27618650, 14200312, 17565818, 30081793, 621627, 7455971, 8669799, 512267, 29654604, 17426110, 23186242, 25151492, 24689269, 19759496, 31258130, 31378938, 22263063, 1647390, 22695031, 25989198, 9861044, 16294125, 12568216, 6377428, 29817168, 7434671, 26974816, 13392964, 514042, 25392551, 13409246, 13878296, 22500981, 22066715, 10760112, 25348190, 22308706, 17130232, 19640239, 9074518, 8824349, 4756348, 22321771, 991177, 7280373, 25101297, 27274545, 19547093, 22527308, 17587319, 31610051, 6502633, 18169215, 26764990, 28339108, 1466660, 22533363, 4602718, 23855790, 29799518, 25591857, 26013193, 14123155, 7160892, 27681491, 20078678, 18699354, 17413534, 23306497, 8757811, 24961890, 24290922, 25123679, 26593349, 29229809, 32219819, 659926, 23005564, 21238942, 4660289, 12993382, 29155668, 28369559, 27832715, 17528372, 5714557, 14723751, 27222155, 24979774, 16877653, 12713201, 22487373, 17817204, 25329071, 456697, 15795210, 15597982, 27126147, 26942668, 19905831, 21294961, 15883816, 18860629, 26924633, 14206047, 12146390, 31083152, 23011758, 13456745, 20656420, 14624945, 9793587, 9124281, 12740517, 25116903, 19561017, 8528598, 28125697, 29161630, 2814731, 1800523, 10054171, 27587570, 3328163, 11267579, 29238551, 18893137, 10348412, 15494130, 13450684, 12047610, 17866543, 15636006, 18840551, 30140836, 29762987, 20785362, 2408173, 18748880, 27068259, 17356585, 7201887, 31374498, 21567366, 32585331, 22825984, 23014548, 18297072, 23709126, 30497017, 1665903, 10676454, 25017300, 7229578, 5277608, 26693337, 409885, 740268, 22392198, 25624360, 20595879, 17237189, 11589357, 5720815, 19734904, 12515289, 10843302, 8270689, 3091212, 15511082, 28624017, 16667696, 16036998, 30445416, 22020870, 18215488, 13275365, 4739816, 31436110, 12973605, 10933188, 21601969, 28636011, 11384297, 922114, 25275857, 26112444, 8617292, 8911417, 23463283, 31842888, 24871885, 7062656, 21510755, 26514741, 2721626, 19703379, 7884563, 20999864, 30113850, 8643894, 22888176, 12620684, 18234410, 25120708, 15299351, 2504403, 3432606, 15021310, 13280291, 775388, 7379870, 14477674, 5535917, 1626058, 19789070, 32173053, 12209123, 5076437, 17462712, 32151891, 27834627, 13070614, 16292937, 22643595, 4844821, 10514387, 2337947, 6788963, 29658058, 13996202, 6169357, 10165660, 21417688, 26223134, 30777080, 31729709, 22812227, 25218415, 6444915, 19263977, 9625390, 12450328, 27523806, 862111, 1861154, 10556888, 28301917, 30759133, 17770989, 20263767, 27158206, 9121367, 26426564, 8552223, 32766237, 29029381, 26192993, 21110598, 12311948, 1594435, 20295773, 29983630, 30947736, 4556346, 6575088, 22976962, 9615412, 7759258, 19626777, 24716215, 25292525, 15593730, 24041975, 2250319, 30693780, 10320414, 31619841, 26023329, 15271196, 10703294, 12510571, 25017891, 23758169, 23271739, 1220962, 1170116, 14276477, 18073044, 2930576, 18195629, 24804552, 7191273, 17686609, 9125812, 18641512, 13314648, 19066844, 30304542, 27873344, 10571661, 1073980, 7636164, 13899909, 13671294, 10112194, 6314382, 27746228, 425602, 20535787, 8868216, 6277540, 11326175, 24428640, 17215675, 26590721, 29663714, 5135534, 6610208, 22674996, 8287884, 4289309, 30964984, 1792664, 29428833, 19232444, 24953884, 6280949, 5631851, 3433209, 30079499, 27906561, 10014426, 18394073, 10808773, 11184662, 1336745, 26407367, 4460468, 21546335, 22185472, 9575660, 27970550, 5099514, 14825131, 4763447, 26817430, 7497707, 1142522, 29702415, 9667133, 7560539, 30373703, 9709782, 23458284, 22630173, 14963319, 5822914, 9719950, 27193652, 25382558, 15014968, 17761300, 16054090, 27384137, 17000046, 27513788, 28735386, 20001154, 22912275, 32371841, 31066505, 24688203, 12515137, 28099412, 24549147, 7306216, 22310838, 1757369, 372356, 13324239, 18461142, 32876597, 25624375, 19010251, 15525653, 6419900, 29563948, 5818434, 25524425, 9979972, 10610792, 26913710, 9133819, 10029148, 6658840, 9705040, 15619774, 5299750, 5690327, 25597058, 23881700, 16486023, 1334047, 27923377, 26385106, 24482158, 4277726, 15188419, 4511801, 12317249, 14321229, 15857529, 9310641, 1537800, 31510575, 27432511, 5210491, 7413250, 32791264, 4185763, 8732280, 4544316, 31110875, 23816419, 5883358, 9481839, 4811013, 5814043, 1223503, 31947967, 15811154, 31212016, 13855730, 4644419, 23704498, 11913550, 20594645, 22745768, 10831573, 32864124, 23360452, 30675941, 7748288, 29337319, 21900952, 32603768, 30818525, 29875819, 30134262, 6671464, 32711723, 8539519, 23051021, 7531785, 6890199, 30388820, 9528100, 20639971, 1164087, 16910898, 1599694, 22671891, 13558461, 17426107, 28549545, 8008132, 27833296, 24652812, 13733867, 19493559, 14026157, 14529482, 9666167, 18385026, 27330478, 19423882, 9142113, 16645029, 27717391, 7527960, 15677500, 10075754, 7127068, 12389624, 16402660, 19247088, 23260388, 25081113, 28976599, 6626107, 24209447, 23408084, 31597507, 31751601, 15253224, 12956745, 29361909, 5657517, 17091940, 15538865, 8184784, 3583951, 32639162, 4624069, 4052874, 19200437, 12564669, 9936712, 22604931, 4145590, 15544209, 30293097, 7975951, 15097265, 1875228, 26874936, 31623645, 30789047, 16376752, 15446418, 20711356, 16161293, 15956740, 21682128, 1276010, 22444167, 4004994, 9422158, 25927231, 12564763, 21180166, 5433460, 31050977, 5959897, 5236987, 12500369, 963758, 4653664, 20782910, 5241397, 32723898, 29685456, 18904861, 913460, 10490776, 29646395, 28420883, 11456894, 21086529, 17438013, 12837387, 29471421, 1014539, 5397450, 5371253, 18122652, 9921804, 23069437, 22348384, 1284047, 17903124, 14454555, 23642814, 20207553, 29005817, 11143565, 4477542, 22890682, 23429617, 14725747, 16587733, 6573678, 11971570, 6807582, 9548801, 9749418, 26386252, 22146364, 3725404, 11508104, 32903873, 12499988, 28256437, 18706360, 12649651, 28080435, 15269253, 27908980, 19868805, 18837264, 6158011, 15772026, 958665, 2682170, 24890615, 21452253, 20151043, 18613292, 31455265, 27319706, 2606600, 27971220, 20230526, 6517617, 6907302, 22791336, 26608427, 26589565, 24679521, 15139955, 32868273, 31611581, 32146140, 10054837, 24141559, 1842147, 6933919, 10744580, 18429863, 2406614, 29509136, 10260432, 12463199, 1823811, 24117747, 11797562, 23806197, 14228004, 24866687, 11954687, 7420300, 19182265, 21603483, 15028924, 13276103, 29765684, 11430163, 16294566, 29082469, 23094831, 3959999, 12051224, 27985240, 13622482, 17106370, 19576442, 21676965, 19066252, 29393198, 10094659, 14407773, 2003183, 13660564, 6498678, 30193878, 19930586, 3290196, 14123494, 13179681, 8299997, 18340221, 6236631, 31475700, 16403374, 6331254, 3159309, 13014445, 371779, 28473399, 2706874, 4795539, 27554643, 9030506, 30467866, 1820817, 29934985, 28817457, 7804122, 14069390, 32288576, 23761433, 20777261, 2729405, 29918210, 29814682, 3435443, 13113215, 23986152, 10946087, 15039499, 9487200, 19040255, 6593877, 32060266, 27295248, 7168358, 11362487, 20970950, 17080272, 17859329, 26183003, 26932395, 7093211, 15147589, 24409950, 3270651, 15493223, 23432824, 30535276, 28079111, 1043617, 14467779, 16951323, 28857914, 27262690, 31193695, 5492341, 23191355, 20729313, 20092768, 15547638, 30924942, 28200990, 26564096, 14453243, 10865429, 32630616, 15855787, 21072480, 22029, 6106208, 25743912, 13610754, 29915981, 2734820, 30634986, 19863416, 19794309, 5251546, 31187950, 26257764, 29834581, 13703841, 27815528, 32295416, 6905611, 10590832, 18302928, 26798062, 19094288, 25882819, 23772750, 4802487, 23719214, 30712166, 27815102, 16486007, 1406248, 4921831, 10369721, 26937469, 21214580, 7260371, 8754222, 27428000, 13175966, 5693116, 30750226, 23647679, 9989606, 24979145, 5598080, 31834696, 15478059, 21651183, 25417531, 13127154, 3782202, 23779571, 21362909, 28627196, 21949509, 16719658, 12349778, 5399033, 14962399, 2972667, 26062079, 9968740, 32814369, 30520613, 4582226, 5308881, 2269927, 17670582, 8897967, 20623423, 15615609, 26613420, 19462859, 31988541, 26461807, 25468317, 19181350, 15492485, 30276833, 1999975, 23582352, 8153026, 5317466, 32128743, 11551799, 21399744, 32894104, 31724603, 16738840, 32270856, 20325284, 6341651, 32103337, 17705272, 30466214, 11930645, 22737577, 10641180, 30366190, 16972012, 14421897, 3821163, 16782324, 29865341, 16465741, 22852740, 1091918, 27343291, 1931625, 12749686, 23305628, 14412814, 16923777, 20712418, 2020956, 773226, 32320329, 14562247, 12706194, 11714622, 26654260, 9138815, 14077728, 3494028, 15001063, 12235522, 13477028, 17206885, 2642969, 7069108, 29665703, 1850338, 31060473, 19265512, 23294537, 2637547, 32247019, 12597201, 31241424, 7679322, 6503423, 10764773, 24769009, 20002756, 31858155, 6967342, 15052832, 27305381, 25717203, 24502060, 2363366, 6716046, 10960458, 3588726, 30001525, 30906066, 22455751, 30773054, 32604275, 2549118, 31740961, 25797533, 1509528, 11866451, 27200776, 27492340, 21098212, 2085800, 15696302, 28607511, 924946, 5995845, 28055900, 18131496, 19241652, 25640486, 30654141, 15884880, 3382899, 6273119, 21097056, 21330507, 31068721, 16759378, 19765727, 25716534, 18377305, 27575760, 10911201, 20985173, 20213759, 16625871, 1219944, 27973188, 12898961, 23980566, 772272, 32441116, 25138297, 31524237, 30912512, 13203038, 19485116, 27867342, 4899906, 9897142, 245139, 25687492, 6935672, 13467661, 30310625, 27090409, 8832577, 29939946, 12759406, 17954322, 1987980, 2210380, 9855577, 7938614, 7014295, 2622255, 20344339, 15129492, 61415, 9216481, 30369116, 9175088, 17470414, 8986608, 24951226, 1620821, 14167978, 7064296, 3258612, 31666227, 7082109, 32838571, 14534339, 23116425, 18670086, 3890963, 14276877, 23416064, 28891461, 1598436, 20523729, 10021616, 3144428, 10156841, 16147627, 19566030, 17235959, 2223930, 26185968, 1117407, 7324722, 214281, 26140894, 24791428, 5951467, 17266153, 29787751, 5383067, 9757297, 10028905, 28547480, 6370031, 18794551, 22015213, 23354633, 8452518, 9114095, 15562570, 23230127, 23288051, 3558810, 10486368, 10104662, 28205537, 23331290, 5375230, 17173154, 6084494, 6793565, 30614229, 12542808, 26799717, 8641700, 30804789, 3975445, 2686810, 12387568, 13672185, 8164662, 13145964, 21610558, 26077435, 418010, 8622257, 32131836, 12593318, 7539351, 11047897, 28484872, 27497680, 8914015, 17984532, 26805146, 4224972, 17643728, 29298862, 27493919, 31694051, 11855045, 21579792, 26058189, 4672375, 13146929, 29263998, 32796980, 24393009, 10415077, 15242825, 29113116, 27528797, 1930767, 24417618, 31451657, 19923335, 8135649, 8578468, 7030160, 28011392, 13349445, 29099330, 18932153, 10568770, 28844240, 17071567, 30234337, 19472118, 4865548, 9708192, 26211334, 27814370, 25102005, 12477783, 15513596, 24323234, 6449831, 20997305, 23885164, 25940018, 99429, 13689924, 32052276, 20759620, 7621430, 32512301, 16288126, 4275603, 29649495, 9245373, 10184467, 3030356, 84163, 6399883, 10112030, 24808892, 23633857, 11414542, 15022992, 21004313, 9574958, 8996831, 21872496, 22011116, 2718398, 25745912, 12836033, 6352102, 6122359, 9105759, 20039015, 20895744, 8114122, 19457341, 15070157, 9669566, 24483910, 19406824, 4087348, 13995583, 18706111, 6435047, 21316554, 30957392, 31265398, 15018140, 18467462, 22144502, 922534, 26534909, 8642010, 9038667, 21475239, 2853714, 13409469, 1553485, 14797054, 28721022, 22031141, 10831325, 25767148, 11542155, 4022017, 28843315, 7420203, 32363190, 18856802, 9348603, 3846571, 5945008, 15546890, 15477938, 6090681, 9302567, 6671004, 1217885, 19151662, 30986790, 20943161, 31698025, 2526535, 22373976, 26707967, 28644852, 9627871, 21715163, 12566992, 32083122, 14428358, 28056329, 19743359, 12576623, 20219201, 25436275, 6649819, 16857253, 29692798, 24774385, 9248876, 27512432, 20328518, 24126028, 5467494, 7172942, 11726053, 5391513, 16845286, 28765676, 6902102, 8623926, 22805034, 17595482, 16362358, 8694214, 16443862, 11225307, 2292816, 5949914, 4349411, 22783037, 12710607, 2058685, 7780138, 24584594, 18937671, 22534552, 20004296, 382016, 7597532, 13812148, 16498322, 15164124, 19113596, 19797922, 4641339, 32206237, 30639552, 24187729, 6686341, 24722704, 7510931, 32714238, 13241709, 22377930, 19036703, 9696399, 24792653, 22988923, 24052977, 25528169, 24098855, 1189180, 23708686, 11731751, 15061107, 15345994, 10479109, 1678875, 26620841, 20539260, 9925594, 4417722, 23841619, 17618127, 1521813, 28062731, 19086503, 15050562, 31236737, 29455593, 14785933, 6074275, 29859738, 18330556, 20548060, 24135547, 9484646, 27782045, 19443866, 15782705, 29283350, 32799257, 22750180, 24766561, 10515193, 1286997, 2853185, 23445135, 24535649, 8271301, 14750991, 21105625, 534515, 11583412, 21620731, 5165977, 21052990, 1473814, 15101457, 825220, 32895948, 11935312, 12344371, 17129236, 9699226, 9658452, 5171496, 13847915, 4081488, 16697345, 38893, 1419638, 5650162, 24386731, 11669817, 23046235, 4017973, 6182870, 12321367, 23176343, 17203670, 228050, 16474030, 25191193, 16337163, 21889745, 25945247, 219964, 13104822, 4043161, 17660562, 30409130, 28184338, 23642759, 1343019, 30214527, 14798240, 32163222, 1131734, 16878622, 26206816, 12234588, 28229795, 16886105, 13827065, 16995672, 18979435, 32916510, 2280360, 31912717, 31232467, 19742956, 14874493, 28002209, 23320808, 32086633, 18930885, 552455, 16363449, 12189315, 15313817, 2483313, 4681626, 15542549, 24067297, 17926820, 12722912, 17466947, 8612876, 10067761, 29113856, 2346662, 120626, 7320741, 10121827, 14026571, 4276102, 10467819, 11143955, 3310866, 24577639, 16732494, 9020251, 24300625, 9383192, 11807506, 14855072, 13055024, 25859714, 4668067, 15885699, 21669060, 27263768, 11715621, 14913396, 23815169, 21798731, 10517398, 8670400, 20940684, 18599620, 32390534, 5641382, 1661006, 1282676, 25871753, 17239492, 19294323, 20500373, 13938343, 6323186, 8786211, 20063621, 10513673, 22183339, 3652704, 10557473, 32818918, 29295809, 1090015, 18394544, 23783899, 21644675, 17672641, 32428357, 6666398, 6282591, 18969685, 919796, 5934549, 15141608, 5287583, 30871908, 13257340, 10125496, 12044183, 24051359, 11235, 10901573, 1624067, 21840669, 18008439, 6824203, 6515005, 13634612, 8528176, 2988962, 6939763, 12367130, 29680229, 16068803, 25084534, 18560117, 2510620, 18687524, 23101804, 19710793, 9123013, 12649396, 10910869, 25083153, 18706592, 23334650, 3815610, 27978333, 23875459, 4220503, 16553974, 27051164, 27981687, 8544869, 22242838, 2316229, 26235401, 2213725, 11028855, 13920952, 21151947, 12613805, 803827, 19319032, 4905025, 17153079, 18314714, 15377745, 2861282, 10396840, 9688319, 28453013, 17454483, 7772437, 14504643, 10502902, 7820098, 4674939, 24420126, 24595469, 5317647, 9481403, 26679866, 15602839, 31839433, 30656441, 5391240, 31320866, 23416697, 6107917, 27972989, 16499953, 21312840, 18018692, 922094, 9678200, 9586151, 30820418, 4516390, 2493418, 18232871, 15658953, 7667219, 11008957, 11218497, 14449997, 27588747, 12097052, 30051400, 5355338, 28655826, 17750977, 19376104, 24903826, 31837619, 14396953, 29850907, 15499833, 23222574, 30884345, 22948091, 2204241, 31264665, 16999036, 8616288, 21798079, 30017123, 31704305, 19527043, 26262593, 28124699, 6756855, 31545142, 7323658, 31477259, 30128323, 15797986, 25025118, 16102533, 6707537, 7961212, 5202097, 4349752, 15875507, 31978042, 30363565, 5354890, 4359642, 10513951, 18860579, 21855939, 27600026, 27758259, 22325838, 990811, 19670426, 2964049, 32666618, 7065080, 12347918, 26365958, 31329139, 27683122, 30378441, 4553128, 30141862, 30912678, 16605188, 26048728, 11863813, 17028458, 7080439, 457112, 30165585, 30351610, 2024162, 8800434, 29433326, 1056363, 31114023, 19852375, 21366524, 10889618, 13066816, 18739575, 9092601, 11915936, 27302755, 16759168, 3385748, 844741, 19510733, 27854372, 29452043, 26363718, 27478692, 22610003, 21829615, 28229794, 21523685, 19172592, 1801130, 29792228, 27083242, 11865891, 2351553, 2229674, 9101859, 3862938, 28935216, 8839835, 29703849, 11892058, 29003746, 25376189, 13527840, 18926095, 13860944, 24792915, 27886975, 4759586, 3282648, 17775307, 9289077, 1689161, 11655924, 23065052, 2517330, 5186192, 1394014, 10373261, 12838559, 13003271, 24952527, 20635311, 13934234, 4094546, 23070678, 24997065, 19745167, 15974350, 6055902, 11176404, 2469072, 25428007, 16109234, 24769595, 27255448, 30963327, 7303139, 3901335, 32215121, 14206029, 4246349, 26535006, 8248231, 16254012, 3844326, 21329353, 28692304, 5426475, 4667187, 30338038, 755390, 29743030, 12553282, 14595283, 24088123, 21282908, 11858363, 32557648, 27377575, 14348858, 5492084, 14076345, 11393654, 31613289, 10338062, 25862829, 13281362, 9650609, 20163503, 9636714, 17821165, 14800807, 31441188, 14666100, 30771843, 4185487, 14679736, 30660728, 32411449, 15041511, 17430606, 32357814, 9100820, 31317311, 448783, 21464613, 32432118, 951244, 15642986, 21660900, 25888558, 16895432, 31547695, 3178044, 25430173, 32393008, 20065295, 981433, 29259338, 18962069, 1264263, 12422569, 10134143, 9161830, 23896204, 5291702, 26651611, 10556548, 11820640, 29947217, 12437011, 23832351, 135300, 31417936, 1346347, 26200568, 9398483, 882291, 11776744, 11594758, 15650622, 13858240, 28578075, 2558996, 31841072, 30432463, 12611631, 16565422, 22823799, 4085814, 31836698, 20784242, 17500045, 20043834, 30778501, 20983825, 4323077, 14546358, 18437677, 31118560, 11068970, 24272845, 25783538, 20029436, 8676454, 5384577, 8356038, 27900189, 423094, 28147304, 12758694, 30993246, 3944775, 5419172, 20266183, 17395372, 19737830, 9469997, 4872824, 15637303, 26596042, 20175377, 23240145, 9567959, 25809820, 4498108, 16253631, 2870437, 29733772, 15602195, 25021264, 9075595, 23311125, 25740889, 27573972, 606066, 10357643, 18662611, 9868339, 4224669, 11524154, 28336945, 28923458, 27848561, 7872624, 29643508, 8691489, 3053113, 2064191, 24157292, 25970904, 16785885, 32223261, 22154853, 30818882, 21071567, 30522178, 18627087, 18925282, 30490638, 9151466, 26955955, 9064294, 11367988, 26717719, 1819207, 680181, 28011224, 2184468, 26770835, 14430528, 29177561, 7215009, 25608722, 19610918, 9486184, 12489772, 6553642, 6189193, 6666075, 1756515, 32489148, 12597633, 23320285, 3402765, 23253291, 24515808, 29717245, 13138794, 19115120, 13076232, 24017689, 4966250, 20806740, 23962684, 21333872, 26782407, 4563798, 21538320, 7507940, 20193304, 16174490, 27576018, 2375368, 8270372, 15758506, 29232928, 288345, 16949845, 8307342, 2456154, 31094653, 22944258, 11497335, 22097779, 21068669, 28621857, 3062505, 31804039, 16421330, 19880346, 2082584, 28151407, 14906527, 29087072, 7040868, 25465703, 26008387, 25131889, 2810750, 28736020, 26440854, 9335057, 3405008, 32218573, 11631161, 24464701, 25885809, 3706199, 14431812, 19752098, 12934505, 9682388, 21982186, 97109, 15885107, 23865785, 30448649, 16910748, 21734576, 20954096, 3814263, 10049586, 2863037, 19349643, 29365328, 12642961, 26401596, 15138813, 23512887, 1619536, 9052919, 23047578, 26298479, 19454126, 29116634, 28391672, 13296057, 61583, 32715504, 23406359, 21546783, 12944134, 13432503, 26738021, 10684381, 30791312, 14841819, 19518444, 26948681, 24231487, 14584892, 2835576, 11333411, 14298412, 12836907, 30442781, 9079192, 800346, 24290290, 3735627, 9105597, 875508, 22737840, 22161654, 23927640, 22454877, 30457299, 1127470, 17638272, 24426842, 28725898, 2902614, 19141435, 18525498, 9030690, 2801637, 13548215, 19650185, 16393422, 897197, 6583392, 19296521, 8456858, 20301559, 27849926, 5507767, 24818801, 18736459, 10787439, 19082094, 32095173, 1873396, 28722391, 30237238, 6798111, 6418779, 7408633, 28422653, 21461731, 24612662, 13488052, 6228152, 21543230, 4492772, 21574126, 26317363, 30589866, 14793573, 25985436, 32673679, 2461931, 29258885, 16244735, 6870305, 4307526, 30740465, 31878263, 28173873, 12827755, 24646254, 21208888, 8018333, 11342998, 30598194, 23479182, 1127468, 27842774, 26720391, 3790263, 3213623, 27676336, 5967828, 28441075, 25687716, 7612283, 11308601, 6035203, 15816642, 14090754, 3924384, 6176415, 24292047, 29380522, 19091885, 30200159, 32304900, 4858779, 24571052, 7354332, 10853712, 20167928, 29893334, 16362827, 16849236, 2411004, 23804899, 478231, 5085497, 27121009, 17076796, 12449566, 1963512, 28287046, 20785308, 19371102, 6464885, 21518161, 25597215, 32745762, 3292218, 28368953, 7562021, 12030383, 28801406, 13672298, 20421723, 16488459, 5857603, 31245740, 12727004, 9669644, 9041608, 25419620, 10694122, 27061701, 19708681, 1576729, 3155811, 29187196, 9642814, 6494171, 17111070, 492009, 12365861, 10018504, 24207326, 23570662, 28879042, 22392211, 26696471, 32555112, 8135711, 23216606, 10768320, 17458011, 19415966, 21329189, 1976164, 32425430, 22889570, 25409725, 24441532, 12250601, 13917659, 23618298, 3989298, 14613688, 30927523, 31766524, 11550570, 26536119, 3380368, 3231516, 20724080, 22275779, 20400990, 27358852, 25026791, 28612523, 22711842, 19371389, 6102066, 31465322, 28913507, 22662846, 25271876, 23240445, 5314146, 1043502, 28039265, 11456114, 15957959, 12042435, 15090578, 18003870, 11594569, 21002466, 26562163, 21583792, 14299173, 26566718, 2004781, 11797793, 25596000, 31207245, 25625281, 3402736, 11645593, 18593169, 30219747, 16364556, 8539565, 18548135, 8739935, 19279842, 17540158, 15102902, 20590123, 32808366, 19455963, 23251078, 17257009, 20090447, 19186919, 11961645, 2394487, 18312364, 29338866, 14699493, 27219604, 23173992, 4774256, 22789653, 13115761, 6605752, 2630006, 8179048, 11263293, 24747392, 32912496, 12600707, 16848770, 3115897, 31972614, 28882936, 10710505, 31358101, 6459553, 14328764, 2900268, 5404911, 6945163, 27489418, 20628582, 12804478, 14096614, 7429573, 376967, 29190943, 14657591, 29089601, 19739751, 25733854, 21950946, 11472786, 26487569, 8807068, 13553903, 15357997, 26244226, 1740941, 11417023, 27738045, 10716381, 710136, 423944, 14178542, 27963434, 14496970, 16707057, 804508, 21296234, 30743218, 23539352, 20808479, 27451669, 14846391, 760193, 2130394, 21617923, 6731268, 30797109, 8407862, 9550911, 30742535, 20673257, 1101830, 20678326, 4792035, 12706995, 7514494, 9930195, 3016666, 32781820, 22015666, 2661828, 3826820, 19908443, 10799368, 5451515, 29428555, 23508636, 30929927, 31593160, 17597368, 13664988, 9204142, 3224079, 1648229, 27740538, 7764314, 14367338, 11898850, 14436899, 10218280, 9681620, 29083592, 25724943, 26677769, 31658616, 9038116, 15243919, 2782871, 31299571, 2744895, 31710193, 13136992, 10406712, 7382611, 28405442, 13178554, 31333368, 9148470, 4759968, 11814707, 32029305, 13282578, 10746199, 21338856, 28144449, 27716745, 26861415, 10025535, 12566322, 365839, 13229352, 5152376, 10305961, 32537305, 4989814, 18478002, 15589923, 8483570, 21416877, 30288087, 2072575, 3177218, 19607855, 32398817, 7231255, 180146, 31041842, 15015014, 13244092, 15525938, 8286304, 6220681, 25397446, 4499826, 32032129, 19414955, 3480738, 31241076, 2560679, 26262170, 205142, 31899953, 22076066, 26272239, 24584076, 14882638, 8232172, 29368926, 16256176, 31486661, 15829285, 32646701, 10796, 31608197, 10086404, 8844165, 9487412, 30677659, 31266997, 7168050, 32834866, 10449783, 10373501, 31675018, 9396837, 999907, 7543112, 31995168, 30324262, 25731285, 31397083, 22946527, 25789510, 14083170, 12997580, 27799412, 15936564, 1909300, 32567574, 23435659, 25897404, 4757158, 18214606, 24476910, 18855730, 28496293, 8283077, 6158312, 29034276, 16296799, 10996883, 11266954, 32218223, 5418455, 2242682, 1958645, 16616239, 8047204, 20185312, 25916957, 6185293, 2949558, 32642344, 15304107, 25404020, 26316267, 26752235, 31059391, 18962341, 27999927, 4928684, 11402535, 9036439, 2345578, 32147502, 28493798, 10977216, 32255173, 3992507, 16143063, 24443747, 25383427, 27175192, 25961872, 5832874, 25780133, 12654637, 8031492, 13448664, 17384255, 26157870, 4857241, 12056076, 4925811, 18492497, 26275455, 20729946, 7385776, 32464921, 24464788, 32774056, 26530729, 26241880, 15140360, 22138054, 30277130, 25232986, 8204710, 4972772, 30250017, 26617102, 32878805, 16364513, 10951721, 15133902, 10062518, 14948548, 18431492, 6027191, 2314973, 13609072, 6462866, 17765357, 29700786, 12168857, 25031987, 26612909, 11207855, 640286, 309968, 31844649, 16866289, 11820766, 2100901, 14486149, 27842539, 8354503, 27284121, 497017, 9290557, 31481105, 7243303, 601709, 19692353, 13627629, 4433594, 3182689, 8396208, 27707584, 20082264, 6528913, 31639411, 8704478, 23455207, 14494864, 5062310, 12556707, 32193922, 1151443, 18737292, 11515604, 18981071, 6415792, 22990026, 13490853, 1043808, 9913857, 12002319, 4427419, 23006059, 26149777, 24622784, 3277215, 13533435, 9186800, 5247487, 5500969, 24966936, 25952131, 10056980, 7919026, 21364800, 9858875, 17032468, 6221215, 20337526, 1826588, 20262937, 27781263, 7852979, 32308685, 8293234, 29271399, 14366838, 17217074, 28060241, 30987549, 23278519, 1988906, 29869331, 30626346, 31909044, 5321661, 26545412, 21800910, 2765302, 18619257, 30537118, 19974359, 29474656, 32703026, 7880786, 30243895, 20933904, 16872973, 22084416, 30328099, 14453803, 31703669, 3520602, 4262416, 16796000, 3202568, 12932518, 11485660, 32966595, 12139659, 10573955, 17111544, 25078160, 773722, 22944620, 27186272, 24782938, 16186454, 23985833, 22557430, 2936077, 16495579, 24081984, 20894736, 4252680, 23063253, 9300697, 17500970, 6418475, 13329472, 13083105, 15418261, 1504436, 1268283, 24702773, 3489400, 7317361, 3014725, 14776533, 7988938, 19745963, 20342455, 30804626, 7104109, 26866843, 8634985, 11205435, 13721559, 9570752, 11132350, 28048168, 20908689, 935326, 14463865, 14036481, 3456084, 27160913, 4904854, 9280099, 1394665, 3297991, 15827317, 9137701, 17339810, 4886389, 18735128, 1784238, 8481961, 32530924, 15192850, 17109930, 3523095, 8808532, 23579777, 7252321, 108660, 1161443, 9541147, 14632584, 18135775, 18767256, 24837698, 9864672, 3538028, 8638380, 28220446, 6945396, 22831837, 27788216, 10438797, 3819059, 6647907, 20788448, 32259792, 15249690, 1166967, 8906282, 18856885, 16571209, 22857901, 27245060, 27473509, 2160022, 4158781, 23463888, 9279926, 25997485, 9179706, 9253065, 22204664, 12325603, 3696603, 8270786, 1380508, 8545752, 25030059, 29404734, 32442505, 23783036, 4049550, 20847126, 31837057, 3450929, 3908197, 29946543, 15222928, 17852835, 3750503, 17635904, 29027715, 4326439, 3932222, 21764896, 21095664, 3356200, 21162636, 15932282, 23534195, 1993476, 7942461, 26113738, 4249173, 11053191, 32734815, 288597, 29847140, 25055784, 26257994, 2839989, 1004190, 4109831, 26014442, 4963823, 380752, 9611590, 32370059, 6085105, 2877534, 29628304, 20980912, 23605122, 13975143, 30684952, 19506301, 17698261, 18840729, 26873727, 12268375, 21008221, 20222690, 22174599, 21071671, 12762856, 4122154, 29286697, 17573244, 8732775, 32141588, 7336345, 32028456, 12398949, 8782950, 9436640, 19739180, 1891519, 23543567, 18550112, 11528978, 22330642, 25999089, 5664855, 12860500, 8714520, 949702, 5809266, 24987277, 30523762, 21708559, 5188896, 19076321, 32698501, 12177841, 15915345, 18005322, 19929549, 25911809, 16895505, 25604253, 6795321, 10653434, 2570937, 31338900, 3618523, 5581845, 17745954, 5660099, 440299, 5671220, 5499328, 19496818, 18638477, 3520476, 7886202, 6600061, 30771009, 13592472, 2274816, 16865720, 4332736, 1430484, 20984890, 13404866, 23288662, 23720110, 15120502, 486732, 11235991, 24860051, 1702845, 8565605, 30807357, 23025016, 28503331, 17283499, 23578182, 26044537, 5246438, 16553286, 32917916, 28549410, 26345314, 9020592, 9719694, 25650347, 18766365, 9599640, 12939849, 22832914, 14957843, 10201733, 1657710, 11302489, 8230110, 5377508, 1506513, 26832636, 11224756, 4512971, 25889653, 16907837, 12451190, 16637292, 9484035, 28298289, 13694238, 26208527, 22910237, 12957524, 21348666, 29171787, 19142924, 2757362, 7841437, 29166413, 32538610, 30228161, 20052552, 24559423, 28721241, 32949987, 17239651, 9848073, 25960393, 3491204, 8789605, 7465309, 8109806, 15748160, 19199609, 18372071, 20800620, 12372780, 21782667, 31858895, 17981556, 1067864, 6365652, 25266689, 3355945, 15395240, 25834523, 4324945, 11148792, 13985574, 25041720, 5583198, 1339202, 276250, 10061459, 22944489, 30611323, 19809317, 10032421, 10527221, 6980310, 10771624, 23145153, 23536238, 30424686, 12744468, 7478825, 10761393, 2009751, 2702555, 17664309, 19789822, 25834066, 17077095, 31237533, 19604364, 10332732, 23624132, 14199005, 24357187, 3697597, 3897929, 22223796, 22461688, 29021576, 24765204, 20180742, 16072828, 3720271, 4085296, 19834817, 21633401, 8999389, 18794803, 19026558, 7460669, 31289150, 10628795, 18262000, 21031456, 18421559, 18504635, 28049639, 26146914, 19284413, 27241469, 3813643, 23255656, 21523053, 28839431, 17411436, 27092754, 19213209, 2463344, 29104083, 2393643, 30406607, 1251290, 1532017, 22987310, 16744334, 19113183, 23079977, 31877033, 2342425, 6410425, 21434339, 1837065, 23840906, 18167474, 14171019]";
//        Assert.assertEquals(res,ex);
    }

    @Test
    public void testPrimes() {
        int n = 20;
        int[] res = PartyB.primes(n);
        System.out.println("res : " + Arrays.toString(res));
        int[] ex = new int[]{2, 3, 5, 7, 11, 13, 17, 19};
        Assert.assertEquals(res,ex);
    }

    @Test
    public void testStep3ChoseP() {
        long res = partyB.step3ChoseP();
        System.out.println("res :"+res);
//        Assert.assertEquals(res,2);
    }

    //TODO step2list randomseed
    @Test
    public void testStep3ModP() {
        long p = 2;
        long num = 2;
        long[] step2List = partyB.step2List(num);
        long[] res = partyB.step3ModP(step2List,p);
        System.out.println("res: " + Arrays.toString(res));
        long[] ex = new long[]{1, 0, 2, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 2};
//        Assert.assertEquals(res,ex);
    }
}