#include <bits/stdc++.h>
using namespace std;
int inf = std::numeric_limits<int>().max();
struct S {
  long long v, i;
  bool operator()(S i, S j) { return (i.i < j.i); }
} reg;
int main() {
  long long n;
  cin >> n;
  vector<long long> l(n), r(n);
  map<long long, long long> m;
  for (int i = 0; i < n; i++) {
    cin >> l[i] >> r[i];
  }
  for (int i = 0; i < n; i++) {
    m[l[i]]++;
    m[r[i] + 1]--;
  }
  auto it2 = m.begin();
  auto it = it2;
  it++;
  while (it != m.end()) {
    it->second += it2->second;
    it2 = it;
    it++;
  }
  vector<long long> ans(n + 1);
  for (auto it = m.begin(); it != m.end(); it++) {
    it2 = it;
    it2++;
    ans[it->second] += it2->first - it->first;
  }
  for (int i = 1; i <= n; i++) {
    cout << ans[i] << " ";
  }
  cout << endl;
}
