1 #include<iostream>
2 #include<cstring>
3 #include<algorithm>
4 #define x first
5 #define y second
6 using namespace std;
7 typedef pair<int,int> PII;
8 const int N = 110;
9 PII match[N][N];
10 bool st[N][N],bad[N][N];
11 int n,m;
12 int dx[4] = {0,1,0,-1},dy[4] = {1,0,-1,0};
13 bool find(int x,int y){
14 for(int i = 0;i < 4;i ++ ){
15 int a = x + dx[i],b = y + dy[i];
16 if(a < 1 || a > n || b < 1 || b > n) continue;
17 if(st[a][b] || bad[a][b]) continue;
18 PII t = match[a][b];
19 st[a][b] = true;
20 if(t.x == 0 || find(t.x,t.y)){
21 match[a][b] = {x,y};
22 return true;
23 }
24 }
25 return false;
26 }
27 int main(){
28 ios::sync_with_stdio(false);
29 cin.tie(0),cout.tie(0);
30 cin>>n>>m;
31 memset(bad,false,sizeof bad);
32 while(m -- ){
33 int a,b;
34 cin>>a>>b;
35 bad[a][b] = true;
36 }
37 int ans = 0;
38 for(int i = 1;i <= n;i ++ )
39 for(int j = 1;j <= n;j ++ ){
40 if((i + j) % 2 && !bad[i][j]){
41 memset(st,0,sizeof st);
42 if(find(i,j)) ans ++;
43 }
44 }
45 cout<<ans;
46 }