#include "bits/stdc++.h"
using namespace std;
const int N = 1e4 + 4;
const int M = 1e4 + 4;
const int MAX = 1 << 22;
int m1 , m2 , m3;
string arr1[N];
string arr2[N];
string arr3[N];
int str1[N];
int str2[N];
int str3[N];
vector < pair < int , int > > v[MAX];
set < pair < pair < int , int > , int > > used;
int n;
map < string , int > ma1;
map < string , int > ma2;
map < string , int > ma3;
int main(){
    cin >> m1;
    for(int i = 1 ; i <= m1 ; ++i){
        cin >> arr1[i] >> str1[i];
        ma1[arr1[i]] = i;
    }
    cin >> m2;
    for(int i = 1 ; i <= m2 ; ++i){
        cin >> arr2[i] >> str2[i];
        ma2[arr2[i]] = i;
    }
    cin >> m3;
    for(int i = 1 ; i <= m3 ; ++i){
        cin >> arr3[i] >> str3[i];
        ma3[arr3[i]] = i;
    }
    for(int i = 1 ; i <= m1 ; ++i){
        for(int j = 1 ; j <= m2 ; ++j){
            v[str1[i] + str2[j]].emplace_back(make_pair(i , j));
        }
    }
    cin >> n;
    while(n--){
        string a , b , c;
        cin >> a >> b >> c;
        int i = ma1[a];
        int j = ma2[b];
        int k = ma3[c];
        int strong = str1[i] + str2[j] + str3[k] + 1;
        for(int i = 1 ; i <= m3 ; ++i){
            if(str3[i] <= strong){
                for(auto it : v[strong - str3[i]]){
                    pair < pair < int , int > , int > temp = {it , i};
                    if(used.find(temp) == used.end()){
                        used.insert(temp);
                        cout << arr1[it.first] << " " << arr2[it.second] << " " << arr3[i] << endl;
                        i = m3 + 1;
                        break;
                    }
                }
            }
        }
    }
}