#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;
    string name;
    int t;
};

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;
    }
    int m;
    cin >> m;
    vector <Song> b(m);
    for (auto &[s, name, t] : b){
        cin >> s >> name >> t;
    }
    int p1 = 0, p2 = 0, timer = 0;
    vector <Song> c;
    while (p2 < m && b[p2].s <= timer){
           c.push_back(b[p2]);
           ++p2;
    }
    while (p1 < n || p2 < m){
        if (c.size()){
            cout << c.back().name << ' ' << timer << '\n';
            timer += c.back().t;
            c.pop_back();
        } else if (p1 < n){
            cout <<  a[p1].first << ' ' << timer << '\n';
            timer += a[p1].second;
            ++p1;
        } else {
            cout << b[p2].name << ' ' << b[p2].s << '\n';
            timer = b[p2].s + b[p2].t;
            ++p2;
        }
        while (p2 < m && b[p2].s <= timer){
            c.push_back(b[p2]);
            ++p2;
        }
    }
}

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