import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes") no = lambda :print("no");No = lambda :print("No") ####################################################################### N, A = na() X = na() T = ni() from collections import defaultdict s_in = defaultdict(list) s_out = defaultdict(list) p = defaultdict(list) for i in range(T): l, r = na() s_in[l].append(i) s_out[r].append(i) for i in range(N): p[X[i]].append(i) loc = sorted(set(list(s_in)+list(s_out)+list(p))) from heapq import heappop, heappush hq = [] ans = [-1] * N removed = [0] * T for x in loc: for i in s_in[x]: heappush(hq, -i) for i in p[x]: while hq and removed[-hq[0]]: heappop(hq) if hq: j = -hq[0] ans[i] = j+1 for i in s_out[x]: removed[i] = 1 for i in ans: print(i)