#include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long ll; using namespace std; ll a[100005]; int main(){ int T; scanf("%d",&T); while(T--){ ll n,m; scanf("%lld %lld",&n,&m); ll minn=0,maxn=0,sum=0;//sum记录第一次结果 ll sum2 = 0; //记录∞最后结果 for(ll i=1;i<=n;i++){ scanf("%lld",&a[i]); sum = sum + a[i]; sum2 = sum2 + a[i]; minn = min(minn,sum2); maxn = max(maxn,sum2); if(sum < 0) sum = 0; } ll sum3 = sum2; for(ll i=1;i<=n;i++){ // cout << sum3 << endl; sum3 = sum3 + a[i]; if(sum3 < 0) sum3 = 0; } // cout << sum << " " << sum2 << " " << sum3 << " " << minn << " " << maxn << endl; if(maxn >= m){ printf("1\n"); continue; } if(sum + maxn >= m){ printf("2\n"); continue; } if((sum2 <= 0) || (sum3 <= sum2)){ printf("-1\n"); continue; } ll x = m - sum - maxn; if(x % sum2 == 0){ printf("%lld\n",2+x/sum2); } else { printf("%lld\n",3+x/sum2); } } return 0; }