You are given integers
and
positive integers
.
For a one-based array
containing
integers between
and
, its weight is defined as
.
Such an array
is valid if
contains no more than
ones in its binary representation.
Calculate the sum of weights of all valid arrays
. Output the sum modulo
.
Input Specification
The first line contains
integers
.
The second line contains
integers
.
Output Specification
Output a single integer, the sum of weights of all valid arrays modulo
.
Sample Input
Copy
5 1 1
2 1
Sample Output
Copy
40
Sample 1 Explanation
Because
is
and
implies
, there is only one possible
:
. This requires that
contains two
s and three
s. Thus, we have
valid arrays. Each array has weight
. The sum is
.
Additional Samples
Additional samples can be found here.
Constraints
For all test cases,
,
,
.
Test cases |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
Comments