gold_Cowmpetency (USACO January_Contest)
Time limit: 2 seconds | Memory limit: 256 MB | Task type: batch
Algorithms: mathematics, combinatorics, dynamic programming

Farmer John is hiring a new herd leader for his cows. To that end, he has
interviewed $N$ ($2 \leq N \leq 10^9$) cows for the position. After each
interview, he assigned an integer "cowmpetency" score to the candidate ranging from $1$
to $C$ ($1 \leq C \leq 10^4$) that is correlated with their leadership
abilities.
Because he has interviewed so many cows, Farmer John has forgotten all of their
cowmpetency scores. However, he does remembers $Q$
($1 \leq Q \leq \min(N - 1, 100)$) pairs of numbers $(a_i, h_i)$ where cow $h_i$
was the first cow with a
strictly greater
cowmpetency score than cows $1$
through $a_i$ (so
$1 \leq a_i < h_i \leq N$).
Farmer John now tells you the $Q$ pairs of $(a_i, h_i)$. Help him count how many
sequences of cowmpetency scores are consistent with this information! It is
guaranteed that there is at least one such sequence. Because this number may be
very large, output its value modulo $10^9 + 7$.
INPUT FORMAT (input arrives from the terminal / stdin):
The first line contains $N$, $Q$, and $C$.
The next $Q$ lines each contain a pair $(a_i, h_i)$. It is guaranteed that all
$a_j$ are distinct.
OUTPUT FORMAT (print output to the terminal / stdout):
The number of sequences of cowmpetency scores consistent with what Farmer John
remembers, modulo $10^9+7$.
SAMPLE INPUT:
6 2 3
2 3
4 5
SAMPLE OUTPUT:
6
The following six sequences are the only ones consistent with what Farmer John
remembers:
1 1 2 1 3 1
1 1 2 1 3 2
1 1 2 1 3 3
1 1 2 2 3 1
1 1 2 2 3 2
1 1 2 2 3 3
SAMPLE INPUT:
10 1 20
1 3
SAMPLE OUTPUT:
399988086
Make sure to output the answer modulo $10^9+7$.
SCORING:
Inputs 3-4 satisfy $N \leq 10$ and $Q, C \leq 4$.
Inputs 5-7
satisfy $N, C \leq 100$.
Inputs 8-10 satisfy $N \leq 2000$ and
$C \leq 200$.
Inputs 11-15 satisfy $N, C \leq 2000$.
Inputs
16-20 satisfy no additional constraints.
Problem credits: Suhas Nagar

Starter code:

Grader code:

Setup script:

Evaluation script: