#include <bits/stdc++.h>

#ifndef This_is_Kunteynir
#define dbg(...)
#endif

//#pragma GCC optimize("O3,unroll-loops")
//#pragma GCC target("avx2,bmi")

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define len(x) ((int)x.size())

using namespace std;
using ll = long long;
using ld = long double;
using i128 = __int128;
#define int ll

struct Song{
    int s = 0;
    string name;
    int t = 0;
};

void solve() {
    int n;
    cin >> n;
    vector <pair <string, int>> a(n);
    for (int i = 0; i < n; ++i){
        cin >> a[i].first >> a[i].second;
    }
    reverse(all(a));
    int m;
    cin >> m;
    vector <Song> b(m);
    for (auto &[s, name, t] : b){
        cin >> s >> name >> t;
    }
    int p = 0, timer = 0;
    while (p < m || a.size()){
        while (p < m && b[p].s <= timer){
            a.push_back({b[p].name, b[p].t});
            ++p;
        }
        if (a.size()){
            cout << a.back().first << ' ' << timer << '\n';
            timer += a.back().second;
            a.pop_back();
        } else {
            cout << b[p].name << ' ' << b[p].s << '\n';
            timer = b[p].s + b[p].t;
            ++p;
        }
    }
}

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int _ = 1;
//    cin >> _;
    while (_--) {
        solve();
        cout << '\n';
    }
}
