#include<bits/stdc++.h>usingnamespacestd;voidsolve(vector<int>&a){intn=a.size();longlongans=0;intlst=-1;// How many winning subarrays end at index i?
for(inti=0;i<n;i++){if(i>0&&a[i]==1&&a[i-1]==1){lst=max(lst,i-1);}if(i>1&&a[i]==1&&a[i-1]==0&&a[i-2]==1){lst=max(lst,i-2);}// |[0, lst]| are the safe indices.
ans+=lst+1;ans+=(a[i]==1);}cout<<ans<<"\n";}intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);intt;cin>>t;while(t--){intn;cin>>n;vector<int>a(n);for(inti=0;i<n;i++){cin>>a[i];}solve(a);}}