#include<bits/stdc++.h>
#define ll long long
#define i128 __int128
#define ull unsigned long long
#define pii pair<int,int>
#define pll pair<long long, long long>
#define fs first
#define sc second
#define endl '\n'
#define debug puts("AK IOI")
#define re register
#define pb push_back
#define mem(a,x) memset((a),(x),sizeof(a))
#define vi vector<int>
using namespace std;
#define int long long
const int mod = 1e9 + 7;
const int inf = 0x3f3f3f3f, N = 2e5 + 5, M = 2e5 + 5;
const ll linf = 0x3f3f3f3f3f3f3f3f;
int n, k, m;
int dp[200];
void solve() {
string s;
memset(dp, 0, sizeof dp);
cin >> n >> k >> m >> s;
s = ' ' + s;
for (int i = 1; i <= m; i++) {
int minn = 1e9;
for (int j = 1; j <= k; j++) {
minn = min(minn, dp[j+'a'-1]);
}
dp[s[i]] = max(dp[s[i]], 1 + minn);
}
for (int i = 1; i <= k; i++) {
if (dp[i+'a'-1] < n) {
cout << "NO\n";
for (int x = 1; x <= n; x++) cout << char(i + 'a' - 1);
cout << endl;
return ;
}
}
cout << "YES\n";
}
signed main() {
int T = 1;
cin >> T;
while (T--) solve();
return 0;
}