#include <bits/stdc++.h>
using namespace std;
struct ra {
  int x, id;
  bool operator<(const ra &b) const { return x < b.x || x == b.x && id < b.id; }
};
ra p[300005];
int ans[300005], n, mi;
int main() {
  while (scanf("%d", &n) != EOF) {
    for (int i = 0; i < n; i++) {
      scanf("%d", &p[i].x);
      p[i].id = i;
    }
    sort(p, p + n);
    mi = p[0].x;
    for (int i = 0; i < n; i++) {
      if (p[i].x < mi) {
        ans[p[i].id] = mi;
        mi++;
      } else {
        ans[p[i].id] = p[i].x;
        mi = p[i].x + 1;
      }
    }
    for (int i = 0; i < n - 1; i++) {
      printf("%d ", ans[i]);
    }
    printf("%d\n", ans[n - 1]);
  }
  return 0;
}
