跳台滑雪是冬奥会历史上最悠久的项目之一。选手踩着滑雪板在跳台上起滑、加速,从跳台末端飞出后,身体前倾沿抛物线在空中飞行,最后落在山坡上。裁判员会根据运动员的飞行距离和动作完成情况评分。
小L同学最近喜欢上了冬奥会的跳台滑雪项目,并且参加了一场线上跳台滑雪比赛。已知跳台选手有N种可以选择的动作姿式,每种动作都有各自的成功率pi与难度分ri,如果成功则获得相应的难度分,如果失败则不得分。小L同学最后一个出场,现在他知道了M个对手的得分ci,以及自己的得分S,他希望自己在完成下一个动作后的名次能够到达前K名(可以与其他人并列第K名)。请问他应该如何选择下一个动作,才能在保证排名小于等于K的前提下,使成功率最大。
第一行输入三个正整数N、M、Q,分别表示可选动作姿式的数量、跳台对手的数量、以及查询的次数;
接下来的N行,每行输入一个浮点数pi和一个正整数ri,分别表示第i个动作的成功率和难度分;
接下来的一行输入M个正整数c1,…,cM,其中ci表示第i个对手目前的得分,保证每个对手的得分不同;
接下来的Q行,每行输入两个正整数S和K,分别表示小L同学目前的得分以及预期的名次。
(1<=N、M、Q<=10^5,0<pi<1,1<=ri、ci、S<=10^6,1<=K<=M)
对于每组测试数据,输出Q行答案,即对于每次查询,输出小L同学要选择的动作的下标(从0开始)。如果有多个符合条件的动作,首先选择分数最高的。如果分数和成功率都相同,选择下标最小的。如果不可能到达目标名次,输出-1。