PivotOJ

Baltazar

시간 제한: 4000ms메모리 제한: 1024MB출처: COCI 2022-2023BOJ 27342

문제

Baltazar decided to go on a vacation. Currently, he is in Baltazargrad, and wants to travel to Primošten. To get there, he has to go through many cities. There are nn citites, and they are connected with mm two-way roads. Baltazargrad is labeled as city no. 11, and Primošten as city no. nn.

Baltazar isn’t sure about the route from Baltazargrad to Primošten, so he will use GPS. It will lead him to his destination using the shortest route.

But Baltazar really likes to travel, and he can pour his magic potion on any road (even the ones he won’t pass by), and increase its length by 22 kilometers. He can pour it on only one road.

Soon he realized that he has to check-in in the hotel Zora in Primošten before noon, so he can’t increase the length of the shortest route too much. Now, he wants to know how many roads can he pour his magic potion on, so that the shortest distance between Baltazargrad and Primošten increases by exactly 11 kilometer.

Help him determine the roads he can pour his magic potion on.

입력

Each test contains multiple test cases. The first line contains the number of test cases tt (1 ≤ t ≤ 10\,000). The description of the test cases follows.

The first line of each test case contains integers nn and mm (2 ≤ n ≤ 300\,000, 1 ≤ m ≤ \min(300\,000, \frac{n·(n-1)}{2}), the number of cities, and the number of roads between cities.

The following mm lines contain integers aia_i, bib_i and wiw_i (1 ≤ a_i , b_i ≤ n, aibia_i \ne b_i, 1 ≤ w_i ≤ 10^9), meaning there is a road between cities aia_i and bib_i, and its length is wiw_i. Between each pair of cities, there is at most one road connecting them.

All the cities are connected, i.e., for each pair of cities, there is a path from one to another, but not necessary direct.

It is guaranteed that the sum of nn over all test cases does not exceed 300000300\,000, and that the sum of mm over all test cases does not exceed 300000300\,000.

출력

In the first line, print the integer cc, the number of roads on which Baltazar can pour his magic potion. In the second line, print cc integers, the indices of the roads in increasing order.

힌트

Clarification of the example: The cities and the roads are shown in the image. If Baltazar pours his magic potion on road 22 (between cities 11 and 33), or on road 44 (between cities 33 and 55), then the shortest distance between cities 11 and nn will increase by 11.

예제

예제 1

입력
3
6 6
1 2 2
1 3 2
2 4 2
3 5 2
4 5 1
5 6 2
6 6
1 2 2
1 3 2
2 4 2
3 5 2
4 5 3
5 6 2
6 7
1 2 2
1 3 2
2 4 2
3 5 2
4 5 1
5 6 2
1 6 7
출력
2
2 4
0

3
2 4 6
코드를 제출하려면 로그인하세요.