#include using namespace std; const int maxn = 1e5+10; int a[maxn]; void solve(){ int n; long long m; cin >> n >> m; long long sum = 0, x = 0; bool flag = 0; for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); sum += a[i]; x += a[i]; if (x < 0) x = 0; if (x >= m) flag = 1; } if (flag) { puts("1"); return; } if (sum <= 0) { for (int i = 1; i <= n; i++) { x += a[i]; if (x < 0) x = 0; if (x >= m) flag = 1; } puts(flag?"2":"-1"); return; }else{ long long mx = 0; for (int i = 1; i <= n; i++) { x += a[i]; if (x < 0) x = 0; mx = max(mx, x); } if (mx >= m) puts("2"); else{ printf("%lld\n", (m - mx + sum - 1) / (sum) + 2); } } } int main(){ int T; cin >> T; while (T--) solve(); }