#include <bits/stdc++.h>
using namespace std;
template <typename X>
inline X abs(const X& a) {
  return a < 0 ? -a : a;
}
template <typename X>
inline X sqr(const X& a) {
  return a * a;
}
long long gcd(long long a, long long b) { return !a ? b : gcd(b % a, a); }
long long lcm(long long a, long long b) { return a / gcd(a, b) * b; }
int main() {
  int a, b, c;
  cin >> a >> b >> c;
  int m;
  cin >> m;
  vector<int> p;
  vector<int> u;
  for (int i = 0; i < int(m); i++) {
    int cm;
    string t;
    cin >> cm >> t;
    if (t[0] == 'U')
      u.push_back(cm);
    else
      p.push_back(cm);
  }
  sort(p.rbegin(), p.rend());
  sort(u.rbegin(), u.rend());
  long long tc = 0, ne = 0;
  while (a && !u.empty()) {
    a--;
    ne++;
    tc += u.back();
    u.pop_back();
  }
  while (b && !p.empty()) {
    b--;
    ne++;
    tc += p.back();
    p.pop_back();
  }
  while (c && (!p.empty() || !u.empty())) {
    c--;
    ne++;
    if (p.empty()) {
      tc += u.back();
      u.pop_back();
    } else if (u.empty()) {
      tc += p.back();
      p.pop_back();
    } else {
      if (p.back() < u.back()) {
        tc += p.back();
        p.pop_back();
      } else {
        tc += u.back();
        u.pop_back();
      }
    }
  }
  cout << ne << " " << tc;
}
