#include <bits/stdc++.h>
#define ll int
#define el "\n"
#define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define __ROOT__ int main()
#define fi first
#define se second
#define M 1000000007
#define MAXN 1000001
#define GIOIHAN 1000001
#define BLOCK_SIZE 425
#define MAX_NODE 1001001
#define ALPHA_SIZE 26
#define compare(v) sort((v).begin(), (v).end()); (v).erase(unique((v).begin(), (v).end()), (v).end()); // dùng để nén sort mảng compare
using namespace std;
ll n, q ;
ll arr[MAXN], sz[MAXN], par[MAXN];
vector<ll>res;
void init() {
cin>>n ;
for(ll i = 1 ; i < MAXN ; i ++ ) sz[i] = 1, par[i] = i ;
}
ll find_set(ll a ) {
if(par[a] == a) return a;
return par[a] = find_set(par[a]);
}
void union_set(ll x, ll y ) {
x = find_set(x) ;
y = find_set(y);
if(x== y ) return ;
else {
// if(sz[x]< sz[y]) swap(x,y) ;
par[y] = x;
// sz[x] += sz[y];
}
}
void solve() {
for(ll i = 1; i <= n ; i ++ ){
ll x; cin>>x;
x = find_set(x) ;
res.push_back(x);
union_set( ((x+1) % n == 0 ? n : (x+1)%n ) ,x);
}
for(ll i = 0 ; i < res.size( ) ; i ++ ) cout<<res[i]<< " " ;
}
__ROOT__ {
fast;
init();
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgaW50CiNkZWZpbmUgZWwgIlxuIgojZGVmaW5lIGZhc3QgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiNkZWZpbmUgX19ST09UX18gaW50IG1haW4oKQojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgTSAxMDAwMDAwMDA3CiNkZWZpbmUgTUFYTiAxMDAwMDAxCiNkZWZpbmUgR0lPSUhBTiAxMDAwMDAxCiNkZWZpbmUgQkxPQ0tfU0laRSA0MjUKI2RlZmluZSBNQVhfTk9ERSAxMDAxMDAxCiNkZWZpbmUgQUxQSEFfU0laRSAyNgojZGVmaW5lIGNvbXBhcmUodikgc29ydCgodikuYmVnaW4oKSwgKHYpLmVuZCgpKTsgKHYpLmVyYXNlKHVuaXF1ZSgodikuYmVnaW4oKSwgKHYpLmVuZCgpKSwgKHYpLmVuZCgpKTsgLy8gZMO5bmcgxJHhu4MgbsOpbiBzb3J0IG3huqNuZyBjb21wYXJlCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxsIG4sIHEgOwpsbCBhcnJbTUFYTl0sICBzeltNQVhOXSwgcGFyW01BWE5dOwp2ZWN0b3I8bGw+cmVzOwp2b2lkIGluaXQoKSB7CiAgICBjaW4+Pm4gOwogICAgZm9yKGxsIGkgPSAxICA7IGkgPCAgTUFYTiA7IGkgKysgKSBzeltpXSA9IDEsIHBhcltpXSA9IGkgOwp9CmxsIGZpbmRfc2V0KGxsIGEgKSB7CiAgICBpZihwYXJbYV0gPT0gYSkgcmV0dXJuIGE7CiAgICByZXR1cm4gcGFyW2FdID0gZmluZF9zZXQocGFyW2FdKTsKfQp2b2lkIHVuaW9uX3NldChsbCB4LCBsbCB5ICkgewogICAgeCA9IGZpbmRfc2V0KHgpIDsKICAgIHkgPSBmaW5kX3NldCh5KTsKICAgIGlmKHg9PSB5ICkgcmV0dXJuIDsKICAgIGVsc2UgewovLyAgICAgICAgaWYoc3pbeF08IHN6W3ldKSBzd2FwKHgseSkgOwogICAgICAgIHBhclt5XSA9IHg7Ci8vICAgICAgICBzelt4XSArPSBzelt5XTsKICAgIH0KfQp2b2lkIHNvbHZlKCkgewpmb3IobGwgaSA9IDE7IGkgIDw9IG4gIDsgaSArKyApewogICAgbGwgeDsgY2luPj54OwogICAgeCA9IGZpbmRfc2V0KHgpIDsKICAgIHJlcy5wdXNoX2JhY2soeCk7CiAgICB1bmlvbl9zZXQoICgoeCsxKSAlICBuID09IDAgPyBuIDogKHgrMSklbiAgKSAseCk7Cn0KZm9yKGxsIGkgPSAwIDsgaSA8IHJlcy5zaXplKCApIDsgaSArKyApIGNvdXQ8PHJlc1tpXTw8ICIgIiA7Cn0KCl9fUk9PVF9fIHsKICAgIGZhc3Q7CiAgICBpbml0KCk7CiAgICBzb2x2ZSgpOwp9Cg==