#include <bits/stdc++.h>
using namespace std;
void file_open() {
  freopen("input.txt", "r", stdin);
  freopen("output.txt", "w", stdout);
}
struct point {
  int x, y;
};
int d1[2 * 100010 + 10][2] = {}, d2[2 * 100010 + 10][2] = {},
                    row[100010 + 10][2] = {}, col[100010 + 10][2] = {};
point a[100010];
int dem[10] = {};
int main() {
  int n, m, res, u, v;
  scanf("%d%d", &n, &m);
  point _0 = {0, 0};
  res = 0;
  for (int i = 0; i < m; ++i) {
    scanf("%d%d", &a[i].x, &a[i].y);
    u = a[i].x;
    v = a[i].y;
    if (d1[u + v][0] == 0) {
      d1[u + v][0] = a[i].x;
      d1[u + v][1] = a[i].x;
    } else if (a[i].x < d1[u + v][0])
      d1[u + v][0] = a[i].x;
    else if (a[i].x > d1[u + v][1])
      d1[u + v][1] = a[i].x;
    if (d2[u - v + n][0] == 0) {
      d2[u - v + n][0] = a[i].x;
      d2[u - v + n][1] = a[i].x;
    } else if (a[i].x < d2[u - v + n][0])
      d2[u - v + n][0] = a[i].x;
    else if (a[i].x > d2[u - v + n][1])
      d2[u - v + n][1] = a[i].x;
    if (row[u][0] == 0) {
      row[u][0] = a[i].y;
      row[u][1] = a[i].y;
    } else if (a[i].y < row[u][0])
      row[u][0] = a[i].y;
    else if (a[i].y > row[u][1])
      row[u][1] = a[i].y;
    if (col[v][0] == 0) {
      col[v][0] = a[i].x;
      col[v][1] = a[i].x;
    } else if (a[i].x < col[v][0])
      col[v][0] = a[i].x;
    else if (a[i].x > col[v][1])
      col[v][1] = a[i].x;
  }
  int t1;
  for (int i = 0; i < m; ++i) {
    t1 = 0;
    u = a[i].x;
    v = a[i].y;
    if (d1[u + v][0] != d1[u + v][1]) {
      if (a[i].x == d1[u + v][0] || a[i].x == d1[u + v][1])
        ++t1;
      else
        t1 += 2;
    }
    if (d2[u - v + n][0] != d2[u - v + n][1]) {
      if (a[i].x == d2[u - v + n][0] || a[i].x == d2[u - v + n][1])
        ++t1;
      else
        t1 += 2;
    }
    if (row[u][0] != row[u][1]) {
      if (a[i].y == row[u][0] || a[i].y == row[u][1])
        ++t1;
      else
        t1 += 2;
    }
    if (col[v][0] != col[v][1]) {
      if (a[i].x == col[v][0] || a[i].x == col[v][1])
        ++t1;
      else
        t1 += 2;
    }
    ++dem[t1];
  }
  for (int i = 0; i <= 8; ++i) {
    printf("%d ", dem[i]);
  }
  return 0;
}
