Molecule complexes on semipermeable membranes

The biological institute is studying new type of semipermeable membrane. Some special groups of bonded organic molecules can pass through the membrane. The groups of molecules which are being tested are called complexes. All molecules in any complex are mutually different. The institute researchers have found that a complex which can pass through the membrane has a very particular form. Each molecule in such complex bonds with exactly two other molecules in the complex.
In this problem, it also holds for any two molecules in any complex that if these two molecules can bond to each other then they also do bond.

The task

You are given the list of all pairs of molecules which can bond to each other. Find all complexes of five different molecules which can pass through the membrane.


Input

The first line contains two positive integers N, M separated by space and representing (in this order) the number of different molecules available and the number of all pairs of molecules which can bond to each other. The molecules are labeled from 0 to N−1.
Next, there are M lines, each represents one pair of molecules which can bond to each other. The line contains the labels of both molecules separated by space. The pairs are listed in the input in no particular order.
The value of M does not exceed 5×105.

Output

The output contains the list of all complexes of five molecules which can pass through the membrane. Each list element represents one complex and it is described in one text line. The line contains the labels of all molecules in the complex sorted in ascending order of labels. The labels are separated by spaces. The whole list is sorted in ascending lexicographical order of its elements.
You may suppose that the output list is unempty and that the length of the list does not exceed 104.

Example 1

Input
9 13
0 1
0 3
1 2
1 7
1 8
2 4
3 4
3 5
3 8
4 7
5 6
6 7
6 8
Output
0 1 2 3 4
0 1 3 4 7
1 2 3 4 8
1 3 4 7 8
3 4 5 6 7
3 4 6 7 8

Example 2

Input
10 15
0 1
0 4
0 5
1 2
1 6
2 3
2 7
3 4
3 8
4 9
5 7
5 8
6 8
6 9
7 9
Output
0 1 2 3 4
0 1 2 5 7
0 1 4 6 9
0 1 5 6 8
0 3 4 5 8
0 4 5 7 9
1 2 3 6 8
1 2 6 7 9
2 3 4 7 9
2 3 5 7 8
3 4 6 8 9
5 6 7 8 9

Example 3

Input
9 15
0 1
0 3
0 5
1 2
1 4
1 7
2 5
2 3
3 4
3 6
4 5
4 7
5 8
6 7
7 8
Output
0 1 3 6 7
0 1 5 7 8
1 2 3 6 7
1 2 5 7 8

Public data

The public data set is intended for easier debugging and approximate program correctness checking. The public data set is stored also in the upload system and each time a student submits a solution it is run on the public dataset and the program output to stdout and stderr is available to him/her.
Link to public data set