题目描述
ZK 现在在一个二维平面。他现在会进行 N 次传送,每次传送回执行如下移动之一:
- 从当前点 (x,y) 移动到 (x+A,y+B);
- 从当前点 (x,y) 移动到 (x+C,y+D);
- 从当前点 (x,y) 移动到 (x+E,y+F)。
同时在这个平面上有 M 个点 (X1,Y1),…,(XM,YM) ,这些点 ZK 是无法停留或经过的。
问 N 次传送一共会有多少种路径?输出答案对 998244353 取模。
输入描述
第一行两个整数 N,M(1≤N≤300,0≤M≤105)。
第二行六个整数 A,B,C,D,E,F(−109≤A,B,C,D,E,F≤109),保证无重复的二元对。
接下来 M 行,每行两个整数 Xi,Yi(−109≤Xi,Yi≤109)。保证 (Xi,Yi)=(0,0) 且无重复二元对。
输出描述
输出一行一个数字代表答案。
样例 #1
样例输入 #1
2 2
1 1 1 2 1 3
1 2
2 2
样例输出 #1
5
样例 #2
样例输入 #2
10 3
-1000000000 -1000000000 1000000000 1000000000 -1000000000 1000000000
-1000000000 -1000000000
1000000000 1000000000
-1000000000 1000000000
样例输出 #2
0
样例 #3
样例输入 #3
300 0
0 0 1 0 0 1
样例输出 #3
292172978
提示
约束
对于 40% 的数据,N≤50;
对于 100% 的数据:
- 1 ≤ N ≤ 300
- 0 ≤ M ≤ 105
- −109 ≤ A,B,C,D,E,F ≤ 109
- (A,B),(C,D),(E,F) 是不同的。
- −109 ≤ Xi,Yi ≤ 109
- (Xi,Yi)=(0,0)
- (Xi,Yi) 是不同的。
- 输入中的所有值都是整数。
样例 1 解释
- (0,0)→(1,1)→(2,3);
- (0,0)→(1,1)→(2,4);
- (0,0)→(1,3)→(2,4);
- (0,0)→(1,3)→(2,5);
- (0,0)→(1,3)→(2,6)。