#include using namespace std; typedef long long LL; const int MAXN = 100005; int n, a[MAXN]; LL m, maxv, sum; LL calc(LL s) { maxv = 0, sum = s; for(int i = 1; i <= n; i++) { s += a[i]; sum += a[i]; maxv = max(maxv, sum); if(s < 0) s = 0; if(s >= m) return s; } return s; } void solve() { scanf("%d%lld", &n, &m); for(int i = 1; i <= n; i++) { scanf("%d", &a[i]); } LL s = calc(0); if(s >= m) { printf("1\n"); return; } LL nexts = calc(s); // printf("%lld %lld\n", s, nexts); if(nexts == s) { printf("-1\n"); return; } if(nexts >= m) { printf("2\n"); return; } // printf("%lld\n", maxv); LL step = nexts - s; s = nexts; m -= maxv; printf("%lld\n", 2 + (m-1)/step + 1); } int main() { int T; scanf("%d", &T); for(int i = 1; i <= T; i++) solve(); return 0; }