#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<int,int> P;
typedef tuple<int,int,int> T;

int main(){
    int D,x,y;
    cin>>D;
    cin>>x;
    vector<int> X;
    for(int i=0;i<x;i++){
        string a;
        int p;
        cin>>a>>p;
        if(a=="D"){
            X.push_back(p);
        }
    }
    sort(X.begin(), X.end(),greater<int>());
    cin>>y;
    vector<int> Y;
    for(int i=0;i<y;i++){
        string bc;
        int q;
        cin>>bc>>q;
        if(bc=="DD"){
            Y.push_back(q);
        }
    }
    sort(Y.begin(), Y.end(),greater<int>());
    int ans=0;
    for(int d=0;d<=D;d+=2){
        int xx=D-d;
        int yy=d/2;
        int P=0;
        for(int i=0;i<xx&&i<X.size();i++){
            P+=X[i];
        }
        for(int i=0;i<yy&&i<Y.size();i++){
            P+=Y[i];
        }
        ans=max(ans,P);
    }
    cout<<ans<<endl;

    return 0;
}