#include <iostream>
#include <bits/stdc++.h>
typedef long long int ll;
using namespace std;
int main() {
ll friends, first, second, apuntador=1;
cin>>friends>>first;
int arr[friends+1];
for(int j=0;j<friends+1;j++){
arr[j]=0;
}
for(int i=1;i<=friends;i++){
cin>>second;
if(first!=0){
arr[first]=i;
first=second;
cout<<"pruebafir: "<<"i: "<<i<<"Arr: "<<arr[i]<<" nuevo f: "<<first<<endl;
}
else if(second!=0){
arr[second]=i+1;
cout<<"pruebasec: "<<"i: "<<i<<"Arr: "<<arr[i+1]<<endl;
}
else{
while(arr[apuntador]!=0){
apuntador++;
cout<<"val en apu: "<<arr[apuntador]<<"ap: "<<apuntador<<endl;
}
cout<<"i: "<<i<<endl;
cout<<"apuntador: "<<apuntador<<endl;
if(apuntador!=i){
if(apuntador!=i+1){
arr[apuntador]=i;
apuntador++;
first=second;
cout<<"prueba3: "<<"i: "<<i<<"Arr: "<<arr[apuntador]<<" nuevo f: "<<first<<endl;
}
else{
arr[apuntador]=i+1;
apuntador++;
cout<<"prueba4: "<<"i: "<<i<<"Arr: "<<arr[apuntador]<<endl;
}
}
else{
if(apuntador!=i+1){
arr[apuntador]=i+1;
apuntador++;
cout<<"prueba5: "<<"i: "<<i<<"Arr: "<<arr[apuntador]<<endl;
}
}
}
}
for(int i=1;i<=friends;i++){
cout<<arr[i]<<" ";
}
cout<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdHlwZWRlZiBsb25nIGxvbmcgaW50IGxsOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglsbCBmcmllbmRzLCBmaXJzdCwgc2Vjb25kLCBhcHVudGFkb3I9MTsKCWNpbj4+ZnJpZW5kcz4+Zmlyc3Q7CglpbnQgYXJyW2ZyaWVuZHMrMV07Cglmb3IoaW50IGo9MDtqPGZyaWVuZHMrMTtqKyspewoJCWFycltqXT0wOwoJfQoJZm9yKGludCBpPTE7aTw9ZnJpZW5kcztpKyspewoJCWNpbj4+c2Vjb25kOwoJCWlmKGZpcnN0IT0wKXsKCQkJYXJyW2ZpcnN0XT1pOwoJCQlmaXJzdD1zZWNvbmQ7CgkJCWNvdXQ8PCJwcnVlYmFmaXI6ICI8PCJpOiAiPDxpPDwiQXJyOiAiPDxhcnJbaV08PCIgbnVldm8gZjogIjw8Zmlyc3Q8PGVuZGw7CgkJfQoJCWVsc2UgaWYoc2Vjb25kIT0wKXsKCQkJYXJyW3NlY29uZF09aSsxOwoJCQljb3V0PDwicHJ1ZWJhc2VjOiAiPDwiaTogIjw8aTw8IkFycjogIjw8YXJyW2krMV08PGVuZGw7CgkJfQoJCWVsc2V7CgkJCXdoaWxlKGFyclthcHVudGFkb3JdIT0wKXsKCQkJCWFwdW50YWRvcisrOwoJCQkJY291dDw8InZhbCBlbiBhcHU6ICI8PGFyclthcHVudGFkb3JdPDwiYXA6ICI8PGFwdW50YWRvcjw8ZW5kbDsKCQkJfQoJCQljb3V0PDwiaTogIjw8aTw8ZW5kbDsKCQkJY291dDw8ImFwdW50YWRvcjogIjw8YXB1bnRhZG9yPDxlbmRsOwoJCQlpZihhcHVudGFkb3IhPWkpewoJCQkJaWYoYXB1bnRhZG9yIT1pKzEpewoJCQkJCWFyclthcHVudGFkb3JdPWk7CgkJCQkJYXB1bnRhZG9yKys7CgkJCQkJZmlyc3Q9c2Vjb25kOwoJCQkJCWNvdXQ8PCJwcnVlYmEzOiAiPDwiaTogIjw8aTw8IkFycjogIjw8YXJyW2FwdW50YWRvcl08PCIgbnVldm8gZjogIjw8Zmlyc3Q8PGVuZGw7CgkJCQl9CgkJCQllbHNlewoJCQkJCWFyclthcHVudGFkb3JdPWkrMTsKCQkJCQlhcHVudGFkb3IrKzsKCQkJCQljb3V0PDwicHJ1ZWJhNDogIjw8Imk6ICI8PGk8PCJBcnI6ICI8PGFyclthcHVudGFkb3JdPDxlbmRsOwoJCQkJfQoJCQl9CgkJCWVsc2V7CgkJCQlpZihhcHVudGFkb3IhPWkrMSl7CgkJCQkJYXJyW2FwdW50YWRvcl09aSsxOwoJCQkJCWFwdW50YWRvcisrOwoJCQkJCWNvdXQ8PCJwcnVlYmE1OiAiPDwiaTogIjw8aTw8IkFycjogIjw8YXJyW2FwdW50YWRvcl08PGVuZGw7CgkJCQl9CgkJCX0KCQl9Cgl9Cglmb3IoaW50IGk9MTtpPD1mcmllbmRzO2krKyl7CgkJY291dDw8YXJyW2ldPDwiICI7Cgl9Cgljb3V0PDxlbmRsOwoJcmV0dXJuIDA7Cn0=