#include <bits/stdc++.h>
using namespace std;
typedef struct {
  int num;
  int index;
} p;
p arr[300001];
int ans[300001];
inline void fastread(int* a) {
  register char c = 0;
  while (c < 33) c = getchar();
  *a = 0;
  while (c > 33) {
    *a = *a * 10 + c - '0';
    c = getchar();
  }
}
int cmp(p a, p b) { return a.num < b.num; }
int main() {
  int n, i, add;
  fastread(&n);
  for (i = 0; i < n; i++) {
    fastread(&arr[i].num);
    arr[i].index = i;
  }
  sort(arr, arr + n, cmp);
  add = 1;
  for (i = 0; i < n; i++) {
    if (add >= arr[i].num)
      ans[arr[i].index] = add++;
    else
      add = arr[i].num + 1, ans[arr[i].index] = arr[i].num;
  }
  for (i = 0; i < n; i++) printf("%d ", ans[i]);
  return 0;
}
