Tariff "LKS.SMS"#5462

Tariff "LKS.SMS"

2 seconds
64 megabytes
Easy

My phone is very easy to remember:

3208 - thirty-two teeth and eight fingers.

Daniil Kharms

Radio3, a mobile operator, has announced a new tariff plan called "LKS.SMS". A group of people can subscribe to this plan. When joining, they specify n-1 pairs of people, and for one year, SMS messages between each such pair are free of charge.

The group D9, which consists of exactly people, decided to switch to this tariff. They have listed all pairs of people who would like to communicate with each other for free.

Naturally, they want to choose n-1 pairs from this list so that every member of the group can send a message for free to every other member (possibly not directly, but through friends). After a long rainy evening, they identified and listed all possible ways to connect under this condition.

Which pairs occur in exactly two ways of connecting?

Input

The first line contains two integers and (1 \leq n \leq 100\,000, 0 \leq m \leq 100\,000)—the number of people in group D9 and the number of pairs of people who wish to communicate for free.

Each of the following lines contains a pair of distinct integers—the ids of two people who wish to communicate for free. All pairs are unique.

Output

On the first line, print the number —the number of pairs that occur in exactly two ways of connecting to the tariff.

In the next lines, output these pairs in any order, one per line. The numbers in each line should be separated by a space; they may be written in any order.

Examples

Example 1

Loading
Loading