#include <iostream>
#include <cstring>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;

int low[200001], hi[200001];

int main() {
  int n, m;
  cin >> n >> m;

  for (int i = 0; i < n; ++i) {
    low[i] = hi[i] = i;
  }

  std::vector<std::pair<int, int>> arm;
  for (int i = 0; i < m; ++i) {
    int x, y;
    cin >> x >> y;
    arm.push_back(make_pair(x, n - 1 - y));
  }
  sort(arm.begin(), arm.end());

  for (int i = 0; i < m; ++i) {
    int y = arm[i].second;
    // cout << "swap " << y << " " << low[y] << " " << hi[y] << ", " <<
    //     low[y+1] << " " << hi[y+1];
    low[y + 1] = low[y];
    hi[y] = hi[y + 1];
    // cout << " -> " << low[y] << " " << hi[y] << ", " << low[y+1] << " " << hi[y+1] <<endl;
  }

  for (int i = n - 1; i >= 0; --i) {
    if (i != n - 1) {
      cout << " ";
    }
    cout << hi[i] - low[i] + 1;
  }
  cout << endl;

  return 0;
}