CSES - New Flight Routes
  • Time limit: 1.00 s
  • Memory limit: 512 MB

There are nn cities and mm flight connections between them. Your task is to add new flights so that it will be possible to travel from any city to any other city. What is the minimum number of new flights required?

Input

The first input line has two integers nn and mm: the number of cities and flights. The cities are numbered 1,2,,n1,2,\dots,n.

After this, there are mm lines describing the flights. Each line has two integers aa and bb: there is a flight from city aa to city bb. All flights are one-way flights.

Output

First print an integer kk: the required number of new flights. After this, print kk lines describing the new flights. You can print any valid solution.

Constraints

  • 1n1051 \le n \le 10^5
  • 1m21051 \le m \le 2 \cdot 10^5
  • 1a,bn1 \le a,b \le n

Example

Input:

4 5
1 2
2 3
3 1
1 4
3 4

Output:

1
4 2