#include using namespace std; const int maxn=100005; int T,n; int a[maxn]; long long m,x,s,y,t; int main(){ scanf("%d",&T); while(T--){ scanf("%d%lld",&n,&m); x=s=y=t=0; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); x=max(0LL,x+a[i]); s=max(s,x); y+=a[i]; t=max(t,y); } if(s>=m){ puts("1"); continue; } y=x; s=0; for(int i=1;i<=n;i++){ x=max(0LL,x+a[i]); s=max(s,x); } if(s>=m){ puts("2"); continue; } if(x==y){ puts("-1"); continue; } assert(s==y+t); printf("%lld\n",(m-y-t+x-y-1)/(x-y)+2); } return 0; }