#include <bits/stdc++.h>
using namespace std;
int i, j, k, l, n, m, an, bn, a[120], b[120], d[120], bo[120], x, sum, ans;
char c[120];
int main() {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; ++i) {
    scanf("%s%d", c, &x);
    if (c[0] == 'D')
      b[++bn] = x;
    else
      a[++an] = x;
  }
  for (i = 1; i <= m; ++i) scanf("%d", &d[i]);
  sort(d + 1, d + m + 1);
  for (i = 1; i <= bn; ++i) {
    for (j = 1; j <= m; ++j)
      if (!bo[j] && d[j] > b[i]) break;
    if (j > m) goto fail;
    bo[j] = 1;
  }
  for (i = 1; i <= m; ++i)
    if (!bo[i]) sum += d[i];
  for (i = 1; i <= an; ++i) sum -= a[i];
  for (i = 1; i <= an; ++i) {
    for (j = 1; j <= m; ++j)
      if (!bo[j] && d[j] >= a[i]) break;
    if (j > m) goto fail;
    bo[j] = 1;
  }
  ans = sum;
fail:;
  sort(a + 1, a + an + 1);
  for (i = 1; i <= m && i <= an; ++i) {
    sum = 0;
    for (j = 1; j <= i; ++j) {
      if (a[j] > d[m - i + j]) break;
      sum += d[m - i + j] - a[j];
    }
    ans = max(ans, sum);
  }
  printf("%d\n", ans);
}
