#include <iostream>

using namespace std;

int aura(int niz[], int c[], int k, int x){
    int c1[k];
    c1[0]=1;
    for (int i=1; i<x; i++){
        int amax=0, amax1=0;
        for (int j=i; j<k; j++){
            c1[j]=c[j]+1;
        }
        for (int j=0; j<k; j++){
                amax+=c[i]*niz[i];
                amax1+=c1[i]*niz[i];
        }
        if(amax1>amax){
            for (int j=0; j<k; j++){
                c[j]=c1[j];
        }
        }
    }
    return *c;
}
void f(int niz[], int x, int k){
    int amax=0, c[k];
    for (int i=0 i<k; i++){
            c[i]=1;
        }
        int c1[]=aura(niz, c, k, x);
        for (int i=0; i<k; i++){
                amax+=c[i]*niz[i];
        }
        cout<< amax;
}
int main()
{
    int n, k, x, p[200000];
    cin>>n>>k>>x;
    int b[k][n+1-k];
    for (int i=0; i<n; i++){
        cin>>p[i];
    }
    for (int i=0; i<n-k+1; i++){
        for (int j=0; j<k; j++){
            b[i][j]=p[j+i];
        }
    }
    for (int i=0; i<n-k+1; i++){
            int m[k];
            for (int j=0; j<k; j++){
                m[j]=b[i][j];
            }

        f(m, x, k);
        cout<<" ";
    }

    return 0;
}