#include <bits/stdc++.h>
using namespace std;
typedef long long ull;


int main()
{
    cin.tie(0);
    ios_base::sync_with_stdio(false);
    bool poz=true;
    int n,k,x; cin >> n >> k >> x;
    vector<int> a(n); for(int i=0; i<n; i++){cin >> a[i]; if(a[i]<0)poz=false;}
    vector<ull> sufix(n+1,0);
    for(int i=n-1; i>=0; i--){
        sufix[i]=a[i]+sufix[i+1];
    }
    if(poz){
        vector<ull> sufixx(n+1,0);\
        for(int i=n-1; i>=0; i--){
            sufixx[i]=sufix[i]+sufixx[i+1];
        }
        for(int i=0; i+k-1<n; i++){
            ull sol=sufixx[i]-sufixx[i+x]-x*sufix[i+k];
            cout << sol << '\n';
        }
    }
    else{
        for(int i=0; i+k-1<n; i++){
            ull sol=-x*sufix[i+k]+sufix[i];
            vector<ull> tmp;
            for(int j=i+1; j<=i+k; j++){tmp.push_back(sufix[j]);}
            sort(tmp.begin(),tmp.end(),greater<ull>());
            for(int j=0; j<x-1; j++){sol+=tmp[j];}
            cout << sol << '\n';
        }
    }
    return 0;
}