#include<bits/stdc++.h>
using namespace std;

typedef pair<int,int> pii;
const int N=2e5+5;
int a[N],b[N],p[N],g[N];
int n;
set<pii> st;

int fp(int x){
	if(p[x]==x) return x;
	else return p[x]=fp(p[x]);
}

void lnk(int x,int y){
	x=fp(x);
	y=fp(y);
	if(a[x]<a[y]) p[y]=x;
	else p[x]=y;
}

int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) p[i]=i;
	for(int i=1;i<=n;i++){
		int x,y;
		scanf("%d%d",&x,&y);
		a[x]=y;
		b[i]=x;
	}
	for(int i=1;i<=n;i++){
		while(!st.empty()&&st.begin()->first<a[i]){
			lnk(st.begin()->second,i);
			st.erase(st.begin());
		}
		int x=fp(i);
		st.insert(make_pair(a[x],x));
	}
	for(int i=1;i<=n;i++) g[fp(i)]++;
	for(int i=1;i<=n;i++) printf("%d\n",g[fp(b[i])]);
	return 0;
}