#abc280g. [abc280_g]Do Use Hexagon Grid 2
[abc280_g]Do Use Hexagon Grid 2
题目描述
我们有一个如下所示的无限六边形网格。
一个六边形单元格用两个整数 和 表示,表示为 。
单元格 与以下六个单元格相邻:
假设从单元格 移动到单元格 ,通过重复移动到相邻的单元格,至少需要多少次移动?我们定义这个距离为单元格 和 之间的距离。
例如,单元格 和 的距离是 ,单元格 和 的距离是 。
给定 个单元格 。
有多少种方式可以在这 个单元格中选择一个或多个,使得任意两个被选择的单元格之间的距离至多为 ?
将答案对 取模。
约束条件
- 两两不同。
- 输入中的所有值都是整数。
输入
从标准输入中以以下格式给出输入:
输出
打印答案。
样例输入 1
3 1
0 0
0 1
1 0
样例输出 1
5
可以选择的单元格集合有五种:$\\{(0,0)\\},\\{(0,1)\\},\\{(1,0)\\},\\{(0,0),(0,1)\\}$ 和 。
样例输入 2
9 1
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
样例输出 2
33
样例输入 3
5 10000000000
314159265 358979323
846264338 -327950288
-419716939 937510582
-97494459 -230781640
628620899 862803482
样例输出 3
31