#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 5;
int memo[N];
vector <int> a[N];
bool ch(int d1, int h1, int d2, int h2) {
return d1 < d2 && h1 > h2;
}
int f(int n) {
if (memo[n] != -1) return memo[n];
int res = 1;
for (int x : a[n]) {
res = max(res, f(x) + 1);
}
return res;
}
signed main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
int d[n], h[n];
for (int i = 0; i < n; ++i) cin >> d[i] >> h[i];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
if (ch(d[j], h[j], d[i], h[i])) a[i].push_back(j);
}
}
memset(memo, -1, sizeof(memo));
for (int i = 0; i < n; ++i) cout << f(i) << '\n';
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgaW50IGxvbmcgbG9uZwp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgTiA9IDJlNSArIDU7CmludCBtZW1vW05dOwp2ZWN0b3IgPGludD4gYVtOXTsKCmJvb2wgY2goaW50IGQxLCBpbnQgaDEsIGludCBkMiwgaW50IGgyKSB7CglyZXR1cm4gZDEgPCBkMiAmJiBoMSA+IGgyOwp9CgppbnQgZihpbnQgbikgewoJaWYgKG1lbW9bbl0gIT0gLTEpIHJldHVybiBtZW1vW25dOwoJaW50IHJlcyA9IDE7Cglmb3IgKGludCB4IDogYVtuXSkgewoJCXJlcyA9IG1heChyZXMsIGYoeCkgKyAxKTsKCX0KCXJldHVybiByZXM7Cn0KCnNpZ25lZCBtYWluKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKCWNpbi50aWUoMCk7CglpbnQgbjsKCWNpbiA+PiBuOwoJaW50IGRbbl0sIGhbbl07Cglmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgY2luID4+IGRbaV0gPj4gaFtpXTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgKytpKSB7CgkJZm9yIChpbnQgaiA9IDA7IGogPCBuOyArK2opIHsKCQkJaWYgKGNoKGRbal0sIGhbal0sIGRbaV0sIGhbaV0pKSBhW2ldLnB1c2hfYmFjayhqKTsKCQl9Cgl9CgltZW1zZXQobWVtbywgLTEsIHNpemVvZihtZW1vKSk7Cglmb3IgKGludCBpID0gMDsgaSA8IG47ICsraSkgY291dCA8PCBmKGkpIDw8ICdcbic7CglyZXR1cm4gMDsKfQ==