#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;

}
