Strange City
In a certain country, there is a unique city with n intersections and m streets. Each street connects exactly two different intersections and can be traveled in both directions.
One day, the city's mayor decided to address traffic congestion by implementing a road reform. The plan was to convert some streets into pedestrian-only zones. According to research by the transportation department, the reform would be optimal if, after its implementation, each intersection had an odd number of streets open to vehicular traffic.
The mayor's team is worried because they are unable to meet this requirement. Your task is to solve this problem for them. Given the city's map, determine which streets should be designated as pedestrian-only and which should remain open for vehicles, ensuring that each intersection ends up with an odd number of streets available for vehicular traffic.
Input
The first line contains the integers n and m (1 ≤ n ≤ 2·10^5, 0 ≤ m ≤ 2·10^5) — the number of intersections and the number of roads in the city, respectively.
The following m lines describe the roads. Each road is detailed on a separate line. In the (i+1)-th line, the road with number i is described. Each road is defined by two integers v and u — the numbers of the two intersections that this road connects (1 ≤ v, u ≤ n).
It is guaranteed that no road connects an intersection to itself.
It is guaranteed that any pair of intersections is connected by no more than one road.
It is not guaranteed that you can reach any intersection from any other intersection via the streets.
Output
If it is impossible to meet the condition specified by the mayor, output the single number -1 on the first line of the output file.
Otherwise, on the first line, output the number k — the number of roads that should remain open for vehicular traffic. On the next line, output k distinct numbers separated by spaces — the numbers of these roads. The roads are numbered from 1 to m in the order they are provided in the input file.