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