#H1057. 空中岛屿

空中岛屿

Background

作为富商的你接受国王的订单,要为国王在他的领土内采购物品。

Description

王国的领土被分为 nn 个区域。每个区域都有一定种类的物产,物产的种类用数值表示。这些区域中有 mm 对区域两两之间接壤。为了方便王国的治理,在接壤处设有关卡。每个关卡都具有一个等级 ww 。要通过关卡的人需要手持一份通行证。通行证同样也有一个通行等级 , 记为 kk 。只有当 kwk \geqslant w 时持有者才能通过该关卡从接壤区域的一边到达另一边。通行证使用次数没有上限。因为你是一个很富很富的富商 , 只要到达一地你就可以采购当地拥有的任意种类的物品,并且不计较路中所携带物品的数量和运输路程。现在作为你要从某个特定的区域出发 , 为国王收集不少于 tt 种不同的物产。你需要向国王申请通行证。当然为了显示自己的能力 , 你需要在保证完成任务的情况下向国王申请等级尽量低的通行证。

Format

Input

11 行两个整数 nn , mm

22n+1n+1 行共 nn 行 , 第 ii 行第一个数 numinum_{i} 表示第 i1i-1 个区域拥有的物产的种数。接下来 numinum_{i} 个互不相同的正整数 , 记为 a1,a2,,anumia_1, a_2, \cdots, a_{num_i} , 其中 aja_j 代表第 i+1i+1 个区域内有第 aja_j 种物产。

n+2n+2n+m+1n+m+1 行共 mm 行每行三个正整数 uu , vv , ww , 代表第 uu 个区域与第 vv 个区域接壤并设有 ww 等级的关卡。

n+m+2n+m+2 行两个正整数 q,kq , k , 接下来共有 qq 组询问。

n+m+3n+m+3 行到第 n+m+q+2n+m+q+2 行共 qq 行, 每行两个正整数 psps , ptpt , 代表你要从 s=(pslastans)modn+1s = (ps \oplus lastans) \bmod n + 1 号区域出发 , 为国王收集不少于 t=(ptlastans)modk+1t = (pt \oplus lastans) \bmod k + 1 种物产。

\oplus 代表异或运算。

lastanslastans 代表上一组询问的答案 , 特别地 , 对于第一组询问和上一组询问无法完成任务的情况 lastans=0lastans = 0

Output

总共 qq 行。

ii 行为一个正整数 ansians_i , 代表第 ii 组询问的答案。 特别地 , 如果给定任意等级的通行证均不可完成任务 , ansi=1ans_i = -1

Sample 1

9 10
2 2 5
1 3
2 4 5
2 2 3
2 4 5
2 1 3
1 4
2 1 2
4 1 2 3 5
2 4 1
1 2 2
1 3 1
1 5 4
3 5 5
5 7 5
5 8 3
5 6 2
6 8 1
7 9 1
4 5
2 3
5 4
1 2
1 6
2
0
2
4

Limitation

对于 30%30\% 的数据有 : $n, q \leqslant 500, m \leqslant 2 \times 10^3, \sum num_i \leqslant 10^4$

对于 100%100\% 的数据有 :

$u, v \leqslant n,q \leqslant 10^5, m, \sum num_i \leqslant 10^6 , a_i \leqslant 10^5$

0tmax{ai}0 \leqslant t \leqslant \max\{a_i\}

1w1071 \leqslant w \leqslant 10^7

保证图连通。

Hint

注意,你只需要收集齐物品即可,国王会派人来取的。

请开O2。