#P101. 小H爱染色

小H爱染色

题目描述

注意:本题输入量较大,请采用效率较高的读入方式。

注意:本题强制在线。

HH 正在和朋友游玩一款染色游戏。游戏的地图为一张有向无环图,初始所有点均没有上色。现给定两种操作:

1 x c\texttt{1 x c} :一位玩家从 xx 点出发,选择一条经过的点最多的简单路径(如果存在多个符合要求的路径,则选择字典序最小的路径),并把路径上的所有点涂成颜色 cc 。随后,查询当前图上存在的颜色总种类数(不包括无色)。

2 d\texttt{2 d} :查询当前图上颜色为 dd 的点的总数量。

操作会以某种形式进行加密,详见【输入格式】部分。

给定游戏地图和操作序列,请根据操作的要求输出相应答案。

输入格式

第一行输入三个整数 n,m,q(2n106,1mmin(2×106,n(n1)2),1q106)n,m,q\,(2\leq n\leq 10^6 ,\,1\leq m\leq \min(2\times10^6,\frac{n(n-1)}{2}),\,1\leq q\leq 10^6) ,表示图的点数、边数以及操作数。

接下来 mm 行,每行输入两个整数 x,y(1x,yn)x,y\,(1\leq x,y\leq n) ,描述图上的一条有向边 (x,y)(x,y) .

接下来 qq 行,每行输入三个整数 1,x,c1, x', c' 或两个整数 2,d2, d' ,表示被加密后的操作信息。

操作信息的解密方法:真实的 x,c,dx,c,d 值分别为 xlastans,clastans,dlastansx' \oplus lastans, c' \oplus lastans, d'\oplus lastans,其中 lastanslastans 为上一次操作的输出,\oplus 为按位异或。在第一次操作时 lastans=0lastans = 0 .

真实的值保证 1xn,1c,d1061\leq x\leq n,1\leq c,d\leq 10^6 .

数据保证生成的有向无环图不存在重边。

输出格式

对于每一次操作,输出一行一个整数,表示该次操作的答案。

输入输出样例 #1

输入 #1

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

输出 #1

1
1
0
7

说明/提示

本题对于空间限制有相对严格的要求,请务必小心可能存在的空间限制溢出问题。