{"raw_statement":[{"iden":"problem statement","content":"Consider the following game:\n\n*   The game is played using a row of $N$ squares and many stones.\n*   First, $a_i$ stones are put in Square $i\\ (1 \\leq i \\leq N)$.\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$.\"\n*   The final score of the player is the total number of the stones remaining in the squares.\n\nFor a sequence $a$ of length $N$, let $f(a)$ be the minimum score that can be obtained when the game is played on $a$.\nFind 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)$."},{"iden":"constraints","content":"*   $1 \\leq N \\leq 100$\n*   $1 \\leq K \\leq N$"},{"iden":"input","content":"Input is given from Standard Input in the following format:\n\n$N$ $K$"},{"iden":"sample input 1","content":"2 2"},{"iden":"sample output 1","content":"10\n\nThere 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:\n\n*   $f({0,0})$: $0$ (Nothing can be done)\n*   $f({0,1})$: $1$ (Nothing can be done)\n*   $f({0,2})$: $0$ (Select Square $2$, then Square $1$)\n*   $f({1,0})$: $0$ (Select Square $1$)\n*   $f({1,1})$: $1$ (Select Square $1$)\n*   $f({1,2})$: $0$ (Select Square $1$, Square $2$, then Square $1$)\n*   $f({2,0})$: $2$ (Nothing can be done)\n*   $f({2,1})$: $3$ (Nothing can be done)\n*   $f({2,2})$: $3$ (Select Square $2$)"},{"iden":"sample input 2","content":"20 17"},{"iden":"sample output 2","content":"983853488"}],"translated_statement":null,"sample_group":[],"show_order":["default"],"formal_statement":null,"simple_statement":null,"has_page_source":true}