#include<cstdio>
#include<iostream>
using namespace std;
const long long maxn=35000;
int BItree[maxn], n, a, b, cnt[maxn];
inline void qread(int &x){
x = 0;
int ch = getchar();
while(ch < '0' || ch > '9') ch =getchar();
while(ch >='0' && ch <= '9') x = 10 * x + ch - 48, ch = getchar();
}
void add(int x){
for(; x<=40000; x += (x&-x))
BItree[x]++;
}
int sum(int x){
int ans = 0;
for(; x; x -= (x&-x))
ans += BItree[x];
return ans;
}
int main(void)
{
qread(n);
for(int i=1; i<=n; ++i){
qread(b), qread(a);
b++;
cnt[sum(b)]++;
add(b);
}
for(int i=0; i<n; ++i)
cout << cnt[i] << endl;
}