#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,n,k,a[200005],l[200005],r[200005],ind,inm,ml,mr;
bool ok,ol,orr;
int max(int a,int b)
{
if(a>b)return a;
return b;
}
signed main()
{
for(cin>>T;T;T--)
{
memset(l,0,sizeof l);
memset(r,0,sizeof r);
cin>>n>>k,ind=inm=0,ol=orr=1,ml=mr=-214748364;
for(int i=1;i<=n;i++)
{
cin>>a[i];
if(i<k)l[++ind]=a[i];
if(i>k)r[++inm]=a[i];
}
for(int i=ind;i>=1;i--){
l[i]+=l[i+1],ml=max(ml,l[i]);
}
for(int i=1;i<=inm;i++){
r[i]+=r[i-1],mr=max(mr,r[i]);
}
for(int i=1;i<=ind;i++)
if(a[k]+max(0,mr)+l[i]<0)ol=0;
for(int i=1;i<=inm;i++)
if(a[k]+max(0,ml)+r[i]<0)orr=0;
ok=0;
for(int i=0;i<=ind;i++)
{
if(a[k]+l[i]+r[inm]>=0&&orr)
{
puts("YES");
ok=1;
break;
}
}
for(int i=0;i<=inm;i++)
{
if(a[k]+r[i]+l[1]>=0&&!ok&&ol)
{
puts("YES");
ok=1;
break;
}
}
if(!ok)puts("NO");
}
return 0;
}