#P7996. [2021年山东省队集训d5]图形

[2021年山东省队集训d5]图形

题目描述

给定 nn 个两两不平行的二维向量 (xi,yi)(x_i,y_i),你可以用这些向量画一个图形:

初始你位于坐标系的原点 (0,0)(0,0),当你位于某个点 (u,v)(u,v) 时,你可以选择一个向量 (x,y)(x,y),然后走向 (u+x,v+y)(u+x,v+y),并且画一个以 (u,v)(u,v)(u+x,v+y)(u+x,v+y) 为端点的线段;重复此过程直到你回到原点。

不过,现在我们对画出的图形有要求:画出的图形必须是面积大于 00 的凸多边形,用来组成凸多边形的向量的方向必须是逆时针方向,并且整个图形必须能放进一个 m×mm×m 的正方形内(也就是说,图形上点的横、纵坐标最大值与最小值之差都不超过 mm)。

如果一个图形可以由另一个图形通过平移的方式得到,我们就认为这两个图形是相同的。那么,在上述限制条件下,你能画出多少个不同的图形呢?

答案对 998244353998244353 取模。

输入格式

第一行包含两个整数 n,mn,m

接下来的 nn 行,每行包含两个整数 xi,yix_i,y_i,描述第 ii 个向量。

输出格式

一行,一个整数,代表答案。

样例 #1

样例输入 #1

3 3
-1 0
1 1
0 -1

样例输出 #1

3

样例 #2

样例输入 #2

5 307
2 -3
-2 1
0 -4
-2 -3
4 0

样例输出 #2

13948

提示

对于 35%35\% 的数据,m500m≤500

对于 70%70\% 的数据,m40000m≤40000

对于 100%100\% 的数据,1n5,1m109,xi,yi41≤n≤5,1≤m≤10^9,|x_i|,|y_i|≤4

保证 (xi,yi)(0,0)(x_i,y_i )≠(0,0),且任意两个向量不平行。