def swap(i, j):
sqc[i], sqc[j] = sqc[j], sqc[i]
def heapify(end,i):
l=3 * (i + 1)
m=3 * (i + 2)
r=3 * (i + 3)
max=i
if l < end and sqc[i] < sqc[l]:
max = l
if r < end and sqc[max] < sqc[r]:
max = r
if m < end and sqc[max] < sqc[m]:
max = m
if max != i:
swap(i, max)
heapify(end, max)
def heap_sort():
end = len(sqc)
start = end / 2 - 1
for i in range(start, -1, -1):
heapify(end, i)
for i in range(end-1, 0, -1):
swap(i, 0)
heapify(i, 0)
sqc = [2, 7, 1, -2, 56, 5, 3]
heap_sort()
print(sqc)
ZGVmIHN3YXAoaSwgaik6CiAgICBzcWNbaV0sIHNxY1tqXSA9IHNxY1tqXSwgc3FjW2ldCgpkZWYgaGVhcGlmeShlbmQsaSk6CiAgICBsPTMgKiAoaSArIDEpCiAgICBtPTMgKiAoaSArIDIpCiAgICByPTMgKiAoaSArIDMpCiAgICBtYXg9aQogICAgaWYgbCA8IGVuZCBhbmQgc3FjW2ldIDwgc3FjW2xdOgogICAgICAgIG1heCA9IGwKICAgIGlmIHIgPCBlbmQgYW5kIHNxY1ttYXhdIDwgc3FjW3JdOgogICAgICAgIG1heCA9IHIKICAgIGlmIG0gPCBlbmQgYW5kIHNxY1ttYXhdIDwgc3FjW21dOgogICAgICAgIG1heCA9IG0KICAgIGlmIG1heCAhPSBpOgogICAgICAgIHN3YXAoaSwgbWF4KQogICAgICAgIGhlYXBpZnkoZW5kLCBtYXgpCgpkZWYgaGVhcF9zb3J0KCk6CiAgICBlbmQgPSBsZW4oc3FjKQogICAgc3RhcnQgPSBlbmQgLyAyIC0gMQogICAgZm9yIGkgaW4gcmFuZ2Uoc3RhcnQsIC0xLCAtMSk6CiAgICAgICAgaGVhcGlmeShlbmQsIGkpCiAgICBmb3IgaSBpbiByYW5nZShlbmQtMSwgMCwgLTEpOgogICAgICAgIHN3YXAoaSwgMCkKICAgICAgICBoZWFwaWZ5KGksIDApCgpzcWMgPSBbMiwgNywgMSwgLTIsIDU2LCA1LCAzXQpoZWFwX3NvcnQoKQpwcmludChzcWMp