魔法

时间限制:10s      空间限制:256MB

题目描述

一天,白神和他的伙伴喵喵一起走到了可以产生魔法的神奇世界。但是这个世界产生魔法有这样一个有趣的方法。在一个无向图,有N个城镇,M条道路,并且每一条道路有一个权值(不超过10^18 )。每次从1号城镇出发,随意一条有限长度的路径,一条路可以经过多次,所经过的边将权值xor起来,若xor值不为0,则算新产生一种魔法(一个xor值对应唯一的魔法)。注意:一条边经过几次,就要xor几次)。
喵喵觉得这样太没有意思了,就在想假如我删除一些边这个世界的魔法总数还会有多少呢?喵喵可不会一下删完,他会进行Q次删边操作,每次只会删除一条边,他想知道每删除一条边,剩余的魔法种数有多少。


输入格式

第一行3个整数,表示N个节点,M条边,之后删除Q次边。
接下来M行表示A B 之间有一条U权值的边
在接下来Q行,表示删除第编号为A的边


输出格式

一共Q+1行,每行一个整数。


样例输入

3 3 2
1 2 1
2 3 2
3 1 4
1
3

样例输出

5
2
0

提示

所有数据保证该无向图不含重边、自环。
所有数据保证不会有一条边被删除多次,即对于不同i和j,有Disi≠Disj
N ≤ 5000,M ≤ 20000,Q ≤20000,U≤10^18;


题目来源

没有写明来源