1 #include<cstdio>
2 #include<cstring>
3 #include<algorithm>
4 using namespace std;
5 const int maxn=100000+5;
6 int c[maxn];
7 int ans[maxn];
8 struct pos
9 {
10 int s,e;
11 int id;
12 bool operator <(const pos &a)const
13 {
14 if(a.e==e) return a.s>s;
15 return a.e<e;
16 }
17 }p[maxn];
18 int lowbit(int x)
19 {
20 return x&-x;
21 }
22 int sum(int x)
23 {
24 int ret=0;
25 while(x>0)
26 {
27 ret+=c[x];
28 x-=lowbit(x);
29 }
30 return ret;
31 }
32 void add(int x,int inc)
33 {
34 while(x<=maxn)
35 {
36 c[x]+=inc;
37 x+=lowbit(x);
38 }
39 }
40 int main()
41 {
42 int n;
43 while(scanf("%d",&n)!=EOF&&n)
44 {
45 memset(c,0,sizeof(c));
46 for(int i=0;i<n;i++)
47 {
48 scanf("%d%d",&p[i].s,&p[i].e);
49 p[i].id=i+1;
50 }
51 sort(p,p+n);
52 ans[p[0].id]=0;
53 add(p[0].s+1,1);
54 for(int i=1;i<n;i++)
55 {
56 if(p[i].s==p[i-1].s&&p[i].e==p[i-1].e)
57 ans[p[i].id]=ans[p[i-1].id];
58 else
59 ans[p[i].id]=sum(p[i].s+1);
60 add(p[i].s+1,1);
61 }
62 printf("%d",ans[1]);
63 for(int i=2;i<=n;i++)
64 printf(" %d",ans[i]);
65 printf("\n");
66 }
67 return 0;
68 }