/**************************************************************** 
 * Description: 2021 CSP-J 复赛第四题，小熊的果篮
 两个队列，合并队列
 * Author: Alex Li
 * Date: 2023-10-16 14:55:45
 * LaLRitTime: 2023-10-17 05:44:49
****************************************************************/
#include <algorithm>
#include <iostream>
#include <cstring>
#include <queue>

using namespace std;

struct block { // 定义块结构体
    int L, R, th; // L: 块的左边界, R: 块的右边界, th: 块的水果种类
} f, x, ad;

int n, cnt, t[200001];
queue<block> q, q2; // 定义两个队列，一个用于处理块，一个用于合并块
bool used[200001]; // 记录每个位置的水果是否已被取出

int main() {
    cin >> n;
    
    // 读取每个水果的种类
    for (int i = 1; i <= n; i++) {
        cin >> t[i];
    }
    
    t[n + 1] = !t[n]; // 设置一个哨兵，用于标记最后一个块的结束
    
    // 合并相同水果的块
    for (int i = 2, si = 1; i <= n + 1; i++) {
        if (t[i] != t[i - 1]) {
            q.push((block){si, i - 1, t[i - 1]}); // 将块推入队列
            si = i; // 更新下一个块的起始位置
        }
    }
    
    cnt = n; // 初始化剩余水果数量
    
    while (cnt) {
        while (q.size()) {
            f = q.front(); // 取出队列中的第一个块
            q.pop();
            
            // 移动块的左边界，跳过已取出的水果
            while (used[f.L] && f.L <= f.R) {
                f.L++;
            }
            
            if (f.L > f.R) continue; // 如果块已经空了，跳过
            
            cout << f.L << ' '; // 输出当前块的第一个水果编号
            cnt--; // 减少剩余水果数量
            used[f.L] = 1; // 标记当前水果已取出
            
            if (f.R == f.L) continue; // 如果这个块只有一个水果，继续
            
            f.L++; // 移动块的左边界
            q2.push(f); // 将块存入临时队列 q2
        }
        
        cout << endl;
        
        // 合并相邻相同种类的块
        while (q2.size()) {
            ad = q2.front();
            q2.pop();
            
            while (q2.size()) {
                x = q2.front();
                if (x.th == ad.th) { // 如果相邻块的种类相同，合并块
                    ad.R = x.R;
                    q2.pop();
                } else {
                    break;
                }
            }
            
            q.push(ad); // 将合并后的块推入主队列
        }
    }
}
