Nobody knows, but N frogs live in Chef's garden.
Now they are siting on the X-axis and want to speak to each other. One frog can send a message to another one if the distance between them is less or equal to K. 
Chef knows all P pairs of frogs, which want to send messages. Help him to define can they or not! 
Note : More than 1 frog can be on the same point on the X-axis.
 

Input

The first line contains three integers N, K and P. 
 The second line contains N space-separated integers A1, A2, ..., AN denoting the x-coordinates of frogs". 
 Each of the next P lines contains two integers A and B denoting the numbers of frogs according to the input. 

 

Output

For each pair print "Yes" without a brackets if frogs can speak and "No" if they cannot. 

 

Constraints

1 ≤ N, P ≤ 10^5
0 ≤ Ai, K ≤ 10^9
1 ≤ A, B ≤ N

 

Example
Input:
5 3 3
0 3 8 5 12
1 2
1 3
2 5

Output:
Yes
Yes
No

 


Explanation
For pair (1, 2) frog 1 can directly speak to the frog 2 as the distance between them is 3 - 0 = 3 <= K . 
For pair (1, 3) frog 1 can send a message to frog 2, frog 2 can send it to frog 4 and it can send it to frog 3.
For pair (2, 5) frogs can't send a message under current constraints.
def process(L, k, P):
    pos = {}
    id = {}
    for x in range(len(L)): pos[x + 1] = L[x]
    L.sort()
    id_ctr = 0
    id[L[0]] = 0
    for i in range(1, len(L)):
        if L[i] - L[i - 1] <= k: id[L[i]] = id_ctr
        else:
            id_ctr += 1
            id[L[i]] = id_ctr
    #for key in id: print key, id[key]
    for query in P:
        #print pos[query[0]], pos[query[1]]
        if id[pos[query[0]]] == id[pos[query[1]]]: print "Yes"
        else: print "No"


    
   
    
inp = raw_input().split()
n, k, p = int(inp[0]), int(inp[1]), int(inp[2])


L = [int(x) for x in raw_input().split()]
P = []
for j in range(p):
    t = raw_input().split()
    P.append((int(t[0]), int(t[1])))


process(L, k, P)