Problem Statement
- SuperSum(0 , n) = n, for all positive n.
- SuperSum(k , n) = SuperSum(k-1 , 1) + SuperSum(k-1 , 2) + ... + SuperSum(k-1 , n), for all positive k, n.
Given k and n, return the value for SuperSum(k , n) modulo 1000000007.
Definition
- Class:
- SuperSum
- Method:
- calculate
- Parameters:
- int, int
- Returns:
- int
- Method signature:
- int calculate(int k, int n)
- (be sure your method is public)
Constraints
- k will be between 1 and 50, inclusive.
- n will be between 1 and 1000000000, inclusive.
Examples
1
3
Returns: 6
When k = 1, SuperSum is equal to the sum of the first n = 3 numbers: 1 + 2 + 3 = 6.
2
3
Returns: 10
SuperSum(2 , 3) = SuperSum(1 , 1) + SuperSum(1 , 2) + SuperSum(1 , 3) = 1 + 3 + 6 = 10.
4
10
Returns: 2002
10
35
Returns: 150595840
50
1000000000
Returns: 0
50
536870911
Returns: 604374384
1
1
Returns: 1
23
1
Returns: 1
50
1
Returns: 1
2
942673158
Returns: 476373970
30
300218439
Returns: 826668794
24
995242181
Returns: 986028885
37
287457099
Returns: 116059974
29
855370135
Returns: 696112017
25
447214090
Returns: 223110704
18
447953543
Returns: 290387742
28
64826618
Returns: 223109585
6
243778003
Returns: 503960484
24
857954777
Returns: 206147394
48
522907414
Returns: 506470000
16
936435578
Returns: 831099133
23
908839793
Returns: 208206642
38
314370829
Returns: 660609756
27
287825870
Returns: 163370456
28
540424322
Returns: 499401678
41
489010739
Returns: 683530101
39
961479942
Returns: 213385636
22
626422230
Returns: 480026326
17
622633395
Returns: 692478064
25
494762552
Returns: 380861548
44
510566469
Returns: 331481604
23
335936101
Returns: 363328533
46
478459937
Returns: 417638533
30
684727825
Returns: 755859442
28
372858471
Returns: 968949522
38
799406312
Returns: 25577541
34
491608220
Returns: 924976255
30
382701630
Returns: 786772275
28
619212432
Returns: 745892991
50
727215824
Returns: 701769601
38
587180079
Returns: 124551017
40
840157131
Returns: 457408577
28
820399816
Returns: 265493402
39
692595081
Returns: 72937484
25
657106863
Returns: 272814660
31
768602901
Returns: 463388295
28
587123245
Returns: 748516979
26
555092218
Returns: 555490779
44
660921777
Returns: 762425927
25
849102920
Returns: 364378679
26
974643542
Returns: 3612577
32
681193967
Returns: 194344069
49
830727997
Returns: 786187896
39
951759070
Returns: 633096638
49
934727566
Returns: 278018569
3
906193706
Returns: 615188860
47
994797443
Returns: 147480236
6
900821360
Returns: 885909623
36
910801107
Returns: 698857930
28
937871575
Returns: 857940348
4
930273759
Returns: 696917071
28
966104095
Returns: 633102118
45
950430057
Returns: 795548554
2
939408767
Returns: 178119175
44
988343832
Returns: 392592742
3
935661721
Returns: 962657968
48
936731699
Returns: 626430046
45
991724535
Returns: 847627269
1
908786277
Returns: 195529781
50
999999956
Returns: 1000000006
50
999999955
Returns: 999999955
48
999999956
Returns: 999998732
50
999999999
Returns: 0
49
999999998
Returns: 0
47
975432147
Returns: 917366087
47
1000000000
Returns: 0
50
599999953
Returns: 408657633
48
12412424
Returns: 32514911