#include <iostream>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int n;
    cin >> n;

    int a[n], leksikografskiNajveci[n];
    bool b[n][32] = {};
    for(int i = 0; i < n; i++) {
        cin >> a[i];
        leksikografskiNajveci[i] = a[i];
        int broj = a[i];
        for(int j = 0; j < 32; j++) {
            b[i][j] = broj & 1;
            broj >>= 1;
        }
    }

    for(int j = 31; j >= 0; j--) {
        int x = 0, y = 0;
        for(int i = 0; i < n; i++) {
            if(b[i][j] == 0) {
                y++;
            }else{
                int I   = leksikografskiNajveci[x] & leksikografskiNajveci[y],
                    ILI = leksikografskiNajveci[x] | leksikografskiNajveci[y];
                leksikografskiNajveci[x] = ILI;
                leksikografskiNajveci[y] = I;
                x++;
                y++;
            }
        }
    }

    int q;
    cin >> q;

    for(int i = 0; i < q; i++) {
        int t;
        cin >> t;
        if(t == 0) {
            int k;
            cin >> k;
            cout << leksikografskiNajveci[k-1] << '\n';
        }else{
            int k, x;
            cin >> k >> x;
            a[k-1] = x;
            for(int j = 0; j < n; j++)
                leksikografskiNajveci[j] = a[j];
            for(int j = 0; j < 32; j++) {
                b[k-1][j] = x & 1;
                x >>= 1;
            }
            for(int j = 31; j >= 0; j--) {
                int x = 0, y = 0;
                for(int k = 0; k < n; k++) {
                    if(b[k][j] == 0) {
                        y++;
                    }else{
                        int I   = leksikografskiNajveci[x] & leksikografskiNajveci[y],
                            ILI = leksikografskiNajveci[x] | leksikografskiNajveci[y];
                        leksikografskiNajveci[x] = ILI;
                        leksikografskiNajveci[y] = I;
                        x++;
                        y++;
                    }
                }
            }
        }
    }
    cout << '\n';

    return 0;
}