CF1845A.Forbidden Integer

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Forbidden Integer

You are given an integer nn, which you want to obtain. You have an unlimited supply of every integer from 11 to kk, except integer xx (there are no integer xx at all).

You are allowed to take an arbitrary amount of each of these integers (possibly, zero). Can you make the sum of taken integers equal to nn?

If there are multiple answers, print any of them.

Input

The first line contains a single integer tt (1t1001 \le t \le 100) — the number of testcases.

The only line of each testcase contains three integers n,kn, k and xx (1xkn1001 \le x \le k \le n \le 100).

Output

For each test case, in the first line, print "YES" or "NO" — whether you can take an arbitrary amount of each integer from 11 to kk, except integer xx, so that their sum is equal to nn.

If you can, the second line should contain a single integer mm — the total amount of taken integers. The third line should contain mm integers — each of them from 11 to kk, not equal to xx, and their sum is nn.

If there are multiple answers, print any of them.

Note

Another possible answer for the first testcase is [3,3,3,1][3, 3, 3, 1]. Note that you don't have to minimize the amount of taken integers. There also exist other answers.

In the second testcase, you only have an unlimited supply of integer 22. There is no way to get sum 55 using only them.

In the fifth testcase, there are no integers available at all, so you can't get any positive sum.

Samples

5
10 3 2
5 2 1
4 2 1
7 7 3
6 1 1
YES
6
3 1 1 1 1 3
NO
YES
2
2 2
YES
1
7
NO

在线编程 IDE

建议全屏模式获得最佳体验