from collections import defaultdict import bisect N,Q = list(map(int,input().split())) A = list(map(int,input().split())) def yaku(n): ret = [] for i in range(1,int(n**(1/2))+10): if(i*i > n):break if(n%i != 0):continue ret.append(i) ret.append(n//i) return set(ret) d = defaultdict(list) for i in range(N): for j in yaku(A[i]): d[j].append(i) for _ in range(Q): l,r,k = list(map(int,input().split())) l -= 1;r -= 1 print(bisect.bisect_right(d[k],r) - bisect.bisect_left(d[k],l))