Camping Groups

题意翻译

俱乐部有n个成员,每个成员有一定的地位和年龄,$r_i$表示第$i$个人的地位,$a_i$表示第$i$个人的年龄。 最近俱乐部里要举行活动,要求几个人组成一个小组,小组中必须要有一个队长,要成为队长有这样的条件: 1. 队长在小组中的地位应该是最高的(可以并列第一), 2. 小组中其他成员的年龄和队长的年龄差距不能超过K 有些人想和自己亲密的人组在同一个小组,同时希望所在的小组人越多越好。比如x和y想在同一个小组,同时希望它们所在的小组人越多越好,当然,它们也必须选一个符合上述要求的队长,那么问你,要同时包含x和y的小组,最多可以组多少人?

题目描述

A club wants to take its members camping. In order to organize the event better the club directors decided to partition the members into several groups. Club member $ i $ has a responsibility value $ r_{i} $ and an age value $ a_{i} $ . A group is a non-empty subset of club members with one member known as group leader. A group leader should be one of the most responsible members of the group (his responsibility value is not less than responsibility of any other group member) and his age absolute difference with any other group member should not exceed $ k $ . Some club members are friends and want to be in the same group. They also like their group to be as large as possible. Now you should write a program that answers a series of questions like "What's the largest size of a group containing club member $ x $ and club member $ y $ ?". It's possible for $ x $ or $ y $ to be the group leader.

输入输出格式

输入格式


The first line contains two integers $ n $ and $ k $ ( $ 2<=n<=10^{5},0<=k<=10^{9} $ ) — the number of club members and the age restriction for one group. The next line contains integer numbers $ r_{1},r_{2},...,r_{n} $ ( $ 1<=r_{i}<=10^{9} $ ) separated by space: $ r_{i} $ denotes the $ i $ -th club member's responsibility. In the same way there are integers $ a_{1},a_{2},...,a_{n} $ ( $ 1<=a_{i}<=10^{9} $ ) in the third line: $ a_{i} $ denotes the $ i $ -th club member's age. The next line contains an integer $ q $ denoting the number of questions that you should answer ( $ 1<=q<=10^{5} $ ). The next $ q $ lines describe the questions. Each line contains two space-separated integers $ x_{i} $ and $ y_{i} $ ( $ 1<=x_{i},y_{i}<=n,x_{i}≠y_{i} $ ) — the indices of the club members that should end up in the same group.

输出格式


For each question print the maximum size of the group in a line. If making such a group is impossible print -1 instead.

输入输出样例

输入样例 #1

5 1
1 5 4 1 2
4 4 3 2 2
4
5 3
2 3
2 5
4 1

输出样例 #1

4
3
-1
4

说明

In the first query the largest group with members 3 and 5 is $ {1,3,4,5} $ where member 3 is the leader. In the second query member 2 should be the leader so the group will be $ {1,2,3} $ . In the third query the leader of the group should have age 3 so the only leader can be member 3, who is less responsible than member 2. So making a group is impossible. The group for the fourth query is the same as first query.