#include <bits/stdc++.h>
#pragma GCC optimize("O2")
using namespace std;
long long n;
long long va[200002], vb[200002];
long long cate[200002];
long long dif;
struct rfomsme {
  long long tt;
  long long tip;
};
rfomsme v[500002];
int z;
bool cmp(rfomsme a, rfomsme b) {
  if (a.tt != b.tt) return a.tt < b.tt;
  return a.tip < b.tip;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> n;
  for (int i = 1; i <= n; ++i) cin >> va[i] >> vb[i], vb[i]++;
  for (int i = 1; i <= n; ++i) {
    v[++z] = {va[i], 1};
    v[++z] = {vb[i], 2};
  }
  sort(v + 1, v + z + 1, cmp);
  for (int i = 1; i <= z; ++i) {
    if (v[i].tip == 1) {
      ++dif;
      cate[dif] += (v[i + 1].tt - v[i].tt);
    } else {
      dif--;
      if (i != z) cate[dif] += (v[i + 1].tt - v[i].tt);
    }
  }
  for (int i = 1; i <= n; ++i) cout << cate[i] << " ";
  cout << '\n';
  return 0;
}
