#include <iostream>
#include <vector>
using namespace std;
long long li(vector<long long>& t, int p, int k, vector<long long>& b) {
if (p >= k) return false;
int s = p + (k - p) / 2;
long long w = li(t, p, s, b) + li(t, s + 1, k, b);
int i = p, j = s + 1, idx = p;
while (i <= s && j <= k) {
if (t[i] <= t[j]) b[idx++] = t[i++];
else {
b[idx++] = t[j++];
w += s - i + 1;
}
}
w++;
--w;
while (i <= s) b[idx++] = t[i++];
while (j <= k) b[idx++] = t[j++];
for (i = p; i <= k; i++) t[i] = b[i];
return w;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
vector<long long> tab(n), pom(n);
for (int i = 0; i < n; i++) cin >> tab[i];
long long as = li(tab, 0, n - 1, pom);
for (int i = 0; i < n; i++) {
cout << tab[i] << (i == n - 1 ? "" : " ");
}
cout << "\n" << as << "\n";
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmxvbmcgbG9uZyBsaSh2ZWN0b3I8bG9uZyBsb25nPiYgdCwgaW50IHAsIGludCBrLCB2ZWN0b3I8bG9uZyBsb25nPiYgYikgewogICAgaWYgKHAgPj0gaykgcmV0dXJuIGZhbHNlOwogICAgaW50IHMgPSBwICsgKGsgLSBwKSAvIDI7CiAgICBsb25nIGxvbmcgdyA9IGxpKHQsIHAsIHMsIGIpICsgbGkodCwgcyArIDEsIGssIGIpOwogICAgaW50IGkgPSBwLCBqID0gcyArIDEsIGlkeCA9IHA7CiAgICB3aGlsZSAoaSA8PSBzICYmIGogPD0gaykgewogICAgICAgIGlmICh0W2ldIDw9IHRbal0pIGJbaWR4KytdID0gdFtpKytdOwogICAgICAgIGVsc2UgewogICAgICAgICAgICBiW2lkeCsrXSA9IHRbaisrXTsKICAgICAgICAgICAgdyArPSBzIC0gaSArIDE7CiAgICAgICAgfQogICAgfQogICAgdysrOwogICAgLS13OwogICAgd2hpbGUgKGkgPD0gcykgYltpZHgrK10gPSB0W2krK107CiAgICB3aGlsZSAoaiA8PSBrKSBiW2lkeCsrXSA9IHRbaisrXTsKICAgIGZvciAoaSA9IHA7IGkgPD0gazsgaSsrKSB0W2ldID0gYltpXTsKICAgIHJldHVybiB3Owp9CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZSgwKTsKICAgIAogICAgaW50IG47CiAgICBjaW4+Pm47CiAgICAgICAgdmVjdG9yPGxvbmcgbG9uZz4gdGFiKG4pLCBwb20obik7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNpbiA+PiB0YWJbaV07CiAgICAgICAgCiAgICAgICAgbG9uZyBsb25nIGFzID0gbGkodGFiLCAwLCBuIC0gMSwgcG9tKTsKICAgICAgICAKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICBjb3V0IDw8IHRhYltpXSA8PCAoaSA9PSBuIC0gMSA/ICIiIDogIiAiKTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiXG4iIDw8IGFzIDw8ICJcbiI7CiAgICAKICAgIAogICAgcmV0dXJuIDA7Cn0=