def Divisors(n): # 約数のリストを返す関数 divisors = [] L = n ** 0.5 for i in range(1, int(L) + 1): if n % i == 0: divisors.append(i) if i != n // i: divisors.append(n // i) return divisors N, Q = map(int, input().split()) A = list(map(int, input().split())) size = 5 * 10**4 cnt = [{}] for i, a in enumerate(A): res = {} for v in Divisors(a): res[v] = 1 cnt.append(res) for i in range(1, N + 1): for k, v in cnt[i-1].items(): if k in cnt[i]: cnt[i][k] += v else: cnt[i][k] = v for _ in range(Q): l, r, k = map(int, input().split()) # print(cnt[r-1], k) if k in cnt[r]: x = cnt[r][k] if k in cnt[l-1]: x -= cnt[l-1][k] else: x = 0 print(x)