#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
const int N=2e5+5;
pii dp[N];
int n,k,s;
int a[N],pre[N];
int check(int pen){
int l=0;
for(int i=1; i<=n; i++){
dp[i]=make_pair(dp[i-1].first+pen,dp[i-1].second+1);
if(i>1) dp[i]=max(dp[i],dp[i-1]);
while(l<i && pre[i]-pre[l+1]>=s) l++;
if(pre[i]-pre[l]>=s){
dp[i]=max(dp[i],make_pair(dp[l].first+1+pen,dp[l].second+1));
}
}
// cerr<<pen<<' '<<dp[n].sl<<'\n';
return dp[n].second;
}
void Solve(){
cin>>n>>k>>s;
for(int i=1; i<=n; i++){
cin>>a[i];
pre[i]=pre[i-1]+a[i];
}
int l=-n,r=n,m,kq=-1e9;
dp[0]={0,0};
int sl=0;
while(l<=r){
m=(l+r)/2;
if(check(m)>=k){
r=m-1;
kq=m;
}
else{
l=m+1;
}
}
check(kq);
cout<<dp[n].first-k*kq<<'\n';
}
signed main(){
freopen("SKS.inp","r",stdin);
freopen("SKS.out","w",stdout);
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int Cases=1;
cin>>Cases;
while(Cases--){
Solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgcGlpIHBhaXI8aW50LGludD4KY29uc3QgaW50IE49MmU1KzU7CnBpaSBkcFtOXTsKaW50IG4sayxzOwppbnQgYVtOXSxwcmVbTl07CmludCBjaGVjayhpbnQgcGVuKXsKICAgIGludCBsPTA7CiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKICAgICAgICBkcFtpXT1tYWtlX3BhaXIoZHBbaS0xXS5maXJzdCtwZW4sZHBbaS0xXS5zZWNvbmQrMSk7CiAgICAgICAgaWYoaT4xKSBkcFtpXT1tYXgoZHBbaV0sZHBbaS0xXSk7CiAgICAgICAgd2hpbGUobDxpICYmIHByZVtpXS1wcmVbbCsxXT49cykgbCsrOwogICAgICAgIGlmKHByZVtpXS1wcmVbbF0+PXMpewogICAgICAgICAgICBkcFtpXT1tYXgoZHBbaV0sbWFrZV9wYWlyKGRwW2xdLmZpcnN0KzErcGVuLGRwW2xdLnNlY29uZCsxKSk7CiAgICAgICAgfQogICAgfQovLyAgICBjZXJyPDxwZW48PCcgJzw8ZHBbbl0uc2w8PCdcbic7CiAgICByZXR1cm4gZHBbbl0uc2Vjb25kOwp9CnZvaWQgU29sdmUoKXsKICAgIGNpbj4+bj4+az4+czsKICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKyspewogICAgICAgIGNpbj4+YVtpXTsKICAgICAgICBwcmVbaV09cHJlW2ktMV0rYVtpXTsKICAgIH0KICAgIGludCBsPS1uLHI9bixtLGtxPS0xZTk7CiAgICBkcFswXT17MCwwfTsKICAgIGludCBzbD0wOwogICAgd2hpbGUobDw9cil7CiAgICAgICAgbT0obCtyKS8yOwogICAgICAgIGlmKGNoZWNrKG0pPj1rKXsKICAgICAgICAgICAgcj1tLTE7CiAgICAgICAgICAgIGtxPW07CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGw9bSsxOwogICAgICAgIH0KICAgIH0KICAgIGNoZWNrKGtxKTsKICAgIGNvdXQ8PGRwW25dLmZpcnN0LWsqa3E8PCdcbic7Cn0Kc2lnbmVkIG1haW4oKXsKICAgICBmcmVvcGVuKCJTS1MuaW5wIiwiciIsc3RkaW4pOwogICAgIGZyZW9wZW4oIlNLUy5vdXQiLCJ3IixzdGRvdXQpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaW50IENhc2VzPTE7CiAgICAgY2luPj5DYXNlczsKICAgIHdoaWxlKENhc2VzLS0pewogICAgICAgIFNvbHZlKCk7CiAgICB9Cn0K