import java.util.*;
import java.lang.*;
import java.io.*;
final class number {
//базовая сортировка слиянием(MERGE SORT)
if(a.length > 0){
int[] t = new int[a.length];
merge_sort(a, t, 0, a.length - 1);
t = null;
}
}
//рекурсивная разделяющея функция
private static void merge_sort(int[] a, int[] t, int l, int r){
if(r > l){
int m = (l + r) / 2;
merge_sort(a, t, l, m);
merge_sort(a, t, m + 1, r);
merge(a, t, l, m, r);
}
}
//слияние пар
private static void merge(int[] a, int[] t, int l, int m, int r){
int i, j;
for(i = m + 1; i > l; --i)
t[i - 1] = a[i - 1];
for(j = m; j < r; ++j)
t[r + m - j] = a[j + 1];
for(int k = l; k <= r; ++k){
if(t[j] < t[i])
a[k] = t[j--];
else
a[k] = t[i++];
}
}
}
class Cyberforum {
public static void main
(String[] args
){ int[] arr = new int [] { 6, 4, 7, 0, 2, 9, 3, -3, 2, 0, 1, 8 };
number.msort(arr);
for(int n : arr){
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgoKZmluYWwgY2xhc3MgbnVtYmVyIHsKICAgIC8v0LHQsNC30L7QstCw0Y8g0YHQvtGA0YLQuNGA0L7QstC60LAg0YHQu9C40Y/QvdC40LXQvChNRVJHRSBTT1JUKQogICAgcHVibGljIHN0YXRpYyB2b2lkIG1zb3J0KGludFtdIGEpIHRocm93cyBPdXRPZk1lbW9yeUVycm9yIHsKICAgICAgICBpZihhLmxlbmd0aCA+IDApewogICAgICAgICAgICBpbnRbXSB0ID0gbmV3IGludFthLmxlbmd0aF07CiAgICAgICAgICAgIG1lcmdlX3NvcnQoYSwgdCwgMCwgYS5sZW5ndGggLSAxKTsKICAgICAgICAgICAgdCA9IG51bGw7CiAgICAgICAgfQogICAgfQogIAogICAgLy/RgNC10LrRg9GA0YHQuNCy0L3QsNGPINGA0LDQt9C00LXQu9GP0Y7RidC10Y8g0YTRg9C90LrRhtC40Y8KICAgIHByaXZhdGUgc3RhdGljIHZvaWQgbWVyZ2Vfc29ydChpbnRbXSBhLCBpbnRbXSB0LCBpbnQgbCwgaW50IHIpewogICAgICAgIGlmKHIgPiBsKXsKICAgICAgICAgICAgaW50IG0gPSAobCArIHIpIC8gMjsKICAgICAgICAgICAgbWVyZ2Vfc29ydChhLCB0LCBsLCBtKTsKICAgICAgICAgICAgbWVyZ2Vfc29ydChhLCB0LCBtICsgMSwgcik7CiAgICAgICAgICAgIG1lcmdlKGEsIHQsIGwsIG0sIHIpOwogICAgICAgIH0KICAgIH0KCiAgICAvL9GB0LvQuNGP0L3QuNC1INC/0LDRgAogICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBtZXJnZShpbnRbXSBhLCBpbnRbXSB0LCBpbnQgbCwgaW50IG0sIGludCByKXsKICAgICAgICBpbnQgaSwgajsKICAgICAgICBmb3IoaSA9IG0gKyAxOyBpID4gbDsgLS1pKQogICAgICAgICAgICB0W2kgLSAxXSA9IGFbaSAtIDFdOwogICAgICAgICAgICAKICAgICAgICBmb3IoaiA9IG07IGogPCByOyArK2opCiAgICAgICAgICAgIHRbciArIG0gLSBqXSA9IGFbaiArIDFdOwogICAgICAgICAgICAKICAgICAgICBmb3IoaW50IGsgPSBsOyBrIDw9IHI7ICsrayl7CiAgICAgICAgICAgIGlmKHRbal0gPCB0W2ldKQogICAgICAgICAgICAgICAgYVtrXSA9IHRbai0tXTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgYVtrXSA9IHRbaSsrXTsKICAgICAgICB9CiAgICB9Cn0KCgpjbGFzcyBDeWJlcmZvcnVtIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKXsKCQlpbnRbXSBhcnIgPSBuZXcgaW50IFtdIHsgNiwgNCwgNywgMCwgMiwgOSwgMywgLTMsIDIsIDAsIDEsIDggfTsKCQludW1iZXIubXNvcnQoYXJyKTsKCQlmb3IoaW50IG4gOiBhcnIpewoJCQlTeXN0ZW0ub3V0LnByaW50KG4gKyAiICIpOwoJCX0JCQkKCX0KfQ==