#include <bits/stdc++.h>   using namespace std;   using ll = long long;   using ld = long double;   using pii = pair<int, int>;   using pil = pair<int, ll>;   using pli = pair<ll, int>;   using pll = pair<ll, ll>;   const ll MOD = 1e9 + 7;   const int inf = (1 << 30) - 1;   const ll INF = (1LL << 60) - 1;   const ld EPS = 1e-10;   template <typename T>   bool chmax(T &x, const T &y) {     return (x < y) ? (x = y, true) : false;   };   template <typename T>   bool chmin(T &x, const T &y) {     return (x > y) ? (x = y, true) : false;   };   int main() {     int T;     cin >> T;     while (T--) {       int N, K, L;       cin >> N >> K >> L;       int d[N];       for (int i = 0; i < N; i++) {         cin >> d[i];         d[i] = L - d[i];       }       int pos = -inf;       bool ans = true;       for (int i = 0; i < N; i++) {         if (d[i] < 0) {           ans = false;           break;         } else if (d[i] >= K)           pos = -inf;         else if (pos == -inf)           pos = -d[i];         else if (d[i] <= pos) {           ans = false;           break;         } else if (pos < -d[i])           pos = -d[i];         else           pos++;       }       cout << (ans ?  Yes  :  No ) << endl;     }   }   