#include <iostream>
#include <queue>
using namespace std;
struct k{
int L,R,num;
};
queue<k>a;
k lk;
int main(){
int n,flag=2,b,sum=0,k=0;
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&b);
if(flag!=b){
a.push({i,i,b});
flag=b;
}
else{
++a.back().R;
}
}
flag=2;
while(a.size()){
int o=a.size();
for(int i=1;i<=o;i++){
if(a.front().L<=a.front().R){
if(flag!=a.front().num){
flag=a.front().num;
printf("%d ",a.front().L);
++a.front().L;
sum++;
lk=a.front();
a.pop();
a.push(lk);
}
else{
lk=a.front();
a.pop();
a.push(lk);
}
}
else{
a.pop();
}
}
printf("\n");
flag=2;
}
return 0;
}
8,9,T了