#SL2310G. Make 2

Make 2

造 2

中文题目为机翻,原题目请参考英文题面

对于由 nn 正整数组成的序列 aa,可以多次进行以下操作:

  • 选择一个满足 1<i<n1 < i < nai>1a_i>1 的索引 ii,然后将 aia_i 减少 11 ,并在 ai1a_{i-1}ai+1a_{i+1} 上加上 11

如果可以通过几次(可能是零)这样的运算,使 ai=2a_i = 21in1 \leq i \leq n,那么由 nn 正整数组成的序列就被认为是好序列。

现在,您需要计算满足 mm 约束的良好序列的数量,第 ii 个约束可以表示为一对 (xi,yi)(x_i,y_i),要求 axi=yia_{x_i} = y_i

可以证明答案是有限的。输出模 109+710^9 +7 的答案。

输入

第一行包含一个整数 T(1T10)T \: (1 \leq T \leq 10),表示测试用例的数量。

对于每个测试用例,第一行包含两个整数 $n,m \: (1 \leq n \leq 10^{18}, 0 \leq m \leq min(n,100))$。

接下来的 mm 行各含两个整数。第 ii 行包含 $x_i,y_i \: (1 ≤ x_1 < x_2 < \dots < x_m \leq n, 1 \leq y_i \leq10^9)$。

输出

对于每个测试用例,输出一行,用一个整数表示答案模 109+710^9 +7 的结果。

示例

3
3 1
2 2
5 2
1 2
5 1
114514 0
1
2
158552999