#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define fi first
#define se second
#define pub push_back
#define pob pop_back
#define mpa make_pair
#define endl '\n'
#define BIT(i) ((1 << i))
const int maxn = 1e5 + 10;
int c, n, k;
int a[maxn];
int f[maxn];
void update(int id, int val)
{
while(id <= n)
{
f[id] += val;
id += (id & -id);
}
}
int get(int id)
{
if(id > n) return 0;
int res = 0;
while(id > 0)
{
res += f[id];
id -= (id & -id);
}
return res;
}
ll ans[maxn];
int L[maxn], R[maxn];
int d[maxn];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
#define code code
// freopen("code.INP","r",stdin);
// freopen("code.OUT","w",stdout);
cin >> c >> n >> k;
int pos = 0;
for(int i=1; i<=n; i++)
{
cin >> a[i];
}
for(int i=1; i<=n; i++)
{
L[a[i]] = get(a[i]);
update(a[i], 1);
}
for(int i=1; i<=n; i++) update(i, -1);
for(int i=n; i>=1; i--)
{
R[a[i]] = get(a[i]);
update(a[i], 1);
}
for(int i=2; i<=n; i++)
{
d[i] = L[i] - R[i];
}
d[1] = 1e9;
sort(d + 1, d + n + 1);
// for(int i=1; i<=n; i++) cout << d[i] << " ";
// cout << endl;
for(int i=1; i<=n; i++) ans[1] += R[i];
for(int i=2; i<=n + 1; i++)
{
ans[i] = ans[i - 1] + d[i - 1];
}
if(c == 1)
{
cout << ans[k];
}
else
{
for(int i=1; i<=n; i++) cout << ans[i] << " ";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSBwdWIgcHVzaF9iYWNrCiNkZWZpbmUgcG9iIHBvcF9iYWNrCiNkZWZpbmUgbXBhIG1ha2VfcGFpcgojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIEJJVChpKSAoKDEgPDwgaSkpCmNvbnN0IGludCBtYXhuID0gMWU1ICsgMTA7CmludCBjLCBuLCBrOwppbnQgYVttYXhuXTsKaW50IGZbbWF4bl07CnZvaWQgdXBkYXRlKGludCBpZCwgaW50IHZhbCkKewogICAgd2hpbGUoaWQgPD0gbikKICAgIHsKICAgICAgICBmW2lkXSArPSB2YWw7CiAgICAgICAgaWQgKz0gKGlkICYgLWlkKTsKICAgIH0KfQppbnQgZ2V0KGludCBpZCkKewogICAgaWYoaWQgPiBuKSByZXR1cm4gMDsKICAgIGludCByZXMgPSAwOwogICAgd2hpbGUoaWQgPiAwKQogICAgewogICAgICAgIHJlcyArPSBmW2lkXTsKICAgICAgICBpZCAtPSAoaWQgJiAtaWQpOwogICAgfQogICAgcmV0dXJuIHJlczsKfQpsbCBhbnNbbWF4bl07CmludCBMW21heG5dLCBSW21heG5dOwppbnQgZFttYXhuXTsKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoMCk7CiAgICBjb3V0LnRpZSgwKTsKICAgICNkZWZpbmUgY29kZSBjb2RlCi8vICAgIGZyZW9wZW4oImNvZGUuSU5QIiwiciIsc3RkaW4pOwovLyAgICBmcmVvcGVuKCJjb2RlLk9VVCIsInciLHN0ZG91dCk7CiAgICBjaW4gPj4gYyA+PiBuID4+IGs7CiAgICBpbnQgcG9zID0gMDsKICAgIGZvcihpbnQgaT0xOyBpPD1uOyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IGFbaV07CiAgICB9CiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKQogICAgewogICAgICAgIExbYVtpXV0gPSBnZXQoYVtpXSk7CiAgICAgICAgdXBkYXRlKGFbaV0sIDEpOwogICAgfQogICAgZm9yKGludCBpPTE7IGk8PW47IGkrKykgdXBkYXRlKGksIC0xKTsKICAgIGZvcihpbnQgaT1uOyBpPj0xOyBpLS0pCiAgICB7CiAgICAgICAgUlthW2ldXSA9IGdldChhW2ldKTsKICAgICAgICB1cGRhdGUoYVtpXSwgMSk7CiAgICB9CiAgICBmb3IoaW50IGk9MjsgaTw9bjsgaSsrKQogICAgewogICAgICAgIGRbaV0gPSBMW2ldIC0gUltpXTsKICAgIH0KICAgIGRbMV0gPSAxZTk7CiAgICBzb3J0KGQgKyAxLCBkICsgbiArIDEpOwovLyAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKSBjb3V0IDw8IGRbaV0gPDwgIiAiOwovLyAgICBjb3V0IDw8IGVuZGw7CiAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKSBhbnNbMV0gKz0gUltpXTsKICAgIGZvcihpbnQgaT0yOyBpPD1uICsgMTsgaSsrKQogICAgewogICAgICAgIGFuc1tpXSA9IGFuc1tpIC0gMV0gKyBkW2kgLSAxXTsKICAgIH0KICAgIGlmKGMgPT0gMSkKICAgIHsKICAgICAgICBjb3V0IDw8IGFuc1trXTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBmb3IoaW50IGk9MTsgaTw9bjsgaSsrKSBjb3V0IDw8IGFuc1tpXSA8PCAiICI7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=