![]()
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+10;
int n;
int c[maxn];
int lowbit(int x) { return x&(-x); }
void update(int num,int val)
{
while(num)
{
c[num]+=val;
num-=lowbit(num);
}
}
int getsum(int num)
{
int sum=0;
while(num<=n)
{
sum+=c[num];
num+=lowbit(num);
}
return sum;
}
int32_t main()
{
while(1)
{
cin>>n;
if(n==0) break;
memset(c,0,sizeof(c));
for(int i=1;i<=n;i++)
{
int a,b; cin>>a>>b;
update(b,1);
update(a-1,-1);
}
for(int i=1;i<=n;i++)
{
cout<<getsum(i);
if(i!=n) cout<<" ";
}cout<<endl;
}
}
hdu 1556 树状数组