#J60008. 避开马的攻击

避开马的攻击

问题描述

有一个 NN 行 NN 列的棋盘。格子 (i,j)(i,j) 表示从上向下第 ii 行、从左向右第 jj 列的位置。

棋盘上已经放有 MM 枚马,第 kk 枚马位于 (ak,bk)(a_k,b_k)。一枚位于 (i,j)(i,j) 的马可以攻击以下八个位置:

  • (i+2,j+1)(i+2,j+1)、(i+1,j+2)(i+1,j+2);
  • (i−1,j+2)(i-1,j+2)、(i−2,j+1)(i-2,j+1);
  • (i−2,j−1)(i-2,j-1)、(i−1,j−2)(i-1,j-2);
  • (i+1,j−2)(i+1,j-2)、(i+2,j−1)(i+2,j-1)。

棋盘外的位置不属于棋盘。

请计算有多少个空格既没有放置已有的马,也不会被任何已有的马攻击。

输入格式

第一行输入两个整数 N,MN,M,分别表示棋盘的边长和已有马的数量。

接下来 MM 行,第 kk 行输入两个整数 ak,bka_k,b_k,表示第 kk 枚马所在的位置。

输出格式

输出一行一个整数,表示可以安全放置棋子的空格数量。

样例输入 1

8 6
1 4
2 1
3 8
4 5
5 2
8 3

样例输出 1

38

样例输入 2

1000000000 1
1 1

样例输出 2

999999999999999997

样例输入 3

20 10
1 4
7 11
7 15
8 10
11 6
12 5
13 1
15 2
20 10
20 15

样例输出 3

338

样例解释 2

不能放置棋子的格子为 (1,1)(1,1)、(2,3)(2,3)、(3,2)(3,2),共 33 个,因此答案为 1018−310^{18}-3。

评测数据规模

对于所有数据,保证:

  • 1≤N≤1091\leq N\leq10^9;
  • 1≤M≤2×1051\leq M\leq2\times10^5;
  • 1≤ak,bk≤N1\leq a_k,b_k\leq N;
  • 所有已有马的位置互不相同;
  • 输入均为整数。