#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y;
};
int compare(struct node p1, struct node p2) { return p1.y < p2.y; }
int main() {
  int n, i;
  cin >> n;
  long long a[n + 5], an[n + 5], ans[n + 5];
  node p[n + 5];
  for (i = 0; i < n; i++) {
    cin >> a[i];
    p[i].x = i;
    p[i].y = a[i];
  }
  sort(p, p + n, compare);
  ans[0] = p[0].y;
  for (i = 1; i < n; i++) {
    if (p[i].y > ans[i - 1]) {
      ans[i] = p[i].y;
    } else
      ans[i] = ans[i - 1] + 1;
  }
  for (i = 0; i < n; i++) {
    an[p[i].x] = ans[i];
  }
  for (i = 0; i < n; i++) cout << an[i] << " ";
  return 0;
}
