计算科学院正在举行一场乒乓球院赛,计算机学院一共有$2n$个人参加比赛,其中第$i$个有$f_i$的战力值(保证战力值两两不相等),有$s_i$的初始分数,接下来进行$C$轮比赛,具体流程如下:
首先按照分数从大到小排序,分数相等时战力值小的排在前面,接下来将所有人分成n组,每组两个人,排名第一和排名第二一组,排名第三和排名第四一组,$\dots$,排名第$2i-1$和排名$2i$一组,以此类推。
每一组内战力值更高的人将取得本轮比赛的胜利,获得$1$分,败者得$0$分。
现在$fty$想要知道$C$轮比赛过后,排名为$ftyyyds$的人的分数是多少。
输入第一行三个整数$n\ (n\leq 2\times 10^5),C(C<=88),ftyyyds(1\leq ftyyyds \leq n)$。
接下来一行共$2n$个整数,第$i$个整数表示$d_i(1\leq d_i \leq 2n)$,$d_i$保证两两不相等。
再接下来一行共$2n$个整数,第$i$个整数表示$s_i(1\leq s_i \leq n)$。
数据保证$s_i$从大到小给出,$s_i$相等时保证$d_i$更小的先给出。
输出共一个整数表示$C$轮比赛过后排名为$ftyyyds$的人的分数。
输入
样例一
3 2 2
4 6 2 5 1 3
3 3 2 2 1 1
样例二
2 2 2
1 3 4 2
4 3 2 1
输出
样例一
4
样例二
4
鉴于输入数据规模较大,使用$cin$读入可能将可能导致时间超限。
在程序之中加入此语句关闭同步流可以大大加快$cin$读入速度
ios::sync_with_stdio(false);
关闭同步流之后不可使用$scanf()$或$printf()$进行读入输出。
Tip:可以使用归并排序解决此题