Submit solution

Points: 1.30
Time limit: 2.0s
Memory limit: 256M

Author:
Problem type
Problem Statement

Consider the following game:

  • The game is played using a row of ~N~ squares and many stones.
  • First, ~a_i~ stones are put in Square ~i\ (1 \leq i \leq N)~ .
  • A player can perform the following operation as many time as desired: "Select an integer ~i~ such that Square ~i~ contains exactly ~i~ stones. Remove all the stones from Square ~i~ , and add one stone to each of the ~i-1~ squares from Square ~1~ to Square ~i-1~ ."
  • The final score of the player is the total number of the stones remaining in the squares.

For a sequence ~a~ of length ~N~ , let ~f(a)~ be the minimum score that can be obtained when the game is played on ~a~ .

Find the sum of ~f(a)~ over all sequences ~a~ of length ~N~ where each element is between ~0~ and ~K~ (inclusive). Since it can be extremely large, find the answer modulo ~1000000007 (= 10^9+7)~ .

Constraints
  • ~1 \leq N \leq 100~
  • ~1 \leq K \leq N~

Input

Input is given from Standard Input in the following format:

~N~ ~K~

Output

Print the sum of ~f(a)~ modulo ~1000000007 (= 10^9+7)~ .


Sample Input 1
2 2
Sample Output 1
10

There are nine sequences of length ~2~ where each element is between ~0~ and ~2~ . For each of them, the value of ~f(a)~ and how to achieve it is as follows:

  • ~f(\\{0,0\\})~ : ~0~ (Nothing can be done)
  • ~f(\\{0,1\\})~ : ~1~ (Nothing can be done)
  • ~f(\\{0,2\\})~ : ~0~ (Select Square ~2~ , then Square ~1~ )
  • ~f(\\{1,0\\})~ : ~0~ (Select Square ~1~ )
  • ~f(\\{1,1\\})~ : ~1~ (Select Square ~1~ )
  • ~f(\\{1,2\\})~ : ~0~ (Select Square ~1~ , Square ~2~ , then Square ~1~ )
  • ~f(\\{2,0\\})~ : ~2~ (Nothing can be done)
  • ~f(\\{2,1\\})~ : ~3~ (Nothing can be done)
  • ~f(\\{2,2\\})~ : ~3~ (Select Square ~2~ )

Sample Input 2
20 17
Sample Output 2
983853488

Comments

Please read the guidelines before commenting.


There are no comments at the moment.