#5274. lian

内存限制:512 MiB 时间限制:80 Sec

题目描述

首先我们定义两个多重集A和B的大小关系,找到最小的整数x使得在两个多重集中出现次数不同,然后整数x出现次
数大的多重集更小。如果这样的x不存在,那么相等。
比如{1,2,3}<{1,3,3,5},{1,1,4,4}<{1,1,4}。
给你一个长为n的序列,序列中每个数字在1到n之间。
对于任意一个区间[l,r],这里面的数字a_l,a_{l+1},…,a_r会形成一个多重集,一共形成n*(n+1)/2个多重集。
现在请输出这些多重集中第p小的到第q小的多重集对应的区间是什么
如果两个多重集一样大,那么我们认为对应的区间的左端点较小的更小。

输入格式

第一行三个正整数n,p,q
接下来一行n个1到n之间的整数,表示这个序列,序列下标从1开始标号。
n<=100000,1<=p<=q<=n*(n+1)/2且q<=p+100000

输出格式

输出q-p+1行,每行两个正整数表示多重集对应的区间。

样例

样例输入


			
6 10 13
1 2 1 3 5 1

样例输出


			
2 3
3 5
4 6
3 4

数据范围与提示