from bisect import bisect n, m = map(int, input().split()) ldru_even = set(); lurd_even = set() ldru_odd = set(); lurd_odd = set() for _ in range(m): x, y = map(int, input().split()) if (x+y)%2 == 0: ldru_even.add(x+y); lurd_even.add(x-y) else: ldru_odd.add(x+y); lurd_odd.add(x-y) ldru_even = sorted(ldru_even); lurd_even = sorted(lurd_even) ldru_odd = sorted(ldru_odd); lurd_odd = sorted(lurd_odd) ans = 0 for v in ldru_even: ans += n-abs(v-n-1) for v in lurd_even: ans += n-abs(v)-bisect(ldru_even, 2*n-abs(v)+1)+bisect(ldru_even, 2+abs(v)-1) for v in ldru_odd: ans += n-abs(v-n-1) for v in lurd_odd: ans += n-abs(v)-bisect(ldru_odd, 2*n-abs(v)+1)+bisect(ldru_odd, 2+abs(v)-1) print(ans)