#include <bits/stdc++.h>
#define ll long long int
#define rep(i,a,b) for(ll i=a;i<b;i++)
#define vi vector<ll>
#define pii pair<int,int>
#define vii vector< pair<int,int> >
#define pb push_back
using namespace std;
int dp[101][101];
int helper(vector <pii> &a,int st,int col,int W,int m){
if(W<0)
return -10000000;
if(st>=a.size()){
if(col==m+1)
return 0;
else
return -10000000;
}
if(a[st].first!=col)
return dp[st][W]=helper(a,st+1,col,W,m);
if(dp[st][W]!=-1)
return dp[st][W];
int ans=-1000000,ost=st;
while(st<a.size()&&a[st].first==col){
ans=max(ans,a[st].second+helper(a,st+1,col+1,W-a[st].second,m));
st++;
}
return dp[ost][W]=ans;
}
void solve()
{
ll n,m,W,p;
cin>>n>>m>>W;
vector <pii> vp;
rep(i,0,n){
cin>>p;
vp.pb({0,p});
}
rep(i,0,n){
cin>>p;
vp[i].first=p;
}
sort(begin(vp),end(vp));
memset(dp,-1,sizeof dp);
int ans=helper(vp,0,1,W,m);
if(ans<0)
ans=-1;
else
ans=W-ans;
cout<<ans<<"\n";
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
ll t;
t=1;
cin>>t;
while(t--)
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSByZXAoaSxhLGIpIGZvcihsbCBpPWE7aTxiO2krKykKI2RlZmluZSB2aSB2ZWN0b3I8bGw+CiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KI2RlZmluZSB2aWkgdmVjdG9yPCBwYWlyPGludCxpbnQ+ID4KI2RlZmluZSBwYiBwdXNoX2JhY2sKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgZHBbMTAxXVsxMDFdOwoKaW50IGhlbHBlcih2ZWN0b3IgPHBpaT4gJmEsaW50IHN0LGludCBjb2wsaW50IFcsaW50IG0pewogICAgaWYoVzwwKQogICAgICAgIHJldHVybiAtMTAwMDAwMDA7CiAgICBpZihzdD49YS5zaXplKCkpewogICAgICAgIGlmKGNvbD09bSsxKQogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHJldHVybiAtMTAwMDAwMDA7CiAgICB9CiAgICBpZihhW3N0XS5maXJzdCE9Y29sKQogICAgICAgIHJldHVybiBkcFtzdF1bV109aGVscGVyKGEsc3QrMSxjb2wsVyxtKTsKICAgIGlmKGRwW3N0XVtXXSE9LTEpCiAgICAgICAgcmV0dXJuIGRwW3N0XVtXXTsKICAgIGludCBhbnM9LTEwMDAwMDAsb3N0PXN0OwogICAgd2hpbGUoc3Q8YS5zaXplKCkmJmFbc3RdLmZpcnN0PT1jb2wpewogICAgICAgIGFucz1tYXgoYW5zLGFbc3RdLnNlY29uZCtoZWxwZXIoYSxzdCsxLGNvbCsxLFctYVtzdF0uc2Vjb25kLG0pKTsKICAgICAgICBzdCsrOwogICAgfQogICAgcmV0dXJuIGRwW29zdF1bV109YW5zOwp9Cgp2b2lkIHNvbHZlKCkKewogICAgbGwgbixtLFcscDsKICAgIGNpbj4+bj4+bT4+VzsKICAgIHZlY3RvciA8cGlpPiB2cDsKICAgIHJlcChpLDAsbil7CiAgICAgICAgY2luPj5wOwogICAgICAgIHZwLnBiKHswLHB9KTsKICAgIH0KICAgIHJlcChpLDAsbil7CiAgICAgICAgY2luPj5wOwogICAgICAgIHZwW2ldLmZpcnN0PXA7CiAgICB9CiAgICBzb3J0KGJlZ2luKHZwKSxlbmQodnApKTsKICAgIG1lbXNldChkcCwtMSxzaXplb2YgZHApOwogICAgaW50IGFucz1oZWxwZXIodnAsMCwxLFcsbSk7CiAgICBpZihhbnM8MCkKICAgICAgICBhbnM9LTE7CiAgICBlbHNlCiAgICAgICAgYW5zPVctYW5zOwogICAgY291dDw8YW5zPDwiXG4iOwp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwogICAgbGwgdDsKICAgIHQ9MTsKICAgIGNpbj4+dDsKICAgIHdoaWxlKHQtLSkKICAgICAgICBzb2x2ZSgpOwp9Cg==