## https://yukicoder.me/problems/no/2931 MOD1 = 881439323 MOD2 = 592459991 def main(): N, Q, K = map(int, input().split()) A = list(map(int, input().split())) lr = [] for _ in range(Q): l, r = map(int, input().split()) lr.append((l, r)) dp1 = [0] * (N + 1) dp2 = [0] * (N + 1) a1 = 0 a2 = 0 x1 = 1 x2 = 1 for i in range(N): a1 += (A[i] * x1) % MOD1 a1 %= MOD1 a2 += (A[i] * x2) % MOD2 a2 %= MOD2 dp1[i + 1] = a1 dp2[i + 1] = a2 x1 *= K x1 %= MOD1 x2 *= K x2 %= MOD2 for l, r in lr: x1 = (dp1[r] - dp1[l - 1]) % MOD1 x2 = (dp2[r] - dp2[l - 1]) % MOD2 if x1 == 0 and x2 == 0: print("No") else: print("Yes") if __name__ == '__main__': main()