func_code_string: #include <bits/stdc++.h>   using namespace std;   #pragma comment(linker,  /stack:200000000 )   #pragma GCC optimize( Ofast )   #pragma GCC optimize(3)   #pragma GCC target( sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native )   #pragma GCC target( sse3 ,  sse2 ,  sse )   #pragma GCC target( avx ,  sse4 ,  sse4.1 ,  sse4.2 ,  ssse3 )   #pragma GCC target( f16c )   #pragma GCC optimize( inline ,  fast-math ,  unroll-loops ,                          no-stack-protector )   #pragma GCC push_options   #pragma GCC pop_options   #pragma GCC reset_options   #pragma GCC optimize( O3 )   const double eps = 1e-9;   const int INFMEM = 63;   const int INF = 1061109567;   const long long LINF = 4557430888798830399LL;   const double DINF = numeric_limits<double>::infinity();   const long long MOD = 1000000007;   const int dx[8] = {1, 0, -1, 0, 1, 1, -1, -1};   const int dy[8] = {0, 1, 0, -1, 1, -1, 1, -1};   const double PI = 3.141592653589793;   inline void fastll(long long &input_number) {     input_number = 0;     int ch = getchar_unlocked();     int sign = 1;     while (ch <  0  || ch >  9 ) {       if (ch ==  - ) sign = -1;       ch = getchar_unlocked();     }     while (ch >=  0  && ch <=  9 ) {       input_number = (input_number << 3) + (input_number << 1) + ch -  0 ;       ch = getchar_unlocked();     }     input_number *= sign;   }   inline void open(string a) {     freopen((a +  .in ).c_str(),  r , stdin);     freopen((a +  .out ).c_str(),  w , stdout);   }   inline void fasterios() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);   }   long long n, q;   long long isi[200005];   long long sufmax[200005];   pair<long long, long long> forced[200005];   int main() {     fasterios();     memset(forced, -1, sizeof(forced));     memset(sufmax, -1, sizeof(sufmax));     cin >> n;     for (int i = 1; i <= n; i++) cin >> isi[i];     cin >> q;     for (int i = 1; i <= n; i++) forced[i] = {isi[i], 0};     for (int i = 1; i <= q; i++) {       long long t;       cin >> t;       if (t == 1) {         long long pos, val;         cin >> pos >> val;         forced[pos] = {val, i};       } else {         long long val;         cin >> val;         sufmax[i] = val;       }     }     for (int i = q - 1; i >= 0; i--) sufmax[i] = max(sufmax[i], sufmax[i + 1]);     for (int i = 1; i <= n; i++) {       cout << max(forced[i].first, sufmax[forced[i].second]) <<    n [i == n];     }     return 0;   }   