#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

int main() {
	int d;
	cin >> d;
	int x, y;
	cin >> x;
	vector<int> d1;
	string s;
	int ss;
	for (int i = 0; i < x; i++) {
		cin >> s >> ss;
		if (s == "D") {
			d1.push_back(ss);
		}
	}
	cin >> y;
	vector<int> d2;
	for (int i = 0; i < y; i++) {
		cin >> s >> ss;
		if (s == "DD") {
			d2.push_back(ss);
		}
	}
	sort(d1.begin(), d1.end(), greater<int>());
	sort(d2.begin(), d2.end(), greater<int>());
	int a, b, al, bl;
	a = b = 0;
	al = d1.size();
	bl = d2.size();
	int sum = 0;
	while (d > 0) {
		if (d >= 2) {
			if (b < bl) {
				if (a+1 < al) {
					if (d2[b] >= d1[a]+d1[a+1]) {
						sum += d2[b];
						b++;
						d -= 2;
					} else {
						sum += d1[a];
						a++;
						d--;
					}
				} else if (a < al) {
					if (d2[b] > d1[a]) {
						sum += d2[b];
						b++;
						d -= 2;
					} else {
						sum += d1[a];
						a++;
						d--;
					}
				} else {
					sum += d2[b];
					b++;
					d -= 2;
				}
			} else {
				if (a < al) {
					sum += d1[a];
					a++;
					d--;
				} else {
					break;
				}
			}
		} else {
			if (a < al) {
				sum += d1[a];
				a++;
				d--;
			} else {
				break;
			}
		}
	}
	cout << sum << endl;
	return 0;
}