#include <bits/stdc++.h>
using namespace std;
const int N = 10000;
const long double pi = acos(-1.0);
int n, m, all[200500];
pair<int, int> a[200100];
int read() {
  int x = 0, f = 1;
  char ch = getchar();
  while ((ch < '0') || (ch > '9')) {
    if (ch == '-') f = -1;
    ch = getchar();
  }
  while ((ch >= '0') && (ch <= '9')) {
    x = x * 10 + (ch - '0');
    ch = getchar();
  }
  return x * f;
}
int main() {
  n = read();
  for (register int i = 1; i <= n; i++) {
    a[i].first = read();
    a[i].second = 0;
  }
  m = read();
  for (register int i = 1; i <= m; i++) {
    int op = read();
    if (op == 1) {
      int p = read(), x = read();
      a[p].first = x;
      a[p].second = i;
    } else {
      int x = read();
      all[i] = x;
    }
  }
  for (register int i = m; i >= 0; i--) all[i] = max(all[i], all[i + 1]);
  for (register int i = 1; i <= n; i++)
    if (all[a[i].second] > a[i].first)
      printf("%d ", all[a[i].second]);
    else
      printf("%d ", a[i].first);
  return 0;
}
