<PackageReference Include="BouncyCastle.Cryptography" Version="2.7.0-beta.98" />

LowmcConstantsL1

namespace Org.BouncyCastle.Pqc.Crypto.Picnic { internal class LowmcConstantsL1 : LowmcConstants { private static readonly uint[] s_linearMatrices = new uint[10240] { 746592599, 1040565237, 802368120, 1022311133, 1340290736, 784604575, 574520423, 3885374905, 1040952027, 3502459259, 591136968, 2679227380, 115247321, 362006706, 3626443399, 189957237, 2790385609, 2280859338, 1117791333, 3675250749, 1285615555, 1087471034, 4227524545, 2391482076, 834902838, 3433414094, 1750639638, 333544777, 144977191, 1251307483, 1591626489, 3918731236, 2799765988, 4019336696, 3186204896, 2753864935, 469631663, 392091327, 4054750596, 2871844780, 1431523858, 1258571090, 1798519002, 891390791, 1528301472, 2731299524, 364043047, 3122838772, 995778199, 3068676632, 1608467394, 3305714311, 453772864, 1091803210, 400376791, 2567406697, 1594178516, 585837333, 3390827136, 2401669141, 1223233872, 928627024, 3876829101, 2957920334, 2184129412, 2935668713, 4277249305, 391098448, 4009851268, 3863807259, 1793932885, 1766816124, 1016373596, 396920786, 4239145037, 381937739, 3710462301, 1221586654, 2852525032, 1381877470, 1926999499, 1714735531, 4166851048, 1180548834, 1492058645, 1058906640, 2970416425, 1695778714, 2592329923, 2699770690, 615409864, 1677762629, 4066930661, 2000505643, 1009715029, 1105736822, 1329473519, 4056723449, 3342032188, 3253170360, 3229112005, 3608740983, 3024968200, 2189569660, 2567008387, 639477831, 3638360188, 2550457563, 415026216, 3606839832, 200166304, 2450529777, 1468062516, 737713323, 1293885652, 2294800247, 2782869273, 1083788366, 1413226386, 2456189217, 1320952951, 3856107943, 2281224933, 1806187051, 3297935406, 2226284030, 347452271, 2355287750, 474873115, 2633779409, 336939929, 1480915383, 204897460, 3560280055, 3765916001, 3584998517, 3405683432, 1313715131, 769882967, 751636667, 346836551, 3124803270, 3760653151, 3777056571, 3999868274, 2270959745, 3500996282, 3953884274, 608817623, 3042805704, 2164614728, 4048378162, 3076764346, 3329056696, 1122292241, 3652238176, 3000504247, 2519178735, 2614141186, 55225282, 3696793011, 1269961863, 1853455264, 2096596364, 2039004375, 1349791621, 698647592, 2701048980, 617188581, 2144397460, 1353697058, 1839879291, 281814079, 1169055150, 2779361093, 4023945344, 3842154018, 2414836815, 1523225377, 2833006444, 359900496, 2927017790, 3860164439, 4195242312, 794798575, 4273232861, 2931756272, 3607124375, 3964329528, 161814826, 3535387666, 3893355682, 2248401295, 2203125144, 1134139663, 2264056644, 584046130, 1405919602, 2863990698, 1662707668, 2320134517, 384767230, 3688961894, 1702112507, 2518043034, 1274674037, 3764989884, 2534832187, 3802161947, 3357911354, 3469748462, 3519940574, 183682559, 2550088760, 3678075851, 2494847891, 4004807573, 2152238509, 1104643288, 1517173257, 1408126580, 2025854490, 1795130075, 3432245930, 3115505817, 407370882, 2481270747, 1955707983, 2563609521, 954472058, 1586899550, 3985720716, 1987263237, 1350021422, 977654267, 3344373267, 3671864747, 929553138, 15221284, 2858303483, 1683579618, 3083562737, 2954279376, 198484304, 2260294203, 3575692950, 4093097225, 1506424735, 3654059417, 1722888367, 2245315323, 840549527, 1575244639, 1971733297, 1785974766, 1229900031, 3756304307, 3063555042, 3032509330, 1604613140, 3751144422, 762131280, 2031204823, 2504311016, 964376058, 2983507899, 2367986157, 1310388159, 2753312996, 1865006383, 3875046970, 2110682831, 3918170122, 2866959700, 1606003413, 3641568930, 676408522, 3590140983, 2255250177, 2366656305, 1226830155, 1571119981, 1678914411, 636843604, 332689201, 3855083280, 1776196288, 4264484055, 2793312004, 2919901950, 81409777, 2195870833, 3627196490, 3460914432, 1932298648, 2551960281, 3980699617, 2116743647, 578126019, 1331774008, 3411600865, 47150189, 2022336310, 1140396706, 3050807946, 3031478902, 4218075616, 921257123, 2686994034, 2601488931, 3655181050, 1470443501, 3295447035, 712369189, 1706135654, 1981870015, 1233178220, 1594229329, 3241641459, 4223838731, 12167540, 1728121554, 3257839185, 2958989670, 3257834974, 2197433532, 1197491489, 1363370680, 410815600, 1301878618, 3145140287, 3057818433, 746072102, 2252188042, 1405347792, 2886397506, 4228261939, 2498787253, 3470661419, 3692408348, 1607549979, 2887310348, 160032833, 2540409908, 99582953, 1750031045, 3501897840, 2837490915, 2541376333, 1360374516, 1910073182, 3682545439, 2211154025, 3966994380, 3056643115, 3750381297, 2925298917, 552307611, 2631751210, 2906422008, 4249208136, 44435417, 3350829993, 4033155707, 2009073858, 2923352694, 1634563592, 3409396136, 1396012392, 733444874, 2765100635, 474414104, 263652910, 3332970782, 1694870508, 1918653808, 790568109, 1069839920, 4248354004, 327482658, 1168841979, 3735580601, 3190058646, 3744720836, 1730459132, 2719697439, 105266481, 915827805, 1815035575, 3123602842, 3675718415, 3817953413, 2012958355, 298018518, 2839460398, 4243658666, 967725517, 121602910, 3157588288, 2806122193, 3461552232, 2041102852, 2198023664, 927188655, 181686058, 970678478, 3847748623, 2906928280, 2666500061, 3781800473, 269389218, 2417217043, 1017379545, 2204906332, 2992981194, 3847115076, 615233757, 3597747327, 3822379418, 2497416262, 1238360013, 2891419874, 641542701, 1128733240, 1106481461, 1531614294, 140971729, 387448092, 434957911, 1849749874, 2219185126, 2816069715, 3822805370, 3716681165, 147017062, 484210689, 1594733339, 4108933222, 3797997089, 835692882, 1419280551, 672097489, 664911193, 333729813, 3378685334, 816366285, 1557519947, 3271809722, 3932893672, 1145746412, 1908280254, 3431151833, 3227894940, 2290358598, 1073644164, 3652076812, 3466830021, 3253337269, 1252445797, 804660542, 4150008519, 2351252230, 1920085425, 278053405, 667221633, 2206462520, 3691693376, 41913023, 1742204411, 3755680054, 930406453, 781679427, 340799564, 3723079257, 349526095, 320488696, 3161088759, 933306300, 230880332, 2676712840, 3953895777, 2551999375, 400135567, 2361550795, 4205070797, 958637236, 2799194612, 3043223030, 865683540, 3168725708, 2597556316, 3812248693, 2104768425, 1054228503, 105368865, 2735953302, 2560307173, 1922670816, 579116125, 3362610080, 1234558216, 1436122906, 1412928183, 313762624, 3568447057, 1356352916, 444367276, 3409566965, 2740011171, 915080873, 3761584718, 1098395869, 1786434642, 1553059291, 166694065, 1924397773, 162495032, 2348498902, 2666604416, 3433239903, 1696162349, 1442558669, 2280003332, 3893143133, 4236468202, 2530391854, 3535981724, 1258266624, 3104350474, 2750054889, 1099438018, 1996251062, 523814214, 1737055044, 2863382844, 2558850893, 1721344565, 4133339027, 2014171323, 3998669979, 4248881356, 1909917648, 868687542, 2105609363, 3444093840, 334402769, 327722504, 3555350703, 471504519, 3307143248, 783161607, 1293621601, 49623585, 2126622815, 3069640031, 180663576, 2527052371, 332471704, 3415866545, 2565044679, 1258162506, 648197372, 715983468, 1579999183, 4271985723, 1762528810, 2048610591, 3969967050, 129235218, 4081220385, 253944523, 2636305362, 3659850412, 3033356542, 617551354, 1874851725, 257754100, 1539204495, 2047623847, 3336171271, 2667521909, 3510680085, 3365461435, 37073295, 3920919577, 791542502, 487649095, 1786579082, 2594082104, 605975398, 3937578958, 3554228333, 4235524322, 1133601291, 102774126, 245317315, 2178749075, 1355310283, 3728997034, 1575788905, 2293046690, 1142674862, 3598656674, 117560910, 1487752354, 939255122, 1876318894, 2324627856, 1975426504, 3016923334, 3816008424, 1681001347, 3484474500, 1217473432, 4285738369, 359741251, 2499891332, 2401351669, 2053585485, 4046368315, 3356239561, 1935939912, 107839353, 1261325352, 3734584742, 2856363482, 2267761852, 2986270531, 1837523441, 1126388421, 2799620383, 618387192, 2107674651, 890809704, 954542669, 3197202329, 645193507, 1249252359, 3145501634, 327618218, 742192711, 2868587681, 180355017, 1391797854, 2807590419, 2883302986, 3537813573, 4240023891, 2285443958, 397216503, 4098200413, 2678907846, 3286815257, 23975842, 4101131873, 2076790714, 1576054588, 2610536078, 2143553118, 868031789, 2991535534, 1325075999, 1952687062, 3828795586, 2729665402, 815802141, 3181728522, 1338593916, 1039457505, 3911204400, 2855682419, 930649509, 1705200306, 2968436934, 3299270503, 1577512237, 2954135510, 1666742964, 232445793, 2328535570, 2489072410, 1507207994, 716509275, 622639652, 4006812163, 284873753, 2599375483, 2897344033, 2683658308, 2127282300, 3267646308, 3419406546, 1456493221, 421104182, 1813610386, 3458937406, 1559259707, 2688313313, 3809790710, 192682692, 4009361589, 2717591928, 3581979719, 2474400128, 4245631308, 99104488, 934908592, 11235113, 2749753991, 843652538, 2003054444, 702893689, 164202143, 1525878607, 3681415520, 1762956365, 465638453, 3871980742, 2161986579, 528792859, 356222645, 2247751852, 3284412007, 2516270869, 916227944, 2238413275, 3570948577, 690714144, 2141555994, 3405096743, 2828284802, 2431728474, 2834590040, 2162141511, 1038582658, 3049713722, 195139899, 3292186072, 754137042, 1282945019, 2359613410, 1635018587, 152080661, 3406231471, 3678656199, 3018972420, 4035666221, 1763798187, 2534114774, 2463370907, 2305242423, 1895713, 3785029786, 1169135021, 2223164170, 3068476821, 4255053226, 704494161, 1442645216, 63973776, 3879792598, 4062116181, 274121479, 3451919227, 2567370560, 1061529219, 392040034, 2737728033, 4059524963, 3267972061, 2220756066, 2416989962, 1615742611, 1814825503, 1713667389, 1721263139, 1957181531, 3796897193, 176555740, 1796178840, 3328757509, 1179767510, 3939558698, 1314805896, 2941857503, 3669076268, 376766904, 106826300, 3110499208, 2440028587, 1997192232, 3896525175, 3494688110, 2620296190, 566074350, 3805039039, 962847204, 1685353480, 252880568, 221935880, 3076612490, 3241307228, 856131863, 4053221436, 2634348819, 1978574113, 4281454394, 2288171037, 1048981029, 1561981901, 1248674581, 1401116669, 2058664887, 1844839309, 1509442185, 2878753877, 2156786246, 3741001771, 1924766828, 976597733, 2522072808, 248942195, 4274531274, 3430541528, 1666151987, 3355966695, 2394299259, 1068900639, 1448428734, 567940728, 496792504, 871378716, 1726393032, 4059574985, 3301978414, 2112391344, 484327017, 3042342672, 790675710, 1388324154, 4186104814, 2072847549, 176938157, 999215925, 3933118808, 1972611854, 3954563777, 3972427138, 3306414930, 2838695204, 1344641114, 2899797855, 769375444, 4008176089, 3531970568, 3758379345, 1450424020, 2859000424, 4007539105, 884234327, 657927189, 3028866856, 258805056, 262912193, 2650029528, 4231484166, 721243924, 1472309649, 2055213828, 1650825262, 3479187996, 1025514579, 1710544355, 2442601166, 756903696, 3926317893, 2474058547, 2107673827, 374240390, 519693944, 410942130, 3708479160, 708505356, 2694289704, 286568463, 3487766179, 2916061702, 4045006054, 160705590, 2320419127, 3238632725, 746770573, 4252404602, 3729835085, 832090708, 647574093, 2932416990, 1903926374, 1168296039, 211197227, 2905017438, 2019870747, 3075676262, 1765276259, 386517644, 3511390844, 1900768000, 1640031298, 145272088, 2450437417, 2683487162, 3034812351, 13356355, 2468264416, 773918817, 3085217774, 2796264483, 1402143308, 594635865, 3843690259, 3742174741, 1598793708, 2083560855, 3877713238, 3168027311, 1465086321, 1387566185, 979495923, 13629201, 384229509, 2367491029, 2584977776, 2291268854, 1468566000, 64704342, 970319571, 730394313, 3423190788, 3655416288, 4042452093, 611939164, 3723568708, 2908322926, 2521233349, 2547947046, 587835097, 665380383, 1774464807, 491419722, 212011840, 2709774138, 2025695677, 2011346210, 655540522, 2164121917, 2219968947, 3115504972, 2756952069, 1330490802, 311516308, 370834051, 2343923121, 1444119873, 737760894, 3836405864, 2292961760, 1550525924, 2114001312, 376579398, 1105382707, 1162867615, 4288919621, 336034183, 742902837, 91575142, 2462018341, 3446420608, 1156966556, 3425216869, 3137208520, 2392901109, 3437465713, 4042801724, 2129894019, 599934660, 412556149, 1719179012, 3585277388, 3918655386, 406240464, 1831755938, 596106516, 828564555, 4183625384, 469683522, 2291415747, 1527773244, 3681151197, 278208360, 2900922161, 1493823457, 396447742, 1936783333, 17520269, 3358103954, 1724997055, 235854178, 1713943241, 833919677, 3288468008, 2870340331, 30946803, 2851218829, 2465301888, 2651394212, 4165341807, 250950656, 4063394040, 4059874908, 2695819487, 1806872527, 3771828647, 3172742786, 3662809165, 1362533007, 2614892914, 1395082553, 3309256599, 2277070105, 2219582853, 3902561077, 2482029591, 3536465125, 1849451028, 2016176173, 1087238642, 1783168438, 3515357895, 3384238810, 1303568044, 2249814797, 1785079163, 3063092724, 2578882433, 312125155, 1835137235, 4083568913, 2543859872, 46617819, 744581572, 2650926565, 4127330168, 2065220881, 2616906425, 2970525312, 665848793, 1726437837, 2307737672, 2732065141, 4065713537, 1435540325, 3190291430, 1536760484, 3294910375, 2518312053, 2406310608, 2358382051, 229687962, 755510510, 2025397961, 1937923606, 1079217788, 4130164993, 407361004, 2360584225, 3074525480, 2460903695, 4026702264, 757785310, 3789482965, 3771064372, 1815065974, 3725941286, 567714607, 550411953, 2786095689, 3066209382, 453244910, 3887095344, 505766314, 211854435, 1570746003, 2137710954, 3059227729, 1761103819, 1959126074, 19750092, 4136684200, 688908953, 3322505046, 70080155, 3812568295, 3312619043, 2517653565, 1288468689, 1225758398, 796508958, 965978946, 3628265305, 618559737, 3657971932, 2076241867, 890511580, 3170252844, 1630004886, 817912148, 1657690808, 1802283216, 2473310094, 506565724, 3999886121, 1243051752, 474169662, 807368974, 4217251545, 472255553, 429471322, 2542888296, 2306769758, 3603751123, 4006299902, 3402961832, 4154859633, 2191122957, 1941701179, 143007589, 2050133278, 2018792819, 781087845, 2965763055, 4124316490, 2595805744, 3824413824, 375633877, 1703761333, 2597902352, 1271507595, 420031585, 1876853251, 145800967, 2766331938, 3521736060, 979256588, 3432989924, 3051917487, 1213364399, 2523559443, 3219726256, 2166630795, 768715603, 3013213427, 741370268, 4190275641, 2660412772, 277843945, 1730982531, 1657160561, 1232315491, 3531207900, 3359045796, 2624974873, 2179850803, 2906039044, 2411309521, 4212665823, 4022011882, 1916214873, 1316110020, 735557954, 3339057828, 2043253629, 2256413139, 164461966, 2107855209, 560978790, 1575291202, 4117162054, 3550764407, 1345737053, 699894592, 3156426055, 461854230, 3030367137, 1634608164, 1899797518, 2574478100, 984878198, 3997648499, 3342923090, 1985900912, 1618570759, 2946815027, 713827426, 3275531178, 1183566811, 2024584393, 4077115873, 3864356502, 630156779, 1942873744, 1142412701, 3713535286, 2608734529, 3752199460, 2229973460, 3676112657, 1866139493, 170821623, 3611979755, 1103453386, 3533487675, 2820192666, 4166313843, 914438984, 794570192, 2768256170, 3635927286, 12574023, 1721814479, 1366057813, 1935938384, 3903383154, 2482990975, 626963779, 3268278587, 3826051634, 3102838418, 923759655, 147741529, 1087704727, 3112671860, 2152452092, 4007063227, 55076636, 758742977, 3190688015, 4032206233, 3097719689, 4099456950, 3487649415, 1548218799, 4241944419, 4043462548, 1146120538, 2985804818, 3907283725, 293920191, 2677881640, 2355348365, 4180296506, 4044598181, 1002364789, 363703426, 2967780469, 1613335138, 1036199965, 1977587249, 2604936251, 1031379547, 2459250337, 2029378027, 414996689, 342020548, 2018522819, 2935864081, 1495234436, 942101176, 1245537186, 4223436484, 2792546836, 2153710235, 3733198288, 2788764106, 927855342, 4076970285, 2558753539, 2963526035, 1968525251, 3637127883, 2837131853, 2979581653, 3962467038, 2976070217, 3968407973, 853563621, 3608726756, 1433791513, 788519916, 1351412968, 2552756781, 1914630126, 1817878568, 2296706168, 3048382775, 3713278798, 3080186483, 2668558768, 911599973, 566077691, 357295865, 1895306576, 3480186751, 2694485185, 193431966, 1686854209, 391365769, 3899257706, 4050499024, 938857496, 1264832394, 3017396225, 2760462071, 3726376716, 3841173024, 128053348, 205388484, 875345501, 1944247418, 1902279189, 2275420139, 589656243, 1285729792, 889976685, 726782737, 4279925146, 683820524, 2655305211, 4192256590, 2526189544, 1376298484, 2412636715, 2359773547, 559438839, 2447842075, 802187689, 2658134571, 1262615811, 1570460105, 3376996600, 1508737498, 2485631320, 842558357, 1314988117, 4190548266, 3482165827, 3284322978, 3003077950, 1469810911, 2499444240, 4146709158, 2216392594, 3131945923, 206485754, 502796448, 1204113373, 2394412470, 2775709942, 2684076923, 3138650881, 1111983695, 2114806034, 2085953507, 3644819658, 1965757316, 4131222893, 929182019, 895654552, 678138039, 4175415966, 3728307069, 3126235113, 1470028743, 172482159, 4204733646, 67278671, 2018622391, 1465532151, 1358544741, 3519438848, 3432918692, 1062917941, 2245446043, 278088001, 2702458111, 3766731031, 2701544269, 3038687254, 2755465943, 2974226893, 1485787401, 977782424, 3255186389, 1771906334, 3216551259, 2680695357, 2785446151, 2285283205, 109641313, 3760639302, 380646096, 531913457, 638197633, 447172878, 3396755507, 3479268938, 821769674, 2038730510, 2326748741, 916377106, 3798151060, 2571403968, 629101266, 4068515797, 1134675412, 4035857111, 128851645, 488374588, 812475475, 694852509, 1151152713, 1968017825, 3239902998, 2620282164, 1797196284, 249303276, 3035981013, 1113761444, 877880276, 1079291953, 3186779154, 2393194821, 9929365, 2345077235, 3659312245, 1543148807, 1467230488, 2143482179, 375727015, 637940930, 1365118420, 1740732601, 710077330, 3580470525, 1838704119, 3275303660, 1514381406, 2262832055, 3069861996, 2589230394, 149228733, 2758295973, 1023071187, 3675994352, 4032487723, 217931204, 4029451812, 2201016801, 1716499791, 1905731891, 308703649, 4206197080, 1129937196, 2448746488, 1225473932, 4229597420, 339702731, 3601235750, 3073534425, 1524791577, 3878890479, 1040013309, 4098275955, 1154733119, 1646957158, 763317873, 2064088372, 488932398, 2772033025, 3020155235, 2683143410, 829085655, 917811140, 2496183188, 3346093443, 2378143805, 2858793917, 2290812818, 816313319, 1115637999, 3655695219, 3259660699, 4268789352, 606461064, 3461905686, 3994412550, 313228670, 2498408654, 1244371594, 2162668244, 1825802936, 2574912200, 466681463, 2681369295, 173942947, 1568034710, 3397395130, 212014374, 4061035467, 3588380254, 2028468321, 2012857887, 201266015, 4245289405, 618934715, 3721556450, 3921703834, 3195756770, 474506332, 3254657104, 3908385128, 2451292386, 2300932241, 1036854808, 2638318598, 920414544, 2687596592, 2501649711, 4085572963, 2888595632, 9464854, 3046450167, 55166750, 2407525640, 4117928288, 3570166712, 3343476590, 3813098432, 3490053340, 3896345436, 488172871, 3559319654, 4072944249, 369073989, 975111358, 2687160211, 105200854, 2589577535, 2069511926, 2452220849, 2614372488, 450693531, 213897977, 1336728954, 1437530341, 4085256970, 3014245857, 713918855, 3163323644, 1104553793, 1412698928, 1728367345, 3849404790, 3066305413, 4215301677, 3998568468, 2579164334, 1143922585, 533470273, 1250196823, 4042319859, 2601493085, 1773547257, 691835466, 2436878644, 2043002347, 1575724365, 614418491, 1297374615, 3180009434, 1548642489, 1231761320, 994959752, 2653022392, 4197781127, 1407832083, 1779132738, 2412485960, 69300862, 2663743579, 3560339234, 3632317984, 3530473658, 539300714, 2938736399, 2437447068, 2826265267, 4263637100, 3455024925, 3477120831, 823314799, 1345231144, 2405057712, 404302851, 3099858539, 1863328064, 1681572593, 2660317667, 3242224607, 3907780215, 1881070083, 2714008563, 2639520252, 4269856280, 3968543568, 835791729, 1785451287, 1592882958, 204653563, 461687100, 2572336592, 904967865, 254368259, 4025702589, 3060319249, 332292775, 2130403349, 268014522, 687137634, 670890495, 3467062173, 4110214340, 3830324793, 4179174624, 2276500368, 1079725182, 660671654, 2666097390, 3879377846, 1455571614, 395401103, 1821946461, 1457982358, 3411515197, 956448157, 2035835535, 328962495, 1329239026, 2249875589, 1800262112, 1781156374, 4208600647, 877947774, 2499366569, 2578096417, 1211558031, 3320834304, 2882775000, 2945894748, 347985482, 3284026219, 850550953, 3319853700, 471517513, 3806171045, 2887434646, 1691533130, 1632089679, 81372956, 1750505777, 813140575, 546800959, 180325185, 239362352, 3635408708, 3469438028, 1317410125, 1464205827, 3667589233, 1091577916, 2269041797, 3405818182, 4183912059, 3106357469, 963594491, 892062420, 2886353325, 456203158, 3692727446, 2506586275, 3161661060, 3185073569, 506378760, 3309779718, 3413871537, 1590121847, 1006500019, 3215615172, 952396248, 1903758471, 3476407564, 2467293199, 1508122294, 2400896607, 2391360712, 1246060205, 1321408918, 1018249376, 3886605568, 2070156961, 137696391, 1004146937, 3299811559, 2136791709, 2628930554, 3189105442, 350506627, 2381984849, 1219815078, 4100412615, 201811978, 1959531444, 3006625492, 1178771431, 914010012, 1553222807, 2077619556, 3759036217, 3976951987, 178894218, 670940315, 1083583141, 1652673740, 1549872440, 484183083, 2890600878, 2597198471, 2221769711, 3233255485, 1814020132, 1156328142, 3825168922, 1548343301, 624758471, 3663563496, 2454154889, 985908962, 3764941997, 1465814046, 3112926570, 3109357542, 1896874310, 3293226788, 3559789337, 3378110017, 1579656612, 662953484, 2461805618, 1113340166, 1563080349, 3317093324, 3125158342, 3582176157, 3299743140, 2964345615, 1787760549, 1486441048, 1286596396, 767836278, 1861796746, 2899372941, 1213374951, 3583954950, 1884796676, 4242288560, 2148839437, 1356111764, 2577022008, 4083796872, 2937477693, 925309330, 2595900948, 784651251, 1388981849, 4045463943, 1744161339, 2765408106, 364858267, 1989595223, 3181951904, 1024147731, 3678354520, 1620429534, 331534943, 568516933, 4128516534, 1710769532, 3399809994, 1613211226, 1596011422, 228023636, 277332062, 752217127, 1572637809, 3773958818, 1947320256, 792952076, 2235485569, 3665670611, 46422848, 2841525419, 3076563232, 3833817189, 1725477378, 3995072379, 3200381998, 492304799, 2975484792, 321643487, 2616003146, 1574811659, 3124174674, 2137029177, 3741506386, 916800405, 3132486205, 619147994, 1261718077, 1547478505, 609039707, 222628480, 3956633532, 762013486, 241002302, 1369712128, 3247686682, 3004480696, 1160104923, 3628853815, 1269818040, 4153778688, 3271604053, 2856376431, 1495415194, 1633443416, 3565116380, 2291407034, 2812721579, 1213663586, 2267772013, 299242765, 3493556971, 34758344, 669623392, 499714691, 3822335715, 2446743412, 1249505018, 2269317868, 1099902263, 2263389437, 2000872748, 138787362, 2329584933, 3135487422, 3195416182, 731067302, 815955792, 1100176706, 3444252551, 2680424138, 385648167, 4007816104, 2335010201, 2506191115, 3657628315, 1074601105, 1970181274, 4114379005, 1393469860, 2455235923, 331293096, 2403119105, 2733071034, 1557473718, 4279628439, 1325994319, 1297534891, 3795804359, 242086149, 1302268560, 4206824761, 3845206141, 911609425, 3851909973, 2986588498, 142494716, 2946910385, 3998344887, 1884649766, 586060678, 2056856912, 2722035694, 2680858819, 1736955644, 2131534176, 946494163, 1628552430, 3202287430, 3461112053, 610665592, 159855510, 634626227, 2950899133, 3305941738, 199159471, 103236990, 2462273638, 1466410196, 3830121842, 2303877470, 3055106389, 2720945385, 1513998786, 553055699, 2831419172, 1995462818, 374551935, 3650153751, 3535005888, 1970511912, 3961402158, 1329419569, 3806161979, 2612820718, 16591334, 2093197402, 1666708895, 3312816680, 3923436174, 1745138948, 4039015714, 1835038843, 396515696, 1277706998, 1375762187, 3304809232, 3361893146, 3855188397, 1577744885, 1727482483, 2633974630, 4147486934, 1794695911, 2652726768, 457177749, 1627333771, 3759997816, 623335628, 3719080126, 464347104, 348939538, 2166212508, 2292825569, 1683796816, 2920621822, 2304114246, 2633894852, 430487721, 4070801343, 308736797, 2313753950, 308958865, 3143732832, 1199416646, 1164032369, 3617294419, 618068114, 2778443963, 1055484878, 1071978181, 4238820674, 2137228087, 2296106959, 3860041756, 3041725899, 2679665041, 1164471981, 1264492238, 3605568821, 958369586, 2017963120, 1004542919, 4146788218, 1463530155, 3752268875, 515455906, 3132441171, 372722307, 3774465885, 1625682231, 3534729730, 478285954, 896829697, 3824390788, 3017156101, 121931505, 4250646532, 3421356197, 3852224286, 1745199728, 2244301934, 351249708, 425523618, 3063412170, 209842626, 724212700, 2755931971, 4125505860, 3222452507, 2690189057, 3238315411, 1557061017, 1265770283, 2333524240, 2844565750, 2959942310, 3708131362, 1907397696, 4109245508, 1934410682, 532862779, 1480291226, 105324640, 3801417496, 1648532219, 347419629, 3313909918, 8746870, 2035445189, 4227618873, 4133707234, 1011286769, 3717644539, 4085435732, 4041854736, 2473869554, 2823387759, 2272725035, 1934632230, 4077045095, 1863329795, 1924393762, 1721211640, 3450537119, 517380601, 2066366658, 3120034283, 3748899434, 332376215, 1307987834, 4015620389, 3941257901, 3807833826, 146011879, 3330754864, 2822014535, 766154087, 2303589372, 3464835743, 3151636426, 1739748893, 4172186754, 1507815482, 3422716348, 545586641, 99566212, 2878964860, 2593082520, 1269628210, 2297682733, 1451462286, 1544847037, 3367212358, 3681585167, 922047368, 1522722397, 108704611, 3779167898, 2833642990, 616843979, 2429326752, 266567038, 1036210947, 1495091109, 869404618, 498093843, 3319293567, 3215898696, 865253468, 2526688524, 582878405, 3848634035, 3388668178, 3099128469, 2604809489, 940714418, 1510848576, 4026732978, 767152534, 1375614986, 2924694898, 2864722121, 1979420195, 2476978123, 1259660786, 391114891, 1208326942, 2917136549, 2324546621, 826757702, 1541861592, 3249941067, 3177133621, 3449425043, 3051747252, 2207855244, 4207996600, 2903486058, 2222552491, 3083129581, 3826527805, 2399285746, 3720117830, 279904640, 3570233044, 2831826974, 1099063028, 1750628813, 93407421, 404443878, 635689690, 2858182030, 2029211785, 3338188885, 3133279512, 3053302729, 3690189257, 3738423766, 1974182603, 1784580413, 3153945497, 2716723081, 2278191081, 2668441114, 846598581, 2895184851, 514071276, 2446189866, 3308102880, 2815191800, 1192909197, 2754706601, 3222260952, 2651944194, 3881314224, 1680277631, 2117091762, 2581253758, 1519989642, 2063919213, 1347121533, 4018880573, 549554751, 3042274952, 3000319210, 417117972, 1096164422, 1891809945, 4162710570, 862852858, 2521717718, 2453265140, 153200209, 2296105366, 1385857567, 3154028349, 1182495247, 2988986911, 1108235791, 2738757219, 2482774302, 4054402766, 1297262521, 3999814359, 1328441194, 1510695972, 2337862287, 2856547788, 2354973450, 2699700686, 3100097206, 3357156057, 2788278870, 963441364, 74712856, 4045755210, 2103110398, 3020553930, 1582339187, 2753596602, 1220166695, 2097214006, 1399129783, 3420270692, 542317405, 4061380375, 2236068832, 1323647279, 2692385790, 2615082198, 1353769620, 3715854796, 3334150864, 375628037, 1473168601, 2066119978, 4208028330, 3675636564, 3882662389, 332902021, 629176212, 716349538, 3726613040, 3595011312, 2338832540, 1473378977, 1033565656, 1133911021, 876266440, 611659729, 2270755480, 873740552, 2127363397, 3488234632, 3564929641, 1897320650, 1436079529, 3877056052, 722166912, 2350035820, 3728578723, 655690110, 641361906, 2059624117, 63549844, 2223499403, 3012368614, 2123855512, 3164453758, 2041631400, 3867316167, 444491889, 1911580931, 2009426333, 3598660017, 1929930889, 2000245692, 4248326052, 4238621387, 2692033914, 2149728765, 2122930540, 2055927796, 1619295111, 2191285682, 1422621207, 1745911226, 2895649523, 997866816, 280359, 1422705006, 22570502, 1103162561, 3271314272, 1727222788, 288112099, 1474085736, 3747570958, 12955162, 943371552, 3513655772, 2095104607, 1510222875, 2552670319, 1933566284, 3652256710, 3706689611, 1767722194, 540060260, 4008226460, 4136315492, 156675628, 122611890, 37390377, 1580173831, 971371183, 3829651176, 3825351040, 1451491377, 3644829147, 69583398, 201518548, 1131869959, 1486289847, 977876145, 2645965455, 3530812620, 1020644024, 3456371135, 4096400904, 3356000324, 1267049352, 3059901002, 1865292958, 1161627417, 762140770, 3845995312, 603888732, 1286323089, 2557128250, 618581746, 1147191292, 2600918183, 3223771964, 4009490612, 2629231162, 3349410107, 15151865, 4288663647, 1399510979, 1188911552, 2629957309, 2918037542, 4289454050, 2716523737, 1139900646, 3081291435, 72544992, 2501819031, 2470347404, 1173881051, 575833444, 3752361788, 2678428130, 2386163330, 3893180115, 3540166820, 910254593, 942597128, 2394085647, 3431199907, 3567953377, 3172140223, 2234542361, 1849612138, 1034211663, 1812327740, 2501619882, 1102885106, 2978410249, 3477711909, 1072645696, 299686305, 3348052488, 2358480971, 2564883516, 683122792, 2266463483, 685941150, 708404422, 2621536233, 3253324582, 638149295, 128720692, 2153891572, 1142507415, 506183749, 2373178891, 1455701032, 589107005, 3142200575, 274551338, 128642117, 2228504431, 837218093, 42974653, 828461507, 2492603790, 232039460, 227801606, 1052959436, 743793621, 2277959525, 3501202333, 4204512441, 688791602, 4170516636, 1501918980, 402712071, 2703436782, 2228251846, 3024116401, 297386672, 3553214961, 648291032, 1360476037, 350731387, 2416611267, 2395843626, 2400156760, 445616777, 3124589378, 1851343066, 327544231, 1197028164, 2777272421, 842569175, 2120767873, 2295708317, 2427133740, 1381355297, 3612876355, 3213463990, 2963302890, 3049319104, 1563376671, 1616508566, 3673014533, 3660860054, 4083403015, 4080535050, 780583159, 777035867, 4155951790, 3906976888, 2329750107, 2018914878, 1680210546, 779334379, 2803002990, 4075307150, 2878242075, 636140199, 3564856682, 2997090729, 2484148133, 2278997298, 2239073148, 2314772060, 3112567264, 1010647494, 4249632063, 1640406051, 3353009948, 1613438279, 1178373538, 2844092831, 1250918493, 943467621, 1838375416, 4021544283, 139575364, 685634444, 464618812, 4198997949, 1134888693, 1822714559, 2854261269, 3903789446, 1850523696, 2032332363, 183199166, 2497881622, 2716194909, 1696896644, 868466640, 2300989830, 3974457314, 1541665239, 5519721, 1366311915, 29746015, 3931885619, 1866046091, 464214640, 1816338776, 3571039914, 2013625688, 3390262315, 4285247063, 1378290262, 3538353152, 3222237755, 1831942578, 980408196, 1533812176, 94604487, 3862448678, 1346276244, 944371095, 3425904172, 3372593707, 843313215, 1776543414, 3797527591, 4042274025, 2670260822, 1355685947, 3105476876, 2519100183, 2482953888, 1169218789, 596856819, 4112767214, 1038606563, 781248410, 1678136148, 3874431740, 936764192, 35415442, 621490523, 1696001338, 3229745091, 84721224, 1395685181, 3344644545, 4189705971, 3685365313, 1338256738, 3128162681, 1968590314, 1379813357, 109415225, 3203257000, 6144492, 3895064773, 2413883318, 488735742, 2918538657, 1385557627, 1328737358, 1246150748, 3456514024, 581114767, 1523970432, 309838516, 3088550630, 3297958456, 2870484377, 2977401333, 1166004787, 3397596813, 3158421626, 294283964, 249167013, 912098408, 3835498320, 1833194384, 469865528, 2130985670, 4260491750, 2939579259, 861019137, 424834117, 2914728696, 3765747818, 3878054648, 944823839, 262189774, 1250644963, 241751028, 3596516412, 422627847, 2752792232, 2582259541, 780254177, 1953582997, 3391069422, 137586254, 3185980752, 3667866021, 2688814566, 3974052743, 1341133094, 1267282185, 1260812755, 265329453, 19652490, 2413198122, 1369779766, 4160466230, 2981928167, 228587692, 2481168385, 4252522450, 1147008415, 3677060051, 25975904, 3065156742, 1846465525, 4115611548, 2695743321, 2446621506, 502652741, 461349486, 3974826659, 3519065351, 2039327484, 315938420, 2054913404, 1550812820, 2065086367, 2206088150, 3028071005, 2497371633, 3932242425, 1962672132, 3919914723, 2782148464, 1872979871, 3712125003, 1721446637, 145934608, 3845484380, 2342877022, 4006876932, 2878424473, 1844805592, 3616196553, 3694245912, 1783675520, 169536768, 4103373125, 4180889534, 847869996, 873009404, 3015724002, 285686132, 3902239835, 139362654, 3802700109, 689554398, 1013935166, 2992985337, 2473676485, 979322392, 2109887051, 3318510714, 2331739559, 4114564199, 1606943326, 241429228, 484482005, 2995788868, 3539670280, 1489039711, 360886290, 4158454607, 4075997674, 1953596926, 4150178970, 1446363097, 4160203622, 1847726758, 475728614, 1407680912, 2750952242, 599433551, 2920418883, 1934284419, 2381610700, 900899111, 718911357, 3837264282, 2267112019, 1646906698, 1658729206, 1109327301, 3705106093, 2794973958, 135506389, 2734232179, 574708478, 3541020546, 1704816863, 3489283492, 2720008800, 1231497748, 826766300, 1777910686, 556562727, 3547626855, 1002620800, 1435849510, 1647281929, 1111276162, 2378497191, 2555136166, 3794389061, 2173016402, 241763057, 3104037813, 1973103422, 3536814509, 2875311377, 347200961, 1458195415, 4056456217, 3784942484, 2995009412, 2007891358, 4204450366, 11727951, 2578983681, 4050473206, 3552353971, 1608119537, 2086114757, 648938922, 2553207943, 3421789251, 1434391705, 1182525987, 3839081581, 172037101, 3860595893, 1235379644, 2384997735, 893077420, 3629485535, 101244574, 4215823047, 1756323150, 2538553614, 3658960988, 1671440338, 2206520041, 2454004662, 1020914477, 2274400416, 761298084, 3936192293, 2569783473, 3842418029, 2228814641, 1796604517, 1936349155, 1766252299, 1988812696, 3919841958, 3304800451, 1219588751, 1156395136, 2339003719, 3874637255, 2156260082, 2902454538, 4089966367, 2208472209, 4211727784, 1736073497, 2485640669, 1972161048, 2229200936, 57589530, 2592381410, 2376323593, 2604603992, 2463277402, 380914510, 4081463705, 2396609329, 1870082767, 3236121550, 2796245495, 4104337307, 4074904840, 50256747, 3535162779, 3140441595, 2963465695, 2923421073, 2193712818, 2644102075, 812419453, 1324197479, 2453181779, 2134699606, 2604645215, 1409186802, 2036316671, 2004298821, 1107795459, 3109029261, 3059992161, 372397678, 954539418, 3126205225, 1410828772, 3011749455, 2467007726, 247235241, 574149222, 919676694, 2717585353, 2038174575, 3971956361, 3976199686, 3468597565, 998117188, 1996773894, 2318159225, 3712423967, 3504467648, 2250100923, 2693715769, 869718786, 979626502, 3069460340, 3628530101, 2230914468, 3580291429, 4026562597, 2252993562, 2248737492, 2502786873, 3977542881, 1992626945, 2901896888, 778706623, 2576118215, 2473067266, 564811276, 1758895092, 666205864, 2470141552, 3086135407, 2742436032, 2353305601, 3517306444, 552567436, 2030840893, 1043319199, 1601384920, 2475050934, 3347665450, 886158004, 3151272692, 419491026, 4276456150, 2920185091, 3634132979, 180413479, 3109133086, 2900504036, 103508673, 935073183, 3995931922, 2511820949, 760787034, 1000145592, 4089349945, 3645579018, 1830535789, 4218068989, 3848598143, 1896596841, 4122021233, 1475822383, 2045079169, 2266202715, 3519680458, 1551484306, 2556147390, 1192778708, 526601142, 412366912, 4038167869, 3594209035, 2256499071, 752894309, 3428551942, 121882937, 2872136169, 3734118943, 6714307, 1993302994, 582730449, 259017550, 1437904016, 1605054087, 463121455, 2615214979, 1702784461, 2919956893, 229724893, 3316509252, 319978682, 962110439, 1131568924, 1023392715, 1840255455, 2994569592, 1443259004, 1172618689, 2488146178, 898724629, 2285164883, 253683531, 426077161, 1005542776, 3445862388, 5814083, 82225389, 2640961482, 3960565301, 3786175054, 2056552488, 1961699297, 3857952003, 1812879636, 3235127920, 1493888870, 3609124963, 4009188770, 3955530579, 2810948412, 2295602207, 3086624571, 1036155759, 797637503, 137579515, 1364490311, 2495553543, 4208937240, 3307860011, 2027631436, 27379178, 3482906614, 2102044086, 492580635, 2270547724, 46539820, 2097624332, 4214190743, 1968448094, 1241476661, 2834621946, 2521499422, 41330903, 1660002151, 1128069613, 2008979178, 476187613, 686933408, 2878454315, 2928001304, 2029927864, 3739480516, 702462965, 2860179674, 3049620423, 1711621286, 1096696818, 2780376053, 3310324263, 1821405256, 2650988134, 2957102112, 922114793, 3861177160, 2271959408, 1652707475, 3212245067, 970970209, 616306284, 2814940488, 4271770395, 2199520611, 1756430810, 940211364, 2787791521, 3133969556, 3747431027, 624861097, 1655057177, 3789248659, 2565123207, 4289819690, 3248221968, 3973562968, 1405772968, 3652595192, 1647580788, 1902088511, 1543590684, 260039460, 3346861589, 446279793, 834614915, 1747753937, 3823583262, 2914160627, 3053178372, 910393842, 764606883, 3079359356, 2354626404, 3620462257, 3607946081, 3158829206, 2279550214, 2087343332, 3437370873, 3330902925, 3443745899, 951632155, 2122315739, 3410766841, 2215331048, 1113696740, 896172528, 3456370364, 693751020, 3900479825, 3562578470, 1119092892, 1496329380, 2636862662, 2977469565, 3172453601, 1004036089, 2394073482, 2479122456, 3757109095, 287860178, 1704548251, 1747385252, 782798869, 1062611718, 3690482291, 298828313, 3229017003, 567047206, 328777917, 1073990013, 115176608, 1272780189, 2825132344, 374130563, 3173680218, 3137880603, 194491560, 2993941245, 2548486465, 359488926, 3006547160, 749964883, 1579903186, 3253115890, 653237773, 3624180412, 1228124055, 54717693, 3573102818, 2774066266, 2212032932, 2715332396, 4261542502, 1026602935, 207562742, 3563338851, 640550437, 1446848053, 4241252469, 3531063938, 4016975455, 3920030014, 1723243968, 3649674784, 835446947, 1711134228, 3298394882, 2501129698, 3351194460, 3248820733, 1248978607, 409365332, 3900700673, 435382702, 3166582349, 3386294550, 3837147438, 2921134351, 3351627307, 3327565139, 2007717785, 3507715128, 1468393675, 223921326, 1120059997, 4038859764, 4079261287, 3242535465, 2847260614, 2573676039, 1354398125, 1740862133, 258536587, 3984742254, 1529146641, 268576112, 2524878117, 781719505, 736387878, 530850750, 2086595849, 4083291122, 31631795, 1517869490, 3878424104, 3173783102, 658432594, 1709853717, 2196815991, 1516003160, 2489276099, 387978960, 1155262057, 1392688017, 781190794, 773529544, 3154434786, 2779288889, 545896970, 1222742629, 1091899468, 4091857100, 4237806087, 2537459776, 1616927102, 217253678, 216236603, 2371527100, 2469358220, 1884062889, 262157310, 2206084535, 1198126535, 1039296766, 2894320308, 3569355041, 1362158941, 3116832681, 3818799534, 1350229475, 2186996869, 3385877459, 2124703303, 1857884739, 1230211089, 700894858, 2813885026, 886502064, 1557369934, 1761187397, 2083326105, 3517611177, 4207626011, 2734217709, 2274696487, 2909044994, 4284447071, 1760019698, 1579660463, 1988099667, 1567025913, 1716612012, 351907943, 535098406, 3448332925, 2683594999, 2912663915, 257373436, 3388768740, 1851050954, 682852040, 3842057555, 3019889408, 2688287412, 3901591391, 3889573718, 2995596618, 1987298976, 94600003, 234703110, 1703307346, 552392342, 1798459324, 2151001754, 3048212965, 1505721333, 3865940445, 281822411, 1858060513, 1748675814, 646578890, 4216629556, 855971018, 3070789864, 595036939, 526617082, 3512947895, 3605258157, 3319517866, 2955716188, 1462689807, 1165107383, 2762032171, 2277584928, 1762311975, 3798827268, 1237287291, 3468492887, 2268504046, 2773233211, 3345881416, 3576004334, 861914437, 2410939558, 1263584319, 1519188166, 1084468355, 3952062624, 3634231550, 1023503642, 1604118985, 2216801010, 3739934028, 4287554930, 1759965431, 267980611, 3636173529, 2194748064, 3957091004, 3286748580, 3767711243, 425251836, 891159644, 2035024787, 617894483, 3736948639, 1917743179, 1392142435, 3524124735, 3153771499, 1953767133, 2864250485, 407775796, 3507010100, 2339184675, 4107467415, 218541954, 85716579, 2219117081, 2676791964, 514224196, 3489751483, 2323879321, 2952098053, 3048679446, 2856006912, 3091624599, 1541915158, 3830456796, 387115521, 2698853464, 2671190375, 4034864213, 1850615931, 2495365119, 3264245311, 806532869, 1903389107, 3335448280, 2434617237, 4112160524, 925999870, 3023598470, 2032474438, 3339291418, 3014568848, 3880773096, 1116559879, 2511608379, 3396069819, 2338314809, 1767133010, 3992631189, 2880850985, 3188992523, 1391991744, 2302536395, 2543091979, 310696727, 44675250, 3882604927, 2852959535, 1737136132, 1066701153, 2867210575, 3997488957, 1203401156, 4099383176, 1413727107, 1711136967, 273559368, 2248798577, 3029513876, 3176675023, 4045863113, 4220391453, 2481168764, 1248456347, 802305925, 1559403931, 398075537, 340289476, 2248000637, 829847743, 4024885429, 3715383551, 3527135026, 1676989329, 1388228934, 2213959872, 548647683, 516203449, 1348653732, 342725476, 4219215007, 2523127827, 2522807911, 822469599, 59237931, 410657912, 867111125, 2614517125, 1874011455, 363148463, 439279116, 869085590, 1734763876, 2104381988, 3119642121, 1536552219, 2538754650, 173080047, 2252810811, 3488418043, 4075187798, 3249668947, 2195901472, 336815510, 3970750318, 2473408955, 1224972884, 3139896812, 2605756151, 1476285739, 1354458815, 3828649034, 3260636949, 2013610436, 1414275339, 318110911, 3528644654, 1389769013, 2656645970, 2280840508, 767904617, 1594802622, 2440302593, 2311000934, 241983827, 1540727256, 1273547198, 1931475573, 2952056718, 3920207804, 1855145060, 219802266, 1662388110, 2238103037, 3514507510, 1425068250, 3099620072, 642945682, 2197209390, 303384869, 3423263541, 2077709571, 4216458398, 3367003257, 989916537, 1845553325, 3709314942, 4226531304, 3125850921, 2028303774, 64755893, 1061617497, 2044611339, 1724500481, 2822500597, 2828159290, 113927672, 1171015304, 2794679519, 1905315602, 3250586510, 79930002, 1761995681, 723432281, 2353673178, 4076170437, 3243792957, 2334347412, 669919099, 2715060266, 3572151563, 2937228572, 142403655, 3074980985, 2403006946, 2724511853, 2757121027, 2250563369, 2573150116, 3239774, 2487146815, 1941606493, 3153271156, 1256091608, 1696246418, 2877194666, 3006595099, 1264165148, 1073639323, 1609924460, 3310874958, 1041994881, 57456210, 906010381, 2745051634, 2218050459, 821300861, 1195870096, 1511333887, 444943427, 4041263221, 448139439, 3453792292, 3434688966, 562982593, 524527385, 101202132, 2146640902, 3498304601, 2361759798, 437681887, 599651211, 2578772585, 1694287595, 803684478, 1837486300, 5768615, 544257160, 1565009042, 1407945157, 461283879, 2188999081, 1692636492, 1643606444, 308249612, 1979364485, 1259381416, 1408159564, 1784337228, 739651420, 1350875119, 398811408, 440573658, 2467901575, 1716445035, 4201258189, 1871063192, 3838113807, 2351568910, 736198942, 2907003751, 2448581749, 1264927159, 1463059440, 2361727124, 1171985723, 239701546, 444805333, 1300043742, 585716627, 2347731128, 2369237513, 1874009734, 3794083612, 383938770, 2809499664, 2396819903, 2543498393, 3944686076, 1700189378, 3194652614, 3231369971, 1412810750, 107483130, 543990273, 4132524793, 3523001484, 1963512508, 352624730, 3646405247, 625927790, 2467376281, 1493432626, 3027859276, 735709991, 3269274570, 536968271, 2674756862, 4069660825, 24643385, 2004803799, 2270867552, 3151612123, 3846435353, 2209754548, 1230796314, 4245776516, 3431193171, 2177273395, 1491005491, 1274035436, 1739762415, 1099606195, 1051903744, 2299251861, 218382440, 976212151, 3932524158, 4200442870, 1231787775, 1511766197, 4030119757, 3222767324, 2513690672, 3548521596, 815776416, 1850022361, 3829286589, 277126276, 3627790203, 3301481424, 821741238, 3459784176, 1572951627, 1681906055, 1525341771, 896055630, 2814405698, 3168933518, 1346919934, 3498941650, 937560841, 3616526675, 2684527720, 2468644221, 781211132, 3258874413, 4091739132, 785776654, 555330832, 562068694, 3156008692, 842931625, 2888684496, 1141492622, 4013636744, 3407355526, 3429853564, 2862384400, 3870846294, 628838498, 2694064056, 373431078, 3864535159, 4040433068, 1894551676, 4242148331, 2893401701, 962584851, 1492392435, 3792079498, 3407295811, 1806160737, 1275900792, 4173509004, 1830381962, 3321929225, 3512814611, 2222403699, 363697914, 1694982991, 1761534588, 3944501052, 2325473646, 964340092, 2945343452, 3330379532, 2491181463, 2253887761, 462965057, 1465716019, 2941097859, 1218599975, 712686215, 1999490242, 3494917107, 272128822, 4132367616, 919106389, 79467249, 3094934303, 190014370, 3143512611, 1676638046, 3856514754, 1331806169, 709617883, 2759085727, 549790923, 450021940, 871127805, 153060661, 2500854784, 1632313849, 1908063556, 2556540017, 2295113546, 3726246700, 3958409614, 3358246180, 4142365359, 2462301341, 3238534883, 3824011269, 1718866368, 456249917, 2474239838, 2199561443, 3148480803, 2145932468, 2767760563, 3298410, 53693046, 1533928869, 1647600786, 918432846, 3591979828, 244336180, 2191393718, 336808758, 186623124, 911096269, 3925199719, 2289893603, 2181453055, 912799903, 2668116047, 2306314312, 834288324, 1220032478, 2813787278, 310799495, 1708579544, 3469286087, 3877118309, 1161863672, 4278134670, 1940366535, 3377400791, 2916789074, 329300427, 1467857007, 1372973446, 473310465, 2195144777, 2735512204, 3039502162, 3554406177, 3362838272, 2538435745, 3438921874, 3810296378, 216542324, 2659840441, 3466624724, 2127936618, 230089344, 3658649873, 650243930, 2156007929, 1060833698, 2186978813, 2488945133, 736265308, 2099473297, 130816902, 3505026762, 3410929730, 996596679, 2921508816, 3528892003, 2962838527, 2580157490, 4186527572, 3429452685, 1388773013, 4254969944, 1318023748, 1044627748, 2333097934, 2956110752, 2614856402, 1919658040, 2624969436, 3441239541, 1086743138, 2813152018, 2597341863, 2070833932, 418630885, 3242341568, 2811984983, 2288111993, 3614427623, 3304066861, 1572605439, 1682126129, 2559604310, 3231208004, 3327730433, 792354881, 3054398385, 1775777820, 3499427069, 1766385006, 3250288151, 1583539732, 1940291336, 1124403251, 2856042022, 1407156795, 554798836, 1421875453, 1667589150, 2197920842, 3159757004, 45564835, 3558880214, 2976086333, 1991228227, 1909759170, 122536992, 2127798879, 2431241471, 2668818411, 278205379, 3337823165, 150920488, 1760335501, 985964955, 3981924010, 617630921, 1551446655, 2300836028, 381756065, 2367338763, 2322022324, 4138978518, 1958534292, 3955485949, 3051608247, 3393507669, 3811678811, 1077610468, 3076325409, 324751205, 1470341739, 795508150, 2799527296, 3092432936, 1444711597, 2513027711, 1547388070, 1169486086, 1596988975, 2654708244, 2808902573, 331280518, 3615639874, 2328072110, 3292115117, 2345030351, 391716413, 1676538742, 1496031382, 1291154302, 1267104644, 3909580599, 3008086223, 3541565336, 582647627, 2326852431, 2568702985, 189911520, 3890340667, 995644480, 2160068438, 3307954596, 2686121865, 3754784852, 2475918358, 4219795069, 273982648, 2291382914, 3672779534, 484975427, 3549484735, 3362789684, 3589378955, 2616833061, 2418867420, 2462279060, 1602423539, 1714815320, 1358503971, 3281841343, 358502434, 791014791, 2699329512, 1091053054, 3740884157, 619936491, 953550344, 84211573, 2700214035, 691329342, 2369274875, 1286286998, 2930295183, 2810625636, 1699620924, 3037938177, 2332507491, 1984439337, 1764585643, 1293425127, 2720242204, 1459558113, 3873787009, 2475298578, 2000559432, 1872154285, 901990123, 388057021, 2615151019, 119893941, 1966164666, 3354415630, 2664640591, 302666337, 144564042, 2807511015, 1283754405, 1811583469, 2119338053, 2800344505, 759345350, 597083168, 1094914635, 1112347778, 1559400812, 3630831936, 483998796, 1816484349, 516325593, 2775490662, 1858997337, 1788960317, 382089138, 3496458163, 3637806438, 2763907109, 3829373257, 2243766283, 3400733226, 2577962786, 960968688, 2003309862, 1411366451, 1664559397, 2883497879, 3162643672, 799793164, 3810225078, 1574604168, 3691076505, 1303461234, 2735564906, 1967840624, 2295571300, 309546892, 1997346315, 1737234414, 1273807249, 2265562039, 2417850184, 2445651899, 4105137231, 4249062475, 2138476104, 1793022801, 3880721219, 1903756667, 1574780316, 1858713455, 1399332987, 2256733897, 207882051, 827371374, 3525657301, 4235518408, 1975730174, 1493635279, 3771563546, 3713516867, 2112089007, 4080647973, 2010961786, 1116560742, 2125703756, 3151360318, 399925921, 3164268238, 237888860, 914173364, 3548398853, 3960944021, 4119510638, 670131290, 1064819124, 1580122944, 2258848077, 549874269, 1654540976, 508801891, 1728872098, 447814681, 3953955387, 494738947, 3659722177, 3232197154, 43030532, 4092680469, 2592789657, 958586073, 3860154957, 131136738, 3322606360, 3977285199, 2467124683, 2742999138, 3492423404, 735375334, 3308553586, 3816886305, 3344544910, 242610393, 1560792851, 3995825199, 3478430808, 2950648875, 4042415048, 1654645171, 990996735, 2982845014, 4154197917, 3742622593, 2108121735, 1104773274, 1594037106, 2908978919, 2996589707, 1888514979, 2236723003, 2291290275, 4234305473, 2749874086, 3066063190, 2957544602, 893428411, 914035573, 2413572439, 3388120231, 3464848083, 3300156436, 1674112220, 2270838621, 2801953825, 3540508866, 1776582910, 4230283272, 2190112164, 1231328950, 3436401023, 2136009255, 3332185091, 3647663462, 507425752, 967369591, 1765034433, 673405291, 3905530044, 2430401743, 2757475250, 4003267060, 4173702609, 3385609195, 3816052295, 3260559270, 2168234759, 2737143932, 1985770678, 955768344, 998414455, 4271310755, 1056643932, 2468150940, 1482778608, 1112640104, 2904866875, 1096343634, 3735927764, 3319931679, 3030275623, 1914561681, 4290809564, 1954647891, 662993851, 3982809471, 3732183653, 71598864, 2740576422, 3454085431, 872280123, 3205386088, 1645483592, 2390539301, 2737919001, 772820551, 1792837636, 3923401035, 945784346, 1222872960, 2779778050, 2370451128, 3186518232, 1187314740, 488771371, 4282989852, 800067134, 275525883, 4151586519, 592567475, 2280089987, 3404823392, 3494339255, 3136397162, 3800868221, 3432823755, 1327567001, 2220409692, 4078062721, 1938454194, 791382148, 1571791544, 2855843673, 3314397320, 2820313560, 228121776, 933966882, 1682715680, 3911914778, 3244028827, 1388655356, 1315094210, 2063723158, 3392578998, 414860274, 2093093686, 499907476, 2531644678, 1325676191, 3937010932, 4022529514, 805381372, 2670253697, 1372708306, 3700180366, 2706105304, 1250950700, 396538030, 3925442342, 3432598335, 1084893208, 738810458, 3576676572, 2682013744, 773396283, 874736386, 233743318, 2748846013, 3893258562, 169275944, 4184090954, 453539862, 1007865494, 2139508848, 3947296662, 8119090, 152985421, 2818525635, 1682738633, 4012808656, 1684130309, 4189895662, 3349118417, 485600316, 2449572998, 1206817354, 540725804, 3046552312, 1897053588, 3649890883, 1503046647, 347728886, 178605043, 2704428783, 920199083, 2417783661, 728816640, 1164706444, 2738037539, 1806159429, 1878181645, 2073559718, 4025219876, 740578338, 1897604091, 3077673366, 3981421832, 857000348, 3009344736, 1195373590, 55792221, 3557659409, 1864574821, 4109798441, 3717174929, 3668436370, 3996521392, 418437290, 3783094967, 1673355204, 4110300224, 2338861625, 1092102301, 2172341306, 2639278949, 3256663603, 2212458633, 3401745931, 1100960813, 3373941031, 3846364333, 3192112614, 2472140036, 1493992537, 1847399483, 1787499647, 2663717777, 1140810158, 2228615218, 583823297, 3459751089, 1918017258, 3274619199, 2548485566, 3115278959, 3391648270, 2490393418, 705740091, 3346235788, 893480762, 2153256060, 4240403161, 547989861, 4088043828, 2891653091, 2806832143, 3648046684, 399711494, 124663480, 254050199, 3621073719, 3050964356, 2324738560, 1548177415, 4231732392, 737018063, 30399154, 3246872142, 3781760011, 395681194, 2266176791, 2175819982, 2358418087, 2023242991, 2780795488, 2084244570, 647349802, 3707994543, 4009860674, 3247235971, 2922446871, 417585755, 2528060491, 3307170988, 636651150, 976651439, 3527786654, 3875855629, 2724809304, 2478117530, 2142987765, 3507244952, 1241972257, 837613644, 2797952315, 1056100140, 1897034513, 587562202, 1675535693, 2766741251, 1232527347, 4239422505, 2183841780, 2544080189, 2871021179, 759208575, 1256594500, 577484180, 34769001, 2220890497, 4024471676, 463829200, 1188125074, 1387422846, 4292744038, 3498430957, 126581371, 2608834, 1824882951, 1249221222, 270942861, 3175775653, 1132714281, 2163627390, 2747560542, 3855034850, 1848111274, 1576160572, 2001055489, 3675985440, 358803685, 3973766588, 4134830531, 3347636728, 3722367973, 499686036, 3784319976, 4114665596, 752089950, 3755240419, 3531479135, 313613669, 1871652735, 3396939371, 2970666214, 1468062810, 3515136679, 1907650135, 3220537771, 2795716422, 438470143, 788028376, 1600373288, 748891777, 2144960393, 2192843801, 230217935, 3627105554, 3308097563, 4277457800, 109690491, 3357744326, 3400898287, 502914035, 1804116035, 831766961, 1279318734, 2571554962, 3983855415, 2140369614, 1826158560, 539092550, 3613735293, 2551571586, 1859565319, 2057873877, 600386308, 1594648020, 92708208, 417535503, 2129044806, 121667896, 2034673064, 2881374508, 295878709, 40605959, 4064326478, 1744148061, 551882989, 80400954, 4224533536, 2956396458, 4085670280, 1270952618, 1757995627, 1365276958, 2466859963, 1025982261, 1289830302, 4208869425, 635863902, 103986349, 482316353, 3028192379, 3852024035, 973267233, 41471931, 1857249815, 3698571365, 2553598844, 2553569617, 3381371070, 82483541, 2664128933, 1872988375, 1651985064, 4134425952, 1970018094, 2198021160, 1959528215, 2957002617, 3228329017, 3650717487, 1332389836, 4015780643, 1941311910, 2367007961, 3999467836, 1695782165, 1658873058, 1703267504, 3624492, 1275403217, 464730460, 1339325586, 3593820783, 782004650, 3357222544, 1890178865, 3315376280, 478439059, 3653487441, 991107103, 3037196157, 2830462640, 4061357029, 3205026587, 1286353598, 555044106, 2640730979, 3130634391, 1396816637, 1323886371, 2810697207, 3690316010, 247416564, 162684200, 3826457924, 1267730203, 4148539097, 2771023389, 1759012616, 4197993131, 3186458294, 942704564, 3435842223, 3108725747, 1748001062, 2578890316, 1146964969, 2501235871, 4136132468, 1955359453, 2468990508, 3535141270, 3998669754, 3526348758, 2417696355, 3956700003, 3100867610, 965515739, 2830448768, 3469544270, 3141437693, 33008875, 554555608, 869635883, 3864838127, 1900200440, 3292320760, 2873870958, 3933915971, 1468092292, 3235032878, 1725298562, 1533517837, 761441771, 1966276592, 711221449, 618474939, 2471632225, 3846256908, 349603350, 3007265150, 4114770179, 3727197965, 1966195500, 612630908, 483867439, 1692339944, 3979756851, 3881559486, 1977855734, 1221858938, 668933931, 280263009, 3799699580, 1689875188, 3312449472, 3361609113, 1187476591, 3916928724, 2238353297, 1584643293, 2155066968, 4102222245, 3417559634, 2439191475, 1158676915, 306465649, 1187672170, 835243109, 2618114614, 2757967246, 349414300, 3484064753, 176780999, 1019018684, 148580401, 430468466, 3034547410, 1837655813, 752196406, 2636893385, 3497062572, 147006951, 2098995329, 1002363750, 2416132443, 2276721791, 4055334308, 1447206539, 3020484179, 2244189771, 179771764, 4114527406, 2696933860, 2304075545, 3746757812, 492596941, 3619678039, 1623342838, 3904241582, 1240546387, 2630674631, 709334149, 797030786, 2173213608, 3024451841, 307121588, 3736753157, 2911113355, 2417955706, 3011720306, 1229959581, 1279435150, 51561567, 190861895, 2868793511, 3699426775, 3533825795, 2078580953, 2642300870, 1974902727, 2527424601, 399126039, 4026741771, 1655462216, 2737473473, 3031882912, 2208153473, 1660105849, 3694301681, 2564019328, 2678415204, 767257261, 1065522455, 837543239, 843858537, 3327692081, 205013468, 2389245190, 1609414402, 1451065034, 2673295677, 2596283551, 2490345933, 3771095433, 3726117765, 2016520671, 307179073, 1307530129, 3202783202, 1169399697, 3274262750, 3013208182, 294598188, 1926422507, 3711917946, 2178151583, 1878397608, 3486071613, 1629349187, 4210957441, 3685994256, 279375522, 1695043737, 413745314, 2051385757, 523945140, 1284470165, 416828919, 2338573566, 659235519, 422695600, 1534191089, 3780678500, 2223568087, 2283119745, 1992876455, 1346337983, 3082346835, 2308539619, 1429129233, 4285982131, 209634714, 2037614772, 3743859435, 258768220, 1555819418, 473213871, 2291969127, 3045430337, 1542913400, 1646046300, 1607051200, 2659418268, 2242590232, 789465701, 3688935247, 2117297898, 2893948651, 741836090, 573375378, 563535129, 166124646, 1612650512, 2603790657, 4051691385, 3603629683, 4102687698, 3740457662, 1010910904, 3533418467, 479616442, 2139528666, 2831489405, 1758055757, 3698016591, 545325468, 3562201733, 1417313324, 2272062209, 4166515189, 873036973, 974136108, 240380270, 1677771007, 1563239570, 3600530217, 2453660586, 3198668121, 3517439931, 3643531708, 1079532422, 1048336459, 1113851385, 3757774827, 3620575755, 2005480870, 2580483579, 3151149528, 2140692744, 3930922937, 1694477490, 2248499032, 749836372, 3155489438, 2500482616, 948628361, 3140515183, 139987496, 2952784011, 3634761209, 2560704075, 1804145410, 3122399693, 1588810727, 2980216595, 3163769450, 1359862512, 470664195, 1581161423, 4280585065, 504515748, 4043885792, 762509562, 3232643027, 2792939938, 3653924798, 895503094, 84005165, 2371117740, 1651783255, 3310080956, 2427487732, 191652882, 3214119229, 216094341, 2208377178, 2896202590, 154610409, 3675178924, 525041040, 2463787590, 667194280, 1276177759, 3950531547, 383364134, 1390259657, 467203640, 2087014677, 1565086191, 3861405536, 3719534351, 797511077, 981242911, 3092611635, 472250514, 1132865049, 2472326643, 3868443812, 2917630594, 2019553498, 2568578, 3285150044, 779368813, 1993026598, 3552383975, 1591754713, 2481053026, 2311390582, 3049143774, 1507965664, 2696343974, 888476570, 899156368, 1443110747, 2004799528, 3430092828, 3012788935, 1302320842, 1130325972, 3805672820, 1368452673, 658950533, 1021541277, 4198186627, 2679231987, 794447350, 2368045757, 562826651, 1501136214, 1970230036, 2878413269, 2028367772, 357007817, 2141700945, 2022472181, 2281941912, 293542104, 3808003394, 457677122, 1244735513, 283472908, 264825962, 2775933520, 2210272698, 3334849596, 1715542828, 4113735343, 535095485, 1214340570, 259669722, 3559172110, 981162837, 957059141, 4262656635, 721914249, 1660588472, 2464710134, 3709142507, 3736302384, 1931866147, 2429594186, 2610735464, 2087503696, 1490338724, 1079885719, 726793145, 3601870046, 3746429905, 1329204851, 3565313382, 648346741, 2903708469, 3821667171, 980287624, 2523821881, 2557349424, 2484940743, 171286835, 1014378606, 3775862630, 2412505113, 3856756531, 3814435855, 3494761606, 2206242619, 66264748, 1023400499, 4094209683, 3796170548, 3725582132, 3538111354, 825145695, 1639048086, 1119002750, 1233079354, 3687399272, 524614616, 174982774, 325505222, 1987832302, 2729427881, 137799939, 1407224246, 1166737621, 139542389, 1387971148, 1358690220, 3427489365, 717277652, 110979580, 2422876392, 1307725310, 1900733316, 3378177313, 780084919, 1728485880, 2931740189, 1224499947, 1152831766, 3206032664, 2428442840, 3422549590, 1378277338, 2662663885, 2489136383, 2027020078, 2862460508, 3711719918, 1076222718, 2693002550, 3739329009, 2584901745, 1693876412, 102399796, 2372243900, 3077503718, 2722015329, 529385572, 3331097496, 998850673, 3714030863, 1195556666, 2255692664, 681136315, 3167573553, 3678289462, 2218123084, 3845558953, 965529886, 990968337, 369185130, 2314306870, 2032440896, 171969189, 1507465957, 2513727300, 1715960470, 1158354523, 1304856685, 3492915570, 86240632, 3577004070, 3493731074, 755658626, 2953384916, 3329502478, 4191642622, 3052230966, 551566508, 2451917732, 2407569800, 3556310121, 2847362465, 562953571, 2103470225, 828728047, 311458276, 2064833533, 1593574290, 3374692386, 1692150497, 4253374157, 2374124672, 3806611220, 1221722343, 1446769195, 1420180132, 1601943681, 2307662941, 3871295487, 2617451648, 1503580436, 3385383504, 520111347, 1590082968, 755202962, 2988796162, 950458377, 2686061229, 2314114966, 1212038690, 1852728631, 1290806279, 447700529, 2202273086, 3472670701, 1957709066, 266885296, 4014042509, 2841308227, 3695708348, 3009833757, 1176330730, 1580799272, 2629104148, 1207840343, 826881666, 1246994072, 3988298529, 4014254591, 2645275072, 248628644, 3717757947, 445913054, 704796479, 619200735, 3053120686, 4292397881, 957116869, 3890903753, 1480443936, 295779028, 2847406953, 120150495, 2257368770, 1150942686, 309086700, 1836271116, 4083248499, 3375332470, 1315275840, 4247657237, 1555716404, 1918447976, 1461326196, 592443150, 2935159634, 200061034, 3226294275, 3531171898, 852863923, 3852183968, 3984193224, 309987082, 2269909, 3252317313, 2864648076, 2123543787, 2105223525, 3149564669, 2860005215, 2251770243, 862436672, 1521088578, 3613159682, 2157118341, 3476483702, 4066334617, 2787672636, 3396849481, 3208437318, 2384660956, 1568415023, 194803515, 3423738173, 3190969126, 3648947763, 1091390991, 859295176, 758591603, 2339740626, 3291491655, 2623380728, 302904896, 1330595483, 28305736, 2156737783, 1175092369, 117081328, 1614606804, 37536695, 823255490, 125909443, 2391798052, 3352928076, 1641470407, 3597525403, 1481652388, 2179078136, 1714668956, 1710403872, 3011525126, 3650322034, 1585263812, 3222193023, 2608655820, 1995731069, 3687581539, 2641523200, 1218354700, 2044600401, 3422641189, 616509169, 41684864, 1914270941, 3451780153, 2985479288, 4249503286, 3802432101, 1514416816, 2774522605, 2919474208, 720403623, 2255680550, 1632571661, 866384821, 3498067417, 3771639199, 2590648388, 3162283680, 1839889494, 3294374455, 1777894886, 4263438349, 275627221, 3950437283, 2766122429, 4112217497, 2353003160, 3321613838, 4051785865, 1738992079, 3033639024, 3517450532, 1909279759, 650688226, 1225477648, 3523498217, 1023631253, 144357006, 3176549137, 2032345098, 2233505290, 2695517313, 537082727, 3005377815, 1843835745, 744559277, 2389118629, 267224139, 3031954596, 2285816977, 357144940, 2889269741, 1064407389, 1933610227, 1903863902, 2067090412, 645861542, 1692935394, 2850701830, 3041833827, 969871277, 4015414743, 218951860, 2374055061, 546870743, 1659356231, 2357380910, 2937987428, 3254384027, 470675610, 1611119931, 1755671704, 931423462, 1499201432, 957151316, 2723417611, 754797792, 2663560126, 671132625, 3055885270, 1910948126, 3571856525, 3820647936, 617668007, 22216440, 3220801599, 1660625504, 3770056263, 3282463586, 3152143851, 2480406827, 1471423093, 2679225254, 3395944098, 1321784185, 620136170, 787473086, 2542541747, 3681129181, 2916258555, 1745924553, 2666154963, 764071987, 168297596, 2305907657, 988066798, 2568942579, 133892402, 1079456798, 1522590661, 163115448, 952760925, 3601448952, 3390127985, 2996156679, 190465484, 2606238154, 264691943, 1427264883, 1317078257, 2493224224, 1995953013, 1870478658, 1754302410, 2019430751, 4174184129, 4285194388, 4086535671, 3959142639, 2283289175, 132455392, 494738553, 762765426, 3677711049, 346934309, 3584440069, 1897942209, 2084155556, 2676831900, 3811726317, 3516634443, 2827872705, 1017802583, 10718368, 585243165, 2276172492, 2439598218, 3330467180, 1899919594, 1695265988, 1803717636, 435150001, 2140275558, 353567960, 830002395, 3402633998, 2931041225, 4092082121, 1692354729, 1235724189, 3869062129, 416885939, 400920448, 2380138917, 8301286, 513490701, 853730530, 328505723, 2136383051, 3499498558, 1583631371, 3199807496, 2986539220, 3351648614, 1423125380, 734453060, 4038225967, 1137720117, 1908183802, 3968528942, 1309327907, 315749387, 1013075099, 2605646106, 760527892, 1910134092, 2987809285, 2740759044, 1321309263, 3573870740, 2204578763, 3545418585, 2938982018, 891374340, 2313096805, 3450814377, 2668791388, 3274903511, 1952027361, 132513249, 2337910827, 3595341532, 438410275, 134877267, 3318478176, 1576163933, 1086606203, 1475496175, 1390558376, 3640820611, 2766736464, 2981907656, 1073321289, 3279193209, 2202000622, 2302368528, 4113816726, 2239832019, 867242924, 4020786205, 4294004954, 4011561845, 3223499290, 2999865137, 283101233, 4249105199, 1279068088, 2041433248, 2099395780, 3800321065, 3625302886, 680052151, 2492574578, 3863998226, 2860773020, 852129213, 3802039148, 135394729, 1277935162, 1633726053, 666652137, 153966091, 2400955568, 1931044007, 2687129434, 457104615, 2420265612, 470507609, 3384821087, 3545327629, 332833024, 3387073798, 2706220765, 3752104819, 3536732117, 3500115720, 2826066483, 1299052232, 3746484588, 3139287466, 3793879015, 2673056159, 193982219, 2041189282, 1727313856, 3839477737, 298366657, 2549517027, 3017312461, 1889030725, 681572058, 367293269, 3027766870, 2063037882, 2309623283, 3424720115, 438478718, 1009681650, 2042195016, 3888489732, 292031568, 1382528216, 2585056085, 3712564472, 584094645, 2912998817, 1851625097, 3476253122, 4276446111, 3243854875, 2829108166, 2705541263, 4145086448, 224186069, 1153815832, 3982772951, 3600890844, 1317392460, 1117856256, 785042446, 3252568778, 276120013, 3819962739, 1520902556, 2640049859, 828063891, 1968258980, 1287281014, 4151997517, 3726677883, 4272631675, 131804766, 2932240530, 2875291889, 1466469664, 379689733, 2777675953, 679746116, 3303818213, 3870432540, 3320279616, 1477596659, 3573042167, 3192564522, 1226420152, 2046730261, 2842680919, 3015235984, 2295948270, 1082293729, 3001113916, 1932679512, 1823393507, 3775014274, 840271141, 2895410593, 151858121, 662870343, 150157496, 221867734, 3660219118, 455650316, 1597442702, 196179172, 1639878959, 3095159945, 1279511263, 2947987106, 1966170534, 1825921432, 2065361313, 3722213834, 3632156159, 761483798, 2729662921, 933803165, 3389402064, 230204831, 912486751, 817438505, 1146012597, 1082321067, 4140748990, 41828662, 1674614128, 917611993, 1857448874, 1445241608, 1107157480, 1875624317, 3923804140, 366117262, 4105995920, 890392809, 3953969350, 1453548065, 4267854587, 3786163732, 1639683525, 3162090000, 4246241153, 2878049256, 1098805646, 2132987051, 4087832409, 91953603, 1829675564, 2212713569, 3812686669, 4229716235, 3920131727, 303181736, 1850279299, 1746209888, 1030329374, 1951840802, 1891649315, 2152478012, 475209425, 2693044230, 3501088414, 3591696163, 3449246416, 4010501709, 2494081790, 3713342708, 4097925605, 933079583, 1812750669, 1116409659, 2395544258, 2498703080, 3660582086, 2551081613, 1335103608, 4133413045, 521594181, 449750874, 906329485, 1091017479, 2977565142, 2744131571, 990339771, 1568443949, 2010534765, 1930471326, 27996564, 3315296732, 3596878970, 4184117289, 41001025, 925583726, 2307228442, 20625329, 2638420362, 354580838, 265391185, 2432413155, 325481133, 1895471961, 236016678, 4195836441, 2074292466, 2913338091, 3612279808, 1639606018, 1055792403, 3171922442, 3102977456, 3254268974, 1343790167, 2108745784, 1388201108, 3726701644, 3941988099, 3266099344, 524427991, 1539991871, 641639678, 1682821234, 599674326, 2922579692, 1935091534, 611790578, 613123604, 1623784894, 259096835, 3411443820, 1864102820, 577212840, 41469638, 313144868, 176031837, 206580045, 2065585127, 1650067469, 301863137, 4042795898, 3817050677, 3661309821, 559211131, 481221098, 1214761158, 2724755472, 3279264110, 4204945658, 2889989194, 3690428906, 991126425, 3459250906, 2012692981, 1993686770, 365944995, 1852627592, 2644872123, 2822235817, 3364521992, 3157051801, 3005764567, 2003372833, 453553443, 2116607151, 4122262444, 823198817, 758545971, 2358519758, 2090720001, 223959214, 796497537, 924957187, 1310154672, 3757739922, 4255830685, 2672465046, 2165428819, 2514432448, 1327844899, 2200317755, 268181176, 487747625, 3312098123, 2746389612, 1613915478, 2100223966, 3569604219, 1316631577, 2150226045, 3000582474, 1219008123, 1343300280, 2236099660, 12900657, 3446042559, 3718038411, 1501070763, 1825680734, 1229537599, 1556179514, 267245458, 425578163, 2538145627, 3209777637, 667495767, 1943747413, 3084125476, 3629500449, 2180067959, 3602274049, 1870651617, 3574483053, 700930416, 920879080, 3669062011, 1853389327, 1784347900, 431756903, 1716746294, 3006964958, 2693321152, 1303986253, 1333268596, 2528733613, 97268338, 1177712720, 2399700362, 3471478946, 26070851, 3245910125, 983450196, 910074630, 3786858706, 2345704305, 2739237073, 3044139107, 2970867791, 1194776673, 4019706505, 3019149223, 55876675, 3955506680, 656527068, 3967400181, 1417883383, 3776294465, 3111854868, 1626012313, 3272563142, 1126904101, 2727667426, 2543825343, 3609312147, 2750925025, 2348011302, 2959091357, 469917732, 800228956, 4071270070, 3184889746, 1663747274, 1449490622, 3925274769, 2636272491, 3401576898, 1319938153, 3568314823, 1530090197, 3169953022, 4106949387, 559642250, 931141000, 3949903630, 1881305824, 3930570198, 4028600149, 1601953469, 2117597804, 792991261, 3148069487, 4090351417, 3872358177, 616348787, 1624258770, 1873890378, 1477259259, 1195049994, 962917613, 3220476350, 3478191066, 1509201282, 4184351441, 2886161481, 3571021549, 4039468315, 3884717875, 4289992853, 1264370413, 3154913779, 1604422050, 3058544709, 3352994947, 2162609631, 1090870618, 3434276898, 3176796944, 1220951442, 399472248, 3288959893, 3207669224, 3921080163, 505168107, 3528775229, 1169995527, 1811262158, 3904459249, 3510861080, 2665173689, 650550094, 1642424287, 1069413878, 2201443666, 612984801, 3195019909, 2647630008, 1880495146, 1932486888, 122115872, 3194415011, 2017665927, 1631911477, 413491, 1801119249, 1867964205, 1280232131, 1083206512, 2696483150, 4008030126, 2749210145, 2575690823, 2904889282, 2614463326, 2246470134, 800189887, 3632423613, 3379430490, 967220401, 3823587001, 352374247, 274983852, 1156866565, 2931481007, 217192479, 2565463129, 3150443904, 4140145749, 959747630, 2009055899, 899246119, 4200012454, 2401217150, 3111432669, 1189030511, 4186518602, 3389886322, 3365697785, 4140601924, 2689666745, 1250303535, 1108242091, 3091405367, 1145535624, 2196806165, 1498844752, 2058263054, 4224311921, 4216405943, 1907738725, 747319999, 3127666586, 927001146, 1245295762, 1382876842, 111526945, 1622413246, 3647021659, 3948822298, 737297499, 1266146184, 1308557038, 2826411619, 129458861, 9938273, 2702966377, 1608484776, 3587735693, 1311284583, 2735426300, 3401188552, 986034138, 370173846, 2161306277, 552179585, 3991997621, 1366687516, 1609477628, 1881510091, 3214339644, 1378626324, 692376065, 425192832, 4064465266, 4013690126, 2460449464, 1643876927, 3559094279, 381632423, 1557803242, 1296765139, 4238433823, 3766346934, 1662365000, 4203306848, 3873163950, 2741180596, 3886314985, 671748157, 3811200317, 909929847, 3850879778, 831724075, 2563596691, 3770609210, 3245952810, 427943551, 2570367103, 3023300237, 3033725188, 2161049921, 3849763481, 1516763221, 729170169, 564157534, 3972711095, 2468692780, 3086934335, 48614502, 1471299631, 2262268613, 1978225221, 3711828063, 3451031350, 2099710428, 1190731921, 3003663845, 3116220740, 3685543125, 1120167049, 1410302694, 4161547613, 4241340912, 1032917539, 4219917680, 1276319099, 3052915232, 840968770, 2109126611, 366743836, 2832410966, 1185050070, 4261679362, 1728026427, 1290692815, 1639827589, 2651730552, 1749221479, 3244874424, 1651675627, 240595885, 603283488, 2489788115, 3545392675, 549170909, 3755036971, 3213121754, 4233179829, 778903787, 2022404808, 1771255269, 167095734, 3407153486, 3494826406, 361918282, 1642536244, 3187018034, 3720516722, 447063258, 631510571, 1555360451, 193645572, 391850162, 779721654, 3177128108, 592369082, 2686877104, 2146670565, 2007132752, 758043155, 3359292763, 3611140204, 576017860, 2583648370, 2065393961, 1488841761, 3025930987, 2096142401, 4248596141, 4069490382, 2767998596, 3501972530, 2674235302, 2888379702, 1880759771, 2460074797, 2085562482, 3292088384, 2789161817, 1610968654, 4177089839, 674118040, 1283767488, 2847283350, 2825250500, 2038599794, 498916973, 1762908307, 3219783238, 1722515931, 1242824407, 1588131617, 1034555124, 864727790, 1036895602, 1779649543, 3056083676, 4105959133, 3790731538, 2178555431, 1853477327, 2070816264, 1506511758, 489989375, 1388255314, 460435279, 2652978332, 3393779185, 911371586, 3839736164, 1901425434, 2410395548, 3710324941, 374388630, 1331686034, 3339000138, 2979253117, 2817402219, 2129454970, 4142589065, 3464472520, 3952535422, 3885763664, 2843384165, 1920199630, 3457171248, 2274903342, 589320828, 2086956372, 1489761184, 1365102531, 3377147719, 3343206112, 1462535491, 3285276448, 4125432194, 45703861, 3571734306, 3078469650, 2937219815, 1944187805, 3785964673, 120760480, 2223359121, 955047663, 1420041905, 1313865014, 4005672716, 394791719, 3829162711, 1927625809, 490884585, 3751350577, 3569628415, 2493079380, 2503739174, 2029588963, 3565162995, 1090871238, 4136158377, 1776306736, 3872338644, 1450376855, 2240334116, 564535688, 1496120811, 467447849, 904524802, 3792348303, 4274702269, 29498128, 3739423367, 107031991, 2734773177, 4201533007, 3100671630, 676607583, 3937978501, 2944698212, 1676171301, 2057537746, 16640886, 4142644163, 1997089331, 2791185953, 3496088090, 3744805072, 245912893, 1455864382, 1455937756, 3798399698, 178789742, 1565051231, 587654661, 3980643404, 3357983530, 367464071, 4150804354, 1201117897, 2310402583, 1205014408, 61869591, 357978284, 1345078689, 1280184266, 2084403920, 2331461193, 2039673899, 2920730225, 1950412230, 1161714439, 509524150, 1393867869, 82453571, 562434258, 1726453538, 3580720500, 4180509990, 1829425302, 1060639399, 3487545851, 1385025540, 1616256181, 3411086399, 1847371367, 161568819, 87309972, 2557660778, 2683388045, 4003733100, 3230780842, 2201450085, 3385059498, 3764827557, 1400657257, 1206290748, 1720354093, 61013348, 4131452381, 2182256916, 1955946635, 680852165, 676003697, 153885284, 3429456340, 2969766992, 3483896017, 2223562826, 3068496503, 367721711, 4183749424, 1061132403, 742820325, 2852111389, 2015283803, 2355753089, 2282494053, 2443641035, 1833266636, 3386478341, 254500387, 1557839038, 2086222489, 3258386732, 2000740381, 1117858299, 3870296813, 948050977, 2041900929, 1499817467, 2369429098, 3626807534, 1240795182, 4180326289, 872327712, 1114811161, 2613062493, 3433059101, 1177555707, 3373379959, 4182797934, 1040831918, 3454314337, 616628252, 2201602731, 2304187296, 1002145003, 2499146836, 2289766096, 4174246577, 933110695, 3247079324, 1724366715, 4034986081, 2441921732, 3343580304, 1582607399, 3071371461, 2498983556, 1671996991, 686356444, 228655396, 920079186, 3987900115, 3630949162, 746166595, 50267872, 4066225744, 2414246363, 4294520005, 752330505, 734580593, 2775480728, 3473011180, 2319227272, 3210044074, 3919273944, 106543306, 2972724089, 519456305, 3404721817, 3318746839, 2551082975, 767927422, 263076055, 1137326867, 3721962685, 3899276518, 633476712, 3430638104, 3154204948, 277359343, 2134089201, 3887767140, 3148427090, 4242849167, 3460448952, 119210741, 3866419487, 2987106016, 4162222097, 2623667806, 739279421, 2857356976, 1628995259, 1862806567, 2734902948, 1797275317, 1381876862, 40058660, 1109117857, 217028244, 2192515623, 1092335427, 4142661400, 1718907813, 3633340547, 2160814070, 2787686533, 3856225052, 346828399, 1242690969, 3085166407, 1545985129, 3551323721, 2196057351, 1316773758, 1979112131, 1773837581, 2497105164, 2194223243, 1265793451, 3382231249, 4228904558, 2784717431, 3472220179, 424650252, 3015323145, 2717350070, 866300644, 2924500344, 3212613808, 3375456032, 493406844, 994810725, 1552372672, 130505908, 3579671444, 1427512400, 2769626188, 3295681234, 2723315273, 1452949002, 1912175692, 3879012349, 101473103, 1733995109, 1046129681, 2721680001, 1274321140, 3457353103, 2048414544, 3579018368, 431207829, 1066384914, 3036857923, 545860846, 1970386755, 2935085557, 2372676214, 2890928499, 2084754565, 319038196, 2271493356, 2734053998, 3399354430, 2434876451, 2909323786, 279914979, 1051113155, 3629025878, 2654127990, 2470344903, 2494298996, 1807554481, 334217434, 3557106073, 3109330992, 230294081, 234099497, 368951247, 2206893874, 578551921, 1949584160, 1611222670, 2901120450, 2810695084, 1280874522, 1999559027, 1302781789, 910927971, 229424619, 1571513904, 1858068495, 2466023256, 1137329088, 1883204457, 2380011063, 3259955917, 1360678195, 480127999, 1163136923, 76832319, 2327598739, 1965754853, 2217108075, 2734240282, 3102281703, 3100806038, 3949941067, 1101807065, 499844465, 2672066073, 2266301648, 1686739173, 3390341659, 1814131152, 497718007, 1143431892, 3653107734, 2239497545, 1987501283, 2375802095, 1434998033, 2636033995, 2999334777, 2334342353, 3624335628, 3112890961, 2484725001, 4289108386, 927814813, 2486402366, 2452323459, 1294677456, 3496423362, 801131240, 2507104651, 2996799139, 4048417348, 1688464092, 1990066501, 1035404689, 2348148606, 3382710268, 2761850488, 325399326, 678983368, 80569928, 4267532250, 4270820604, 2712005755, 4287522906, 665691420, 1567179343, 1007835199, 1138168368, 59685317, 3215817015, 1641170229, 1148332049, 2815064989, 3550966709, 3987781343, 1880200585, 2702954832, 2294525697, 3695176927, 3639364365, 3222505929, 3477149784, 2966409289, 1057922493, 1612712976, 1466240358, 113456273, 1203155402, 3582419168, 2007367408, 4159140767, 3650399532, 2908690476, 224322530, 3771048025, 1777487608, 3896526569, 1612996809, 446130963, 1435823055, 3150670634, 994382469, 1925325870, 1378032608, 1338698441, 3189960390, 1082830467, 4257106413, 3115404181, 3063499602, 2535055161, 593957888, 2646191809, 4050587019, 2217410574, 511634065, 240671958, 3086669361, 1063908662, 490676908, 2103900942, 3717874311, 3926629400, 2890728911, 2543841640, 2454465722, 227973697, 2946880881, 522289858, 2389864488, 2099585281, 3929349299, 1663490804, 1598967164, 2301932070, 3745405298, 838173959, 3128808874, 3084153657, 4194977788, 3130406086, 3810763419, 2826233544, 2416861156, 2281041730, 3356687362, 4253108063, 2248989117, 2803462793, 1518719808, 4253285204, 3344596614, 3609613633, 724754467, 310851601, 1304533344, 797069475, 132318948, 2015439436, 2421985858, 3102218687, 2557686492, 3518881491, 2429664444, 1969249390, 643712151, 4224552745, 3727632313, 2375908051, 667621964, 120698484, 1424929454, 3776967861, 2463855487, 552129510, 1885152186, 2718328647, 3471510696, 2424152582, 3714730123, 2399216546, 3384590956, 647922916, 415929884, 1762196629, 1977330817, 4036181735, 1227325811, 4260967050, 4107987702, 3272100139, 490236621, 4027522357, 2370594667, 4190202303, 2155560253, 4069175006, 1212344360, 1362532088, 544557212, 1261418310, 1629775998, 2218084366, 737801795, 1881706232, 1560863006, 2717101796, 3142906346, 2678537073, 1743041844, 3436814691, 1051891809, 1276216229, 188120555, 3219578305, 2985410985, 2557041190, 1979447112, 2218372269, 3440784339, 4024123600, 1745163878, 3329228253, 1621594630, 602876922, 2629679876, 3851592743, 991837164, 3602363919, 2885322605, 2235597421, 3918598780, 2529243549, 3602150250, 1934495014, 63057652, 2160462378, 1029285135, 444597931, 2425628641, 1561477732, 1244262473, 2045367425, 990440996, 3967377358, 3006397191, 734147187, 3217854983, 163999242, 898056091, 2651056180, 4272438696, 3868663112, 3848207980, 1503803499, 218268533, 542729718, 2645901609, 2752759460, 3782397251, 2849375256, 570030648, 262040806, 2176195928, 1915160225, 2647312616, 3948741559, 1023396880, 3194024120, 4246762046, 3976574273, 729779881, 2424207209, 2002305729, 1949587487, 1124907438, 2595385108, 3077102865, 173491820, 2295159171, 2576961493, 4146556019, 740696242, 3835015845, 2034185700, 811604160, 794772938, 165986573, 2656446057, 47379747, 1082312436, 2268455512, 2024344353, 1322509971, 1023050059, 1563607366, 1270807353, 412405002, 1752705272, 1447207950, 119701702, 1163218932, 2935400255, 2384667688, 2972247157, 4141557573, 2141771411, 388854029, 2143924263, 1220722491, 1189032653, 107111706, 517468073, 389897848, 1863308999, 758696793, 657345072, 2260004657, 2526015007, 1002545678, 2367178533, 29955707, 2070886310, 4133352533, 3953098915, 856042069, 2410773616, 1457346723, 2946963893, 1246485846, 1084169213, 2755694992, 3376720916, 1779755486, 1485895354, 132626874, 3777337723, 3252769953, 2897926684, 2560975845, 2144410843, 2252462046, 11654045, 1487427819, 2002679569, 342032783, 2126479392, 464099044, 86213666, 1912498719, 2789117955, 4228051109, 3218302528, 1088290466, 1048678872, 1413822501, 3840496770, 3732613769, 2156996402, 1402338655, 1485931841, 210148521, 4078346469, 1763350488, 1552856687, 1996975736, 1049014021, 2278689721, 2850737370, 2907163301, 1427840685, 2210697120, 1413305905, 2755055273, 507605969, 695971009, 741844936, 2799876434, 3116374361, 1462203744, 1567766472, 993958068, 1977777481, 633521078, 3651975504, 103011660, 833862839, 1609792656, 3701266415, 1232495958, 2351044368, 1006982875, 2000430338, 4143206853, 2179385955, 2108485366, 829817418, 3001415746, 1923679580, 1025847570, 4109395722, 606105081, 2347369044, 3509202032, 687830108, 3956497007, 2940366748, 1344710166, 1828752645, 248000783, 1045313966, 1134770310, 3333464494, 3115308138, 4225115770, 1454804775, 660663987, 2604236861, 3753108489, 2996975439, 2747497442, 823330760, 2257909950, 1068654771, 1845278220, 10359429, 3109278762, 973165948, 612981752, 654075571, 1108684363, 2693812018, 912600473, 1237408497, 2176826149, 2408956074, 1611988561, 143071480, 1859941784, 3025658256, 1197642537, 1572572838, 749614438, 3596452878, 1556380614, 1426171706, 3007621877, 1236768712, 1935674954, 4047784525, 2680191120, 829290273, 2807319730, 4276436484, 3055054328, 2449476941, 330987777, 606801745, 1253663396, 3441511345, 964694766, 1089465963, 1603671089, 3465573374, 1937535981, 3601813899, 1622835143, 2154026142, 2729498916, 4155241552, 3447171931, 2299335600, 477280602, 3300508083, 3584535152, 2944393511, 1214752937, 1497684040, 3685257889, 1776423961, 3501234620, 2659099048, 2171344692, 169854663, 1825679796, 3071850152, 767822579, 4020650526, 2875335704, 1201736695, 3441053221, 3191791084, 2877951399, 3883804225, 266416136, 1298554772, 4016602166, 4129009041, 3340374967, 2091571861, 2795897418, 3838309832, 3558582515, 2529395159, 2019189475, 925128792, 3071724348, 1199738511, 3398124709, 273485536, 3448344666, 3720462364, 3638534965, 3591097487, 2577528289, 411533338, 1601621842, 2769034615, 260107597, 642240592, 2246591362, 65693523, 1319019604, 527756828, 2856407955, 3704039577, 3364502859, 1114884588, 433914560, 1333110436, 3833849385, 2750191086, 1761458870, 2439872045, 3956204054, 323956876, 1456494385, 3798979482, 2380515833, 1396506299, 534658271, 1607378103, 3958266282, 1170430186, 3560250865, 1536002010, 270477313, 1565147415, 319617828, 1024581459, 1937754243, 2687040098, 1927429694, 3104718898, 3746036616, 2072891415, 1359852199, 1231110470, 1176153635, 4284721101, 947844789, 533306860, 4186168954, 2360717968, 1393675167, 1685568290, 1939221095, 17636652, 2901375919, 2149489987, 84927418, 1798194825, 3062337883, 2490634945, 1837321692, 606041135, 987902987, 1841411508, 3247026599, 239181431, 1391343541, 3292095826, 325356755, 1085223421, 2198932637, 661471488, 366148064, 1837806125, 3039291848, 515575656, 3463371132, 1808638995, 1693437102, 3704695879, 1585644869, 2853532834, 995508357, 945191536, 3550992604, 2835607532, 3864711697, 3673354452, 323814412, 2587542059, 686341341, 1859594117, 934541818, 1657602986, 211582324, 3640955737, 1158455542, 1251940754, 3136601566, 1955811413, 2361432679, 3047654529, 1779944426, 2688400469, 629602251, 2163509663, 1287996020, 2158739413, 3340850429, 1341329120, 481296289, 199564089, 2414081927, 1493548496, 1706848093, 2058045652, 1423912484, 1284894392, 2004868252, 1591153294, 361117793, 3206423666, 2686046821, 1731369955, 1994905960, 2023168085, 843234998, 3443271155, 1724216245, 1062259414, 2476758895, 3018404050, 3215280727, 2982677290, 1858431263, 3761112078, 897230766, 810181776, 3875182968, 1733474034, 1835825646, 3505620613, 1891076118, 1867251141, 1930461297, 2500332877, 3483701609, 367088455, 2799831820, 3047637270, 947384834, 1821713063, 2067829862, 148630818, 3856894557, 2454880345, 2802388873, 1439665838, 2670014365, 2662281713, 4160614866, 1493066433, 1024331236, 4009968648, 98741844, 367354586, 559125310, 1243246883, 622451542, 2222811116, 3419336495, 2918574606, 2864333876, 819606853, 3403598349, 111184422, 1504796672, 2340287431, 216853225, 2055992084, 2890263394, 4220230535, 754403613, 2701080118, 913346115, 4254377989, 1172187205, 2052839470, 3760815248, 1367033620, 2205244655, 22283726, 3466292060, 887766993, 3178714391, 4218190906, 1623936965, 1366241600, 4236347397, 1182095886, 2859290314, 1685273413, 2009037579, 4067008657, 1296709590, 1457680920, 2637879535, 1964349383, 1732415748, 2415453530, 1665152403, 862230145, 781554880, 1429713967, 2383113424, 460079882, 3015396247, 1773152954, 4130736925, 1693986497, 1430351298, 2904046856, 881787601, 3705917147, 2062592779, 1581157992, 4081911301, 1704424410, 2986417852, 2611480717, 38948497, 1996291251, 1138441963, 3416893499, 1576023279, 3807624616, 4093351400, 564704392, 3773231242, 2085565630, 848777274, 2418501856, 1688609536, 1695546837, 3397190759, 1188402416, 2450646992, 204000126, 2094128883, 4174928041, 2968649141, 3215111401, 4090468737, 1263998631, 3959794990, 3029654278, 1864652047, 2348693424, 2966326802, 3418727933, 4210244917, 568515049, 375126757, 940179750, 1269591643, 1275160667, 3899133152, 3034081444, 2447461755, 249703178, 1652145342, 4246044386, 806223980, 2241575283, 1582169908, 1374597058, 4037496075, 137307713, 2115148273, 178650771, 323600546, 446930206, 2619379777, 1420582487, 2012055712, 959573977, 2939622127, 3054489050, 1995395513, 802473521, 597030893, 3688786470, 2337017045, 2764529607, 1251545880, 1968249626, 1602154820, 4263344057, 450974333, 2548743360, 3786883728, 2743073652, 1034562708, 2851718015, 1574106431, 482829239, 1180815653, 1990655779, 1462471742, 3389370928, 2965145488, 4286262734, 3738334891, 1192884827, 1897586366, 2569800324, 1229642598, 3865408954, 1879845224, 1767822966, 512220259, 2581533254, 228871523, 2348904060, 2869930567, 3268013399, 3453341379, 3218936938, 526820931, 3404761543, 2035280951, 4003840970, 1837618501, 4081094890, 3151318988, 1333378414, 4196886040, 1686084458, 398027153, 297035048, 1824185846, 518873051, 2685159814, 1263483126, 2591127421, 1120663858, 1659829947, 3171064444, 321801042, 2029928394, 1788537317, 4023263439, 3401087746, 1643099664, 2528823117, 2593321757, 3110018510, 633969492, 4107179681, 1254821417, 1555033727, 1545825587, 397298342, 2292447854, 450635390, 3455955931, 1996485759, 3755981170, 3405447875, 1750632342, 197594823, 2181118078, 3806454138, 4010760607, 1293673786, 4013969984, 2472460918, 2354352088, 248487245, 3506647134, 1903216410, 3182531103, 971610197, 1965232945, 2929992812, 3892735622, 2975720880, 4222995760, 2426114502, 472349676, 1339965837, 3639581315, 4152054705, 4255494887, 1020971969, 3209228292, 439181517, 1122921715, 996194549, 1810177478, 3351460536, 3661139076, 1997246728, 2283145181, 991631205, 51913958, 2239714249, 3412264193, 2466525050, 2602886380, 2584285850, 1300588709, 3427473258, 4172343311, 1792109223, 3231456645, 1531882656, 2052515465, 2401931772, 160241007, 1641462200, 446424601, 880557318, 336655501, 907590321, 3485527918, 4177357613, 3134242960, 3467129391, 3160237260, 212761358, 1404087363, 936639744, 2979707015, 3509167796, 2476693557, 1898898626, 176555993, 601139215, 2375811274, 3063261471, 484209617, 3984737552, 3784828499, 1931916325, 2515619357, 1883685679, 109034314, 2731230912, 2669222001, 3796604564, 2981705618, 1331676420, 2335942357, 1224721988, 3425195422, 558023610, 1259139273, 2357733059, 171004386, 1055323560, 2792357171, 3864367243, 2010579976, 1209593406, 3227720650, 1063164791, 2172098950, 3610094308, 1830469101, 3372676589, 2821575293, 1651577147, 1396790800, 3515535349, 3614747925, 1880895070, 2156016073, 1157850060, 1962323082, 1755248783, 2948415282, 3999378433, 3231411224, 3589203161, 2932545646, 3511260738, 3225754108, 181067272, 30978046, 1811399915, 2159725568, 2637043293, 2799502359, 3450203529, 62862541, 3545310655, 3001952810, 3269734186, 1040843473, 325065636, 117932589, 2046305588, 1449571689, 872012637, 1231506186, 2761701670, 3505002056, 763300294, 246170220, 1906216887, 2377773179, 100271157, 490669162, 3253602935, 1483560836, 402820985, 2473313279, 3523684899, 729434749, 247137634, 785320921, 4265375264, 4097470146, 2950023146, 580520674, 2715559662, 497047204, 2113792680, 1508696064, 3123746603, 2084070049, 1980163770, 10013308, 2222924641, 2327453044, 386527972, 2900765673, 1821555310, 2448772846, 2113427898, 674760994, 3446969269, 2730393308, 613372640, 820746716, 2420965867, 3551187044, 882002644, 3284616704, 3172091548, 2239047507, 1046699092, 3355804350, 2799748549, 1894980098, 2465113776, 411959443, 1892218964, 2073954176, 682505045, 3392329524, 2234146376, 2722843641, 4047821000, 4099064225, 4154455411, 212696645, 3857385519, 2741987381, 3287349754, 249524359, 2806683963, 2739111905, 2727003739, 561142917, 3698427216, 2056214119, 3564414203, 1601842399, 1306854243, 4056132862, 2866851521, 607448240, 4252669261, 453007247, 1116997362, 1560371857, 2205308277, 3617315249, 2733042857, 4190896562, 3460037697, 3382984403, 1949148823, 3553758927, 1881583055, 3362665013, 1727317925, 1320248302, 1285933330, 2897262522, 2782832882, 1613981464, 387782329, 2610764135, 106122300, 347271328, 681558927, 367350689, 468350902, 573718590, 2519007042, 607766283, 4208791968, 2427553186, 2202485508, 3098487660, 3078038286, 2941641855, 3228882657, 1476571215, 3303375561, 399121238, 1973863020, 997988858, 1997414085, 3578147109, 665469565, 3815926414, 278334842, 3597322535, 4194615710, 2611973388, 1676109172, 665079460, 1750947342, 2915176489, 2102249800, 3585106674, 644121224, 696321643, 309636986, 254429010, 1741573869, 4067706664, 3145033644, 3947950182, 2088098334, 3826798213, 2345604311, 2048290002, 3895040722, 61385984, 557080689, 897017836, 2019849606, 1725052128, 186204110, 374536448, 712968892, 486302744, 1159282112, 3091492220, 1251306109, 564970825, 3541180233, 1125909783, 817088031, 700988260, 4091767021, 3226456666, 3296678414, 1344076789, 3419730175, 1678303610, 3189632373, 3160720838, 166699546, 3575699507, 3411667329, 3583036743, 3312554901, 2872752009, 1332955215, 697951021, 598310337, 4146222193, 3927149636, 160156456, 1039842462, 1699833586, 2539049519, 1525697307, 2256317043, 4162393199, 2893860813, 2318259799, 2420902072, 4214521611, 908939053, 4213727250, 1874058108, 1686893510, 4291076898, 2108426834, 2396266921, 2154036321, 2727510961, 2346966637, 1486873338, 1242715510, 2803789913, 4068148670, 2867381628, 866592784, 3701275720, 4168434532, 2459379970, 877073248, 373273564, 3307887814, 1821678580, 482299183, 4015265155, 3219142286, 2455199464, 3206146583, 3983159649, 3597803091, 1794397409, 1769179059, 350216387, 2686588576, 2709876889, 1653940985, 1920998081, 2323684841, 4105301714, 1112246546, 1253603586, 2514269333, 3436826452, 163272296, 1398804594, 3713448408, 3782405653, 1022461939, 3457640552, 4090374367, 1964694871, 3321888148, 2222324230, 168933367, 2503381084, 772438893, 1912913986, 3082843772, 2348562475, 3976094767, 569151431, 2415856544, 1384454405, 2011103444, 1808983434, 2938181012, 240238066, 4145000137, 3068457843, 1982709010, 1964214448, 329349403, 3388873350, 2125099943, 2891075916, 370070243, 4187903899, 2910288416, 3290477151, 2330041702, 4125589446, 2543592015, 4091526711, 1195455011, 3030898304, 3494043397, 78327965, 1532280732, 2922512676, 1434575450, 929615345, 2927018260, 3682468567, 161923108, 3201767990, 2211874993, 3335043896, 3086835881, 2660160008, 2932662248, 1254988442, 1966384039, 2715821836, 2878936192, 1823434908, 391016287, 341704041, 1101659289, 2873483968, 1639588470, 3241790318, 19099862, 2596362534, 3487890699, 2761686107, 1942227062, 3966152064, 1766311906, 1329608194, 4138204741, 3908215332, 931231225, 2451091477, 3058840323, 2170839691, 3179326389, 1607128964, 932453357, 1373207989, 11097271, 4097816447, 1709974937, 1639471711, 2947044562, 1988074616, 3019681775, 2050029727, 87983734, 2537780959, 580034930, 1627674393, 2797721824, 2512170674, 1921349655, 3300087779, 1622724703, 257425645, 1354427269, 1014729667, 3868687046, 4048039019, 2679077881, 727635847, 4025512744, 4213515113, 4001788745, 3900200039, 4171578551, 4052423926, 3902042753, 676165368, 1224192802, 1833381248, 2430196999, 3274883493, 1547236766, 884663342, 4145288083, 1667015921, 976364871, 42481548, 1230283092, 2501110986, 2700098749, 136839502, 3741800349, 721003264, 4252709236, 2169252956, 1664536280, 4192778152, 1977449171, 346530694, 3321115699, 3794630026, 3082775347, 3440454907, 14050723, 2684499766, 1418638958, 1343385621, 505336401, 790159153, 1109267574, 4166151014, 3724779104, 949303344, 235845189, 574026682, 4090967142, 1596889717, 3474957653, 3244077163, 3548123938, 1397046694, 864258639, 3572697899, 1020974443, 3196228401, 2251609890, 52125474, 382030795, 1866182607, 670734909, 302184140, 3326670500, 905978184, 1036421560, 4119684619, 1116843530, 977803196, 2158332015, 159387821, 2589362861, 2491002277, 2833414347, 3781604034, 2194273981, 3934539619, 2729659043, 2362302667, 1732156885, 517576833, 3739480886, 2499140508, 756899060, 4156506106, 3105684001, 2318835648, 4079081191, 548948287, 1063623037, 2131371171, 2365545106, 3516812088, 1347491178, 3283306246, 3216281718, 540360582, 3286636973, 416920284, 4221515878, 3073669362, 2884489087, 3439269478, 1174657488, 3795634475, 3457652008, 2392713692, 3595480804, 3979875597, 3650588597, 2771382659, 4113779960, 1090588145, 1439553506, 3286101868, 1229581696, 2903687005, 1826712209, 879054779, 3414503480, 3162702934, 4152488191, 1980202039, 1907857347, 1428572698, 3664301579, 276063080, 3897884913, 2609624611, 2060336963, 386137531, 177285570, 2641970888, 82739209, 2058744889, 2370115681, 458268723, 1681935180, 230287578, 1975297256, 4282490692, 1644548766, 3480609000, 3402542218, 1581380018, 4037602700, 741443427, 1765397023, 1038501056, 2934048834, 2293401171, 817948152, 1298080055, 4247378061, 50635955, 1101972800, 3839362911, 231913326, 864820399, 2145330701, 2045581884, 3598412089, 1298897506, 2615380309, 4245221333, 1150144571, 3931856162, 800373094, 3465215115, 3823613777, 927322513, 3634352194, 2944161419, 3714049969, 1997926866, 1069093452, 4193386717, 2530421773, 4205253503, 4094640020, 1779505017, 1669212311, 738934620, 644117132, 239778272, 879378284, 3413897069, 632913698, 28003042, 977383029, 2051003038, 1576750431, 3407184826, 1336021481, 2023740327, 4263724361, 873063082, 1119074440, 1584719153, 3060815255, 3522410378, 2911002971, 2745666303, 693172389, 1931346357, 1701139452, 3453948639, 706232401, 1095319691, 1022503870, 2503200696, 2063909676, 1162966612, 2804929916, 3539549836, 155812598, 2083423300, 1289096226, 3970699713, 1788369787, 100142494, 2820676888, 919824758, 3199489124, 999532615, 3228453478, 3071395992, 1609231351, 3040606469, 4280843898, 2555391386, 3168261800, 4069369431, 4097499857, 3920444900, 1550174844, 3416500440, 3642148203, 3964625112, 1237212714, 3908509042, 561368859, 677683539, 1114213723, 67329562, 3196318904, 2043660932, 3087011033, 3546058898, 1457708474, 1768030589, 210468983, 2247114678, 2321105461, 3172609227, 3685308220, 246743278, 2148184539, 1297420396, 333661102, 238030693, 1282300794, 721221195, 1897279334, 1408980540, 4018373767, 4231409359, 1956629172, 4207740486, 3090802756, 1548984794, 1561092177, 4294196001, 408869817, 4038338468, 1394039073, 4157688603, 1832083812, 720352001, 1509828619, 3363272759, 1802039422, 3254465779, 1190634449, 127434663, 880296322, 3993915576, 3626948136, 618823478, 3601431181, 2158042018, 929622344, 795925817, 2097997619, 1188755905, 55938215, 4255340766, 3349207466, 2418241118, 612896157, 2961707397, 4198753519, 4162841620, 2633655999, 3618338210, 1492438833, 1879135530, 146481592, 4215641396, 722372281, 3682923046, 1506610455, 1251154315, 514626368, 4078743830, 2070075723, 3410843797, 3933950562, 3489165951, 1798423981, 3787926312, 3446821104, 1417767410, 3778461155, 3732405450, 4192304212, 4289638617, 393031557, 1256817865, 2494032813, 4221262289, 4248767718, 3526578619, 899635557, 542871282, 2727942022, 3176163889, 2668944876, 572896274, 2479010207, 1133133961, 2408931601, 1953051328, 2273085390, 2011029304, 314865199, 2345154635, 3787188430, 1669490302, 2998457472, 3422109042, 172294925, 614155904, 2879901192, 2252741662, 2479301114, 885153717, 2662885320, 2471889248, 694946972, 86807664, 4123054017, 973850687, 1444024411, 118915301, 2146652230, 2711319091, 2647200390, 3043035457, 2208702674, 3847373259, 501960093, 762079705, 4249270832, 3187389620, 417161666, 3870448397, 2369323942, 2348293906, 3430620962, 1113854620, 2043298584, 1603542021, 2615964675, 3319168597, 3053394247, 533540850, 1767321567, 3596084068, 658754165, 536202424, 807429038, 126742907, 923559000, 441091822, 2427237022, 1549120390, 22229802, 1709186066, 2189051293, 4221894848, 3687189278, 1522293361, 653313313, 1261951991, 1430149026, 1035389081, 3844523355, 2239125300, 4153672882, 3730397468, 3314819838, 2506595502, 1575616966, 2132041048, 2903577001, 2714076710, 3783560377, 3725944549, 3462227725, 2324601536, 1638979539, 1387377729, 3938571611, 4070270399, 1657235489, 3526723744, 3205798263, 1092941657, 3081421199, 2932354611, 1022311722, 337609886, 831233102, 2252643035, 1897344712, 3770126430, 1139096573, 1178406555, 1035071998, 3703981830, 4014080681, 2568361291, 3616657149, 2728943319, 2974984701, 293109730, 2762713914, 2057737043, 2207181729, 4270880309, 3304469317, 3336623849, 302694784, 3605530815, 3711747325, 2785191998, 2395303901, 622416820, 1275711346, 2086552659, 3566061255, 3565802532, 2438156403, 997782721, 2701166306, 496195657, 1839525758, 3140605390, 346417201, 3186172510, 2775117295, 3973953248, 1975316095, 187936340, 4269242103, 688077185, 3233481294, 2974229591, 1724014078, 1350047940, 4180445135, 3106618222, 2918368891, 2801750918, 3029521884, 1857458516, 1622451195, 743890819, 1461655526, 2677466712, 1646758548, 1777005903, 763259360, 3465926418, 311321312, 3416514471, 1249743742, 3771691155, 2047888098, 1694080882, 1030281533, 2939018013, 3370116136, 4055140720, 1688555156, 3674374125, 80875529, 997309871, 3293111228, 3208075812, 1135522745, 1387774764, 2314055249, 3994243555, 531220717, 2672351482, 1371413648, 836679835, 1943872537, 3299621641, 2301636055, 191865525, 3726047840, 1646107021, 704877481, 3965691222, 2420486555, 402082027, 327129064, 2011889942, 2732720054, 3757699867, 2577589734, 1237365680, 3258104342, 1041810349, 3481578570, 39374557, 3194564112, 1662193994, 1567073819, 75359224, 523927475, 3852153291, 2142039092, 4291781935, 896060432, 1926984245, 1366085546, 1630671856, 2605566030, 3458577298, 3972114736, 1114342487, 2556633050, 3828351750, 3507101498, 1610362071, 1527636817, 3040452890, 4190805589, 4032500220, 2756184070, 2559674993, 3434236490, 3299220157, 3688001120, 3193900441, 2674191877, 1362779623, 1842433231, 2348263279, 3946014299, 527849464, 3766933666, 1427247443, 68698572, 2542980275, 1182393376, 2037312721, 3166737337, 573308134, 1560257309, 20049784, 2206398697, 1317096856, 2665335363, 1438364838, 2295044447, 3250746040, 550805704, 2302419164, 744880973, 2458121097, 2790119650, 1627602721, 2336107827, 3185343087, 3921745881, 4281712268, 760198815, 1609999142, 1764809398, 3313892373, 1776800319, 2364626552, 676176080, 4171828841, 1724440324, 3636542258, 465707523, 1691568273, 3933462608, 3445981125, 575150775, 1940914634, 1649184524, 3963188648, 1837610273, 3199713725, 2595555645, 2168793501, 282254710, 3800676350, 3170896810, 565379621, 3238863396, 153965772, 1517472992, 3026123735, 3796639911, 444670772, 2684734180, 2601827012, 3993658163, 747357116, 3854093792, 522259267, 874675811, 709008779, 2953865507, 670830787, 1253276992, 2941581945, 1599554638, 408776447, 4280714136, 1390614060, 4072685560, 1094148564, 1350036583, 4016132840, 3195034571, 3038566031, 3323512748, 945331200, 136774464, 1328487615, 4144831263, 963882196, 2978283657, 1895141835, 3913889094, 1614855105, 3114317221, 165309205, 1138134314, 2651387789, 2215134225, 2539602173, 1457880463, 3969122122, 1710001048, 3875796031, 3514041181, 2239223689, 812230465, 3921173229, 1260908183, 1661144078, 3986577837, 1001253911, 760423702, 349558701, 3961698361, 2838609854, 182477234, 2707984190, 2949294545, 1710143461, 3650902904, 2504258645, 565937604, 1297751437, 3711399375, 2768511602, 1639386002, 2369599190, 4102560335, 3895727547, 3200847100, 513551911, 1909781692, 203911457, 2109500370, 2997033267, 829730770, 769263439, 2194505545, 3394950862, 3090062603, 809581246, 4156115953, 3313756413, 3503040464, 4064927873, 2607223866, 1512333878, 2913878202, 4124994670, 2102985590, 611836938, 1691638889, 372650762, 4081835726, 3082056767, 3316156649, 598607485, 700979504, 4076598744, 2247348402, 497709135, 3648559485, 2975920210, 2470041533, 228782213, 2073452126, 3247257754, 2598775610, 2146662294, 3916031267, 140705996, 1493977598, 1366903724, 1520805053, 4285654055, 1898370381, 2166814126, 227909444, 3002542471, 121112092, 1440795373, 4285062798, 1670346039, 1876320427, 3373881846, 3727441767, 2227486413, 3844168547, 140183762, 1502579423, 1499563790, 1417239220, 623167334, 1344915713, 3731152068, 3205425899, 268793415, 871700579, 2593861848, 766951084, 2431433769, 3971977830, 16137961, 340125268, 1536804800, 1239647861, 2238812734, 2613376787, 3989509541, 4031088134, 418746732, 2888288025, 2921087660, 170978701, 3715841339, 918192344, 3594241737, 2461350243, 3603347543, 3930847615, 3634182400, 1629022626, 2475949381, 243964970, 2780717192, 2948845136, 4263036565, 2642081715, 186580736, 2969624529, 2823420863, 262954712, 2492219936, 893388870, 3938550444, 3496502298, 4075894384, 1776807944, 205677048, 2025967347, 142117913, 2864025194, 4128242522, 2775583985, 3552957006, 2757128643, 724823696, 1875399545, 2046870547, 2068131136, 2281741078, 2779989028, 2388728784, 766969775, 3538814513, 200520503, 2496583911, 2221399197, 3118697854, 238283677, 430491656, 2963324388, 3546827785, 2248315575, 805296742, 1507513791, 1815531019, 1185032280, 3361015546, 2667428794, 795500186, 3119553135, 1964139858, 497596476, 3100374102, 1639940306, 2539304194, 3983848375, 696950930, 4260881909, 659886590, 935862578, 3790491587, 703740098, 2666571808, 2721133876, 1477898934, 2681515550, 3523253189, 665708980, 1142618930, 56734360, 50386546, 537002234, 3258942821, 4238446199, 1617658327, 2136731124, 4037755653, 3944078658, 177980960, 1053687800, 4090422955, 4092876688, 3361205702, 836987677, 3410451316, 1656123999, 1248852985, 10995626, 1587640224, 2782752926, 2252435488, 3921464667, 1960243047, 3150170320, 33074914, 2999152913, 1049240216, 1369853713, 2111988241, 1796476545, 1210898358, 3080971216, 495455631, 2424651010, 832400326, 2036326765, 386928566, 228434073, 10782063, 2019588247, 3715029546, 1423107055, 2299212084, 2413997121, 1976716222, 1093889655, 2241832652, 3171539098, 4261557272, 2532407174, 819153583, 1376067083, 2895967152, 2955552261, 698070537, 4056077602, 3956162695, 1604284023, 1791372431, 225556689, 892059151, 783795375, 2445248499, 3120559782, 464367814, 3888935711, 1232638286, 937499985, 1051300429, 426482624, 712241494, 180257938, 281852122, 1215179860, 506311296, 150211618, 1335626563, 2617235496, 2654747310, 2218297586, 3970314512, 4112845771, 159235894, 1063702590, 4149776737, 1074696802, 388058862, 591730913, 2853366676, 3085098816, 1914140769, 2321884028, 1849089404, 3018323127, 1233498556, 1098398449, 2228136043, 4081524316, 29089538, 1610232862, 777110706, 3707389192, 1396089257, 584922446, 4249461958, 3621710532, 1978677219, 3745406533, 3185184429, 23106044, 2730801175, 3333794705, 3129978904, 3030440965, 1367430278, 2421134176, 553652333, 2016363142, 229071205, 3560285196, 2232742390, 949525468, 3638948339, 4125232364, 3780316285, 898954104, 3582146211, 2358996208, 3198632919, 1555009487, 575530223, 1181301536, 2581976140, 2911842025, 2307687144, 1415433135, 2031933719, 2928125812, 1951963702, 2172954818, 1216789075, 3270074538, 186679423, 3032192053, 1104320017, 28166501, 3448955909, 2223755707, 2432693628, 391828740, 4276981461, 3269621492, 2954912406, 2389358089, 2942532472, 22464352, 433799838, 1215800224, 640141038, 2672207171, 3003706057, 1973588745, 724186149, 2651094012, 2898297015, 1816808259, 264553435, 1768250921, 1473375994, 2757320527, 2024384058, 1877115980, 3377798629, 4063782857, 3521706836, 1391750803, 2326999004, 474820980, 1442153462, 1958651619, 2615148881, 4104169901, 2744903450, 1479804822, 3184904581, 4139120317, 2987444488, 6355268, 3156152036, 391243688, 3003230550, 3166777663, 3951604050, 246239567, 603895344, 293995909, 2590824552, 3080630025, 4027022292, 2840662581, 2096345445, 3369392439, 887569857, 1394748382, 784483599, 4141104822, 648086983, 1431910502, 828718272, 816788602, 584868951, 2635263585, 1923959309, 4256750726, 2510963671, 2069022742, 3699169136, 151841793, 3179193780, 2560741930, 2723598773, 2209336718, 2516208394, 139974253, 1173709004, 3546010171, 437961522, 3538658109, 4051492377, 1080219969, 2402178219, 3712301856, 1613026398, 3945413284, 1744701038, 3956785664, 3397387817, 3613711653, 258533707, 1113981595, 3395169372, 2496300242, 3583029963, 838599337, 1333360040, 3557034999, 2253737985, 2977635618, 3617300826, 3048388220, 1914444254, 928146099, 205700274, 4168955169, 2748964579, 2695390796, 789898032, 3427966164, 2209803625, 1344755385, 4143592774, 1950905108, 3119547547, 2482592598, 2899821843, 1298587568, 2339819759, 916528524, 3233203211, 2926886031, 3771695646, 2936934434, 1333790137, 1309250060, 578846204, 141018014, 2773515171, 3922377230, 3079848956, 246710449, 3774915556, 4230325650, 4185493764, 3070928942, 1539829000, 226179921, 1346644646, 3994836465, 4185845634, 4115400648, 2121001573, 342977073, 1360504023, 1048452998, 3771253078, 679847329, 120716376, 1626361846, 34782838, 4163394185, 3972004654, 848667347, 3650533444, 954245553, 2451827839, 894741708, 2360524930, 2167745110, 1020410542, 3282584431, 1104448084, 34949116, 967213838, 677797054, 1230463222, 2338480823, 234222503, 3723089203, 1556230979, 435390737, 2535088815, 2187726153, 2965741095, 1360122507, 1703928093, 2756241805, 2733190866, 1221097114, 600306495, 1588219142, 2829275228, 1058497829, 1324872770, 3735559642, 2390792302, 4119578522, 783373515, 1653232114, 3176966648, 1615754001, 3075171763, 466715817, 4259541259, 625679319, 3579556433, 1605824127, 3941059262, 3549389480, 399398311, 771957978, 1510917746, 3341139817, 2484723102, 4223760030, 3860855325, 1263992118, 3667405238, 3820810735, 3936268175, 2403109088, 1739143852, 1776224339, 3665756897, 3903483441, 2015304283, 1246880301, 1578502530, 3479114325, 2889706220, 230549873, 2899050107, 4215063786, 3620074917, 31664104, 4205268602, 2589495948, 3276041087, 4063905254, 62356296, 3238820410, 320251050, 1682600232, 3872012757, 2164549997, 451658477, 2137292017, 3074482620, 2669062667, 2120763358, 621921466, 1415106608, 1712157660, 4122754318, 1310446226, 4163652056, 3355951919, 4152690413, 83145087, 2453087749, 2381613887, 961254785, 2144482308, 1038868799, 837213044, 124817973, 2177450512, 4143314828, 3753419418, 4033767792, 3035620562, 1577041845, 2172571257, 2360313456, 1006795029, 2069469074, 3679737809, 996033466, 4242478750, 3075077268, 1420717589, 584624834, 989092703, 3478449888, 2608194707, 3721766454, 2578952992, 434773073, 685554328, 2426794746, 1876119579, 3365976276, 2743391577, 3589366766, 2912367970, 2768391731, 3897327305, 2021736900, 2272843423, 2399122231, 3922089714, 2350308036, 2415257853, 2787959557, 2282017988, 1848133939, 3554320164, 2707067959, 4193691967, 624749310, 4016988439, 2414856415, 562379730, 4002056056, 4288446837, 3970944065, 2168652886, 1695776375, 4046397660, 1238483794, 560408753, 643943060, 91428354, 179903192, 1731798289, 2326884953, 211564734, 3947488783, 2180959582, 3689301045, 1286139989, 3483224460, 2536749772, 3741408617, 2696298194, 2221503389, 827983258, 211156779, 4063189688, 571340899, 1189501070, 1756367743, 266267320, 3148007425, 1481076530, 125071558, 4237460376, 3656921494, 2924163613, 3172952410, 2677662184, 1589825127, 1684316711, 3018540728, 161706782, 186893772, 2067654597, 4043682904, 3559688002, 2817375526, 542812897, 1881113501, 1615004061, 1752342756, 1883551351, 1681990284, 2732165548, 893046075, 908459782, 3706296718, 3459596747, 1516092309, 1469443906, 1452477015, 3528400084, 1886205370, 2698936367, 2982928593, 2747130742, 1210416543, 1317272485, 294663974, 4126913406, 2266173682, 3634902910, 843762726, 3088734701, 918779014, 2560863060, 2802453896, 2648177658, 390124042, 3142495691, 2305496629, 3097756627, 2191912170, 4284482346, 2049310200, 57048633, 3865265963, 3248937290, 2358317525, 2088867496, 634431404, 3180868356, 1101433328, 1514664696, 1298015552, 1026013927, 2430109178, 271479950, 2677560463, 914077437, 2441423503, 3517579929, 3902161523, 948376146, 3606101490, 769739661, 167573579, 3426993297, 1265234774, 3320116464, 2221060622, 3425511982, 3770810950, 3089995302, 3821026277, 1395547246, 1863072418, 3375866419, 3414192690, 4081253258, 1981610724, 1441507974, 1157715779, 1854730323, 499079782, 849511272, 1203842640, 836731901, 2532801461, 1520931754, 1883544091, 2444821660, 3138115830, 2428216004, 941364079, 327084392, 3544483708, 3834993805, 1124646519, 3463198314, 3436120002, 755233149, 1443997297, 1568224159, 1284051673, 3803371862, 847843027, 548978622, 2914974524, 532573394, 2458005626, 3010437934, 818529340, 789878507, 1636601233, 707686283, 3188207202, 2810578839, 3518549122, 766385788, 4022737151, 3815503555, 2016907836, 4263702749, 1946876938, 2886346137, 2444829667, 1365303855, 3561275370, 599813372, 3915315522, 3720460065, 1895834753, 479512080, 1138690565, 1273749607, 644101106, 4135379682, 2621254524, 1123993547, 1828802100, 2110097109, 830621111, 3558535254, 1878255981, 1996759744, 2557896982, 3454369083, 3066150502, 4063644037, 1647783523, 2267898082, 1861479058, 647282674, 2219927549, 3374443113, 307914237, 896109517, 4233592000, 3934780502, 2928753125, 3345592683, 4261738207, 2298217821, 3993921508, 2041526104, 3824429120, 1917612651, 1120129026, 1754995099, 3630110076, 15557064, 3089445998, 39894974, 3945077313, 3828719876, 2075109987, 2899476125, 1974474512, 1996325658, 1998004984, 2868641549, 191818409, 1920333293, 723318750, 1684265376, 2904015016, 1651211963, 2375019798, 4074612341, 3445584133, 4122233056, 3897325713, 2972586458, 2426633629, 784674321, 1449318044, 1643244877, 3424165928, 2543576013, 227569101, 3334269773, 3458745839, 4292970316, 216852919, 558378459, 494997881, 3257591785, 2450994783, 2602692734, 1026902999, 2406283520, 2568235488, 3352395280, 610369254, 1695160648, 2699357073, 1072325679, 3062379850, 2137949111, 3044042333, 2237928986, 483744616, 2726931483, 937438517, 305945298, 604017684, 2025351795, 4179795942, 354483691, 4013664757, 536843616, 4286087122, 2645275864, 3389962146, 2949428452, 375580383, 582806129, 946070885, 548259895, 4068192353, 3454520752, 2259655190, 110448795, 742131840, 2840896373, 2634557738, 1784714353, 598695413, 3887969429, 4160270773, 1104248468, 873182800, 2111492992, 1968712864, 1957051240, 258730859, 4130116274, 1939280782, 1777021390, 1761793777, 2896419537, 3438818948, 3159897730, 3575468779, 767288299, 3533313129, 3542501348, 3563738743, 1050971298, 3341770361, 3189818387, 2190532866, 2790835255, 2872553106, 190636789, 3114632680, 3172149343, 221296827, 1563122841, 2975365781, 1488252468, 1885834040, 4065120186, 243959690, 1297449781, 1572746404, 1055022088, 3436748992, 2564124591, 4193922089, 3803187755, 4151152432, 2021758419, 689889572, 289586447, 3063708103, 3834031062, 392072733, 372780575, 1108158852, 2872040045, 2406483059, 88807365, 7834662, 3155983445, 753686175, 2075294825, 4153296544, 4272365373, 2494115323, 961357938, 1991542489, 3637186395, 4096504841, 3019255059, 2418771875, 161661142, 2187451156, 3691848433, 4278123764, 84424346, 197586598, 2461611120, 2607725346, 64723058, 3240289767, 3713598870, 615788061, 2979216189, 3026056299, 2941034752, 118675781, 2657616162, 1687132292, 2402396211, 3087234198, 3102327226, 2351610314, 303330135, 3881229877, 1234708465, 261199164, 3170339666, 2954629477, 2798684361, 3789650802, 66422143, 1719109194, 3018578172, 2536975105, 883299919, 1202052537, 936435323, 1280445113, 4063244265, 3873929470, 4216806951, 1200626419, 3892162848, 187963826, 3824388022, 1063988293, 2539251238, 3490664468, 182493743, 3856025733, 901987111, 127932583, 3619693157, 4078179660, 2982276786, 98446717, 93598277, 3522849928, 131358969, 4200358971, 2807999586, 3254471392, 1073219030, 4072986927, 408095209, 1394191292, 2435089831, 1762169235, 3818717134, 3449540437, 805326264, 2352799153, 2190908250, 2258935764, 2684316389, 526119104, 2894816013, 509954274, 427312125, 2869836653, 4286077607, 1604256099, 1423272722, 2274534159, 525965348, 3340796488, 1601789091, 900392628, 3814418545, 3841777565, 3004157325, 3664376464, 3709071680, 811522677, 264197801, 1572246390, 2655472520, 3064924648, 2268648769, 197882429, 1335956401, 976020258, 1363973826, 1996573064, 1566268663, 1605310542, 448345918, 922416008, 2148628478, 3863753638, 2769735895, 3160365456, 3874568225, 405755077, 2586239624, 3227697947, 2034677685, 1244482655, 323100871, 2247326029, 3541612738, 3001901929, 1833152286, 818580941, 3335590877, 170250440, 1157756350, 1616680795, 3237804360, 2293932121, 649372115, 3475243203, 3196788349, 3766298068, 2235454393, 4079586123, 1724750888, 2117080697, 1427935598, 166596983, 1585724543, 3372555549, 1516743032, 1269136048, 3215187317, 3220553358, 4232171143, 2356996936, 969950832, 2155614183, 2483181942, 2573116129, 3012792475, 2075165633, 2933745862, 3822667259, 1343874089, 425391154, 3796989154, 2841285004, 3379048193, 639628078, 2801366342, 911789810, 2409639483, 2232696853, 649216871, 961765377, 3767581660, 4186316491, 3937329939, 2269509424, 478503902, 201255606, 1762716896, 1119972645, 3589045394, 2144378466, 2917798483, 3914348974, 3229548262, 1987338936, 3592863724, 2952870165, 3934825569, 4242707285, 1642042999, 803613072, 905227759, 3079377951, 2345109849, 1205828637, 1143431023, 248257134, 1859717390, 2257882261, 3837745234, 1952540130, 3404104255, 4020761721, 3364860007, 3346073838, 3616934611, 1746535849, 3487566988, 826252249, 1677537648, 2678876887, 2350632731, 3483440429, 3680486468, 4245259756, 2361382459, 1010441847, 3180016270, 2081751806, 1788843002, 2812570024, 13654214, 1552344347, 1526661013, 667180203, 3405532626, 833128307, 3656644879, 2720087528, 822339948, 2884189572, 3442570364, 658367902, 2861815189, 1768677933, 2132336642, 1364419814, 1828524297, 3999766, 4083505898, 3868501527, 4071882444, 2830546417, 3960829554, 297277168, 935922051, 3656562101, 3879922190, 2999198873, 1855509559, 3618602580, 1842025583, 3652527074, 1816149763, 1078310171, 3275380412, 1925312989, 1199390255, 3492255950, 731185338, 2101908809, 2844572024, 3357254550, 3284584577, 3756107541, 2119670999, 1584153180, 546754546, 691100061, 1924030495, 1012909015, 4174415462, 1625921570, 2798161022, 2135182271, 79039453, 789780252, 737328564, 1263757880, 1464066017, 2962068363, 4293507817, 2636920768, 2783432062, 159605569, 3819954687, 2633519150, 1127846159, 4054278235, 946965965, 3294487541, 1832933901, 629302102, 4006171057, 2922577088, 1651429862, 1430642901, 3534017862, 4105996601, 3909490592, 1368808769, 3636205182, 3871703365, 251375042, 1628420195, 3334050602, 1541232198, 2753675990, 3544149053, 4044763884, 349882495, 2309389952, 2161728493, 179494650, 3721650439, 1339123944, 1884399319, 3789727404, 3246406069, 3430148194, 3533906709, 2859538681, 1477525399, 880504932, 3917630925, 249004478, 711079564, 2822007041, 3078683116, 4044413207, 564057418, 918987814, 2611793367, 2841324884, 4077005434, 2163218265, 2079326777, 2012446769, 75634902, 1375693034, 3988860520, 3755227369, 1132328653, 3588008566, 729670124, 58455439, 36793941, 4226042262, 4069741978, 486628502, 10499507, 2000564223, 2722526101, 3179385615, 1825007764, 597831523, 3464772700, 48455272, 1212165474, 3296639111, 2300062233, 3290626718, 1101688985, 3097798314, 2854880064, 3896854351, 3479426849, 981521286, 357590295, 485421111, 1480660210, 1535326327, 4137188998, 1494276563, 3962798935, 1231325552, 2663269100, 2972057887, 593470329, 185272596, 2346279971, 2843528239, 3513542832, 1538900252, 4073043702, 198610633, 3220096487, 2884726265, 1869876431, 1973638860, 2479601191, 2757818550, 20008615, 4061466440, 682749039, 198223737, 1406472087, 2417908653, 1271355756, 114670880, 884427073, 1697361330, 2057361280, 2879889211, 1772138913, 1025925609, 452428777, 15625396, 1134300949, 2871327272, 3219385895, 4277665442, 3081537549, 2092889929, 4123692275, 3805304936, 2372567598, 3532506525, 3636682138, 1573715226, 3140923918, 3964267599, 1938319070, 477979975, 2404200719, 1973803572, 2540582845, 4218695087, 2171483277, 234391561, 398840423, 3421725368, 4244295464, 1666291375, 3908524757, 2532100136, 967182653, 4199194564, 353877578, 1595169884, 2567963743, 1229670068, 3621476908, 2555101899, 2854257702, 65955256, 3528027989, 1920643404, 3865112592, 2949758748, 3087232965, 1609880798, 3474263121, 3639464393, 3955714921, 2372662462, 2181297997, 29340739, 781213059, 492418529, 639842384, 461307503, 3888105895, 3729385135, 4174110342, 1648602658, 639614400, 1237584484, 1617578216, 3862602875, 2681948963, 4097332448, 2601742454, 1594463148, 416499184, 2214900321, 2087792296, 641695464, 4020684227, 3273662786, 1312893614, 4003940051, 3646143919, 298376171, 203822893, 4025572789, 696378669, 3368381501, 518851878, 2595809668, 2599055631, 1671374303, 920450878, 2398637094, 3090872936, 1618021082, 3856825071, 2248841580, 1813935199, 3958135096, 537861896, 3296868512, 3738867704, 769552215, 910128531, 1366923890, 2954538539, 2041413585, 3265726547, 1459537261, 4128766622, 1829597508, 884997800, 3720547100, 3281881964, 3560850941, 1257485867, 333606613, 2320100895, 4008567442, 1908796739, 3070653792, 1733384846, 1491639038, 1001821338, 2051681619, 4172870071, 2567254725, 2122892489, 769858425, 4247550243, 1861498516, 374923506, 2412909045, 405692063, 3202350279, 43673479, 1895382718, 2537596144, 2899181134, 663400566, 698922034, 3750593689, 2939818294, 1400019234, 4056987178, 933729504, 1028958366, 2368191877, 1702135081, 616323811, 2931129520, 3533811725, 1958704115, 1987979361, 2522878586, 744446581, 2067985393, 683354153, 2357534474, 547219925, 3431129138, 378597796, 2591919945, 3258402699, 1274027830, 1334527995, 2188963802, 2224928287, 1840770450, 2777078741, 3187214431, 783253003, 1010244854, 628928090, 3051036066, 2013742649, 3258131558, 3723390616, 1252385996, 1362398532, 2269230846, 3568418250, 1084735588, 2804286381, 563438118, 2413849863, 855042311, 2891685682, 2797944695, 2637157337, 3030363737, 3699659771, 1696877758, 4160783716, 3498276381, 3773176634, 1693983293, 2042507773, 3212203463, 4212868302, 329931244, 3736298338, 1060294883, 4223150626, 4008813845, 2044172981, 4182622871, 1500294787, 433168506, 2155712763, 4220711759, 2569412498, 2713201701, 4125830491, 2623920573, 3004221824, 1621531663, 3005161079, 1714302224, 658862316, 496150958, 1920509592, 4189359251, 2943760753, 2000705472, 2508741795, 2686677435, 2983077113, 1485728968, 2674160944, 823508879, 762103276, 3736399897, 3846066322, 3459444826, 452220917, 3792428091, 930216522, 3504418803, 2012925564, 590226089, 770050059, 3049118794, 338463453, 1534849609, 4059018820, 3560820909, 1008166944, 3551498514, 704394650, 831218389, 3044667106, 3234688346, 2550087432, 115077568, 3509312256, 3712617794, 1748502133, 319552586, 828130340, 349917552, 4261732256, 1390792154, 1873875299, 401303378, 2938425559, 1483256636, 1865071193, 2836963092, 1843670958, 2092708871, 117456492, 1246541371, 1536627735, 1947545009, 3731711165, 3321984468, 1726606671, 4239090437, 2421231101, 1100000015, 4278556569, 3747999164, 1855865106, 3372989217, 3290233675, 3754901868, 4027820713, 425096701, 900701183, 3824091650, 1495403448, 3110135056, 3328422753, 3348954943, 2343619651, 2872624303, 3989062014, 4250058545, 3472552736, 1011548023, 3025242701, 3797211743, 3506623140, 2928182741, 2181095627, 796078486, 521988326, 3168508224, 2883933136, 1627122258, 1875751183, 27984726, 3127812859, 2079944306, 3426030209, 2100226697, 103147851, 858815821, 702590826, 1703038305, 1804393345, 1262268007, 3978566799, 2175307232, 4170618398, 3395622018, 3911802317, 2411937548, 113612610, 1033229943, 2017050372, 1149898919, 2464950968, 2084385111, 653415883, 720839862, 3214192825, 1938831415, 1953815713, 876270260, 3986940222, 2528929507, 671145928, 3598059398, 485830374, 84481983, 1047912765, 1819487857, 398825920, 3410185509, 1850151047, 160003540, 3201934767, 1401506075, 360017025, 2844347021, 3456895326, 3688792335, 1513587113, 2698524304, 687965427, 262269588, 587960458, 93446808, 1872686165, 3542328664, 3607571800, 144249377, 3980672734, 4105231867, 2893716626, 466994869, 653450453, 1295226237, 850257637, 3850155884, 1995213874, 4089117989, 69208669, 2597998904, 1368012319, 255908167, 1671958222, 2699851484, 2296091884, 4151316731, 1782138728, 3257932076, 4085953703, 1472384651, 2430435323, 1680238015, 4250928851, 596810196, 3361538333, 2757902961, 2370731554, 1134665600, 2370713625, 3394375855, 3835928866, 1943026861, 4117704253, 2917518136, 2312009760, 1662322164, 1925994349, 4087511703, 2975194255, 732604721, 2201234504, 3942400354, 2174822325, 3670284969, 2555404636, 3314069988, 831959718, 1213946375, 2066371674, 2313506050, 93754751, 2179890138, 853920577, 943705449, 3877541878, 763434311, 3271332245, 2870864946, 1700311505, 2963840378, 624433455, 3019171405, 4032753242, 659768913, 2729238608, 2956188926, 340390815, 1100959240, 3596626270, 1018168879, 2531588422, 1607667057, 3934529709, 3824043185, 2245334895, 3017701908, 4032171228, 1583168564, 643379265, 2639346605, 4021067354, 113403651, 2000817971, 2725144709, 2420659219, 3417164702, 3697470493, 3518241560, 3288746623, 1755956217, 1788747756, 2958104534, 2970696719, 2944249833, 257845583, 2478962674, 1237799875, 3664230249, 3363751328, 235536814, 1126317741, 3744985077, 2298255365, 631654739, 3058186656, 2017869358, 2840043394, 146224179, 3588618907, 1773896326, 1371065994, 4268164662, 4150220858, 154799721, 647602045, 1697969776, 1477622240, 2253981558, 2484393645, 3123697933, 34615524, 2304735134, 3492296281, 3590451555, 3902284048, 4088023013, 1948328007, 1575588405, 1186683098, 417754134, 258059024, 3205868104, 4129888310, 4154165117, 716994725, 3913341971, 2585423432, 2557750953 }; private static readonly uint[] s_roundConstants = new uint[80] { 2500789337, 133128872, 998731840, 997401515, 1541603629, 193690023, 3999571708, 1622724822, 2172460446, 3245416806, 652122694, 3372871013, 204024805, 3514791892, 3613881301, 1853318527, 2386114279, 2853813405, 3885033027, 3012823003, 1512690923, 9213248, 2397474903, 1127523873, 4067398332, 3073965975, 2336138454, 1895408914, 317909642, 354948978, 495153917, 1502681207, 2123843154, 1287858493, 1941299906, 1048670875, 780504064, 3323683731, 652987272, 2296427618, 3632548881, 3381181835, 3211016336, 2544153797, 1628995255, 1836942072, 3015716296, 2926412, 1975112962, 3005756605, 4284964769, 2627637062, 1953725006, 1828611020, 524218777, 67333428, 3960283060, 2777687013, 1826688585, 1288721016, 170908202, 1960349559, 2856251126, 3629786711, 2430590220, 1648838807, 3639964067, 68199060, 605213222, 3356151916, 2041845162, 2843198050, 3576899868, 3204457310, 2105021416, 180592993, 1988589436, 3515463098, 1000765478, 2990077172 }; private static readonly uint[] s_keyMatrices = new uint[10752] { 4253656939, 619034109, 2556999600, 235499285, 1939442721, 3317938454, 4031765222, 3642758130, 590370467, 1669629687, 4272177901, 1609002159, 1135876944, 3070117294, 1306325874, 3584740968, 1947432877, 880303527, 729926988, 2799698198, 3014791057, 134205645, 438214726, 1236152518, 818827708, 2393618890, 1084750779, 4294602324, 2199268156, 1098914353, 1931657768, 2184887001, 3306522469, 3574398232, 3777089860, 2381574596, 3931554216, 3236830984, 258331445, 407520703, 1085904205, 2048057620, 3827237196, 1176778758, 1794847049, 2321527428, 1372673787, 3053596766, 3385540176, 988873988, 541508484, 3625584836, 3334169459, 3957562066, 3547778648, 981594609, 548292547, 3894359128, 397506127, 2396799658, 875056676, 2266799298, 807731693, 2952200883, 4074855308, 4159407757, 786842636, 2839918097, 923799293, 2567277816, 2558414759, 3626090091, 1073344166, 4289440206, 2796244802, 2183478775, 237221361, 1788397258, 2470385666, 1890845202, 2562407129, 2958991553, 1771787303, 1743912454, 746887528, 878081378, 2076707592, 344607197, 1115006837, 2845849298, 119044760, 2752143668, 738553714, 4236510838, 3968173663, 2580400603, 958530139, 2773749785, 3490562041, 354437610, 2920172801, 3034494803, 1423279913, 2529992191, 2144344122, 249070373, 1356441536, 2895775071, 616254442, 3359196774, 3626671350, 3561105708, 3066110633, 870776235, 597144792, 2083414884, 655762510, 1666750000, 1374127059, 2335546440, 1833432812, 2641077639, 894004335, 973092537, 1457629597, 3474034091, 306734395, 3112440383, 3456401697, 2430290620, 4089042924, 3009498301, 2857694190, 2400235011, 3477610911, 1791176179, 4204045139, 2016144514, 71404951, 3279325998, 1948665556, 3098871011, 4155662378, 3730982317, 2167990845, 2848458730, 3569578649, 3751071194, 2987433189, 1371444234, 406638818, 1960657043, 1335004772, 1094726956, 367818372, 3195463488, 2970987517, 596461907, 1355858268, 638232031, 3369493223, 3654425066, 3214973851, 747686473, 2012257213, 784989178, 2148628714, 2474435421, 1514458848, 181512638, 213749371, 2939234496, 1013508534, 2362321441, 2752570408, 478013899, 3194611593, 3144134261, 1897973429, 1134054938, 4170571083, 2660346813, 638196078, 3594920542, 3675906922, 3265026865, 1497948185, 263321383, 2224132442, 3742906019, 883723152, 3364341770, 1353569516, 3043347867, 1280304973, 3167304066, 981688467, 3746426776, 275845232, 142160894, 665675890, 1666697470, 1840777923, 1354021966, 2372775511, 2765823736, 463117305, 3091193909, 3601371290, 1829713316, 1563589635, 1280384840, 642222881, 3121187026, 1215515988, 2691488270, 2456942391, 1377537608, 3115586519, 1618932228, 3341366756, 1784660401, 2362994548, 3809200107, 593465610, 3899521584, 4009892230, 1707866778, 1978023569, 3094021969, 3427955470, 892163569, 2690052337, 4044338131, 443452409, 1839443355, 1193465601, 2895217680, 1128664585, 2888051980, 3481030085, 34912251, 3338758154, 2362485097, 3990327071, 2887557950, 4094763240, 77517513, 3800812933, 1245707192, 532435361, 3246364624, 1443202465, 3671349523, 615797228, 671570146, 3405563786, 233562751, 3660484007, 3786244599, 2358599909, 3663236614, 3422763443, 1766719817, 24749254, 608119394, 1019022327, 3244498752, 3244199659, 1621665448, 99417420, 3776857518, 2234449039, 2486808399, 3505541216, 933165826, 81624119, 4249145995, 1993739209, 3084677433, 2956675498, 3111903481, 3902911270, 639926791, 1815239277, 1556403808, 2654817714, 248789769, 1905155348, 288688071, 4017757346, 4199618406, 1968446727, 3107815789, 2659691203, 3446377037, 1777463357, 2402224967, 1278147176, 3748045701, 4225767387, 3422915486, 1162988730, 2386322759, 1563606652, 1922661813, 3667823215, 3248174450, 862715827, 3049619422, 424365033, 3649459704, 2465074554, 4063041317, 2495416258, 2371106434, 250365589, 1146485414, 1648999816, 478259471, 3355539389, 3768277740, 706701961, 1754275179, 2843105503, 4171484217, 4052893920, 1506722263, 1804193742, 3634916018, 3259645934, 879913507, 1377340650, 1372965129, 841123559, 1336565092, 2875538097, 1933184941, 2928897091, 939770486, 1854693473, 1050197983, 3720830817, 3012287961, 590827661, 3798932931, 3116583886, 1129330025, 3416848423, 764342526, 3510969988, 140755669, 530263656, 2113379920, 2732087339, 944928750, 3552935648, 1951740693, 73825464, 4009567795, 2546893198, 3018490562, 3871304917, 3349104843, 1581327383, 3132499886, 3456186374, 2568108955, 276522654, 1669693044, 289276207, 2524758351, 1861849727, 2337601949, 1274884985, 1279839205, 1799622626, 1588195098, 2325874366, 2775812628, 1280769916, 4288197033, 774149216, 1971475596, 248019473, 786287172, 3083587167, 1363638327, 3959482964, 73864670, 2533590253, 4199283147, 2947977112, 4169834403, 883979541, 92283128, 1153800891, 506409908, 278276880, 2818124918, 1376763916, 2633500706, 283463306, 3728824200, 1706039829, 1275878809, 1139015528, 242198785, 2578405620, 139888800, 3972473237, 2490349988, 2867476304, 32822440, 811638385, 2446803197, 1995319774, 2822039972, 2145463123, 3108438729, 599789233, 283109404, 2219128927, 3808167153, 3649876152, 1767216715, 721760460, 2366402854, 606064100, 1469612304, 3687138429, 3782630438, 2753431744, 3981725439, 3317765978, 1416099601, 2098393563, 3287972896, 11133722, 2196334801, 1479142705, 895549805, 2913827192, 2128789625, 2233615231, 227405369, 1574201275, 1764211604, 3515356869, 1868499037, 554181560, 1961582046, 3589562729, 1557914427, 1356872743, 3856754915, 3221562502, 419106777, 3264176284, 2283499780, 4202264659, 724311571, 957988476, 3658047805, 3838789018, 2569376519, 2061964050, 704254779, 1706321442, 2648469361, 2838194053, 2520133187, 4217467540, 1219314784, 814855012, 1631986052, 344984324, 2745823289, 819555993, 2110421527, 583874207, 2480428325, 3049420900, 2059541235, 429821295, 4069346389, 1049178110, 287695103, 2542513026, 3634292810, 2316922575, 657208055, 4000513618, 3573614854, 1849779342, 1651524484, 437716243, 4269824770, 1798739769, 393997919, 2752060040, 989687224, 2466910825, 2652583011, 4100826812, 2100853836, 1504871253, 1205484228, 3549646329, 1857008162, 11829014, 1699975147, 3975775777, 2481191834, 1780692858, 1955455511, 3693366704, 3932258523, 2830352684, 2487201653, 3549470212, 528416304, 1403318710, 2047035474, 1025549362, 3611008980, 1610389151, 2624684600, 1206571654, 4138125961, 372380465, 1868679350, 7780815, 3446201222, 1826411324, 3469270251, 1036683205, 1936970468, 3475042873, 2156667885, 259158266, 4057791929, 4209581356, 216119565, 746528034, 3519421924, 3194441856, 1751809883, 3856644737, 1181444211, 304353299, 3214919838, 1913869629, 632269851, 2343346337, 2255312926, 1254123402, 2892751281, 695302273, 3692522301, 1372295743, 3522151762, 851940684, 1536022952, 1999553586, 2249775796, 275359388, 1014412627, 294296130, 3786282676, 553760162, 1606075575, 1246567707, 1062763199, 2881488921, 3318176030, 1034688555, 331440490, 2853839280, 3495319946, 1402612471, 2101888904, 1829709323, 2193484009, 246667559, 1965183191, 3233668184, 255265795, 775509611, 674132919, 360233981, 1202302146, 184143440, 1338571581, 842406885, 16950777, 957363029, 585112456, 2510480290, 1645674598, 4218970865, 2403477980, 3726940718, 2610096252, 3223645255, 1172683255, 1486525142, 2136286759, 1145300883, 489553435, 114863967, 3477478630, 1724193866, 3242899979, 1552553935, 1919936313, 1173650362, 2823133957, 3933737775, 29850306, 3609894729, 255051521, 2646668435, 3139084356, 2914369843, 2825955566, 2517145491, 4134266294, 569809295, 3304758919, 3527820975, 220654217, 3953655163, 1319173580, 3184778666, 1829101201, 2646248382, 2661510601, 111853806, 604401704, 124446947, 101037035, 4039427806, 903888732, 2599026822, 1467011585, 629144384, 2535416341, 4132893664, 1440181260, 1319314862, 1600010302, 922234852, 2162673764, 480243904, 1308028515, 697583584, 1744137834, 3898558437, 3106432235, 3707770968, 681992667, 713667490, 1086443422, 984363611, 2520649027, 1761702247, 98895432, 2119092540, 2158920534, 2517837772, 3992429893, 806159783, 4011434970, 4022319914, 4193909639, 3914056903, 4260540755, 2472791351, 3538181913, 2274995424, 443951407, 1033476431, 1275383529, 4247213891, 2995588265, 1082102394, 1105898126, 2715323403, 475867663, 4190178079, 2316064009, 4280845356, 3791754500, 886638386, 3083444621, 4183059286, 4187007905, 1125329664, 2767897545, 2512943776, 3374223058, 1775423851, 2975853688, 2516423251, 217713702, 832699183, 1802116745, 47503341, 1853546656, 463140141, 2616919053, 1429931669, 1652519501, 1980480428, 4123919188, 1318734844, 1529002476, 2844848291, 1151658880, 162240927, 1783618948, 1130490356, 2789594484, 3624761051, 3745483298, 1884983160, 242312515, 4210799620, 2463303886, 2768039111, 744680455, 193849061, 2595972330, 2765363729, 1703075767, 2006055802, 706399200, 814508679, 3771350366, 1777803228, 2375925627, 4294458191, 328415527, 1484597566, 2620438511, 219641569, 547905874, 1820318024, 536256334, 2805260590, 3493966493, 79910385, 3538659405, 1740211554, 1403420504, 999495698, 2050925501, 1640966010, 1805837396, 1495242050, 943246130, 2318342806, 3285945152, 1325074497, 444573281, 1315758762, 161183464, 1392958728, 2510926967, 602425708, 2477053879, 2214925435, 3806497797, 1601184168, 85045737, 4182696058, 3246399567, 648835511, 533464694, 2081813596, 199768822, 3837124588, 655438391, 3783181650, 1390646524, 3067798099, 449686861, 3109225397, 1658742778, 2036828381, 2065631712, 283331791, 26008655, 3581723418, 1541174867, 1618288836, 1449332411, 3550565761, 3563907874, 3949484759, 4234559024, 467555328, 4186238402, 3841401710, 403181658, 1946744958, 4058159645, 3696392341, 3614893243, 808201929, 771416103, 3566843073, 1872591778, 1638385751, 1401744638, 2569822641, 2619462909, 191027828, 113086146, 64977304, 667306185, 3598408560, 3601087148, 135090489, 1017537452, 449501756, 2511721870, 3601279918, 64404630, 910410274, 3706499296, 557382246, 2672011573, 911797397, 3683844506, 696230549, 3232740559, 397528822, 1159697465, 2987517749, 4047449582, 3126991485, 1998378048, 1385527313, 3491288895, 3081369905, 864910235, 836224546, 59242013, 1077796685, 2342222190, 4278605937, 780842128, 3783909902, 4049216558, 627950496, 1109623173, 1528548475, 2789312953, 3181982936, 632024439, 3992416615, 4078462668, 2261361906, 621840840, 4110326294, 2978684815, 4224770394, 2623890214, 2979918827, 1682374873, 2470918509, 3911518400, 1078786823, 2547593003, 3820311854, 508107105, 4248164241, 3229796302, 4267458800, 2978988739, 470563726, 2688016342, 3879927802, 3947128386, 3618118616, 2752833920, 2784704023, 1391455571, 4041505712, 544659110, 1094112022, 1876675105, 2067891039, 305515076, 700986062, 2808396426, 2696694271, 2258245172, 4275054446, 1835310602, 3168004940, 2476442687, 3040379711, 3326997060, 4277474494, 1162992915, 1124240186, 1703589465, 4029788145, 1091752720, 3702877654, 3736401646, 3014265723, 407926255, 570142108, 2634000767, 2147776430, 1111055343, 617415287, 3763658971, 1916582000, 3567853617, 1158141401, 1908824196, 274413202, 814005573, 1417896058, 3286293952, 2904798284, 3324605646, 4286508244, 3069072293, 2044513217, 4134816669, 4282086270, 889301523, 2752357513, 3630631362, 1348772406, 3376313695, 4119298345, 3411087917, 504360353, 580740791, 2099115195, 1551338484, 3748173170, 2639089811, 1804007395, 2020872584, 996630894, 679682954, 362069137, 2173570290, 88452264, 3863227667, 3694419931, 3145602074, 515007550, 2752987770, 1128792994, 728845907, 3253547659, 3940037980, 4229069591, 791031696, 2900788602, 3909436877, 3637199603, 2327535136, 2212193324, 3547006111, 3677256940, 2912602531, 1137100396, 3202781420, 3127440829, 4044471238, 4181899153, 1656857720, 2103292923, 1855647203, 1236308876, 2025183239, 420881761, 2583667347, 1379610454, 459098649, 475424556, 1675202090, 1267616326, 3428135903, 1023421061, 942248163, 2871563542, 3041291492, 3489382308, 816986611, 530208568, 2231681401, 1193321031, 1166308592, 902561949, 2912618661, 1135569692, 1032960670, 1118902635, 3061591365, 3239764364, 3895550550, 2292483434, 3257738500, 3632402198, 1186614007, 1583535394, 1787773129, 3653051464, 3694509233, 3624283518, 219410753, 1161573523, 1384017386, 3699255340, 3211801491, 4294391656, 1817560004, 1851835690, 1119706534, 2885887480, 1117330495, 2279406332, 3291859537, 793792767, 594977143, 3562635137, 1125701323, 3931145479, 3349171068, 757960859, 96901737, 4010573834, 3994414575, 1614384666, 3322598775, 709946918, 2204867710, 4206912747, 2497444195, 1645573647, 153292439, 2122856013, 3223332569, 663846222, 3425910794, 2692547148, 427481969, 1935340989, 953035620, 1053708303, 1812217152, 3941473032, 1486915566, 1711994562, 1679826059, 3081986120, 2163317450, 3346533243, 1872193526, 1405993489, 1624015844, 1886178101, 3800770021, 2767221364, 2756393670, 2963009263, 3373978541, 1002726695, 1900533832, 460012153, 3325355592, 4140850535, 2543715906, 3354770886, 3735512880, 1148746295, 2714588312, 4203759135, 1918520759, 2744836330, 2757882904, 2842137782, 3668523963, 2336240388, 3377128230, 74745421, 2440510603, 2254747243, 2755576272, 1579846641, 1840707095, 2236437256, 123377336, 3847217054, 2870007227, 255684019, 3932614702, 1606750581, 1584701070, 874922854, 2297919460, 3072184364, 1849487123, 3282362755, 1260134516, 657543750, 2516523197, 3332778744, 1054077197, 1975675601, 835024055, 3753807919, 2824984248, 1134075559, 1777506103, 1453031050, 494115610, 1114747912, 411681887, 596778432, 1306758598, 1062028440, 4293178402, 943139178, 1628658077, 3202643015, 3434734364, 1193081401, 4064789006, 4204081562, 355392718, 1777346855, 1908208874, 1795125608, 3411565511, 1622667910, 704285488, 507998057, 1521208378, 1719752029, 618869516, 3836818441, 564171165, 2197010113, 1894483365, 561405502, 3084273815, 1843820052, 1320721276, 2024430339, 3673097809, 985527433, 2990299211, 4134133975, 2528938532, 81149232, 1440176913, 1855440791, 2385120594, 2601658161, 658958624, 1467757106, 2335896785, 309479490, 2608516353, 2625289498, 1488083268, 1279214237, 562441187, 1524685746, 3683074319, 3502982264, 192087791, 1797252060, 3828736268, 920140474, 513012029, 113014463, 1460098549, 1435222761, 3551987381, 752466012, 236105997, 310570147, 2951050147, 1733900832, 982519374, 490318143, 2894849137, 764732010, 1956417500, 1661740064, 2639865249, 3227518844, 1081401255, 4170609869, 2014815323, 387611863, 3365777621, 1133645171, 404272153, 1329562824, 1252461507, 2740504629, 3535778018, 2931174799, 2568485051, 3774562553, 2524259885, 1329106713, 1385662108, 2485249158, 3452810286, 2211866027, 2629900035, 1784519383, 4088265457, 2363893390, 2861634842, 2981818635, 122154574, 802514713, 3343178413, 4092281421, 1246064676, 3806362351, 648175519, 1397547395, 3232319548, 381713319, 4073895434, 4272099401, 3810350188, 358668169, 1057164333, 1587989837, 3074420080, 3340887850, 2816360961, 721009778, 2029942812, 2675974302, 450488963, 2574832122, 4227314994, 3162731996, 2239892020, 53386844, 2193967757, 447385222, 3081498809, 123230645, 1591577894, 2367443599, 2377147344, 1818478794, 42887931, 4046607571, 2879781077, 1047154670, 149957842, 2952191019, 1621476237, 2267993404, 2974292036, 1160149657, 730339846, 4023350021, 2950641076, 1401556803, 3591502495, 2978129933, 4294781468, 2743647532, 1748840901, 4142778483, 4129857666, 2187114322, 2308739684, 1528014361, 3877496055, 1161706459, 4262218003, 2103295555, 2442780900, 1660456472, 3220429622, 1601077558, 2161735263, 568234457, 2612251698, 3270950259, 4030766260, 2023957996, 549563725, 2914702146, 984630032, 1800039673, 2909876755, 3375448257, 2684646832, 736514982, 2111297881, 1756509762, 2512837994, 348184632, 1048730649, 3637404220, 1644164983, 3143821171, 1736314569, 2139850004, 1589174101, 567030094, 2321203245, 3823460388, 1281164773, 1081162047, 246204187, 316641582, 1295039211, 1851415474, 22852451, 3579835436, 2391689754, 482858910, 833898168, 944416783, 3680333542, 2211331934, 2004395172, 923150449, 965325037, 1075407485, 2560802035, 4168481376, 3333792224, 2439482773, 1759188327, 233206415, 1806142395, 192010699, 3707329692, 2672131018, 1489909012, 2672260045, 3723429763, 3872269546, 3993032442, 1984254294, 2289161401, 3125748389, 498693378, 1479527565, 2339717876, 3191762195, 813635967, 3889321834, 3245278443, 3898600794, 2980055624, 1364937038, 1814892339, 1797563547, 3778592995, 1770038596, 3943199949, 2420798435, 1155443743, 1594077631, 1329075885, 1289370131, 1219410455, 1071005904, 1736827236, 3342676444, 4004756261, 2074053714, 4074404517, 824396780, 186785488, 2969874885, 2248819113, 3231226654, 1525493574, 4165403407, 2070967979, 3278708849, 2531555453, 1756218916, 1856600449, 3253504630, 570433947, 333182825, 3906621839, 1248706608, 3058333808, 922040998, 2963956959, 47118201, 3318409504, 1547942418, 3353771358, 2820197731, 2954732244, 3589887118, 2328568822, 114005879, 139707928, 4066757133, 2735201595, 2430616702, 1217287479, 181628279, 669632141, 404353092, 385034684, 3501205910, 2893616325, 665490466, 112942977, 588811005, 288887204, 1797526012, 1222846786, 549253935, 2752716295, 2337539364, 1680183870, 637664375, 978617627, 774555351, 910788283, 3604693934, 2818242640, 4256488272, 499201740, 3220522388, 2261683130, 2110715575, 4052282938, 2808213658, 2816120170, 4034535953, 1755161319, 270815309, 163385836, 3402509585, 1650820810, 1359753683, 4267933583, 2016175178, 301341249, 1380344768, 1687985922, 2011448211, 2092073402, 3687445237, 1670477493, 295866882, 3280840473, 2076984361, 4189938977, 896143174, 2116423759, 3198060355, 2378832510, 1439313890, 909055974, 1056222736, 2068448093, 2810927820, 1228591360, 910116544, 2350417757, 4294209157, 2239544790, 4079400730, 1509898630, 4163366301, 1290232639, 2335977442, 664096767, 1672336221, 746072459, 2437578553, 1501729279, 18949612, 2100297795, 238109214, 1112581811, 3139924475, 1533362468, 682699914, 1046273762, 3174243051, 1160084359, 1598974282, 3319956884, 3135405871, 1493061351, 1140746345, 2772686330, 831916344, 1832196026, 1814467732, 3123549844, 3368631811, 1815085187, 2003184300, 2360938717, 2185294137, 998822196, 3765952877, 700151151, 3490224563, 1368769505, 4271785659, 1408592108, 3200924234, 2755370673, 2788785854, 3142994418, 204854952, 266842076, 1023957828, 3368420063, 52342328, 1471660430, 177577146, 2571077339, 3703520960, 554790546, 798869249, 160869213, 4096190030, 4257068846, 1626366114, 2544293665, 1801033305, 535079933, 1070068615, 1093670940, 585492959, 3387725755, 3488705918, 1943085894, 933040822, 4061001188, 2420090201, 2329325993, 1790125099, 3067433402, 3086542713, 2694846439, 2691100723, 2283830769, 3900239420, 1693961058, 3062315607, 1648202374, 2984434038, 871625002, 4191675211, 188039711, 2930196160, 2045425659, 3408541251, 165401831, 982125215, 2023289572, 3004260566, 1341359808, 1265124031, 515334013, 3683327777, 4262560674, 3734925183, 545337795, 2998189461, 1064487396, 2169263136, 2412197917, 1922421545, 1386461331, 4105005165, 2322252084, 347106755, 234131135, 615825126, 366588306, 123961437, 2316487937, 3452766334, 3876954635, 3502770135, 997368209, 2051396811, 2318947643, 1379858047, 64584272, 2261101552, 258745358, 1430513128, 902785945, 4218279742, 326799973, 1654457618, 2790112057, 552551058, 2753963280, 4078101857, 50284435, 3448411361, 1749708011, 2988431387, 3443797960, 365883735, 457334525, 314473372, 695242841, 2369524734, 2489569962, 1157905518, 250503511, 1895609299, 1697241634, 2779515726, 1182397633, 3514534359, 796975200, 2476253818, 3111253838, 58699756, 3766970132, 594016756, 688856521, 2491105305, 3027837320, 2845005579, 1200613080, 192772322, 130995199, 4162238237, 1897765389, 2891967533, 375435006, 4140123477, 1543970054, 1996883662, 276419349, 3060004476, 2170809763, 1769286323, 3095148341, 2044847119, 307115209, 408979491, 1289811422, 2205915943, 1915281031, 2230451133, 1403905367, 3291667809, 4253997888, 1795697110, 1073273615, 677967095, 2197469289, 2793111260, 492874175, 3308918415, 1185211595, 985673801, 1222207296, 3132076041, 1132990817, 1633357337, 4114434142, 2436816208, 732150481, 1987894590, 1998738693, 3040605730, 2711188159, 3253563030, 1285257964, 1672196333, 406221278, 2754997293, 3193530729, 3863483414, 2789739671, 2898475512, 2396436288, 141840802, 2323860490, 2171838743, 311213378, 2171478059, 1388984638, 4056605964, 3035471826, 2554341643, 3788783982, 4211063857, 3289193658, 527194604, 1169980016, 299355948, 3362013680, 9996997, 744977746, 1127589530, 247193538, 1364711937, 762759350, 787358697, 3258997829, 4173082655, 2191335398, 2273906949, 2472416712, 1764154591, 3292994702, 1522684916, 16447074, 2347663731, 3201735299, 2524557956, 765464875, 1332064360, 2590760706, 842876609, 1659721920, 2046592697, 2830023525, 2963723967, 1248821021, 2985593681, 3076375169, 3618634501, 95200992, 4131890457, 930459815, 1065582978, 2092672008, 3972434215, 1259388792, 2676471250, 813912425, 4256803632, 826123812, 1201481671, 4191985782, 1839414421, 2011724040, 2569289839, 2844869160, 4092357890, 264354275, 1903786952, 3981048625, 1065162834, 3754116995, 1638835430, 4100479665, 610858951, 1416588540, 138990132, 3099874090, 2016335723, 3048758010, 2919529729, 985665553, 2205977408, 1096854776, 2075914670, 1769543346, 1567521647, 3781312209, 169531601, 297095396, 2943854303, 3416968043, 2901714814, 3959213742, 2292694606, 3860844126, 363283516, 2954854707, 2219428120, 3794619557, 2263497151, 1061998816, 2966261983, 2438744071, 4276257769, 3593031359, 1974466752, 2957330833, 303559005, 3770539267, 3510184262, 1813700745, 4085565083, 285221480, 2286234730, 258014698, 3381367706, 4252593786, 1206306817, 579645617, 4192405424, 3804698579, 3043666646, 2221196615, 2337731657, 2183385020, 2820124641, 2686974625, 3506804412, 252945832, 3547747079, 2674976757, 881644870, 1832325486, 1952669943, 3951558085, 447270035, 2301865060, 2483977481, 2143603126, 1750437418, 3082491349, 2933242364, 2531121807, 3878671757, 255937692, 1980115707, 3057274061, 1712296696, 3739695756, 433175650, 577138219, 2165501779, 3914224163, 673222035, 335733072, 1920996299, 1785075700, 98858999, 2482967946, 912752672, 4273106846, 1429667218, 1817084106, 3108810547, 514080420, 1415146396, 1802692452, 1153840778, 1525291637, 3345066476, 2633794041, 889845129, 345739987, 3014697000, 3743579216, 2925783337, 3600727379, 3698351434, 2924285976, 2527686416, 3660369427, 2585643809, 4233641712, 1061116487, 940292118, 4012869856, 28797699, 2636563722, 1002178818, 1138774544, 3081031693, 458985061, 3410022157, 2494434603, 2767083950, 536907463, 2901740338, 3037313229, 2958401876, 3796488508, 4017079111, 4015303576, 380414912, 2935871580, 36188262, 667197361, 1222949469, 1154760334, 1629259374, 1289572366, 2693749215, 2683910928, 3738749034, 410225666, 987620978, 188649926, 2490072757, 892681985, 337179006, 3960293771, 3970578962, 776901696, 3543383870, 2499035686, 3147787465, 2865013662, 554759063, 1023127323, 234131818, 1208571352, 813254678, 1500727218, 3462241226, 1554336365, 649625700, 1702329677, 2517797664, 2026002542, 3506327674, 3345091338, 3379782764, 1470181426, 4094000629, 1744819168, 3862346983, 3407292748, 3257777127, 1573928656, 3414776769, 3880799269, 1835686793, 819162665, 1329280224, 4273424162, 1168282094, 3867912465, 445072499, 1071587244, 843475156, 4000643067, 1550435122, 3428336510, 2974885069, 1382899596, 4230515760, 888038150, 1903552616, 628180148, 2147653432, 2417399582, 1700979230, 3740313641, 1785104511, 2541141078, 2444666224, 2923942174, 4076637887, 2822085449, 1656019254, 3542144571, 2907512831, 2218199559, 3757803199, 2361029675, 878529817, 857774575, 959611616, 3963446681, 1533182776, 3193769801, 727158874, 3300827124, 1225574925, 1281404716, 1207960676, 1017300676, 2612538180, 2437629880, 926429931, 2506411174, 515101059, 1438457979, 1414256697, 3295130988, 3979203844, 4261005032, 1010860413, 2841144124, 2842201468, 897614112, 3757264945, 2710765232, 1876014634, 562242939, 2681266742, 1011808073, 2706519889, 3807164448, 2231479076, 3473490326, 3134754626, 3411165758, 2127996033, 4147912385, 2581920390, 949375705, 2208406175, 2626068021, 1187579446, 560534617, 2791434831, 3197124394, 3488463519, 291726765, 2773238924, 3588713865, 3165080605, 1004893432, 114456939, 2372208329, 376739106, 2553786921, 620534151, 2086008785, 1675169001, 418972311, 585344097, 3457754652, 2850983125, 3578676475, 2347235130, 3862772678, 1418778160, 1237465804, 2008839766, 1942402861, 2670302823, 1728422910, 710089546, 2358014966, 2480593133, 917112463, 3195255075, 1406286082, 3389582334, 345381277, 183480176, 4165979597, 761843985, 1805264846, 1693157675, 2914970235, 2439649864, 2887917810, 3865755808, 427779288, 2601999966, 24405979, 3919515135, 597992166, 2509827269, 1757225531, 1387881248, 2372626607, 1668036796, 3712977886, 148592529, 3782942994, 79156113, 3858519023, 3068644051, 697616590, 2678283024, 890085252, 2984405726, 251577816, 129130493, 3884210902, 1031697502, 2871278746, 4264181827, 265356797, 2124515198, 3855111536, 3704415577, 129482449, 3264763623, 1699088753, 3636072281, 2483790871, 4031005645, 717425746, 3118649813, 1756955483, 179137595, 4094032596, 2030875905, 3010989263, 3048909176, 2682696907, 3776922844, 650567885, 2208350239, 692424478, 2914018444, 445971116, 3929965631, 1945395507, 2071972634, 2497490103, 3438996693, 3958227858, 252192080, 2314185082, 2874905812, 2559366276, 2772625764, 1210716353, 1539690847, 746365985, 3070967325, 1414852180, 2620426558, 573602760, 3972459610, 2477813758, 3660709150, 3055725643, 2473751488, 3577769410, 1527683998, 2702063758, 3887479212, 1040806960, 1895477712, 3230576388, 3250885249, 4064931474, 3699162004, 830842235, 3868521358, 1470842489, 3376634290, 3380153788, 96175705, 2682646968, 3669805695, 722587592, 895414250, 1259878228, 247303318, 307993540, 849588784, 1522871980, 438077250, 4184221602, 436350334, 1344422960, 147883089, 2575257571, 1383648778, 2673850892, 1905235551, 2143949638, 2496202319, 923752612, 1213089514, 2607731265, 275890875, 1981570897, 4211077127, 3731856705, 2759993837, 2686342249, 2648776341, 353472474, 3272502816, 4068349886, 2777703743, 1321330145, 2753932146, 1881805904, 4200423181, 2434868198, 863899714, 23497963, 3831087202, 1553733933, 1806773150, 2456419354, 531878667, 420624481, 338346802, 2321774033, 2014961737, 1910277336, 3644118852, 4247939541, 271511843, 175553566, 575550379, 1180017443, 3029760323, 3879536112, 2585004915, 1543569466, 432175230, 685950487, 1931368351, 3194179385, 2917326850, 2017746988, 63794135, 2064493510, 3500807836, 211764329, 3000855544, 3638651823, 3991690962, 2868670422, 1688899487, 966013517, 1286040186, 3250186703, 2137100297, 1780383289, 2704448357, 592182689, 1890463111, 1410189125, 3839875560, 787291238, 982612682, 4105134751, 1711137187, 442341714, 22348970, 687271754, 3649718059, 1965391123, 4207464604, 2252825172, 999288214, 853392184, 3897315520, 674232297, 2526523463, 1260549132, 2161415738, 2872093587, 3920182619, 2611657708, 924274869, 262777936, 587656368, 898178035, 390891025, 3114340446, 1385700099, 3886469337, 3393267032, 2829223123, 3545896252, 4012850159, 2619158630, 2460999109, 2529783835, 726410532, 2911974672, 101005719, 2296764107, 2444375818, 2134206416, 2252905653, 2346047710, 1714269653, 812334654, 2138702374, 857452524, 3196207410, 3443661059, 419600473, 1218643777, 1630837476, 1847714478, 2868003353, 1964720699, 3850552758, 558334947, 2040290480, 3307479093, 599321498, 801951620, 2543714904, 1980037920, 358051802, 1595880586, 3889304121, 2328522889, 1205640592, 2407581274, 4249786253, 4200916160, 2354475242, 490832175, 1749121725, 1250252376, 2940109763, 684624876, 189255291, 1028382135, 2307458834, 1975293302, 3373525192, 4244327642, 3622770224, 1687882446, 2966689878, 4090574029, 2503209090, 2473832549, 3700015651, 2266241552, 3003675258, 1244249645, 2235390433, 3766966043, 198347600, 2215364493, 901422335, 3021073724, 970471622, 230563696, 2465926377, 1447573824, 47975595, 2765253436, 140121798, 2212644911, 1671449641, 4258741675, 1550018569, 2217425299, 3620782883, 2970429234, 2373125540, 2397627409, 115491007, 192756405, 2134684600, 1957288910, 2862844225, 1296252554, 2937462680, 1568678220, 1191037835, 2724024759, 2384733588, 84071729, 4228513437, 2925655026, 3535658291, 3884125386, 4226238254, 2052793295, 2608941678, 3099277202, 3449624838, 4049099717, 617885620, 939871664, 4009785879, 2865778547, 2623275320, 3596802203, 2895375390, 1366255360, 3399746605, 125435884, 1088840066, 1081480695, 1876920583, 2097958852, 3057101136, 4249981247, 3188137130, 3289242824, 2267703615, 2426268510, 2247623514, 3683202833, 510340526, 1907534284, 2601397030, 3947882510, 1571662433, 1102115924, 642208735, 4210989692, 1855360384, 3481024212, 2545299810, 989593256, 3078278373, 3882155254, 3812689829, 1457445975, 2083194235, 719899138, 1682266668, 4206271804, 501097404, 2915868494, 1644495880, 3366203526, 2707830883, 3880281547, 2583405308, 2129547485, 1544312112, 1650123450, 1913769558, 2918551151, 1776286947, 257425316, 1365555876, 373078702, 1716811180, 1947354801, 1018764699, 1602387846, 377374266, 1258402171, 2319434176, 2730461561, 4125948285, 755254195, 3820040101, 3684365983, 2900694424, 3494925442, 3983995560, 2338802876, 3121835146, 1883424982, 2773066575, 3768035671, 3517459858, 453645897, 756830875, 412481461, 1868597513, 407861627, 3374551552, 1908062329, 2430830899, 1096399906, 3704208558, 1439486158, 3584790715, 3947525053, 3899628342, 2747134429, 2220112551, 2841420978, 1909048059, 4166792670, 3714105085, 168962382, 1540346853, 1006040537, 378057188, 1945996617, 1412297344, 4126648491, 3926890977, 1257387872, 3705014031, 1451058013, 3512847100, 172787732, 3229167832, 1121158988, 883289943, 4244797873, 1392161813, 4194048675, 133238613, 2565190496, 2104632013, 818215504, 1061492409, 1260296755, 2366502637, 710351994, 3566281466, 909578484, 2045454284, 4076828562, 2856980424, 1658907454, 4082514056, 705650248, 4170922392, 744691150, 4028117551, 1397942981, 3006781989, 2938497589, 1133317063, 2690043787, 3290727119, 31739657, 757522359, 602395562, 1220697278, 3415543679, 2894526944, 48205543, 3929831597, 1475995489, 2338487492, 1675693331, 3384119058, 2631367975, 2880422215, 756247326, 4062037552, 2416106886, 3878099126, 968092882, 2682227619, 2656079189, 1069466967, 2612516482, 1713463020, 1824882006, 2760684937, 3303049709, 695692242, 1492782321, 2112396243, 2193323978, 2521802739, 2101675448, 2652152020, 1199937593, 2716341219, 731250713, 624909999, 4260834562, 4017108722, 2437160676, 984172632, 1663280791, 2688985930, 1254201969, 1437624128, 3847590021, 4207654560, 3228637834, 340598614, 3806862664, 2251307530, 3111415415, 344396580, 2638234654, 1127976521, 3556005344, 10485108, 824735712, 3095042159, 1893512734, 3231949216, 4181255349, 1638749270, 664862356, 2465094817, 1889631447, 2610052266, 2688814021, 2100142772, 454160029, 882893676, 2660433302, 332423987, 208497290, 1249567837, 545524694, 3934417845, 1680101098, 238884787, 2633833965, 1448364609, 749590901, 3647417295, 3251858567, 2735066094, 1677278261, 1427132134, 3925896034, 3372096810, 4142914223, 3197938131, 314689078, 955126030, 3929766802, 177610249, 2583231476, 3945466500, 3414105805, 3331696969, 2016368568, 2575514619, 1737399792, 861939233, 2656627524, 804272175, 365621729, 2232990614, 2928897091, 3872516921, 2326404248, 3361008509, 828565761, 1758826600, 2009180543, 2953845686, 4276421531, 3437117313, 1869497656, 3508287919, 2095466389, 3975338778, 3147341240, 184331642, 3699520045, 2665209714, 2651772022, 2784593955, 2379748269, 3592609867, 2621615320, 2614439339, 3925391440, 126953349, 3478056224, 2085450358, 811075179, 2837297635, 213358558, 3231925827, 3648285001, 3885886186, 3191500504, 491113893, 624229929, 1225219724, 220113436, 2215255081, 1528703605, 2570752413, 4195378116, 713379199, 4274461283, 3379717075, 3635568663, 2152574716, 4237395223, 3962394388, 1861766384, 2771621090, 2638550731, 3154479680, 2658002888, 1525188944, 409273620, 1772953114, 217459201, 766167278, 2819598015, 974314195, 407526774, 920796358, 557605535, 2433894479, 48728754, 22476186, 727433589, 4222068591, 3518781618, 2606931295, 1768995146, 55441014, 47881923, 1640599971, 1414138713, 2374569624, 4156258049, 933797809, 3688866084, 2616391670, 1607309235, 1586583397, 192123289, 1169662387, 3695768917, 1089692294, 1800754204, 2764097098, 745277370, 23057588, 461105253, 1083114990, 2256648969, 3253549256, 323160555, 2427243345, 4062503435, 339152083, 925485896, 2605892991, 3676132364, 1125683700, 4149170462, 4237363731, 487260469, 1839715980, 499175856, 2543163296, 1179863780, 939487191, 1513190985, 76328910, 3479807633, 829847393, 4285955194, 3477859286, 4015148582, 969454618, 76534052, 3676876709, 3299028997, 258352035, 1110058764, 2599398049, 4072723922, 3385714764, 474398810, 263103667, 2417579177, 1534752304, 3817658776, 408885495, 393287512, 3344343225, 4191909101, 365011951, 1397192109, 3472362507, 3978024575, 2738108501, 3122357737, 4101408185, 410829139, 42887992, 4109537081, 1545746219, 17914083, 2177683435, 3964046987, 3810459610, 3639586727, 298993286, 4035806150, 3186140407, 3790840709, 3138295633, 1233088264, 3773053617, 3657837031, 2950067068, 3638499294, 2534266539, 1699982239, 4041122132, 3926039997, 2080190264, 1409052502, 926522958, 1636171959, 997671819, 2043374459, 501156429, 889201247, 2324442806, 3675551622, 2202422328, 3406658469, 995531668, 3099500510, 2355361694, 3653560591, 2745056044, 3229761372, 555720691, 3311411620, 1890975014, 10397934, 1628293149, 4061861329, 974736190, 2467785391, 4229328348, 3167708890, 2562555506, 4248757365, 1912821058, 1388445436, 2189910490, 3217993689, 3171478372, 2225924218, 3756955751, 15858799, 1999396829, 2793791120, 2903112247, 2848614565, 2650184043, 841855653, 1224031049, 4214941078, 1216280365, 1562165686, 1584647525, 3879991496, 1290031122, 74835779, 2501008694, 2045078414, 39860867, 658376837, 647104411, 1556168667, 1549774748, 3381312232, 474973970, 2091969834, 3836865431, 2852090615, 4224734205, 2908517466, 1336171116, 3698429397, 456370436, 673930581, 1449776435, 656018743, 2297346343, 3348505184, 470930911, 462912868, 1634992634, 1680162099, 1107675119, 2994658509, 1679590241, 4055794491, 1258480275, 3832373529, 513631039, 3759383629, 2038120464, 2616528415, 352134514, 182207361, 3456970260, 3566218925, 2123879343, 667185877, 3862729002, 3211455736, 1779403093, 854180909, 3782540193, 370418920, 3776331244, 788213114, 3054302855, 2591482854, 3147448464, 1784531940, 2339034831, 491792248, 2346088442, 2603767750, 328144119, 1973661928, 8782110, 3543963511, 1370216483, 290008227, 1900626758, 3904412488, 2300873189, 2004557815, 3609295649, 1418450530, 1609812185, 992491972, 2877330968, 1081359525, 2719678560, 2097242511, 1421201079, 1689304670, 3820212175, 3889454182, 2958959845, 2181874184, 2966941651, 742691482, 3415005604, 2961937255, 1264323965, 4219530144, 3917577813, 3565397871, 1875896312, 486727310, 1140746984, 517718418, 4215882522, 1067597413, 3285095286, 402233085, 436267768, 3894333166, 3007649069, 157287512, 3267916336, 628761004, 1527369509, 784822011, 4072995721, 2414147278, 161791146, 2652950456, 2320698355, 3422095115, 302021950, 2470357430, 2273870623, 3301992194, 2147076452, 116189812, 2244298721, 684862605, 1131805864, 1825433761, 455168606, 2975056613, 2090386377, 3681813489, 184845076, 939128103, 2253478027, 2635819307, 3059304955, 752723144, 1898250636, 291823004, 728302997, 4190921365, 3300985728, 2857256603, 2473627713, 1820046129, 3624486893, 4286333945, 2103176505, 2653137234, 238804677, 1396379553, 1358422298, 4277927904, 2671434559, 2454779229, 846566013, 3011807897, 2675656147, 1735896923, 238990610, 3393594801, 2573415701, 442582156, 619843172, 3302429236, 148394044, 813037595, 1525118113, 234922294, 3190758322, 4114381030, 3615047685, 1562266844, 216896229, 679369942, 4025169377, 401206669, 3585167075, 318869558, 857290599, 1799286782, 2642478766, 957994418, 1537993265, 3301042480, 2796030888, 223669490, 3358658518, 2481876774, 2148311797, 4101479114, 3347498695, 3773979867, 2217516192, 381621191, 3630891934, 92638528, 2269986318, 4087048188, 430006367, 77388970, 2156520880, 3260986031, 235780886, 1494687221, 3054764511, 334662484, 1227332710, 1825264465, 2956762021, 3767026507, 1684804230, 541853662, 3914387775, 799160947, 2933372295, 2161124487, 725264460, 912797798, 3125595685, 2118220948, 3313686697, 673122192, 1921498669, 1745092259, 866887601, 2071281338, 3109022273, 530301862, 1389357260, 4237883582, 1249005975, 2413085495, 1180092350, 3747263659, 2607117618, 2733928130, 300604293, 2563755716, 4151600089, 4027356076, 4033859303, 3816712340, 767851389, 3786261013, 3778676032, 1914956056, 1798988416, 4186583275, 1121587630, 739434156, 909025121, 1674377560, 1931358160, 3915037177, 586014655, 48557659, 2486020389, 355581405, 3644005641, 4168114482, 2962214345, 2729113592, 2297888889, 2621560239, 3191766624, 297300576, 3708740157, 805656354, 1055338182, 3329568212, 4267211331, 487345750, 3047460594, 3535753139, 3398962017, 1837583287, 2669004763, 3002335419, 89557638, 3027216016, 2416089403, 2718925211, 136032311, 1175423439, 3308086165, 937680802, 587321889, 3889598644, 1465239183, 3802377441, 1680012639, 2276382500, 3919306417, 2803704747, 1860370441, 3258091386, 1699254458, 3632953633, 4173713830, 603527767, 2647857690, 1605384050, 3784777849, 619077020, 1092294252, 3596113244, 3588314416, 382094105, 2333290842, 2101259994, 4062951674, 1971148296, 720984698, 1082998266, 1342464670, 443812945, 2767865566, 2258829573, 456602132, 2784265960, 2438697682, 1860711994, 3586475145, 1837160089, 3673611501, 321224823, 1509811499, 1921215902, 4092436213, 58920802, 3647929692, 1590740608, 1292756883, 2580551592, 3713293863, 3178127117, 4238778190, 2797122615, 1116363459, 1675324213, 875435767, 3695506525, 2077148224, 1335883258, 4138495948, 210477072, 3465900262, 1345649975, 4239580164, 1454063404, 1074119618, 2866349235, 2586439716, 3993562053, 1207762660, 683783573, 3976663450, 2074390262, 3279592242, 3490007872, 1617037188, 2563639333, 1204751066, 125414903, 3275776551, 1345787406, 2143112941, 2658402807, 538575517, 149815632, 2701634277, 1724792099, 4104829853, 2307358523, 3843112381, 3452781564, 2617576588, 569294694, 2762385164, 3175338607, 2210577916, 1846920326, 3226498973, 2216007631, 2258351888, 2072281329, 3682398623, 11133473, 3743158767, 3033319359, 2365195208, 75596331, 2060840033, 2414172619, 1040773932, 56932437, 382010010, 93380904, 4284150494, 4250138904, 2830488689, 2796406744, 2851101281, 2121987391, 2015673395, 2321458662, 2279876392, 1849014112, 3185303135, 2963091935, 3895649209, 1619774603, 2012028019, 805327273, 1253924674, 3368158383, 2437801151, 1674484651, 949529573, 1316352076, 4083264699, 1845262800, 829333150, 476808660, 140567083, 1532527075, 2968421709, 1147863926, 3538317993, 1567144547, 3057332148, 3383955690, 2907274267, 3025571394, 2945188443, 3671040974, 4066508479, 3768733470, 3807616727, 2901301445, 2078238316, 3115782332, 1050777673, 3729304758, 1254982893, 1313675644, 79834367, 578653370, 2479934866, 144746714, 2176064557, 3335113084, 2741909868, 3926354219, 1760156973, 1682026514, 96302750, 1949386970, 1638498276, 3990383417, 2257232050, 3569210246, 3799546647, 1845080975, 3655494815, 2530993319, 3969201676, 2067315739, 1278132487, 3843088161, 3987638694, 2709536262, 704180622, 1359537292, 2062000598, 3200531757, 1579006976, 3380172182, 1712118757, 142368949, 1078109420, 3115318730, 1256522100, 2506982704, 2232186913, 81149826, 3347913932, 4209567072, 2985604142, 818255871, 3402136695, 1558301779, 1811906299, 3947874246, 463869990, 2540169599, 1147138082, 1432359013, 3558121376, 2973051530, 2875357481, 4240423707, 2378614587, 619454941, 1906705507, 2438664390, 812502981, 393339811, 1812847453, 2259033651, 1596773805, 2546226916, 1305342391, 2404001890, 1039161328, 4248273561, 4287702399, 2728635093, 118067892, 2995836437, 2728894180, 246917144, 481523009, 208305051, 891288137, 199877886, 1194673055, 2290012596, 3526976837, 1483958691, 3411144345, 1441072431, 3969039003, 4005382005, 228402474, 1377026087, 365576312, 450371096, 1671152483, 2598909261, 2507742031, 206546255, 4027931556, 2514703590, 1686995779, 1846209711, 3878074264, 2273899494, 2315205529, 2106170414, 197690146, 2138550145, 3641228304, 1513263755, 4228529071, 4272326462, 1998467405, 770845735, 1688684750, 2406266881, 1035143687, 2818914059, 2842894387, 3971298706, 185692676, 544794895, 3261489379, 3310969515, 498707627, 2919007779, 3775519782, 415011721, 242331087, 1207581011, 4085463487, 3223070067, 2943602968, 1755394203, 4190533788, 1988290530, 826180472, 1306425250, 4239481593, 3353572682, 803229422, 572452733, 2149248102, 1863322008, 764496314, 216483526, 2810412310, 2329629710, 2872182999, 627968189, 1978300633, 2562592755, 281815298, 1528591483, 3613385302, 1476270083, 149355302, 3841345498, 3018398280, 1163922432, 1830027190, 225368907, 1183473806, 992308739, 3386784959, 207908733, 1925621525, 4102146363, 245355888, 3552226320, 590491732, 2665444212, 1847910436, 437639658, 3998303943, 4229898167, 639310643, 856630182, 3474083351, 983830423, 556722447, 3845225795, 3864898505, 3785950127, 1530312667, 3549171517, 608489702, 4216285838, 2401627657, 3601397214, 1275106129, 3732563228, 206996114, 1709161214, 1807424093, 1833229867, 1358508369, 2597180352, 2974020033, 1254965945, 604423099, 1065434691, 3508672143, 208713639, 340260471, 3361620470, 93214504, 1481787785, 3422114251, 574824177, 1784453275, 1328558895, 3447302341, 4111254331, 1778561546, 3300548510, 1698050783, 1246860425, 2579479646, 4078896446, 2431835395, 1904089690, 1503726237, 2579862870, 2221331142, 3807137821, 480417768, 2003138085, 4101551121, 1842129480, 3450397972, 3955312542, 771039606, 3819240942, 2076095164, 2143790399, 3769716833, 1904756506, 2206771737, 1259252266, 1342380362, 3386079237, 1570260888, 2024982660, 4130993835, 194964971, 1295555617, 2107335434, 228468731, 4240656160, 590740995, 3894055013, 859522677, 2822055366, 2729261103, 1426068863, 3310640180, 2781127956, 1788322166, 3974187237, 123034254, 331215244, 1550659564, 1507714835, 3794403371, 1415938546, 2418170047, 636242887, 860970578, 3789027750, 3474583693, 3651056594, 1002164154, 1723165530, 2528694958, 1152432622, 2011450960, 4108445022, 1601460411, 381001833, 1173320173, 1831940381, 527432934, 1701807061, 3541701886, 480018335, 265882424, 2646444576, 3024469290, 1669197194, 679892013, 2413897563, 3740127215, 4290083205, 4109748560, 3761305493, 3329186664, 1996150527, 582791568, 2183187254, 1673367872, 419353531, 1657080956, 1747588608, 3314218721, 1857074980, 3275423357, 867973444, 692134705, 873638313, 1245918241, 1997995871, 553304869, 2153567634, 2495283677, 1260775367, 598228251, 445239096, 3480489013, 1064918426, 2538991576, 453702350, 173656275, 1439638252, 1721455039, 2248078873, 2437446574, 2047011160, 591516168, 2897819639, 1899950610, 1878702126, 670279092, 2285719415, 3972332954, 2664672317, 654551886, 2810462020, 3778737524, 2407891600, 4091802810, 890099889, 644381520, 1934147530, 2378916948, 3719848632, 4251131765, 3318377088, 1844696026, 1657779943, 3375880356, 333801744, 523932368, 1316623268, 2036806681, 1101952039, 377957896, 3166308572, 1145893914, 2406868851, 3315497675, 3939123753, 814815898, 2895765891, 1094964505, 130454610, 1305453192, 3799624980, 2837267450, 626029691, 1051587541, 2341786399, 760408968, 2877222307, 3110172109, 123057177, 3908852224, 3383582744, 1647016275, 2223916768, 3710021782, 4258698732, 1635033567, 2503322464, 3050692107, 101220802, 3224278177, 2427042513, 1886923142, 638012576, 403800707, 3942766196, 2968234467, 133888554, 3441178557, 2886072592, 208721018, 2973541971, 2310248624, 809764973, 2480514707, 3560754733, 1160459491, 4105855985, 2998599817, 4196173666, 3159164946, 2419383673, 1774092741, 1999918005, 3368256764, 583980715, 3115822684, 1424174680, 57072040, 1448722012, 3799867103, 2364526121, 4144746726, 224595375, 4243401510, 154568137, 1331673025, 1301063136, 3595086013, 141667130, 785764891, 4149202606, 3537875821, 4038140355, 1565226611, 2759220742, 1500225515, 3069383181, 213943757, 2656481340, 561410689, 355446177, 8952486, 2655656322, 3218831292, 1134845823, 3889162531, 3928192422, 519262967, 2727526162, 2897871279, 1563407251, 3071315807, 2455702181, 1690407156, 1528902197, 34046362, 2534002691, 2277020981, 1187568824, 140955169, 2190190537, 1747662941, 197386222, 2938773568, 2414872711, 3054732519, 982783143, 1501609226, 3480085927, 204025311, 147356456, 2292723057, 2027597732, 509938554, 3595755172, 2908359761, 4192697988, 3507770879, 1746117544, 1058088217, 3036854438, 2275679999, 2767742824, 399533998, 3539214698, 891481388, 2583283400, 2774937952, 2544594357, 1096456420, 2695815843, 2425208209, 213789676, 2303015189, 2013924253, 419892547, 2314380716, 4216472046, 2959645651, 2025062368, 2452629604, 1360406056, 604977255, 1046358970, 817242850, 2743391793, 495727261, 908313015, 2411710912, 2384776246, 4141492658, 1905983719, 258192628, 3179614481, 2481905070, 1397637076, 1975391497, 2391065575, 4114606872, 3703079667, 3492337483, 2723709107, 3238200537, 1943036231, 505382883, 3155871972, 3878441204, 1742079106, 2765659941, 2946196840, 2270265938, 2613493444, 98150040, 3499963630, 3635374181, 1725307928, 288469999, 2126656951, 4058478657, 918634454, 3055691817, 1952508250, 3964499769, 3580023708, 2761199757, 2412722927, 472151649, 1554452315, 4206220701, 3286229092, 3483293173, 2643328532, 937478651, 3376294870, 2421010887, 2204260965, 550249336, 1694278338, 2276838898, 1437744748, 115067872, 3242959449, 1905673878, 1871203178, 1967160176, 3464647929, 3932418620, 1620002391, 208927939, 1881500059, 112705140, 1572062468, 3241993744, 3499126019, 1534045005, 1768955545, 3333425900, 76968803, 794791878, 1150281499, 380111238, 4192692783, 4136635687, 4169339889, 3908995538, 3780449821, 421069494, 3417872238, 1628391947, 3005871358, 3115512992, 421047252, 868414703, 300496976, 909572446, 3804976542, 3596484163, 2000301522, 1214586581, 2584062710, 489167067, 1120673992, 1683952645, 3193811748, 2970320204, 2278152837, 2192300134, 1310792155, 479272114, 757454542, 1687117094, 3369528255, 3746727222, 2854368338, 305456981, 4103993776, 4214338729, 781750652, 1435317971, 3900558721, 1478055309, 2233342960, 1284611594, 4179619846, 2551063070, 3497440404, 452941590, 2584349894, 2247402776, 3612226496, 2655076243, 1098803480, 1512549386, 1069438207, 1621719237, 2647525520, 1585343965, 3023982168, 1265978233, 1310460384, 180009298, 2353482789, 2101808896, 536193177, 784984077, 3213611330, 216326521, 3952425639, 2740514313, 1901496656, 2663395428, 430987604, 1099589379, 3690492140, 330606421, 1880663863, 902373739, 2145554250, 4131342319, 1973596791, 626498102, 1416077745, 1748685939, 3597263730, 2214663454, 2639560313, 286644084, 2094319826, 2428339876, 4134277532, 3964652371, 285178346, 4243907981, 2855271274, 4246741037, 2067779098, 3370424307, 1178388717, 178980023, 2839725021, 443883266, 4213883567, 2692534975, 3251614800, 1365327517, 946848654, 554009073, 981688021, 1913758476, 3255529905, 632312180, 1744515145, 706930675, 1316656364, 1339873715, 4247158286, 2935372461, 906098385, 825195455, 2543257088, 884433481, 429943612, 3499337005, 778414475, 3835435361, 2565459393, 3721486540, 1478527364, 1021014577, 1753687756, 4247902777, 3685043282, 1330728368, 3745702892, 1939792417, 1028586949, 2010262220, 1126963381, 3920764948, 1846353406, 2070712329, 1492352109, 469761467, 3417919266, 1765282483, 379438622, 916465858, 4283504057, 4141086315, 1812975747, 1189026845, 3254179867, 4250978761, 1473511150, 2500238769, 4283868459, 1329879444, 1822479291, 4121204328, 277496633, 1544133610, 3662526588, 1047002616, 341839892, 3709735075, 861628889, 3750883741, 1134476086, 1344288968, 3599141086, 1135439290, 2836020013, 894172552, 914602811, 3323295868, 89772837, 1862686938, 1704056743, 1059515359, 918984666, 3582590599, 3547833666, 2435761009, 3368811770, 638479453, 1595291887, 3299488608, 4285842500, 3363617916, 1261783571, 1628461499, 313008808, 3952897373, 3193603004, 2189931514, 767160727, 1506520745, 2662873277, 1019083945, 308238847, 1146733415, 4275233620, 2199115853, 325650884, 3138267956, 4203443488, 3667135196, 4171702298, 63407522, 2783547112, 2361802045, 1793238057, 309869434, 3580577011, 1493608574, 820227730, 1427940909, 1217828258, 2749875997, 3339683344, 508368245, 4114036222, 3566060952, 526108308, 2806540383, 3818005435, 1934553787, 779320815, 1055109775, 523914186, 2476305200, 455082992, 1920982059, 915045557, 3002477428, 4246732118, 1628083583, 4208190032, 792613006, 3670525281, 1410529777, 1638113940, 3092220883, 2020843086, 2133666519, 2707440704, 2233176222, 1367299753, 4130556770, 3939980735, 2871786428, 548835294, 4095364110, 1255821381, 173899508, 3984783577, 3290197461, 4262980882, 3270507758, 2161097858, 544386252, 1021936042, 2445523615, 1438794163, 3308190728, 355805355, 685335544, 2608637268, 984843497, 3073285793, 1749899064, 2264812489, 3188758240, 2788897622, 817189091, 3254625119, 4115191035, 4205395943, 1487745361, 3071879638, 385267119, 3850770063, 1197566539, 3908982169, 3267059394, 3995957320, 3120462794, 3145132580, 2791139180, 1717459228, 1460736636, 2927623305, 2040403488, 3840411884, 2679186285, 1520928999, 1966088081, 695760795, 996575026, 502480017, 3682569937, 1135181226, 303964034, 335048779, 731707294, 1854137036, 835304288, 1565895579, 546351594, 408902948, 744500972, 1323903209, 1668670363, 1062382223, 4247183892, 736522626, 2620876142, 1726239885, 2788284886, 1581984550, 3525829947, 751218202, 3027298991, 3396930438, 651820747, 123519692, 905508848, 3541894120, 1246190492, 197543841, 3947211979, 1481226210, 3305274926, 2340998586, 343133020, 274222457, 1242578009, 1364247666, 1565456127, 3214507988, 3878927143, 3438672289, 2390732955, 2866974784, 2500154615, 792897836, 2596018536, 2318449935, 1705767421, 1779399044, 2406447166, 2887715608, 432083279, 2877981733, 1857348213, 2959305169, 686038617, 1226598565, 1957469287, 1399065079, 159402285, 3393607870, 4018840952, 1543203299, 571133647, 1606027212, 3838415077, 1457326884, 2383596039, 4025618214, 978793540, 4162587765, 3346929625, 3616783376, 2138289726, 1698911085, 2668445031, 2513271250, 313616986, 2958099818, 4073546719, 368265462, 3087882593, 1005744358, 3141309181, 1871914672, 4123565672, 3984191681, 1309336741, 174780570, 1492107081, 447093257, 2258286245, 3839531321, 4163292137, 601871579, 132498054, 789642260, 2514305003, 56082961, 683452191, 1621676801, 1401323092, 1275989652, 3809430551, 3438350683, 1747413575, 367929796, 134974125, 1191677678, 274281400, 3758994912, 226866712, 2109021415, 1380434848, 2792601774, 3704049675, 1369303773, 4280108700, 3638240054, 4053274503, 3773959342, 3781579838, 2350949764, 248255716, 1139914617, 3813949765, 2394431324, 3296463587, 2914962754, 263145532, 514233955, 556772718, 4204824662, 3829113289, 312530744, 3751737482, 213342876, 3958478255, 667677140, 2097954667, 1201183770, 711277130, 3310383288, 2170315071, 471650619, 4028895371, 2574155818, 3406379870, 1987437636, 1390485424, 3172271175, 2387404464, 1503116684, 3155956622, 4247345759, 252938121, 3078012331, 1084059404, 169573462, 2704848189, 1329398880, 515150293, 1169555363, 287251887, 3114148231, 1140287887, 1775692485, 175826953, 4037260869, 3524168838, 1806366276, 2839300185, 592221217, 985026161, 2389101709, 1374151991, 2024479884, 3788147226, 206124341, 2354503027, 2610417559, 4125663420, 2731825702, 171139615, 3704225177, 2869600557, 1800739717, 240155141, 2863628828, 2149841496, 2510967233, 3030930627, 1293177504, 2127441205, 3118758094, 2603147699, 1280116030, 2455016640, 1514738355, 341393629, 2085532870, 3888184245, 523328992, 2332315375, 1512970133, 1844131903, 3681911922, 3053363433, 1327202136, 3077572061, 2994668690, 4208993009, 920665541, 1672009237, 3250350983, 1470948894, 1985343644, 2953381536, 4112434836, 342486316, 1465246661, 2320762255, 286012856, 934202413, 2220265355, 2019492378, 589222882, 1009170735, 2871319578, 1094803032, 944571678, 2751947159, 2618905001, 1412432702, 3798314198, 95424133, 2654008836, 1562946772, 2367541769, 2584057093, 2634875405, 2445561284, 1308704437, 4192228255, 2424422976, 4284870755, 2619717503, 1812659075, 3908361770, 471761503, 3137713366, 1606899937, 3381905735, 899632845, 181496909, 1103231986, 3212460821, 2342577341, 2049296187, 504224830, 3953889255, 4270079112, 4224364957, 3182380325, 1483532921, 3473088102, 1797153702, 3186419771, 2470500723, 3550498077, 1747708984, 2672228643, 1560941354, 876089378, 4017372892, 321015895, 179548801, 3475097133, 3380636392, 3039712430, 783248877, 1544481139, 3859857366, 10722351, 2846685670, 390463150, 2516403970, 129421453, 690310539, 191718795, 1245222878, 2798691383, 1299321437, 2888375478, 2045514365, 3741595552, 3612882258, 966820533, 257287672, 813929273, 4029157289, 2319511314, 2861621337, 3317873511, 4254437212, 1418526723, 655027470, 3050370198, 2263597720, 90583300, 3100935257, 3975521587, 3552171109, 4256534257, 1113156220, 3409089245, 3737881372, 1388860635, 172476645, 945607807, 1863384425, 2425587712, 1733645646, 2513560999, 767124758, 3909522400, 3873131738, 728115437, 2819258818, 3792928656, 1136506933, 1436871923, 201307514, 2599124094, 1286524910, 1123458245, 2955129810, 3563427147, 309384383, 1082790750, 3202093578, 533787905, 47397813, 492992905, 2808767456, 2230395004, 2801057897, 3200628320, 4134502733, 325439939, 2453773100, 675571019, 367699602, 3450622426, 2922299449, 733577168, 3606081567, 1707391927, 2149915302, 3166889002, 4188103790, 3958567740, 19687792, 619508251, 3499917627, 245574446, 674431935, 503196231, 2325792680, 4078349300, 83379691, 2218576694, 2178765772, 3866044648, 3268392663, 1805850206, 2108949050, 2977390040, 293356625, 4058229497, 373590168, 3191784638, 1975498760, 3502857613, 3693730217, 3929820043, 1738010169, 3405204414, 1470626252, 532682735, 3955388886, 2590647676, 4008572193, 3320377051, 3635598523, 3631828885, 4266095777, 3132373061, 3324706708, 954538514, 471741901, 2370200463, 956438579, 2235102334, 3557112205, 2994089607, 3492358016, 3837939849, 3183968932, 3927237425, 662819636, 2191650958, 2962533057, 362777893, 182618004, 2722626491, 924243806, 3574697616, 2091203981, 717744976, 1664364650, 3232433041, 1521873506, 3941707247, 1178052527, 1783440815, 4024165644, 1024156319, 2481269452, 2388582656, 797374904, 1466597938, 1105814410, 2209421763, 1155756531, 4193833523, 17399779, 361165371, 1418952739, 868126626, 2540350549, 3917281874, 3032240884, 3852429492, 4089807794, 2284082941, 3360630880, 3287448322, 3483246941, 559057021, 3759727666, 3678687950, 2799159745, 2089140231, 3879511376, 3132965548, 3037681086, 933336955, 3949810629, 660385601, 970068130, 27878693, 3311290392, 1033196415, 134461356, 2666897778, 3449112466, 2865499468, 916282544, 383162712, 3514838131, 3613795122, 2592341269, 2725809356, 502563267, 1072412886, 1963980300, 692026382, 2026441560, 3768322772, 3806937773, 1906371117, 1607838280, 649668724, 1567477533, 772009580, 3610454860, 889488071, 4007295483, 234269665, 3585499655, 964582929, 280363140, 3612358797, 597451407, 808124454, 3843631144, 461333008, 2357866315, 2329879480, 1733395076, 2513319836, 1198965701, 1340992769, 1922393816, 1400701885, 4194790907, 1565121011, 685640845, 1141046147, 70638428, 1105608461, 162531764, 3313983044, 2474962201, 90323387, 2158115883, 1631785827, 1090572311, 2465310722, 3415223909, 1251546499, 729392450, 1000321791, 3344990763, 3313957323, 4219794698, 3231599417, 3930431877, 2337938241, 1370788857, 2746689373, 2715444973, 3153737141, 1436806497, 262370794, 1379793535, 4049229172, 408385356, 2271989330, 2030009116, 666464058, 3601350339, 1560134191, 4056548629, 2069502350, 1486332833, 1595669651, 4130928020, 625463538, 1501827853, 54592540, 306174004, 2138592718, 1824635626, 2893752088, 1457841736, 2183139412, 4140406513, 3539773396, 742228353, 3208937125, 1003101490, 1635545856, 121098822, 4026755038, 114547911, 894047931, 1198779737, 1040763784, 2898149829, 2331412082, 3847868966, 3262739757, 1116567272, 1039048315, 3541095108, 3231717179, 1138634096, 974279160, 1961961710, 3051834102, 1348641798, 3379019987, 1077249360, 1668191849, 2324074585, 469225527, 3515126117, 434723204, 2459950405, 512600697, 2258242364, 1962034610, 4053498440, 1398762429, 149971118, 1518711949, 2856910999, 1598777316, 2276833463, 392914210, 4137970718, 2163284803, 2272765551, 123278180, 4024332174, 6958053, 2308276235, 2533234524, 3681321541, 537096301, 1862712374, 1402027886, 761259386, 943121860, 2868282916, 575713844, 744803564, 3018680201, 2107528127, 1417806170, 959876854, 2775686828, 205746958, 3901761710, 1112490154, 4132198722, 3671456697, 2682723203, 3148006837, 1645885010, 2147660880, 3891539203, 2208304399, 853861301, 1492217675, 3275531744, 1569892482, 1707828147, 2958341761, 1568865179, 4254249689, 1529370286, 3665719593, 2599573964, 1897632403, 964161780, 3553416762, 3709484844, 2815285614, 2481944543, 3323295796, 3425712313, 4232549373, 1910012451, 3119207859, 59254233, 1976556167, 669734763, 1558180784, 1519252369, 2095877884, 56856756, 2679588922, 1714705829, 3966640822, 2273837398, 1919928564, 3822480068, 4172690813, 735358850, 2730298554, 2801180474, 4023585989, 1313107329, 4081517833, 4121243963, 3462013820, 3421893183, 3708447463, 3411950298, 2737991554, 614549455, 3503639656, 701403665, 1501885860, 1597105133, 3963717399, 705572791, 1027941113, 3923818967, 2210650338, 3453347057, 956031471, 3351675837, 381960657, 256584523, 1986346222, 250892695, 107666345, 921277073, 222402875, 172627751, 1708619979, 3773361331, 2791589559, 4016721120, 3504959488, 377094488, 809188273, 4243648327, 3336505000, 929187580, 3840448927, 1424945545, 3145452458, 4094134789, 3952813856, 988224700, 717786719, 3039872731, 913796164, 2212162355, 700619970, 85639263, 811285057, 361266243, 72466839, 1143232622, 843493663, 3171780014, 3146006960, 3218844341, 2731455417, 2863142287, 1077587116, 1816994163, 2400060989, 391644970, 3782628778, 1880772657, 2154409731, 3503060419, 3427144055, 3017830864, 3980476601, 742742573, 51239308, 409227826, 4060675431, 4098374498, 730116577, 4238866250, 1858909931, 623851479, 1236723685, 2685549846, 2559576919, 470173726, 3316783971, 2017237116, 1453403007, 2815280761, 3779242488, 964403126, 1411007809, 203908510, 2600937987, 2057159841, 491852654, 4063190551, 3066782072, 3435765122, 2260969705, 3345538882, 1697599083, 3931586861, 3646101487, 1649874940, 3464248247, 3314547004, 3409098342, 3356130639, 266221169, 608676218, 486630051, 314771256, 676491551, 3197990256, 1471148407, 1586672998, 2875164422, 537558136, 1443837165, 1012853050, 890013869, 3698477325, 4093236845, 1009055670, 1749624732, 2614429336, 3070952021, 1918448423, 2276801523, 2418558543, 28983298, 1026053904, 2097930135, 2874101141, 3311216244, 2136117885, 1982629933, 77434265, 884722562, 192922214, 950125143, 381164112, 1037503268, 357856727, 4000771754, 2553938387, 492600757, 2912624548, 1112988481, 1940572164, 697683620, 458060097, 1149897911, 2071616051, 18091237, 447946807, 2317742352, 4186264551, 3600256246, 4039936425, 3662758044, 2047988592, 4172212829, 4168726138, 933828931, 4147622034, 87999013, 2042356734, 786049376, 3862590392, 734149794, 1112936670, 2452145730, 483623311, 719918145, 2571696223, 2831560727, 1502968335, 2942826725, 1375802604, 4203492203, 3214713432, 3203856834, 1756937219, 842703875, 2116599244, 3442276022, 753960153, 1968177392, 2881960429, 1091013587, 648358471, 4012268309, 2253985586, 2552129333, 3064825352, 4108499395, 2169186566, 2121797193, 2956245058, 744542950, 2407579641, 232124534, 42296866, 3013934098, 2295071678, 113174504, 3118907474, 114089430, 646782490, 1189321046, 2536229754, 271511136, 3910774406, 2044878135, 576267191, 2713688239, 2540709493, 1836339455, 1311825943, 3930700571, 3729861777, 1048634519, 3852757258, 1229057312, 497572305, 583768983, 1167077125, 1135103021, 1356503992, 1130243377, 1032132848, 2495335124, 3844899244, 3007477573, 3435547637, 4119935550, 1116083869, 4123862865, 317900308, 2983662025, 1584374256, 3202225081, 950309444, 2406709429, 4117390097, 3980692250, 385486383, 1552049993, 1975350457, 2740757646, 142261419, 3756437284, 1281463664, 910687905, 1914570137, 2887838059, 2273845598, 2429852179, 3816107399, 4020508008, 3588046787, 1669588074, 713459958, 3651592019, 1107188487, 2218745621, 192951989, 2328022346, 3104927050, 3958727567, 2003494349, 245398739, 1403116189, 3703340098, 196080570, 3158162150, 438238214, 2206297416, 3637157585, 594679903, 2714672640, 2729040144, 4150278576, 971652092, 3158476515, 2825106396, 11889141, 3667576858, 20636702, 1231048814, 3058797148, 1714846834, 2606264927, 3820231367, 3480236237, 1200421258, 3461970375, 251939649, 22768807, 3174770165, 1527564002, 1057657906, 3804803765, 3641253002, 1705081700, 603773229, 646317668, 2308045692, 671485166, 3923956320, 415495641, 1261538209, 1744694621, 1063212103, 702800558, 1702899701, 3928018555, 3642104915, 1051353603, 649297863, 2839249761, 1078641435, 711244780, 3983796225, 2109211025, 303878936, 3903875603, 1004830217, 708506963, 2629099287, 3751651255, 4200689781, 935659428, 513836908, 377304944, 51173822, 2674270195, 294269418, 570500762, 4096862174, 2282657141, 117713908, 3579687896, 2349423879, 2608099761, 3718883598, 1221561153, 1837321283, 2311797267, 3581488070, 3283303340, 3609298671, 864941326, 505678266, 4099372445, 3174145226, 2255052223, 799214, 1094739875, 2129119123, 898044845, 2670425028, 1044328960, 918136355, 1388684101, 63269366, 636842297, 2790903059, 3539586568, 1895056723, 3738520685, 2280617066, 149883783, 264721086, 90160532, 995813497, 3956547222, 2876395198, 2929898, 2156668062, 3139618994, 2827032419, 3748412061, 3948715521, 9081556, 4211275432, 3948851620, 1474716698, 617231485, 3764554861, 1890194389, 35087875, 3870141405, 1476770066, 454705965, 918908813, 3568776635, 1811152676, 2525935912, 2074016521, 2415495788, 2950826533, 945428460, 2991181727, 2925657085, 2038077199, 2391834171, 2048190821, 2532117512, 2685421813, 3403008333, 505751539, 3918550295, 1837454256, 3139733878, 2887252814, 4190565553, 2344378092, 983707901, 566002269, 1600996583, 1130042311, 811987632, 1261519743, 986045319, 2429433165, 979999548, 1207742598, 332087606, 569538983, 3108023057, 1804087735, 1332249598, 3071190025, 1686430192, 1876056784, 1756264730, 2370991821, 2100734580, 1986402634, 2847726974, 3773608697, 3259794654, 1747010369, 1596119767, 762140008, 1016576447, 1404686548, 1641826509, 61933462, 621136431, 2054876571, 3214234853, 4212658804, 151594267, 3509066142, 636305665, 2290122265, 3142784208, 3900755653, 2301046877, 2205053666, 1923409012, 2056498734, 457538948, 565410350, 3862186341, 186627356, 3654177857, 2872386, 2121177885, 2485052561, 1541129405, 3245537127, 4222323542, 2070334757, 322795917, 42637630, 3010423334, 3930293534, 3881184054, 1683620833, 4264289, 284747080, 17309016, 3424378577, 362407416, 3103480862, 2947456092, 2611729836, 64730294, 2059215100, 2799136682, 3552501860, 1360053233, 267147755, 1523833321, 3807842287, 1220777247, 1038958013, 2781556519, 2660422550, 1233132642, 499031664, 808641258, 3101124755, 412949645, 1661800806, 3300398192, 2659053720, 3404750527, 1821931239, 596436135, 922322602, 112079582, 281009890, 4172286664, 680174937, 1899509720, 3690815672, 1864848947, 2848628901, 4187381891, 1241901933, 3971927413, 2611165153, 3651063266, 39853710, 2421371369, 263219577, 579947453, 1524782940, 2833765652, 3165340653, 2764426582, 1234777922, 398740226, 3990256346, 3672046201, 888821489, 3869430388, 733653360, 214880908, 3587603322, 593797974, 3080467264, 2023653849, 473387839, 4063896377, 3821447479, 105586674, 1149168830, 575491662, 3492735752, 1652186648, 1142013327, 2815225614, 3807280623, 3468846128, 2724747126, 1296375955, 2352226595, 4212508489, 3492958593, 899521482, 3142289324, 1624992774, 437596850, 3331475148, 1347824918, 805044389, 2296120657, 4160612418, 3399008141, 4089684897, 1111213958, 2870531356, 435729962, 3273372876, 921272336, 86179476, 1178492856, 831529115, 1785001395, 3409338046, 2426898400, 1821363137, 2903372167, 851878298, 2301714693, 536608318, 2426737715, 1875759897, 1333379317, 49370719, 1710456224, 194766005, 3142517775, 3323157959, 4123306219, 4208157178, 1697424938, 742557316, 918834678, 1717028674, 788786368, 10459479, 2335654718, 889367558, 4202997713, 411912787, 3592561239, 3145607691, 4066910233, 2072267615, 1132727545, 944444174, 1645875820, 1643815974, 3823728211, 3287771552, 509089456, 3645721482, 3079073490, 359298011, 3389393280, 3710791493, 3304417127, 1669627563, 4117458420, 1129093439, 2703229321, 3995530731, 2283843629, 131707220, 1722201164, 2241882466, 1552516164, 543598338, 3853028106, 3303703181, 1701821748, 3177427822, 3455857763, 86512491, 923536308, 1595926047, 3753198987, 1202527060, 1394382258, 3817260486, 3223408871, 2169337024, 3361830406, 770982003, 2484016025, 2002346419, 1975615814, 1700107279, 3018370088, 1388041505, 385524868, 2840398126, 441489531, 1776131543, 597505239, 3141556446, 975100385, 1535104474, 4186883049, 3070583999, 37280837, 2289935307, 3928383770, 3717163974, 3781847706, 2327468166, 4029039445, 1646148604, 3887454824, 1755601773, 154321544, 3987692772, 3079530241, 4197753730, 3050950343, 2065488834, 288207375, 3380000164, 3911785585, 2827817451, 4130127252, 2829440084, 815701632, 2900254904, 854287111, 956578897, 1329290101, 1292978072, 2307981424, 1972600834, 3373787142, 3978986107, 3348263269, 1972477780, 3918991029, 4218034075, 592936416, 465564681, 2586311415, 944431069, 3983153882, 2962340875, 225845744, 1839539690, 2419673831, 1544387532, 3466699734, 1364451421, 3383511851, 3017343512, 120586275, 3800871202, 4141829188, 2328812452, 392181238, 1264381532, 3326629392, 3625082738, 2303636591, 1890487926, 3975309224, 1102084045, 1062418525, 3737003984, 1975778544, 4287499344, 462324588, 1902749884, 1794412778, 2046150160, 4238961421, 165278006, 3553116128, 815800806, 1537838446, 569697586, 891499000, 3182101789, 1702373576, 918277926, 1175704267, 3001613556, 479906562, 1341234187, 724723562, 2416020167, 3354667954, 88925838, 4174591717, 498680886, 718006557, 1066465660, 3041231951, 3191631113, 1836491252, 279121575, 2623122464, 2129055036, 3610117146, 3032912040, 1504807740, 237062809, 2673015452, 3395091230, 1108615062, 1206746778, 3516473852, 794145628, 4032706511, 1438470659, 2596697707, 3245754852, 3355018521, 2181989993, 1014762503, 2336368918, 3960186831, 2828438353, 3149028809, 948311663, 3199249360, 860141615, 2406537873, 3644953567, 1450544600, 4075001430, 972145080, 2347184267, 182004149, 1579415240, 1771320304, 3569250443, 1996450256, 4080571661, 4059850331, 4056477685, 2051749241, 1829072360, 1584485610, 2504532722, 1580486242, 3814694302, 2883374038, 3682778621, 1133046640, 1406641028, 1499229892, 196619877, 2188437099, 3342001560, 1465988419, 4211610437, 459221591, 520773669, 3783974404, 4255997553, 3109364213, 3054673954, 3539659907, 543193776, 4275142370, 3954673912, 2569262271, 2092728478, 483398445, 270175239, 1836420371, 2313268329, 3517728943, 2076977977, 854267315, 501042058, 1012809848, 4288740548, 3173226503, 3060572441, 2277238866, 3657071674, 4097270613, 3965160232, 805657451, 1430680603, 1078976671, 4147470797, 1851166285, 2997146940, 4162469535, 2816371920, 1912652718, 3487858435, 2733431378, 2829171779, 2401054243, 3021761261, 3118577343, 1006403590, 4251146718, 2199298224, 172936377, 3094385803, 2312319235, 2451063156, 2670898329, 2722817086, 3700690601, 925346766, 2955476117, 603600664, 3380379105, 2655653298, 3379924989, 2927518894, 3250380462, 4203580681, 626398581, 100636439, 1023844653, 3077388035, 2606550998, 1071972273, 3475414156, 602488973, 33613606, 3595683744, 2412449342, 239655961, 1632452640, 3625497565, 222951991, 1254117146, 951362674, 2222883293, 3404567574, 3945124530, 3005571193, 47311506, 996507526, 1803102367, 2343750979, 4108026948, 3798486970, 97120879, 3174097410, 545581110, 2211460122, 3944570685, 4081541169, 4174404637, 2531045028, 1294838309, 2468426435, 630945227, 1632327872, 3259713991, 981239970, 561744150, 2106054180, 895218515, 2966549103, 739756262, 315782089, 3813183348, 3829347648, 1683642301, 1080960117, 532450739, 1315829957, 1482515659, 1592770607, 3314255409, 3488661152, 1984877271, 96839476, 2204355112, 1123263928, 3759922452, 3204248167, 1711800731, 2998029382, 1614182104, 1802497172, 3502148528, 2713964003, 224847437, 2038024054, 2428075594, 465888912, 347725955, 1310923574, 2429580101, 569454458, 241574938, 3003433568, 3744492274, 181377682, 3451620671, 1825211675, 3017438139, 783460711, 358818759, 2366150846, 1920345130, 1933454958, 3053152550, 3644175341, 2856416184, 167204809, 3316463664, 3859109569, 3842759810, 165329414, 2786528105, 568624713, 269001647, 3569026241, 275465910, 541424228, 1575523170, 241116512, 4282948462, 4282572455, 1168513801, 2625069388, 3199649570, 3954862402, 3761001798, 1342500400, 1190548424, 589574180, 2169906458, 1812558654, 3586880359, 2627614019, 219542562, 1032757920, 3563874529, 2189808449, 1175339775, 2011714380, 1823265567, 2129099267, 2679869433, 3808718364, 1527491497, 196519459, 2036538554, 2024972717, 14972730, 3565170167, 2081611815, 4287328866, 4207841587, 1965754051, 335960365, 1201020093, 193229219, 2911408411, 4243438913, 4023605971, 3318798996, 2431861498, 637780952, 1972107729, 4051351343, 2715942536, 1260764672, 361567178, 408525006, 274342576, 3421809019, 1026005162, 4090470429, 3287445595, 3778520004, 60013192, 1385338091, 2580566263, 3557976145, 2597008762, 453549377, 3164521283, 2110817227, 186768729, 3937564509, 1645117320, 2759795199, 1695702810, 239866402, 4219781260, 4020045201, 4011132384, 3064312368, 3970091034, 2918012820, 2607655162, 1541716375, 2545143387, 3171881392, 2555292958, 654540905, 1417443710, 2262890881, 3409329180, 183244530, 587858508, 3161213944, 3623647616, 1990725816, 1315259992, 1847341743, 821846783, 2854809373, 2242907928, 639277485, 1355876715, 4027707523, 3852340932, 2807815138, 1821237183, 4084186808, 3858468935, 3686252687, 14731124, 3201445125, 1345593601, 3191990183, 968143178, 2438963572, 3023170952, 884229657, 1365826784, 4154118850, 1794176622, 2461811769, 75422760, 3116591379, 3475730490, 2353131629, 3183044202, 98302253, 3983825878, 1704315569, 477401605, 3779462154, 2073655046, 2753989263, 1689235889, 1695369602, 1581148001, 441055305, 2565291843, 1844910048, 1313412764, 1175930358, 2106690618, 2424718220, 897517852, 2544413957, 3086464534, 2636946095, 1688637500, 3963281353, 3447712792, 2016362439, 2487265005, 3992478930, 2826542595, 952882103, 1328343976, 2521918863, 3511651740, 1576304536, 535329271, 540529927, 1309068432, 2324821096, 911100488, 2621121440, 3416440295, 2773176758, 1116887106, 2623111542, 3120486570, 4207021270, 4194356886, 3249852027, 1038878170, 3016826889, 2421759206, 2674909373, 1503472296, 1895089001, 2507181921, 3828698818, 52225898, 3634473283, 2507476414, 2637583706, 843825987, 2471147677, 1349869115, 3881365962, 2211305118, 1195923147, 2940498159, 3894946194, 2065040861, 1242481431, 2478795221, 2858941099, 3235467513, 6226333, 1662264612, 2123624237, 4231076438, 1243852386, 530970314, 3867402484, 2252483440, 1327792610, 165682586, 739361511, 501985576, 4106123444, 3730450916, 993378529, 1749184476, 446667112, 1103358377, 3731623934, 3154003363, 3632915562, 2449739562, 4152409941, 139165295, 2246784530, 849902551, 1673087570, 4093495962, 1327936869, 198714270, 1218566851, 2037881348, 908331679, 2524422849, 3179718467, 548814952, 3273966490, 52723226, 125249059, 960672264, 4096634256, 3019585057, 1572216977, 3828533580, 1225305299, 3700801820, 352179133, 3155520798, 3708168353, 489209380, 1764182824, 2843047838, 3346347018, 2477298991, 1885036396, 1594655150, 2511254401, 1461098121, 690044728, 649880768, 2431346892, 350321849, 3037106237, 3365273098, 551864570, 1099557289, 76530220, 1328982789, 3608149902, 1349198687, 3275127093, 3905921917, 889211499, 1536113029, 3847184051, 1806670238, 3450530260, 3425700924, 3613684333, 954239090, 474664191, 2465093957, 3927704072, 2343608063, 1427681491, 2000646531, 3831828945, 4209340143, 127561763, 1297976751, 2934802353, 389959874, 1941655938, 3583973164, 887512786, 79862311, 2034493109, 3560836902, 459134742, 116052462, 1769230085, 3782078154, 3744938302, 3501834570, 1105811039, 161092474, 463907258, 1743334905, 1606017147, 495024726, 2652545969, 805150863, 1600122262, 2308078052, 3303670716, 1748872308, 2109688140, 3126815269, 3287801635, 1458233599, 3380958439, 1741838464, 2047653262, 1160371034, 3014268933, 2991032358, 639283699, 69727572, 161311813, 594800764, 2725763243, 3573953029, 606099739, 2453476366, 1024197202, 3330030356, 4102690505, 4008857476, 2396942118, 592801112, 287927257, 2402395006, 342819855, 2081146704, 1899125011, 561803867, 1852946909, 1659018586, 197799706, 930025101, 2339798658, 2515205266, 3154423139, 3510183272, 742839683, 2715799639, 1008534894, 140986942, 1391977655, 1461080019, 1033795388, 4268474111, 1996168941, 226777282, 1552790370, 3071751313, 2747480509, 2459354670, 1764854227, 3555544017, 3938281682, 521633362, 1067266232, 3407435470, 1406528238, 2500750544, 2037843491, 117622866, 2223230059, 763078962, 3606972485, 175154651, 741793770, 1233457781, 2708112065, 174869069, 3345698308, 3392018135, 3639277412, 2909565280, 133312890, 2003789920, 2443543593, 685435533, 2529343427, 356575766, 3043180523, 1603178470, 1789510825, 2057724426, 620194317, 846686330, 1446550116, 3445157085, 839409620, 3145367195, 568809288, 1778834544, 1772312641, 1657791749, 4031684628, 3158246688, 1577822461, 3057851630, 2558292046, 1678310016, 1122928202, 317673231, 2595189347, 1626904190, 1904563323, 2988789142, 3373631559, 3784074459, 2441561392, 24767322, 55506536, 3810027337, 3442649849, 1612583703, 2239805211, 1575771306, 3545409544, 3468077479, 1988332807, 2788343108, 587694934, 2906995092, 2705088963, 449418903, 2712797135, 3160620585, 2095674356, 2009088624, 3273376290, 302544801, 2167174392, 3995535433, 3809175964, 2187933358, 2574068756, 1864883582, 2601988509, 2991682944, 2295810211, 432822043, 1401080037, 4260702703, 473715685, 2896463741, 1922350275, 1919844710, 1604249675, 1423161420, 2740923693, 3796754154, 2247776319, 3276179009, 4069162222, 1507147973, 1877801446, 3952071682, 4057831189, 1343507180, 3323726992, 3512459185, 1424526878, 2566255356, 3661049917, 3824190710, 214367635, 2432807613, 1367892424, 2159880598, 2115311243, 1379354199, 2303895483, 2428423631, 825014988, 1571730013, 3194298819, 43346525, 316567083, 2277217754, 4201927232, 1077729010, 2377787884, 3179304493, 304140451, 3919085861, 1303247340, 3092730515, 2503076404, 1807259602, 471490191, 1381561391, 748776677, 586584425, 181460181, 2503983829, 1709366483, 2724841991, 2304742659, 1903062147, 2097389398, 1698934906, 4141528895, 2784422953, 1793295906, 1912829596, 4239724024, 890186385, 3184498861, 1830641470, 3036608572, 2573319298, 1193019284, 2939832189, 3604774492, 1190419686, 3980000188, 659454295, 1492030938, 3419381002, 2127936884, 546156677, 2919407468, 1462957535, 1984036860, 4050771239, 154502538, 4029315813, 2126291780, 2664696156, 814338052, 2077798195, 110789228, 4218254654, 2830220088, 897889792, 2292603544, 3857854537, 186915107, 4248779089, 2061950309, 2928796236, 2393473415, 924929655, 1902404025, 1369172914, 2492176451, 2982509509, 4134350014, 833050371, 985512283, 1205190902, 3017016661, 3344318674, 1502113658, 3449656207, 651513525, 2980695707, 919381220, 2449756697, 1489827670, 182922594, 1681927817, 69454262, 944980745, 1394009554, 3379297160, 177141868, 2813466332, 372961360, 3673058746, 2244728549, 1852719231, 2417775905, 1182168293, 4063779471, 3777734051, 1088462075, 3021806481, 1843418351, 1423216090, 313183198, 1612063439, 783684997, 3115973093, 382904112, 1762741114, 2887864717, 2383893594, 332316908, 2392052366, 58203021, 975378110, 419583572, 1133032499, 725593869, 3085705253, 28920780, 281457802, 1687319981, 3228166819, 337975684, 3026088394, 3142523585, 3954162801, 3381526461, 3072545880, 1465332906, 4189996718, 2965894837, 391959607, 2850309325, 3009880771, 1053055402, 1610935945, 1566973162, 1687356380, 4087160775, 3829807360, 2105355073, 310901286, 3280085142, 592365532, 3470393689, 2727830943, 929799293, 3005878258, 1829021799, 3425818297, 3153523499, 1079785158, 582551466, 2503225620, 1143253882, 95928647, 3731781410, 3181709297, 2485812925, 3730849094, 2173416293, 3361359598, 204537024, 1973419951, 1395292196, 13072777, 2097959601, 3980458860, 3164429900, 2478802701, 2852801131, 2182390311, 3225301835, 3543055806, 1579586062, 1275864903, 2836317543, 1814735417, 1064855000, 1416128143, 589896570, 3239584281, 2514518734, 2986740856, 1717214568, 2153488796, 2710950294, 2432651035, 3190938924, 360156364, 2893892977, 1766584850, 893541186, 3131502469, 1211054837, 1788898100, 2381386508, 3348496952, 530101799, 2731321926, 165196350, 2688534676, 4215349701, 3033313489, 3140233581, 3237199790, 2783461037, 1669014910, 175053484, 1198692166, 2959843159, 2759586522, 3878677823, 2900228918, 2885214808, 3829952095, 4072624139, 2785666579, 2131190315, 1505383401, 1907665963, 1331860050, 3413006257, 3151688308, 1231169808, 4177782522, 1113076586, 1922640920, 3316968790, 1369466852, 3399870407, 2963166232, 1990786916, 97437188, 1362746929, 3046422868, 1511141029, 2569040890, 657466349, 4248148760, 1632996199, 3689640755, 4190991262, 406266331, 3787352278, 3637526146, 1718954082, 1250449940, 419191966, 3092214875, 3001437174, 1985816878, 3416822037, 640146399, 2368772112, 3854059314, 2019818596, 3436300610, 3570625920, 2167970342, 881429264, 312035984, 4078666303, 3378820198, 3292471427, 3555341823, 229799952, 3231152611, 337679561, 2159159123, 1684583273, 3863279063, 127857211, 318320505, 802551576, 3587855236, 432178864, 656479454, 785413524, 2601274153, 4155781416, 3998975328, 325974121, 1803576618, 2127083052, 4050711051, 3125817825, 3229464852, 2170120852, 550572638, 571597261, 2763261886, 1097846432, 4064100544, 2176304882, 3527942540, 3989199621, 2012502025, 3618873981, 1906337440, 4037156606, 32668948, 609238775, 2120619456, 1604052135, 3036990261, 3660278096, 2567648503, 3225186802, 630155911, 1859671094, 3510325944, 416566461, 1822857750, 4171197911, 2234076530, 168581719, 2528081238, 1406789083, 2505927118, 3745334022, 3968194933, 738464034, 347314523, 3893537147, 2846638361, 3399102416, 2266643340, 1045336458, 576594094, 2838273056, 476334328, 961021478, 1329010592, 596263791, 3327526667, 4237989117, 2492625691, 3175762980, 9087800, 3580867889, 2198616469, 2700488976, 3898219674, 2618519206, 3595236975, 111340105, 2126638567, 4098678350, 1706059525, 2864626372, 4030159552, 766989811, 2784967338, 2074300275, 304255944, 178260735, 3295469723, 1984602502, 4081752621, 3012903550, 2554952383, 2970850229, 1978605581, 3358869910, 3324341718, 3373501184, 370102905, 2476737661, 1600289987, 1990706554, 3849111248, 3189136696, 540206215, 1662982154, 1850862164, 1721830325, 3368641156, 2928014035, 3513790556, 3211957887, 3801392528, 3889789544, 2507722958, 2520243558, 892412320, 1984764745, 1741945053, 565262989, 437069152, 2677214438, 1232643180, 1995963683, 431827838, 3570718328, 1869847931, 275509222, 1407964433, 2062433081, 1341204617, 3190505745, 1365624908, 3156902301, 2824599477, 3236687375, 4151321665, 3274643479, 305753047, 801338686, 4010839271, 2905753321, 2427197321, 37638051, 2782842378, 1908096740, 1040511055, 2784129153, 3208712266, 2731344577, 1700203842, 3451740125, 3838937248, 840344355, 383195071, 1153928478, 1727887075, 1154915919, 2935479880, 4135755174, 3051692398, 4002847970, 4229026461, 280980231, 2589529580, 3708810406, 4024641295, 358469799, 3972761320, 455226335, 2926680133, 3809586879, 3791250506, 3305278903, 3098679222, 2889734911, 4018764691, 350074961, 4132685170, 3723057635, 782999100, 352714669, 2767444557, 1769524485, 2070292722, 1435467395, 2806875781, 4206446529, 153709074, 1030749933, 1846788102, 3613591441, 1688935107, 3183498891, 495209576, 3939696357, 737862294, 3253705645, 2628798904, 286375101, 3561015667, 1535619509, 3927356094, 2935261768, 3332601425, 4256988687, 753887629, 1929323547, 3550996200, 1909293736, 891592645, 3686676610, 94769890, 2341007796, 1880236825, 2453245707, 2149221977, 1690235971, 336728362, 38655744, 2957618356, 1735060877, 3082934790, 4013473840, 2586665831, 2306772940, 3578751410, 1536103295, 3224037582, 198713062, 3333133847, 1408563557, 3671260623, 3792651354, 1560015191, 1619900768, 2859355723, 1034066963, 277730903, 3004411609, 1259555235, 1365426497, 2749311082, 519017985, 3307134583, 3947234610, 1148443537, 3583439840, 1385415799, 15132832, 1915485392, 3798947485, 3955354132, 1318240434, 1418969788, 1255081646, 3219614661, 3721710875, 2181554939, 661551748, 4145286194, 3547375322, 1185374637, 1155769417, 2013952471, 2435557500, 21957192, 3771102022, 51023645, 2401479871, 391350724, 1883208523, 3824360327, 3858500958, 2585912383, 3258505464, 1027551664, 3413154441, 2609758753, 2639725379, 3869808725, 3494171878, 4137210858, 2488121573, 113145085, 1243512824, 182415899, 2699073087, 1758432528, 3317145165, 3447725892, 197832565, 1613858970, 2801083852, 4223071187, 3283250876, 2996086041, 4178542978, 1922956148, 1478464266, 4083032991, 3897560727, 3911427645, 1221826645, 1206117992, 2044287871, 3024551876, 2939656068, 3784891967, 3154693199, 1878590339, 682642268, 3939232421, 1903968521, 2789900644, 2432050531, 1560518553, 1391635284, 1356925173, 2052459558, 2703996940, 3372314723, 3412083690, 2506997835, 3206403200, 422502645, 3326703, 3283539606, 1104168046, 1776483729, 838110992, 768653713, 2450372223, 214783934, 2668673205, 3102768316, 4019359644, 1872227192, 419007374, 3928198108, 2470178593, 3945156557, 2739522754, 675079050, 1848189984, 3983962174, 2779585921, 435581666, 3743326877, 2455190178, 2984966109, 2099873137, 2568583908, 220209616, 2683048919, 474910147, 178166120, 1308480859, 760453233, 2042158714, 401772463, 1649791319, 3595410595, 2086465536, 4063474785, 953097748, 1503862773, 135814801, 3624511477, 1946276756, 4015619651, 2096673244, 1936529707, 1313870004, 2136185548, 4188052161, 2622881134, 2756626254, 457447360, 1547471071, 90903553, 3760370421, 2884731714, 3322428383, 1294226534, 3368399525, 513190519, 2010354900, 3924073680, 3606472795, 1783000103, 3345436379, 1082555110, 2993403227, 2764675039, 3743782242, 2285794523, 2220381368, 1269402657, 2949322840, 3403537521, 2395831251, 970984932, 2668334671, 2643752638, 977304260, 58159030, 3402612655, 4023941475, 778997387, 1720770134, 453981770, 2384241430, 1767816062, 2924094190, 2311855896, 970839902, 1342959823, 4048962178, 2376223572, 571380148, 2045521668, 4192809126, 757518920, 173733345, 2469409989, 187788459, 4193542498, 3659344755, 3646170195, 2213021366, 3120975683, 1757776823, 3585378368, 906200507, 2145004613, 1135790280, 3870167686, 1268048314, 8398193, 382759256, 1762418178, 4055518166, 3048754127, 3729484307, 1357711202, 325129241, 422059521, 3541773809, 2726070910, 1543632533, 625922562, 607636941, 1575006240, 2137816181, 2734419793, 2215751553, 1673031360, 4028999466, 3599972510, 1459240827, 2276568832, 1070620408, 1866512189, 2999042133, 2438771463, 534166206, 470601817, 3105941726, 3754818449, 3983609262, 593808633, 3260117961, 808533788, 2359248047, 3858652670, 3547638417, 3310953589, 4213048587, 3661238185, 4272285931, 3877770604, 4183859549, 972094964, 1854860560, 2866698370, 3363137028, 2715923170, 1401869681, 4195517878, 1153878503, 857849217, 529003921, 1190305129, 2952901852, 1467533740, 1389587260, 4144638081, 2314830521, 1882026860, 2029202355, 3370439962, 1502376696, 1043921047, 814703319, 3972534174, 202501680, 999502960, 884560607, 6127650, 2272026188, 81421403, 3287691399, 884205661, 2057237116, 2507643239, 1119459874, 2347959765, 3027230500, 3150389916, 1441451668, 1988503308, 2295462777, 3894850098, 3867650987, 247612517, 1821736082, 2396696869, 2306556326, 2680441820, 1749951912, 4125641823, 3388918197, 973673060, 159048668, 1140966794, 1488336878, 405028504, 2330580215, 2254267465, 402028264, 694119745, 540184074, 3810955107, 821556539, 3140362131, 376596082, 1160289944, 4135465428, 3502808813, 697791111, 1883184543, 1388476640, 1833561499, 2170579292, 3111285253, 2235958743, 2663597687, 2093722381, 489870330, 1588530973, 3568573933, 1619416002, 844191179, 42332056, 111465658, 1403764117, 2523032431, 3018576861, 5823605, 172427538, 693306208, 4241968509, 583948609, 581801556, 2703629015, 88797972, 3319293861, 804037323, 1494699647, 1503152171, 4271663058, 3225330248, 3626003204, 2532100567, 3468411991, 2175839986, 3490395803, 4008077255, 3292909128, 2873040055, 348419071, 627019902, 430815099, 3395807543, 3727227627, 248242764, 2553726412, 1488732026, 2227615478, 2524766073, 3205449875, 1980275441, 4176768849, 3106851659, 3159003649, 1290956151, 3111977169, 2222290171, 1395837466, 345747770, 4230561176, 4179132604, 3313534053, 1210722745, 264181256, 1661460742, 1565757661, 3343921142, 3887277709, 3283365659, 846263640, 74926467, 3216120111, 4167642659, 2060591853, 2413184415, 3400992036, 2017190095, 2994279207, 2128417013, 2247263245, 619257150, 2391173381, 2583594953, 570143982, 3039952629, 2129757244, 1812590445, 400876458, 31013874, 3941812561, 2450742892, 2858434116, 2747436582, 3781356372, 623362082, 673199348, 2258742051, 1997981787, 3558768717, 2702627619, 3357874075, 3288629828, 3196955253, 3464907119, 1733413168, 2410228900, 3663706824, 3925838104, 47634904, 3830501841, 3868106478, 998650451, 1925005294, 1598364438, 3002064792, 29032016, 530122163, 724884707, 1145478481, 3210238582, 3319604187, 3727999064, 3365182501, 3033170201, 3639280968, 769098857, 2144876993, 1237259161, 825638189, 3354773771, 1479337425, 2550840359, 3808557921, 4149486732, 2736924426, 597342203, 4222219774, 3592670556, 1799703664, 3915203442, 3225304179, 300968996, 1189778470, 2698406205, 2392149167, 1431009163, 3940226575, 1925949757, 565637998, 706697833, 1096779182, 3277120323, 767358316, 1022642546, 2244703052, 4178921503, 568026340, 2806435195, 1143622702, 1895025736, 1179878891, 1809485196, 1976569403, 1157727837, 1474579913, 2679443294, 1693168137, 1889490857, 2653085748, 1900438344, 2175681030, 218824025, 3020898773, 3412322957, 4130609685, 1005003296, 3636771831, 2527572393, 4244100718, 1524954901, 300540299, 2261426201, 1973468622, 762102673, 1984309731, 400451487, 1956751559, 1783782604, 1582494976, 734664729, 2065272979, 2159300679, 2662390206, 3057038141, 2167064921, 3393865789, 571441438, 4102575472, 2481365607, 2230776564, 364487935, 1812763531, 3458162833, 4106958001, 953465505, 3598604081, 217089357, 3210244901, 1540986082, 3836363993, 2235252678, 1252383568, 4035689501, 4042995838, 3977868941, 3126839018, 2901620776, 2595299972, 2270623325, 2759727296, 3007020148, 955267968, 1570498643, 3994467466, 611032694, 827506197, 2198116245, 3314883055, 684142921, 2128255433, 1250760929, 1115075275, 2498373245, 718399649, 1878669149, 360342269, 1458338953, 297989643, 1932036144, 234527495, 3257069953, 1105348178, 275144114, 1061206848, 355517205, 2813945628, 2202823696, 520734493, 918114408, 2839807196, 3058873312, 867856353, 276331332, 3694924218, 3356999460, 3913362159, 2590829745, 3473126339, 3306985951, 1036228548, 3085852779, 2515698000, 3239430240, 37989705, 602106122, 3217616067, 3436467590, 2161108810, 4142436451, 4003928639, 1230653497, 933880705, 2376486407, 3934867552, 2077035254, 470931622, 4140576268, 1462200366, 389472541, 3784902368, 3960376029, 821092749, 2905152022, 1271300268, 2659568409, 622074677, 3715423172, 981748371, 2789501641, 1903102069, 3167805971, 1005726962, 4230137520, 693081702, 2005966707, 3156628694, 404713254, 2984312670, 3752530633, 2246859706, 4024706134, 362935934, 1938731534, 3778443109, 1062658302, 3228562006, 3405945135, 1966654236, 1935171660, 2622984094, 3506092813, 414296604, 838219332, 2590844235, 1355941094, 191649454, 4152582525, 2684313593, 2462569464, 3598341315, 3434395802, 2999656530, 891646268, 2041521390, 1448745593, 3186213803, 3236851322, 1116586206, 3415083870, 2102243878, 2903098649, 957504732, 659822284, 394106547, 638368125, 1495182036, 2794126960, 778569684, 572697333, 3000631443, 343111153, 1611751154, 243380924, 409290376, 100857145, 191111971, 4031500629, 424413830, 2780335102, 3796977653, 573344369, 1389931957, 1613166889, 4010547878, 3012511949, 829537062, 2207634235, 761706798, 3115491344, 3623668444, 2734242183, 3764712184, 2265469260, 2228139105, 928729979, 746025006, 3463779532, 3661387933, 1104993427, 1332915982, 3625854866, 696967863, 3570909232, 158488588, 2630972706, 3526439370, 1996928908, 2713122069, 1078421242, 242953559, 3495169277, 2694483492, 3149352731, 2876283094, 829800268, 2220897033, 2922454847, 3077968349, 1084266327, 115111166, 1820925560, 1591685272, 36933437, 2432563526, 1967122757, 1094019577, 969122267, 2993469196, 517971036, 3433848965, 4267159263, 810603523, 3940754830, 3643073640, 3986326644, 3523605351, 1978092736, 1067198377, 24971597, 3428676415, 2214149002, 353418238, 1072000246, 1638058426, 4280594884, 2797771175, 2874696253, 1982047075, 3954688706, 1876686138, 2170260327, 562261026, 3382765349, 3401700840, 4254674758, 3735173795, 3722125261, 141268830, 3099375972, 538485955, 1115758057, 949404174, 848275135, 113591692, 4028196029, 455926275, 2622875304, 821828230, 2113584468, 707759474, 207304211, 4111535704, 2735727769, 1140663112, 3016554024, 2925054801, 59101003, 95984772, 203136462, 3494093173, 2858390734, 4111654911, 3207853640, 2602722926, 1749197444, 4248400711, 472294600, 3006556704, 1073109236, 4094925350, 2158848546, 3088103835, 398673446, 1603286081, 434246241, 108170876, 470321072, 42768252, 3692860156, 2687460970, 2414050042, 350454291, 1589382150, 4028614466, 1851411727, 1793968961, 786658773, 3667014540, 3993411208, 1365265795, 394274015, 2510043560, 3474049645, 228840555, 395404006, 1654468513, 1800311530, 285441626, 4213632164, 2968025484, 2355635554, 1247623352, 4086857324, 3515099025, 236874712, 1174176368, 1786045602, 4177829374, 756452794, 2195931818, 1696328747, 705556767, 3087698969, 3708072454, 4146613160, 2055025717, 2670486194, 976288258, 4184323071, 2006503344, 3956385265, 3458646292, 2850329612, 2008046422, 1438105948, 2896725467, 1050222647, 3690594415, 2735764821, 3093499483, 1876283067, 3123726477, 2462832062, 3225508384, 2297670131, 1969501356, 1096182079, 2019586951, 3167279420, 3062687495, 1188196821, 3568247668, 2819821469, 1620326578, 3980134310, 3032708254, 2356687725, 1906389843, 3366376899, 1144251296, 3339291067, 1359222636, 2772875272, 8693148, 2120379286, 1347508746, 1596654280, 2993028326, 784060433, 123495576, 4171842053, 3844622778, 1348581752, 2350902318, 1819258094, 2339280498, 165137964, 1963401451, 1052779321, 2949413798, 4101892203, 2884911388, 2957855864, 1142431167, 3000746309, 68522058, 154887124, 3468603897, 206210020, 693080162, 4133606461, 3038145855, 546338207, 3845523542, 3116616421, 2331944337, 1351061955, 2212133341, 64852049, 2689327536, 1887095175, 4160801863, 395407289, 3785236867, 1836288916, 600826557, 4275006146, 2061978859, 4156760511, 3917482831, 4191166950, 17514082, 1149712416, 1248834940, 3200055523, 2259791774, 380417165, 1779256843, 3112383419, 1026680873, 134747445, 1572555040, 2434405361, 72735223, 4266597643, 1624546312, 1071952560, 1305800820, 525167636, 3305694598, 1854871474, 2079450134, 3086317869, 2636111265, 584073479, 4264805840, 1061127294, 1119625720, 741991890, 2979276467, 3375864686, 704635383, 4170739262, 3717778075, 9336538, 3286944889, 3549436059, 1556843157, 186702409, 3633489846, 164445947, 642968493, 2916985994, 4086941971, 3324573977, 3420854799, 3850724988, 2025451195, 2461124477, 1014226122, 1862042131, 693785763, 3212849196, 3280478124, 232708050, 1427934674, 2194441306, 2319659959, 3189418462, 68877300, 3044861031, 3835306847, 2030850173, 3536857292, 3159373673, 3713842138, 205267230, 4156274995, 1365213787, 3029896648, 76134517, 4067507658, 1642308701, 2596031289, 3952562030, 1382202858, 262691564, 3607084936, 2283268143, 208584543, 2277024746, 4230941045, 4290840773, 3237163844, 882177760, 1505586119, 2591602206, 1987251330, 3607220227, 1948905920, 2628792362, 1388847161, 920582640, 2232788030, 3275746359, 2685226542, 141815341, 2150845480, 268909094, 257304516, 1651921144, 4046463519, 3401306544, 502759269, 2865153304, 1218823446, 3290876559, 2656643247, 3649039993, 1996935810, 3045660429, 183093405, 761642642, 309305888, 343088313, 26707967, 3342430994, 1767019158, 1879025029, 3540927719, 2881700886, 2955791056, 4024684446, 2672134252, 893045641, 4231441701, 487998275, 3375125972, 800087271, 4066810870, 1920406830, 3778371328, 2131166700, 778499632, 509085083, 2965793130, 1550774198, 1466755302, 3312961903, 1387307341, 551862850, 111973527, 2819535678, 3300473824, 2831179128, 1993321481, 3834094865, 660729357, 2823036677, 2171939040, 3472341724, 892280664, 3370447489, 3542469614, 1299548073, 1436841187, 2181905380, 3761700183, 4236303283, 281524172, 496099108, 2625177926, 1012944689, 3535432754, 1330521274, 1257573875, 2903336987, 2305663688, 1756302944, 3608292802, 975511506, 1626829818, 3936276402, 1812139368, 1068896915, 952196218, 1703992834, 1016670697, 21115722, 3745537007, 1347526169, 838700165, 3777267630, 3142477635, 392945484, 4092619209, 3373694240, 4154511612, 1664440039, 2662379041, 3848908244, 460752376, 3317639349, 1127783889, 948153635, 192049942, 3356483797, 2102997762, 618010849, 2918118666, 205347037, 2851609861, 1776819380, 1067457789, 4237290965, 30832592, 3413316475, 948774557, 2735504646, 43889356, 3822375631, 3839252827, 2935688573, 484267127, 3308529395, 3475001215, 3720205587, 4221603891, 4023291056, 830731982, 3444974538, 3661308778, 3110904225, 1920683703, 3306147468, 3641497958, 3565691018, 3759749355, 521305747, 2291057716, 1093540707, 1982509517, 3872627073, 4090722631, 1318737468, 3942156200, 2923517630, 3730662863, 2259925209, 2708441859, 1444460708, 1232253292, 3347741724, 1195426141, 3881298292, 4197549826, 2030031190, 3719905129, 3868609459, 950389384, 2085279702, 899683787, 2213221405, 212354780, 929987993, 2097383553, 3455502665, 1732880523, 3798068448, 3381764347, 1341727834, 1959587893, 4255663967, 2743457884, 1284364607, 2237143898, 1260674318, 3715678279, 3623453419, 1022789677, 1015707523, 2473493219, 3157917158, 3834313526, 1373154487, 1485267850, 1376700017, 2327975450, 3210777697, 3664819848, 283446124, 270721635, 415156422, 1196619784, 4158622232, 1884699661, 205617444, 3399327252, 4052022062, 3550189806, 864699022, 3064442802, 1281336619, 471566072, 2802158742, 4179086593, 2616756791, 1037495935, 209996047, 2422486927, 4084800154, 617469613, 1303780663, 2348525000, 2345215758, 2058540377, 3084833123, 2266403080, 1469179454, 4203612965, 1182612142, 1440633135, 928429040, 3946110604, 3643822013, 1180904734, 1939491940, 3916045531, 3296596986, 373899592, 1475247826, 1687430146, 2650639196, 1376024105, 1121778923, 32354600, 616713223, 3986033673, 430539216, 2940167470, 3682851231, 1829579136, 1759285985, 1270329394, 726433224, 2163184233, 3101192119, 1498764679, 3652102733, 2842131588, 3675234893, 467561163, 996946183, 3653890096, 2287976485, 3396529684, 3136717569, 204433097, 3063692782, 4015808961, 3104101852, 1941640096, 3911293215, 3461813061, 229473185, 419771896, 4169024169, 303777271, 2815691878, 4101523108, 628277702, 1271720173, 422901571, 1312517555, 1918203724, 1925380150, 2640268745, 231838720, 2859002213, 1111649408, 3548731935, 343137377, 1007104092, 1606016402, 4214296796, 4149396831, 2482709140, 4129549355, 2320215517, 1136411760, 1730207763, 1160016956, 486533360, 4054484532, 2648406126, 329048939, 3667266295, 2107559480, 1848044438, 1426145708, 987184109, 4098106347, 4099948406, 4033664388, 1116191567, 2026307906, 1299340473, 35428938, 2351071429, 3710101283, 1540395777, 2201343791, 3865799734, 3196634740, 2376465915, 2930574132, 3259786240, 3542397787, 406987600, 3682354961, 2719270160, 1186461429, 2410340402, 2090040404, 1975948791, 797628468, 3169563291, 692129728, 1546197857, 1126909169, 808868607, 493484013, 2329977648, 2891764335, 3944442392, 1351858108, 3351412676, 1931897570, 1264410053, 1758949787, 3306493461, 1386753818, 3957414007, 2977578489, 559547780, 1913729080, 2226859046, 2507859877, 3515988524, 1719586121, 2670777455, 998033378, 3218204331, 2007266665, 2520571548, 1027772630, 540788130, 3065241918, 3720298101, 2266180281, 1256857762, 2620702806, 1540822724, 323488200, 2845983283, 3671283942, 2095050862, 866700564, 4068316557, 467926533, 1415568300, 1993742681, 866003717, 39899469, 2546304822, 4285947501, 795250125, 2070200760, 3145316101, 3966554249, 4217858151, 3931369233, 3011901478, 165176608, 4086192232, 3649882408, 3259935802, 2937813574, 1181185864, 2358579472, 1194426390, 1040536944, 432205575, 1589844905, 4047554261, 949426934, 3306510124, 402608790, 1707905579, 1547332851, 2869170729, 243766925, 2923494769, 1180952237, 2349405286, 2186701240, 71574727, 2611035551, 3218441051, 3337029316, 1038797612, 931709201, 1609591214, 3921940752, 3165511306, 1285582072, 642871869, 1934857583, 3086381865, 2123580787, 2709987899, 3227022321, 3828136880, 938797420, 3343073390, 258676316, 4292911509, 350585594, 751822941, 1254488776, 2090968642, 3703210180, 2825529478, 2887763988, 4239811961, 2056584863, 1803957112, 4198835976, 624389216, 2325398907, 3608229191, 1860772348, 2900610697, 2477719896, 1169102985, 2115181479, 2609917007, 596939120, 2785301089, 2921986470, 1423910828, 2067788203, 3222044489, 2219101010, 790867529, 858927363, 4128652924, 221848511, 2293805167, 4027196708, 3875904103, 1802483372, 2404416147, 1143234456, 3342167996, 1209780605, 1567202765, 3860899113, 792517660, 1730012736, 3322933285, 4215087207, 594479174, 2729249414, 592740249, 2529923009, 823451111, 4262162479, 1572011322, 4066547551, 2416275308, 3026268154, 2569265657, 1498050680, 2292510049, 1566664107, 1733009726, 2255887889, 875154184, 2247780774, 2476808502, 3218013568, 3509139015, 3115153192, 521254279, 3951660145, 1025895905, 512934253, 4244373349, 2513996731, 217994010, 1862914101, 1219540678, 2311331418, 3121090653, 1616090106, 1581389629, 2888357633, 1152822368, 257496625, 409864230, 184971710, 99851570, 1102070303, 3068451226, 561350284, 1928279540, 2125529942, 908928065, 4206880027, 3881615262, 3934591595, 3004957927, 1194791351, 4265219855, 3738254593, 3313222290, 15863339, 1829180801, 3247073050, 3487835761, 1718556282, 1445223308, 2881300157, 4111071264, 1602874179, 1850335749, 633492407, 663537818, 430924059, 4217231998, 1623269463, 3533579352, 1325106976, 1511306473, 3809992004, 3007325597, 2996900407, 666767320, 3202426062, 2224985473, 1687719466, 4048713515, 1423880689, 179724093, 3827913744, 1268273038, 2449287902, 1956754243, 1329271475, 3849117726, 769177868, 3413977149, 3934555363, 2848752616, 2581858826, 3581014597, 2095929646, 3455908503, 3995494622, 1953588458, 4220771683, 2099390020, 664123321, 2326322950, 1826171088, 893240693, 979513187, 2848055819, 3529882843, 2380071178, 751360885, 1175228752, 3196550548, 1604280776, 2888441997, 3987490297, 1259856773, 445453835, 3326308725, 3406286121, 1079604231, 1354072256, 3467931034, 3653869341, 2074898025, 2890523638, 189439361, 2451095435, 3928718366, 3251085952, 1872216652, 618935083, 1558982628, 1809504423, 4124188037, 248278091, 2770288066, 1360255926, 3359688358, 1268764217, 950824355, 4166556067, 1160641971, 624430627, 3624463537, 4068314794, 1047924204, 160768487, 3673306228, 110019770, 2585687702, 1886215806, 3631363257, 2610531753, 3861955980, 90166439, 1106936209, 2492386936, 3264888749, 1030167840, 1436052947, 4106144490, 248601765, 3464884709, 1765933631, 3235083923, 347453355, 464875678, 4213091722, 4108199188, 4161606091, 4253855688, 1887993542, 375219083, 3362865829, 28061587, 2817387418, 1617214174, 3352111850, 360735365, 3739874449, 1348042649, 6931139, 369863030, 304499640, 1060128571, 301610160, 1022293302, 389196547, 1678125528, 721482241, 3899373089, 2785035152, 51202599, 2677985236, 322157493, 1454153101, 3940367503, 1166380065, 2206200447, 3124248886, 758348821, 645706937, 3732943803, 1404504513, 1264477301, 2454869746, 1871724023, 2467646454, 258689333, 4062584172, 1516388906, 2339178442, 2388185161, 1490140037, 3624673929, 1728017110, 4001878221, 3163768997, 1547399831, 3223672734, 2261306802, 2917936249, 2753289927, 72260775, 996196845, 2642813230, 1377980450, 4028336963, 453647420, 3656084215, 2253705459, 3968437506, 3723496093, 570898469, 68659761, 2904015748, 2259610616, 2351903499, 1757204969, 2580200069, 2688315445, 3448303215, 510917976, 832778534, 129726565, 1993035351, 1528232985, 3426507002, 2461547765, 419848355, 2736364042, 3449515778, 3963514954, 3404652852, 2957733175, 2951240822, 2376839680, 4101042723, 3464911062, 174134504, 3691441678, 1861264542, 3729374154, 2471758212, 1544775684, 2156878963, 512337798, 3738919758, 2766683943, 3486551476, 1602677139, 2755760496, 3863103045, 4105180057, 1713477179, 770240606, 1867937396, 2991157646, 2305163392, 2098209890, 3364713231, 2205758275, 3221236395, 723838377, 971741928, 2506039441, 436138577, 3675858802, 4238762714, 3856095423, 3479883216, 3893483332, 1289881568, 2177171639, 1778614272, 1032105201, 3167603604, 1243717801, 3799403637, 1258069835, 1382461923, 935886783, 3494157700, 3148233180, 661503159, 1203981236, 3060139941, 3131921650, 4212193081, 4187664310, 3413636343, 1529339922, 2949719273, 1709340818, 1276713266, 2432462955, 4098116712, 3982139394, 1146088842, 1896268722, 2910254887, 2119198189, 643117835, 1486540680, 3003165732, 3046101522, 2602787053, 2666287991, 3756141190, 3898253877, 2922372522, 2005427444, 3668747933, 2110805376, 2324775207, 1993719652, 2100837473, 3924472134, 1013015903, 3038807069, 232846277, 3672283028, 654706985, 1451726640, 1413694022, 3892780143, 191947454, 861323100, 2637471289, 2014166766, 1805132975, 1930759470, 1522831415, 894613278, 73383713, 1102785235, 2325545014, 2639179520, 2961173657, 459788511, 4171308489, 4244758854, 2480499896, 327771904, 4072405029, 35195217, 58287683, 1776769445, 2636355310, 2874358941, 317695004, 2004875078, 3919801019, 647034851, 22142051, 3331899794, 1658615728, 2862667778, 171095614, 779552797, 2536260983, 3937633611, 787844650, 4787298, 1905884010, 2198633261, 2644660118, 866322719, 1552696941, 3254386730, 3878761789, 1562326915, 1919536732, 821495894, 1945303730, 1832580929, 1893694431, 1735888713, 3564911531, 907806012, 3495159593, 2836397826, 3974693200, 3436297928, 1595800539, 1627502872, 9632222, 931135681, 1924163851, 1787834466, 936254743, 1630087483, 3754863844, 2632466703, 2581292901, 4232267584, 3350231730, 1406895492, 705943874, 3801605640, 411460759, 4227115183, 3912736138, 1812685344, 3991249188, 437366736, 3552470947, 2963153684, 3607003211, 899920896, 824235953, 1156071170, 337006681, 705158042, 2133135655, 2741666388, 798277819, 127232625, 3236630994, 556458513, 2215800408, 3106228865, 3369545947, 4184477930, 3839057638, 829656583, 2982799186, 2739795916, 215400036, 595065115, 3834441014, 2804838441, 215483389, 408007387, 1510462868, 3753043902, 1352234044, 3005722756, 1569815697, 816363891, 2299235653, 572712920, 726795683, 3157085688, 1293867592, 1588245453, 504223833, 1912566897, 3719071162, 47741504, 2206158842, 1031995313, 363405958, 2696254714, 1523469686, 4240923948, 3595379854, 1171136841, 2302276514, 3704557417, 3523146679, 3051075369, 1254241057, 1147256614, 802916376, 1793386233, 258611445, 945788003, 4108511228, 1069560849, 2970535830, 3050161893, 1297046687, 2092211691, 2413547828, 1160777340, 1951963076, 702473704, 3137521752, 1466881316, 1596889719, 3677454148, 757440245, 2728410116, 2050709475, 2822886609, 968985940, 531391425, 3854436438, 2788345739, 1183993777, 182704806, 59407238, 3686315619, 1318674205, 2588509988, 4215302893, 2705863332, 1095454028, 140951522, 1099561400, 1102425002, 970112305, 1015631959, 2585744451, 565835828, 4174455009, 3755613607, 383064238, 1031073332, 2937294207, 3924474591, 56806082, 246559985, 767654563, 2885759282, 1516990184, 2845381597, 1074417694, 665381799, 1416435027, 3258755188, 2890781274, 2098739065, 3210829384, 585550911, 4211235930, 858457062, 3421904398, 1352431465, 4212191698, 3783879318, 483712539, 2251396177, 3102108515, 1870266205, 1276357520, 3547609689, 2614372893, 3093703895, 3090383691, 3659345814, 957183509, 1859775309, 2964605167, 1759600139, 3366452367, 2962469506, 618993292, 157588152, 693572729, 50617713, 3492013502, 2671894571, 813328955, 1716303038, 1435523113, 115233632, 1851102461, 4003079286, 1929178269, 3732018767, 2069450900, 1844761115, 1542314046, 957007244, 1307520635, 2483664454, 3912432421, 1580240784, 2391844982, 2838656878, 3852624081, 1952022067, 1608380757, 2507702692, 1581051462, 1868975028, 1787307305, 2927413087, 645748912, 600892934, 1161554154, 1076780569, 2619383175, 432492202, 2609415583, 4186853834, 3726148617, 3208811463, 2108276994, 1624487475, 3059647558, 3681508962, 2441466192, 3478964611, 3711963550, 2726584610, 483780182, 3471935962, 2149966812, 3288197703, 3813179893, 1201006418, 3375698332, 1328082768, 4232573007, 2448159398, 2455661644, 1499797931, 814051930, 30885057, 450216970, 337932151, 854737889, 887268871, 4063225468, 3803803330, 2021622345, 1369422482, 1616207071, 2668019943, 2671628048, 441291233, 2476509584, 1436356814, 1171069348, 3406939367, 2685041984, 3289304485, 3531010620, 1126751828, 3014259338, 2017205790, 630464638, 1892908364, 2108440839, 1090250908, 340517112, 2346095339, 2155644666, 464728468, 2973060953, 1870336958, 3393812275, 1940733156, 2261177371, 3710203713, 1617030417, 2930336777, 4019824493, 739951502, 1568522207, 785765738, 787547210, 3972485395, 2119040177, 3116938492, 4063027384, 2814795662, 508319086, 1872409425, 1752666859, 3202671191, 2438475742, 2837237424, 954210830, 227278411, 884127333, 2701285454, 1935883003, 1960585443, 2208658874, 2485163921, 2409645275, 1675635355, 3347265313, 1452964915, 323706473, 1589888397, 1607065316, 1799243653, 4066644809, 2738093456, 3936271904, 3856104561, 4136966677, 1542747996, 1178857461, 589716436, 2807222054, 4272219673, 3792473107, 2059575766, 1665607428, 1764123526, 413159223, 4095010096, 473997425, 523464550, 3117158283, 1408081015, 1706864961, 2735935977, 2923178389, 1925491802, 1402063144, 131431252, 1708716100, 2539255828, 1413140476, 652116465, 1918119092, 1105002153, 1915493668, 2246896759, 3955567862, 2352650421, 993680919, 4171979247, 3083603696, 726409452, 2240895321, 3299057754, 4231036900, 3419196679, 2839989776, 767363177, 2091776634, 970006365, 3135364515, 2656766210, 2439527206, 1164374381, 690287336, 2363322340, 215050886, 855978754, 4023131956, 2926869825, 3354744306, 864796356, 400010983, 3621479038, 996712160, 874477801, 2734243002, 1127506719, 741010945, 95147203, 782909349, 996896818, 1902814966, 227885286, 1291004436, 2826496624, 3907816259, 781818837, 3025219822, 4127878763, 3335791778, 671236604, 1560326165, 3867970357, 4180375454, 2483893844, 3177765236, 1167139888, 286902897, 2582734863, 886121114, 768259960, 2273359147, 3323906282, 2026760461, 919847858, 735435970, 2147476953, 3350378445, 479882953, 2484704740, 3603998983, 1067172921, 2925457790, 225072458, 1285696743, 3686840297, 2495271399, 2749749156, 1850465876, 1243637566, 326711232, 3511442133, 1399380000, 2671229536, 824296210, 4017324948, 62342890, 2168211473, 951757774, 825217303, 187005935, 228284585, 327582237, 665878235, 4222663291, 1164884281, 4125759198, 801525490, 3669894004, 1250452314, 271366581, 1489637965, 1959245484, 948402733, 1559267757, 1705458222, 2335114263, 2856620107, 4267440937, 701445935, 2659566466, 2345823627, 994596355, 1930378890, 3840455445, 169930625, 2337571756, 3200349463, 1826786732, 2618402090, 946246140, 1583836673, 3337997181, 1544166173, 1753513714, 1668806532, 4149903771, 2043002107, 2399917132, 1159931057, 934547161, 2298647063, 3386019697, 3861630268, 1990481494, 728424596, 1244312496, 3665978630, 1816035915, 440574470, 1799957080, 3905546838, 424051921, 4006226589, 3277997332, 3956542983, 655548639, 3491087390, 3132289702, 1868518024, 3725234844, 4227398974, 937925416, 3331663776, 3469931534, 1380233812, 2004557437, 168701410, 3586467329, 710984179, 3884934843, 2417988344, 561851764, 3481083924, 667103903, 3502150725, 4121967412, 2553736336, 237569542, 702145432, 920383948, 95115334, 4196052172, 473994719, 3941331714, 557798486, 1275667891, 2168052284, 3432353182, 3667875048, 2419443477, 4288714266, 932593324, 619580213, 2547374883, 3659321532, 2664642971, 3234738628, 116254820, 3102888602, 1402049533, 253168969, 3269962616, 1649249844, 3014000075, 1495622797, 951129182, 4175806793, 2836034130, 54495850, 3360115109, 2321689369, 2791119628, 1642935303, 1452519818, 1898477263, 270206287, 933157273, 2213337912, 2802567175, 497846739, 772628371, 51608831, 3494859826, 2049482508, 3360184931, 3017272810, 2019747578, 3110572535, 4047129167, 881293805, 3510303867, 2211379568, 2242822591, 3834051713, 136434459, 3510088623, 1261688697, 3706207318, 3846031728, 3124870258, 3536436780, 1948394597, 4294526290, 313992463, 3883673244, 2902610632, 1199203117, 1325742051, 225678645, 1085777003, 3194467764, 1785056885, 2597364121, 1806533114, 32085313, 52265536, 3712405564, 1911939869, 3968979244, 4261331064, 3384717894, 3298584846, 1791494245, 2314270398, 314878711, 3239516093, 3385976567, 70836909, 3892192693, 377008929, 1218726433, 4085103665, 2770511393, 720258969, 1439353476, 1160001280, 2169793073, 3009126758, 3792463940, 2743689681, 3415121632, 2946305381, 204049773, 1139253012, 3280711338, 382333490, 3457155970, 1493223747, 1680888870, 392286615, 342533943, 3724643639, 866744777, 3315114573, 3051612407, 3444748399, 2139796901, 2144735968, 2492263956, 696297795, 251380336, 2081397435, 1622217934, 183029281, 1100221585, 193919376, 4201876686, 4205404293, 2932182286, 1737741015, 662389017, 3551093857, 49725179, 3170986304, 1570498018, 2962944071, 654983172, 2861426027, 3603857877, 2434176493, 1913037824, 188542619, 3712954425, 2349760968, 1660246435, 939070650, 4055777645, 4161972992, 3957543412, 51133864, 2090117276, 240641914, 273562483, 936323127, 1580131301, 1258291088, 3373895874, 1359975301, 1127656234, 1821625644, 501734617, 1370058545, 1006267183, 2090500543, 797871958, 2934808369, 1124138182, 4168350779, 2450598356, 1745544168, 4218479066, 2661625936, 3718850973, 1668722002, 170922421, 848607253, 1324733423, 2040028238, 1881181986, 1521252013, 3154044276, 2327972630, 583445821, 1896229287, 879483161, 2609280073, 4264174620, 766512642, 12468376, 4286937156, 3258480141, 3541946467, 811380581, 3902481376, 2527181291, 2963108644, 3810707364, 296535230, 1925041670, 2226110577, 817601815, 3164418610, 4119559554, 3824263403, 2767687776, 2887353111, 3162936915, 2531642437, 2916443353, 2483905165, 3793871367, 3809708152, 3169437099, 860692875, 1715977770, 1147590419, 1078554364, 1198246672, 1715431726, 1812930840, 2269439, 271943658, 1492143170, 3335283699, 1382787538, 4276491671, 1267116297, 3365788524, 3039795350, 3696746034, 3830412203, 4154486025, 4237837160, 2232524254, 466768101, 1973470875, 2636775358, 3918964945, 1888648340, 2781384602, 2171640435, 3022241845, 1050790527, 4197187682, 1288187762, 2669171780, 1178050496, 212629796, 903082580, 2368807460, 4185038706, 621817802, 2173475015, 1596059226, 3493253515, 942565726, 57398095, 2981336764, 2422100651, 1171577757, 970897160, 2264476128, 2140855403, 1208352399, 4234883673, 3615866961, 1225716128, 2048282096, 3703690314, 1168735866, 568678684, 2740701194, 373063337, 3603202186, 1051849252, 978658780, 3589952050, 3992595599, 1778659361, 311546116, 1755122172, 1408280310, 1781971793, 2210476062, 2943779181, 759447865, 938230740, 4115432768, 555146780, 3951580111, 3332380784, 1826467146, 2009210440, 3971029630, 3371699185, 1966997, 125163019, 1153057612, 690424106, 1330233337, 1599690125, 2499916396, 3759650276, 142141379, 1997243974, 2726030213, 1749814121, 3906082352, 1932874280, 2371090669, 967523549, 321359714, 665098462, 3864033397, 1846865914, 3452502820, 49230979, 3510173998, 1078317856, 2992549943, 709283313, 860633144, 2284339547, 527340630, 585814849, 3416449158, 2891032401, 405827628, 818375666, 1814965137, 2377902894, 3486199579, 2576229523, 338478960, 787120603, 1580747405, 2816021078, 534778628, 1362007649, 1401618833, 3105985777, 2572574003, 3056366853, 1744168931, 2999985896, 1919233629, 3535453181, 3800209435, 3935034143, 909027536, 2643156335, 1062340925, 1039803477, 2783461447, 2464661040, 980082248, 2598555576, 3702799774, 390751556, 2483729702, 2176168204, 3377626688, 1622645494, 2738114930, 2900988704, 41816361, 3344445147, 3999371186, 2303654907, 254618356, 2323308334, 792518189, 2968817723, 706156394, 4115882701, 4110772542, 3169142335, 3179409433, 1802473103, 1538775798, 1623234821, 3638043991, 1214037340, 2736805972, 233399674, 4232081392, 4249405161, 551809713, 3466249899, 2583472463, 3605315876, 224349392, 3968453299, 3504036973, 3068519220, 2506890822, 2486177967, 1602626454, 3815586596, 1732202875, 3148549493, 2718823093, 1159249155, 510473559, 1711734604, 3425551860, 1853391755, 2386185605, 2938215225, 3175338332, 798982044, 1277531128, 4020431609, 3423999248, 33188246, 1491146006, 154340945, 2943314988, 3919571387, 2307609904, 3917155935, 4226404209, 1797045620, 4225423728, 458767657, 1798543112, 4179129842, 3287699955, 4271869951, 2812801669, 1381655276, 3126780365, 3041741912, 216405720, 1814892217, 2265574998, 1089093055, 3280263564, 1076520867, 2093110386, 3286345858, 3918239789, 744083392, 2275332363, 206243401, 1015605174, 3245545801, 1836983017, 107368459, 3323416222, 429507095, 1666226854, 1394865866, 3332206066, 3765742389, 2417263460, 3889029971, 125880012, 1139914864, 1355523507, 3569287996, 284265053, 3845813312, 3096107603, 685611988, 1831693288, 2314212123, 881581610, 2127117784, 1452678097, 71326657, 1988628664, 174406659, 2794428184, 3747141509, 270791900, 499939827, 285332895, 3095539106, 751870547, 2810200089, 3038203188, 1851503515, 1052011899, 3928237878, 199431670, 1819112867, 2652921897, 3586564746, 68193442, 326659789, 1944819436, 3393647568, 277857975, 4032952076, 2425566875, 3467034688, 3446222945, 627537092, 1676524367, 2057060644, 855735332, 3511134392, 2097652260, 1535108674, 2583788749, 3439490581, 3629209646, 3649435488, 2545160584, 3881326182, 2684078109, 2701583878, 1069507209, 2808128218, 1931463143, 4196580937, 2520023369, 2423638023, 777697035, 2253430605, 384628516, 958522186, 3952222199, 3428740023, 314123977, 2298126054, 1873477510, 4165112706, 552632024, 1982522668, 2904529931, 67076539, 1481779756, 2916776730, 2335320380, 459719324, 561716067, 3115818933, 3343347535, 1192377456, 894168057, 118928363, 2979292079, 134673787, 1066254067, 2179496620, 1280158958, 3241671419, 1275636907, 3673595421, 1700937306, 431885891, 2989708235, 1546242, 964039218, 3976370645, 1543402919, 131369809, 4039900759, 202809566, 3652306197, 47441533, 3069606779, 1393958087, 3081298609, 2916235427, 2521360957, 1150308657, 1734000086, 3480656746, 3465494756, 109602998, 3177827284, 1387925130, 1307408517, 1348137638, 1248969811, 2618710635, 402014678, 637474478, 4246340779, 1428860781, 4076080419, 3572809750, 108365377, 1260817409, 2272410971, 331014160, 763796105, 178494972, 884252228, 283180015, 535431279, 2338888055, 1107863411, 1179140705, 3318924101, 1147761198, 1352999861, 480735562, 4019430029, 3266399507, 1464282214, 838393137, 3842975293, 3517290851, 2991784095, 3226117694, 2424404092, 2895096045, 1406014372, 1615219445, 1460651683, 597989486, 3285739284, 941161501, 670025877, 1155740989, 912751100, 2612027274, 2933039635, 2253300280, 761116254, 2990266639, 1268426762, 3279505129, 2266139542, 4019466925, 4217929009, 1418522671, 4234306800, 1396644806, 3374140487, 2546423137, 503640571, 3808522487, 4073410775, 186581765, 3031780908, 1697764372, 673496051, 2150278895, 173487618, 2136179839, 79174430, 2192572763, 1210424273, 3340286830, 431330405, 649844272, 1305035941, 940987684, 840767189, 2241113259, 885947681, 1872454417, 2545702614, 3149863979, 3351624114, 3388412297, 3134798246, 826869197, 1151505206, 1228655665, 521624976, 1867153730, 1572878700, 2790051022, 4043927623, 2430384512, 2128371750, 2247151097, 1319794317, 2621638630, 1651155170, 1931394519, 2305035590, 3638617313, 3313876916, 2360704128, 2436620, 459987408, 3351353877, 3638961727, 2299232941, 2118306657, 1887998982, 1798064606, 3470824327, 2123201519, 1386077385, 2989808309, 65459632, 3424389314, 2454724029, 2035460525, 3273873034, 2319763238, 382261620, 2765010185, 701184762, 4047034577, 889413836, 2076584982, 3674640522, 517206309, 1903627255, 1208394126, 2517929618, 3445692365, 2083417741, 731202177, 616769141, 1110523824, 1422976034, 1002048123, 2356079440, 2331283692, 2875982406, 1474429718, 1360152829, 449226963, 1695106545, 2920976494, 2197218521, 3309672738, 3129604053, 3385648446, 227848547, 3114974657, 3558338962, 1356128168, 374560711, 1958329891, 2744760921, 1726984721, 2235480247, 3775838522, 912474825, 725959514, 1156118959, 4007228534, 3294700832, 1972747962, 2977983737, 729161822, 1044043790, 1366570273, 1549081074, 169133699, 935518553, 19321742, 2514407580, 3646711226, 3896839607, 1035586616, 4039314360, 897334961, 2268664368, 717913432, 463915648, 3802151487, 2132072482, 4052903506, 1750329697, 755916571, 2831077693, 1554989203, 1039433813, 3732274837, 3108162965, 146559630, 173773637, 3105601128, 288843290, 1537698501, 148025012, 546928000, 3739639667, 2395098954, 4210642082, 1466357921, 1117964122, 266254280, 1670261827, 1815092912, 1296901432, 3030332610, 2499644769, 2780931973, 3322079989, 3587706581, 4152185442, 774394090, 2796603067, 3265903727, 923529005, 2978966587, 2353547749, 1771639300, 2560808492, 2653162705, 4012682638, 285837945, 4186122033, 3816923635, 1883113542, 2607869575, 391127091, 1009973272, 3517075753, 2949708803, 3141425453, 3705799659, 2609814941, 3739592119, 1894649686, 1693690195, 3857213833, 4042821166, 2087170517, 1230401726, 3725262321, 1272270374, 3177251483, 2467817111, 827679826, 3715788540, 1008097738, 2299512221, 1748102415, 3684466754, 2428506637, 601275727, 3101155871, 214803543, 589972192, 2878370958, 69173322, 2229851292, 1342094386, 3379528004, 3871491586, 121756116, 180623241, 751799959, 615992799, 2432962599, 2869380280, 2259209475, 4124687334, 2021539756, 4273757436, 159252027, 378448192, 414651919, 3211591716, 3472088248, 1040780500, 1485964147, 2098575166, 1825485148, 816180190, 2008296757, 2286381078, 2363516337, 2718783794, 1190158216, 1596955864, 1142248717, 1756992943, 4182656375, 51585968, 469880367, 571878153, 3024030282, 480750588, 3346886788, 1043813234, 617704371, 1799887350, 819679345, 2837569894, 1434451928, 36474113, 3423208100, 2357735981, 1687445312, 3818618807, 3880867275, 1332585168, 3411756044, 3427652605, 1529655361, 1980218530, 330657952, 535963116, 1586649392, 4254343859, 3861447788, 2452820429, 2624754990, 974725428, 3355818391, 743764449, 3447458399, 1940287469, 1715436092, 816157211, 1881620716, 1116103558, 3158926438, 3088241717, 2957746865, 4096322609, 2135022547, 1851943743, 836264015, 858602007, 4227644532, 2570419656, 3922138242, 3890433805, 2601740288, 1144547649, 2372421422, 266078711, 2005692831, 3224245508, 4029704520, 989893036, 3220336828, 3648255831, 4015105358, 547261688, 1543291820, 4172428304, 1285007748, 1101613050, 2995280294, 1948217758, 3681739860, 2853988101, 316406593, 2004632944, 1873888136, 2571563313, 3268919693, 670776981, 943361908, 1074750283, 2207004526, 229446074, 1435259102, 3320698685, 3622699573, 1333368916, 2030589962, 779786695, 1426036364, 2137415863, 4168386405, 3294571105, 611317363, 2747398437, 992768117, 283974316, 64193912, 3754020414, 3497570155, 3072142100, 2003757717, 1482313130, 4106181821, 2180589755, 3322830734, 2073882441, 2070891710, 1629694702, 3059561630, 2917554685, 1257950269, 3447564776, 1452013624, 2232111163, 527955943, 2870270636, 1956565997, 3849629606, 472232040, 1699565519, 2191904503, 3139828850, 773510936, 1112063338, 3051253523, 2215581341, 1005069263, 2435464934, 1893311138, 2474472146, 4161717766, 1504332379, 200500222, 660274328, 1849165870, 1856144032, 2740508217, 1591608003, 3874948006, 2082774512, 3018649048, 2033130089, 3311246738, 2692302436, 560233524, 3601106319, 783886245, 4277421850, 2072858358, 1465116406, 2548946227, 104103046, 1820432414, 2036509076, 4114455307, 821580843, 2776473963, 2126370069, 1308027623, 3964168185, 386378134, 4154377213, 2085229478, 3943621865, 1997648930, 1109418869, 212077336, 3829723174, 3414413923, 2445941622, 2165916340, 4119206037, 2478649355, 2135740165, 1060359887, 1872458683, 3526754381, 3801934646, 2308782943, 47633550, 502300534, 2958452984, 2048114411, 1386920277, 2569619831, 1483213253, 3202518734, 4265196796, 67893664, 20328511, 3568978889, 2127389694, 2347537043, 42419614, 1912669334, 1565112762, 1466455908, 764638005, 2748271843, 3120482216, 3049889930, 2725348421, 646302283, 1110085127, 2770257934, 3638468126, 3782626290, 355302210, 1580819864, 30578058, 1769060895, 141806400, 1055792352, 486606465, 3467608300, 3397278175, 2551330562, 4165170899, 1529509390, 4283325675, 3546852093, 3071222961, 3229276423, 1528944045, 3981974112, 3952765803, 1905123891, 3430431473, 3543518828, 1181801954, 581381464, 3356468334, 2724408978, 316085367, 2210807491, 2878245918, 3899512347, 3514796759, 3228101788, 404155260, 529162216, 1269603853, 1083334955, 2752006485, 2176287906, 907477939, 865921434, 3851792523, 2044255969, 3475383215, 2837886520, 85953348, 1466886372, 1990448602, 1180858551, 3212450382, 1027030940, 1137998710, 3167645516, 3118955613, 1944921788, 2959505913, 1244997787, 781669629, 1884034404, 4025145316, 2298049513, 4220640397, 2753829806, 813235733, 1385624943, 693149490, 3640563394, 1583204969, 3058849680, 2368352015, 3108084675, 944566940, 2130506188, 2790969859, 2358397666, 3241194517, 3999838525, 2810523890, 1732724790, 3061467515, 4286378308, 2708369479, 2149340416, 3452136616, 3171378738, 61651308, 2731159536, 1954732067, 986921298, 2510014606, 2855190247, 3373031428, 2948844272, 1422635227, 1643200761, 4232237863, 2058729360, 2503755296, 139483923, 353591111, 4025939744, 2506938409, 608367226, 2147556668, 1107606486, 432880926, 1501208600, 1646832164, 3179903047, 1069963254, 3935815166, 1589163779, 1077363504, 3520994171, 531923116, 635121185, 940278379, 1632789347, 3640589963, 305400840, 1193580619, 3384277322, 165183043, 1072123192, 3707328367, 3582669687, 1639947620, 1473135718, 75630777, 3684227604, 3445247628, 1480683865, 2624771040, 2095690982, 38537182, 153072124, 1068128359, 3775675103, 1034479918, 904630385, 3458745778, 3865103032, 4139978454, 820087546, 147094417, 1032897347, 853042560, 3899051529, 1632841214, 4137427548, 2751285705, 433787049, 2706708790, 3160167591, 2884798750, 720305207, 626778438, 2067992479, 2696796969, 689171969, 194137220, 1456864001, 1380819034, 1954578228, 1257340672, 2271411281, 3537895204, 2303746793, 3821206856, 3469843353, 439231245, 3623200308, 316590498, 708637112, 2497200417, 2358879659, 1881583369, 2037131002, 3938468111, 1062207820, 1547307796, 152726340, 3611946351, 1712960779, 1295897545, 4124698577, 33523275, 72745853, 3116596392, 206515527, 1333826650, 2330864665, 2197805682, 3424802764, 1279211444, 1379155296, 2952251614, 1139915199, 440882986, 3294896887, 1760681744, 1097854787, 3342491939, 3892463271, 379051752, 2990386433, 1496169594, 2658632816, 1437629390, 3727227597, 2970924636, 416011708, 133189092, 2439990109, 2230800342, 2967655341, 559446992, 3121398336, 3516143775, 2641298851, 875652421, 2507225269, 4258775096, 2814663008, 2872254894, 941888866, 439787759, 1570412877, 2988818752, 2286822004, 1545723909, 127221075, 3625134091, 408761178, 3030614643, 2461521498, 548315314, 3304558376, 334346680, 4201989068, 386901195, 4012443013, 2478923266, 327851815, 1699332639, 3573093464, 3205336495, 1453939885, 317078016, 3663435144, 4143491891, 2630949936, 3020727319, 2169702075, 4146025849, 1480737960, 3272612552, 328509367, 2555578423, 669450401, 421720746, 287747943, 2304779502, 3365459169, 190245291, 2982256156, 3176170926, 2440104224, 938126531, 3596897768, 3164669615, 914083809, 2699492095, 134258144, 2526286352, 1967715626, 2008246116, 250081296, 4238278367, 1202462576, 4022135617, 2975928852, 787771648, 10470166, 862280196, 288797493, 2168271901, 2660326661, 2861621867, 2656891705, 1556858567, 3831695438, 1952972654, 209282947, 1027553202, 3557240438, 1558886548, 945019644, 1966428881, 3965090223, 2095200686, 3469006868, 3743190088, 2351646394, 3096611694, 2673326772, 2427342156, 2191088562, 1948774816, 2011794533, 1906218257, 2269648619, 2503916915, 280990355, 2659756646, 2837804675, 708650610, 1952949864, 1889962463, 3328261914, 1362022425, 3789427573, 1313438139, 2024949855, 4060945910, 2935452859, 1151495875, 835963316, 180793000, 26696823, 2196075036, 3843559815, 2035075126, 3713868927, 4131602722, 50704537, 558180196, 2635520610, 2804793438, 418068948, 1546124595, 3145842330, 3986841318, 694871301, 165145429, 1155922240, 1430923819, 1669737505, 91783652, 2175571900, 3249788882, 4078506241, 3476125958, 3844864718, 292618438, 546918329, 2132498266, 2370463666, 1508541853, 2954113553, 2564372686, 2957833171, 1819289634, 4062249306, 2372283743, 2216831924, 411484828, 2270929612, 1680915911, 867024000, 2692281629, 2309205397, 1020116762, 1391495650, 1770635429, 554505251, 4150183890, 537195948, 520318839, 4117277665, 712976756, 2954729873, 2227460481, 3691261498, 2880712307, 1300653003, 3174366653, 721761594, 1249654028, 4065854888, 4052592982, 1341952472, 1755896367, 955522481, 3777311463, 1634110265, 1249687578, 3824356384, 1926922285, 2415156382, 2378850000, 3040356488, 833444158, 2203962248, 3755090240, 2252317437, 3358900006, 2977387664, 675472760, 3537795694, 3081695480, 1860360235, 3026578504, 780049678, 1907844457, 2647835660, 3600900315, 1389692698, 847823653, 275895900, 2772822461, 1173560820, 4129761334, 3228857564, 2229326325, 3939947118, 3016695862, 1878229230, 241406996, 1524922612, 876524203, 3561706691, 1390793694, 655006075, 4001082556, 3228415844, 2007835184, 48374069, 1787872173, 3573944158, 4221985180, 1441790020, 1590203546, 4118104312, 3109727816, 1319896891, 2067042587, 393995205, 1708790473, 206947879, 74239819, 1924556784, 3593261340, 3403832946, 338953724, 602767008, 3427430858, 178709705, 2531833623, 4148678428, 448161781, 1505374833, 1474711712, 858423682, 3173759271 }; private static readonly uint[] s_linearMatrices_full = new uint[2580] { 907198769, 3635336113, 662540794, 721675778, 128, 4274457988, 2394397455, 432127173, 2876676209, 0, 1586572903, 2643379911, 1548423571, 3275992215, 128, 425006034, 3534107927, 366857871, 2389639898, 0, 1352872990, 2219591748, 2889359966, 4252177560, 128, 3194951566, 367891484, 2644332317, 2843075727, 128, 3769335941, 3207479677, 1909895756, 1084527673, 128, 215397207, 1636368203, 2664005674, 1250380214, 0, 3806452997, 2782063197, 4167840519, 1012880508, 128, 3746753382, 200678682, 3172928619, 3983207382, 128, 2082325061, 213351586, 1238781646, 1150572500, 0, 2984137671, 1120280282, 884708776, 2352663020, 0, 1325107638, 2590847, 2137107099, 3387259467, 0, 4161033652, 590321203, 1725378602, 3039114475, 0, 2198021375, 4271199214, 3862662501, 3551751591, 0, 242280202, 4091837142, 4250858295, 709528649, 0, 3817686198, 611924033, 2100703436, 137057774, 128, 3186272103, 922266985, 3847165330, 2902702500, 128, 3978593675, 3057922509, 130198541, 1050803993, 128, 2162047595, 3023370305, 3447991048, 2567705412, 0, 3527454705, 3024280825, 3022163046, 2419285915, 128, 878071868, 3703298376, 2331245354, 3701022858, 0, 1504321715, 114168815, 2926502847, 3562430991, 0, 1181757452, 1533511310, 1798596720, 3705329577, 0, 1951063662, 816493810, 1426805538, 4095189959, 0, 1668492597, 1921127649, 606370397, 1690412820, 128, 2341105453, 2276937769, 2152964890, 770744010, 128, 2567733676, 3134438427, 3941636532, 848593949, 128, 2773766008, 3231606561, 4282414785, 3041974796, 128, 4250271909, 3980464724, 2910236322, 289811617, 128, 2254690684, 4211340629, 1633844124, 942274686, 128, 2316168379, 3416143281, 3525694594, 2590596940, 128, 1757245704, 1189814740, 2309414473, 3216768850, 0, 1915300342, 3018981991, 1907128032, 4229332169, 128, 1722911586, 3272430297, 491875965, 511058799, 0, 3823469790, 911521101, 3076188732, 3744359171, 128, 1870304803, 1132816514, 3463540402, 1332004154, 128, 3455721597, 4009696793, 484826626, 53007141, 128, 1435742850, 2151155752, 1282120437, 1034475629, 128, 725589895, 3633160940, 3627988449, 3641830203, 0, 1423188324, 2719601977, 627814692, 4166000274, 128, 3476436432, 3212366636, 3240250561, 3525895759, 128, 4252723772, 2618240776, 1659868597, 3052700590, 0, 1546630553, 1905634896, 758182683, 1068443301, 0, 4022230594, 683997921, 1912013554, 1844484133, 0, 1122204875, 1163840814, 665829515, 821371263, 128, 3020161983, 1788614163, 1039439320, 2136010374, 0, 2924752543, 1113133884, 4249463856, 4178228149, 0, 4025505677, 4265129850, 4209573756, 831628186, 0, 809289513, 2213651343, 805168587, 4276882265, 128, 2177031126, 71116060, 2707072670, 4291189791, 0, 707177247, 4218960278, 2298786570, 3480260089, 0, 1641529641, 1391056448, 3084914675, 3589573124, 128, 2325200573, 3518872757, 3123144926, 1276872011, 0, 2879645109, 493352746, 1828111895, 2821356322, 0, 2810366319, 3599883194, 1181881895, 4003161984, 128, 3224198088, 1235143415, 179144022, 650222050, 0, 3139334163, 2102791308, 3337164392, 1802218910, 128, 1916226116, 1593967170, 3279418255, 129280163, 128, 623184849, 2375999512, 896332295, 2252811717, 0, 4069710179, 2057004375, 405131588, 1443675795, 0, 4221753552, 2940099652, 2355008300, 2049737963, 128, 3367390131, 488029208, 3763051577, 821778127, 0, 1374848613, 2377122737, 3964339500, 1203260581, 0, 129473826, 3462060999, 1546869404, 2810515674, 0, 3874217629, 365816273, 2492210403, 2173619636, 0, 900211754, 2267119067, 2682834172, 406555772, 128, 1396269993, 1876089295, 1955684099, 4001059836, 128, 1187478606, 1631520732, 2014720966, 2758722142, 128, 962208062, 2546808850, 1930146366, 507668439, 128, 1684310726, 1240963250, 2256804556, 80565065, 0, 1145951940, 58551721, 3580427609, 3566987252, 0, 4216635737, 1111787586, 3873906788, 853570538, 128, 3476102675, 603399639, 4097172237, 4211305087, 128, 3554303372, 2231990803, 2321490713, 928902950, 128, 3417915278, 1564048912, 253987128, 2045228508, 0, 420745447, 999276202, 3875652951, 2078674855, 128, 2637380178, 238543122, 2421511948, 284022282, 0, 1687243694, 340024330, 356968127, 2554574084, 0, 2951938287, 4094862291, 2366729336, 1849984552, 0, 3465227152, 2126691014, 2565068911, 2234172436, 0, 2446112838, 3236068944, 1989513665, 2048497862, 128, 1010261492, 2838797894, 3596448887, 2035983523, 0, 2232499578, 1412660113, 3179674715, 782341646, 0, 967704551, 4088403253, 2977228855, 4153751727, 128, 3166427359, 822229772, 2884427219, 4266293126, 128, 2385566991, 3429778385, 1670117560, 1286599188, 128, 4188297240, 598997840, 985214755, 792018837, 0, 2713252491, 3649754578, 660944101, 4121739878, 0, 3667308605, 1032638888, 1436857911, 1521444581, 128, 3646942465, 4034187490, 1591072789, 2889081026, 128, 3161304695, 3382360991, 2591440681, 3662413737, 128, 3986927353, 3949928357, 3505413393, 4074019030, 128, 4228358462, 3790872143, 3350031626, 1171373516, 128, 1841068518, 275131225, 2753765511, 2055358014, 0, 803414968, 1594003306, 1639032758, 2896305768, 128, 3783177931, 1548842747, 1040143900, 2084660865, 128, 2759245076, 3600657014, 25191563, 4174882661, 0, 2201354165, 1047171894, 1779866515, 4000714479, 128, 3574665728, 1629893722, 1458253705, 3740073812, 0, 1441734600, 441503771, 1291964683, 3907433086, 128, 646706110, 3756342520, 1690737677, 437193470, 0, 1221798934, 3852138856, 1534048338, 1836447528, 128, 4242578693, 4062890872, 74423923, 2555864918, 128, 3864664632, 3736208344, 601838081, 1917421388, 128, 1781688721, 432489480, 4056166382, 142398730, 0, 223046866, 588266450, 2341106462, 46200363, 128, 3228815680, 703932252, 1646282666, 2143688576, 128, 1059172581, 605714920, 2781976708, 1327971518, 0, 4286710878, 2905079032, 1774824267, 3093563803, 0, 1993784671, 1609539028, 4157957886, 46953592, 0, 3828720148, 1276899869, 2767860898, 3369175140, 128, 3583762227, 2226966825, 1501962338, 2826630373, 128, 1005159535, 2854279959, 9153629, 2053033666, 0, 3974254354, 3722817882, 2817955854, 2002743327, 128, 3236420840, 3371524268, 3725058698, 2093445287, 128, 782488694, 790328105, 1588835402, 2764980362, 0, 3663800845, 2746678937, 1104474433, 1310188510, 128, 2381748071, 1499817673, 464547510, 3000934542, 0, 1569447336, 2488052958, 1263616068, 1082647203, 128, 1840719759, 910732552, 2306732825, 1144267543, 128, 2748224886, 2304557620, 3610010892, 1119671094, 128, 1143539905, 2215811820, 3300397284, 3622941871, 128, 1344595869, 510810477, 3890716669, 452287124, 128, 406488864, 109260871, 1869431935, 81919899, 128, 2764244417, 3255442564, 3342505706, 2769819536, 128, 4269513578, 1055275718, 599878170, 3824237362, 128, 819413000, 3023178491, 2213505034, 3613960783, 128, 3176541013, 256389746, 528908702, 1785943638, 0, 1462258005, 4243314389, 1856387110, 2594862290, 128, 212071644, 2759327356, 1089288284, 4165185915, 0, 4091242208, 4170310153, 1139929690, 4103468488, 128, 191191202, 170541552, 3170202080, 1149766953, 128, 1944039113, 2709547596, 169037654, 848103429, 0, 1806419786, 971396286, 34322566, 737340770, 0, 1342820621, 1842197008, 1607727993, 812002819, 128, 3395037029, 2939692517, 2896387896, 69559023, 128, 636684631, 728465645, 3021047248, 3254525987, 0, 2952728230, 35727774, 473148767, 2676049740, 128, 462421652, 62000593, 2784663436, 201848851, 0, 3849762286, 3133344433, 1922828511, 1226895364, 128, 3100125234, 2686484197, 3375509914, 635477757, 0, 3222586119, 3437799219, 11135473, 3151807469, 128, 1434060104, 15278782, 1914117004, 3963451823, 128, 690122013, 3542191994, 306215984, 1935538342, 0, 3339617841, 4095672824, 491960737, 4017444459, 128, 95855712, 4044036900, 2435528676, 238226365, 0, 2499562817, 1598913957, 4206214128, 3003337335, 0, 1770118110, 2100601797, 2311637105, 2933563197, 0, 393472341, 701581114, 2048074209, 177861139, 0, 4003178169, 2581535741, 866781774, 1986199428, 0, 318881096, 1022703089, 2880091859, 1581859606, 128, 991066312, 227630712, 2630566166, 3608847922, 128, 3778012226, 3236722108, 1247629820, 446363187, 0, 464264579, 3991185060, 3727797787, 4236844962, 0, 3795672962, 2383182446, 2210918883, 2367438016, 0, 111414477, 750271548, 989395833, 2637537132, 128, 1052255763, 1790208723, 3774832924, 2362755112, 128, 167741403, 165816377, 4178569863, 2726056174, 0, 4268995609, 3536481404, 3825317223, 2614618622, 128, 3784634959, 2868505911, 2180618593, 3786873552, 0, 3465687804, 4106259230, 1485945883, 3300405109, 0, 3572226797, 1339512032, 3918082941, 3526390974, 0, 3023900556, 1744284789, 774516931, 390901955, 0, 3337573082, 3445446613, 4287701309, 3932996604, 0, 963021816, 2736447234, 279728296, 2966632033, 0, 2036054062, 3329231509, 948887222, 2685763023, 128, 1875760103, 380975775, 3352959205, 1203302551, 0, 3485378640, 2339810648, 766341133, 2262694035, 0, 848130516, 216100539, 1466602099, 2252508444, 0, 4180857192, 46897103, 1822148985, 169434975, 128, 529230771, 154836517, 1784130097, 80837384, 128, 3633260649, 1344861169, 489037003, 293776386, 128, 3632226259, 812668290, 1395747472, 3369293427, 128, 4077764534, 3926434463, 1477295698, 2575870727, 128, 1624803884, 3494065440, 1081221357, 1821551730, 128, 2597377865, 2969607333, 2788146054, 712247278, 128, 3828404172, 2369625994, 2089057172, 3083764300, 128, 2916724558, 2762779840, 1941464076, 3134730121, 128, 493169346, 2869057822, 2380482188, 107598503, 0, 3431131025, 3376525350, 3232844162, 1493644810, 128, 2735358270, 3838997247, 3789223366, 2450096777, 128, 970858485, 3235505648, 3505849935, 2986758084, 128, 3386053355, 1820984085, 3232818425, 1500738264, 128, 4119983948, 3611980680, 2716432367, 3665610395, 128, 1627963490, 1529480244, 1465157666, 565692776, 0, 127954502, 2243116764, 3985873470, 3656550000, 0, 1110837150, 2973239792, 2354510991, 3917380211, 128, 2582055540, 2815066454, 4194147054, 2817365711, 128, 3314935369, 2745922092, 3891043568, 3382068203, 128, 4127483529, 3594597665, 957820289, 3037480623, 128, 1960753846, 581222627, 2746454568, 2111506956, 128, 977896284, 2263997881, 850855922, 2446824440, 128, 3698978354, 1441206910, 2508261422, 949519648, 128, 1920211865, 2238633343, 885796175, 1846780933, 0, 2378127651, 254096281, 2926438427, 788407246, 0, 443288722, 3156032538, 1033968654, 2745633987, 0, 1151948774, 1432005825, 3969952531, 4147123028, 128, 3429715911, 2970420079, 2571538005, 2499278262, 128, 172723119, 2140572526, 1546777873, 2332074164, 128, 429271744, 372359125, 940752169, 2523439892, 128, 1685390103, 2065301557, 877745313, 1449918535, 128, 1868654018, 25792730, 4258482996, 2736100164, 0, 1681341644, 2104875632, 972767786, 3252773719, 128, 2831451294, 4242875553, 402853230, 2544338926, 128, 2610341610, 4217417518, 135822204, 3715254351, 128, 2283745493, 2101619950, 954063699, 3576234776, 128, 1875158839, 1286598479, 2527826779, 2987663077, 128, 749584397, 3714665702, 3866121018, 3341813739, 128, 558501775, 2545912174, 3359397439, 3954506194, 0, 3777965401, 1298494126, 2861523989, 26532486, 128, 812014429, 3806870, 3944272147, 1006794702, 0, 1349806268, 3665661220, 2274176544, 1778143705, 0, 4220687984, 1276121770, 1859604228, 3811888879, 128, 1317932670, 940924376, 2836681417, 1184582180, 128, 4087605317, 993365129, 2759296023, 1298106865, 128, 2871500478, 1970595869, 2802507527, 3429208420, 128, 3155235449, 4163268439, 2123850949, 4235888572, 128, 3191926764, 4269801508, 895301330, 456029242, 128, 4140080931, 3614296686, 4104318540, 2728839489, 0, 2077349560, 48548982, 2260202858, 320468402, 128, 2768512491, 3974962161, 1597171154, 4216949245, 128, 1941986275, 1723046872, 1979502588, 4082235330, 0, 1956782767, 2179050316, 2842490420, 2265576235, 128, 3133749418, 331178613, 1273422422, 1079761929, 0, 2370007928, 3498107000, 1760670087, 977228926, 128, 917461939, 1816469197, 2649344885, 1754607812, 0, 586307708, 3625275573, 130163438, 1783115538, 128, 1775070789, 1553219756, 212685540, 2699467490, 0, 2250534060, 681571253, 2112403805, 723731311, 0, 1717796888, 233762666, 2910471893, 734343024, 128, 3801021125, 1917086506, 3205019079, 3928482134, 0, 2119004401, 3136057290, 3185393441, 2141328217, 0, 1687548613, 302757251, 412654259, 1222493758, 128, 679224849, 2272608522, 3913492796, 2805937802, 0, 2105520578, 499896462, 1650477074, 2773188524, 0, 2159588774, 1001407380, 3045136479, 2322635638, 128, 875762106, 938084037, 2744888733, 2031439529, 128, 4060805866, 3260135953, 3859458888, 4210447351, 0, 4089710294, 2247505866, 2092651256, 3296282673, 0, 1834324105, 2143601454, 3372353802, 1580457518, 0, 3748144547, 947403448, 2504553346, 2320563318, 128, 2786072105, 2636984022, 3456769108, 2705036136, 0, 3686850845, 3446425726, 1953265021, 2403749797, 128, 3685182912, 4007709933, 3869768238, 2622951849, 128, 34488038, 1928798702, 2540724899, 1430934189, 128, 3230567518, 1280515740, 1980771013, 1164813446, 0, 3977629308, 989260044, 319723889, 1249594703, 0, 2490367175, 2208938959, 77259511, 1514874587, 128, 2567991646, 1317431937, 3687289299, 523002649, 128, 2555818164, 2886194956, 1613169125, 221435689, 0, 279234581, 668699252, 145401791, 2490554523, 0, 2165330427, 3313443253, 589505300, 3377707975, 128, 356496184, 220865206, 3708445340, 1126936628, 0, 844292201, 3816833855, 3496291049, 3751124277, 0, 1568117223, 396054217, 2118593160, 3142221162, 0, 2798793796, 2474460293, 3734326781, 118623772, 128, 836759484, 760072570, 3317878379, 644814721, 0, 1047580176, 2720020396, 2601709885, 1027114126, 0, 3448238936, 2438742331, 3390467857, 518139555, 128, 3378302253, 3869873030, 3558128345, 99523237, 128, 4137095935, 1247136378, 3059326101, 1884957410, 128, 1891802822, 3167529248, 2855712619, 3112820339, 128, 626897918, 1334850817, 236350723, 36886548, 128, 3464573830, 4034170802, 419930261, 1826130880, 128, 782244151, 2505748735, 3431845802, 1912335403, 128, 449696845, 3300199831, 2536966805, 253898352, 0, 2102843595, 3728639266, 1372013809, 954251837, 0, 1281009636, 1774941777, 353988522, 79505129, 0, 646217881, 1821289772, 212962966, 2962170540, 128, 2314298087, 1821536615, 402775264, 2546827209, 0, 2244759258, 3880767983, 757823056, 2622555932, 0, 2756112865, 2148715374, 3894286540, 307020600, 0, 2937497655, 889203142, 2051184807, 2037969342, 0, 3036180184, 1667073347, 4000688911, 232896375, 0, 637161525, 1948747456, 3275277679, 2518871585, 0, 609050708, 2746679596, 936234782, 3920529693, 128, 1025543867, 1037676084, 2296207591, 341351905, 128, 361633218, 2959310703, 1379092973, 896327587, 0, 3882464736, 2877626555, 491323761, 697200023, 128, 3738194565, 267181832, 2188364693, 1007354830, 128, 1629353398, 598810559, 31661093, 4162300224, 0, 3658429111, 3843194011, 2792568336, 3717085133, 0, 651335247, 3702506037, 162614672, 3052721154, 0, 1830682420, 3008154357, 2556049348, 2696480726, 128, 837205052, 464193329, 907454136, 763879253, 128, 3201626697, 487615043, 3459482740, 2397003612, 128, 3932485752, 3036918507, 2812156554, 1831206602, 0, 219630865, 1129290892, 3128410763, 1499887702, 0, 1448160267, 145431498, 2749043797, 1861368164, 128, 1097744831, 3699849560, 2163404143, 2193089326, 0, 71447822, 3817650180, 508788954, 1000554529, 128, 985001098, 2756041863, 3791108209, 277790811, 128, 8209096, 3384827136, 3086134741, 1204227884, 0, 3676522714, 2144692535, 3437417040, 906875064, 0, 897193984, 2257168501, 4058525809, 3827778285, 0, 1355221573, 2571472372, 2121883391, 4231465633, 128, 4207118229, 967675520, 1180820788, 3137186187, 128, 1995017450, 3057274858, 1956790107, 3389562343, 0, 1090010780, 844153017, 2600768720, 2888214305, 0, 123878871, 2602727457, 4043059772, 558813222, 128, 27540134, 1140251612, 1146438074, 3122613449, 0, 3181176104, 1947077169, 1566024151, 2204689713, 0, 2326068022, 613170190, 858375314, 4252652433, 0, 2018614561, 2954628294, 381100312, 3833444492, 128, 2003786962, 1334631585, 307438621, 1964145569, 0, 2026987092, 4070240677, 2201954630, 3521980536, 0, 2161132204, 3262442092, 2130301339, 1046669468, 128, 3443089665, 13024843, 1443242953, 3935413362, 0, 251215336, 1763053506, 988814342, 3547803843, 128, 1082021859, 2199078390, 3827077414, 3322308699, 128, 1311611698, 379833645, 2454208095, 2153140756, 128, 3498057732, 3123752314, 3195017965, 4203608153, 128, 3091842342, 2486753253, 671959509, 130535229, 128, 112446279, 3636051265, 1193470603, 3263701835, 128, 1204935940, 1513201155, 2863012768, 2587929229, 0, 2655981393, 777858335, 1125506908, 2378554307, 128, 2829688711, 1215641168, 3752205844, 3495388708, 128, 3521412205, 505603427, 1625749070, 3698162363, 128, 4053700211, 469135648, 3835516615, 3850088817, 128, 2288128683, 1059605761, 3176154594, 188709442, 0, 1121919717, 810271428, 1945038313, 3786598378, 0, 3991853594, 1075344978, 1743271208, 2466588700, 128, 1379725474, 3851019824, 3649316181, 3135510507, 128, 1008078314, 2469550672, 625358283, 3277024544, 128, 3066120866, 4154926547, 268281286, 4246690510, 0, 852240663, 1203507561, 3286158200, 2025110048, 0, 897692496, 4109129547, 1718790829, 3881241369, 128, 3622313525, 1678886087, 2414338382, 2282011635, 128, 623416304, 3554747220, 4226302016, 752946605, 0, 3647078013, 692560298, 3264028243, 325663664, 0, 4168877529, 3388036698, 2497585530, 1310960317, 128, 2837053621, 2943849921, 1923167502, 762548237, 0, 2064343099, 293023964, 384242512, 3289053988, 128, 3702652646, 2251067734, 3075595020, 552978059, 0, 2149356739, 1757903532, 2123868556, 1005915735, 128, 2775624159, 3030233028, 1709697037, 2301097083, 128, 423755103, 1938248358, 2975583247, 2305678818, 128, 2527772791, 1816821404, 3355386391, 1117908473, 128, 2930050095, 2225434910, 845402498, 38664774, 128, 259285145, 2534916386, 2703415889, 3758534669, 0, 4152272636, 2054975881, 3827398455, 2548450788, 0, 527244832, 4079169541, 289133306, 3708290040, 0, 3816010816, 125917897, 3483156169, 3814020431, 0, 1158360069, 193625945, 2816602782, 441146261, 128, 516071663, 2319159467, 1870270758, 1883063970, 128, 3964834971, 243982823, 3690029175, 3588690868, 0, 3378741278, 1518558769, 1290606609, 2940152054, 0, 3316236752, 2734818694, 3296689332, 2375952434, 128, 903430307, 656248096, 2146881317, 1985661536, 128, 1672345965, 4088463002, 561951453, 3317645625, 128, 4192195712, 1376665282, 1147735436, 2728291796, 128, 2434201995, 1530709147, 2076587719, 3808235401, 128, 4114030094, 2793448309, 2352872368, 2636552603, 0, 26830815, 2763181738, 44004283, 3584563094, 128, 3156846917, 2179809406, 2109469583, 803998768, 0, 908604384, 1490884181, 371802875, 2662526197, 128, 3723452756, 829112023, 3402398568, 1843953093, 128, 1719116122, 2545758126, 1302896735, 2181375402, 128, 1897786490, 3293944816, 1524393887, 2481049817, 128, 3216786998, 321870392, 3531478620, 2942392357, 128, 451615813, 243839274, 2659761526, 2935379321, 0, 2498171871, 205643690, 306407307, 2796586584, 128, 2590437784, 783332686, 1164135678, 604553120, 128, 2085703510, 501280249, 322624464, 2179735233, 0, 3666848665, 557330235, 2679806275, 1757540034, 0, 46690448, 2786610079, 4141178643, 122123734, 128, 2417714794, 3733084069, 1809910812, 3698871255, 128, 2011838968, 2801761602, 30854846, 1961528570, 128, 2132719182, 780377844, 3451244909, 2236119481, 0, 1527634063, 2823033501, 209082989, 1995612677, 0, 1818340307, 2819585760, 1329664801, 199223066, 0, 51763871, 3480923141, 411673710, 513232181, 0, 3052119351, 3173825153, 2004500953, 2582095870, 0, 1398359907, 1652639906, 544886669, 3273969070, 0, 2257075127, 1096071178, 458179571, 406946912, 128, 3498048477, 1885920313, 3891510847, 2232215018, 0, 3550713570, 2322390614, 2020052197, 2614456142, 128, 4037707555, 3103744925, 427754168, 1012593125, 128, 742632581, 1784657593, 3506209440, 2646717675, 0, 4292908858, 2784275723, 3023057831, 3527354496, 128, 1552175109, 1375060212, 549719009, 1006514139, 0, 523814214, 1737055044, 2863382844, 2558850893, 0, 3442623851, 3988487719, 4045054071, 3719149623, 128, 4144177459, 3327991616, 3457973208, 4127535692, 0, 1850120837, 2557519756, 2638230597, 2622932858, 0, 3315687801, 1358692608, 3873610353, 3535048977, 0, 1268801062, 3408861430, 3285630719, 1250015254, 0, 2800068592, 3963909127, 4050790015, 317094110, 128, 2116419332, 907235674, 1737840133, 489658095, 128, 721330516, 526978574, 3397000017, 317497571, 128, 1108240115, 2548532726, 2770289860, 1497056678, 128, 4184576904, 3906156131, 932330583, 3502243294, 0, 2071783450, 987623981, 1070621456, 2838744702, 0, 1541536127, 3172666788, 4220030169, 2535542803, 128, 3745291670, 4259882309, 1102119906, 289910031, 128, 2627315303, 2872281543, 1318828780, 3203953718, 0, 2969927226, 448241992, 2673935248, 2303297359, 0, 1691058653, 4205465800, 2708069955, 497180140, 128, 2858226011, 1212451126, 2896014591, 2571374338, 0, 2538299829, 1807343340, 104906329, 1981950782, 128, 3325341427, 1397071765, 1494752415, 3844482195, 128, 3112368396, 3608315924, 1999893567, 4544529, 0, 3837181490, 1286072625, 3312797679, 3240376798, 128, 1493570098, 3680493084, 185829953, 1720707474, 0, 2689756655, 354836053, 4293894595, 3283155032, 0, 592627053, 3738246979, 3688298662, 2693798692, 0, 811258362, 3394607722, 601830001, 3904784252, 0, 3645971608, 4063037995, 473606382, 4040695629, 128, 3714517349, 4177350486, 2855792978, 3312622480, 0, 3127749492, 3977075892, 2669361701, 2561892807, 128, 2723537182, 3194532587, 2473974936, 408763107, 0, 1088140776, 3181138776, 1592955694, 402402255, 0, 3444330439, 1063388079, 2581499542, 3651607255, 0, 1325075999, 1952687062, 3828795586, 2729665402, 0, 1614827322, 2051778324, 2677188088, 2062072259, 0, 2776889536, 2866414797, 3739243926, 2542611145, 0, 2205484854, 557251902, 4130498671, 2242197684, 128, 914793799, 3516955933, 2712153130, 1137292707, 128, 734755397, 1151669858, 2693022615, 3279772259, 0, 511983221, 2296822740, 292269181, 3748085016, 0, 851404128, 1768022569, 3529861120, 455829673, 0, 2451118474, 1047271807, 1003367218, 3780964458, 0, 3980491214, 2294753684, 1779955764, 4041012481, 0, 512093863, 22414258, 810414693, 2700558276, 128, 2217558199, 1270466965, 1057249405, 3491573079, 128, 3257308116, 2490845174, 4170797806, 4036268140, 128, 508324862, 2993273645, 2720435586, 3614974872, 128, 3548674354, 4010172471, 1642923873, 1047250318, 0, 2478031484, 2676646242, 1135921917, 3161267150, 128, 1507951979, 1981863128, 2367301931, 2804383653, 128, 1728353771, 2008305705, 3551535331, 1401901289, 128, 252314238, 3287020700, 1726927898, 342044548, 128, 3213960918, 2077845401, 3172362178, 1004233252, 128, 291049798, 1895799296, 1685961836, 3746410557, 0, 833381686, 2221741438, 2714778157, 3663852402, 128, 1506643236, 1199261922, 649995776, 1801808824, 128, 3244656034, 4070459970, 3480901083, 2128455806, 128, 4244955177, 3492384853, 1089459715, 519656935, 128, 2894467044, 2167928352, 233734554, 2320238387, 0, 2017036541, 3131606364, 3753872781, 657421767, 0, 4100067347, 2226672160, 1932696196, 1666316288, 0, 1188222915, 2252944994, 2274014053, 248877130, 0, 3251667035, 3982561363, 418232672, 675994330, 128, 980728202, 2467763874, 1805044663, 1986800331, 128, 2344222812, 53413150, 1555249476, 3367497941, 128, 1997192232, 3896525175, 3494688110, 2620296190, 128, 1132083165, 3315176318, 1925628617, 3387484176, 0, 1011390690, 921232417, 3716580649, 80457841, 0, 2570668220, 2294220002, 3911501983, 2842898189, 128, 4045403052, 2183694043, 3965970514, 3516215775, 0, 1604939176, 1986719914, 1368356599, 2983034528, 0, 1427553872, 3517588819, 174105532, 2616671946, 0, 1924750414, 1956453081, 969615715, 1694985159, 0, 3640576043, 869038568, 3882045302, 2076706812, 0, 1042050359, 2088725571, 4037847688, 1883485229, 128, 1886679246, 584040639, 614177195, 3099911115, 128, 2217051790, 1240154951, 2212557046, 4138710458, 0, 2733834754, 3995993436, 3533385528, 3720009544, 128, 3125174673, 342607729, 3577863469, 1001942642, 0, 2615179949, 3088366449, 55177668, 2790713932, 0, 3006244882, 1584060139, 4109145709, 1275394035, 0, 1364316805, 3067404292, 3798488691, 832678504, 128, 2981027005, 1479174248, 2941341294, 444622865, 128, 3792060340, 4150280108, 1276736722, 1062334687, 128, 1317885161, 2619389962, 3279212803, 2481000491, 0, 3258053900, 1597890051, 702700614, 4043706745, 128, 1622911141, 1852065501, 2490465522, 2312024079, 128, 3191447173, 2677976135, 2184785542, 3459990455, 128, 3410760725, 181929936, 1904988424, 1732871143, 128, 434431661, 2485925617, 1321809673, 161289610, 128, 77667203, 3977704792, 2710084602, 811968956, 0, 1690973381, 646412443, 3983645369, 2300747717, 0, 2968280105, 1029828706, 591650408, 2646749379, 128, 1990410102, 2443234456, 3173304695, 3082028560, 0, 211311656, 28644643, 3533780485, 1400789079, 128, 3992511471, 3228758800, 2756128312, 1258833112, 128, 1542608759, 3545616017, 2840133926, 2436413100, 128, 3843690259, 3742174741, 1598793708, 2083560855, 0, 3477301932, 2024375646, 2930172642, 2775067091, 128, 3901009359, 37543751, 1536721687, 896937044, 128, 3617327237, 1200415927, 3124907140, 517504690, 128, 2622713150, 2961369246, 3466391627, 2535300611, 128, 190750397, 2284089230, 2906381956, 3090516943, 128, 2309345661, 4138055589, 3343417961, 3372854009, 128, 2771706519, 2685281596, 495374597, 3738222959, 128, 578338217, 712499893, 1025970881, 3011575265, 0, 2567480594, 192046507, 1699325824, 681548378, 128, 222970994, 3311036648, 103667382, 4183379220, 0, 1197197751, 103241541, 558324877, 15030827, 128, 1659115408, 1013129559, 4279837918, 1532294196, 128, 4025515796, 3112624672, 3398231432, 2913247342, 0, 228648175, 979841819, 1780044093, 3289930, 0, 3799670143, 3359131600, 555673201, 3443619964, 0, 1187282675, 460661698, 2533628055, 4258031224, 128, 3744836453, 2023871267, 3225694572, 3140082268, 0, 2435812636, 966837896, 923526519, 3926683640, 0, 3236381092, 1139793530, 4232108878, 2139914664, 0, 4028550794, 4209287061, 2002746897, 1624586247, 128, 626209376, 3135969049, 559664172, 1161222593, 0, 2909187865, 2147633676, 2247768753, 1993210986, 0, 4187145728, 4165124180, 67654345, 596195279, 0, 4113826040, 846788622, 4240858354, 2935021553, 128, 1683988289, 2735951831, 963380417, 2769328762, 128, 3647487594, 1919404101, 2635392364, 4294728782, 0, 3433941544, 1680484668, 3889998369, 2217197120, 128, 2915848766, 3324200481, 3347240674, 3558616975, 0, 229236502, 441574232, 4183182395, 1238801205, 128, 1640389699, 2589575582, 3982755261, 2800576416, 0, 156095473, 3056663657, 2041817224, 1263541456, 128, 46617819, 744581572, 2650926565, 4127330168, 0, 4147153443, 938845555, 1662860289, 1331697586, 128, 2577229621, 624304673, 2321680340, 3377952007, 128, 2944588844, 4114471223, 3721057312, 589740858, 128, 1839808854, 4275578374, 3374897456, 3724553132, 128, 3104145861, 36689699, 1867436235, 6867601, 0 }; private static readonly uint[] s_keyMatrices_full = new uint[3225] { 2121991738, 1149866312, 2189783753, 427349026, 0, 2978386369, 42224492, 486475281, 860792355, 128, 3990565682, 4281210984, 2063629789, 1864289859, 0, 947857649, 893839188, 177487776, 1243413474, 128, 3918239976, 990361013, 3783110648, 1679689369, 128, 3184532356, 3065616722, 1510159856, 1488785193, 128, 2284052199, 3310251473, 3240765084, 662044150, 128, 2408267236, 3892290512, 2926878448, 2467511199, 128, 4073234919, 536946551, 495307983, 1660042116, 128, 3328182964, 2934341138, 3010063257, 753170862, 0, 4075475274, 1404496674, 2093060621, 3937585130, 128, 1078978546, 2530763662, 1726246686, 3466919108, 128, 229687847, 2791862339, 354782133, 1838359349, 0, 1416331002, 4182681908, 2862686612, 921210777, 0, 3755147664, 2807017867, 764655958, 2058196318, 0, 4212043089, 3364005134, 2211124170, 1747199765, 0, 4018023653, 3574117908, 2482918754, 1001553186, 0, 2424162833, 1721047363, 1940387973, 1918498819, 0, 3782684936, 2166885446, 4227177928, 2040106249, 128, 2472625555, 2509357184, 3055976156, 268700303, 0, 1126165186, 1702909091, 4231051197, 3692273902, 128, 963594491, 892062420, 2886353325, 456203158, 128, 3107264557, 735047750, 2045197320, 2058468162, 0, 2025383970, 371191064, 770649542, 2048743389, 128, 3739862943, 4266992931, 3290517187, 2295030584, 0, 4032582604, 1006207230, 2504388193, 4238893564, 128, 3576795400, 1386858667, 3563665603, 2150045192, 0, 3896076857, 3776878917, 1044516293, 4186846788, 128, 1323456400, 4248776429, 290380069, 1105169009, 128, 1360323662, 2794322484, 3343430886, 183789396, 0, 1746472656, 2833881127, 3479661548, 965575742, 0, 1574627517, 2473677106, 3857470935, 3447864156, 128, 1433165760, 3713288365, 691923431, 1711714900, 0, 2183337672, 2965509590, 3788161485, 1908980244, 128, 4032680793, 2995236973, 2550462486, 3315199235, 0, 2617643451, 1992423615, 3274790674, 578439567, 128, 3074747694, 1668401443, 3126238561, 1175416884, 0, 2104121182, 132561291, 21412181, 2804183312, 0, 640845973, 3162744925, 1246335923, 3172580430, 0, 2999491596, 3843574002, 3631614577, 1311995817, 128, 170995382, 1559090229, 2904599838, 2642026614, 128, 4165995019, 2844042742, 2060354197, 207931380, 0, 2136519045, 2059260173, 720673813, 333054025, 128, 3576512949, 4144704732, 90964799, 4112983328, 0, 1293818920, 3026568268, 195927801, 2467088727, 128, 3125679159, 3302224794, 3392035118, 551651154, 128, 3935664098, 2844775886, 2123839049, 748793642, 128, 2733540058, 738479604, 4293943541, 1428847471, 128, 278330882, 286207898, 2806558989, 3274695347, 0, 1287303004, 1986177701, 355656457, 1893287413, 128, 3792754859, 2778397956, 2341941646, 1549681076, 0, 1573138224, 3411025667, 2706338784, 1985997940, 128, 31599904, 1412406869, 1538281616, 4064392370, 0, 1725477378, 3995072379, 3200381998, 492304799, 0, 1672845040, 643221183, 920327572, 3132780823, 128, 3906894920, 4253149669, 2114677835, 3633581653, 128, 3601700335, 557422547, 1604473322, 3806472525, 128, 1221743795, 3679495168, 2992569798, 3551688422, 128, 3231837132, 596300804, 930648664, 2073461271, 0, 1297205746, 787911418, 3235031864, 3581781288, 0, 3076620507, 1297424620, 2888601884, 3996134959, 0, 3134488411, 2877854744, 1655154361, 1833457417, 0, 437147624, 3592662059, 2426501092, 3238274236, 0, 211723411, 2356618283, 3515700187, 3947321951, 128, 1616366195, 3107527762, 3960437356, 1731282087, 0, 728901460, 1518489764, 3953895517, 1655127006, 128, 3335837646, 258631026, 1258833652, 3811600562, 128, 2171794386, 3788056497, 447350207, 1537653752, 0, 3095774614, 4258122416, 2387111169, 1246601222, 0, 1895658862, 2846160188, 3981660942, 564695639, 128, 1610819198, 3044286329, 1399604687, 3828332970, 0, 1144847703, 1034894885, 2149398361, 3306653951, 128, 1417704552, 1841850874, 2179585023, 1921526415, 128, 3109512547, 2418759038, 3083087675, 2316602336, 0, 3405575893, 718259261, 2110918830, 3003402948, 0, 3485317982, 854241448, 2704670631, 1126750425, 0, 900589887, 140408604, 4009993136, 649099999, 0, 1711569102, 2268304932, 3550524169, 3810901285, 128, 424990047, 3168624523, 1317731350, 2275527692, 0, 2643546699, 789956701, 1250261393, 1726239781, 128, 1973504695, 3930658326, 2981076950, 624828417, 0, 126821770, 827716455, 232357473, 1032523420, 0, 1846416453, 3714303653, 2846304902, 3164302823, 0, 649043643, 1082100473, 3744508438, 3629514023, 128, 3795470740, 1953329607, 880958082, 2027896337, 0, 1835038843, 396515696, 1277706998, 1375762187, 0, 2297939744, 2445661748, 3415409499, 3155489514, 128, 2581408717, 1946029977, 3755442266, 2883685279, 128, 4109117571, 3707294127, 66791257, 116332736, 0, 1534231237, 3738012394, 2983328261, 1237408806, 128, 1018225560, 171029815, 2676779798, 3367355076, 128, 1902286271, 715652866, 1862675054, 2281498847, 0, 789165049, 3368350730, 805909931, 2749182023, 0, 1900510629, 1397055929, 2463603592, 3139753720, 128, 2622175073, 2323501783, 2222901805, 1878544267, 0, 1073712397, 1914727999, 748375872, 1171666485, 128, 1811793037, 1949188723, 2891576050, 2494645999, 0, 177730545, 1905031108, 2948006846, 3145379698, 0, 1659464263, 1207237524, 1758077815, 1766897494, 0, 1905771917, 4228741374, 2885703801, 2225140907, 0, 3288337985, 1237457594, 2474832249, 3287832939, 0, 3087271748, 3232103771, 1193200621, 2725307804, 0, 2849820682, 1264126603, 4064618974, 3952423864, 0, 3322665822, 1819423492, 3171724712, 3876622610, 128, 3369969719, 973602966, 681444557, 4006480934, 0, 4155622117, 286044452, 141213544, 643996362, 128, 5440694, 2517805243, 2642618382, 1767413726, 128, 4042640924, 3466389127, 285743318, 3842082497, 0, 567115249, 3667490353, 1126190986, 3258694498, 128, 1382925568, 4233640313, 1667097339, 1191375350, 0, 763492217, 94087610, 3550421478, 3917538529, 0, 652852557, 3726748832, 1100322844, 185901005, 128, 2202016152, 2606569337, 3151283351, 1579546676, 0, 1637718495, 2801935596, 2065678270, 1034398358, 128, 3793352178, 3388885359, 1026273444, 1566423797, 0, 3099442104, 3266117049, 4049670668, 713941393, 0, 383109683, 3299245566, 3879901647, 1575818085, 128, 1739748893, 4172186754, 1507815482, 3422716348, 128, 1091107747, 182355208, 1462962681, 874486064, 0, 749860555, 583954359, 1510816314, 1901197557, 0, 1084140852, 3699786620, 2997460802, 3541186287, 0, 1772107579, 505308328, 2354732783, 1245883572, 0, 261273874, 3764501711, 3026679914, 967566248, 0, 3297571971, 1594354899, 1378989785, 3618581294, 0, 2249804124, 1649134874, 1494310786, 2314351295, 0, 2513042169, 297318642, 2996519485, 1077416489, 128, 1689590384, 769722146, 341471907, 3835886705, 128, 616255029, 2393375427, 785902907, 3410988734, 128, 1599906344, 4105730178, 793062104, 3999923654, 0, 596429112, 2837814575, 985480801, 3268633190, 128, 1147636475, 39777599, 3941359560, 2614431331, 128, 965228736, 722494497, 3820987639, 1629859968, 0, 4013905160, 665575283, 368757707, 3513438917, 0, 4191010551, 1597354922, 2435890623, 1378907923, 128, 503892401, 1059271541, 469382282, 3778032802, 0, 3380269141, 3733944654, 922002577, 4223053638, 0, 1853924938, 2295862329, 1253298785, 3079454040, 128, 2415813169, 1807177249, 3413443566, 2312399571, 128, 4178735880, 1096482466, 263160354, 2641420243, 0, 4118497483, 1091879070, 3461621828, 2397485203, 0, 3775888326, 2967772580, 3556089221, 136250190, 128, 2862363353, 2067352744, 3805353236, 619069205, 0, 3380896986, 2659343492, 1486367013, 2418413599, 128, 2002828246, 1853080871, 4198084789, 900479042, 0, 1164736496, 2516242997, 1009936262, 2028349541, 0, 1505893314, 3151396431, 2102225311, 5896743, 0, 2578983681, 4050473206, 3552353971, 1608119537, 128, 4188940939, 1297877844, 811448335, 2548676998, 0, 1425887588, 435005839, 2471490486, 704925108, 128, 904339624, 1259482595, 1967417657, 2933471586, 128, 2304628216, 1820385517, 3029312629, 2163661541, 128, 3958516168, 1526399626, 2098000964, 1989169210, 128, 2338640264, 676329082, 3911263270, 1225463839, 0, 1492504259, 3066828260, 2557641682, 851635329, 128, 3815446018, 192113239, 2557036255, 2792786655, 0, 2261993749, 512358273, 9528037, 2391333473, 128, 489663093, 3415984919, 721426090, 2142305991, 128, 2359050110, 1176311013, 3419951080, 3997094667, 128, 2353101266, 2387789736, 2873223309, 691986678, 128, 977376048, 61567316, 1416360775, 3377025594, 0, 1285948909, 1456258129, 3434308598, 2465455005, 128, 2826690801, 2605568981, 235207377, 3979704817, 128, 1302004478, 1442566838, 3856644911, 3717312674, 0, 3445906815, 2541159811, 318454323, 1305436376, 128, 1414412725, 3092990434, 3967745521, 4022956030, 128, 3405619186, 1663683323, 4028414139, 711463994, 128, 1713149451, 1675978299, 3735120161, 3046212179, 0, 579951831, 3505687018, 2177990006, 1462793586, 128, 2394200323, 4102653192, 4265849421, 3754187752, 0, 1604305980, 2139030518, 3754696438, 3204915815, 0, 73008699, 743274871, 1192763274, 3790520541, 128, 1000372129, 498037516, 2897675584, 3335785830, 0, 3539980521, 468047834, 3862401122, 2611320593, 0, 130034601, 1285740416, 1276158006, 1828309809, 128, 1321277278, 1463554512, 2062517867, 2733044171, 128, 2469523160, 309149728, 1154845281, 3447362366, 0, 1236082474, 3834517468, 2906451163, 2820477168, 128, 1176685696, 3897715494, 2423734726, 1007064606, 128, 1043319199, 1601384920, 2475050934, 3347665450, 128, 1772250473, 2007578089, 855693477, 4241167789, 0, 3141202957, 1618206413, 671126431, 3880152442, 128, 1712680737, 878203147, 3101797880, 1953474960, 128, 1434028885, 3682731435, 3016960384, 821001112, 128, 763095363, 3211609016, 1868557747, 2912701694, 0, 1557938801, 1266510915, 3772120528, 1449048411, 128, 3854764481, 3379094791, 1605287010, 1791765851, 0, 3058112603, 1075798859, 1025020984, 200323469, 0, 4272715662, 3389849570, 223920259, 1939388186, 128, 2770275365, 2091697732, 226184074, 1224972493, 128, 2394323742, 1913837845, 2239529051, 967615077, 0, 4210210282, 817406409, 3602651454, 3495552727, 0, 2866509089, 2645041494, 1337440341, 4101784194, 0, 390532822, 4008874204, 3291992063, 543038316, 0, 826202558, 3730844419, 209789682, 3104459431, 128, 3646109073, 3880486964, 1810435870, 1568151909, 128, 1592358878, 1854380743, 1373307312, 3197438412, 128, 3100996774, 3392778567, 44205235, 2676288337, 128, 1864212587, 3366070431, 377578355, 2016871334, 0, 20879013, 3743775469, 3157910910, 3100291918, 128, 2598626164, 4284745617, 2028989782, 1912581959, 0, 3436379787, 366875074, 801653012, 1997670117, 128, 351802877, 3977881314, 3496113596, 3430415232, 0, 1252374223, 1546591101, 1439632413, 3324259463, 0, 241833988, 1608789755, 2823077110, 4275923690, 128, 3533171495, 773683360, 3634454107, 3313475081, 128, 3804851991, 4088747039, 274458814, 2301560549, 0, 447331202, 1511558321, 3890185195, 1025396620, 128, 3313219550, 1427070011, 3061379160, 2894121140, 128, 2430046396, 1777224317, 4053000777, 455351378, 0, 1325494067, 3626001936, 461090164, 1938977060, 0, 2271959408, 1652707475, 3212245067, 970970209, 0, 1215835608, 1318136721, 4231862070, 120916678, 128, 2730821224, 3794333841, 2594850949, 3912389458, 128, 4260237978, 686946636, 338910665, 215991962, 0, 2185875066, 4045360039, 364706062, 3397266828, 128, 2135595276, 786150917, 1200408194, 602811378, 128, 156745748, 3317948216, 3698433859, 2688951916, 128, 3902300059, 255104717, 4193350432, 2186729927, 0, 4072012750, 2738242433, 2083361529, 1689750347, 128, 1662628222, 3282999229, 766450118, 209227728, 0, 2434760375, 3841173841, 909282167, 2904106798, 128, 3731365410, 3754344717, 3388472251, 1113548378, 0, 1246672960, 137303190, 3227230998, 3438169184, 128, 858400139, 3557072175, 2157124171, 2236909590, 128, 2507216396, 1700783882, 1937255454, 1467936517, 128, 1422204396, 873220057, 4155722082, 854159352, 128, 1469780264, 4221855129, 2417322022, 721825448, 0, 2514910892, 2234758897, 3327599518, 3914105069, 128, 49776176, 620186976, 3548447245, 1467226740, 0, 3418380778, 975062053, 567587424, 282781781, 0, 3420305035, 325924751, 1771484581, 540483066, 0, 2029585957, 3767937328, 457522853, 2221281691, 128, 542554561, 2989944364, 645630916, 3180349843, 0, 2829886326, 3768644166, 2429455236, 753572255, 0, 2911119041, 2619772176, 1762359483, 987718031, 0, 601060734, 1137455, 386977441, 450839975, 0, 2418649941, 1383306552, 3690670559, 3691881319, 128, 3317661090, 258766440, 2828797994, 41138555, 128, 3684090640, 1388461898, 3759169185, 305266368, 0, 2353581709, 2967774472, 1336238216, 1654669226, 0, 763514749, 1886192863, 777077618, 275195166, 128, 2784811245, 3634196200, 2177815468, 291268790, 128, 2440048646, 881673764, 3763434341, 3251289633, 0, 1249541823, 1077879385, 4135139646, 1382112659, 128, 4162243518, 1425337975, 2616499951, 1337169790, 128, 2768812743, 683209689, 3998619600, 2878328038, 0, 4174822891, 3150504420, 3364763633, 696113165, 128, 3621635512, 2144119636, 1177804871, 4057821212, 0, 327477627, 2378671570, 3574204146, 2995418415, 0, 4034872796, 2736136516, 3630453068, 3586589615, 128, 3957349862, 2446225373, 1599565098, 3221880359, 128, 3802236513, 2992081692, 3031368179, 276609147, 128, 1603904945, 1958844740, 2338345972, 3748179193, 0, 2260464062, 3957493646, 4205298380, 510678457, 128, 2225043232, 3798806879, 1636665428, 2070651951, 0, 1356432977, 1417505606, 2716669275, 3388024462, 0, 2674365625, 1307217304, 369063990, 2005397380, 128, 2265531047, 1891422445, 532865494, 3056373556, 128, 3843159744, 2850476278, 3812307616, 3905858012, 0, 3280067476, 2696137599, 1491048108, 3144297369, 0, 1093320550, 4161801833, 2294815857, 1610930227, 0, 2220274663, 1907391228, 709398817, 3931362879, 128, 1118698195, 3502442725, 1342164462, 4097855967, 0, 3116044431, 2109176611, 3027631074, 2961948451, 128, 17422128, 519487594, 2263104537, 3874963019, 128, 1739843305, 2377689699, 2462690217, 1108806371, 128, 22480128, 3107698670, 2128822541, 679467376, 128, 1240754880, 3690612825, 2283722799, 2694476530, 0, 2099261553, 250753048, 3710089430, 1695522178, 128, 2055868147, 978100162, 2265255050, 3583115666, 128, 2105374664, 2904432995, 1115898550, 3284874184, 0, 3312035400, 2094707977, 3827544318, 3427611617, 0, 1914529747, 4000175811, 3298221925, 735465418, 128, 2722825418, 4227116478, 2195040777, 4141614607, 0, 2319509058, 1678529262, 3573093450, 3444712352, 128, 1304384190, 1370247560, 1070885565, 2331808199, 0, 2964312779, 1622438567, 2908864360, 483687496, 0, 284045118, 1506355173, 1074149426, 167059339, 128, 3388256508, 2771372276, 2590242433, 2816796324, 0, 297686284, 4087313201, 4146212700, 651991640, 0, 2988324244, 4174962815, 3907318518, 1353066290, 0, 2022412316, 393428966, 3549904400, 3867154867, 128, 2409342061, 1083472730, 2733544592, 1193756378, 0, 3734221167, 3689815243, 1666757044, 323941091, 128, 1197528023, 2510266023, 1225302429, 650471805, 128, 407963662, 112229725, 1806000494, 383447008, 0, 1282610111, 2361180837, 1647473670, 3198869310, 128, 1626889148, 379033647, 1554188763, 2644848118, 0, 2239034996, 4186629308, 1445616823, 282554459, 128, 1178500323, 2814997559, 3410892737, 241784062, 0, 1507382828, 3604943765, 1946833168, 865075821, 0, 3084184344, 2192105856, 2739882757, 540133994, 128, 4097549162, 3958206394, 267566397, 2569595819, 128, 3413919757, 1299952031, 35585051, 2913046620, 128, 794322806, 2653859769, 4165871635, 1891937761, 128, 558433662, 3920773091, 3323042731, 2610537985, 128, 1992761903, 2172215996, 4208997804, 2068287363, 0, 1417589225, 4178652181, 2751731543, 3505303994, 0, 3051859395, 1213007161, 2300578411, 377960040, 128, 1001519568, 360908385, 4111220072, 1781967504, 128, 2766498779, 1546213988, 2040593833, 3923927898, 0, 963581638, 3409539028, 2096597164, 2345508366, 0, 1254620980, 3766328330, 3416915764, 898982027, 0, 214999125, 3668932307, 2172251518, 556781006, 0, 2800742517, 3105267731, 1672248449, 260846188, 128, 1644845131, 2833747933, 689754153, 2473917692, 128, 1788319852, 3153636836, 1690895229, 2822428373, 0, 430284803, 2472001618, 4076141875, 1648422188, 0, 1010411711, 3145576515, 501115168, 2281305458, 0, 487462014, 1638319449, 3811240043, 3295581232, 128, 3863117158, 3486162527, 3797516071, 946738736, 128, 161111144, 2311936449, 1860085425, 2811372825, 128, 1195163777, 3096550998, 2322553611, 1769159365, 0, 3933903025, 211086812, 3941182366, 218108527, 0, 2743321409, 823823878, 391496859, 1159541713, 128, 611911863, 728279312, 512833921, 1623759366, 0, 325141869, 793657712, 3019668897, 1555813094, 0, 1254207151, 1902045832, 4260101727, 2851952562, 0, 2321471139, 4027788036, 3582138313, 1046955268, 0, 507970393, 3414295046, 2880486056, 462282150, 0, 2075914392, 564379318, 1279263964, 3251371125, 0, 2235385396, 827315114, 1308696345, 251872584, 128, 1181653938, 1226059447, 2048175956, 355788027, 0, 784097276, 757061417, 2023821177, 2915756069, 128, 962687080, 1954145412, 4237465088, 702155294, 128, 3977350536, 2678630393, 2747629692, 1101896947, 128, 1028411420, 2933219446, 1629839341, 2295793008, 128, 2249444147, 1792022803, 4039400356, 942562801, 128, 3768730289, 1979235950, 3181692405, 3295194653, 128, 1411767156, 4013975789, 2334813279, 4198347254, 128, 570801304, 1153230429, 2725229650, 3442201510, 0, 1461369860, 1700711931, 2617486224, 1289339896, 0, 825523405, 585962483, 16092798, 3517676963, 128, 1464977736, 1735624138, 362234578, 3025123316, 0, 83639500, 581563155, 1880216037, 2926103747, 0, 3459404379, 3706318835, 3801239273, 1199216512, 0, 3661781640, 1162212128, 3610551960, 1437613090, 0, 1348252020, 1371259078, 2261808441, 2316172473, 128, 3555405580, 4106412736, 215726572, 2442799409, 0, 3712313912, 541691197, 575299021, 534117808, 128, 1148339101, 2184971931, 2126351114, 72070440, 0, 3475482008, 309548377, 1849091922, 4045420722, 128, 799824266, 314481565, 3116777779, 2632205750, 128, 2888249571, 904676335, 664519724, 37998862, 0, 1377336622, 689733213, 397140198, 2272599746, 0, 1035459673, 2179720918, 1103135614, 3551485146, 128, 231677848, 3510304683, 1473765566, 1672326109, 0, 601179248, 3739582415, 2083451856, 3661335998, 0, 3250480789, 2253700408, 2626681710, 2341206532, 128, 336977998, 691698667, 1766251671, 3440244503, 128, 3031399770, 2407170617, 1854556578, 1822556743, 128, 3055780888, 4132029724, 976761164, 311076, 0, 1955272069, 4042920331, 2753297748, 3266107366, 0, 1666706458, 2754193434, 4059145961, 3575895905, 0, 4258714531, 1247793356, 3166702014, 2459193359, 128, 1421253779, 1901154689, 2759763331, 3158219528, 0, 3730998035, 3754615777, 367379165, 446645967, 0, 1011812142, 653690029, 4273861257, 795304849, 0, 831982875, 677106751, 2831213716, 63744490, 128, 2629396678, 2644886414, 600151704, 1735991529, 128, 3905503915, 1828614742, 1108115070, 428140119, 0, 2582098239, 1468889028, 2158898367, 3239157347, 0, 2164864112, 896223736, 1774462588, 2072693517, 0, 3520985967, 3610903812, 2065761952, 304259842, 0, 3701120339, 2811920521, 4229341293, 790699369, 128, 2816760644, 4073690953, 3980118370, 2039260811, 128, 2175604991, 2682829061, 2076924391, 3898719541, 128, 2849020317, 533074077, 3850816446, 868438299, 128, 2668489643, 3272077327, 3189999739, 2623019683, 0, 618953330, 4007565794, 1776958690, 1835752427, 0, 941683222, 4227388914, 961871538, 534551114, 0, 2582921326, 2882587764, 1575503220, 2386999897, 0, 599454530, 213739376, 2186269327, 1945472866, 128, 1217678667, 4280429008, 153795213, 4083900562, 0, 3973788717, 2790306255, 2226613809, 3264445438, 128, 1036242020, 869039322, 1372903940, 2843089640, 128, 1587876728, 2413137796, 3165862729, 259285123, 128, 1398182056, 1135063846, 2792399402, 574791841, 128, 3000490476, 1496056096, 2031139361, 3073687403, 128, 3822042946, 4148477479, 3123535945, 1510774550, 128, 1901291646, 2581492873, 400517744, 496082336, 0, 182360450, 2236679314, 1187658457, 4127443516, 0, 66489789, 3304187868, 486022264, 1280623093, 128, 387155123, 2872582531, 3589752843, 1369547195, 0, 255951434, 1896351820, 1567755800, 3252528542, 128, 2013518504, 3017435067, 2415202349, 603005437, 0, 3425364448, 3339491574, 3743191394, 3947742127, 0, 38816162, 1533636985, 1065304305, 934536098, 128, 1503515721, 3397656853, 2212993884, 2477515052, 0, 1972156320, 57454049, 2485811659, 1117343008, 0, 3154488814, 2906632567, 3015284263, 2376573002, 128, 1261533785, 1182045892, 274893563, 757360838, 128, 1862606962, 3123729209, 4114492997, 913658351, 0, 3398299404, 3237630389, 2309586975, 2509572302, 128, 73704834, 1311090554, 2632686971, 3525248979, 0, 1026762366, 487689788, 2568286871, 419704363, 128, 52795350, 867526189, 3408313370, 2466828532, 0, 1778240546, 2672184663, 34046661, 2255102005, 0, 1873992406, 2690719861, 3188142481, 1527821692, 128, 2781238279, 3655019343, 488836299, 4191955090, 128, 1780418673, 1518800330, 555992896, 1731124135, 128, 1483850604, 169147138, 2458797494, 3342268148, 128, 1084648171, 286622337, 2561515719, 2794678998, 128, 3499219331, 779634121, 370050138, 4198286230, 128, 3647367281, 2024509769, 1768058552, 4254605725, 0, 3207539642, 1986912495, 3545938397, 1050028245, 128, 3132723097, 2341569483, 2361248588, 3282544415, 128, 1807299608, 3881596362, 454158847, 3561755188, 128, 1801985372, 4132223150, 1959258018, 990911129, 0, 382379119, 3369576966, 2519070837, 2918771633, 128, 1482741829, 1084057675, 3900405210, 4215858378, 128, 4151596081, 2255040801, 550076305, 1063767408, 0, 2496172788, 2798304106, 2484577792, 1928206076, 128, 2186751644, 1522376130, 2859440446, 3953039375, 128, 3817717730, 3170828207, 3118250696, 113142868, 0, 167807577, 961229559, 2313914954, 1173944322, 0, 3436698246, 456552182, 1767840809, 1189416154, 128, 2116531603, 449292705, 1300431630, 2782765976, 128, 1285668342, 2647932523, 1800851476, 403460302, 0, 3664000637, 2574027999, 60089594, 211195938, 128, 3546403755, 3394824122, 1114667462, 3686205498, 0, 2603962726, 2037079051, 1075634635, 2102282157, 128, 3379536401, 1250853484, 365985758, 2621713888, 128, 3366120223, 2360381871, 2260262738, 2830420605, 128, 2189510622, 1406838336, 1879367385, 1606317784, 128, 2130409816, 3386493036, 451212981, 2031104688, 0, 1779575340, 3881133241, 3812222466, 2022596813, 128, 359028597, 1576605045, 2200524, 1663829841, 128, 32321244, 1883667437, 1038075142, 4219771641, 128, 3653579404, 3851859751, 2768890325, 840073576, 128, 1560828213, 3637428924, 3186940941, 286440919, 0, 2997424565, 531032656, 3789589809, 2426505300, 128, 1386939751, 795067145, 4016962409, 239964950, 128, 1754964857, 76366108, 2613239987, 3570468146, 128, 188868413, 4130077295, 4043625777, 232814178, 0, 857758755, 208208414, 538180488, 334887468, 0, 3804955127, 2858304790, 436623314, 181225356, 128, 3889906115, 1088010149, 2029408658, 3784489715, 128, 2026732282, 3854316113, 3255686594, 2255117226, 128, 692209215, 1179907455, 3267015748, 1774499319, 0, 2905133198, 2029640545, 447818850, 2599774241, 0, 3857978924, 4255407539, 196484121, 4125827333, 128, 2501296180, 3760162311, 1723780824, 1628141730, 0, 2670018557, 2511707308, 865626279, 3818209770, 0, 4131775690, 1689096249, 3773795565, 2158388293, 0, 3141986513, 2775037434, 218542076, 2835574858, 128, 1616062436, 3621801202, 3610944924, 2417606553, 0, 4094570468, 15105564, 3716028142, 3434543391, 128, 1622914516, 2060626410, 2767565396, 435499778, 0, 468242808, 2746358456, 3758803137, 1479709462, 0, 3091266866, 2646429819, 2327155130, 3437828027, 128, 3980739135, 1841756942, 1762046246, 3885120346, 0, 1031769489, 2009474915, 2055379966, 3387044282, 128, 1252576397, 3182666261, 2892084528, 3418009787, 0, 1959617912, 322754685, 2219815691, 4238698361, 0, 2295017545, 1558570786, 3689723939, 9285670, 0, 3505126774, 318405876, 3814856252, 1538948067, 128, 2360290942, 2638603669, 3626779050, 1456738131, 0, 4027780965, 40273907, 2996021594, 2250956853, 0, 1728524851, 295984538, 1604345624, 3878353567, 128, 2977222176, 3669098435, 1950076124, 2942977260, 128, 1717246799, 2831248002, 1285252904, 2655445550, 128, 1839284365, 1471032200, 2623101911, 3045668134, 0, 106348349, 3728611566, 2313829881, 4182085642, 128, 2940277867, 3374287649, 2211537246, 3783428801, 128, 3195947576, 2787043215, 2058545601, 335242725, 0, 1301922723, 3357051802, 3968735182, 3015083136, 0, 2174677484, 2464151126, 3688007178, 67260098, 0, 4014008804, 3111050221, 2040281121, 690443408, 128, 1828142398, 3637900414, 2590345262, 2160187384, 128, 2241891807, 619146635, 829478025, 1474526088, 128, 1483769774, 1530785430, 3747837935, 481736819, 0, 1596582689, 2404790386, 2114003400, 4188991771, 128, 720041440, 1426150400, 909724382, 2560534841, 128, 1596555242, 2645721069, 4219231060, 2594515809, 0, 4197756287, 1972627191, 4283383096, 2285751740, 128, 2167189691, 3989121494, 892924361, 3499944549, 128, 3924394532, 3955935286, 780815208, 4044044596, 128, 1515507569, 4127098187, 3894466873, 785337331, 128, 1155011949, 2387850036, 1758604467, 2616352299, 128, 1025213133, 880365022, 1580183817, 3640365926, 128, 3817344776, 2439729639, 3348338274, 3216116834, 0, 3493268421, 3116233999, 984739713, 3810092024, 0, 1649427021, 1666343906, 206989269, 657246415, 0, 3454356474, 886958045, 3054713053, 3507733708, 0, 855271542, 3207939532, 3869261913, 1166882929, 0, 3742740042, 3532193507, 955504608, 3006605989, 0, 2146959640, 4083789544, 3191229721, 3602978492, 128, 1836276882, 972169160, 2341295964, 2906302350, 128, 2908644634, 1341186524, 362950471, 1611774814, 0, 303492714, 3890061335, 665926787, 777144729, 0, 1526426396, 2045145744, 2778453914, 908875531, 0, 26050289, 1576061677, 2342796706, 1117783150, 0, 2774492425, 199640500, 184129673, 132745455, 128, 1051719300, 2041645433, 15848665, 767323353, 0, 3878424104, 3173783102, 658432594, 1709853717, 0, 81887727, 3048783536, 700427398, 775957664, 128, 309173159, 1309273158, 3141540392, 3144449056, 128, 3777351702, 675655116, 55170133, 1107990316, 0, 475267521, 810520268, 3296700796, 2011759369, 128, 84683979, 2271346368, 2539740272, 2974886804, 128, 3940846362, 1058804577, 3976456332, 4053819339, 128, 4288918778, 3659430196, 282476905, 778756228, 128, 2840670437, 2931410711, 3823345217, 2236644061, 128, 2785392088, 2391974343, 2264680653, 601651749, 0, 723930401, 2309298235, 3281969898, 986798283, 0, 753048230, 3359951799, 1273326401, 3666368229, 0, 3719217020, 1898089119, 678451417, 4157950486, 128, 1493106475, 4128632220, 2144004996, 1038085839, 0, 443258777, 3969472980, 3171501374, 1491011385, 128, 3036407364, 3702869882, 452908749, 1089636139, 128, 3419064828, 2127064660, 626206899, 3674268929, 128, 73951231, 532627577, 1605160987, 1536478893, 0, 428067382, 3993885133, 655955084, 2722706932, 0, 3082169395, 2044855649, 1909808275, 1294469036, 128, 3143065355, 383360501, 1286892766, 186388161, 128, 4085670367, 3130913281, 329912500, 3656839602, 128, 2438457373, 734998871, 3433660265, 1695160792, 0, 2304201881, 1766559225, 3338573260, 2645579858, 128, 518359290, 2256685468, 561945725, 1700151575, 0, 1848330947, 2913067628, 3597235147, 2006242419, 0, 840307563, 1834848768, 2220243517, 1935369168, 128, 835673278, 742654860, 3133765397, 404135287, 128, 4197316892, 419340773, 2344083871, 1822959270, 128, 648322325, 816190481, 1909868544, 2332973200, 128, 1535620568, 879500302, 3897197310, 883192375, 128, 3250288151, 1583539732, 1940291336, 1124403251, 0, 1417116749, 2814248311, 1126309097, 2826973690, 0, 2375389561, 252080170, 4066001200, 198971021, 0, 2701564337, 2317208555, 3061570845, 2309219860, 0, 1976583180, 4013370874, 244961020, 4230607294, 0, 396522082, 3313008292, 297910043, 328064434, 0, 2853073384, 1929090453, 520696915, 794271436, 0, 3502510460, 93020305, 3662056924, 1808118559, 0, 2499195852, 4252286172, 3085681644, 1437983704, 128, 3079965090, 3368510260, 1115715086, 3396254464, 128, 2924309565, 3646852490, 29272309, 2744678039, 0, 1824888130, 4273201760, 850218006, 937482785, 128, 4048700443, 1257309667, 3622484259, 1870187062, 0, 1231602199, 3522517552, 3059053048, 3935909895, 0, 1204789937, 3168617878, 2833602811, 2623526410, 128, 1027778298, 3147507139, 3773297795, 2144131365, 128, 2135675671, 4082049722, 1275693744, 3521157403, 0, 3346470562, 2827013827, 262960816, 3259498881, 0, 3693549231, 3813769578, 307919927, 3673640270, 0, 583392551, 3558180000, 1601257628, 521785942, 0, 1778240385, 2537632525, 1069123596, 1331384861, 128, 2241821491, 3096187538, 1348558450, 637594475, 128, 1053329561, 670773076, 395626544, 1241211269, 0, 4064277655, 2215804752, 2091834912, 2042459631, 128, 3590719524, 83326264, 4060025605, 886652576, 0, 1904670291, 1448946715, 1367547801, 226347356, 0, 966914204, 1309148564, 519343317, 563192876, 128, 1803639733, 3267901519, 500294760, 4206299159, 128, 1590563944, 2851610721, 3889398068, 1726602362, 128, 1725458685, 585410743, 322724341, 2699341174, 128, 1569493742, 834442307, 3878997203, 2223133848, 128, 2228121381, 3551239027, 650298578, 905824374, 128, 2119338053, 2800344505, 759345350, 597083168, 0, 2206606486, 2224695300, 3101959129, 2966762112, 128, 1935995696, 3004524021, 2031616870, 2512028058, 0, 1903388360, 1426847210, 3039870609, 2201926557, 0, 2186108264, 1155140446, 1090425753, 1389923250, 128, 1148802626, 1041495378, 619177990, 3859721666, 0, 164988911, 3856158026, 4138399723, 61808647, 0, 3684128112, 3304164661, 3425627462, 971931821, 0, 1783476541, 1889733992, 1685408477, 2357777315, 0, 371517086, 3706657324, 600774703, 1872222339, 0, 555558636, 3997333212, 1027937983, 785498034, 0, 1156194146, 2331685747, 408091614, 3627778010, 0, 3273234263, 4225160669, 3001521788, 2419885318, 0, 1623748816, 3582820844, 2822375146, 475642436, 0, 2403286877, 3295927792, 2672219649, 4044388531, 0, 4124569259, 3750936305, 1807612316, 783498222, 128, 2857124493, 4047404723, 1654766549, 3872266198, 128, 3401152565, 1516772698, 2332716282, 1781180161, 0, 4206539103, 2473186603, 1708367556, 201588188, 128, 1298854514, 1458254364, 1417807153, 2585596915, 128, 3760712241, 3415306694, 716808977, 3878793422, 128, 2755508387, 1414349915, 311623928, 1051410944, 0, 578152060, 142063270, 2236765070, 884979833, 0, 2239335427, 147269475, 2259346806, 1064088009, 0, 707194019, 3572491984, 881160747, 2165318085, 128, 3009945031, 3940594575, 245245724, 1474846394, 128, 1402036921, 2119413052, 3413057983, 2105987010, 128, 2302737175, 1440134362, 3879528588, 2652377020, 128, 1999271672, 2483923161, 892346647, 988182526, 128, 2526243505, 242380372, 820671751, 1360161460, 0, 3218626352, 3908677417, 762354389, 739419046, 0, 438358365, 2612890042, 1206818859, 1685704403, 128, 3464848083, 3300156436, 1674112220, 2270838621, 0, 1325783106, 2802827397, 3536323069, 4182442000, 0, 170579601, 630282714, 810502141, 4232161695, 0, 871293976, 3461770039, 4092631493, 3460373951, 0, 2521207572, 2335347381, 2359200970, 197774847, 0, 2658429783, 3669832576, 499103796, 681146729, 128, 3912801749, 2167461515, 1595985896, 3983018272, 128, 205205050, 1000110959, 3508355532, 788515715, 0, 2621373211, 4036173054, 1750622567, 994201994, 128, 2774157696, 2843979968, 1052531575, 1317717319, 128, 1204976218, 1925936528, 1325204283, 3989964094, 128, 4265288156, 745220043, 2230363859, 925179930, 0, 1915984389, 3218283678, 2218185487, 2180312048, 0, 1246989506, 630193216, 2370933069, 152111007, 0, 2740999655, 3392737558, 4219367795, 170450752, 128, 264420262, 338381710, 3157856120, 2944395874, 128, 1023385778, 859145614, 63738696, 2949363431, 128, 1375137916, 3284343625, 166184708, 4135397363, 0, 114464076, 3889621389, 3319522034, 2031140744, 128, 1188866490, 248920832, 4165475903, 2914015253, 0, 3125515722, 2715708273, 3763029275, 3464579130, 0, 139669191, 2571287013, 71772949, 3163383438, 0, 1129862978, 2975772410, 3076596052, 3780514268, 0, 3454255657, 1829520232, 4207961549, 753919700, 0, 3973067701, 3772311798, 2310199628, 1003027472, 128, 2992688217, 717610414, 742747868, 3359710695, 0, 412685753, 2820928019, 1153426972, 2570713663, 0, 2780378261, 3787972503, 2788337962, 2099232845, 128, 165706318, 2594872709, 4078695791, 213100653, 128, 1772678638, 1763179718, 2941707249, 3741992289, 128, 3242763216, 79201124, 241252595, 72250898, 128, 2950539029, 1487209387, 847829980, 3615080410, 128, 382484746, 2829799833, 3109021595, 1280493387, 128, 2400731013, 4204310529, 1868300077, 3044862183, 128, 1817811036, 1822210714, 584938846, 3700772810, 0, 2620338836, 503058452, 2421701648, 616437579, 128, 519194513, 3742088968, 1625713083, 1221158411, 128, 442229523, 4206311931, 1835660396, 1899421544, 0, 4109842962, 430328454, 3287737891, 1442229730, 0, 4092022545, 4121128903, 2056110002, 1392556062, 0, 1205288661, 1405363131, 4229532495, 1194243542, 128, 1754660887, 3077575361, 1278007219, 452734292, 0, 1239427110, 3804894117, 1604263268, 624200175, 0, 574473916, 3460069277, 1103719515, 688858521, 0, 3145513594, 3870572132, 2758739416, 4038970351, 128, 2679060292, 1249757894, 1453952072, 4170831693, 0, 1639917359, 2994721773, 3991698814, 626039259, 0, 1562630430, 417374505, 1267456863, 742664318, 0, 4184538747, 674871974, 771126251, 4226939034, 0, 2546295242, 2700215699, 2111062723, 2042001371, 0, 760878921, 959899817, 2586615215, 1740142397, 128, 2714732182, 3276902983, 3153918658, 1288318579, 128, 117544660, 3036008660, 2799738708, 3358264392, 128, 783290210, 174369220, 38838547, 2535617203, 0, 520992463, 2027884489, 1237476987, 3310911651, 0 }; private static readonly uint[] s_keyMatrices_inv = new uint[645] { 3979185906, 1377602386, 4234791825, 4005618275, 128, 2912193635, 3619394447, 1568146179, 2670834705, 0, 3003910235, 3993521741, 2512826464, 1165813540, 128, 3874138983, 1424308665, 1611377434, 2054097502, 0, 711554735, 2935595229, 3523358872, 1586258615, 0, 1580755839, 2405113366, 3889775863, 2068986705, 128, 571494560, 2585470425, 151500085, 3250110263, 0, 3034284646, 54340107, 2795210329, 3518211340, 0, 3070791167, 782338101, 1369925097, 2925597120, 128, 3111948231, 1216868516, 395952367, 441759060, 0, 2164683811, 371899563, 346623457, 1218006592, 128, 381007073, 1338894649, 487739858, 1520076032, 128, 1793126534, 4198040661, 30455276, 2451026870, 128, 2088818331, 3612182526, 2451010643, 726797673, 0, 779737849, 1022953759, 1515843217, 3522555846, 0, 1346530411, 478600025, 1347848060, 2912240232, 0, 171527941, 1003431296, 3702967847, 3971034482, 0, 1341774856, 3414624286, 581101380, 2040923139, 0, 2757583622, 211655894, 3918842417, 4094271047, 0, 2618536593, 1098949981, 3119495583, 1172162780, 0, 2172663090, 3149814680, 2645354696, 980798600, 0, 1421024029, 3996700846, 2189114740, 1832001495, 0, 2396053061, 2911003539, 2494917275, 38240129, 0, 3910365323, 464027239, 4008913555, 1393978981, 0, 681440801, 2648640248, 1783994985, 1646953913, 0, 535088960, 2712425447, 2530803757, 3482469939, 0, 2433951503, 1430117430, 152185378, 2381084480, 0, 1063104722, 406554298, 3981412012, 2685880166, 0, 1335524599, 4078017907, 3880925862, 4211493516, 0, 2589023189, 2538278701, 772847545, 3919247971, 128, 1074037247, 3891734616, 3859971991, 3677591476, 128, 371664352, 2744228516, 161774600, 1383369403, 0, 4174309345, 2097351291, 143236674, 2468002246, 0, 260619567, 1324716510, 2339023644, 2810062283, 0, 1424240715, 3578685059, 499108241, 1989371204, 128, 856035509, 3547481624, 4057369739, 346905759, 0, 1527788, 179880842, 554519250, 3221671197, 128, 954775639, 408071831, 104735332, 4135441717, 128, 3432163700, 1939304199, 3892244498, 2380149528, 128, 1147776811, 827819794, 3355936403, 1092559722, 128, 2149406041, 4121328242, 2711067770, 408959011, 128, 605534811, 1967412737, 2531193164, 3849371771, 0, 822797811, 3501347140, 560845057, 2030811285, 0, 4131793897, 2959457858, 990684300, 1722612699, 0, 3322163484, 2732767433, 1030003787, 3060779324, 0, 2346297312, 2538894897, 3825179174, 3507102049, 128, 2114730057, 829810284, 724016995, 1472948149, 128, 1018630388, 1240637201, 1125082656, 3378245104, 0, 1527156899, 1157548388, 102900537, 2601623522, 0, 2250115597, 3195391524, 442424722, 1758407466, 128, 3981636383, 3956507885, 3788438414, 1688248835, 0, 3430985764, 1139159474, 1108335108, 3626880606, 0, 342587884, 3634270581, 2409081081, 3602913037, 128, 3535638278, 497065476, 1087988401, 3506539400, 128, 2672486688, 1510950174, 504932277, 3613381263, 0, 2394500495, 3561349285, 4164631237, 3169374553, 0, 3060054126, 2948051784, 3363712305, 763990548, 128, 1498067470, 995161677, 3145634786, 2325306100, 0, 1285438063, 2754477196, 3440893618, 1047562310, 0, 924214004, 4146484102, 2506340109, 1213024887, 128, 2939038957, 2241925153, 3758430468, 3671920350, 128, 3039414360, 3585030263, 3214256524, 587627025, 128, 889787602, 3560779569, 3573156919, 3581775465, 128, 1327055861, 3594010950, 2507189086, 1961285195, 128, 3776364252, 3077703364, 1878190923, 2085420213, 128, 2573296773, 1977385985, 2664360539, 1478408804, 128, 2514539678, 856273947, 3883825983, 2149780215, 0, 4008414840, 751179799, 865229378, 3865803129, 0, 3937700626, 3620765315, 970979610, 50176480, 0, 3479752972, 2386735980, 255202773, 57189627, 128, 2846070263, 1167463859, 1013344963, 4159261921, 128, 907802420, 1480909144, 1077637339, 387101110, 0, 4065843856, 1550582255, 499507361, 3897391758, 0, 3359020412, 18783753, 3428636416, 14514302, 128, 2910964715, 864801671, 321659895, 2429599482, 128, 388587125, 2262942182, 1056862970, 358754796, 0, 1535583326, 2485909934, 3801801448, 4060415473, 0, 1685080943, 1389358265, 3269587177, 1894619759, 0, 2021603884, 1841107226, 4274734127, 527091218, 128, 1622091204, 793613803, 1829131362, 3562892202, 128, 133374558, 4246828481, 2059382798, 4278949579, 128, 3256315183, 1537202286, 1277859464, 486838924, 128, 2721598761, 4264106573, 3090631736, 3841542230, 0, 1353782703, 143570742, 1584646951, 1663918790, 128, 1719875203, 1817893897, 3411576853, 1135836747, 0, 644704118, 4040974095, 1163408476, 2547125197, 128, 2518459700, 2180989040, 2749974950, 2072561704, 0, 121723063, 2032289494, 2800966242, 273711158, 128, 2592424530, 3772691572, 3483693454, 2075888404, 0, 4158360655, 480199204, 2598411841, 4035515418, 128, 515111725, 2735209932, 1227392698, 155424592, 0, 3279099019, 2537584811, 4215221401, 1550384971, 128, 2349448640, 3065042360, 3269001615, 2440534968, 0, 544229053, 777603863, 3046372116, 3342187449, 0, 3383973531, 2794879749, 234703413, 2214987586, 0, 1205521689, 1927968755, 3523759455, 839487126, 128, 1186621444, 3454778584, 4190124308, 493221594, 0, 78584055, 1537773236, 1365951609, 2250660243, 0, 287699193, 1323264232, 4032135035, 879770841, 128, 3405324512, 3778409000, 393395038, 203166916, 128, 3920848357, 1027265361, 1125621425, 3127444387, 0, 2252082613, 168847044, 3923724094, 2192939839, 0, 3447375152, 2414620456, 2673137293, 4257987706, 128, 45701292, 870600435, 774864007, 4093057274, 0, 3311977801, 2954885746, 3888714957, 576591220, 0, 532183502, 3992632580, 2160834049, 4198676651, 128, 271816755, 3307961213, 461073203, 1550610812, 128, 2469767673, 1693687948, 1711523891, 588128911, 0, 1591002515, 2818663344, 1611681329, 2340040573, 128, 1180823518, 73459575, 2020542080, 445382819, 128, 1480820616, 48438726, 1071857628, 2553720976, 0, 3841905855, 2527330337, 1134923074, 3219461026, 128, 3598040482, 2418774966, 1401362760, 3866516975, 128, 3784786193, 829988624, 1462641823, 2911267562, 128, 197593124, 1332627880, 1865367067, 689043403, 0, 1035943024, 1399319424, 2478605460, 2223229589, 0, 743279900, 2034337592, 3585013157, 2240312436, 0, 3020565096, 3303452750, 1106902034, 473415946, 0, 1643752839, 1873246785, 1326588320, 4250444588, 128, 997104991, 3099653323, 2149871979, 2915938026, 0, 2536287021, 3836906695, 2119768161, 73486625, 128, 2695301255, 2986920720, 2300915726, 1450417112, 0, 3663720681, 3684608150, 130220005, 3901019187, 0, 465381139, 660545386, 4080706407, 3031522001, 128, 1364575240, 3755316040, 856249144, 228884305, 0, 1011508115, 966327704, 1496979474, 1020840994, 0, 2249621286, 1387621732, 3016696313, 1712305852, 128, 1802666543, 2576323860, 1281893244, 1652118761, 128, 1453436145, 2124818928, 1406235262, 3412660906, 128 }; private static readonly uint[] s_linearMatrices_inv = new uint[2580] { 719188239, 82293865, 2817262900, 3240863733, 0, 2126091993, 411135795, 2157054755, 2321994319, 0, 470821837, 3836137167, 922985079, 1533345910, 128, 806912206, 912656825, 2130223284, 2358384005, 128, 4051775713, 2599924101, 3164556869, 1731281292, 128, 1302308015, 1961693669, 252602649, 3318148273, 0, 1918301616, 1463620085, 3093429539, 1361836179, 0, 4114283030, 3022066277, 3926574633, 176868057, 128, 3565081919, 785400197, 2213905578, 313422119, 0, 1467368622, 3691821319, 337553827, 1345537720, 0, 846856634, 806312255, 2948070753, 2864331646, 0, 2885628453, 1222484387, 3835541136, 1269278322, 0, 3153379340, 3098086483, 1148587727, 2764876098, 128, 2120366933, 3709753119, 3598699470, 1859669915, 128, 2087559347, 150523733, 834378745, 2447153610, 0, 165057980, 251614332, 38075215, 1021367983, 128, 2554674280, 3648063, 1816732530, 3918329154, 0, 1355530044, 97862306, 2378263851, 2822230815, 0, 2884776548, 2999230847, 44213625, 1991543517, 128, 2831696944, 774562471, 892221271, 695192239, 128, 2688202164, 99113631, 3046015457, 3487766453, 128, 1182290732, 38717769, 3935181722, 3316189298, 0, 1542614604, 1291800500, 1049010918, 3737998935, 128, 3205412937, 1822457961, 383747826, 555902463, 128, 663588857, 2832829012, 2590137180, 384563816, 128, 58271976, 2338957199, 4161291110, 371068434, 128, 2833899664, 4144335189, 2675034112, 33676436, 128, 3708793108, 349918200, 3750620971, 3502200946, 128, 425236904, 2985651041, 2954130489, 1611507943, 0, 151198427, 2263695103, 3406315638, 3161642047, 128, 700928318, 2793030475, 3026643669, 1452572108, 128, 3781427804, 414443811, 244813547, 898921100, 0, 771708962, 744826263, 689218106, 4243670687, 0, 679929004, 349482547, 536597967, 1595296603, 0, 600737905, 659329271, 3448909766, 578548855, 128, 1140734281, 2334997182, 3646610035, 1714024033, 0, 219554386, 2111237757, 2055014065, 2375729903, 128, 1288317555, 1919636762, 1510765604, 2743138874, 0, 27935798, 1516128508, 2537277260, 3609594821, 0, 2493659615, 3110377181, 3116227461, 1922636838, 0, 2268971494, 1985076468, 2044765893, 618135864, 128, 1584608822, 1786638970, 3358060011, 3480478402, 128, 1814920778, 806975358, 2849901624, 1190899901, 0, 589512289, 4033723371, 4056174096, 1842224461, 0, 1150104105, 282308215, 630746747, 1601541243, 0, 2954206322, 1352237772, 3776334940, 3260875671, 0, 3031544629, 2148539685, 1446782067, 561165411, 128, 4058315367, 3077114777, 3214557539, 3109034990, 128, 2075407923, 3302771018, 834981184, 1861725719, 0, 3933913186, 665792463, 1822779421, 3974030284, 0, 1224853613, 48519162, 1243527393, 3541562374, 128, 3511367807, 1169811942, 2022841747, 1155765198, 0, 1535961096, 1571174307, 3806241735, 2852295721, 128, 136973382, 3638879938, 3811968560, 565050338, 0, 3749305169, 2407179848, 994116904, 388143193, 0, 1432252958, 2804048307, 2652583127, 3543344923, 0, 1996546247, 792413688, 1856340830, 3472641789, 0, 519782539, 698768868, 1366397849, 3462072132, 0, 3914002976, 2814079687, 1320968534, 458942850, 0, 1420313010, 1530652130, 2793789588, 2047883870, 128, 3592384883, 2789557186, 4175233266, 2826413984, 128, 2084329053, 3227024484, 3770893568, 3734504746, 128, 2321277218, 942236205, 1345224099, 3752695683, 0, 1066243465, 2684594568, 235488147, 738610644, 0, 743349485, 4001740595, 2953294418, 3459279929, 128, 2081805162, 3561813270, 741132981, 3370921243, 0, 2580417354, 385856357, 102533789, 3104009006, 128, 177524267, 4147937763, 534593769, 4148023727, 0, 3945437651, 2145816032, 707672103, 3582843481, 128, 677914391, 3172636540, 2179402867, 1965163973, 0, 4162014949, 4001434160, 1954945775, 1943910398, 128, 2487874332, 36248565, 4044181186, 1894612787, 0, 525071096, 1526933313, 2252129104, 1317966677, 0, 3170066735, 2988516684, 1115394078, 317455299, 128, 1449150333, 3582296753, 1320011453, 4062205622, 128, 1309482943, 2935732299, 514377549, 20282060, 0, 1173644917, 3760875321, 3046207362, 4277543151, 128, 1355276410, 1904234798, 3868111338, 2069118906, 0, 833192634, 1163905238, 1985024749, 999261296, 0, 4177197540, 3534982057, 898291585, 481942036, 0, 3210331083, 3301706918, 959298013, 1704664361, 128, 1905065802, 468922750, 1545115693, 827320252, 128, 2062484034, 1051443683, 746657524, 3043431545, 0, 876615376, 1937812027, 2352402430, 1412000269, 0, 2075690074, 723231961, 1192257148, 976294558, 0, 1663046884, 546746193, 2552456362, 3224835967, 0, 1621261727, 649275138, 545807597, 594843582, 0, 4058001490, 1369940669, 3069503234, 1197632854, 128, 2959277239, 1460606492, 2865158839, 2643320541, 128, 3684108363, 4252991768, 121950017, 4226602034, 0, 712387676, 1592006133, 3440443179, 691164452, 128, 3711930941, 2427078559, 3288399425, 4057941295, 0, 2434145240, 3347447620, 2258817918, 2790534012, 0, 734130990, 623099789, 1494773707, 2636966113, 0, 2157387939, 3005868124, 4162781245, 3964740002, 128, 622234823, 3949053709, 788959483, 1696537165, 128, 1404476918, 3331067349, 963640507, 4021113816, 128, 1287129865, 1767116135, 3047712682, 575210878, 0, 2404641585, 4058119920, 3775226269, 2839517278, 128, 2839030499, 2931342308, 3277107830, 2400091163, 128, 2993552120, 642167761, 3728139482, 686341316, 128, 3707716823, 2569193990, 1142306896, 1531267707, 0, 4246815941, 3747604978, 1250326051, 2164036836, 0, 963960682, 733923084, 2664953107, 682307279, 128, 838693348, 1317735115, 2158009202, 3417348973, 0, 2976566545, 1484219993, 2104333471, 3744085412, 0, 987568417, 639366523, 2238746732, 2354443422, 0, 865233780, 3721643560, 2163572744, 1229496351, 0, 428388433, 1839942815, 2792979723, 545198399, 128, 3980416484, 2657054413, 4131995705, 304436902, 128, 3958606906, 614236292, 3313179321, 442340557, 0, 4024974500, 301963401, 1479226246, 2239747807, 0, 3724734198, 1425690866, 561972694, 315673068, 128, 2223682758, 2320112557, 2272517629, 568812601, 128, 4074855141, 3045111539, 3529397579, 1286075430, 128, 2370546764, 1715205803, 1074369743, 2148013660, 0, 3939189999, 1967514381, 87113324, 2704003336, 0, 1552687117, 1531903969, 3978679729, 3940125612, 0, 139015755, 2801263047, 1259042704, 3927356923, 128, 2342889709, 2380466613, 3417756323, 2976528735, 0, 1630870810, 3999770222, 3350520838, 2558040368, 0, 460937958, 3828565158, 3120929287, 266970062, 0, 3603866482, 3259965670, 1080890635, 364460244, 128, 3480532719, 2604393393, 3444937138, 1805155223, 128, 1770142477, 127208698, 1809649802, 671683363, 128, 4288853086, 2801340891, 1990219303, 1098053672, 128, 1210591629, 4277810878, 1713564436, 3376253283, 128, 932074638, 3056214583, 2666292591, 3129997177, 128, 3484440075, 1608246599, 4256203159, 2744836331, 0, 3134321007, 775717175, 2913472264, 2140347065, 128, 354923948, 1565696461, 3976919415, 4058717138, 0, 3595862912, 3317344637, 975680070, 157624282, 0, 3665055539, 1790244031, 273868168, 1414597997, 128, 2441501943, 3759338137, 914480171, 3556554840, 128, 1182585271, 2362840401, 2601518192, 1877234889, 0, 2491194474, 2094882218, 2986347809, 1477581639, 0, 2002177443, 188025449, 2894545203, 3017666414, 128, 851182639, 2370841043, 3047532188, 257690443, 0, 3001108183, 1540283006, 1113183683, 2958023328, 0, 2547857754, 3827248852, 524147304, 1753633839, 0, 1434074916, 1680754521, 2683654816, 216071425, 0, 2179384941, 2770198046, 835445161, 2612978368, 0, 1537656463, 1246270535, 1105875427, 1502594152, 128, 3361410645, 434435190, 2793634498, 2385481737, 0, 296369424, 3660505323, 1426572080, 588516797, 128, 3754523411, 867206386, 3936128942, 1087619131, 0, 1879967854, 2831905745, 2408222944, 413610032, 0, 1767664887, 2078574343, 754732824, 3569775172, 128, 2229659662, 2841585007, 3889988269, 3166394661, 0, 4147355813, 658156937, 2728656551, 4260216920, 128, 1211672065, 973112584, 4236613087, 3380860503, 0, 1552669685, 4012094248, 3030433554, 329286781, 128, 1867003640, 150947912, 3195721977, 154998145, 0, 2767601089, 1259269464, 3962894153, 61301210, 0, 3987372671, 3503604246, 3389134251, 978315167, 0, 1100058626, 3030970829, 773883363, 225798256, 128, 3662461814, 4248404928, 2357462190, 919086474, 128, 4202801583, 4205923674, 2018117524, 1669321202, 0, 1921538930, 1776128973, 662781150, 1857820626, 128, 2227581983, 1473202935, 3520541882, 424539160, 128, 2715324003, 1900379299, 3738373033, 787814254, 0, 158830440, 1566212374, 2188457985, 3487738433, 0, 1588243485, 223992548, 2566477088, 1454164602, 0, 3068253458, 459837390, 1429548243, 4109658715, 0, 1654267015, 2101418757, 2648395532, 3275360127, 0, 508856667, 2497464109, 824620951, 2628626354, 128, 1691486792, 637736013, 3238364961, 894092800, 128, 3441512648, 2372369555, 563236346, 3397086723, 0, 2179550285, 1713879451, 3809327852, 3429222105, 128, 214770114, 3929704278, 2656645250, 2802758054, 128, 1142415967, 2995225475, 2734989626, 2607479216, 0, 947573553, 3417902555, 189437323, 1498647086, 128, 2290375462, 2854259529, 2947211257, 2541656175, 128, 230611547, 1224164078, 1329421338, 2664683218, 128, 3311973068, 571384745, 1890006601, 72788361, 0, 2408312657, 477174419, 2727739928, 923966647, 128, 3006115, 2746187127, 1905170387, 1262998958, 128, 1186299373, 1686963275, 3433417795, 3316361044, 0, 1714566445, 2720029801, 611280833, 2107591278, 0, 3867487855, 1635791085, 1553077707, 2741709380, 128, 2487954700, 3866080978, 3314712028, 3933915828, 128, 741220607, 1293263518, 1913038639, 3541673993, 128, 1196233757, 2509229794, 406719829, 2274834240, 128, 1703491677, 975744883, 3714084475, 1777166581, 0, 1374987273, 3121701505, 3818087588, 3192800385, 0, 1631819205, 1249472321, 1406390273, 317247602, 0, 3818169521, 48021813, 1050519005, 2782998800, 128, 849980719, 1153585093, 64323534, 3631589688, 0, 2364500336, 19415786, 1222242063, 1813623240, 128, 3787135943, 3269133830, 1784442822, 1996355634, 128, 2733072723, 2443775489, 2996428233, 3437782622, 0, 3034527264, 177088052, 1547359691, 2302895773, 128, 1166272057, 3953230399, 985247991, 1927340859, 128, 1214936289, 3115349925, 97564705, 129254536, 128, 4049210305, 2801807493, 1566125466, 2334711412, 128, 482755295, 3557323663, 3812797199, 3201610282, 128, 360969898, 3763819842, 244206419, 4284376074, 0, 3370981701, 1308996194, 1092936294, 48715922, 0, 2541333079, 1368415630, 612226540, 927287654, 0, 3856920267, 2995191588, 2416583949, 3283389125, 128, 1877812629, 3021572287, 2429780021, 961519030, 128, 2448311071, 1867325733, 1345198439, 343461587, 128, 2023281191, 1955577507, 316378284, 3050587531, 0, 2486144734, 1716219154, 113449765, 582805958, 0, 3988380338, 2734885689, 1303436079, 2599433011, 128, 584425996, 619709783, 3462231, 775165343, 0, 2480159487, 302622638, 2130846378, 2992343149, 0, 609933581, 1656078770, 2931955147, 1514331995, 0, 4057771025, 4061042788, 1380732157, 721805485, 0, 1491664330, 2351947848, 2219830329, 185690899, 128, 1716771256, 1668510183, 3975391921, 4247866976, 0, 392105167, 1508891901, 2297599095, 1761898675, 0, 4076655870, 1281803428, 3268608529, 3764565662, 0, 1259728237, 309741231, 1367094757, 4039455235, 0, 2981556195, 1038595207, 838859693, 2080625796, 128, 431934393, 3510428914, 2324800269, 93683075, 128, 831340711, 4042356840, 2330340835, 2527080002, 128, 268864844, 2804249795, 2090388034, 1330062062, 0, 1015390729, 3509014404, 843307115, 1412705441, 0, 1964675588, 1131482944, 2407389994, 1279757571, 128, 2013972185, 2133047581, 4086485912, 1603071346, 128, 3584206967, 3306556365, 1567180564, 2346790650, 128, 3827020694, 2018186920, 2771932747, 2410117685, 0, 835476217, 669407686, 731356625, 510102835, 128, 1744387746, 446313600, 3832898641, 625941716, 128, 2403732795, 525877154, 3982474125, 3752479422, 128, 4190694406, 4100415380, 1337724485, 11731978, 0, 1757207544, 721357196, 642630224, 947771073, 0, 741768922, 2097242929, 4067120531, 682258006, 128, 3513844524, 2264073999, 2537805906, 2289392893, 0, 323483892, 3646583941, 1074886114, 1776572869, 0, 19296277, 2718699100, 583694857, 858442766, 128, 576095235, 402044153, 143161326, 495453153, 128, 3226035208, 3834475712, 2615775777, 2026530768, 0, 1060489047, 1916500095, 3556563945, 102168260, 128, 2688057045, 3186192690, 2937860773, 1605962970, 0, 2160313493, 878904496, 544728025, 3428649239, 128, 1385317746, 813415607, 3256359395, 1885421122, 128, 1222980126, 1093692243, 1007422377, 280533909, 0, 832160303, 2200271988, 3072362001, 1253003954, 128, 415117760, 4128427355, 289213936, 1536573324, 0, 759709388, 2767413180, 2239857785, 382524523, 128, 3163844479, 4201986864, 2413368464, 2028575714, 0, 1729053304, 2035235682, 2026894250, 1935703141, 128, 960788122, 4221129835, 2075546711, 2227074935, 128, 3079751671, 113836737, 4085503462, 2149388491, 0, 2071500483, 3871504130, 2174464515, 4290430938, 128, 382678242, 354501994, 2383262656, 944342673, 128, 3812854460, 1322549022, 2563175380, 204375306, 0, 3363792761, 2811843602, 3376293249, 3367969378, 0, 320986337, 2967231546, 1501202242, 620244808, 0, 4194683891, 423956600, 19533780, 820150209, 0, 3783172819, 1946361096, 1782248405, 1358281156, 128, 1873273647, 3187517872, 2176161444, 1377541244, 0, 3718720193, 2331492782, 2016625714, 3635303914, 128, 1318120212, 58307487, 3497537299, 4017849239, 0, 3824974598, 2317360686, 405159381, 3333434601, 0, 2907072572, 4119713331, 1245194528, 3973314620, 0, 3568194052, 4293672924, 357718848, 3912874827, 128, 4045630021, 984671545, 4118435196, 1982714920, 0, 153705716, 587569847, 1923853307, 3852673756, 128, 271068520, 4031169017, 248419069, 2715766801, 128, 2779962869, 1466806165, 307048960, 2961719202, 128, 563580220, 1584394963, 2652121945, 443276078, 128, 3458602912, 1068422574, 3794079582, 894619643, 0, 2869760605, 418500302, 3469254533, 2689587414, 0, 2701693366, 4017594898, 3167888285, 3603183109, 128, 449545362, 1906775931, 3590853756, 3439136093, 0, 985576561, 1244198117, 1838738960, 876472848, 0, 2213685396, 1260834750, 977085600, 1640469638, 128, 1199433181, 1197817705, 1721866740, 1803070628, 128, 708534466, 2328813080, 37634540, 1990168036, 0, 73226510, 276428904, 4238043861, 1091952860, 0, 3481035764, 2024246942, 2053811349, 1605500254, 128, 545849494, 375416058, 1491220705, 2195204570, 0, 3487171788, 1096606779, 1740751840, 2542310453, 128, 1708922150, 1114508174, 2032748095, 2794220224, 0, 1457924864, 3939786477, 1804840649, 4027375975, 0, 3187995784, 3098784291, 2926216770, 3322409015, 0, 4037000745, 3892482303, 66709718, 4102802669, 0, 4144782721, 2018472675, 92490164, 636715117, 128, 1373165418, 130764233, 1381849461, 2024726282, 0, 195376607, 2706898456, 3836774871, 3856253329, 128, 2312017876, 1854203980, 4096916319, 2650469030, 0, 202346031, 753029711, 1563443833, 2973282285, 0, 3901532682, 3611368528, 3650134342, 3879416530, 128, 4178189982, 3007914903, 1994510517, 3628081601, 0, 548083652, 4083165506, 4243181875, 2731939655, 0, 3302240685, 2712354728, 317111886, 3844497417, 128, 3583415904, 2246543806, 1669022928, 2289965731, 0, 987502662, 3027516458, 2316940775, 3444614368, 0, 2566669241, 3315525639, 2344109914, 1921292405, 128, 3409723312, 2277954789, 1926373829, 2569157539, 128, 480196317, 2911568210, 1006022949, 3743836486, 128, 434032834, 2958262182, 3478349673, 148516925, 0, 1761778299, 1688125759, 3926105958, 3603807830, 128, 771239927, 1244058589, 159541672, 2777529909, 0, 1217216621, 2499623282, 573293249, 393151907, 0, 1956190260, 1441195647, 1108057665, 2198758141, 0, 465931943, 321510980, 2348271317, 1424870554, 128, 2298645285, 4067286905, 3842253741, 402935522, 128, 3378127985, 4123388251, 4073985522, 1745115829, 0, 1394012068, 1363647167, 1354742296, 938021465, 0, 4276665116, 2612085150, 1555076029, 2619225804, 0, 3616006692, 1447909584, 2037849736, 1862331874, 128, 1728148256, 3795006884, 2745904930, 219393954, 128, 104704428, 2909951641, 3972176881, 553533920, 128, 3894665478, 2773789758, 2011844541, 347345888, 128, 3176996434, 3680504267, 1462534316, 1816097724, 0, 3947151271, 1391118569, 1998233149, 2149898959, 128, 1368396627, 1833516635, 1228146587, 2768768179, 0, 244007523, 3264978847, 2596180585, 1375948370, 0, 2678880845, 3872461625, 2072426475, 3086346664, 0, 1781346791, 2325057656, 4067766901, 4210686838, 128, 4060147077, 1699092115, 3722048609, 689355265, 128, 2906569814, 3815560987, 331796612, 2302292530, 128, 1608876802, 2450379721, 1476336825, 4096119949, 128, 921261598, 1731999019, 1152774006, 1763189094, 0, 3132224242, 630825298, 1405786906, 356761338, 0, 3290358194, 2016488307, 3300865173, 2431555194, 0, 3286811577, 2276773333, 3406180367, 4261831268, 128, 2905504160, 901266497, 1663935602, 2450221627, 0, 4194539661, 98842940, 484960560, 339662150, 0, 2192568600, 2445852325, 3067503301, 2749381887, 128, 1529127257, 3562582177, 323798967, 901651294, 128, 1925490682, 3768037566, 1376968366, 2168486196, 128, 3101220972, 2583669347, 123780693, 3898733988, 0, 2364651355, 1380929257, 3004666873, 928224466, 128, 240444844, 3677960694, 2518142314, 1665456265, 0, 299208695, 32643355, 56928200, 365793038, 128, 2977060809, 3858914690, 3197433808, 3731258196, 128, 781374234, 338922496, 478246920, 9559007, 0, 3647352258, 2283888078, 2023857806, 2039622452, 0, 1827482708, 2326129577, 3637628511, 382939957, 0, 2703784750, 4006058604, 3972769003, 1547759456, 128, 420745230, 3074396045, 2023798673, 1720961973, 0, 1240426231, 1605600184, 265853409, 2077673468, 128, 1888788805, 1798787974, 2483612648, 3108786203, 128, 1797432469, 1350470335, 1324724947, 2146964044, 0, 1423748968, 3515482010, 2367138497, 157155436, 0, 2762825476, 615591831, 226691580, 3447138761, 0, 3894838964, 4057686628, 4060126837, 2831048749, 0, 1417791589, 1383787911, 1521483962, 1991104917, 128, 2650887789, 1802973635, 1564207300, 2996241369, 128, 2395696554, 4190581558, 1621755598, 399290077, 0, 472320438, 3426660830, 3696303354, 1441500618, 128, 2466536440, 1285042704, 686679366, 1644895264, 128, 1784608905, 626819180, 337979112, 1127336499, 128, 3105653951, 2617702475, 1621019465, 254693786, 128, 2301261294, 397759994, 3174267057, 2715272674, 0, 2725562817, 401264562, 2140347820, 2574342866, 128, 304018320, 1153676636, 3852595886, 3191711720, 128, 3311720019, 2244535199, 3170414223, 2371941822, 128, 4188441513, 554802596, 398839140, 3857165776, 128, 2641719819, 2258049577, 223355025, 3364067001, 128, 648904506, 3354881845, 4055779735, 3961753462, 128, 462814062, 3580255769, 141379101, 2267430943, 0, 146151237, 3250711136, 4292152001, 1801855015, 128, 3951943844, 3939263641, 52375629, 1138218388, 128, 1283514644, 4123832805, 1785807157, 1397197099, 128, 2806943341, 3313909559, 3257912326, 3708473260, 128, 3569103125, 3704391214, 1640236031, 3676319576, 128, 2685020542, 423113936, 2319054967, 3399234614, 128, 2720025933, 2403421845, 2805435890, 3493812275, 128, 2967728060, 536983632, 688444661, 3031036896, 128, 2891973788, 3349411128, 3418703999, 2050283311, 0, 2644338697, 957709938, 1407829171, 3385426278, 0, 86489385, 1409535078, 2888441963, 3725884587, 0, 4292946013, 1162892134, 2336221006, 1121700432, 0, 2425571817, 1539848703, 1405189997, 3047060502, 128, 2796994120, 3468581147, 3084828986, 2311825334, 128, 907370508, 1231953687, 68779119, 2089291218, 0, 2737282204, 3732959733, 1542533904, 3470557873, 128, 2217498673, 1796504809, 2768469328, 1031825951, 128, 2445182597, 3240113540, 2245188682, 719972093, 128, 1199597400, 172247947, 522771831, 308809337, 0, 2302770212, 3623751657, 1273071786, 1842821327, 128, 1989357506, 721581289, 3561755124, 3100784787, 0, 2630896729, 311779686, 1026547103, 3753343453, 128, 2112685939, 2842302727, 2989647281, 2313476679, 0, 1566482815, 2381426435, 2255805340, 734958537, 0, 3751261288, 3645872988, 3875899477, 1013853708, 128, 2113081508, 3222315172, 889950898, 1612249134, 128, 2983235224, 2158679617, 3574267757, 1911337190, 0, 3297231590, 3710221866, 2632394595, 2733332783, 0, 4017002072, 3499349571, 111605078, 2434709300, 0, 2879794075, 991236297, 3257938889, 3751041562, 128, 8730002, 3982065656, 2757189049, 3826919368, 0, 2758397920, 1949071184, 2383547532, 3553004542, 0, 2322649208, 2242298506, 2051379846, 2265229583, 128, 3250056629, 1928560887, 1951909141, 2823988126, 128, 3129507496, 3502850498, 928437721, 1777097613, 128, 1155611077, 411172001, 2929494512, 1239941689, 128, 2425756139, 1341889715, 901867694, 563732209, 0, 2984076603, 2656960977, 790885313, 2142263025, 0, 1752233308, 299338708, 2918797515, 574388509, 0, 2276164683, 1264312175, 2808109953, 4138955175, 0, 3296715341, 4002200745, 3382753319, 2408475643, 0, 367856931, 2201696512, 3129194456, 3645271066, 128, 3038473572, 2042773858, 3011345905, 1311766305, 0, 1329125026, 1619898593, 2773800934, 1319198218, 0, 782075202, 4201587674, 2466534742, 1426350697, 0, 1537852648, 1264614279, 2328891108, 2695376539, 128, 4168734638, 2804248497, 4172808992, 1291180770, 128, 2018492005, 679677204, 746064805, 2767080124, 0, 3062011493, 4132817877, 1862770901, 3742526883, 128, 4269980668, 4183221664, 498268949, 3975330905, 128, 3598010287, 2144943826, 2370167714, 2467020910, 0, 2926980086, 3163816897, 3814358699, 3364615113, 0, 3125944903, 2071541272, 2190942513, 691959209, 0, 3727663182, 3045975943, 2165089624, 1782940662, 0, 2369009587, 3533856709, 146304516, 1878564049, 0, 3315582551, 866745805, 2253746226, 3071008110, 128, 623088833, 41281288, 3927944469, 4111034015, 0, 1885329229, 2937613074, 1732521957, 4256457412, 0, 3818477641, 592062937, 2990829317, 1291300618, 128, 3002834080, 1058217057, 1334953162, 3221914858, 128, 2693455466, 2833287831, 1625706194, 2245743141, 128, 3217238428, 222779440, 2862741266, 1163719956, 128, 3346245444, 395415328, 2886059925, 3633670489, 0, 3521571548, 638552592, 452311830, 3223453864, 128, 1165090053, 867607403, 244196313, 737187643, 128, 2502401497, 598407103, 1529871027, 2547938296, 0, 3642902565, 2088391640, 2602949002, 3135704020, 0, 1042342229, 1010830322, 4037917716, 1825736564, 128, 402186093, 1949786224, 1502020571, 454135793, 128, 636302948, 4144590041, 3778400477, 1090076920, 128, 3630984380, 118764736, 3025768180, 388390494, 128, 2464616293, 417025369, 1691725511, 1098104215, 128, 1981197530, 3631247250, 1279464511, 3941250220, 128, 3666530540, 2628251283, 2298247209, 583951628, 0, 1423577808, 3135136506, 1021702678, 3617492599, 0, 3881272692, 1070101545, 2687739693, 937812311, 128, 3550410415, 1997603541, 1273128100, 436699131, 128, 299079213, 2784085276, 2311737177, 3783431321, 128, 3112658521, 3494109829, 2654806496, 2196034907, 128, 2513774656, 790030806, 3778462017, 1226438645, 128, 3527771752, 478294064, 883447589, 1647560434, 0, 1511755896, 2068723804, 2580633705, 1970774610, 128, 1786062598, 3228523974, 884957355, 4194948387, 128, 548664560, 1729423454, 2535953455, 76128375, 128, 1084916770, 3278602321, 1037261377, 2751794513, 128, 3174309454, 3400295393, 873118599, 3607050574, 0, 3980591822, 3090314352, 2656154793, 3619033817, 0, 1502527141, 3618329803, 991698880, 1063773194, 0, 217922523, 4040146314, 2036249019, 3206909789, 0, 1159302097, 3775186320, 4142967102, 949011354, 0, 120103252, 3531385252, 3479675657, 1391630184, 0, 2563797927, 1732628342, 1891626456, 2416830245, 128, 3715648825, 2006801802, 3378024734, 125102680, 128, 3041429194, 2071745446, 2510555296, 3365372831, 0, 4122187244, 2150019522, 2012669491, 1592678451, 128, 3399394332, 3261290913, 408221671, 469385403, 128, 3474570652, 1421486841, 3876190456, 303987642, 0, 1380067857, 716372757, 377400234, 2748209044, 128, 478604421, 2008967507, 2067276475, 1005538194, 0, 3262962055, 1728160164, 578741355, 1559225403, 128, 257474315, 1999178329, 2711225946, 1103686634, 128, 372352052, 810174877, 2575402621, 2857931034, 128, 2166643314, 1517502170, 3363060076, 3753555055, 128, 99660713, 1146221863, 688625771, 792750318, 0, 2281134850, 590353658, 852681932, 4024387764, 0, 3463075318, 1797253538, 2558712694, 3537664131, 0, 2839769358, 448947788, 1876516569, 726656542, 0, 1931911261, 4213719266, 6200259, 1958633716, 0, 3718774946, 2330358101, 2194702683, 3690646316, 128, 4246634377, 200683217, 1528899120, 255541483, 128, 1598386158, 714662380, 1023800873, 2456680656, 128, 2048969006, 2517489275, 457745709, 3648170833, 0, 1875217461, 1488587034, 771454037, 2686317636, 128, 2875156050, 3980108990, 1635283360, 2663430727, 0, 3480290118, 2132379595, 3948007294, 4059791865, 0, 3741975683, 1374984390, 3622175778, 2451955530, 0, 2910623592, 423841637, 2897112523, 2205701253, 128, 983858509, 3740283964, 1308478737, 2437931491, 128, 4284126081, 2784906213, 523513706, 2159559669, 128, 214214095, 1079279331, 119427894, 267092689, 128, 1970482001, 2479060844, 2409572063, 3990844558, 0, 461358651, 2817131211, 2130661460, 401567315, 0, 1141584853, 2157750223, 2305546961, 729089265, 0, 2153236629, 508225174, 3773893135, 2857526528, 0, 2967894090, 259757357, 2069750419, 2045696427, 0, 2435531578, 3934525846, 1474060370, 4034739366, 128, 2037969606, 3145549190, 2865075706, 2599909289, 128, 1272798916, 1725438250, 623894574, 3438759494, 0, 416249650, 2379436959, 1968389560, 1122864064, 0, 3297818545, 675799266, 3910301348, 1224800670, 0, 2165935596, 1767006518, 2733403046, 166918638, 0, 1469859752, 1640478724, 2999415285, 598184839, 128, 77508447, 1376812707, 2348657541, 404032807, 128, 1637762808, 67807292, 1823175310, 2697712550, 0, 2874786093, 3854855281, 3490304587, 2609488362, 0, 2690201154, 3364200986, 31163191, 184996407, 0, 3265430514, 1931625408, 862724297, 1852695808, 0, 3847436348, 850936203, 2955029612, 210305818, 128, 2291678536, 1841308685, 3714680735, 454780451, 0, 465925426, 3967794036, 428159844, 1127083937, 128, 619739019, 4253900797, 28788123, 785811381, 128, 3154318755, 874553634, 3079677552, 3174714854, 0, 1177549114, 1828424767, 2894458674, 2962080019, 0, 2551771818, 1176665096, 3231478632, 693322898, 128, 3813659829, 2852988137, 422993722, 4143271541, 0, 3126186956, 4162639544, 4117068265, 514646295, 0, 3345746968, 3456545206, 1074327256, 53428193, 0, 3507768057, 864914180, 2473832493, 676112595, 128, 3023479998, 3744632202, 2049949883, 1337742315, 0, 2176329507, 140998722, 813024267, 2822714785, 0, 251433345, 143378702, 1821147286, 1883411486, 128, 3671514915, 1062224314, 1686750830, 3105139922, 128, 110152191, 3884028236, 2520057605, 3371640377, 128, 207447584, 1817856602, 636126758, 823886933, 0, 3175123801, 158254846, 1542042085, 3418566753, 0, 4087806568, 4182234395, 3804989707, 2590461354, 128, 132466329, 3661572068, 3285810243, 2786091144, 0, 615084476, 1350176918, 1880155244, 2292172465, 0, 481865753, 3772242059, 269491087, 1379971502, 128 }; private static readonly uint[] s_roundConstants_full = new uint[20] { 3145550676, 147214645, 182660202, 3278721058, 128, 1548343220, 1870168396, 3927315825, 2591092725, 0, 1994442208, 644624309, 803083610, 2971784867, 128, 2453707837, 3444318692, 3714942281, 1614153454, 128 }; public LowmcConstantsL1() { _LMatrix = new KMatrices(20, 128, 4, s_linearMatrices); _KMatrix = new KMatrices(21, 128, 4, s_keyMatrices); RConstants = new KMatrices(0, 1, 4, s_roundConstants); LMatrix_full = new KMatrices(4, 129, 5, s_linearMatrices_full); LMatrix_inv = new KMatrices(4, 129, 5, s_linearMatrices_inv); KMatrix_full = new KMatrices(5, 129, 5, s_keyMatrices_full); KMatrix_inv = new KMatrices(1, 129, 5, s_keyMatrices_inv); RConstants_full = new KMatrices(4, 1, 5, s_roundConstants_full); } } }