One lazy programmer decided to visit events. He was so lazy that it was hard for him to leave his house. However, he was a clever programmer and decided to act wisely. He had a list of all the events planned for the near future, as well as the start and end times of each event. However, he was also very busy (so at each event he is delayed by a few seconds, which can be neglected — that is, each event can be considered as a point on the timeline). Your task is to find the minimum number : the minimum number of times he needs to leave the house to visit all events, as well as lists of which events he will visit on each exit.
The input file contains several test cases. Each test case starts with a line containing a single integer (1 \leq N \leq 100). Then, the next lines contain two integers and (|L|, |R| \leq 2 \times 10^6, L \leq R): the start and end time of each event, respectively.
For each test case, for each exit from the house, output in ascending order the numbers of the events visited (separated by spaces). At the end of each test case, print a single line **Result = X**, where is the number of exits from the house.
Example 1