#include<bits/stdc++.h>
using namespace std;
const long long MaxN = 1e5 +5;
long long n, a[MaxN];
struct DSU
{
long long lab[MaxN];
void init()
{
for (long long i=1; i<=n+1; i++)
{
lab[i]=i;
}
}
long long get_root(long long u)
{
if (lab[u]==u) return u;
return lab[u]=get_root(lab[u]);
}
};
DSU dsu;
void input()
{
cin >> n;
for (long long i=1; i<=n ;i++)
{
cin >> a[i];
}
}
void solve()
{
dsu.init();
for (long long i=1; i<=n ;i++)
{
long long u=dsu.get_root(a[i]);
if (u==n+1)
{
u=dsu.get_root(1);
}
cout << u << " ";
dsu.lab[u]=dsu.get_root(u%n+1);
}
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGxvbmcgbG9uZyBNYXhOID0gMWU1ICs1OwoKbG9uZyBsb25nIG4sIGFbTWF4Tl07CgpzdHJ1Y3QgRFNVCnsKICAgIGxvbmcgbG9uZyBsYWJbTWF4Tl07CgogICAgdm9pZCBpbml0KCkKICAgIHsKICAgICAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW4rMTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgbGFiW2ldPWk7CiAgICAgICAgfQogICAgfQoKICAgIGxvbmcgbG9uZyBnZXRfcm9vdChsb25nIGxvbmcgdSkKICAgIHsKICAgICAgICBpZiAobGFiW3VdPT11KSByZXR1cm4gdTsKICAgICAgICByZXR1cm4gbGFiW3VdPWdldF9yb290KGxhYlt1XSk7CiAgICB9Cn07CgpEU1UgZHN1OwoKdm9pZCBpbnB1dCgpCnsKICAgIGNpbiA+PiBuOwoKICAgIGZvciAobG9uZyBsb25nIGk9MTsgaTw9biA7aSsrKQogICAgewogICAgICAgIGNpbiA+PiBhW2ldOwogICAgfQp9Cgp2b2lkIHNvbHZlKCkKewogICAgZHN1LmluaXQoKTsKCiAgICBmb3IgKGxvbmcgbG9uZyBpPTE7IGk8PW4gO2krKykKICAgIHsKICAgICAgICBsb25nIGxvbmcgdT1kc3UuZ2V0X3Jvb3QoYVtpXSk7CgogICAgICAgIGlmICh1PT1uKzEpCiAgICAgICAgewogICAgICAgICAgICB1PWRzdS5nZXRfcm9vdCgxKTsKICAgICAgICB9CgogICAgICAgIGNvdXQgPDwgdSA8PCAiICI7CgogICAgICAgIGRzdS5sYWJbdV09ZHN1LmdldF9yb290KHUlbisxKTsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKCiAgICBpbnB1dCgpOwogICAgc29sdmUoKTsKfQo=