#include <bits/stdc++.h>
using namespace std;
vector<pair<pair<int, int>, int> > vec[2];
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    int a, b;
    cin >> a >> b;
    if (a > b)
      vec[0].push_back({{b, a}, i});
    else
      vec[1].push_back({{b, a}, i});
  }
  sort(vec[0].begin(), vec[0].end());
  sort(vec[1].begin(), vec[1].end(), greater<pair<pair<int, int>, int> >());
  if ((int)vec[0].size() < (int)vec[1].size()) swap(vec[0], vec[1]);
  cout << (int)vec[0].size() << endl;
  for (int i = 0; i < (int)vec[0].size(); i++)
    cout << vec[0][i].second + 1 << " ";
  cout << endl;
  return 0;
}
