给定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