Hide

Problem D
Poklon

Mirko got a set of intervals for his birthday. There are many games he can play with them. In one of them, Mirko must find the longest sequence of distinct intervals such that each interval in the sequence is in the set and that each interval contains the one that follows in the sequence.

Write a program which finds one such longest sequence.

Input

The first line of input contains the integer $N$ $(1 \le N \le 100\, 000)$, the number of intervals in the set.

Each of the following $N$ lines contains two integers $A$ and $B$ describing one interval $(1 \le A < B \le 1\, 000\, 000)$.

Output

Output the length $K$ of the longest sequence on the first line.

Each of the following $K$ lines should contain one element of the sequence, an interval in the same format it was given in the input.

Sample Input 1 Sample Output 1
3
3 4
2 5
1 6
3
1 6
2 5
3 4
Sample Input 2 Sample Output 2
5
10 30
20 40
30 50
10 60
30 40
3
10 60
30 50
30 40
Sample Input 3 Sample Output 3
6
1 4
1 5
1 6
1 7
2 5
3 5
5
1 7
1 6
1 5
2 5
3 5
CPU Time limit 1 second
Memory limit 1024 MB
Statistics Show
Source Croatian Open Competition in Informatics 2007/2008, contest #4
License For educational use only

Please log in to submit a solution to this problem

Log in