#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <fstream>
#include <vector>
#include <cmath>
#define ffor(_a,_f,_t) for(int _a=(_f),__t=(_t);_a<__t;_a++)
#define all(_v) (_v).begin() , (_v).end()
#define sz size()
#define pb push_back
#define SET(__set, val) memset(__set, val, sizeof(__set))
#define FOR(__i, __n) ffor (__i, 0, __n)

using namespace std;

const int MAXN = 100001;

int a[MAXN];

char str[MAXN + 10];

int main(){
  int n;
  scanf("%d", &n);
  scanf("%s", str);
  FOR (i, n + 1)
    scanf("%d", &a[i]);
    
  int cnt = 0;
  FOR (i, n)
    cnt += str[i] == '-';
  sort(a, a + n + 1);
  long long ret = 0LL;
  FOR (i, n + 1)
    if (i < cnt)
      ret -= a[i];
    else
      ret += a[i];
  
  printf("%lld\n", ret);
  return 0;
}
