#include <bits/stdc++.h>
using namespace std;
long long n;
long long biao[400003];
struct call {
  long long num;
  long long akr;
  call() : num(0), akr(0) {}
} ca[2 * 400003];
bool cmp(call a, call b) {
  return (a.num != b.num) ? a.num < b.num : a.akr > b.akr;
}
int main() {
  cin >> n;
  for (long long i = 1; i <= n * 2; i += 2) {
    scanf("%lld", &ca[i].num);
    ca[i].akr = 1;
    scanf("%lld", &ca[i + 1].num);
    ca[i + 1].akr = -1;
    ca[i + 1].num += 1;
  }
  sort(ca + 1, ca + n + n + 1, cmp);
  cout << endl;
  long long now = 0;
  for (long long i = 1; i <= n * 2 - 1; i++) {
    now += ca[i].akr;
    biao[now] += ca[i + 1].num - ca[i].num;
  }
  for (long long i = 1; i <= n; i++) cout << biao[i] << " ";
  return 0;
}
