#include <bits/stdc++.h>
using namespace std;
#pragma warning(disable : 4996);
const int maxn = 2e5 + 5;
int main() {
  int a, b, c, m;
  char s[20];
  long long n;
  long long ans, ansk;
  priority_queue<long long, vector<long long>, greater<long long> > q1, q2;
  while (~scanf("%d%d%d", &a, &b, &c)) {
    ans = ansk = 0;
    scanf("%d", &m);
    while (m--) {
      scanf("%lld %s", &n, s);
      if (s[0] == 'U')
        q1.push(n);
      else
        q2.push(n);
    }
    while (a && !q1.empty()) {
      ans += q1.top();
      a--;
      ansk++;
      q1.pop();
    }
    while (b && !q2.empty()) {
      ans += q2.top();
      b--;
      ansk++;
      q2.pop();
    }
    while (c && (!q1.empty() || !q2.empty())) {
      if (!q1.empty() && !q2.empty()) {
        if (q1.top() < q2.top()) {
          ans += q1.top();
          ansk++;
          c--;
          q1.pop();
        } else {
          ans += q2.top();
          ansk++;
          c--;
          q2.pop();
        }
      } else if (!q1.empty()) {
        ans += q1.top();
        ansk++;
        c--;
        q1.pop();
      } else if (!q2.empty()) {
        ans += q2.top();
        ansk++;
        c--;
        q2.pop();
      }
    }
    printf("%lld %lld\n", ansk, ans);
  }
  return 0;
}
