#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  ;
  set<pair<int, int>> st;
  int n;
  cin >> n;
  pair<int, int> p;
  for (int i = 0; i < n; i++) {
    cin >> p.first >> p.second;
    if (!i) {
      st.insert(p);
      cout << st.size() << " ";
      continue;
    }
    auto x = st.lower_bound(make_pair(p.second + 1, -1));
    vector<pair<int, int>> v;
    if (x != st.begin()) x--;
    while (x->first <= p.second and x->second >= p.first) {
      v.push_back(*x);
      if (x == st.begin()) break;
      x--;
    }
    for (int j = 0; j < v.size(); j++) {
      st.erase(v[j]);
      p.first = min(p.first, v[j].first);
      p.second = max(p.second, v[j].second);
    }
    st.insert(p);
    cout << st.size() << " ";
  }
  cout << endl;
  return 0;
}
