# oj t -c "python3 main.py" import sys,math from collections import defaultdict,deque from itertools import combinations,permutations,accumulate,product from bisect import bisect,bisect_left,bisect_right from heapq import heappop,heappush,heapify #from sortedcontainers import SortedList,SortedSet def input(): return sys.stdin.readline().rstrip() def ii(): return int(input()) def ms(): return map(int, input().split()) def li(): return list(map(int,input().split())) inf = pow(10,18) #//////////////////////////////////// N,Q = ms() A = li() B = list() for a in A: B.append(a) B.sort() for _ in range(Q): x,y = ms() l = bisect_left(B,A[x-1]) r = bisect_right(B,A[y-1]) print(max(l-r,0))