Statistics

Problem Statement for "SubtreeSum"

Problem Statement

You are given an undirected tree. The tree has n vertices, numbered 0 through n-1. For each valid i, there is an edge between the vertices p[i] and (i+1). Each vertex i has a nonnegative integer weight x[i].

All nonempty connected subgraphs of our tree are called its subtrees. The value of a subtree is the bitwise OR of the weights of its vertices. For example, a subtree that contains vertices with weights 1, 4, and 6 has the value (1 OR 4 OR 6) = 7.

You are given the description of the tree: the int[]s p and x. Compute and return the sum of values of all subtrees, modulo 10^9 + 7.

Definition

Class:
SubtreeSum
Method:
getSum
Parameters:
int[], int[]
Returns:
int
Method signature:
int getSum(int[] p, int[] x)
(be sure your method is public)

Constraints

  • n will be between 2 and 50, inclusive.
  • p will contain exactly n-1 elements.
  • For each i, 0 <= p[i] <= i.
  • x will contain exactly n elements.
  • Each element in x will be between 0 and 1,000,000,000, inclusive.

Examples

  1. {0}

    {1,2}

    Returns: 6

    This is a tree with two vertices and a single edge 0-1. This tree has three subtrees: A subtree that only contains the vertex 0. A subtree that only contains the vertex 1. A subtree that contains both vertices. The values of these three subtrees are 1, 2, and 3. Hence, the correct return value is 1+2+3 = 6.

  2. {0,1}

    {1,2,4}

    Returns: 23

    This tree has six subtrees. Their values are 1, 2, 4, 3, 6, and 7, respectively. The sum of these values is 23.

  3. {0,0,0,0,0,0,0,0,0,0}

    {1000000,1000000,1000000,1000000,1000000,1000000,1000000,1000000,1000000,1000000,1000000}

    Returns: 33999993

    This tree has 1034 subtrees. Each of those subtrees has value 1,000,000. Hence, the sum of values of all subtrees is 1,034,000,000. We should return 1,034,000,000 modulo (10^9 + 7) = 33,999,993.

  4. {0,0,1,0,2,2,3,0,0,2,1}

    {4,5,6,7,0,8,9,5,1,2,3,6}

    Returns: 6378

  5. {0}

    {0,0}

    Returns: 0

  6. {0}

    {522102726, 453776758}

    Returns: 497986347

  7. {0, 0, 1, 2, 1, 2, 5, 7, 2, 1, 1, 0, 10, 8, 11, 9, 4, 4, 0, 10, 17, 13, 9}

    {125572883, 226450961, 259789588, 125768212, 123543323, 368925458, 536485638, 528457239, 400432182, 257890052, 324868695, 134157110, 259578646, 174396950, 167163730, 267138818, 259889687, 123640340, 89996033, 123612679, 226123666, 259989012, 100588114, 268309058}

    Returns: 723356567

  8. {0, 0, 1, 1, 2, 1, 3, 6, 5, 4, 10, 11, 3, 12, 3, 15, 13, 14, 8, 6, 5, 21, 22, 4, 5, 17, 8, 4, 11, 21, 30, 27, 13, 15, 14, 29, 19}

    {227888703, 131551287, 25524859, 93832443, 26696243, 18313275, 131425403, 30899259, 429356059, 30884982, 98524215, 227896383, 64308795, 30886011, 198698875, 362644563, 26701426, 165103675, 60245555, 26705023, 63790717, 29718131, 159867963, 31450235, 30753843, 130354519, 96947771, 26690674, 31446139, 30895161, 14112027, 22503018, 30871635, 18306079, 97996887, 219637355, 27215998, 93281331}

    Returns: 757726244

  9. {0, 0, 1, 3, 3, 0, 3, 3, 2, 3, 3, 11, 4, 1, 8, 7, 1, 9, 17, 14, 8, 17, 1, 6, 2, 3, 2, 13, 20, 12, 12, 9, 28, 11, 34, 31, 8, 30, 14, 13, 22, 22, 42}

    {11717338, 12778222, 79833803, 46279662, 94397170, 97677306, 25849834, 48384754, 14838490, 32123630, 113307378, 272788462, 8679114, 10637034, 14707422, 82078442, 79850234, 96529404, 15813374, 46181066, 8555206, 316812234, 75688682, 113273474, 12810926, 94580718, 12733170, 113266414, 14822122, 83258074, 14707662, 12774142, 348805870, 115354350, 79850214, 96553702, 11578090, 80407278, 12741326, 73460458, 14871274, 10947498, 79854282, 79850470}

    Returns: 837275201

  10. {0, 0, 2, 1, 0, 0, 3, 0, 0, 6, 3, 11, 11, 4, 6, 7, 16, 11}

    {173684856, 64907507, 156924392, 467614696, 526334444, 197293053, 193689077, 31103221, 123476453, 165325503, 328874405, 190463485, 433989813, 190462449, 289020085, 426392760, 190463920, 328886659, 467303848}

    Returns: 265816965

  11. {0, 1, 2, 2, 2, 2, 0, 1, 0, 4, 4, 2, 5, 4, 5, 0, 2, 2, 0, 0, 3, 4, 5, 1, 5, 2, 5, 0, 4, 2, 3, 4, 5, 1, 0, 3, 1, 5, 1, 2, 4, 5, 3, 2, 0, 3, 1, 5, 4}

    {254457744, 130555344, 357580760, 229809107, 260087708, 533427674, 129564635, 119712730, 103429624, 266638810, 44601242, 267437498, 204083100, 262176698, 84418554, 259135378, 99131270, 133319892, 259063227, 359665054, 259012058, 119576028, 89150704, 29922522, 252190107, 397065178, 251174876, 228259792, 262714640, 129644497, 119575704, 262753994, 224966554, 226025434, 241729514, 228596670, 222361305, 149059228, 132667352, 535306136, 95967121, 246464472, 192946130, 256065238, 132683257, 157859034, 228097998, 237035345, 260061082, 125886424}

    Returns: 133361068

  12. {0, 0, 0, 2, 0, 1, 2, 2, 0, 2, 2, 1, 0, 2, 1, 1, 2, 2, 0, 1, 1, 2, 0, 1, 0, 0, 0, 2, 0, 2}

    {532232276, 498839320, 363064183, 490391582, 395898735, 389921821, 364559888, 481979452, 398174224, 498641470, 532180500, 482012755, 473640252, 381315196, 473677438, 490343728, 472084062, 481960220, 532409435, 531378002, 507194462, 498756692, 522431580, 522776117, 364555358, 96090910, 498842999, 388508188, 389231670, 487128888, 481867804}

    Returns: 41786705

  13. {0, 1, 0, 3, 2, 1, 6, 6, 7, 2, 4, 7, 12, 7, 0, 8, 3, 7, 3, 11, 18, 21, 3, 19, 4, 11, 22, 18, 7, 27, 25, 5, 11, 20, 6, 27, 10, 30, 37, 27, 0}

    {213868974, 497382074, 482166218, 415056154, 271401018, 449663466, 438636699, 513622170, 280757418, 272315822, 176948618, 276264091, 505745848, 407979146, 438116494, 473759848, 347940010, 516505738, 514670730, 438911678, 428605630, 481624282, 473911594, 277610776, 443367630, 350699770, 486359466, 336008074, 472736430, 338953610, 269299866, 504111546, 411574409, 439181775, 280830346, 477057182, 378357694, 338433450, 381182126, 481886650, 403272826, 143458618}

    Returns: 213670967

  14. {0, 1, 1, 0, 4, 5, 2, 0, 5, 4, 3, 2, 7, 13, 8, 2, 2, 0, 10, 9, 20, 2, 21, 8, 1, 20}

    {453793113, 386637135, 453518683, 388801747, 323944794, 529139161, 36443226, 220792024, 191829466, 289795418, 122192083, 23691735, 393129051, 321458382, 107646298, 487429210, 527058778, 455806298, 460294226, 222925659, 84411611, 52105290, 19566683, 122619602, 55413851, 370763099, 252260446}

    Returns: 654764528

  15. {0, 1, 0, 0}

    {321539613, 279695133, 277499448, 91159071, 95379060}

    Returns: 598365930

  16. {0, 1, 2, 3, 4, 0, 5, 6}

    {446864971, 511843911, 464672967, 462846659, 447378402, 444783171, 436641755, 79093331, 378467914}

    Returns: 209269359

  17. {0, 1, 2}

    {148843485, 479536467, 278865114, 414392649}

    Returns: 154562661

  18. {0, 0, 0, 1, 3, 1, 0, 2, 4, 0, 4, 11, 4, 8, 7, 12, 1, 3, 1, 14, 0, 0, 0, 6, 7, 11, 21, 27, 10}

    {156511099, 286552788, 74453643, 425474763, 71052752, 273709433, 102519363, 219312706, 353645242, 487858907, 353385363, 357779547, 459556945, 152051803, 340800123, 1211248, 358226011, 72882699, 1849727, 407660755, 269767299, 84950555, 487340440, 490813515, 358103771, 16788246, 72366787, 285487251, 89660003, 403974955}

    Returns: 991850838

  19. {0, 0, 0, 1, 4, 4, 2, 1, 6, 7, 6, 6, 11, 3, 14, 6, 16, 7, 14, 16, 8, 0, 5, 2, 16, 13, 3, 16, 2, 1, 9, 26}

    {338751799, 272006046, 310599709, 274913775, 268582943, 305053925, 413498373, 472936559, 345167923, 272001463, 269617215, 272037235, 405860773, 11964751, 3529005, 70400475, 406220976, 268507559, 268661171, 284820407, 270989795, 280125707, 338886015, 346483071, 355893604, 338828151, 338835743, 337701315, 271978173, 414609431, 402815085, 271866183, 279991461}

    Returns: 577784503

  20. {0, 1, 0, 3, 4, 4, 3, 2, 4, 4, 5, 0}

    {244886346, 261630298, 468914168, 465143758, 196316970, 433753866, 463063618, 261670706, 398039882, 530287898, 530122568, 429394250, 245919315}

    Returns: 25423647

  21. {0, 1, 0, 3, 1}

    {142859916, 27727761, 229856400, 42065040, 8740288, 39050780}

    Returns: 167078508

  22. {0, 0, 2, 3}

    {63923087, 39605195, 4989827, 902024, 17589135}

    Returns: 623486598

  23. {0, 0, 1, 2, 3, 5, 0, 6, 3, 0, 0, 4, 8, 10, 3, 8, 13, 17, 12, 5, 16, 21, 6, 8, 9, 3, 5, 12, 21, 15, 5, 0, 28, 21, 6, 28, 30, 32, 9, 25, 28}

    {175749946, 183108383, 158572858, 37399414, 473080123, 188234010, 372947743, 456898870, 141275411, 208845331, 187316407, 456864003, 510798643, 175831839, 303805018, 444571666, 188459290, 159035706, 440088594, 171663486, 511353106, 241934651, 171637305, 6007090, 507224215, 451607474, 476787482, 243001498, 444277147, 376633530, 470956062, 511567923, 56291842, 444295447, 439073051, 170631738, 104512315, 39500091, 437445274, 242952243, 175221183, 440054335}

    Returns: 671692254

  24. {0, 1, 2, 2, 1, 5, 6, 3, 5, 3, 3, 5, 9, 5, 12, 11, 13, 10, 13, 19, 14, 21, 19, 18, 22, 22, 20, 23, 20, 29, 26, 24, 32, 26}

    {484885584, 408343621, 281236560, 415286281, 450282970, 433034456, 367364306, 149554385, 216226392, 484723925, 467188744, 463752917, 500082393, 499375120, 164353625, 482706642, 501961817, 409179201, 486186062, 516726278, 519439961, 418270352, 433755465, 482772308, 229086531, 451026049, 415418451, 485674058, 501353617, 148305103, 499568209, 434265752, 518624978, 432704668, 434372313}

    Returns: 810126380

  25. {0, 0, 2, 2, 3, 0, 1, 4, 5, 1, 8, 7, 8, 1, 6, 8, 11, 12, 2, 4, 2, 20, 20, 6, 4, 11, 11, 24, 20, 9, 2, 18, 22, 26, 5, 9, 28, 23, 1}

    {445712946, 294341383, 310578084, 311627030, 139078422, 276908801, 515976503, 11143569, 315760917, 276965765, 315688979, 314771862, 315753233, 282306599, 294717689, 310519862, 315755428, 278006039, 299534789, 43199875, 315861013, 314682659, 444729620, 282208564, 278104852, 297274166, 349391159, 449039111, 311593750, 282732831, 349775874, 335192436, 349817171, 281250565, 377720701, 517687376, 395546135, 445122869, 281037106, 445810967}

    Returns: 235044087

  26. {0, 0, 2, 3, 0, 0, 1, 0, 8, 3, 6, 5, 11}

    {268363237, 486324589, 191613221, 519965037, 221947141, 536865133, 285092260, 469665263, 199109101, 461245797, 31368493, 166644999, 192861669, 536128397}

    Returns: 925075706

  27. {0, 1, 2, 1, 1, 1, 4, 1, 5, 9, 5, 10, 2, 1, 7, 7, 13, 1, 7, 8, 15, 15, 9, 4, 5, 9, 12, 12, 4, 4, 4, 7, 4, 8, 14, 2, 14, 1, 11, 4, 9}

    {32730401, 85055856, 151898484, 58018149, 433412132, 7719792, 368660852, 330694512, 374467956, 500280672, 354651252, 464739168, 290572640, 228412924, 206662001, 72973664, 374459252, 1415512, 32623984, 464620884, 345016692, 326453620, 217178485, 242579956, 120978680, 157571444, 264587644, 242305397, 534039668, 60284244, 103912677, 223470965, 118848612, 101834092, 363887940, 89160060, 271665524, 425314636, 108395380, 299186532, 124877180, 368150765}

    Returns: 869337910

  28. {0, 1, 0, 3, 0, 0, 0, 6, 7, 9, 5, 5, 7, 12}

    {303160413, 370768220, 454641776, 374594000, 508938491, 169132154, 171276496, 34929369, 443670120, 370405486, 303225464, 101051483, 305324126, 320064842, 372568153}

    Returns: 838901271

  29. {0, 0, 1, 2, 4, 5, 0, 4, 5, 9, 6, 1, 4, 3, 11}

    {293604030, 353704636, 386116236, 395717019, 362032026, 345582237, 386341015, 386361496, 353438392, 353372860, 344295993, 352324251, 395717272, 386214585, 362219545, 302066608}

    Returns: 693087228

  30. {0, 1, 0, 2, 2, 5, 6, 2, 3, 9, 8, 6, 4, 11, 9, 9, 10, 5, 13, 9, 20, 20, 17, 10}

    {357686981, 298942453, 406942821, 30494433, 366042725, 26312164, 13860197, 273776245, 5463653, 290716869, 404324085, 299490917, 13657701, 13728993, 420704081, 22099557, 68245313, 97584741, 298917493, 290550981, 294727009, 64069204, 282163937, 282279905, 26304485}

    Returns: 118080986

  31. {0, 0, 0, 2, 2, 5, 4, 6, 8, 7, 9, 11, 11, 11, 14, 13, 15, 16, 17, 17, 19, 21, 20, 23, 22, 24, 24, 27, 26, 27}

    {536585106, 328500168, 301183864, 196867059, 401060116, 495424184, 194478909, 225149392, 534886851, 497460217, 358850970, 364872459, 99787103, 426230706, 501339040, 195488594, 165126515, 396997491, 464696156, 487506811, 498442879, 228299579, 199459839, 62366705, 265666865, 369025330, 99852762, 334150582, 197968371, 535610067, 535601873}

    Returns: 779919687

  32. {0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0}

    {213335018, 401411038, 217552382, 485993450, 78817791, 473381374, 82191354, 480510455, 212119546, 78947791, 217454042, 83257342, 217473534, 217492963, 216932768}

    Returns: 916626663

  33. {0}

    {92282497, 243341276}

    Returns: 595744314

  34. {0, 0, 1, 2, 3, 5, 3, 7, 1, 5, 1, 0, 10, 11, 1, 12, 6, 5, 1, 4, 12, 10, 16, 10, 16, 14, 9, 0, 15, 11, 19, 24, 4, 19, 28, 28, 22, 5, 37, 0, 12, 8, 8, 10, 36, 31}

    {522868629, 523661729, 489113312, 253907957, 509768341, 506353056, 254563237, 255460257, 522270593, 256064913, 252331536, 506155956, 525620885, 507925409, 522334693, 242955697, 264652433, 522865025, 457864432, 522339219, 509628855, 321274245, 522916563, 506081429, 456291478, 520507780, 522212225, 523133844, 522347413, 513954512, 503730355, 527722644, 520246033, 522408852, 254441413, 505575443, 522736585, 169218704, 520642725, 506147477, 422252948, 506332885, 518152881, 505959255, 514751893, 441324161, 454915985}

    Returns: 399929467

  35. {0, 0, 2, 2, 2, 1, 5, 7, 1, 1, 5, 7, 8, 7, 9, 0, 15, 10, 4, 19, 6, 4, 21, 12, 18, 16, 17, 23, 9, 17, 18, 16, 18, 23, 34, 34, 29, 26, 29, 27, 37, 40}

    {336478298, 253018880, 115246082, 131026699, 105268626, 241125218, 122054184, 205923155, 235145042, 235299850, 392577418, 114435146, 88474635, 264635402, 260450610, 236340482, 130370330, 82732802, 257328136, 60048310, 235169057, 209994570, 106842914, 247792278, 247612746, 241313063, 252658696, 208060718, 235816029, 122699794, 105251058, 123473738, 239346443, 105791491, 79998928, 224297220, 122438926, 130352386, 116015882, 53231904, 80105356, 266223618, 241041430}

    Returns: 811910590

  36. {0, 0, 0, 1, 1, 4, 4, 7, 7, 2, 8, 6, 6, 3, 8, 14, 3, 2, 18, 10, 16, 19, 1, 16, 20, 13, 7, 11, 11, 11, 7, 20, 31, 33, 13, 32, 15, 33, 37, 25, 29, 21, 26}

    {454247351, 188941075, 462631831, 436414359, 525503262, 194183574, 450306959, 458427255, 454496151, 529752991, 198944007, 311937951, 461581207, 186336183, 437455690, 438477205, 462630679, 428016439, 185788213, 454176695, 458436366, 437480343, 461507486, 185813911, 185795347, 318965655, 386073347, 318860183, 462621587, 520225683, 167969439, 189926787, 453192614, 450011543, 453182358, 419638035, 186844051, 462627215, 184749963, 529203603, 185274295, 303237514, 454234039, 454291219}

    Returns: 537480024

  37. {0, 1, 0, 0, 1, 1, 4, 6, 8, 6, 7, 10, 9, 11, 12, 12, 13, 14, 16, 17, 20, 19, 20, 19, 21, 21, 23, 26, 25, 25, 29, 29}

    {432077256, 432524564, 157801938, 138602947, 428986268, 418438472, 184633808, 296610112, 146955729, 264698196, 532806050, 414272724, 166230500, 162781618, 432335296, 146991956, 158056769, 209972500, 163117446, 418412992, 500328914, 165998016, 431118656, 199344962, 166021584, 233560389, 424342549, 188938562, 160221394, 159439424, 402967892, 297924928, 435117200}

    Returns: 536694830

  38. {0, 1, 0, 2, 0, 2, 0, 3, 8, 7, 8, 6, 1, 3, 7, 11, 10, 14, 14, 15, 18, 12, 8, 10, 18, 10, 23, 13, 9, 28, 13, 19}

    {354057619, 84882307, 92034266, 96825786, 89781330, 31256979, 90167235, 358986194, 364697226, 99121586, 84609995, 20544658, 363132834, 85226642, 299112002, 118051474, 88701570, 18445010, 88298899, 354252955, 85455314, 84210562, 84539123, 361844851, 294705242, 83983002, 31057955, 98129858, 22868610, 93319715, 85211907, 89747994, 97358994}

    Returns: 957068980

  39. {0, 1}

    {302783196, 465483800, 436754514}

    Returns: 601507148

  40. {0, 1, 0, 3, 2, 5, 4, 3, 4, 3}

    {157690753, 54947762, 187050753, 176057992, 388948649, 188891042, 56852352, 419594128, 190982435, 21392160, 253947776}

    Returns: 422812429

  41. {0, 0, 1, 0, 1, 3, 6, 4, 6, 5, 2, 1, 9, 4, 13, 6, 9, 15, 15, 17, 0, 7, 4, 10, 14, 15}

    {87681542, 225175844, 507211028, 517205062, 509340768, 504603686, 20445316, 223573548, 471458826, 353037412, 219378436, 208366630, 473129348, 505671470, 357813798, 188996628, 209186372, 37170476, 454779940, 268630070, 219669636, 205754182, 410467436, 119504556, 493579940, 257503092, 354152254}

    Returns: 41590127

  42. {0, 0, 2, 2, 3, 4, 6, 5, 7, 9, 10, 11, 11, 12, 12, 13, 14}

    {286142674, 423301266, 187312402, 295568260, 194589080, 390996404, 53421456, 152700144, 390013044, 463339536, 495461592, 397090832, 468398416, 435695088, 60764308, 501096576, 327954641, 326894068}

    Returns: 457886554

  43. {0, 1, 1, 1, 0, 5, 0, 6, 2, 8, 8, 6, 12, 7, 12, 6, 8, 13, 11, 18, 12, 18, 21, 23, 14, 16, 16, 24, 22, 22, 30, 23, 25, 33, 31, 32, 34, 27, 38, 28, 34, 38, 37, 41, 36, 38, 45, 39}

    {459211379, 457114151, 324450874, 258408729, 533572131, 527300647, 526338695, 454918729, 528175143, 532351675, 461179575, 458727445, 460790425, 534772533, 458706995, 528427067, 526180415, 534714447, 323421007, 459023905, 449971381, 521906277, 524253091, 392013977, 319958055, 532029977, 492233263, 460816915, 536315413, 458022937, 527936019, 442433811, 524286611, 525828907, 527769631, 526330105, 458738491, 467118119, 461351467, 460818963, 466855975, 536824359, 461214049, 458852687, 527901734, 459089467, 463854377, 464863779, 467575327}

    Returns: 508858405

  44. {0, 0, 0, 0, 4, 2, 3, 1, 4, 2, 4, 1, 0, 1, 7, 8, 4, 9, 9, 4, 6, 6}

    {315866971, 88574219, 379293083, 373395995, 121873163, 332639707, 394757787, 528712347, 323199630, 314802889, 374580698, 398566024, 465824537, 324248082, 357278027, 323215391, 374056924, 495693787, 315590302, 373795338, 374603545, 311134225, 391619995}

    Returns: 762387428

  45. {0, 1, 2, 0, 1, 4, 4, 5, 1, 9, 0, 8, 10, 7, 13, 6, 9, 17, 10, 3, 19, 20, 13, 6, 0, 6, 6, 9, 0, 25, 10, 7}

    {391567962, 393631822, 325994575, 123162638, 390332490, 307693646, 391543386, 324419654, 391174222, 324409858, 324459018, 190208090, 55973454, 391401566, 326519366, 525506630, 525687366, 391531082, 324327487, 391514186, 525783042, 374749286, 390486090, 307714122, 374788206, 324426334, 391387246, 324180046, 306583626, 524718174, 323377230, 374217286, 123116098}

    Returns: 732960046

  46. {0, 1, 0, 1, 3, 0, 0, 4, 4, 4, 1, 0, 3, 0, 0, 3, 3, 3, 4, 1, 4, 4, 1, 2, 1, 2, 1}

    {344824980, 516885686, 442482333, 315587726, 282938572, 383102686, 450725013, 315446430, 415946974, 315607170, 451697695, 348642972, 315616654, 483216568, 281922706, 449804318, 331896468, 315591708, 450880704, 315516122, 316660958, 283045022, 315411596, 407763478, 383683804, 449608844, 281334929, 332138202}

    Returns: 764217810

  47. {0, 0, 2, 1, 3, 2, 2, 1, 0, 5, 9, 7, 7, 5, 3, 6, 9, 16, 18, 6, 11, 4, 18, 8, 16, 22, 22, 16, 28, 17, 13, 17, 23, 33, 30, 20, 28, 31, 28, 38, 27}

    {88431604, 90536940, 74873445, 88431084, 30229108, 356867064, 157371306, 90927649, 82793700, 21840568, 121993958, 225402472, 216615907, 91052789, 40720812, 74009197, 90664564, 21056200, 21254562, 39146237, 257777133, 88887017, 88691320, 155535426, 88951533, 6519352, 4283305, 189364324, 224744034, 175069677, 292309114, 121856608, 223304545, 90523888, 491081048, 90527844, 124601320, 357258024, 16863288, 88431045, 6638248, 121654504}

    Returns: 691246003

  48. {0, 1, 0, 2, 4, 5, 4, 6, 6, 6, 10, 2, 0, 6, 7, 7, 15, 14, 0, 1, 19, 17, 9, 12, 0, 7, 4, 5}

    {207063876, 206957934, 476030964, 72854884, 173477708, 74935126, 138833612, 139673468, 142986572, 348593990, 215166534, 6782958, 408391540, 240643404, 72863069, 71815148, 273878861, 71559782, 39291469, 4681582, 474172012, 475418436, 207474524, 239275116, 74665028, 71782238, 341274574, 239218532, 492031556}

    Returns: 224613721

  49. {0, 1, 1, 3, 2}

    {267875544, 115337608, 503275800, 73397596, 360424408, 116883870}

    Returns: 368938650

  50. {0, 1, 0, 2, 3, 2, 4, 0, 2, 8, 9, 3, 10, 8, 11, 15, 15, 14, 12, 11, 15, 21, 14, 17, 22, 25, 21, 21, 28, 21, 29, 26, 27, 28, 32, 34, 30, 36, 38, 31, 36, 39, 35, 36, 42, 45}

    {5879128, 173782313, 182451522, 484031824, 475634134, 232512863, 484025850, 496580066, 484178876, 479968630, 484171260, 484089338, 224375893, 480197110, 503217008, 479900056, 475706850, 404471234, 496677343, 206613846, 211400176, 488223100, 484043984, 232371527, 207199708, 215676396, 148499312, 232339703, 475573577, 224239073, 517546448, 228308466, 446429142, 495727064, 479978834, 31014388, 486063466, 412721555, 228195231, 249172332, 479837658, 499886562, 479968481, 496581954, 366532688, 479834456, 496740853}

    Returns: 861009807

  51. {0, 0, 1, 1, 4, 4, 5, 6, 6}

    {185286592, 272791032, 269383576, 67649312, 17465184, 423788112, 5144384, 223223680, 434466656, 89026378}

    Returns: 704621482

  52. {0, 1, 2, 1, 4, 1, 0, 4, 0, 1, 9, 3, 3, 13, 9, 4, 12, 14, 4, 12, 6, 9, 14, 10, 4, 7, 19, 5, 22, 4, 21, 11, 25, 7, 16, 21, 14, 5, 21, 9, 6, 13, 25, 33, 8, 25, 35}

    {139979733, 157637813, 511006853, 240081553, 223861557, 99605428, 164067509, 172466101, 240638357, 206920629, 207051453, 200498869, 374601861, 234314677, 197393074, 122788741, 72572697, 427113141, 148363709, 175594419, 139713965, 233134741, 140892565, 56023717, 509057441, 483773061, 172317105, 249035439, 240474804, 267901109, 150305205, 65526431, 173234333, 165140919, 240606397, 91704855, 259094677, 166972045, 234183612, 90298512, 258431489, 308730005, 217553841, 232119941, 206002323, 415751061, 215308965, 206699409}

    Returns: 197478238

  53. {0, 0, 1, 3, 1, 4, 3, 3, 1, 0, 2, 2, 0, 2, 1, 0, 14, 14, 6, 10, 0, 8, 13, 2, 20, 5, 25, 5, 25, 18, 2, 14, 17, 21, 24, 29, 1, 24}

    {24474917, 90158086, 360150336, 21759490, 24908864, 27080100, 408630528, 230037250, 276657446, 299267552, 366968160, 217339138, 435778978, 301487364, 334959879, 425717863, 435451200, 163017984, 293074213, 283055362, 485340482, 299193603, 503141728, 494655239, 286324001, 436090118, 368563968, 6059137, 299824390, 234517762, 286348582, 148649344, 24597252, 22902340, 293557510, 332559616, 358028546, 423032065, 365245762}

    Returns: 894031084

  54. {0, 1, 1, 0, 0, 0, 6, 7, 6, 8, 5, 5, 10, 7, 7, 5, 11, 0, 17, 14, 17, 16, 6, 5, 16, 7, 8, 8, 0, 21, 0, 16}

    {125939098, 330897842, 325165191, 320938642, 120434846, 328279426, 109688258, 320941209, 321990787, 102839430, 53589910, 334080142, 326737031, 388048078, 184891796, 320974000, 329889691, 35878290, 323069830, 371273063, 325170578, 320944516, 323050970, 388575628, 388082822, 388310674, 321496217, 318843572, 330425523, 388208652, 388214166, 320945918, 52504786}

    Returns: 711780133

  55. {0, 1, 1, 0, 4, 3, 1}

    {193888512, 214771714, 248973330, 248416452, 247857829, 198716551, 516301251, 214903684}

    Returns: 974185262

  56. {0, 1, 2, 0, 4, 3, 2, 2, 2, 7, 8, 3, 3, 10, 3, 6, 1, 4, 15, 7, 9, 16, 4, 22, 10, 23, 12, 5, 12, 1, 0, 22, 31, 13, 34, 31, 6, 32, 10, 12, 1, 7, 29, 26}

    {185627415, 201358278, 136868817, 137892379, 135850967, 403485330, 209138448, 408421271, 151401107, 202929028, 137368454, 405830551, 171576084, 202974106, 135342602, 169440146, 153181140, 144183956, 176167832, 144191698, 219685528, 135865300, 238102736, 222867987, 204475280, 414725078, 137903056, 194214594, 202899586, 202911376, 141564758, 160503750, 135805571, 235952275, 169489107, 205020114, 404292304, 187708304, 170423251, 154677843, 504623442, 209400790, 176700369, 202397525, 202912452}

    Returns: 590918913

  57. {0, 1, 2, 2, 1, 1, 1, 6}

    {496368198, 411352772, 446463628, 487882370, 470038536, 344783680, 352713742, 521436660, 495367198}

    Returns: 692370782

  58. {0}

    {315008752, 331752609}

    Returns: 978547330

  59. {0, 1, 0, 1, 4, 0, 2, 7, 0, 5, 3, 5, 0, 2, 4, 3, 13, 15, 5, 7, 6, 14, 13, 3, 8, 18, 4, 27, 14, 1, 4, 18, 9, 15, 32, 17, 8, 17, 13, 21, 2, 29, 32, 3}

    {43882629, 5342647, 39373189, 57842876, 333286861, 65047319, 66231878, 33460376, 14273755, 66828749, 64068686, 292538758, 56270111, 313629845, 301440142, 83267333, 301782423, 283807111, 56002646, 330877573, 49020039, 65580813, 332463238, 65265430, 64347662, 65773329, 64740807, 300076685, 16616615, 65641347, 332963487, 300726671, 334923255, 31100309, 82876431, 56671718, 116366989, 65117062, 329682077, 29597335, 39946374, 32939142, 324705727, 54763422, 284856533}

    Returns: 877367952

  60. {0, 1, 1, 3, 1, 3, 6, 3, 4, 0, 6, 10, 1, 13}

    {404993980, 167988534, 419858238, 461609780, 403601470, 18935093, 420039996, 420141492, 227654454, 145079868, 285445951, 420174334, 421743927, 470255677, 151056190}

    Returns: 816212389

  61. {0, 0, 1, 2, 4, 1, 1}

    {105394811, 238551295, 35422351, 203961198, 111231243, 261902673, 174621689, 244085187}

    Returns: 343813850

  62. {0}

    {76063928, 121153768}

    Returns: 326761112

  63. {0, 1, 1, 2, 2, 5, 2, 3, 3, 0, 0, 11, 1, 2, 7, 3, 11, 16, 8, 6, 6, 13, 11, 22, 20, 13, 14, 17, 27, 25, 19, 29, 19, 27, 20, 21, 24, 23, 25, 25, 26, 34, 42, 42, 43, 34, 33, 39, 43}

    {358439564, 27090316, 527193736, 360520111, 268306824, 226331789, 534121900, 222698956, 268174504, 228445608, 224191916, 391973288, 502209674, 234626188, 165482888, 92052872, 225185192, 118295976, 234692012, 391994509, 489033098, 231496874, 265620649, 362090376, 100502956, 227380616, 234642824, 234659720, 125804430, 367791502, 503252908, 157025704, 232523660, 367283594, 24985772, 265621386, 232131756, 232692908, 99405740, 434982152, 226445228, 492572045, 100507020, 221578408, 496780716, 231152778, 98311304, 226428298, 266142890, 533547452}

    Returns: 462545339

  64. {0, 0, 2, 3, 1, 5, 0, 2, 5, 0, 1, 10}

    {349396668, 349420189, 496237710, 410237085, 337049693, 270515357, 492161681, 351386268, 270204061, 347310268, 475499165, 368274333, 278067229}

    Returns: 210066005

  65. {0, 1, 2, 1, 4, 4, 6, 5, 5, 4, 4, 5, 2, 1, 5, 1, 4, 0, 0}

    {110183469, 395424635, 73262107, 112308811, 126153561, 387314488, 362034863, 387576655, 399618415, 381280781, 362361386, 394393467, 398058082, 396358763, 127234939, 240443998, 114914635, 102027804, 382940799, 60338990}

    Returns: 863450516

  66. {0, 0, 1, 1, 2, 0, 6}

    {432011892, 266217617, 62824768, 201237341, 471736336, 251627863, 231684637, 536783485}

    Returns: 116589655

  67. {0, 1, 0, 2, 4, 1, 3, 1, 3, 7, 10, 4}

    {508908233, 240610497, 108525214, 108523192, 509829016, 235786187, 509704106, 241256152, 236441296, 509234698, 370003355, 526501800, 241690586}

    Returns: 220046853

  68. {0, 1, 1, 3, 0, 3, 0, 3, 4, 4, 2, 1, 1, 2, 2, 4, 3, 1, 0}

    {304211795, 2946771, 300459923, 279492563, 292337329, 284750803, 330363799, 406639509, 372041171, 45918034, 465368695, 297399890, 271120338, 6878867, 278722322, 275314579, 346482515, 325629521, 309917617, 304932535}

    Returns: 16049998

  69. {0}

    {94685857, 21906088}

    Returns: 216127474

  70. {0, 1, 1, 3, 2, 1, 4, 2, 1, 7, 1, 0, 10, 8, 1, 7, 1, 11, 18, 5, 7, 8, 14, 19, 1, 5, 10, 21, 3, 5, 16, 18, 7, 25, 4, 16, 19, 14, 8, 21, 17, 10, 29}

    {130575433, 30194870, 99134841, 14929016, 88255646, 13544666, 113438305, 105565941, 96759067, 121826678, 90500101, 358657108, 32173061, 80358419, 97058545, 55229509, 81984535, 5175674, 29441216, 80391200, 29425235, 81902121, 300481624, 130350842, 12627131, 38266908, 29797488, 80665714, 48720091, 122468445, 331402427, 99412057, 62979575, 122645552, 44235868, 23653424, 357228023, 31956075, 31521817, 291150899, 216394048, 38329425, 224451832, 157300982}

    Returns: 105403842

  71. {0, 0, 1, 0, 0, 5, 0, 6, 5, 6, 1, 9, 4}

    {300412010, 472283116, 350447596, 493337826, 141554034, 287834076, 338689442, 354938688, 527433672, 357037408, 348579299, 363248992, 493352547, 363257826}

    Returns: 472647887

  72. {0, 1, 2, 2, 1, 5, 6, 2, 7, 7, 9, 9, 12, 7, 7, 15, 16, 4, 15, 10, 14, 19, 18, 12, 6, 17, 0, 20, 9, 14, 8, 14, 9, 21, 0, 16, 15, 17, 16, 14, 14, 20, 10, 21, 17, 3, 14, 11}

    {453924749, 256264609, 252071308, 222702317, 88954824, 223235485, 533158817, 524686813, 426199477, 223239045, 524704183, 122624941, 508448653, 497819020, 453397953, 424614796, 159718800, 256855949, 223305099, 520542633, 424100741, 392629133, 493241257, 521097103, 442912675, 289561485, 453908877, 151932557, 17701765, 459753889, 466017217, 390532493, 258955661, 529440205, 487020941, 223218089, 457968333, 524713997, 520509579, 122554821, 189220271, 225332617, 233260993, 458115721, 499522439, 319179713, 509495693, 506346061, 491211197}

    Returns: 794914935

  73. {0, 1, 0, 3, 3, 2, 0, 2, 0, 0, 2, 6, 6, 13, 5, 9, 11, 14, 13, 10, 19, 12, 22, 18, 24, 16, 17, 27, 18}

    {95636535, 27471399, 91301303, 48718909, 82009655, 99822900, 226908325, 152530469, 29043893, 359730599, 430206519, 31944209, 283575358, 13073588, 481635361, 364199716, 161963557, 166158005, 284650802, 153312951, 28519669, 11993207, 413363895, 228793394, 157754549, 430378039, 145181863, 26443303, 32728354, 23289460}

    Returns: 493543110

  74. {0, 0, 0, 0, 2, 3, 4, 1, 1, 0, 10, 4, 8, 6, 8, 5, 14, 13, 2, 0, 17, 12, 4, 0, 24, 10, 6, 24, 25, 3, 5, 21, 31, 11, 30, 1, 13, 26, 26, 9, 29}

    {319560696, 286330320, 50675568, 302976272, 117540308, 520210395, 303140255, 192974288, 118070777, 319872946, 58992627, 51836278, 310422480, 327465963, 59117044, 51010968, 319462869, 50687952, 50614177, 319097235, 17100785, 436336121, 51396449, 394567059, 318889970, 386463198, 109157874, 50424721, 50798464, 302899195, 391613906, 520848894, 50964433, 386995185, 42270674, 302898642, 327445974, 88166323, 51064241, 100768720, 118554591, 319883765}

    Returns: 649181328

  75. {0, 0, 2, 0, 2, 5, 0, 1, 4, 2, 3, 4, 7, 5, 6, 11, 6, 3, 7, 0, 18, 21, 18, 7, 6, 3, 7, 8, 24, 1, 8, 22, 9, 23, 33, 22, 33, 30, 24, 21, 8, 35, 5, 20, 30}

    {104963942, 71403491, 71407990, 72457978, 104908143, 239111023, 1103219, 273718647, 106204515, 101193539, 223649126, 206604075, 81303911, 248549239, 71868262, 104961638, 235969655, 100697982, 37914470, 206675063, 201626354, 37752187, 205561203, 437294438, 21007722, 33656166, 475045494, 209754214, 104897847, 73506338, 205560182, 272732007, 390071602, 207658342, 135338350, 4265338, 239373667, 239113575, 239120211, 524846563, 205524339, 240321895, 138446702, 100767031, 340856151, 138446455}

    Returns: 286596086

  76. {0, 1, 1, 1, 4, 4, 2, 2, 0, 9, 3, 7, 9, 3, 7, 7, 7, 4, 14, 3, 12, 9, 17, 19, 15, 18, 8, 20, 24, 9}

    {67882255, 407888938, 135193960, 227200356, 85085483, 152546343, 205515898, 221963308, 140135454, 96095532, 213838895, 427547946, 209112139, 204696911, 499010686, 135986475, 473648138, 354315628, 221912388, 156951591, 207248748, 338947407, 138108206, 421479782, 145681455, 208039194, 157992269, 2549004, 473914649, 8373545, 153077068}

    Returns: 722919978

  77. {0, 1, 0, 2}

    {474582999, 342453919, 474221106, 472624671, 509095477}

    Returns: 178502169

  78. {0, 1, 0, 2, 4, 1, 3, 6, 2, 5, 1, 9, 0, 1, 7, 6, 16, 17, 4, 8, 13, 11, 13, 22, 24, 22}

    {287413980, 220804619, 293799621, 153163465, 354497117, 354629193, 288906217, 228799208, 27474648, 84106925, 300627467, 23680733, 421983949, 23330477, 292189869, 157301337, 356480618, 287553068, 296301816, 288319224, 363034337, 354676473, 291683917, 321099496, 287429292, 291584752, 363036349}

    Returns: 966686068

  79. {0, 0, 1, 0, 2, 2, 3, 0, 0, 2, 1 }

    {4, 5, 6, 7, 0, 8, 9, 5, 1, 2, 3, 6 }

    Returns: 6378

  80. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    {1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000 }

    Returns: 33999993

  81. {0 }

    {1, 2 }

    Returns: 6

  82. {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, 48 }

    {44554239, 47787404, 12326374, 10764535, 61866879, 36723171, 21437422, 56384985, 63851378, 55649453, 89179244, 63141341, 97597586, 70533233, 14325054, 53055784, 26021154, 24692693, 93546592, 55437470, 46323882, 34380997, 34916990, 28742254, 99675315, 73257575, 28851937, 64065325, 34914693, 34872848, 47050042, 69644975, 81407905, 48519639, 72926966, 70078582, 22473244, 58500065, 46626920, 10054239, 52722269, 14084873, 51113079, 11462231, 20619024, 29943841, 44453079, 17693708, 95483060, 46032983 }

    Returns: 948945608


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: