#include <bits/stdc++.h>
const int G[8][2] = {{0, 4}, {1, 5}, {2, 6}, {3, 7},
                     {0, 2}, {1, 6}, {3, 4}, {5, 7}};
int f[(1 << 8)], g[1111];
int max(int a, int b) { return a > b ? a : b; }
int min(int a, int b) { return a < b ? a : b; }
int main() {
  int n;
  int i, j, k, _;
  f[0] = 0;
  memset(g, 0, sizeof g);
  for (i = 0; i < 8; ++i) {
    j = G[i][0];
    k = G[i][1];
    g[j] |= 1 << k;
    g[k] |= 1 << j;
  }
  for (i = 1; i < (1 << 8); ++i) {
    j = i & (i - 1);
    f[i] = max(f[j], f[j & ~g[__builtin_ctz(i)]] + 1);
  }
  scanf("%d", &n);
  n -= 2;
  for (i = 1, j = n; i < j; ++i, --j) g[i] = (1 << 8) - 1;
  if (i == j) g[i] = 0x55;
  for (scanf("%d", &_); _; --_) {
    scanf("%d%d", &i, &j);
    --i;
    --j;
    k = min(i, n - i + 1);
    g[k] &= (i == k ? ~0x44 : ~0x88);
    k = min(j, n - j + 1);
    g[k] &= (j == k ? ~0x11 : ~0x22);
  }
  for (k = 0, i = 1, j = n; i < j; ++i, --j) k += f[g[i]];
  if (i == j && g[i]) ++k;
  printf("%d", k);
  return 0;
}
