#include<bits/stdc++.h> #define maxn 810 #define int long long usingnamespace std; constdouble eps = 1e-8; int n, m, k; char g[maxn][maxn];
voidtt(){ cout << "Yes\n"; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) cout << g[i][j]; cout << '\n'; } }
voidcheck(){ int res = 0; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { if(g[i][j] == 'A' && g[i + 1][j + 1] == 'A' && g[i + 1][j] == 'B' && g[i][j + 1] == 'B') ++res; } } cout << res << '\n'; }
voidop1(char x){ int l = n + m, r = (n * m - n - m + 2) / 2 + n + m; if(k < l || k > r) { cout << "No\n"; return ; } k -= n + m; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { g[i][j] = x; } } for (int i = 1; i < n && k; ++i) { for (int j = (i & 1) ? 1 : 2; j + 1 <= m && k; j += 2, --k) { g[i][j] = g[i + 1][j + 1] = 'A'; g[i + 1][j] = g[i][j + 1] = 'B'; } } tt(); }
voidop2(char x){ int l = n + m, r = (n * m - n - m + 1) / 2 + n + m; if(k < l || k > r) { cout << "No\n"; return ; } k -= n + m; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { g[i][j] = x; } } for (int i = 1; i < n && k; ++i) { for (int j = (i & 1) ? 2 : 1; j + 1 <= m && k; j += 2, --k) { g[i][j] = g[i + 1][j + 1] = 'A'; g[i + 1][j] = g[i][j + 1] = 'B'; } } tt(); // check(); }
voidsolve(){ cin >> n >> m >> k; int x, y; char s; cin >> x >> y >> s; if((x + y) % 2 == 0 && s == 'A' || ((x + y) & 1) && s == 'B') op1(s); elseop2(s); }
signedmain(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int t = 1; cin >> t; while (t--) { solve(); } return0; }