#include <bits/stdc++.h>
using namespace std;
struct in {
  int neww, prev, pos;
};
in info[300005];
bool cmp1(in x, in y) { return x.prev < y.prev; }
bool cmp2(in x, in y) { return x.pos < y.pos; }
bool bsrch(int low, int h, int x);
int main() {
  int n, i, j, x;
  while ((scanf("%d", &n)) != EOF) {
    for (i = 0; i < n; i++) {
      scanf("%d", &info[i].prev);
      info[i].pos = i;
    }
    sort(info, info + n, cmp1);
    info[0].neww = info[0].prev;
    for (i = 1; i < n; i++) {
      if (info[i].prev <= info[i - 1].neww)
        info[i].neww = info[i - 1].neww + 1;
      else
        info[i].neww = info[i].prev;
    }
    sort(info, info + n, cmp2);
    printf("%d", info[0].neww);
    for (i = 1; i < n; i++) printf(" %d", info[i].neww);
    printf("\n");
  }
  return 0;
}
