Problem Statement
A subtree of T is any subgraph of T that is a tree. The weight of a subtree is the sum of the weights of its vertices. Let S be the multiset that contains the weights of all nonempty subtrees of T. (In other words, for each subtree of T we calculate its total weight and add the result to S. Note that S may contain some duplicates.)
You are also given an
Please calculate and return the value Hash(S) modulo 1,000,000,007.
Definition
- Class:
- SubtreeSumHash
- Method:
- count
- Parameters:
- int[], int[], int
- Returns:
- int
- Method signature:
- int count(int[] weight, int[] p, int x)
- (be sure your method is public)
Constraints
- weight will contain between 1 and 50 elements, inclusive.
- Each element in weight will be between 1 and 1,000,000,000, inclusive.
- p will contain exactly |weight|-1 elements.
- For each i, 0 <= p[i] <= i.
- x will be between 1 and 1,000,000,000, inclusive.
Examples
{1,2,3}
{0,1}
10
Returns: 1102110
The tree contains the edges 1-0 and 2-1, so it looks like this: 0 - 1 - 2. This tree has 6 subtrees: {0}, {1}, {2}, {0,1}, {1,2}, and {0,1,2}. Their weights are 1, 2, 3, 3, 5, and 6, respectively. Hence, S = {1, 2, 3, 3, 5, 6} and Hash(S) = x^1 + x^2 + 2*x^3 + x^5 + x^6 = 10 + 100 + 2*1000 + 100000 + 1000000 = 1102110.
{123456789,987654321,111111111,999999999}
{0,0,0}
1
Returns: 11
There are 11 subtrees. Their weights do not matter: as x = 1, Hash(S) is simply the number of subtrees.
{10}
{}
10
Returns: 999999937
The answer is 10^10 % (10^9+7).
{3,7,6,8,9,4,2,1,5,6,7,8,9,6,1,2,3,5}
{0,0,0,3,1,1,2,0,0,3,7,8,9,0,0,4,1}
987654321
Returns: 46327623
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
546876
Returns: 215468008
{586367327, 423641709, 498364979, 576229054, 687114666, 53397788, 208547310, 270000160, 164990510, 676867429, 631047960, 225755141, 323792342, 98429752, 861248117, 569402214, 918087636, 727687544, 708206264, 399857334, 759374387, 596325972, 436276618, 740012400, 950325241, 969445704, 88309795, 401602123, 514518502, 846246281, 514958198, 225255989, 199655217, 56506887}
{0, 0, 2, 3, 4, 2, 1, 7, 7, 0, 1, 7, 9, 2, 10, 1, 3, 3, 5, 9, 11, 4, 10, 21, 23, 16, 13, 21, 17, 5, 24, 20, 4}
797108754
Returns: 657139084
{6595, 8199, 4244, 6810, 3551, 4834, 430, 3501, 7139, 7595, 9971, 8502, 8389, 964, 5626, 4897, 7247, 1632, 7738, 395, 4544, 1556, 6164, 7662, 7789, 5977, 3861, 9126, 2201, 9692, 4884, 1596, 2315, 9053, 1698, 2817, 8336, 1902, 7058, 3306, 7651, 1216, 7788, 1170, 9744, 3057, 5424, 2851}
{0, 0, 1, 3, 3, 2, 3, 5, 6, 8, 10, 0, 10, 11, 13, 1, 6, 3, 5, 19, 0, 3, 5, 4, 1, 11, 9, 11, 11, 5, 12, 29, 18, 9, 1, 12, 24, 31, 11, 37, 36, 7, 18, 23, 24, 24, 32}
344
Returns: 785746490
{30326, 41861}
{0}
390651
Returns: 322864383
{764, 616, 891, 589, 198, 691, 102, 417, 598, 417, 611, 322, 412, 376, 612, 163, 869, 312, 854, 868, 34, 337, 551, 395, 691, 131, 835, 632, 641, 855, 507, 839, 923, 189}
{0, 1, 1, 2, 2, 3, 0, 3, 2, 8, 9, 7, 11, 6, 10, 4, 10, 11, 8, 2, 8, 15, 5, 21, 8, 5, 22, 26, 13, 6, 18, 28, 28}
629484
Returns: 360214661
{3380002, 5724184, 777377, 9548349, 9924580, 8217378, 9092705, 6255761, 5707416, 9613545, 9496856, 423969, 7776178, 5943867, 149892, 1713586, 8571407, 8900646, 7346299, 5728102, 3546752, 6963524, 5602979, 2797200, 983390}
{0, 1, 1, 3, 4, 1, 4, 5, 0, 6, 3, 6, 5, 1, 1, 10, 5, 6, 7, 1, 14, 5, 13, 10}
22310423
Returns: 808800440
{239423224, 212958957, 492268256, 131027684, 119858847, 773851993, 614715827, 151214234, 976056966, 355313761, 244439435, 260253574, 344122296, 126580300, 806711529, 525349659, 532696424, 981087709}
{0, 1, 1, 2, 2, 2, 6, 5, 8, 4, 1, 10, 4, 1, 6, 14, 12}
597195026
Returns: 800476688
{5621, 6691, 7973, 5046, 2650, 2891, 3139, 8552, 5765, 3965, 6239, 3532, 6167, 3899, 6868, 2704, 8538, 437, 2708, 9240, 7307, 8976, 2023, 8684, 6634, 8053, 7473, 5712, 6927, 3370, 9733, 5275, 4110, 3452, 9845, 9481, 4456, 2194, 2848, 4417, 6125, 1344, 2090, 1996, 6379}
{0, 0, 2, 0, 4, 3, 2, 3, 1, 4, 0, 5, 12, 7, 9, 7, 12, 13, 8, 7, 1, 19, 10, 4, 7, 15, 8, 17, 0, 29, 23, 13, 22, 4, 27, 32, 5, 3, 24, 22, 24, 33, 13, 9}
95694
Returns: 411614398
{8474, 128, 871, 104, 2190, 7010, 1892, 6592, 5886, 423, 2146, 3689}
{0, 1, 2, 3, 1, 3, 6, 6, 8, 7, 8}
485522
Returns: 596206402
{10, 8, 9, 2, 8, 10}
{0, 0, 0, 3, 2}
849
Returns: 722297016
{75, 29, 25, 66, 76, 1, 18, 33, 67, 51, 69, 26, 51, 30, 14, 68, 28, 17, 17, 22, 19, 15, 10, 42, 44, 36}
{0, 0, 0, 1, 4, 0, 4, 1, 1, 9, 9, 3, 2, 0, 9, 3, 15, 13, 7, 19, 14, 17, 18, 18, 24}
495781
Returns: 946265444
{10, 9, 10, 6, 8, 3, 5, 9, 8, 8, 4, 1, 9, 9, 9, 7, 10, 5, 2, 9, 3, 1, 6, 5, 9, 3, 1, 6, 9, 10}
{0, 0, 1, 0, 0, 0, 2, 0, 6, 7, 3, 5, 4, 13, 13, 2, 11, 16, 2, 19, 13, 6, 18, 11, 15, 2, 23, 8, 27}
85839971
Returns: 793394957
{15699456, 79728124, 75623708, 98293016, 40791393, 96036116, 691833, 4803821, 39844449, 46998206, 31176175, 95203395, 68029762, 71933285, 24247049, 54153757, 56954304, 50543534, 88278431, 69260113, 86194687, 74698456, 23482899, 46490629, 20402330, 84878084, 65357765, 85745842}
{0, 0, 2, 2, 4, 0, 1, 5, 7, 3, 9, 2, 8, 0, 2, 3, 7, 3, 10, 13, 2, 19, 3, 7, 23, 12, 21}
5082680
Returns: 480347144
{3422, 632, 3068, 120, 2459, 3694, 8779, 2395, 3411, 9109, 625, 4933, 9904, 7786, 8646, 8838, 9802, 9310, 6469, 7894, 9912, 3674, 2081, 2998, 9690, 8291, 6048, 9781, 1717, 5696, 4428, 3069, 5495, 7380, 3589, 3633, 6015, 5508, 3181, 1487}
{0, 1, 0, 1, 4, 0, 3, 7, 6, 7, 6, 11, 6, 2, 5, 11, 0, 7, 8, 7, 4, 19, 12, 5, 12, 23, 25, 7, 8, 19, 25, 29, 29, 30, 21, 25, 34, 36, 1}
9
Returns: 414463351
{7636828, 5296558, 5135496, 3786894, 3825453, 1827596, 7882856, 5495874, 1638383, 7168862}
{0, 0, 0, 0, 1, 0, 3, 1, 0}
4
Returns: 665574422
{4012328, 68521888, 20252606, 75774455, 40072005, 48874812}
{0, 0, 1, 3, 2}
6785348
Returns: 951035520
{46537150, 17420027, 53189074, 97706681, 51512795, 46509745, 77912036, 77740124, 71445569, 71812849, 29565410, 48970372, 30077818, 57761617, 53397987, 17642253, 87885221, 225309, 22716595, 50834550, 31201793, 22450333, 6201544, 15008938, 69983484, 64686616, 95894816, 20706468, 13320163, 23945630, 91666267, 163111, 60693236, 93558824, 53861002, 46242288, 16343770, 66171605, 48224055, 63508057, 18105672, 47466121, 963677, 38780383, 6328360, 71482894, 8787926, 14659469}
{0, 1, 2, 2, 4, 2, 0, 5, 0, 9, 0, 6, 0, 7, 7, 5, 2, 8, 9, 19, 10, 19, 0, 21, 0, 19, 16, 9, 16, 19, 24, 2, 16, 20, 17, 33, 20, 15, 31, 15, 40, 0, 12, 40, 41, 20, 17}
410
Returns: 66131400
{32988200, 69698754}
{0}
73451
Returns: 683143952
{5978, 1106, 7934, 6835, 8396, 5781, 4079, 9871, 3636, 2579, 3606, 2065, 9467, 621, 9365, 5490, 9497, 6961, 6249, 2122, 899, 4805, 8788, 9787, 3035, 1401, 2327, 4987, 8460, 1413, 5049, 2590, 8841, 4448, 8167, 6692, 5070, 5113, 2151, 7754, 6304, 5310, 2870, 6404, 7013, 5756, 354}
{0, 0, 2, 1, 0, 1, 5, 3, 2, 2, 6, 1, 2, 13, 8, 0, 14, 4, 4, 5, 3, 18, 7, 9, 1, 10, 15, 14, 19, 28, 23, 13, 31, 19, 12, 18, 4, 4, 3, 19, 9, 28, 3, 35, 30, 23}
9
Returns: 226023570
{2312, 7899, 6303, 9029, 1119, 369, 3240, 3044, 8284, 9959, 4798}
{0, 0, 2, 2, 0, 1, 5, 1, 6, 9}
8819481
Returns: 872061618
{290801, 381980, 811574, 174610, 306434, 665499, 892539, 952982, 750757, 586157, 414338, 250035, 303963}
{0, 0, 0, 3, 1, 1, 0, 4, 3, 0, 1, 1}
3934198
Returns: 221283189
{58906182, 89049374, 24006838, 58578238, 21663629, 83926691, 6760394, 53317502, 57288324, 67567455, 28777328, 85345119, 99530349, 41076593, 30122823, 21273670, 98475310, 72601466, 11991219, 17195074, 23317404, 11429544, 38101194, 85316669, 88743943, 85087321, 62996850, 53721407, 70603480, 2792966, 55713961, 11722189, 52903372, 58356629, 57217689, 28559433, 76212506}
{0, 1, 1, 3, 0, 4, 4, 0, 8, 3, 9, 9, 10, 6, 5, 8, 5, 9, 0, 17, 0, 17, 5, 1, 24, 24, 5, 1, 5, 25, 29, 15, 7, 16, 27, 22}
755729047
Returns: 604986445
{46765, 11672, 46844, 38544, 79158, 59800, 39193, 30272}
{0, 0, 1, 2, 2, 5, 0}
658447
Returns: 80988925
{7, 3, 1, 9, 10, 10, 7, 9, 4, 1, 2, 3, 8, 9, 2, 9, 8, 7, 2, 6, 5, 1, 9, 6, 1, 8, 5}
{0, 1, 1, 3, 4, 0, 4, 6, 6, 8, 9, 10, 9, 12, 4, 15, 14, 17, 15, 16, 5, 21, 5, 7, 5, 17}
79572
Returns: 564828323
{4949, 5825, 1976, 8176, 4883, 5759, 3895, 2878, 9773, 9538, 4712, 4312, 3660, 9372, 4007, 7965, 5649, 3661, 2961, 7596, 7624}
{0, 0, 1, 2, 3, 5, 4, 6, 3, 5, 5, 4, 5, 5, 4, 3, 13, 15, 0, 0}
12070
Returns: 340217067
{5629752, 9167420}
{0}
683422
Returns: 54010156
{501686392, 54726221, 217773274, 85339043, 186178701, 568606992, 947917029, 631190939, 527447288, 942533969, 657472928, 726453742, 72567252, 142848174, 258672894, 594654672, 780383036, 158020932, 921858104, 172720665, 534482510}
{0, 0, 2, 2, 4, 0, 4, 7, 6, 4, 1, 11, 1, 7, 7, 14, 1, 11, 7, 19}
1865
Returns: 795227711
{504328138}
{}
13030684
Returns: 527775038
{176877, 418470, 700429, 786224, 92808, 873693, 993418, 463170}
{0, 0, 0, 3, 3, 2, 2}
54
Returns: 121001502
{2, 5, 10, 7, 10, 7, 8, 9, 10, 8, 6, 10, 5, 1, 5, 7, 3, 1, 7, 2, 3, 5, 3, 10, 2, 3, 1, 2, 9, 8, 3, 3, 4, 5, 9, 4, 1, 8, 8, 10, 9, 6, 6, 9, 5, 7, 6, 10}
{0, 0, 0, 2, 1, 4, 0, 2, 3, 7, 2, 1, 7, 12, 13, 10, 10, 5, 5, 3, 17, 15, 18, 0, 22, 18, 18, 14, 24, 23, 8, 17, 8, 17, 5, 22, 36, 21, 31, 37, 2, 16, 9, 17, 42, 5, 12}
4
Returns: 344625454
{815, 577, 842}
{0, 0}
6534366
Returns: 168709393
{28161, 64371, 68847, 11382, 47071, 90619, 34745, 41580, 36893, 98067, 97573, 42645, 89090, 67864, 14984, 86742, 98464, 69916, 79301, 35682, 61625, 10260, 11506, 53416, 38327, 73940, 40904, 38538, 83400, 88430, 4718, 51949, 67304, 11244, 80348}
{0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0}
50061
Returns: 371347412
{385, 603, 829, 753, 217, 456, 184, 415, 523, 66, 772, 367, 203, 537, 432, 85, 227, 259, 779, 537, 663, 73, 639, 744, 979, 712, 883, 477}
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
568439926
Returns: 692752371
{8972263, 79804380, 99006812, 20237296, 83020231, 20979332, 7294622, 60205769, 84799826, 84863105, 81440210, 67770138, 42525610, 77937625, 54006557, 4596145, 69946415, 92726599, 47636673}
{0, 1, 2, 2, 2, 0, 2, 2, 1, 0, 2, 1, 0, 1, 1, 1, 1, 2}
3
Returns: 398411400
{839527194, 998157691, 673902080, 469923242, 723674569, 961998125, 837460301, 795268810, 592469842, 960924500, 962529685, 244192024, 938423614, 937206184, 527280775, 347319379, 285804990, 751638224, 170231271, 140983136, 723062671, 295915454, 728440437, 623209173, 876498735, 149135111, 62665467, 878088595, 625625922, 779511901, 95899682, 14616084, 946309886, 813090330, 829768531, 182238224}
{0, 1, 0, 2, 4, 3, 4, 2, 0, 4, 1, 4, 3, 2, 1, 2, 2, 2, 1, 3, 4, 1, 2, 1, 2, 3, 2, 2, 4, 3, 1, 0, 4, 1, 1}
150382
Returns: 139029256
{8720, 3618, 5360, 5003, 5625, 9464, 671, 1285, 5864, 5562, 321, 9654, 2296, 4984, 8449, 5809, 2142, 9563, 1404, 8322, 1358, 4761, 478, 1605, 5323, 5121, 4873, 9035, 1695, 1624, 8414}
{0, 1, 2, 3, 2, 4, 1, 0, 2, 0, 4, 2, 4, 4, 1, 3, 1, 4, 4, 1, 2, 3, 2, 0, 3, 0, 3, 3, 1, 2}
399104
Returns: 182916197
{23691, 67491, 3651, 62152, 77077, 45295, 17346, 9919}
{0, 1, 0, 1, 2, 0, 1}
8
Returns: 833815815
{37, 49, 8, 28, 14, 39, 7, 94, 76, 63, 59, 7, 36, 9, 82, 43, 93, 38, 2, 93, 31}
{0, 1, 2, 0, 1, 2, 1, 2, 2, 0, 0, 2, 0, 1, 0, 1, 1, 0, 2, 0}
34832
Returns: 719496658
{9, 4, 6, 10, 5, 7, 1, 5, 2, 5, 6, 7, 2, 2, 3, 5, 2, 2, 4}
{0, 1, 2, 1, 3, 0, 0, 3, 1, 3, 3, 1, 2, 2, 3, 1, 1, 0}
497428
Returns: 284971437
{246, 813, 620, 486, 377, 521, 931, 533, 546, 70, 561, 603, 376, 575, 703, 42, 159, 91, 970, 600, 379, 643, 824, 600, 113, 481, 460, 634, 620, 92, 102, 24, 44, 803, 344}
{0, 1, 0, 2, 2, 2, 0, 0, 3, 2, 0, 0, 2, 4, 3, 4, 3, 1, 3, 3, 0, 4, 2, 1, 4, 4, 0, 3, 1, 2, 2, 4, 2, 3}
6377
Returns: 975806006
{1589, 256, 6042, 1850, 9837, 4416, 6097, 6245, 9268, 8136, 1747, 9475, 6561, 8277, 568, 9875, 649, 1839, 2884, 6677, 511, 4671, 955, 5035, 5382, 6438, 6018, 175, 8556}
{0, 0, 2, 3, 4, 5, 3, 2, 3, 5, 4, 5, 2, 0, 2, 0, 2, 4, 3, 3, 0, 4, 5, 4, 3, 4, 5, 5}
175
Returns: 83360490
{25709886, 74167873, 35600846, 69066286, 94614204, 34923865, 28311075, 17177177, 10200895, 93142344, 45905426, 16574597, 65530059, 17273205, 68648616, 98219175, 40731934, 48799817, 52854510, 84377909, 64988804, 79037816, 984887, 13435775, 21743204, 94588961, 52787387, 2015053, 53073181, 22707270, 80519269, 19040866, 65285617, 94062592, 27602605, 77798851, 16037014, 53631699, 63057400, 77802767, 65429839, 4773963, 5647899}
{0, 0, 1, 1, 4, 3, 0, 1, 4, 2, 2, 3, 1, 2, 0, 1, 3, 2, 1, 0, 3, 4, 3, 1, 2, 2, 0, 2, 3, 4, 1, 0, 4, 1, 2, 4, 2, 2, 3, 0, 4, 2}
67760
Returns: 7963852
{36860, 94073, 31896, 5980, 75025, 2258, 56739, 51690, 20796, 74414, 88430, 25736, 25946, 46528, 99613, 55247, 93145, 35065, 22383, 16826, 83539, 37635, 11745, 30655, 29241, 56949, 70018, 48387, 34127, 66077, 97479, 10387, 43938, 73800, 15706, 86385, 34319, 80832, 4081, 33643, 71982, 11209}
{0, 0, 1, 2, 2, 2, 1, 2, 2, 0, 2, 3, 3, 0, 3, 0, 1, 3, 3, 2, 0, 2, 0, 1, 2, 2, 3, 2, 0, 2, 3, 3, 2, 3, 2, 1, 3, 2, 3, 3, 0}
263227
Returns: 578941710
{214, 425, 157, 445, 481, 945, 781, 788, 24, 834, 51, 140, 944, 145, 410, 779, 795, 949, 353, 400, 85, 558, 215, 616, 899, 682, 554, 851, 123, 632, 153, 611, 729, 142, 208, 43, 608, 392, 192, 975, 312, 905, 429, 795, 125}
{0, 1, 2, 0, 3, 2, 0, 4, 4, 0, 4, 4, 2, 0, 4, 0, 0, 0, 2, 3, 0, 3, 4, 0, 2, 2, 0, 0, 4, 0, 3, 0, 0, 3, 1, 4, 2, 1, 1, 2, 0, 4, 2, 0}
93
Returns: 246756494
{3, 4, 7, 1, 9, 9, 6, 1, 7, 9, 5, 5, 2, 2, 8, 10, 8, 2, 10, 5, 7, 2, 10, 1, 6, 1, 6, 5, 6, 7, 8, 2, 5, 4, 4, 5, 1, 2, 8, 7, 5, 1, 9, 8, 9, 7, 10, 10, 9}
{0, 1, 2, 0, 0, 0, 2, 1, 0, 3, 2, 3, 2, 2, 0, 3, 0, 3, 1, 1, 3, 3, 1, 3, 3, 2, 3, 2, 0, 0, 3, 1, 2, 1, 2, 1, 0, 1, 1, 3, 2, 1, 1, 1, 0, 2, 3, 1}
7633633
Returns: 64039348
{7, 6, 8, 5, 3, 10, 1, 7, 8, 4, 4, 9, 7, 1, 10, 7, 6, 9, 1, 7, 8, 4, 7, 3, 7, 2, 10, 4, 9, 4, 3, 9, 6, 9, 5, 1, 3, 2, 7, 6, 9, 7, 9, 3, 1, 3}
{0, 0, 1, 0, 3, 2, 1, 0, 1, 3, 3, 2, 2, 1, 3, 2, 0, 0, 3, 2, 3, 3, 1, 2, 1, 3, 0, 1, 2, 1, 3, 3, 2, 3, 3, 2, 3, 1, 0, 3, 3, 2, 1, 0, 1}
6669831
Returns: 684665723
{700, 7306, 4562, 5343, 1599, 5041, 2776, 1493, 5611, 5856, 4080, 5280, 7452, 6076, 7096, 2366, 5589, 1657}
{0, 0, 0, 1, 1, 0, 2, 1, 2, 2, 0, 2, 0, 1, 2, 2, 1}
6788644
Returns: 982805482
{8483, 5792, 755, 4485, 5409, 5273, 1316, 1141, 5424, 9092, 446, 7299, 1171, 9196, 9289, 361, 6737, 7617, 5357, 2756, 9198, 1583, 2992, 9838, 2694, 9604, 7807, 6761, 4539, 3478, 2472, 825, 9943, 8432, 7105, 1756, 5006, 5588, 5383, 9671, 3052, 1655, 7891, 5966}
{0, 0, 1, 2, 2, 0, 2, 1, 2, 0, 1, 1, 0, 0, 0, 2, 1, 2, 2, 2, 2, 0, 2, 1, 1, 0, 2, 2, 2, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 2, 1, 1, 2}
1320
Returns: 221719452
{8, 3, 3, 9, 10, 5, 3, 5, 6, 1, 6, 4, 10, 7, 8, 1, 10, 1, 1, 5, 3, 2, 5, 10, 9, 1, 4, 9, 3, 7, 7, 9, 7, 7, 3, 9, 9, 7, 2, 6}
{0, 0, 1, 2, 0, 1, 0, 1, 1, 3, 3, 0, 2, 3, 1, 2, 2, 1, 3, 3, 0, 3, 0, 1, 0, 3, 1, 0, 1, 0, 3, 2, 1, 2, 0, 0, 0, 2, 2}
368
Returns: 340107389
{1844, 7169, 2990, 2315, 8590, 9806, 5975, 4442, 4205, 6802, 6867, 1355, 7707, 5750, 8655, 6234, 5502, 3299, 5670, 1235, 5164}
{0, 1, 2, 3, 3, 3, 2, 1, 0, 2, 3, 2, 0, 1, 1, 2, 0, 0, 3, 0}
2466
Returns: 821472526
{38, 23, 77, 72, 3, 18, 66, 77, 4, 22, 59, 14, 89, 36, 92, 30, 47, 92, 60, 94, 100, 53, 39, 21, 28, 65, 81, 2, 96, 41, 27, 18, 62, 12, 93, 8, 24, 20, 90, 99, 64, 38, 100, 80, 49, 90, 40}
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
842
Returns: 138071904
{11559, 10383, 60492, 73642, 65145, 60463, 68104, 53427, 63771, 83212, 16626, 97826, 1947, 69751, 89988, 50261}
{0, 1, 0, 0, 4, 2, 0, 4, 4, 3, 2, 3, 3, 2, 2}
4289169
Returns: 265054769
{576813, 3342, 717423, 144908, 995748, 133139, 487270, 271041, 782262, 219002, 177678, 173484, 413145, 847474, 98867, 118563, 746816, 681492, 203410, 67204, 285851, 240548, 873326, 600242, 61543, 805043, 771804, 129682, 641854, 661411, 285988, 312285, 531403, 345379, 204655, 714648, 455837, 357988, 244661, 392251, 582021, 470901, 190627, 164876, 221282}
{0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0}
64346602
Returns: 694145806
{8999, 4501, 5779, 6854, 6196, 7304, 5613, 2230, 4972, 1449, 9140, 1968, 6990, 7591, 3739, 526, 2340, 208, 1664, 8355, 7920, 4596, 381, 1488, 5637, 3935, 4343, 7449, 7322, 6259, 6045, 8119, 3176, 3058, 6456, 960, 2437, 5864, 7169, 346, 9443, 2256}
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
196163361
Returns: 532090122
{471, 914, 552, 420, 730, 999, 416, 333, 804, 146, 129, 957, 267, 440, 635, 907, 489, 843, 254, 994, 767, 704, 879, 784, 795, 655, 839, 212, 745, 913, 646, 542, 894}
{0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0}
8
Returns: 774530556
{65813, 89928, 25646, 61358, 95015, 90393, 52248, 83092, 80073, 16152, 18544, 23567, 86314, 54219, 99599, 9014, 32803, 69554, 56428, 29803, 97004, 79763, 60043, 70017, 53713, 77980, 33581, 79124, 57481, 12507, 56219, 93769, 59523, 17985, 68406, 29881, 29644, 80370, 51351, 68469, 28726, 43084, 90421, 24217}
{0, 0, 1, 2, 3, 4, 1, 0, 3, 0, 0, 4, 3, 1, 1, 2, 4, 2, 2, 0, 4, 2, 0, 1, 1, 0, 3, 1, 0, 1, 4, 2, 2, 3, 2, 1, 2, 1, 1, 4, 3, 2, 4}
2697
Returns: 76098647
{41, 61, 41, 12, 36, 30, 35, 57, 15, 33, 61, 13, 7, 63, 11, 12, 92, 87, 13, 72, 3, 77, 90, 64, 70, 82, 64, 78, 69, 54, 72}
{0, 1, 0, 2, 0, 0, 2, 2, 1, 0, 2, 0, 2, 1, 2, 2, 2, 1, 2, 0, 1, 2, 2, 0, 2, 0, 1, 0, 0, 1}
25353
Returns: 657276336
{789240, 6531, 595012, 545599, 759731, 143256, 271348, 687261, 447051, 569321, 596038, 206245, 801260, 29956, 27805, 524860, 874490, 623727, 914614, 196723, 340876, 760706, 861577, 662297, 325913, 151016, 717970}
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
35075892
Returns: 145721115
{334656, 357889, 505010, 187361, 208436, 893666, 868513, 632673, 479656, 829390, 854783, 392967, 401653, 944483, 844145, 254969, 653507, 479640, 476059, 297476, 970578, 700378, 444172, 539512, 195318, 587154, 541931, 937694, 845626, 705002, 792451, 958672, 565337, 274733, 347743, 118602, 450228, 518086, 110689, 929152, 163159, 884957, 558491, 80632, 627608}
{0, 1, 1, 0, 2, 2, 1, 3, 0, 4, 2, 4, 2, 3, 4, 3, 4, 2, 2, 0, 4, 0, 1, 2, 3, 1, 3, 2, 2, 1, 1, 1, 1, 1, 4, 3, 4, 3, 1, 2, 1, 1, 3, 4}
999
Returns: 714352048
{5939, 6032, 5319, 5982, 1119, 9106, 4764, 5138, 9790, 7010, 2023}
{0, 0, 1, 2, 2, 0, 0, 0, 2, 3}
40507
Returns: 267603635
{566, 168, 844, 395, 551, 135, 507, 984, 786, 715, 394, 622, 260, 428, 228, 11, 908, 567, 484, 616, 897, 894, 367, 216, 500, 123, 511, 365, 945, 892, 50, 579, 723, 518, 542, 148}
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
9172275
Returns: 553326621
{4952031, 187211, 220187, 299314, 1993253, 6853896, 8160975, 4042482, 2037210, 1651870, 7872807, 5632555, 4085962, 8644885, 3465283, 2435724, 9413696}
{0, 0, 1, 3, 3, 3, 6, 4, 7, 9, 10, 10, 12, 10, 11, 14}
4959
Returns: 177434550
{65301472, 60985410, 88176574, 20919375, 33046580, 67447529, 37881683, 52967178, 66036939, 88899551, 53663422, 71429208, 79941933}
{0, 1, 0, 3, 0, 4, 6, 5, 6, 9, 10, 6}
284929
Returns: 934981039
{352, 178, 284, 441, 332, 956, 109, 13, 751, 734, 855, 320, 377, 994, 468, 294, 53, 474, 701, 925, 885, 849, 202, 355, 548, 418, 585, 523, 528, 529, 671, 107, 976, 14, 161, 420, 475, 594, 947, 782, 203, 248, 362, 921, 941, 106, 835, 753}
{0, 1, 1, 3, 2, 3, 4, 6, 7, 8, 8, 11, 11, 13, 13, 15, 15, 16, 17, 18, 20, 21, 20, 21, 22, 24, 25, 27, 28, 27, 30, 29, 31, 33, 33, 34, 36, 36, 38, 38, 38, 39, 41, 41, 44, 43, 45}
983548
Returns: 175403007
{2214, 8720, 7248, 5773, 4568, 6148, 7524, 2267, 2565, 6396, 4751, 4619, 617, 2491, 4613, 8233, 5602, 4044, 7597, 2548, 1230, 1049, 6586, 8002, 9430, 6516, 2291, 9079, 8356, 244, 1053, 8636, 9789, 9241, 7191, 8317, 7681, 2566, 2858, 263, 2306, 8677, 8741, 7841, 4118, 3073}
{0, 0, 1, 1, 2, 3, 6, 5, 7, 7, 8, 10, 10, 12, 13, 15, 14, 17, 16, 19, 19, 20, 21, 22, 24, 24, 25, 27, 28, 27, 29, 29, 31, 31, 32, 33, 35, 35, 36, 38, 38, 40, 42, 43, 42}
45872
Returns: 898336779
{7811044, 1433503, 650637, 251811, 5445029, 8786022, 3685215, 2078632, 590454, 2976940}
{0, 1, 1, 3, 4, 4, 3, 6, 6}
7
Returns: 368107821
{299, 269, 6777, 5792, 5870, 5449, 4826, 9714, 3892, 2407, 8320, 9042, 3156, 1230, 7342, 3289, 4743, 6449, 1034, 5228, 1917, 2429, 4811, 7342, 9825, 5998, 229, 826, 9910, 796, 3784, 7778, 3345, 1724, 4786, 2938, 6636, 1948, 4323, 6002, 5261, 2043, 3296, 2137, 4623}
{0, 0, 0, 0, 3, 5, 5, 7, 6, 9, 8, 9, 12, 11, 14, 15, 14, 14, 18, 17, 20, 18, 22, 22, 21, 22, 25, 25, 28, 28, 29, 31, 32, 32, 34, 32, 33, 37, 36, 36, 38, 39, 41, 41}
843778
Returns: 417728871
{2064398, 1650356, 88464, 5998408, 1290143, 6436944, 9719654, 288793, 700313, 7979906, 1743842, 1693190, 5060041, 6761021, 9801067, 921932, 518245, 2630664}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}
25
Returns: 82631118
{266496, 893842, 184784, 198551, 795870, 194898, 102186, 389061, 434421, 106579, 73410, 887053, 605346, 71848, 874759, 79588}
{0, 1, 2, 3, 3, 4, 6, 7, 7, 8, 10, 10, 11, 13, 13}
40
Returns: 558020523
{1200891, 7669924}
{0}
4
Returns: 850171748
{814, 880, 438, 331, 814, 297, 409, 985, 136, 511, 169, 834, 118, 988, 728, 67, 277, 104, 385, 741, 735, 224, 175, 440, 486, 794, 943, 89, 321, 17, 457, 797, 471, 921, 473, 879, 751, 870, 244, 246, 288, 896, 686, 417, 89, 411, 999, 256, 754}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47}
2864527
Returns: 746905952
{437760, 324733, 796475, 884523, 817200, 400396, 880772, 966314, 195493, 285457, 636080, 136911, 785134, 686890, 332511, 472639, 108897, 106883, 970880, 362488, 94762, 818653, 967147, 649696, 225206, 548331, 599909, 564557, 284805, 16939, 651027, 506485, 487311, 947269, 842441, 765952, 656831, 656192, 478554, 526572, 151051, 424013, 293274, 537617, 481343, 502389}
{0, 0, 0, 3, 2, 4, 4, 6, 6, 9, 8, 11, 10, 12, 12, 14, 14, 16, 16, 17, 19, 19, 20, 23, 23, 23, 26, 27, 27, 27, 29, 30, 30, 31, 34, 33, 34, 37, 38, 38, 40, 40, 40, 42, 42}
7037306
Returns: 308036351
{868905216, 599624632, 618812219, 535153092, 728986420, 403786451, 198789492, 8599133, 444910337, 457286891, 234051167, 535494141, 687989621, 40109992, 639187401, 353280866, 50973527, 770785766, 136667558, 60809792, 619922640, 707590727, 582077022, 433941946, 762004396, 243103874, 881119775, 175796875, 34924114, 204832332, 29073118, 605362089, 702085300, 460042963, 925708807, 967352409, 677850673, 247327149, 229267716, 643976471, 38969681, 716292482, 485209407, 225471162}
{0, 0, 2, 2, 3, 0, 6, 5, 3, 7, 9, 6, 9, 10, 14, 15, 12, 17, 14, 17, 19, 21, 18, 21, 23, 20, 25, 25, 26, 29, 26, 26, 28, 32, 34, 30, 36, 34, 38, 39, 36, 41, 42}
32
Returns: 310143273
{2271, 15941, 14632, 43648, 58996, 10500, 31331, 9894, 91065, 94689, 69154, 99468, 5326}
{0, 0, 0, 1, 2, 4, 6, 6, 8, 9, 8, 11}
987
Returns: 16749755
{6032041, 225148, 1881585, 3186044, 1284684, 5455636, 8218380, 7701985, 1559349, 4333942, 4173546, 3654391}
{0, 0, 2, 2, 4, 5, 6, 6, 8, 8, 9}
681
Returns: 439449127
{15845, 75936, 25202, 54080, 66893, 47526, 81134, 61695, 31234, 24069, 46642, 56278, 79291, 29885, 11817, 6948, 44764, 49065, 19267}
{0, 1, 0, 0, 2, 5, 6, 5, 7, 8, 10, 11, 9, 12, 12, 15, 15, 14}
1
Returns: 767
{214249530, 320941313, 955509509, 554593106, 346075608, 522227874, 422071229, 134640713, 478663191, 807113159, 913819955, 887493658, 751505683, 791876164, 476811301, 903402672, 775742737, 775054640, 967754856, 864210551, 366314478, 933806042, 665622252, 690458254, 1464112}
{0, 0, 1, 2, 1, 4, 3, 4, 6, 9, 9, 7, 8, 12, 14, 14, 15, 14, 15, 17, 19, 20, 21, 20}
241466
Returns: 405055049
{373, 728, 432, 688, 689, 215, 402, 819, 291, 838, 28, 648, 534, 972, 388, 95, 883, 651, 556, 624, 1, 864, 590, 607, 912, 432, 502, 412, 857, 855, 679}
{0, 1, 1, 2, 0, 5, 2, 7, 3, 8, 7, 10, 9, 11, 14, 15, 14, 13, 14, 15, 17, 16, 21, 23, 20, 21, 21, 23, 28, 25}
44910563
Returns: 41136078
{531105, 595881}
{0}
885481
Returns: 665143455
{8, 7, 5, 8, 2, 6, 1, 5, 6, 6, 7, 3, 9, 9, 10, 1, 10, 6, 7, 8, 9, 4}
{0, 0, 2, 2, 2, 5, 4, 5, 8, 8, 9, 9, 11, 11, 13, 13, 14, 15, 18, 19, 18}
12117
Returns: 962741998
{35191401, 39664059, 90667777, 17994469, 5948873, 2259292, 10869609, 23532820, 76544836, 8071815, 50745606, 52297184, 32612601}
{0, 0, 2, 3, 3, 3, 3, 7, 7, 7, 9, 9}
109142
Returns: 940519216
{346318, 239400, 970205, 300637, 19536, 814025, 562470, 684484, 16112, 922537, 524209, 597791, 339647, 222123, 715989, 608704, 427860, 475003, 142951, 657889, 571709, 859728, 165018, 840990, 286917, 984541, 19607, 479720, 170345, 687646, 52701, 272154, 105550, 313358, 423553, 912336, 353353, 199889, 109734}
{0, 1, 2, 2, 3, 4, 5, 7, 7, 8, 9, 11, 12, 12, 13, 15, 15, 17, 17, 18, 20, 21, 21, 23, 24, 24, 25, 26, 27, 29, 29, 31, 32, 33, 34, 35, 35, 36}
3914427
Returns: 125982084
{75067, 24758, 75973, 54705, 1264, 47828, 10624, 21457, 65899, 19008, 75879, 39686, 99626, 65915, 29682, 27118, 36878, 18655, 3170, 19292, 23410, 40387, 60780, 10485, 66264, 73695}
{0, 0, 0, 2, 1, 3, 4, 7, 8, 7, 10, 10, 11, 12, 11, 14, 14, 14, 17, 15, 17, 17, 20, 21, 24}
8809446
Returns: 795841925
{4866814, 498045, 981219, 7832233, 1581876, 4721270, 5871783, 8359479, 3336723, 6610852, 3821033, 3492023}
{0, 0, 2, 1, 3, 4, 2, 7, 6, 9, 10}
225550
Returns: 968299978
{950, 519, 99, 912, 539, 378, 719, 200, 626, 281, 398, 272, 354, 470, 345, 305, 478, 536, 524, 579, 668, 416, 810, 212, 913, 755, 593, 848, 176, 593, 234, 959, 890, 94, 260, 284, 910, 619, 528, 585}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38}
379092603
Returns: 17463618
{972, 171, 492, 348, 999, 743, 659, 844, 443, 474, 257, 638, 408, 284, 484, 141, 749, 293, 673, 73, 432, 359, 438, 168, 270, 188, 217, 514, 671, 397, 496, 827, 757, 707, 763}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33}
23573460
Returns: 769037847
{677, 602, 211, 152, 931, 178, 350, 556, 390, 143, 611, 452, 474, 205, 475, 751, 435, 643, 48, 122, 162, 289}
{0, 1, 0, 0, 3, 0, 2, 3, 5, 9, 10, 7, 8, 12, 12, 10, 14, 12, 18, 15, 15}
381350
Returns: 954760776
{66519, 30712, 44258, 79617, 26707, 72877, 69358, 22153, 3021, 35300, 79205, 39372, 48310, 41495, 98107, 28212, 56728, 89522, 44142, 26332, 54547, 51819, 38061, 85599, 8677, 48736, 55510, 97170, 23088, 44255, 83885, 398, 99038, 89214, 49290}
{0, 0, 1, 2, 3, 4, 6, 6, 8, 8, 9, 10, 11, 12, 13, 15, 16, 16, 18, 19, 19, 21, 22, 22, 23, 24, 26, 26, 28, 28, 30, 31, 31, 33}
3174
Returns: 459587111
{8837, 3160, 5002, 2012, 3423, 9413, 5512, 8939, 7292, 9200, 9780, 2321, 4322, 5115, 1783, 6327, 7577, 1328, 3159, 7609, 511, 6823, 6027, 7817, 8640, 81, 3287}
{0, 1, 2, 3, 3, 5, 6, 6, 7, 9, 10, 11, 11, 12, 13, 15, 15, 16, 18, 18, 20, 20, 21, 23, 24, 25}
2
Returns: 505683532
{1608333, 9860197, 9754379, 6427034, 3481649, 344201, 3031276, 120042, 1677917, 7665932, 8951433, 7174694, 3581842, 1389105, 9325480, 119396, 7214249, 2244107, 3060668, 8223354, 6929192, 5544456, 8820555, 7346145, 9067662, 3519251, 7382379, 9398974, 4279087}
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27}
602
Returns: 181031661
{3, 6, 7, 5, 7, 8, 10, 1, 1, 8, 8, 9, 5, 7, 3, 1, 5, 6, 6, 5, 6, 7, 6, 8, 4, 7, 1, 3, 6, 4, 2, 1, 7, 7, 10, 9, 4, 9, 3, 1}
{0, 1, 0, 2, 4, 5, 3, 7, 5, 8, 9, 11, 9, 12, 11, 14, 15, 16, 16, 19, 17, 19, 19, 21, 24, 23, 26, 26, 25, 26, 30, 30, 32, 32, 34, 33, 35, 34, 36}
56460351
Returns: 299431740
{804289383, 846930886, 681692777, 714636915, 957747793, 424238335, 719885386, 649760492, 596516649, 189641421, 25202362, 350490027, 783368690, 102520059, 44897763, 967513926, 365180540, 540383426, 304089172, 303455736, 35005211, 521595368, 294702567, 726956429, 336465782, 861021530, 278722862, 233665123, 145174067, 468703135, 101513929, 801979802, 315634022, 635723058, 369133069, 125898167, 59961393, 89018456, 628175011, 656478042, 131176229, 653377373, 859484421, 914544919, 608413784, 756898537, 734575198, 973594324, 149798315, 38664370 }
{0, 0, 0, 3, 3, 1, 3, 4, 6, 1, 8, 7, 0, 11, 8, 6, 11, 0, 5, 16, 17, 8, 2, 21, 7, 18, 26, 27, 16, 25, 12, 26, 21, 0, 24, 3, 8, 34, 22, 2, 5, 39, 34, 23, 14, 1, 13, 20, 23 }
123123
Returns: 745185058
{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8100, 16000, 32000, 64000, 128000, 256000, 512000, 1000000, 2000000, 4000000, 16000000, 8000000, 32000000, 64000000, 128000000, 256000000, 512000000, 1000000000 }
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1
Returns: 73741847
{3, 7, 6, 8, 9, 4, 2, 1, 5, 6, 7, 8, 9, 6, 1, 2, 3, 5 }
{0, 0, 0, 3, 1, 1, 2, 0, 0, 3, 7, 8, 9, 0, 0, 4, 1 }
987654321
Returns: 46327623