#include<iostream>
#include<iomanip>
#include<algorithm>
#include<vector>
#include<utility>
#include<set>
#include<unordered_set>
#include<list>
#include<iterator>
#include<deque>
#include<queue>
#include<stack>
#include<set>
#include<bitset>
#include<random>
#include<map>
#include<unordered_map>
#include<stdio.h>
#include<complex>
#include<math.h>
#include<cstring>
#include<chrono>

#define lb lower_bound
#define ub upper_bound
#define ll long long
#define pb push_back
#define ppb pop_back
#define fi first
#define se second
#define all(x) (x).begin(), (x).end()

const int mod = 1e9 + 7;

using namespace std;

int main(){

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    #ifndef ONLINE_JUDGE
    freopen("input1.txt" , "r" , stdin);
    freopen("output1.txt", "w", stdout);
    #endif

    int t;
    cin >> t;
    while(t--){
        int n;
        cin >> n;
        vector<int> a(n);
        for(int i = 0; i < n; i++) cin >> a[i];

        vector<int> idx(n + 1, 0);
        for(int i = 0; i < n; i++){
            if(i != a[i]) idx[i] = 1;
        }

        int mn = 0;
        for(int i = 0; i < n; i++){
            if(idx[i]){
                mn = i;
                break;
            }
        }

        int ans = mn;
        for(int i = 0; i < n; i++){
            if(idx[i]){
                ans &= a[i];
            }
        }
        cout << ans << endl;
    }




    return 0;
}
