#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 1e6 + 7 ;
inline int read() {
int x = 0, f = 1 ;
char c = getchar() ;
while (c > '9' || c < '0') {
if (c == '-')
f = -1 ;
c = getchar() ;
}
while (c >= '0' && c <= '9') {
x = x * 10 + c - '0' ;
c = getchar() ;
}
return x * f ;
}
int t , n , a[maxn] ;
void solve(){
n = read() ;
for(int i = 1 ; i <= n ; i ++){
a[i] = read() ;
}
int first = n , last = 1 ;
for(int i = 1 ; i <= n ; i ++){
if(a[i] == 1){
first = i ;
break ;
}
}
for(int i = n ; i >= 1 ; i --){
if(a[i] == 1){
last = i ;
break ;
}
}
ll ans = 0 ;
for(int i = first ; i <= last ; i ++){
if(a[i] == 0){
ans ++ ;
}
}
cout << ans << endl ;
}
int main(){
t = read() ;
while(t --){
solve() ;
}
return 0 ;
}
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll ;
const int maxn = 1e6 + 7 ;
inline int read() {
int x = 0, f = 1 ;
char c = getchar() ;
while (c > '9' || c < '0') {
if (c == '-')
f = -1 ;
c = getchar() ;
}
while (c >= '0' && c <= '9') {
x = x * 10 + c - '0' ;
c = getchar() ;
}
return x * f ;
}
ll t , n , k ;
ll a[maxn] , sum[maxn] , s[maxn] ;
void solve(){
n = read() ;
k = read() ;
for(int i = 1 ; i <= n ; i ++){
sum[i] = s[i] = 0 ;
}
for(int i = 1 ; i <= n ; i ++){
a[i] = read() ;
}
for(int i = 1 ; i <= n ; i ++){
if(a[i] == 1){
sum[i] = 1 ;
}
else{
s[i] = a[i] - 1 ;
}
}
for(int i = 1 ; i <= n ; i ++){
sum[i] = sum[i - 1] + sum[i] ;
}
for(int i = 1 ; i <= n ; i ++){
s[i] = s[i - 1] + s[i] ;
}
for(int i = 1 ; i <= k ; i ++){
ll u , v ;
u = read() ;
v = read() ;
if(sum[v] - sum[u - 1] > s[v] - s[u - 1] || v - u == 0){
printf("NO\n") ;
}
else{
printf("YES\n") ;
}
}
}
int main(){
t = read() ;
while(t --){
solve() ;
}
return 0 ;
}