#include <bits/stdc++.h>
using namespace std;
signed main(void) {
  long long T;
  scanf("%lld", &T);
  for (long long s, n, k; T; T--) {
    scanf("%lld%lld%lld", &s, &n, &k);
    if (s == k)
      printf("YES\n");
    else if (s < k)
      printf("NO\n");
    else {
      long long k2 = k * 2, sk = min(s % k2, k - 1);
      printf((s / k2 * k + sk < n) ? "YES\n" : "NO\n");
    }
  }
}

### Prompt

Create a solution in Cpp for the following problem:

Theofanis decided to visit his uncle's farm. There are s animals and n animal pens on the farm. For utility purpose, animal pens are constructed in one row.

Uncle told Theofanis that a farm is lucky if you can distribute all animals in all pens in such a way that there are no empty pens and there is at least one continuous segment of pens that has exactly k animals in total.

Moreover, a farm is ideal if it's lucky for any distribution without empty pens.

Neither Theofanis nor his uncle knows if their farm is ideal or not. Can you help them to figure it out?

Input

The first line contains a single integer t (1 ≤ t ≤ 10^5) — the number of test cases.

The first and only line of each test case contains three integers s, n, and k (1 ≤ s, n, k ≤ 10^{18}; n ≤ s).

Output

For each test case, print YES (case-insensitive), if the farm is ideal, or NO (case-insensitive) otherwise.

Example

Input


4
1 1 1
1 1 2
100 50 200
56220 47258 14497


Output


YES
NO
NO
YES

Note

For the first and the second test case, the only possible combination is [1] so there always will be a subsegment with 1 animal but not with 2 animals.

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
signed main(void) {
  long long T;
  scanf("%lld", &T);
  for (long long s, n, k; T; T--) {
    scanf("%lld%lld%lld", &s, &n, &k);
    if (s == k)
      printf("YES\n");
    else if (s < k)
      printf("NO\n");
    else {
      long long k2 = k * 2, sk = min(s % k2, k - 1);
      printf((s / k2 * k + sk < n) ? "YES\n" : "NO\n");
    }
  }
}

```