#include <bits/stdc++.h>
using namespace std;
const int di[] = {-1, 0, 1, 0};
const int dj[] = {0, 1, 0, -1};
const long long MOD = 1e9 + 7;
const long long INF = 1e9;
int n;
vector<pair<pair<int, int>, int>> g;
vector<bool> rmv;
bool check() {
  for (int i = 0; i < n - 1; i++)
    if (!rmv[i] &&
        (!rmv[i + 1] && g[i].first.second > g[i + 1].first.first ||
         rmv[i + 1] && i < n - 2 && g[i].first.second > g[i + 2].first.first))
      return false;
  return true;
}
int main() {
  ios::sync_with_stdio(false), cin.tie(0);
  cin >> n;
  g.resize(n);
  rmv.assign(n, false);
  for (int i = 0; i < n; i++)
    cin >> g[i].first.first >> g[i].first.second, g[i].second = i;
  sort(g.begin(), g.end());
  vector<int> r;
  for (int i = 0; i < n; i++) {
    rmv[i] = true;
    if (check()) r.push_back(g[i].second);
    rmv[i] = false;
  }
  sort(r.begin(), r.end());
  cout << r.size() << endl;
  for (int i = 0; i < r.size(); i++)
    cout << r[i] + 1 << " \n"[i == r.size() - 1];
  cin.ignore(), cin.get();
}
