#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define PB push_back
#define FI first
#define SE second
#define MP make_pair
#define ALL(cont) cont.begin(), cont.end()
#define MOD 1000000007ll
#define SIZE 500100
ll arr[SIZE];
ll par[SIZE];
bool indegree[SIZE];
ll ans[SIZE];
ll idx;
void dfs(ll nd)
{
ans[nd] = idx++;
if(arr[par[nd]]!=-1)
dfs(par[nd]);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
for(int i=0;i<SIZE;i++)
{
par[i] = -1;
indegree[i] = false;
}
ll N;
cin>>N;
for(ll i=1;i<=N;i++)
{
cin>>arr[i];
par[i] = arr[i];
indegree[arr[i]] = true;
}
idx = 1;
for(int i=1;i<=N;i++)
{
if(indegree[i]==false)
{
// cout<<"call on: "<<i<<endl;
dfs(i);
}
}
for(ll i=N;i>0;i--)
{
if(arr[i]==-1)
ans[i] = idx++;
}
for(ll i=1;i<=N;i++)
cout<<ans[i]<<" ";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBQQiBwdXNoX2JhY2sKI2RlZmluZSBGSSBmaXJzdAojZGVmaW5lIFNFIHNlY29uZAojZGVmaW5lIE1QIG1ha2VfcGFpcgojZGVmaW5lIEFMTChjb250KSBjb250LmJlZ2luKCksIGNvbnQuZW5kKCkKI2RlZmluZSBNT0QgMTAwMDAwMDAwN2xsCiNkZWZpbmUgU0laRSA1MDAxMDAKCmxsIGFycltTSVpFXTsKbGwgcGFyW1NJWkVdOwpib29sIGluZGVncmVlW1NJWkVdOwpsbCBhbnNbU0laRV07CmxsIGlkeDsKCnZvaWQgZGZzKGxsIG5kKQp7CiAgICBhbnNbbmRdID0gaWR4Kys7CiAgICBpZihhcnJbcGFyW25kXV0hPS0xKQogICAgICAgIGRmcyhwYXJbbmRdKTsKfQoKCmludCBtYWluKCkKewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApO2NvdXQudGllKDApOwojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKICAgIAoKICAgIGZvcihpbnQgaT0wO2k8U0laRTtpKyspCiAgICB7CiAgICAgICAgcGFyW2ldID0gLTE7CiAgICAgICAgaW5kZWdyZWVbaV0gPSBmYWxzZTsKICAgIH0KCgogICAgbGwgTjsKICAgIGNpbj4+TjsKICAgIGZvcihsbCBpPTE7aTw9TjtpKyspCiAgICB7CiAgICAgICAgY2luPj5hcnJbaV07CiAgICAgICAgcGFyW2ldID0gYXJyW2ldOwogICAgICAgIGluZGVncmVlW2FycltpXV0gPSB0cnVlOwogICAgfQoKICAgIGlkeCA9IDE7CgogICAgZm9yKGludCBpPTE7aTw9TjtpKyspCiAgICB7CiAgICAgICAgaWYoaW5kZWdyZWVbaV09PWZhbHNlKQogICAgICAgIHsKICAgICAgICAgICAgLy8gY291dDw8ImNhbGwgb246ICI8PGk8PGVuZGw7CiAgICAgICAgICAgIGRmcyhpKTsKICAgICAgICB9CiAgICB9CgogICAgZm9yKGxsIGk9TjtpPjA7aS0tKQogICAgewogICAgICAgIGlmKGFycltpXT09LTEpCiAgICAgICAgICAgIGFuc1tpXSA9IGlkeCsrOwogICAgfQoKICAgIGZvcihsbCBpPTE7aTw9TjtpKyspCiAgICAgICAgY291dDw8YW5zW2ldPDwiICI7CgoKCiAgICByZXR1cm4gMDsKCgp9