#include <bits/stdc++.h>
using namespace std;
typedef struct _data {
  int s;
  int e;
  int index;
} data;
data d[5000];
int ans[5000];
bool com(data a, data b) {
  if (a.s == b.s) return a.e < b.e;
  return a.s < b.s;
}
int main() {
  int n, i, j, cnt = 0;
  int ps, pe;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d %d", &d[i].s, &d[i].e);
    d[i].index = i;
  }
  sort(d, d + n, com);
  for (i = 0; i < n; i++) {
    if (i != 0) {
      ps = d[0].s;
      pe = d[0].e;
    } else {
      ps = 0;
      pe = 0;
    }
    for (j = 0; j < n; j++) {
      if (i == j) continue;
      if (ps < d[j].s && d[j].s < pe) break;
      ps = d[j].s;
      pe = d[j].e;
    }
    if (j == n) {
      ans[cnt++] = d[i].index + 1;
    }
  }
  sort(ans, ans + cnt);
  printf("%d\n", cnt);
  for (i = 0; i < cnt; i++) printf("%d ", ans[i]);
  if (cnt > 0) printf("\n");
  return 0;
}
