def solve(): n, k, x = map(int, input().split()) H = list(map(int, input().split())) if len(set(h % x for h in H)) != 1: print("No") return tot = [0] * k H = [h // x for h in H] ma = max(H) for i, h in enumerate(H): tot[i % k] += ma - h bef = tot[: n % k] aft = tot[n % k :] if bef and len(set(bef)) >= 2: print("No") return if aft and len(set(aft)) >= 2: print("No") return if bef and aft: if bef[0] > aft[0]: print("No") return d = aft[0] - bef[0] goal = ma + d rem = [goal - h for h in H] minus = [0] * (n + k) x = 0 for i, r in enumerate(rem): x -= minus[i] r -= x if r < 0: print("No") return minus[i + k] = r x += r print("Yes") for _ in range(int(input())): solve()