#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod=1e9+7;
const ll INF = 10000000000000;
const int N = 1e6+7;
void solve() {
int n;
cin >> n;
vector<int> a(n);
int cnt = 0;
for(int i=0;i<n;i++){
cin >> a[i];
cnt+=(a[i]==0)?1:0;
}
if(cnt==n) cout << 0 << '\n';
else if(cnt<1) cout << 1 << '\n';
else if(cnt>=1){
int r=n-1,l=0;
while(a[r]==0 && r>0) r--;
while(a[l]==0 && l<n) l++;
if(l+n-r-1==cnt) cout << 1 << '\n';
else cout << 2 << '\n';
}
else cout << 2 << '\n';
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTW9kPTFlOSs3Owpjb25zdCBsbCBJTkYgPSAxMDAwMDAwMDAwMDAwMDsKY29uc3QgaW50IE4gPSAxZTYrNzsKCiAgICB2b2lkIHNvbHZlKCkgewogICAgICAgIGludCBuOwogICAgICAgIGNpbiA+PiBuOwogICAgICAgIHZlY3RvcjxpbnQ+IGEobik7CiAgICAgICAgaW50IGNudCA9IDA7CiAgICAgICAgZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgIGNpbiA+PiBhW2ldOwogICAgICAgICAgICBjbnQrPShhW2ldPT0wKT8xOjA7CiAgICAgICAgfQogICAgICAgIGlmKGNudD09bikgY291dCA8PCAwIDw8ICdcbic7CiAgICAgICAgZWxzZSBpZihjbnQ8MSkgY291dCA8PCAxIDw8ICdcbic7CiAgICAgICAgZWxzZSBpZihjbnQ+PTEpewogICAgICAgICAgICBpbnQgcj1uLTEsbD0wOwogICAgICAgICAgICAgICAgd2hpbGUoYVtyXT09MCAmJiByPjApIHItLTsKICAgICAgICAgICAgICAgIHdoaWxlKGFbbF09PTAgJiYgbDxuKSBsKys7CiAgICAgICAgICAgaWYobCtuLXItMT09Y250KSBjb3V0IDw8IDEgPDwgJ1xuJzsKICAgICAgICAgICBlbHNlIGNvdXQgPDwgMiA8PCAnXG4nOwogICAgICAgIH0KICAgICAgICBlbHNlIGNvdXQgPDwgMiA8PCAnXG4nOwogICAgICB9ICAgICAgIAoKaW50IG1haW4oKXsgCiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoJCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKICAgIAogICAgcmV0dXJuIDA7Cn0K
MTAKNAowIDEgMiAzCjYKMCAwIDAgMCAwIDAKNQoxIDAgMSAwIDEKNQozIDEgNCAxIDUKNAozIDIgMSAwCjcKOSAxMDAgMCA4OSAxMiAyIDMKNAowIDMgOSAwCjcKMCA3IDAgMiAwIDcgMAoxCjAKMgowIDEK
10
4
0 1 2 3
6
0 0 0 0 0 0
5
1 0 1 0 1
5
3 1 4 1 5
4
3 2 1 0
7
9 100 0 89 12 2 3
4
0 3 9 0
7
0 7 0 2 0 7 0
1
0
2
0 1