#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 100;
long long ans[maxn];
struct node {
  long long a, b;
} g[maxn * 2];
;
bool cmp(struct node a, struct node b) { return a.a < b.a; }
int main() {
  int n;
  while (cin >> n) {
    long long l, r;
    int cnt = 0;
    memset(ans, 0, sizeof(ans));
    for (int i = 0; i < n; i++)
      cin >> l >> r, g[cnt].a = l, g[cnt++].b = 1, g[cnt].a = r + 1,
                     g[cnt++].b = -1;
    sort(g, g + cnt, cmp);
    long long id = 0, in = 0;
    for (int i = 0; i < cnt; i++) {
      ans[id] += (g[i].a - in);
      id += g[i].b;
      in = g[i].a;
    }
    for (int i = 1; i <= n; i++) {
      printf("%lld ", ans[i]);
    }
    printf("\n");
  }
  return 0;
}
