// #pragma GCC optimize "trapv"
#include <bits/stdc++.h>
//#include <boost/multiprecision/cpp_int.hpp>
using namespace std;
//using namespace boost::multiprecision;
#define bitcount(x) __builtin_popcount(x)
#define ll long long int
#define INF 1000000007
#define PI 3.1415926535897932384626
#define endl "\n"
#define all(v) (v).begin(),(v).end()
#define mems(x, y) memset(x, y, sizeof(x))
const int mxN = 5e4;
typedef pair<int, int> pii;
typedef pair<ll, ll> pl;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pii> vpii;
typedef vector<pl> vpl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll t; cin >> t;
while (t--) {
string s;
cin >> s;
ll k, x; cin >> k >> x; // k=delete , x= occuring of char.
ll count = 0;
//char arr[s.size()] = { 0 };
int arr[26]={0}; /*For Counting all small letter frequency*/
for (ll i = 0; i < s.size(); i++) {
if (arr[s[i]-97] < x) { /* -97 as ascii will range from 97-112(small letter only)...thus after sub..0-25*/
arr[s[i]-97]++;
count++;
}
else {
if (k > 0) k--;
else break;
}
}
cout << count << "\n";
}
}
Ly8gI3ByYWdtYSBHQ0Mgb3B0aW1pemUgInRyYXB2IgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KLy8jaW5jbHVkZSA8Ym9vc3QvbXVsdGlwcmVjaXNpb24vY3BwX2ludC5ocHA+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOwovL3VzaW5nIG5hbWVzcGFjZSBib29zdDo6bXVsdGlwcmVjaXNpb247IAojZGVmaW5lIGJpdGNvdW50KHgpIF9fYnVpbHRpbl9wb3Bjb3VudCh4KQojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBJTkYgMTAwMDAwMDAwNwojZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTg5NzkzMjM4NDYyNgojZGVmaW5lIGVuZGwgIlxuIgojZGVmaW5lIGFsbCh2KSAodikuYmVnaW4oKSwodikuZW5kKCkKI2RlZmluZSBtZW1zKHgsIHkpIG1lbXNldCh4LCB5LCBzaXplb2YoeCkpCmNvbnN0IGludCBteE4gPSA1ZTQ7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gIHBpaTsKdHlwZWRlZiBwYWlyPGxsLCBsbD4gICAgcGw7CnR5cGVkZWYgdmVjdG9yPGludD4JICAgIHZpOwp0eXBlZGVmIHZlY3RvcjxsbD4gICAgICB2bDsKdHlwZWRlZiB2ZWN0b3I8cGlpPgkJdnBpaTsKdHlwZWRlZiB2ZWN0b3I8cGw+CQl2cGw7CnR5cGVkZWYgdmVjdG9yPHZpPgkJdnZpOwp0eXBlZGVmIHZlY3Rvcjx2bD4JCXZ2bDsKCmludCBtYWluKCkgewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKDApOwoJY291dC50aWUoMCk7CglsbCB0OyBjaW4gPj4gdDsKCXdoaWxlICh0LS0pIHsKCQlzdHJpbmcgczsgCgkJY2luID4+IHM7CgkJbGwgaywgeDsgY2luID4+IGsgPj4geDsgIC8vIGs9ZGVsZXRlICwgeD0gb2NjdXJpbmcgb2YgY2hhci4KCQlsbCBjb3VudCA9IDA7CgkJLy9jaGFyIGFycltzLnNpemUoKV0gPSB7IDAgfTsKCQlpbnQgYXJyWzI2XT17MH07IC8qRm9yIENvdW50aW5nIGFsbCBzbWFsbCBsZXR0ZXIgZnJlcXVlbmN5Ki8KCQlmb3IgKGxsIGkgPSAwOyBpIDwgcy5zaXplKCk7IGkrKykgewoJCQlpZiAoYXJyW3NbaV0tOTddIDwgeCkgeyAgLyogLTk3IGFzIGFzY2lpIHdpbGwgcmFuZ2UgZnJvbSA5Ny0xMTIoc21hbGwgbGV0dGVyIG9ubHkpLi4udGh1cyBhZnRlciBzdWIuLjAtMjUqLwoJCQkJYXJyW3NbaV0tOTddKys7CgkJCQljb3VudCsrOwoJCQl9CgkJCWVsc2UgewoJCQkJaWYgKGsgPiAwKSBrLS07CgkJCQllbHNlIGJyZWFrOwoJCQl9CgkJfQoJCWNvdXQgPDwgY291bnQgPDwgIlxuIjsKCX0KCn0=