#include <bits/stdc++.h>   using namespace std;   struct data {     int x, y;   } v[300005];   inline bool cmp(data d1, data d2) {     if (d1.x != d2.x) return d1.x < d2.x;     return d1.y < d2.y;   }   inline bool cmp2(data d1, data d2) { return d1.y < d2.y; }   int n;   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; i++) {       scanf( %d , &v[i].x);       v[i].y = i;     }     sort(v + 1, v + n + 1, cmp);     int minv = 0;     for (int i = 1; i <= n; i++) {       if (minv < v[i].x) {         minv = v[i].x + 1;       } else {         v[i].x = minv;         minv++;       }     }     sort(v + 1, v + n + 1, cmp2);     for (int i = 1; i <= n; i++) printf( %d  , v[i].x);     return 0;   }   