#include <bits/stdc++.h>
using namespace std;
struct node {
  long long num;
  long long answer;
  long long id;
};
int sf1(node a, node b) { return (a.num < b.num); }
int sf2(node a, node b) { return (a.id < b.id); }
int main() {
  long long N;
  cin >> N;
  node *a = (node *)malloc(sizeof(node) * N);
  long long i;
  for (i = 0; i < N; i++) {
    cin >> a[i].num;
    a[i].id = i;
  }
  sort(a, a + N, sf1);
  long long curr = a[0].num;
  for (i = 0; i < N; i++) {
    if (a[i].num <= curr) {
      a[i].answer = curr;
      curr++;
    } else {
      a[i].answer = a[i].num;
      curr = a[i].num;
      curr++;
    }
  }
  sort(a, a + N, sf2);
  for (i = 0; i < N; i++) {
    cout << a[i].answer << " ";
  }
}
