#arc086d. [arc086_d]Shift and Decrement
[arc086_d]Shift and Decrement
Problem Statement
There are non-negative integers written on the blackboard: .
Snuke can perform the following two operations at most times in total in any order:
- Operation A: Replace each integer on the blackboard with divided by , rounded down to the nearest integer.
- Operation B: Replace each integer on the blackboard with minus . This operation cannot be performed if one or more s are written on the blackboard.
Find the number of the different possible combinations of integers written on the blackboard after Snuke performs the operations, modulo .
Constraints
- and are integers.
Input
Input is given from Standard Input in the following format:
Output
Print the number of the different possible combinations of integers written on the blackboard after Snuke performs the operations, modulo .
Sample Input 1
2 2
5 7
Sample Output 1
6
There are six possible combinations of integers on the blackboard: , , , , and . For example, can be obtained by performing Operation A and Operation B in this order.
Sample Input 2
3 4
10 13 22
Sample Output 2
20
Sample Input 3
1 100
10
Sample Output 3
11
Sample Input 4
10 123456789012345678
228344079825412349 478465001534875275 398048921164061989 329102208281783917 779698519704384319 617456682030809556 561259383338846380 254083246422083141 458181156833851984 502254767369499613
Sample Output 4
164286011