#include <bits/stdc++.h>
using namespace std;
int n;
struct node {
  int x, y, id;
} a[5050];
bool cmp(node s, node v) {
  if (s.x == v.x) return s.y < v.y;
  return s.x < v.x;
}
bool check(int x) {
  int st = 0, ed = 0;
  for (int i = 0; i < x; i++) {
    if (a[i].x < ed) return false;
    ed = a[i].y;
  }
  for (int i = x + 1; i < n; i++) {
    if (a[i].x < ed) return false;
    ed = a[i].y;
  }
  return true;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) scanf("%d%d", &a[i].x, &a[i].y), a[i].id = i + 1;
  sort(a, a + n, cmp);
  vector<int> g;
  for (int i = 0; i < n; i++) {
    if (check(i)) g.push_back(a[i].id);
  }
  sort(g.begin(), g.end());
  printf("%d\n", g.size());
  for (int i = 0; i < g.size(); i++) printf("%d ", g[i]);
  return 0;
}
