#include <bits/stdc++.h>
using namespace std;
int n, cnt = 0;
struct nod {
  long long judge, af, bf;
};
nod a[500050];
long long ans[500050];
inline bool cmp(nod x, nod y) { return x.bf < y.bf; }
int main() {
  scanf("%d", &n);
  register long long l, r;
  for (register int i = 1; i <= n; i++) {
    scanf("%lld%lld", &l, &r);
    a[++cnt].judge = 1, a[cnt].bf = l;
    a[++cnt].judge = -1, a[cnt].bf = r + 1;
  }
  sort(a + 1, a + cnt + 1, cmp);
  register long long lastpos = 0, num = 0;
  for (register int i = 1; i <= cnt; i++) {
    ans[num] += a[i].bf - lastpos;
    lastpos = a[i].bf;
    num += a[i].judge;
  }
  for (register int i = 1; i <= n; i++) {
    printf("%lld ", ans[i]);
  }
  cout << endl;
}
