import sys
def it(i, n):
yield None
if (i > 0):
for j in it(i-1, n):
yield j
else:
yield n
def Sort(its):
done = False
while not done:
done = True
for i in its:
try:
val = i.next()
if val == None:
done = False
else:
yield val
except:
its.remove(i)
iters = []
for num in [1, 3, 894, 43, 12, 77, 666]:
iters.append(it(num, num))
for i in Sort(iters):
print i
aW1wb3J0IHN5cwogCmRlZiBpdChpLCBuKToKICAgICAgICB5aWVsZCBOb25lCiAgICAgICAgaWYgKGkgPiAwKToKICAgICAgICAgICAgICAgIGZvciBqIGluIGl0KGktMSwgbik6CiAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIGoKICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgeWllbGQgbgogCiAKZGVmIFNvcnQoaXRzKToKICAgICAgICBkb25lID0gRmFsc2UKICAgICAgICB3aGlsZSBub3QgZG9uZToKICAgICAgICAgICAgICAgIGRvbmUgPSBUcnVlCiAgICAgICAgICAgICAgICBmb3IgaSBpbiBpdHM6CiAgICAgICAgICAgICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBpLm5leHQoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHZhbCA9PSBOb25lOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9uZSA9IEZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHZhbAogICAgICAgICAgICAgICAgICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRzLnJlbW92ZShpKQogCml0ZXJzID0gW10KZm9yIG51bSBpbiBbMSwgMywgODk0LCA0MywgMTIsIDc3LCA2NjZdOgogICAgICAgIGl0ZXJzLmFwcGVuZChpdChudW0sIG51bSkpCiAKZm9yIGkgaW4gU29ydChpdGVycyk6CiAgICAgICAgcHJpbnQgaQ==