from bisect import* (n,q),a,*e=[[*map(int,s.split())]for s in open(0)] m=10**5+1 d=[[]for _ in range(m)] for i in range(n): for j in range(1,int(a[i]**0.5)+1): if a[i]%j==0: k=a[i]//j if j<=m: d[j]+=i, if j!=k and k<=m: d[k]+=i, for l,r,k in e: ans=bisect_right(d[k],r-1)-bisect_left(d[k],l-1) print(ans)