#include <bits/stdc++.h>
using namespace std;
const int mx = 200, my = 200, tim = 50, mo = 1000000007;
const int d[8][2] = {1, 2, -1, 2, 1, -2, -1, -2, 2, 1, -2, 1, -2, -1, 2, -1};
int x, y, n, bfs[mx * my * 4][2], a[mx * 2][my * 2], i, l, r, xx, yy,
    cnt[tim + 10];
long long K;
int main() {
  scanf("%I64d%d", &K, &n);
  for (i = 1; i <= n; ++i) scanf("%d%d", &x, &y), a[x + mx][y + my] = -1;
  a[mx][my] = 1;
  bfs[l = r = 1][0] = mx;
  bfs[1][1] = my;
  while (l <= r) {
    x = bfs[l][0];
    y = bfs[l++][1];
    if (a[x][y] == K + 1 || a[x][y] == tim + 1) break;
    for (i = 0; i < 8; ++i) {
      xx = x + d[i][0];
      yy = y + d[i][1];
      if (!a[xx][yy]) {
        a[xx][yy] = a[x][y] + 1;
        cnt[a[xx][yy]]++;
        bfs[++r][0] = xx;
        bfs[r][1] = yy;
      }
    }
  }
  if (K <= tim || cnt[tim + 1] == 0)
    printf("%d\n", r);
  else {
    long long p = K - tim, u = p, v = p + 1;
    if (u % 2 == 0)
      u /= 2;
    else
      v /= 2;
    printf("%d\n",
           (u % mo * (v % mo) % mo * 28 % mo + p % mo * cnt[tim + 1] % mo + r) %
               mo);
  }
}
