#include <bits/stdc++.h>
#define endl '\n'
#define int long long

using namespace std;

multiset<int> ms;
multiset<int> cekanje;
int sum=0ll;

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n,k,x;
    cin>>n>>k>>x;
    vector<int> v(n+1,0ll);
    for(int i=1;i<=n;i++)cin>>v[i];
    vector<int> pref(n+1,0ll);
    for(int i=1;i<=n;i++)pref[i]=pref[i-1]+v[i];
    x--;

    vector<int> pom(n+2,0ll);
    int c=0ll;
    int tmp=0ll;
    for(int i=k;i>0;i--){
        cekanje.insert(tmp);
        pom[i+1]=tmp;
        tmp+=v[i];
    }
    for(int i=0;i<x;i++){
        sum+=*cekanje.rbegin();
        ms.insert(*cekanje.rbegin());
        cekanje.erase(cekanje.find(*cekanje.rbegin()));
    }
    cout<<sum+pref[k]-pref[0]<<endl;
    //cout<<endl;
    /*
    for(int i=0;i<n+2;i++)cout<<pom[i]<<' ';
    cout<<endl;
    for(auto a:ms)cout<<a<<' ';
    cout<<endl;
    for(auto a:cekanje)cout<<a<<' ';
    cout<<endl;
*/
    for(int i=1+k;i<=n;i++){
        int r=i;
        int l=i-k+1;
        c+=v[r];
        pom[r+1]=-c;
        int dod=-c;
        int od=pom[l];
        //cout<<"dodod"<<' '<<dod<<' '<<od<<endl;
        cekanje.insert(dod);
        if(cekanje.find(od)!=cekanje.end()){
            cekanje.erase(cekanje.find(od));
        }
        else{
            ms.erase(ms.find(od));
            sum-=od;
            sum+=*cekanje.rbegin();
            int pom=*cekanje.rbegin();
            ms.insert(pom);
            cekanje.erase(cekanje.find(pom));
        }
        if(*cekanje.rbegin()>*ms.begin()){
            sum-=*ms.begin();
            sum+=*cekanje.rbegin();
            int pom1=*ms.begin();
            int pom2=*cekanje.rbegin();
            ms.erase(ms.find(pom1));
            cekanje.erase(cekanje.find(pom2));
            ms.insert(pom2);
            cekanje.insert(pom1);
        }
        /*
        for(auto a:ms)cout<<a<<' ';
        cout<<endl;
        for(auto a:cekanje)cout<<a<<' ';
        cout<<endl;
        */
        cout<<sum+pref[r]-pref[l-1]+x*c<<endl;
    }


    return 0;
}