새로운 섬이 발견되었다. 건축가들이 이 섬의 주요 장소들을 잇는 도로 계획을 설계했지만, 예산이 부족하여 계획을 그대로 건설할 수 없다. 그래서 일부 도로를 없애 더 저렴한 계획으로 수정하려고 한다.
제안된 계획에서 각 도로는 $1$ 이상 $E$ 이하의 서로 다른 번호(id)를 가지며($E$는 도로의 수), 번호가 $i$인 도로의 비용은 정확히 $2^i$이다. 번호가 모두 다르므로 도로 비용은 서로 다른 $2$의 거듭제곱이다.
모든 장소가 여전히 연결된 상태를 유지하면서, 남은 도로들의 총비용이 최소가 되도록 일부 도로를 제거하려고 한다. 다만 도로를 마음대로 제거할 수는 없다. 제거한 뒤의 계획에서 임의의 두 장소 사이의 거리는 원래 계획에서의 거리의 두 배를 넘어서는 안 된다. 두 장소 사이의 거리는 그 둘을 잇는 경로에 포함된 도로 수의 최솟값이다.
원래 도로 계획이 그래프로 주어진다. 거리 제약을 지키면서 남은 총비용을 최소로 만드는 제거 방법을 구하여라. 비용이 서로 다른 $2$의 거듭제곱이므로 이러한 최적의 제거 방법은 유일하다.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 두 정수 $N$ ($1 \le N \le 200$)과 $E$가 주어지며, 각각 장소(정점)의 수와 도로(간선)의 수이다. 이어지는 $E$개의 줄 중 $i$번째 줄에는 두 정수 $v_i$와 $u_i$가 주어지고, 이는 번호가 $i$인 도로가 장소 $v_i$와 $u_i$를 잇는다는 뜻이다(도로는 주어진 순서대로 $1$번부터 $E$번까지 번호가 매겨진다).
입력의 끝은 두 개의 $0$으로 이루어진 줄로 표시된다.
각 테스트 케이스마다 한 줄에 제거한 도로의 개수를 출력하고, 이어서 제거한 도로들의 번호를 증가하는 순서로 출력한다. 제거한 도로가 없으면 $0$만 출력한다.