#P11843. [USACO25FEB] The Best Subsequence G

[USACO25FEB] The Best Subsequence G

Description

Farmer John has a binary string of length NN (1N109)(1 \leq N \leq 10^9), initially all zeros.

He will first perform MM (1M21051 \leq M \leq 2 \cdot 10^5) updates on the string, in order. Each update flips every character from ll to rr. Specifically, flipping a character changes it from 00 to 11, or vice versa.

Then, he asks you QQ (1Q21051 \leq Q \leq 2 \cdot 10^5) queries. For each query, he asks you to output the lexicographically greatest subsequence of length kk comprised of characters from the substring from ll to rr. If your answer is a binary string s1s2sks_1s_2 \dots s_k, then output i=0k12iski\sum_{i=0}^{k-1} 2^i \cdot s_{k-i} (that is, its value when interpreted as a binary number) modulo 109+710^9+7.

A subsequence is a string that can be derived from another string by deleting some or no characters without changing the order of the remaining characters.

Recall that string AA is lexicographically greater than string BB of equal length if and only if at the first position ii, if it exists, where AiBiA_i \neq B_i, we have Ai>BiA_i > B_i.

Input Format

The first line contains NN, MM, and QQ.

The next MM lines contain two integers, ll and rr (1lrN1 \leq l \leq r \leq N) — the endpoints of each update.

The next QQ lines contain three integers, ll, rr, and kk (1lrN,1krl+11 \leq l \leq r \leq N, 1 \leq k \leq r - l + 1) — the endpoints of each query and the length of the subsequence.

Output Format

Output QQ lines. The iith line should contain the answer for the iith query.

5 3 9
1 5
2 4
3 3
1 5 5
1 5 4
1 5 3
1 5 2
1 5 1
2 5 4
2 5 3
2 5 2
2 5 1
21
13
7
3
1
5
5
3
1
9 1 1
7 9
1 8 8

3
30 1 1
1 30
1 30 30
73741816

Hint

For Sample 1:

After performing the MM operations, the string is 1010110101.

For the first query, there is only one subsequence of length 55, 1010110101, which is interpreted as $1 \cdot 2^4 + 0 \cdot 2^3 + 1 \cdot 2^2 + 0 \cdot 2^1 + 1 \cdot 2^0 = 21$.

For the second query, there are 55 unique subsequences of length 44: 01010101, 11011101, 10011001, 10111011, 10101010. The lexicographically largest subsequence is 11011101, which is interpreted as $1 \cdot 2^3 + 1 \cdot 2^2 + 0 \cdot 2^1 + 1\cdot 2^0 = 13$.

For the third query, the lexicographically largest sequence is 111111, which is interpreted as 77.

For Sample 3:

Make sure to output the answer modulo 109+710^9+7.

SCORING:

  • Input 4: N10,Q1000N \leq 10, Q \leq 1000
  • Input 5: M10M \leq 10
  • Inputs 6-7: N,Q1000N, Q \leq 1000
  • Inputs 8-12: N2105N \leq 2 \cdot 10^5
  • Inputs 13-20: No additional constraints.