#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 100005;
int n, m;
int con[10];
int X[MAX_N];
int Y[MAX_N];
set<int> r[MAX_N];
set<int> c[MAX_N];
set<int> s[MAX_N * 2];
set<int> d[MAX_N * 2];
int main() {
  cin >> n >> m;
  for (int i(0); i < (m); i++) {
    int x, y;
    cin >> x >> y;
    X[i] = --x, Y[i] = --y;
    r[x].insert(y);
    c[y].insert(x);
    s[x + y].insert(x);
    d[y - x + n - 1].insert(x);
  }
  for (int i(0); i < (m); i++) {
    int w = 8, x = X[i], y = Y[i];
    if (y == *r[x].begin()) w--;
    if (y == *r[x].rbegin()) w--;
    if (x == *c[y].begin()) w--;
    if (x == *c[y].rbegin()) w--;
    if (x == *s[x + y].begin()) w--;
    if (x == *s[x + y].rbegin()) w--;
    if (x == *d[y - x + n - 1].begin()) w--;
    if (x == *d[y - x + n - 1].rbegin()) w--;
    con[w]++;
  }
  for (int i(0); i < (9); i++) cout << con[i] << ' ';
}
