#include <bits/stdc++.h>
using namespace std;
long long int d[300002];
int safe[300002];
bool solve() {
  long long int n, k, l, i;
  cin >> n >> k >> l;
  for (i = 1; i <= n; i++) cin >> d[i];
  int tide, dir, mtide;
  tide = k;
  dir = -1;
  for (i = 1; i <= n; i++) {
    if (d[i] + k <= l)
      tide = k, dir = -1;
    else if (d[i] > l)
      return false;
    else {
      mtide = l - d[i];
      if (tide + dir <= mtide) {
        tide += dir;
        if (tide == 0) dir = 1;
      } else if (dir == -1 && mtide < tide - 1) {
        tide = mtide;
        if (tide == 0) dir = 1;
      } else
        return false;
    }
  }
  return true;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t, i;
  cin >> t;
  while (t--) {
    if (solve())
      cout << "Yes\n";
    else
      cout << "No\n";
  }
  return 0;
}
