#include <algorithm>
void sort(int *Array, int n)
{
long gap = n;
while (gap > 1) {
gap /= 2;
for (long i = 0; i < n - gap; ++i) {
long end = i;
long temp = Array[end + gap];
while (end >= 0) {
if (Array[end] > temp) {
Array[end + gap] = Array[end];
end -= gap;
} else {
break;
}
Array[end + gap] = temp;
}
}
}
}