So Far Away - Martin Garrix
在公元四世纪的欧洲大陆,一共有 n 座城邦,每座城邦都有一个特征值 a。其中,对于任意两座不同的城邦 i 和 j 来说,它们之间有一条无向边,边的长度为 e(i,j)=min(ai,aj)。
在随后的一个世纪里,发生了许多事件,包含以下两种类型:
对于每种类型为 2 的事件,都需要输出一行整数代表答案。
第一行,一个整数 t(1≤t≤104),代表数据组数。
对于每组数据:
第一行,两个整数 n,q(2≤n≤105;1≤q≤105),分别代表城邦的数量和事件的数量。
第二行,n 个整数 a1,a2,…,an(1≤ai≤108),代表初始时每个城邦的特征值。
接下来连续的 q 行,每行一个事件。先输入一个整数 op(1≤op≤2),代表事件的类型。如果 op=1,则接下来输入两个整数 x,a(1≤x≤n;1≤a≤n),代表把城邦 x 的特征值修改为 a。如果 op=2,则接下来首先输入两个整数 u,v(1≤u,v≤n,u=v),代表当前查询最短距离的两个城邦编号。接下来一个整数 k(0≤k≤min(9,n−2)),代表在这次查询中被断开的边的数量,接下来有 k 对互不相同的整数对 ui,vi(ui=vi),代表在当且查询中城邦 ui,vi 之间的边被断开。
保证同一测试点内 n 和 q 的总和均不会超过 105。
对于每种类型为 2 的事件,都需要输出一行整数代表答案。
可以证明的是,在题目给定的条件下,任意两对城邦之间都是相互联通的。
输入样例
3
2 4
1 1
2 1 2 0
1 1 2
1 2 3
2 1 2 0
3 5
1 2 3
2 1 2 1 1 2
2 1 2 1 1 3
2 1 2 1 2 3
1 1 6
2 1 2 1 1 2
6 10
1 1 1 1 9 2
2 1 6 4 1 2 1 3 1 4 1 6
1 1 4
1 2 10
1 3 8
2 3 2 1 2 3
1 4 100000000
2 2 6 0
1 6 9
2 2 6 1 3 1
2 3 5 3 3 5 1 3 1 5
输出样例
1
2
3
1
1
5
3
2
2
8
17