Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
C. Schedule

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputAt the beginning of the new semester there is new schedule in the Berland State University. According to this schedule, *n* groups have lessons at the room 31. For each group the starting time of the lesson and the finishing time of the lesson are known. It has turned out that it is impossible to hold all lessons, because for some groups periods of their lessons intersect. If at some moment of time one groups finishes it's lesson, and the other group starts the lesson, their lessons don't intersect.

The dean wants to cancel the lesson in one group so that no two time periods of lessons of the remaining groups intersect. You are to find all ways to do that.

Input

The first line contains integer *n* (1 ≤ *n* ≤ 5000) — amount of groups, which have lessons in the room 31. Then *n* lines follow, each of them contains two integers *l*_{i} *r*_{i} (1 ≤ *l*_{i} < *r*_{i} ≤ 10^{6}) — starting and finishing times of lesson of the *i*-th group. It is possible that initially no two lessons intersect (see sample 1).

Output

Output integer *k* — amount of ways to cancel the lesson in exactly one group so that no two time periods of lessons of the remaining groups intersect. In the second line output *k* numbers — indexes of groups, where it is possible to cancel the lesson. Groups are numbered starting from 1 in the order that they were given in the input. Output the numbers in increasing order.

Examples

Input

3

3 10

20 30

1 3

Output

3

1 2 3

Input

4

3 10

20 30

1 3

1 39

Output

1

4

Input

3

1 5

2 6

3 7

Output

0

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/19/2021 09:04:50 (i2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|