import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone {
public static int c = 0;
public static void mergeSort(int l1[], int low, int mid, int high) {
//static int c = 0;
int n1 = mid - low + 1;
int n2 = high - mid;
int L[] = new int[n1];
int R[] = new int[n2];
for(int i = 0;i < n1;i++)
L[i] = l1[low + i];
for(int i = 0;i < n2;i++)
R[i] = l1[mid + 1 + i];
int i = 0, j = 0, k = low;
while(i < n1 && j < n2) {
if(L[i] <= R[j]) {
l1[k] = L[i];
i += 1;
c += 1;
}
else {
l1[k] = R[j];
j += 1;
c += 1;
}
k += 1;
}
while(i < n1) {
l1[k] = L[i];
i += 1;
k += 1;
}
while(j < n2) {
l1[k] = R[j];
j += 1;
k += 1;
}
//return c;
}
public static void sort(int l1[], int low, int high) {
if(low < high) {
int mid = (low + high) / 2;
sort(l1, low, mid);
sort(l1, mid + 1, high);
mergeSort(l1, low, mid, high);
}
}
public static void main
(String[] args
) { int l1[] = {3, 4, 1, 7, 22, 8, 34};
sort(l1, 0, l1.length - 1);
for(int i = 0;i < l1.length;i++)
System.
out.
print(l1
[i
] + " "); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmNsYXNzIElkZW9uZSB7CglwdWJsaWMgc3RhdGljIGludCBjID0gMDsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtZXJnZVNvcnQoaW50IGwxW10sIGludCBsb3csIGludCBtaWQsIGludCBoaWdoKSB7CgkJLy9zdGF0aWMgaW50IGMgPSAwOwoJCWludCBuMSA9IG1pZCAtIGxvdyArIDE7CgkJaW50IG4yID0gaGlnaCAtIG1pZDsKCQkKCQlpbnQgTFtdID0gbmV3IGludFtuMV07CgkJaW50IFJbXSA9IG5ldyBpbnRbbjJdOwoJCQoJCWZvcihpbnQgaSA9IDA7aSA8IG4xO2krKykgCgkJCUxbaV0gPSBsMVtsb3cgKyBpXTsKCQkJCgkJZm9yKGludCBpID0gMDtpIDwgbjI7aSsrKQoJCQlSW2ldID0gbDFbbWlkICsgMSArIGldOwoJCQoJCWludCBpID0gMCwgaiA9IDAsIGsgPSBsb3c7CgkJd2hpbGUoaSA8IG4xICYmIGogPCBuMikgewoJCQlpZihMW2ldIDw9IFJbal0pIHsKCQkJCWwxW2tdID0gTFtpXTsKCQkJCWkgKz0gMTsKCQkJCWMgKz0gMTsKCQkJfQoJCQllbHNlIHsKCQkJCWwxW2tdID0gUltqXTsKCQkJCWogKz0gMTsKCQkJCWMgKz0gMTsKCQkJfQoJCQlrICs9IDE7CgkJfQoJCXdoaWxlKGkgPCBuMSkgewoJCQlsMVtrXSA9IExbaV07CgkJCWkgKz0gMTsKCQkJayArPSAxOwoJCX0KCQl3aGlsZShqIDwgbjIpIHsKCQkJbDFba10gPSBSW2pdOwoJCQlqICs9IDE7CgkJCWsgKz0gMTsKCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKGMpOwoJCS8vcmV0dXJuIGM7Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBzb3J0KGludCBsMVtdLCBpbnQgbG93LCBpbnQgaGlnaCkgewoJCWlmKGxvdyA8IGhpZ2gpIHsKCQkJaW50IG1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CgkJCXNvcnQobDEsIGxvdywgbWlkKTsKCQkJc29ydChsMSwgbWlkICsgMSwgaGlnaCk7CgkJCQoJCQltZXJnZVNvcnQobDEsIGxvdywgbWlkLCBoaWdoKTsKCQl9Cgl9CgkKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB7CgkJaW50IGwxW10gPSB7MywgNCwgMSwgNywgMjIsIDgsIDM0fTsKCQlzb3J0KGwxLCAwLCBsMS5sZW5ndGggLSAxKTsKCQlmb3IoaW50IGkgPSAwO2kgPCBsMS5sZW5ndGg7aSsrKQoJCQlTeXN0ZW0ub3V0LnByaW50KGwxW2ldICsgIiAiKTsKCX0KfQ==