# your code goes here
# your code goes here
# your code goes here
def quickSort(left, right, li):
pivot = left
j = pivot
i = left + 1
if left < right:
for i in range(left, right+1):
if li[pivot].data > li[i].data:
j = j + 1
li[i].setChgIdx(j)
li[j].setChgIdx(i)
li[j], li[i] = li[i], li[j]
li[left].setChgIdx(j)
li[j].setChgIdx(left)
li[left], li[j] = li[j], li[left]
pivot = j
quickSort(left, pivot-1, li)
quickSort(pivot+1, right, li)
def quickSort2(left, right, li):
pivot = left
j = pivot
i = left + 1
if left < right:
for i in range(left, right+1):
if li[pivot].orgIdx > li[i].orgIdx:
j = j + 1
li[j], li[i] = li[i], li[j]
li[left], li[j] = li[j], li[left]
pivot = j
quickSort2(left, pivot-1, li)
quickSort2(pivot+1, right, li)
def main():
d = {}
n = int(input())
li = list(map(int, input().split()))
tList = []
for i in range(n):
t = test(i, int(li[i]), i)
tList.append(t)
quickSort(0, n-1, tList)
for i in range(n):
print(tList[i].chgIdx, end=' ')
class test():
def __init__(self, orgIdx, data, chgIdx):
self.orgIdx = orgIdx
self.data = data
self.chgIdx = chgIdx
def setChgIdx(self, chgIdx):
self.chgIdx = chgIdx
def p(self):
print(self.orgIdx, self.data, self.chgIdx)
main()
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCiMgeW91ciBjb2RlIGdvZXMgaGVyZQojIHlvdXIgY29kZSBnb2VzIGhlcmUKCmRlZiBxdWlja1NvcnQobGVmdCwgcmlnaHQsIGxpKToKICAgIHBpdm90ID0gbGVmdAogICAgaiA9IHBpdm90CiAgICBpID0gbGVmdCArIDEKCiAgICBpZiBsZWZ0IDwgcmlnaHQ6ICAgICAgICAKICAgICAgICBmb3IgaSBpbiByYW5nZShsZWZ0LCByaWdodCsxKToKICAgICAgICAgICAgaWYgbGlbcGl2b3RdLmRhdGEgPiBsaVtpXS5kYXRhOgogICAgICAgICAgICAgICAgaiA9IGogKyAxCiAgICAgICAgICAgICAgICBsaVtpXS5zZXRDaGdJZHgoaikKICAgICAgICAgICAgICAgIGxpW2pdLnNldENoZ0lkeChpKQogICAgICAgICAgICAgICAgbGlbal0sIGxpW2ldID0gbGlbaV0sIGxpW2pdCiAgICAgICAgbGlbbGVmdF0uc2V0Q2hnSWR4KGopCiAgICAgICAgbGlbal0uc2V0Q2hnSWR4KGxlZnQpCiAgICAgICAgbGlbbGVmdF0sIGxpW2pdID0gbGlbal0sIGxpW2xlZnRdCiAgICAgICAgCiAgICAgICAgcGl2b3QgPSBqCgogICAgICAgIHF1aWNrU29ydChsZWZ0LCBwaXZvdC0xLCBsaSkKICAgICAgICBxdWlja1NvcnQocGl2b3QrMSwgcmlnaHQsIGxpKQogICAgICAgIApkZWYgcXVpY2tTb3J0MihsZWZ0LCByaWdodCwgbGkpOgogICAgcGl2b3QgPSBsZWZ0CiAgICBqID0gcGl2b3QKICAgIGkgPSBsZWZ0ICsgMQoKICAgIGlmIGxlZnQgPCByaWdodDogICAgICAgIAogICAgICAgIGZvciBpIGluIHJhbmdlKGxlZnQsIHJpZ2h0KzEpOgogICAgICAgICAgICBpZiBsaVtwaXZvdF0ub3JnSWR4ID4gbGlbaV0ub3JnSWR4OgogICAgICAgICAgICAgICAgaiA9IGogKyAxCiAgICAgICAgICAgICAgICBsaVtqXSwgbGlbaV0gPSBsaVtpXSwgbGlbal0KICAgICAgICBsaVtsZWZ0XSwgbGlbal0gPSBsaVtqXSwgbGlbbGVmdF0KICAgICAgICBwaXZvdCA9IGoKCiAgICAgICAgcXVpY2tTb3J0MihsZWZ0LCBwaXZvdC0xLCBsaSkKICAgICAgICBxdWlja1NvcnQyKHBpdm90KzEsIHJpZ2h0LCBsaSkgICAgICAgIAoKZGVmIG1haW4oKToKICAgIAogICAgZCA9IHt9ICAgCiAgICBuID0gaW50KGlucHV0KCkpCiAgICBsaSA9IGxpc3QobWFwKGludCwgaW5wdXQoKS5zcGxpdCgpKSkKICAgIHRMaXN0ID0gW10KICAgIAogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAJdCA9IHRlc3QoaSwgaW50KGxpW2ldKSwgaSkKICAgIAl0TGlzdC5hcHBlbmQodCkKICAgIAogICAgcXVpY2tTb3J0KDAsIG4tMSwgdExpc3QpCiAgICAKICAgIGZvciBpIGluIHJhbmdlKG4pOgogICAgCXByaW50KHRMaXN0W2ldLmNoZ0lkeCwgZW5kPScgJykKICAgIAkKICAgIAoKICAgIAkKY2xhc3MgdGVzdCgpOgoJZGVmIF9faW5pdF9fKHNlbGYsIG9yZ0lkeCwgZGF0YSwgY2hnSWR4KToKCQlzZWxmLm9yZ0lkeCA9IG9yZ0lkeAoJCXNlbGYuZGF0YSA9IGRhdGEKCQlzZWxmLmNoZ0lkeCA9IGNoZ0lkeAoJCglkZWYgc2V0Q2hnSWR4KHNlbGYsIGNoZ0lkeCk6CgkJc2VsZi5jaGdJZHggPSBjaGdJZHgKCQoJZGVmIHAoc2VsZik6CgkJcHJpbnQoc2VsZi5vcmdJZHgsIHNlbGYuZGF0YSwgc2VsZi5jaGdJZHgpCgptYWluKCk=