#include <bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
const int N = 303500;
string ans;
int a[N];
struct node {
  int id;
  int val;
  bool operator<(node t) const { return val < t.val; }
} p[N];
bool cmp(node a, node b) { return a.id < b.id; }
int main() {
  ios::sync_with_stdio(false);
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> p[i].val;
    p[i].id = i;
  }
  sort(p + 1, p + 1 + n);
  int last = -1;
  for (int i = 1; i <= n; i++) {
    if (p[i].val <= last) {
      p[i].val = last + 1;
    }
    last = p[i].val;
  }
  sort(p + 1, p + 1 + n, cmp);
  for (int i = 1; i <= n; i++)
    if (i == 1)
      cout << p[i].val;
    else
      cout << " " << p[i].val;
  return 0;
}
