import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### def check(f): if len(f) == 0: return True B = 0 for i in range(f[0] is None, len(f) - (f[-1] is None)): if f[i] < 0: B += -f[i] else: B -= f[i] if B < 0: if not (f[0] is None): return False else: B = 0 if B > 0 and not (f[-1] is None): return False return True for _ in range(ni()): n, k, x = na() h = na() b = [h[i+1]-h[i] for i in range(n-1)] ans = 1 for i in range(k): f = [] for j in range(i, n + 1, k): if j == 0: f.append(None) elif j == n: f.append(None) else: if b[j-1] % x != 0: ans = 0 f.append(b[j-1] // x) ans &= check(f) #print(f, check(f)) if ans: print("Yes") else: print("No")