#include using namespace std; using ll = long long; const int INF = 1e9 + 10; const ll INFL = 4e18; int main() { int T; cin >> T; while (T--) { int K, M, N; cin >> K >> M >> N; M -= 2; vector used(K, false); vector ans; for (int i = 0; i < K; i++) { int j = (i + M) % K; if (used[i] || used[j] || i == j) continue; used[i] = true; used[j] = true; ans.push_back(i + 1); } if (ans.size() >= N) { cout << "Yes" << endl; for (int x : ans) { cout << x << ' '; } cout << endl; } else { cout << "No" << endl; } } } /*vector>A(K); for(int i=0;ians2; for(int i=0;i<1<used; bool fl=true; vectorve; for(int j=0;j>j&1){ if(used.count(A[j].first)||used.count(A[j].second))fl=false; if(A[j].first==A[j].second)fl=false; used.insert(A[j].first); used.insert(A[j].second); ve.push_back(j); } } if(fl){ mx=max(mx,__builtin_popcount(i)); if(mx==__builtin_popcount(i)){ ans2=ve; } } } if(mx>=N)cout<<"Yes"<>T; while(T--){ int K,M,N; cin>>K>>M>>N; vector>A(K); for(int i=0;iused; bool fl=true; for(int j=0;j>j&1){ if(used.count(A[j].first)||used.count(A[j].second))fl=false; if(A[j].first==A[j].second)fl=false; used.insert(A[j].first); used.insert(A[j].second); } } if(fl)mx=max(mx,__builtin_popcount(i)); } if(mx>=N)cout<<"Yes"<