问题陈述
强哥是个骑士棋迷,他正沉迷于在一个 N×N 的棋盘上布置棋子。这个棋盘一共有 N2 个格子,每个格子要么是空的,要么已经有棋子驻扎。
已知棋盘上已经有 M 个棋子守卫在特定位置,第 k 个守卫棋子的位置是 (ak,bk)。强哥想要挑战极限,在不被任何守卫棋子“吃掉”的情况下,再往棋盘上放更多的骑士棋子。
然而,骑士棋子的攻击方式十分特别:
一个骑士棋子放在 (i,j) 格子上后,会攻击以下位置的敌人棋子(如果存在的话):
- (i+2,j+1)
- (i+1,j+2)
- (i−1,j+2)
- (i−2,j+1)
- (i−2,j−1)
- (i−1,j−2)
- (i+1,j−2)
- (i+2,j−1)
当然,棋盘的边界十分坚固,如果攻击超出棋盘范围,那招式就无效了。
现在,强哥想问:他最多还能在棋盘上布置多少个骑士棋子,同时保证新布置的每个棋子都不会被已有的守卫棋子攻击,也不会攻击已有的守卫棋子?
例如,放在 (4,4) 位置上的棋子可以吃掉下图中蓝色所示位置上的棋子:

您可以将棋子放在几个位置上?
限制因素
- 1≤N≤109
- 1≤M≤2×105
- 1≤ak≤N,1≤bk≤N (1≤k≤M)
- (ak,bk)=(al,bl) (1≤k<l≤M)
- 所有输入值均为整数。
输入
输入内容由标准输入法提供,格式如下
N M
a1 b1
a2 b2
⋮
aM bM
输出
打印在不被现有棋子吃掉的情况下可以放置棋子的空方格数。
8 6
1 4
2 1
3 8
4 5
5 2
8 3
38
1000000000 1
1 1
999999999999999997
1018 唯一无法放置的方格是方格 (1,1),(2,3),(3,2) 中的 3 个方格。
注意答案可能多于 232 。