#include <bits/stdc++.h>
using namespace std;
struct cmp {
  bool operator()(const pair<int, unsigned long long int> &a,
                  const pair<int, unsigned long long int> &b) {
    return (a.second > b.second);
  }
};
int n, i, j;
unsigned long long int r;
priority_queue<pair<int, unsigned long long int>,
               vector<pair<int, unsigned long long int> >, cmp>
    usuarios;
unsigned long long int regalos[300001];
int main() {
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> r;
    usuarios.push(make_pair(i, r));
  }
  pair<int, unsigned long long int> act;
  unsigned long long int ract = 1, rreal = 1;
  ;
  while (!usuarios.empty()) {
    act = usuarios.top();
    usuarios.pop();
    if (act.second == rreal) {
      regalos[act.first] = ract;
      ract++;
    } else {
      if (act.second >= ract) {
        regalos[act.first] = act.second;
        rreal = act.second;
        ract = rreal + 1;
      } else {
        regalos[act.first] = ract;
        rreal = ract;
        ract++;
      }
    }
  }
  cout << regalos[0];
  for (i = 1; i < n; i++) {
    cout << " " << regalos[i];
  }
  cout << endl;
  return 0;
}
