G :: Partitioning a Queue
Time Limit: 1 Second Memory Limit: 65536 KB
There are n passengers in a single queue, waiting to enter the airplane. To avoid congestion, the queue should be partitioned into smaller parts. There are several ways to partition the queue. For instance, a queue of size 3 can be partitioned into1+2, 2+1, 1+1+1 or 3. It is easy to prove that there are 2n-1 ways to partition a queue of size n.
The problem becomes a little complicated, when we are not allowed to use parts whose sizes are in some given set S. For instance, if S is the set of even numbers, a queue of size 4 can be partitioned in 3 ways, namely 1+1+1+1, 1+3 and 3+1. You’re task is to count the number of ways to partition a queue of size n, with an additional condition that the size of no part should be in a given arithmetic sequence {m+ik|i=0, 1,…} for the given m, k.
Input
The first line of the input includes the number of test cases 1≤t≤10000. Each test case consists of three space separated integers n, m, k (1≤n ≤30, 0 ≤ m< k<30).
Output
For each test case, print one line containing the answer to the question
Sample Input
3 10 0 2 15 1 4 28 3 7
Sample Output
55 235 18848806Submit
Source: 13th Iran Nationwide Internet Contest - Final