rt
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n;
int a[N];
int l[N], r[N];
bool flag[N];
void del(int x) {
r[l[x]] = r[x];
l[r[x]] = l[x];
}
int main() {
cin >> n;
int cnt = 0;
a[0] = -1;
a[n + 1] = -1;
int lst = 0;
for(int i = 1; i <= n; i++) {
cin >> a[i];
if(a[i] != a[i - 1]) {
r[lst] = i;
l[i] = lst;
lst = i;
cnt++;
}
}
r[lst] = n + 1;
l[n + 1] = lst;
while(a[r[0]] != -1) {
for(int i = r[0]; i <= n; i = r[i]) {
if(a[i] != a[l[i]]) {
flag[i] = true;
cout << i << " ";
}
}
cout << "\n";
for(int i = r[0]; i <= n;) {
if(a[i + 1] != a[i]) {
if(flag[i]) {
del(i);
i = r[i];
}
else {
i = r[i];
}
}
else {
r[l[i]] = i + 1;
l[r[i]] = i + 1;
r[i + 1] = r[i];
l[i + 1] = l[i];
i = r[i];
}
}
}
return 0;
}