#include #include #include #include using namespace std; int n,j; vector a; map > range; void repeat(int i) { for (j = i; j < n && j <= range[a[i]].second; j++) { if (a[j] > a[i]) { repeat(j); } else { if (j - 1) cout << " "; cout << a[i]; } } j--; } int main() { cin >> n; n++; a.resize(n); for (int i = 1; i < n; i++) { cin >> a[i]; if (range[a[i]].first) range[a[i]] = make_pair(range[a[i]].first,i); else { range[a[i]] = make_pair(i, i); } } for (j = 1; j < n; j++) { repeat(j); } cout << endl; return 0; }