#include <bits/stdc++.h>
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
using namespace std;
long long int i, j, a, k, b, c, n, t = 1, m, p, q, d, e, f, y, g, z, h, r, l, x,
                                   u, o;
long double aa, bb, ee, dd, ff, kk, gg, cc;
vector<long long int> v, s, vv;
vector<pair<long long int, long long int> > ss, pp;
map<long long int, long long int> ta, pa, sa, ma;
map<long long int, set<long long int> > se, me, ke;
priority_queue<long long int, vector<long long int>, greater<long long int> >
    aq, tq, pq, nq, mq, xq;
string st, et, ft, pt, ct;
deque<char> de, ne;
set<long long int> li, si, ei, di;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  while (t--) {
    cin >> n;
    for (i = 0; i < n; i++) {
      cin >> a;
      v.push_back(a);
    }
    cin >> m;
    x = -1;
    for (i = 0; i < m; i++) {
      cin >> a;
      if (a == 1) {
        cin >> b >> c;
        ma[b - 1] = i;
        sa[b - 1] = c;
        pa[i] = -1;
        ta[b - 1]++;
      } else {
        cin >> b;
        pa[i] = b;
      }
    }
    x = -1;
    for (i = m - 1; i >= 0; i--) {
      x = max(x, pa[i]);
      pa[i] = x;
    }
    for (i = 0; i < n; i++) {
      if (ta[i] == 0) {
        cout << max(v[i], x) << " ";
      } else {
        cout << max(sa[i], pa[ma[i]]) << " ";
      }
    }
    cout << endl;
  }
};
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
