#include <bits/stdc++.h>
using namespace std;
#define GG ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int main () { GG;
int t; cin>>t;
while(t--) {
int n,c,ans=0,x;
cin>>n>>c; vector<int> v(n+1),v1(n+1);
for(int i=1;i<n+1;i++) cin>>v[i];
x=n/2;
if(n%2!=0) x++;
int mn =v[1]+1,in=1;
for(int i=2;i<=x;i++)
{ if(v[i]+i<mn)
{ mn=v[i]+i;
in=i;
}
}
if(mn<=c)
{ v[in]=0;
c-=mn; ans++;
for(int i=1,j=n;i<=x;i++,j--)
{ if(v[i]!=0)
{ v1[i]=v[i]+i;
}
if(v[j]!=0)
v1[j]=v[j]+i;
}
sort(v1.begin()+1,v1.end());
for(int i=2;i<n+1;i++)
{ if(v1[i]<=c)
{ ans++;
c-=v1[i];
}
else break;
}
}
cout<<ans<<"\n";
}return 0;}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgR0cgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwppbnQgbWFpbiAoKSB7IEdHOwppbnQgdDsgY2luPj50Owp3aGlsZSh0LS0pIHsKaW50IG4sYyxhbnM9MCx4OwpjaW4+Pm4+PmM7IHZlY3RvcjxpbnQ+IHYobisxKSx2MShuKzEpOwpmb3IoaW50IGk9MTtpPG4rMTtpKyspIGNpbj4+dltpXTsKCng9bi8yOwppZihuJTIhPTApIHgrKzsKaW50IG1uID12WzFdKzEsaW49MTsKZm9yKGludCBpPTI7aTw9eDtpKyspCnsJaWYodltpXStpPG1uKSAKCXsgbW49dltpXStpOwoJCWluPWk7Cgl9Cn0KCmlmKG1uPD1jKQp7IHZbaW5dPTA7CmMtPW1uOyBhbnMrKzsKZm9yKGludCBpPTEsaj1uO2k8PXg7aSsrLGotLSkKewlpZih2W2ldIT0wKQoJeyB2MVtpXT12W2ldK2k7Cgl9CglpZih2W2pdIT0wKQoJdjFbal09dltqXStpOwp9CnNvcnQodjEuYmVnaW4oKSsxLHYxLmVuZCgpKTsKCmZvcihpbnQgaT0yO2k8bisxO2krKykKewlpZih2MVtpXTw9YykKCXsgYW5zKys7CgkgYy09djFbaV07Cgl9CgllbHNlIGJyZWFrOwp9CgkKfQoKY291dDw8YW5zPDwiXG4iOwp9cmV0dXJuIDA7fQ==
MTAKNSA2CjEgMSAxIDEgMQo4IDMyCjEwMCA1MiAxMyA2IDkgNCAxMDAgMzUKMSAxCjUKNCA1CjQgMyAyIDEKNSA5CjIgMyAxIDQgMQo1IDgKMiAzIDEgNCAxCjQgMwoyIDMgNCAxCjQgOQo1IDQgMyAzCjIgMTQKNyA1CjUgNjAwMDAwMDAwCjUwMDAwMDAwMCA0MDAwMDAwMDAgMzAwMDAwMDAwIDIwMDAwMDAwMCAxMDAwMDAwMDAK
10
5 6
1 1 1 1 1
8 32
100 52 13 6 9 4 100 35
1 1
5
4 5
4 3 2 1
5 9
2 3 1 4 1
5 8
2 3 1 4 1
4 3
2 3 4 1
4 9
5 4 3 3
2 14
7 5
5 600000000
500000000 400000000 300000000 200000000 100000000