#include<bits/stdc++.h>
using namespace std;
int n,fruit[200005],sum;
struct same_fruit{
int sf_sum,num,l,r;
}a[200005];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
scanf("%d",&fruit[i]);
if(fruit[i]!=fruit[i-1] || i==1){
a[sum].r=a[sum-1].r+a[sum].sf_sum;
a[++sum].l=i;
a[sum].num=fruit[i];
}
a[sum].sf_sum++;
}
a[sum].r=a[sum-1].r+a[sum].sf_sum;
while(n!=0){
int last=0;
for(int i=1;i<=sum;i++){
if(a[i].num!=last && a[i].sf_sum!=0 || last==0 && a[i].sf_sum!=0){
cout<<a[i].r-a[i].sf_sum+1<<" ";
last=a[i].num;
a[i].sf_sum--;
n--;
}
}
cout<<endl;
}
return 0;
}