#include <bits/stdc++.h>
using namespace std;
int T, n, k, l, a[300010], lst;
bool flag = 0;
int main() {
  scanf("%d", &T);
  while (T--) {
    flag = 0;
    lst = 0;
    scanf("%d%d%d", &n, &k, &l);
    for (int i = 1; i <= n; i++) {
      scanf("%d", &a[i]);
      if (a[i] > l)
        flag = 1;
      else if (a[i] + k <= l)
        lst = 0;
      else if (lst < k)
        lst = max(lst + 1, k + a[i] - l);
      else {
        if (lst + 1 + a[i] <= l + k)
          lst++;
        else
          flag = 1;
      }
    }
    if (flag)
      printf("No\n");
    else
      printf("Yes\n");
  }
}
