The City of the Future is filled with skyscrapers. To allow movement between them and provide parking, some triples of skyscrapers are connected by triangular cushions made from unipolar magnets. Each cushion connects exactly skyscrapers, forming a triangle with its vertices at the skyscrapers. This structure allows free movement between the connected skyscrapers. Cushions can be placed at different levels, so one skyscraper can be connected with various pairs through different cushions, and two skyscrapers may be connected by multiple cushions (either with different third skyscrapers or even with the same third). For example, there can be two cushions at different levels connecting skyscrapers , plus an additional magnetic cushion connecting .
The system of magnetic cushions is organized so that it is possible to travel between any pair of skyscrapers (transitioning between cushions within any skyscraper is allowed), but maintaining each cushion requires a significant amount of energy.
Write a program to determine which magnetic cushions cannot be removed from the city's system; the removal of any such cushion would make it impossible to reach some skyscrapers from others, which would greatly upset the citizens.
The first line contains two integers and (3 \le n \le 10^5, 1 \le m \le 10^5) — the number of skyscrapers and the number of magnetic cushions. Each of the next lines contains three integers indicating the skyscrapers connected by a cushion. The skyscrapers are numbered from to . It is guaranteed that the given cushions allow movement between any pair of skyscrapers.
First, print the number of magnetic cushions that cannot be removed without breaking connectivity in the city. If this number is nonzero, print their indices in the order they are listed in the input, starting from one.

Example 1
Example 2
Example 3