import heapq
from fractions import Fraction
def solution(N, stages):
answer = []
rlt = []
for i in range(1, N+1):
total_people = 0
struggled_people = 0
for s in stages:
if i == s:
struggled_people += 1
if i <= s:
total_people += 1
if struggled_people == 0 or total_people ==0:
heapq.heappush(answer, (100, i))
else:
heapq.heappush(answer, (Fraction(-struggled_people, total_people), i))
heapq.heapify(answer)
prev = [heapq.heappop(answer)]
while answer:
if prev[-1][0] < answer[0][0]:
rlt += prev
prev = [heapq.heappop(answer)]
else:
prev.append(heapq.heappop(answer))
if prev:
rlt += prev
return [x[1] for x in rlt]