#include<bits/stdc++.h>
#include<vector>
using namespace std;
vector<vector<int> > Solve (vector<int> arr) {
// Write your code here
vector<vector<int>> result;
vector<int> temp, temp1;
//vector<int> temp1;
//queue<int> q;
int max=0;
int v_count=0, temp_count;
max = *max_element(arr.begin(), arr.end());
for(int i=0; i<arr.size(); i++){
if(arr[i] == max){
temp.push_back(arr[i]);
sort(temp.begin(), temp.end());
v_count++;
vector<int> back_temp = temp;
temp_count = v_count;
int j=0;
while(v_count){
j = temp.size();
//cout << "max = " << temp[j-1] << " j value is = " << j << endl;
if(max == temp[j-1]){
temp1.push_back(temp[j-1]);
temp.pop_back();
v_count--;
max--;
}
else {
temp1.clear();
temp = back_temp;
v_count = temp_count;
break;
}
}
}
else{
temp.push_back(arr[i]);
sort(temp.begin(), temp.end());
v_count++;
}
result.push_back(temp1);
temp1.clear();
}
return result;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
vector<int> arr(N);
for (int i_arr = 0; i_arr < N; i_arr++) {
cin >> arr[i_arr];
}
vector<vector<int> > out_ = Solve(arr);
for (int i_out_ = 0; i_out_ < out_.size(); i_out_++) {
for (int j_out_ = 0; j_out_ < out_[i_out_].size(); j_out_++) {
cout << out_[i_out_][j_out_] << " ";
}
cout << "\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2luY2x1ZGU8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdmVjdG9yPHZlY3RvcjxpbnQ+ID4gU29sdmUgKHZlY3RvcjxpbnQ+IGFycikgewogICAvLyBXcml0ZSB5b3VyIGNvZGUgaGVyZQogICB2ZWN0b3I8dmVjdG9yPGludD4+IHJlc3VsdDsKICAgCiAgIHZlY3RvcjxpbnQ+IHRlbXAsIHRlbXAxOwogICAvL3ZlY3RvcjxpbnQ+IHRlbXAxOwogICAvL3F1ZXVlPGludD4gcTsKICAgaW50IG1heD0wOwogICBpbnQgdl9jb3VudD0wLCB0ZW1wX2NvdW50OwogICBtYXggPSAqbWF4X2VsZW1lbnQoYXJyLmJlZ2luKCksIGFyci5lbmQoKSk7CiAgIAogICBmb3IoaW50IGk9MDsgaTxhcnIuc2l6ZSgpOyBpKyspewogICAJaWYoYXJyW2ldID09IG1heCl7CiAgIAkJdGVtcC5wdXNoX2JhY2soYXJyW2ldKTsKICAgCQlzb3J0KHRlbXAuYmVnaW4oKSwgdGVtcC5lbmQoKSk7CiAgIAkJdl9jb3VudCsrOwogICAJCXZlY3RvcjxpbnQ+IGJhY2tfdGVtcCA9IHRlbXA7CiAgIAkJdGVtcF9jb3VudCA9IHZfY291bnQ7CiAgIAkJaW50IGo9MDsKICAgCQl3aGlsZSh2X2NvdW50KXsKICAgCQkJaiA9IHRlbXAuc2l6ZSgpOwogICAJCQkvL2NvdXQgPDwgIm1heCA9ICIgPDwgdGVtcFtqLTFdIDw8ICIgaiAgdmFsdWUgaXMgPSAiIDw8IGogPDwgZW5kbDsKICAgCQkJaWYobWF4ID09IHRlbXBbai0xXSl7CiAgIAkJCQl0ZW1wMS5wdXNoX2JhY2sodGVtcFtqLTFdKTsKICAgCQkJCXRlbXAucG9wX2JhY2soKTsKICAgCQkJICAgIHZfY291bnQtLTsKCQkJCW1heC0tOwoJCQl9CgkJCWVsc2UgewoJCQkJdGVtcDEuY2xlYXIoKTsKCQkJCXRlbXAgPSBiYWNrX3RlbXA7CgkJCQl2X2NvdW50ID0gdGVtcF9jb3VudDsKCQkJCWJyZWFrOwoJCQl9CiAgIAkJfQogICB9CiAgIGVsc2V7CiAgIAl0ZW1wLnB1c2hfYmFjayhhcnJbaV0pOwogICAJc29ydCh0ZW1wLmJlZ2luKCksIHRlbXAuZW5kKCkpOwogICAJdl9jb3VudCsrOwogICB9CiAgIAogICByZXN1bHQucHVzaF9iYWNrKHRlbXAxKTsKICAgdGVtcDEuY2xlYXIoKTsKICB9CiAgIHJldHVybiByZXN1bHQ7Cn0KCmludCBtYWluKCkgewoKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGludCBOOwogICAgY2luID4+IE47CiAgICB2ZWN0b3I8aW50PiBhcnIoTik7CiAgICBmb3IgKGludCBpX2FyciA9IDA7IGlfYXJyIDwgTjsgaV9hcnIrKykgewogICAgICAgIGNpbiA+PiBhcnJbaV9hcnJdOwogICAgfQoKICAgIHZlY3Rvcjx2ZWN0b3I8aW50PiA+IG91dF8gPSBTb2x2ZShhcnIpOwogICAgZm9yIChpbnQgaV9vdXRfID0gMDsgaV9vdXRfIDwgb3V0Xy5zaXplKCk7IGlfb3V0XysrKSB7CiAgICAgICAgZm9yIChpbnQgal9vdXRfID0gMDsgal9vdXRfIDwgb3V0X1tpX291dF9dLnNpemUoKTsgal9vdXRfKyspIHsKICAgICAgICAgICAgY291dCA8PCBvdXRfW2lfb3V0X11bal9vdXRfXSA8PCAiICI7CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgIlxuIjsKICAgIH0KfQ==