from math import *
ls=[1,3,4,5,7,2,6,8,0]
def heapchange(i):
n=len(ls)
a,b,c=i,i*2,i*2+1
a,b,c=a-1,b-1,c-1
if b<n and ls[a]<ls[b]:
ls[a],ls[b]=ls[b],ls[a]
heapchange(b+1)
if c<n and ls[a]<ls[c]:
ls[a],ls[c]=ls[c],ls[a]
heapchange(c+1)
def ify():
n=len(ls)
depth=ceil(log2(n+1))-1
num=depth**2-1
for i in range(num,0,-1):
heapchange(i)
def heapsort():
for _ in range(len(ls)):
heappop()
def heappush(val):
ls.append(val)
n=len(ls)
while(n!=1):
if ls[n-1]>ls[n//2-1]:
ls[n-1],ls[n//2-1]=ls[n//2-1],ls[n-1]
n=n//2
else:
return
def heappop():
print(ls[0])
ls[0],ls[-1]=ls[-1],ls[0]
ls.pop()
heapchange ( 1 )
ify()
heappush(70)
heappush(7.5)
heappop()
heapsort()
print(ls)