#include using namespace std; typedef long long ll; const int MAX_N = 1e5+10; ll t,n,m,a[MAX_N],x,Max; int main(){ ios::sync_with_stdio(0); cin>>t; while(t--){ cin>>n>>m; x = 0; Max = 0; bool flag = false; //cout<<"IN1\n"; for(int i=1;i<=n;i++){ cin>>a[i]; x += a[i]; if(x<0){ x = 0; } if(x>=m){ flag = true; } } if(flag){ cout<<"1\n"; continue; } ll now = x; //cout<<"IN2\n"; for(int i=1;i<=n;i++){ now += a[i]; if(now<0){ now = 0; } if(now>x){ Max = max(Max,now-x); } if(now>=m){ flag = true; } } ll temp = now-x; if(flag){ cout<<"2\n"; continue; } if(now==x){ cout<<"-1\n"; continue; } ll ans = (m-Max-x)/temp; if((m-Max-x)%temp!=0){ ans+=2; }else{ ans+=1; } cout<