给定n条边,把这n(1<=n<=100000)条从1标号到n。
现在有m(1<=m<=100000)个操作,每个操作分为两类:
A类操作:改变第i条边的值为j。
B类操作:给定第i条边和第j条边,问在剩下的边中,有多少条边可以和边i、j(i不等于j)组成三角形。
第一行为一个整数T(1<=T<=5)表示测试数据的组数。
每组测试数据:
第1行:一个整数n,表示有n条边。
第2行:有n个由空格隔开的整数,第i个整数表示第i条边的长度ai(1<=ai<=500000)。
第3行:一个整数m,表示有m个操作。
接下有m行个操作,每行包含3个由空格隔开的整数k、i、j。
如果是A类操作,k为1,表示改变第i条边的值为j。
如果是B类操作,k为2,问在剩下的边中,有多少条边可以和边i、j组成三角形。
对于每一个B类操作输出一个整数到一行。
2 5 1 2 3 4 5 3 2 1 2 1 5 3 2 4 5 10 5 5 20 100 20 13 17 28 200 98 3 1 1 81 2 4 5 2 9 10
0 2 2 0