string resenje = "";
string[] prvired = Console.ReadLine().Split();
string[] niz = Console.ReadLine().Split();
int n = int.Parse(prvired[0]);
int k = int.Parse(prvired[1]);
int x = int.Parse(prvired[2]);
int[] p = new int[n];
for (int i = 0; i < n; i++)
{
    p[i] = int.Parse(niz[i]);
}
List<int> podniz = new List<int>();
int promenljiva = 0;
int promenljiva1 = p.Length;
int aura = 0;
int c = 1;
while (promenljiva1 - k >= 0)
{
    podniz.Clear();
    c = 1;
    aura = 0;
    for (int i = 0; i < k; i++)
    {
        podniz.Add(p[promenljiva]);
        promenljiva++;
    }
    int min = podniz.Min();
    List<int> sortirani = podniz.ToList();
    sortirani.Sort();
    int pomocna = 0;
    for (int i = 0; i < podniz.Count; i++)
    {
        if (podniz[i] == sortirani[pomocna])
        {
            aura = aura + (podniz[i] * c);
            if (c + 1 <= x)
            {
                c++;
            }
            pomocna++;
        }
        else
        {
            aura = aura + (podniz[i] * c);
        }
    }
    promenljiva = promenljiva - (k - 1);
    promenljiva1--;
    if (promenljiva1 - k >= 0)
    {
        resenje = resenje + aura + " ";
    }
    else
    {
        resenje = resenje + aura;
    }
}
Console.WriteLine(resenje);