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

int rez=-10000000,x;
void prvi(vector<int>& a, int l, int r, int c,int tr){
	
//	cout<<l<<" "<<r<<"    "<<c<<" "<<tr<<"\n";
	if ((l==r)){
		if ((c==x) or (c==x-1)) rez=max(rez,tr);
		return;
	}
		if ((c<x) and (l<r-1)) prvi(a,l+1,r,c+1,tr+a[l]*c);
				 prvi(a,l+1,r,c,tr+a[l]*c);
	
}

int main(int argc, char** argv) {
	
	int n,k;
	cin>>n>>k>>x;
	bool poz=true;
	vector<int> a(n);
	for (int i=0;i<n;i++){
		cin>>a[i];
		if (a[i]<0) poz=false;
	}
	if (n<=20){
		
		for (int i=0;i<n-k+1;i++){
			rez=-1000000000;
			int c=1;
			int tr=0;
			prvi(a,i,i+k,c,tr);
			cout<<rez<<'\n';
		}
		
	}
	
	return 0;
}