#include <bits/stdc++.h>
#define ll long long
#define N int(1e3)
using namespace std;
ll n;
string s, t;
ll a[N+10], b[N+10];
ll dp[N+10][N+10];
bool kt(ll i,ll j)
{
return ((s[i-1] == 'W' && t[j-1] == 'L' && a[i-1] > b[j-1]) ||(s[i-1] == 'L' && t[j-1] == 'W' && a[i-1] < b[j-1]));
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
cin>>s;
for(int i=0; i<n; i++) cin>>a[i];
cin>>t;
for(int i=0; i<n; i++) cin>>b[i];
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
if (kt(i,j)) dp[i][j] = max(dp[i][j], dp[i-1][j-1] + a[i-1] + b[j-1]);
}
}
cout<<dp[n][n];
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgTiBpbnQoMWUzKQp1c2luZyBuYW1lc3BhY2Ugc3RkOwpsbCBuOwpzdHJpbmcgcywgdDsKbGwgYVtOKzEwXSwgYltOKzEwXTsKbGwgZHBbTisxMF1bTisxMF07CmJvb2wga3QobGwgaSxsbCBqKQp7CiAgICByZXR1cm4gKChzW2ktMV0gPT0gJ1cnICYmIHRbai0xXSA9PSAnTCcgJiYgYVtpLTFdID4gYltqLTFdKSB8fChzW2ktMV0gPT0gJ0wnICYmIHRbai0xXSA9PSAnVycgJiYgYVtpLTFdIDwgYltqLTFdKSk7Cn0KaW50IG1haW4oKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKCiAgICBjaW4+Pm47CiAgICBjaW4+PnM7CiAgICBmb3IoaW50IGk9MDsgaTxuOyBpKyspIGNpbj4+YVtpXTsKICAgIGNpbj4+dDsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrKykgY2luPj5iW2ldOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgIHsKICAgICAgICBmb3IgKGludCBqID0gMTsgaiA8PSBuOyBqKyspCiAgICAgICAgewogICAgICAgICAgICBkcFtpXVtqXSA9IG1heChkcFtpLTFdW2pdLCBkcFtpXVtqLTFdKTsKICAgICAgICAgICAgaWYgKGt0KGksaikpIGRwW2ldW2pdID0gbWF4KGRwW2ldW2pdLCBkcFtpLTFdW2otMV0gKyBhW2ktMV0gKyBiW2otMV0pOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQ8PGRwW25dW25dOwogICAgcmV0dXJuIDA7Cgp9Cg==