Description
风和日丽的一天,科丁乐的所有小朋友出去旅游。在开始之前,老师要求他们站成一排,宣布一个消息,但是老师不想直接告诉他们,想通过消息传递的方式通过一个孩子告诉另一个孩子。
因为孩子们的身高不同,老师设置了一些消息传递的规则:
1、他把这个消息告诉了最高的那个孩子
2、每个收到消息的孩子都必须把消息复述给他的“左信使”和“右信使”
3、一个孩子的左信使是指在他的左边比他矮的人中最高的那个人
4、一个孩子的右信使是指在他的右边比他矮的人中最高的那个人
5、由于孩子们是站成一排的,所以他们不可能越过比他们高的孩子去看后面的人,也就是说,他只能看到他本人和他的左边(或右边)第一个比他高的人之间的那些人。
例如,假设从左到右孩子的高度分别为4,1,6,3,5,2,在这种情况下,老师讲消息告诉第三个孩子,然后第三个孩子将消息传递给他的左信使和右信使,也就是第一个孩子和第五个孩子。然后第一个孩子将消息
传递给他的右信使也就是第二个孩子,第五个孩子将消息传递给他的左信使也就是第四个孩子以及他的右信使也就是第六个孩子。
Input
第一行是一个整数T,表示测试数据的组数。2≤T≤20
对于每组测试数据:
第一行是一个整数N,表示孩子的数量,1≤N≤50000
接下来一行是N个整数,表示从左到右孩子的身高,每个孩子的身高都不相同且均小于2^31-1
Output
对于每组测试数据,先输出测试用例的编号“Case t:”,然后输出N行,每行两个整数,分别表示第i个(i从1开始)孩子的左信使和右信使的位置编号,位置编号从左到右依次为1到N。
如果这个孩子没有左信使或者没有右信使则用整数0代替。
2
5
5 2 4 3 1
5
2 1 4 3 5
Case 1:
0 3
0 0
2 4
0 5
0 0
Case 2:
0 2
0 0
1 4
0 0
3 0