n, q = map(int, input().split()) a = list(map(int, input().split())) l = [] for i in range(len(a)): l.append((a[i], i)) l.sort() order = [0]*n for i in range(len(l)): order[l[i][1]] = [i, l[i][0]] memo = 0 memo_index = 0 # print(order) for i in range(n): if memo != order[i][1]: memo = order[i][1] memo_index = i else: # print(i, memo_index) order[i][0] = memo_index for _ in range(q): x, y = map(int, input().split()) ans = max(0, order[x-1][0]-order[y-1][0]-1) if (x < n and order[x-1][0] == order[x][0]) or (x-2 >= 0 and order[x-1][0] == order[x-2][0]): ans = ans = max(0, order[x-1][0]-order[y-1][0]) print(ans) # print(order)