#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 3;
const int INF = 0x3f3f3f3f3f3f3f3f;
const int MOD = 1e9 + 7;
const int LOGN = 20;
int arr[MAXN];
int when[MAXN];
int last[MAXN];
signed main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    scanf("%d", &arr[i]);
  }
  int q;
  scanf("%d", &q);
  int money = 0;
  queue<int> que;
  for (int i = 0; i < q; ++i) {
    int op;
    int index, tag;
    scanf("%d", &op);
    if (op == 1) {
      scanf("%d%d", &index, &tag);
      index--;
      when[index] = i;
      arr[index] = tag;
    } else {
      scanf("%d", &tag);
      last[i] = tag;
    }
  }
  for (int i = q - 2; i >= 0; --i) last[i] = max(last[i], last[i + 1]);
  for (int i = 0; i < n; ++i)
    printf("%d%c", max(arr[i], last[when[i]]), i == n - 1 ? '\n' : ' ');
  return 0;
}
