Problem Statement
You have a collection of dice: for each valid index i you have exactly count[i] dice with size[i] faces.
A die with x faces has them labelled with integers from 1 to x, inclusive. When such a die is rolled, one of those integers is selected uniformly at random. All dice rolls are mutually independent.
If you roll your entire collection, what is the expected number of distinct values you'll see?
The answer can always be expressed as a reduced fraction A/B, where both numbers are coprime with M = 10^9 + 7. Let B^(-1) denote the inverse of B when computing modulo M. Calculate and return (A * B^(-1)) mod M.
Definition
- Class:
- DistinctFaces
- Method:
- expectation
- Parameters:
- int[], int[]
- Returns:
- int
- Method signature:
- int expectation(int[] count, int[] size)
- (be sure your method is public)
Constraints
- count will have between 1 and 50 elements, inclusive.
- size will have the same number of elements as count.
- Each element of count will be between 1 and 10^6, inclusive.
- Each element of size will be between 1 and 10^6, inclusive.
- The elements of size will be distinct.
Examples
{1}
{47}
Returns: 1
This is easy: you roll the only die you have and you are guaranteed to see exactly one value.
{2}
{6}
Returns: 833333341
Two six-sided dice. With probability 1/6 you roll doubles and then you'll see only one distinct value. With probability 5/6 you'll see two distinct values. The expected number of distinct values you'll see is therefore (1/6 * 1 + 5/6 * 2) = 11/6 = 1.833333. Computing modulo M = 10^9 + 7, the modular inverse of 6 is 166,666,668. Thus, we should return (11 * 166,666,668) mod M = 833,333,341.
{1, 1}
{1, 100}
Returns: 430000005
Again we have two dice but now they are distinct: one has only one face (and thus always rolls a 1), the other has 100 faces. Rolling two 1s is pretty unlikely and thus the expected number of distinct values is almost equal to 2. The exact value is 199/100. The answer is computed as (199 * 100^(-1)) mod M = (199 * 570,000,004) mod M = 430,000,005.
{48}
{6}
Returns: 368315208
{1000}
{2}
Returns: 272979609
One thousand fair coins.
{2, 1, 1}
{6, 10, 20}
Returns: 497500007
A set of common Dungeons&Dragons dice: two d6s, a d10 and a d20. We can iterate over all 6*6*10*20 equally likely outcomes to calculate the exact expected number of distinct values. The result is 25326 / 7200 = 1407 / 400 = 3.5175. Our return value is (1407 * 400^(-1)) mod M = 497,500,007.
{996960, 917105, 995425, 969469, 974721, 978965, 952132, 962138, 999022, 943390, 922776, 913964, 910516, 924947, 997147, 969674, 956498, 961575, 903758, 916568, 961171, 955744, 913514, 963249, 992407, 911832, 950198, 953038, 967806, 973202, 934669, 981966, 917062, 936772, 902366, 968420, 941189, 952419, 989554, 924236, 981280, 970266, 926393, 985226, 999634, 960224, 951127, 965004, 972320, 991732}
{221714, 207043, 38719, 134462, 511511, 226410, 858303, 764154, 804255, 778685, 450972, 66712, 550217, 366320, 75091, 714643, 726178, 296155, 609209, 516325, 902797, 56179, 985418, 126533, 816573, 192977, 657789, 886750, 656728, 418814, 679146, 441709, 406740, 952304, 576088, 473920, 680554, 425203, 551441, 711200, 36342, 856000, 828386, 847883, 68392, 30630, 929932, 763001, 734852, 369859}
Returns: 339050723
{221714, 207043, 38719, 134462, 511511, 226410, 858303, 764154, 804255, 778685, 450972, 66712, 550217, 366320, 75091, 714643, 726178, 296155, 609209, 516325, 902797, 56179, 985418, 126533, 816573, 192977, 657789, 886750, 656728, 418814, 679146, 441709, 406740, 952304, 576088, 473920, 680554, 425203, 551441, 711200, 36342, 856000, 828386, 847883, 68392, 30630, 929932, 763001, 734852, 369859}
{221714, 207043, 38719, 134462, 511511, 226410, 858303, 764154, 804255, 778685, 450972, 66712, 550217, 366320, 75091, 714643, 726178, 296155, 609209, 516325, 902797, 56179, 985418, 126533, 816573, 192977, 657789, 886750, 656728, 418814, 679146, 441709, 406740, 952304, 576088, 473920, 680554, 425203, 551441, 711200, 36342, 856000, 828386, 847883, 68392, 30630, 929932, 763001, 734852, 369859}
Returns: 530942060
{221714, 207043, 38719, 134462, 511511, 226410, 858303, 764154, 804255, 778685, 450972, 66712, 550217, 366320, 75091, 714643, 726178, 296155, 609209, 516325, 902797, 56179, 985418, 126533, 816573, 192977, 657789, 886750, 656728, 418814, 679146, 441709, 406740, 952304, 576088, 473920, 680554, 425203, 551441, 711200, 36342, 856000, 828386, 847883, 68392, 30630, 929932, 763001, 734852, 369859}
{996960, 917105, 995425, 969469, 974721, 978965, 952132, 962138, 999022, 943390, 922776, 913964, 910516, 924947, 997147, 969674, 956498, 961575, 903758, 916568, 961171, 955744, 913514, 963249, 992407, 911832, 950198, 953038, 967806, 973202, 934669, 981966, 917062, 936772, 902366, 968420, 941189, 952419, 989554, 924236, 981280, 970266, 926393, 985226, 999634, 960224, 951127, 965004, 972320, 991732}
Returns: 848884454
{380464, 606447, 402212, 532998, 566366, 852478, 265117, 101816}
{502, 112601, 188, 24315, 3, 133466, 1899, 3448}
Returns: 153816278
{1, 108, 11206, 62, 80, 10, 442527, 116963, 12, 16398, 9292, 2132, 277, 21, 129890, 127, 124989, 267380, 5, 26, 770180, 3, 8, 6, 3, 166, 202679, 608911, 519702, 1130, 14}
{115497, 42059, 544630, 558561, 707637, 272886, 780329, 507455, 765682, 590074, 414689, 914727, 250592, 582239, 817538, 810628, 370199, 921856, 990520, 966796, 300227, 274297, 436900, 838457, 634027, 849307, 810483, 592848, 374283, 327373, 848417}
Returns: 16163341
{1365, 17124, 313621, 25453}
{1013, 31253, 296847, 1}
Returns: 975814724
{921906, 546165, 743505}
{506130, 402343, 568594}
Returns: 793909678
{616, 638, 59, 2042, 12034, 100021, 1071, 922034, 712507, 2, 714564, 606006}
{726, 225475, 26198, 971114, 9, 363, 2279, 1136, 30816, 2253, 6290, 6821}
Returns: 96135939
{759419, 93163, 99310, 628, 147442, 693, 48582, 7979, 1, 770967, 13, 5, 317660, 174, 5}
{61554, 7, 1837, 14, 6778, 1, 22148, 941509, 14941, 622565, 9, 11413, 158403, 62594, 707611}
Returns: 533723614
{805970, 94477, 672582, 329416, 106866, 37525}
{617728, 904153, 412914, 127712, 132069, 365233}
Returns: 917544937
{668836, 460453, 457222, 709040, 433182, 763125}
{960513, 695620, 990988, 806085, 984107, 750150}
Returns: 469535673
{923964, 68635, 496149, 279767, 67483, 170144, 214672, 238479, 974010, 442603, 495601, 831855, 207045, 311127, 6228, 119734, 633879, 591833, 854132, 12440, 263304}
{432, 91, 260459, 17515, 327172, 1407, 9158, 22, 81201, 13, 15045, 818, 2, 10007, 15, 63896, 3566, 3, 1314, 586, 178}
Returns: 40425698
{561}
{21556}
Returns: 793179007
{852632, 766501, 616321, 134498, 73930, 951812, 18384, 143629, 128598, 543689, 817745, 133466, 641879, 895756, 976579, 991043, 306306, 597635, 631963, 923197, 438638, 573956, 781653, 511777, 642218, 895342, 609165, 912899, 24600, 175537, 819875, 843991, 626829, 568292, 606353, 863724}
{666705, 326306, 763912, 463208, 754435, 348772, 414639, 930247, 94134, 290724, 707911, 200246, 39647, 630653, 265510, 961336, 534999, 486579, 318812, 616712, 426528, 975552, 800140, 755323, 936446, 929736, 51651, 94301, 986755, 485922, 402073, 639850, 68438, 54559, 749013, 364762}
Returns: 974632079
{847869, 826342, 979683, 914566, 511029, 513421, 767607, 427860, 360168, 393154}
{681993, 507856, 513857, 646693, 483000, 952301, 941078, 939381, 298991, 846111}
Returns: 510389090
{367, 127, 37843, 4286, 14, 737, 11301, 5, 154475, 240984, 834, 2534, 6, 23326, 9, 220374, 516031, 143, 1655, 286, 6, 23601, 129150, 838, 12268, 868849, 372102, 355188, 94, 2}
{763, 3, 150640, 1326, 5504, 3441, 86, 279942, 455, 46, 387, 224841, 10, 27555, 27, 54184, 565995, 12, 1, 304, 22, 115, 16071, 4926, 2703, 215061, 14, 766000, 1861, 43927}
Returns: 781412874
{47, 419, 127, 101546, 24752, 1262, 193, 136, 23, 19161, 1466, 1216, 336, 440, 21, 5, 2, 631948, 554, 1403, 7, 306}
{1965, 2991, 124, 96477, 622794, 438683, 1787, 925424, 88318, 118, 26026, 7898, 174, 31268, 1, 42, 549, 468, 1602, 676, 6, 4}
Returns: 469045367
{261745, 247128, 3707, 269513, 568360, 857661, 26617, 840560, 353436, 415888, 901798, 557241, 317592, 747605, 207635, 265916, 70959, 711628, 53086, 254705, 183102, 640040, 369712}
{67, 303, 43, 946435, 979, 25859, 1, 104, 576911, 943391, 851949, 3, 11047, 753, 565, 505, 550, 121, 5562, 210439, 194110, 488, 747}
Returns: 12197647
{476556, 897948, 543587, 773628, 743570, 275425, 98778, 367689, 800422, 269023, 9918, 661952, 579997, 292675, 559408, 280619, 487518, 550020, 643105, 489667, 922464, 157872, 381150, 141500, 703658, 900004, 218022, 20665, 102997, 56777, 403089, 517886, 216040, 688789, 707367, 554515, 704523, 603894, 165491, 663007, 734616, 385582}
{896, 3, 334358, 8489, 183669, 221, 23980, 173, 127, 12, 84639, 374, 9272, 2, 26057, 6573, 57048, 262, 9776, 757520, 5632, 502, 118, 91, 208557, 333, 53362, 1, 77, 5892, 255, 190, 58977, 61, 6, 61671, 1337, 1762, 45440, 757563, 236491, 33537}
Returns: 279833808
{17327, 347888, 271360, 502904, 291761, 103348, 955238, 794487, 774602, 691242, 122688, 376231, 506778, 9489, 291981, 599204, 482469, 918754, 964526, 467673, 194652, 129259, 981652, 271290, 386575, 488475, 56524, 515902, 725889, 34364, 446547}
{777616, 912207, 178055, 407209, 478252, 348679, 447650, 537479, 671082, 230698, 245669, 604021, 340428, 142320, 727142, 737001, 913795, 812377, 812399, 180155, 620763, 1964, 502740, 207736, 921126, 534556, 521269, 843456, 59806, 722148, 736576}
Returns: 572060165
{155355, 294123}
{530794, 772011}
Returns: 786627689
{545541, 819630, 831220, 658129, 171475, 199769, 649287, 25285, 558380, 787570, 828751, 488286, 241158, 827032, 272221, 437858, 503505, 5618, 791032, 687141}
{917604, 24, 14855, 138724, 53, 58, 5, 67, 3042, 428664, 56, 9, 163, 1, 3139, 10, 73833, 10924, 3, 257301}
Returns: 177902658
{683670, 996814, 6848, 96}
{651515, 218856, 358517, 272316}
Returns: 580354406
{69335, 21238, 223297, 4828, 4, 241086, 85735, 60, 5, 3616, 127, 7, 71, 1, 182092, 4199, 28, 2997, 11, 113, 492, 7544, 35029, 41, 109, 892164, 17, 21, 35, 1, 66}
{1585, 930190, 447, 2, 3, 15, 364, 553, 37, 63366, 4, 70571, 3543, 173, 189, 301, 6748, 29, 71, 378, 48990, 9, 714620, 58, 50, 61683, 641000, 5720, 12532, 1, 19}
Returns: 239190562
{470457, 509620, 483994, 834127, 520122, 621691, 177405, 932449, 794700, 38122, 437269, 621639, 920340, 532291, 855306, 572323, 487208, 338196, 388587, 454234, 178744, 545132, 680272, 954311, 580801, 560542, 240425, 520578, 431276, 813718, 783257, 48682, 368532, 909247, 319101, 654604, 258100, 843967, 492106, 256495, 842384, 213955}
{8980, 26285, 869705, 759531, 939809, 447117, 317385, 292727, 640458, 175984, 690603, 610274, 805259, 613514, 320842, 13784, 893711, 134726, 556162, 132851, 106081, 920724, 949394, 580362, 967767, 846572, 808033, 192839, 481089, 851695, 435557, 911181, 938127, 515978, 437311, 688893, 336794, 388184, 213725, 386035, 190373, 541481}
Returns: 970151515
{3}
{742794}
Returns: 609464783
{453, 44, 7454, 3, 39087, 104921, 3054, 4, 2, 417, 9654}
{31, 6, 3, 4324, 801, 683999, 401671, 164462, 13, 12466, 3143}
Returns: 169413764
{70, 6, 126115, 29707, 252, 97, 703114, 689, 346158, 543, 2, 74, 188830, 132289, 85597, 247, 9645, 72390, 700320, 863, 921, 38579}
{52578, 808247, 225925, 506280, 816684, 962064, 192626, 212336, 949701, 73009, 462181, 902988, 809614, 378976, 70279, 565631, 105844, 843667, 65699, 36963, 863753, 516204}
Returns: 651350845
{13667}
{126364}
Returns: 139568093
{693480, 21201, 219221, 81910, 883835, 446786, 431182, 724581, 909940, 208432, 231932, 607893, 862923, 144126, 496419, 587973, 471185, 816637, 81206, 167365, 934017, 827269, 325105, 82508}
{302115, 952081, 880155, 945388, 890663, 508914, 385360, 948314, 896127, 196191, 224782, 218354, 219808, 330895, 629708, 171159, 766561, 222648, 944331, 972315, 197162, 755177, 292540, 899674}
Returns: 786365406
{1, 1002, 1, 100337, 44958, 91, 1197, 8, 30960, 1, 62878, 79, 472491, 1893, 2699, 936, 392196, 977, 1813, 106466, 13588, 16485}
{3494, 5643, 10, 18, 13, 31, 951623, 3566, 29814, 848947, 3925, 295, 141525, 59, 230, 2, 100861, 95696, 5, 981801, 206, 641654}
Returns: 31009254
{118231, 381421, 656627, 410624, 486110, 836017, 193581, 291353, 817689, 299839, 35403, 618482, 608930}
{33844, 805242, 210141, 258888, 833170, 416588, 3647, 770782, 286232, 552796, 566172, 146092, 671682}
Returns: 407248714
{561426, 646801, 742338, 120477, 750162, 879693, 433089, 657292, 678295, 416033, 270029, 387270, 400388, 381474, 54657, 983454, 360178, 847912, 811328}
{709030, 85809, 1073, 218, 7155, 916, 5, 57, 3097, 127, 43, 6254, 492995, 265115, 2, 3776, 256483, 14068, 57942}
Returns: 399398293
{449693, 556988, 596130, 234248, 237144, 308405, 316085, 979729, 124045, 159318, 508926, 709126, 73690, 206320, 540970, 943829, 967541, 957263, 418796, 506090, 554700, 443869, 705222, 221510, 923598, 271075, 264573}
{16162, 266139, 3007, 238, 1974, 100, 483, 1553, 459, 278, 433, 153, 230671, 55144, 1, 1786, 8716, 55, 2841, 2057, 4909, 15, 227, 3, 585, 112, 6761}
Returns: 509159010
{1171}
{848733}
Returns: 511781070
{427942, 253759, 11, 18638, 179, 409481, 63, 23455, 26680, 346, 28453, 142, 66701, 699, 44919, 51819, 85720, 4083, 5, 9923, 209, 3, 8, 574057, 27418, 130810, 2583, 11, 17, 5, 322, 23, 13, 1835, 14812, 5751, 230, 12488, 335520, 11060, 172}
{212809, 64150, 480508, 19373, 29017, 883715, 220368, 457387, 687370, 828924, 453164, 786746, 309156, 130569, 333642, 296343, 934768, 682218, 108862, 282462, 403781, 303752, 434146, 198874, 438524, 563554, 134765, 464740, 463689, 486087, 864128, 735827, 926208, 587141, 979505, 4269, 937065, 766814, 178188, 811867, 523611}
Returns: 707105488
{795095, 451494, 666906, 270615, 850514, 71034, 994348, 599527, 488652, 377175, 912451, 857101, 185866, 787819, 929210, 380484, 56199, 380895, 679617, 899946, 532677, 225430, 60036, 22218, 7129, 244580, 530604, 319570, 608478, 719692, 285836, 707142, 773971, 795304, 109645, 715002, 875568, 820907, 21958, 904012, 212543, 554881, 478982, 807887, 682323, 247111}
{16031, 780, 78770, 27, 4932, 556493, 886205, 434370, 913, 104, 14, 57566, 886127, 522, 448, 9, 2, 128, 53, 3683, 1, 184717, 6, 644346, 57, 174162, 16, 10589, 12, 303, 154406, 108482, 128195, 202596, 1453, 5, 108797, 2678, 2696, 91257, 1891, 23098, 4, 216069, 32212, 165466}
Returns: 944428627
{1, 759, 157}
{984001, 863121, 758710}
Returns: 168872183
{3, 4, 464095, 254685, 49484, 7776, 2348, 6312, 15, 31, 27, 3, 65003, 40, 35105, 228, 822310, 278, 18076, 308, 172934, 1958, 23097, 17679, 15235, 1, 215, 1346, 120883, 418799, 1736, 71385, 65154}
{1909, 966364, 171777, 785251, 280309, 79188, 308475, 209788, 376023, 339753, 189284, 287760, 638774, 413334, 512044, 543171, 268825, 589524, 454412, 64360, 533072, 438302, 688481, 440621, 26345, 888256, 370335, 906546, 579721, 907399, 945387, 89992, 111962}
Returns: 926642431
{293370, 262800, 62308, 266155, 129370, 875874, 110645, 551448, 751850, 674095, 817225, 286730, 461369, 183666, 589141, 191364, 169816, 486149, 86077, 795130, 540394, 50679, 533879, 374295, 991194, 900365, 720406, 404143, 53495, 120420, 577081, 393258, 317816, 592010, 855633, 850784, 508786, 714988, 335022, 665149, 859676, 83884, 268287, 384915}
{1811, 46, 38, 39, 13444, 1413, 111069, 307, 16149, 94, 4, 285, 1252, 16156, 636, 25008, 24473, 554, 2074, 49843, 104, 10, 36, 271, 1138, 515, 9, 7, 160, 2, 24, 16768, 349492, 18, 56, 206, 28, 61, 1, 37, 50, 215146, 3294, 402245}
Returns: 748246395
{832676}
{706117}
Returns: 79636166
{613, 942, 40758}
{26082, 437, 1}
Returns: 469129824
{608058, 347589, 492227, 276498, 914167, 16072, 817377, 382249, 520803, 571482, 686313, 570256, 258733, 730075, 290194, 804893, 118167, 604174, 505059, 530715, 771679, 645114, 178660, 130018, 489077, 52937, 227307, 611081, 546104, 344749, 534013, 689173, 730231, 44115, 347665, 720821, 399748, 498946, 87102, 800355, 458735, 287305, 590764, 76288, 359218}
{217, 31, 634, 99402, 45, 2, 2483, 531685, 44, 1, 93, 124, 7, 29, 42, 22, 2903, 13, 589, 100, 3, 112665, 21633, 14, 81439, 94902, 48, 23123, 10, 101715, 4292, 17796, 15, 566, 27, 323, 235771, 164842, 84, 869050, 348304, 288666, 1890, 62, 11971}
Returns: 450648549
{5, 4, 3234, 960, 172679, 231476, 28184, 16812, 3136, 256986, 6, 49918, 59440, 289472, 27767, 4207, 16206, 6, 1407, 913, 9, 27, 1712, 64, 2, 628482, 268406, 4, 7, 91, 382, 24834, 89, 94590, 5704, 634187, 477, 5555}
{682239, 428770, 552005, 998880, 67099, 587231, 43508, 152300, 767876, 447642, 463172, 496794, 370991, 65202, 437288, 790476, 407389, 857463, 779112, 190864, 449713, 206735, 275558, 240997, 566064, 657770, 381217, 835110, 621487, 818666, 621236, 82080, 204255, 24045, 662073, 666050, 405830, 960605}
Returns: 393717665
{183847, 367144, 84678, 323030, 521057, 602900, 1349, 103729, 676156, 703345, 534237, 851066}
{588972, 406958, 782854, 122226, 535384, 249102, 648020, 878922, 498369, 118292, 552313, 60502}
Returns: 878926177
{628832, 587836, 208156, 102587, 786743, 880350, 141830, 463549, 982041, 784798, 318030, 734921, 257288, 394079, 115208, 599148, 21408, 199359, 594863, 352039, 212833, 15107, 362516, 150184, 297348, 778477, 797255, 496958, 747896, 789174, 49881, 622688, 836057, 232035, 643311, 221882, 593722, 659994, 456546, 822514, 181691, 217240, 337158, 490971, 21291, 526597, 192275, 632963, 419890, 964760}
{350229, 106350, 6099, 4, 99830, 811, 96, 106387, 229, 97274, 163, 754, 199566, 29, 3225, 8340, 44913, 663116, 39, 19, 30278, 71, 311, 3183, 1, 31418, 52215, 789942, 602844, 1307, 22, 167, 501, 435841, 2498, 1023, 3250, 30246, 1857, 966342, 931588, 5766, 324305, 7056, 125718, 98, 6, 15524, 1502, 147}
Returns: 646764574
{4885, 127, 226927, 609792, 11124, 14, 53, 6682, 7206, 30, 11, 55681, 6, 1704, 24710, 145, 37, 1, 3, 56, 82254, 457802}
{761872, 701747, 796163, 199758, 264586, 929905, 255702, 780081, 423180, 259106, 152223, 335208, 489062, 411717, 968634, 784500, 82391, 393631, 326015, 417043, 260039, 141524}
Returns: 151259311
{44892, 65389, 407417, 142844, 3393, 10903, 2774, 473999, 487, 21, 62, 13187, 43, 984926, 1530, 513, 1514, 32, 7543, 132, 82}
{4, 1, 554735, 88850, 1587, 847, 2, 1227, 38, 119673, 149466, 3436, 193, 62, 3419, 324, 12538, 8512, 24413, 1285, 9223}
Returns: 53619990
{38932, 889820, 327473, 702316, 859542, 694440, 212589, 129423, 916695, 610669, 620747, 503538, 495001, 782433, 539320, 191735, 851162, 380093, 206725, 379178, 773715, 270872, 167124, 72547, 828242, 23181, 270205, 437372, 469965, 70185, 46936, 993797}
{950579, 446599, 127757, 867259, 300397, 435248, 39439, 346461, 999319, 235349, 714145, 149195, 160650, 877035, 843089, 398205, 136406, 272655, 434429, 545578, 557217, 708027, 73842, 749426, 75508, 341473, 997934, 619128, 886022, 599166, 547565, 995298}
Returns: 757858517
{910700, 119518, 105645, 754081, 254314, 245995, 407365, 234758, 112598, 607551, 975697, 629478, 221571, 863642, 567144, 167305, 576422, 24948, 40639, 423600, 931061, 621756, 216160, 24952, 748147, 880365, 234813, 548425, 886382, 246196, 308995, 68023, 902627, 979051}
{34, 1772, 839685, 152834, 2, 902, 1142, 174834, 809512, 9180, 77744, 12, 85440, 20, 14, 104, 48, 873881, 659947, 404, 3553, 47, 28, 54105, 1146, 12794, 1, 847250, 402976, 537, 51, 123, 226100, 2531}
Returns: 557428938
{94672}
{960648}
Returns: 712840460
{6, 35150, 18942, 29, 123, 830, 68772}
{202877, 372478, 181456, 280586, 414043, 177188, 418390}
Returns: 529185008
{160050, 475025, 740643, 672041, 681651, 527161, 620043, 932548, 289664, 161003, 60946, 804228, 634512, 812089, 944193, 262804}
{67280, 558031, 98830, 31398, 112216, 480, 98109, 590650, 432119, 2, 2866, 1341, 231, 381082, 824, 281}
Returns: 547623824
{438317, 470494, 96547, 471784, 207569, 714017, 145923, 297709, 700740, 635399, 678239, 642310, 488071, 442489, 583965, 589807, 325925, 349624, 657584, 925715, 357887, 45288, 952282, 856949, 916738, 771667, 100611, 842793, 190585, 18495, 134401, 929933, 934684, 903396, 983744, 990551, 554939, 789350, 346891, 286578, 906787, 383060, 218579, 317705, 69287, 5165}
{1265, 420984, 156727, 4466, 87, 118, 796410, 7571, 41, 10668, 37, 3, 13, 32468, 11, 217891, 424444, 24, 381294, 148007, 147, 199175, 1002, 23239, 253193, 227, 183834, 3945, 1737, 58156, 188, 5, 294, 32, 93, 474, 25, 38706, 2, 10423, 29326, 1, 842972, 202, 7, 98}
Returns: 32731665
{2873, 207244, 9, 11791, 1065, 14786, 236, 1, 3, 148, 55, 2810, 6948, 872, 14, 294, 541, 5, 3, 1, 26297, 7422, 11, 40, 8}
{9, 39762, 1002, 127, 32035, 267936, 6, 4, 300, 2984, 80033, 903, 10652, 1, 67, 61, 3513, 13513, 48601, 37, 813720, 5557, 517668, 50544, 117735}
Returns: 699567454
{357143}
{404701}
Returns: 449831723
{703119, 653291, 485736, 175394, 273790, 543820, 762407, 17435, 114193, 852377, 936806, 494497, 646664, 765368, 714699, 830522, 93054, 62049, 770578, 963902, 684512, 105433, 767284, 474287, 889614, 690838}
{404055, 127117, 901955, 714223, 272424, 333040, 966789, 770274, 243332, 128509, 467264, 702858, 56495, 217660, 484374, 522076, 986415, 942369, 680066, 271705, 534085, 39692, 213263, 501661, 365750, 65118}
Returns: 503726240
{23, 1, 14, 5, 111, 120831, 3619, 7, 1403, 14361, 66, 12, 10856, 3, 4304, 1626, 2036, 297, 1459, 2078, 4, 23843, 2642, 225, 28482, 906, 47496, 6, 720435, 351, 3747, 4, 778, 1, 39316, 197, 4, 1, 3447}
{856456, 85718, 7263, 288, 7424, 394, 99, 5139, 68, 35, 4574, 25, 256, 65, 2, 555, 12916, 104, 20191, 171, 5, 653, 256046, 912553, 78, 117555, 278537, 544984, 1, 9012, 12039, 695, 3, 6, 36, 1008, 28, 10, 7912}
Returns: 176584899
{919191, 272552}
{10747, 7433}
Returns: 808661160
{382528}
{782799}
Returns: 82118760
{64, 311, 2515, 135174, 810, 4, 7, 158160, 127, 20038, 23236, 8491, 576046, 603984, 52, 27, 2898, 1489, 6684, 9227, 68623, 124936, 13, 2, 687704, 261879, 7127, 3, 1995, 459085, 884939, 235, 1, 218, 33918, 998499, 59, 1982, 571348, 82428}
{26, 27, 243900, 7, 40, 5, 146976, 221, 14690, 118, 446, 91751, 245368, 325, 398, 18, 3921, 10894, 32260, 16, 510, 1730, 105, 8, 70, 688626, 367672, 1, 43, 11214, 105035, 119, 3, 14, 7893, 12, 315084, 4, 46035, 2128}
Returns: 301840876
{526227, 35668, 1, 1613, 170641, 3, 247, 102, 15, 21, 20255, 24548, 891964, 29, 5, 7223, 40, 26, 13488, 1, 1515, 5816, 709, 494, 154224, 1728, 49933, 18, 5, 71246, 213, 27, 503805, 490754, 74175, 110403, 121563, 14, 1, 74, 601585, 473853}
{230788, 25, 21581, 77, 75, 167, 251934, 29, 3190, 4108, 678, 324, 106, 10, 22190, 318, 134885, 25421, 36, 7286, 4, 136, 690, 29878, 4592, 523765, 127, 1543, 5, 918, 23, 2, 6348, 2372, 730, 1, 508189, 282312, 258, 616550, 130, 19806}
Returns: 689573849
{622388, 427573, 449107, 876666, 233853, 801138, 898209, 675881, 422955, 691023, 818072, 326944, 240653, 685190, 963560, 406356, 697550, 520268, 322335, 648951, 283066, 966890, 474225, 272259, 71289, 312745, 784789, 650647, 251279, 711034, 896619, 31564, 954773, 585602, 901431, 541896, 477772, 676027}
{1, 3, 574, 4, 796, 653, 15, 14, 404, 49, 88, 47, 14381, 144, 65430, 99396, 84, 275, 50587, 10, 8783, 127061, 70, 38, 3328, 7594, 3556, 154514, 145489, 7525, 25, 738780, 2, 242052, 9, 23, 62, 56431}
Returns: 80842863
{1000000, 999999, 999998, 999997, 999996, 999995, 999994, 999993, 999992, 999991, 999990, 999989, 999988, 999987, 999986, 999985, 999984, 999983, 999982, 999981, 999980, 999979, 999978, 999977, 999976, 999975, 999974, 999973, 999972, 999971, 999970, 999969, 999968, 999967, 999966, 999965, 999964, 999963, 999962, 999961, 999960, 999959, 999958, 999957, 999956, 999955, 999954, 999953, 999952, 999951 }
{999951, 999952, 999953, 999954, 999955, 999956, 999957, 999958, 999959, 999960, 999961, 999962, 999963, 999964, 999965, 999966, 999967, 999968, 999969, 999970, 999971, 999972, 999973, 999974, 999975, 999976, 999977, 999978, 999979, 999980, 999981, 999982, 999983, 999984, 999985, 999986, 999987, 999988, 999989, 999990, 999991, 999992, 999993, 999994, 999995, 999996, 999997, 999998, 999999, 1000000 }
Returns: 940374042
{1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000 }
{999951, 999952, 999953, 999954, 999955, 999956, 999957, 999958, 999959, 999960, 999961, 999962, 999963, 999964, 999965, 999966, 999967, 999968, 999969, 999970, 999971, 999972, 999973, 999974, 999975, 999976, 999977, 999978, 999979, 999980, 999981, 999982, 999983, 999984, 999985, 999986, 999987, 999988, 999989, 999990, 999991, 999992, 999993, 999994, 999995, 999996, 999997, 999998, 999999, 1000000 }
Returns: 49436268
{1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000 }
{1000000, 999999, 999998, 999997, 999996, 999995, 999994, 999993, 999992, 999991, 999990, 999989, 999988, 999987, 999986, 999985, 999984, 999983, 999982, 999981, 999980, 999979, 999978, 999977, 999976, 999975, 999974, 999973, 999972, 999971, 999970, 999969, 999968, 999967, 999966, 999965, 999964, 999963, 999962, 999961, 999960, 999959, 999958, 999957, 999956, 999955, 999954, 999953, 999952, 999951 }
Returns: 49436268
{1, 1000 }
{11312, 12 }
Returns: 737000422