#include<bits/stdc++.h>
using namespace std;
int32_t main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int t;
cin >> t;
while (t--) {
int n, k, x;
cin >> n >> k >> x;
if (x != 1) {
cout << "YES" << "\n";
cout << n << "\n";
for (int i = 0; i < n; i++)cout << 1 << ' ';
cout << "\n";
}
else if (k >= 2 && n % 2 == 0) {
cout << "YES" << "\n";
cout << n / 2 << "\n";
for (int i = 0; i < n / 2; i++)cout << 2 << ' ';
cout << "\n";
}
else if (k >= 3) {
cout << "YES" << "\n";
cout << n / 2 << "\n";
cout << 3<<' ';
for (int i = 1; i < n / 2; i++)cout << 2 << ' ';
cout << "\n";
}
else cout << "NO" << "\n";
}
}
简单的数学问题,分别对 x != 1、k >= 2 && n % 2 == 0 和 k >= 3 进行讨论,
如果x等于1那一定可以表示出来,如果是偶数,那一定可以用2表示出来,如果奇数,一定可以用1个3和多个2表示出来