#include <iostream>

using namespace std;

int nadji_min_el(int a[], int k){
    int x=a[0];
    for (int i=1; i<k; i++){
        if (a[i]<x)
            x=a[i];
    }
    return x;
}
void f(int niz[], int x, int k){
    int amax=0, c[k], w=-1;
    c[0]=1;
    for (int i=1; i<k; i++){
            c[i]=c[i-1]+1;
        }

        for (int v=1; v<c[k-1]-x; v++){
            for (int i=0; i<k; i++){
                if (nadji_min_el(niz, k)==niz[i] && i!=w){
                        w=i;
                   for (int j=i; j<k; j++){
                        c[j]= c[j]-1;
                   }
                   for (int i=0; i<k; i++){
            cout<<c[i]<<" ";
        }
        cout<<endl;
                }
            }
        }
        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;
}