2121 - 旅游观光
描述

N 座岛屿和 M 座连接两座岛屿的双向桥梁。这些岛屿和桥梁的编号分别为 12\ldotsN12\ldotsM 。  

大桥 i 连接着岛屿 U _ iV _ i ,从任一方向穿过大桥所需的时间为 T _ i 。  

没有一座桥将一个岛屿与它自己连接起来,但是两个岛屿有可能被不止一座桥直接连接起来。  

人们可以通过一些桥梁来往于任意两个岛屿之间。

给你 Q 个问题,请逐一回答。 第i此 查询如下:

> 给你 K _ i 个不同的桥:桥 B _ {i,1}, B _ {i,2}, \ldots, B _ {i,K _ i} 。  

> 求从岛屿 1 到岛屿 N 所需的最少时间,每座桥梁至少使用一次。  

> 只考虑过桥的时间。  

> 你可以以任何顺序和方向通过给定的桥梁。


输入

第一行两个数字,N,M,表示岛屿数量和桥的数量

接下来M行,三个数字,a,b,c分别表示从a到b需要c的时间

接下来一个数字Q,表示Q次查询

对于每次查询,首先是一个数字K,表示经过K座桥,然后是K座桥的编号!

输出

Q个数字,表示每次查询通过的最短时间

样例

输入

3 5
1 2 10
1 3 20
1 3 30
2 3 15
2 3 25
2
1
1
2
3 5

输出

25
70

输入

5 5
1 2 1000000000
2 3 1000000000
3 4 1000000000
4 5 1000000000
1 5 1000000000
1
1
3

输出

4000000000
提示

- 2 \leq N \leq 400

- N-1 \leq M \leq 2 \times 10^5

- 1 \leq U_i < V_i \leq N

- 1 \leq T_i \leq 10^9

- 1 \leq Q \leq 3000

- 1 \leq K_i \leq 5

- 1 \leq B_{i,1} < B_{i,2} < \cdots < B_{i,K_i} \leq M

- 所有输入值均为整数。

- 利用一些桥梁可以在任意两个岛屿之间旅行。


样例1说明

对于第一个查询,我们需要找出在使用桥梁 1 的情况下,从岛屿 1 到岛屿 3 所需的最短时间。使用桥梁 1 从岛屿 1 移动到岛屿 2 ,然后使用桥梁 4 从岛屿 2 移动到岛屿 3 ,所需的时间最少。所用时间为 10 + 15 = 25 。因此,在第一行打印 25

对于第二个查询,我们需要找出在同时使用桥梁 35 的情况下,从岛屿 1 前往岛屿 3 所需的最短时间。使用桥梁 3 从岛屿 1 移动到岛屿 3 ,然后使用桥梁 5 移动到岛屿 2 ,最后使用桥梁 4 返回岛屿 3 所需的时间最少。所用时间为 30 + 25 + 15 = 70 。因此,在第二行打印 70


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 0
通过次数 0