#include <bits/stdc++.h>
using namespace std;
#define int long long
#define dd double
#define ld long double
#define ull unsigned long long
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) cout << fixed << setprecision(x)
#define all(v) v.begin(),v.end()
#define dpp(v,val) memset(v,val,sizeof(v))
#define mod 1e9+7
#define oo 1e18
const int N = 1e5 + 5;
int n,s,k;
vector<int>v;
vector<char>c;
int dp[55][55][2005];
int solve(int i,int j,int eat) // index , last index
{
if(i==n+1)
{
if(eat>=k) return 0;
return oo;
}
int &ret=dp[i][j][eat];
if(ret!=-1) return ret;
int t=oo,l=oo;
if(j==0)
t=solve(i+1,i,eat+v[i])+1;
else
{
if(v[j]<v[i]&&c[j]!=c[i])
t=solve(i+1,i,eat+v[i])+1;
}
l=solve(i+1,j,eat)+1;
return ret=min(t,l);
}
void HereWeGoAgain()
{
cin>>n>>s>>k;
v.resize(n+1);c.resize(n+1);
for(int i=1;i<=n;i++) cin>>v[i];
for(int i=1;i<=n;i++) cin>>c[i];
dpp(dp,-1);
int mn=oo;
for(int i=1;i<=n;i++)
mn=min(mn,solve(i,0,0));
if(mn==oo) cout<<-1<<el; else
cout<<mn<<el;
}
int32_t main()
{
Arwa
int t=1;
//cin>>t;
for(int i=1;i<=t;i++)
{
HereWeGoAgain();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRkIGRvdWJsZQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBBcndhIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oeCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBkcHAodix2YWwpIG1lbXNldCh2LHZhbCxzaXplb2YodikpCiNkZWZpbmUgbW9kIDFlOSs3CiNkZWZpbmUgb28gMWUxOApjb25zdCBpbnQgTiA9IDFlNSArIDU7CmludCBuLHMsazsKdmVjdG9yPGludD52OyAKdmVjdG9yPGNoYXI+YzsKaW50IGRwWzU1XVs1NV1bMjAwNV07CmludCBzb2x2ZShpbnQgaSxpbnQgaixpbnQgZWF0KSAvLyBpbmRleCAsIGxhc3QgaW5kZXggCnsKICBpZihpPT1uKzEpCiAgewogICAgaWYoZWF0Pj1rKSByZXR1cm4gMDsKICAgIHJldHVybiBvbzsKICB9CiAgaW50ICZyZXQ9ZHBbaV1bal1bZWF0XTsKICBpZihyZXQhPS0xKSByZXR1cm4gcmV0OwogIGludCB0PW9vLGw9b287CiAgaWYoaj09MCkKICB0PXNvbHZlKGkrMSxpLGVhdCt2W2ldKSsxOwogIGVsc2UKICB7CiAgICBpZih2W2pdPHZbaV0mJmNbal0hPWNbaV0pCiAgICB0PXNvbHZlKGkrMSxpLGVhdCt2W2ldKSsxOwogIH0KICBsPXNvbHZlKGkrMSxqLGVhdCkrMTsKICByZXR1cm4gcmV0PW1pbih0LGwpOwp9CnZvaWQgSGVyZVdlR29BZ2FpbigpCnsKICAgY2luPj5uPj5zPj5rOwogICB2LnJlc2l6ZShuKzEpO2MucmVzaXplKG4rMSk7CiAgIGZvcihpbnQgaT0xO2k8PW47aSsrKSBjaW4+PnZbaV07CiAgIGZvcihpbnQgaT0xO2k8PW47aSsrKSBjaW4+PmNbaV07CiAgIGRwcChkcCwtMSk7CiAgIGludCBtbj1vbzsKICAgZm9yKGludCBpPTE7aTw9bjtpKyspCiAgIG1uPW1pbihtbixzb2x2ZShpLDAsMCkpOwogICBpZihtbj09b28pIGNvdXQ8PC0xPDxlbDsgZWxzZSAKICAgY291dDw8bW48PGVsOwp9CmludDMyX3QgbWFpbigpIAp7CiAgICBBcndhCiAgICBpbnQgdD0xOwogICAgLy9jaW4+PnQ7CiAgICBmb3IoaW50IGk9MTtpPD10O2krKykKICAgIHsKICAgIEhlcmVXZUdvQWdhaW4oKTsKICAgIH0KICAgIHJldHVybiAwOwp9Cg==