#include <bits/stdc++.h>   using namespace std;   long long unsigned int countDivisors(long long unsigned int n) {     long long unsigned int cnt = 0;     for (long long unsigned int i = 1; i <= sqrt(n); i++) {       if (n % i == 0) {         if (n / i == i)           ++cnt;         else           cnt += 2;       }     }     return cnt;   }   int Search(string pat, string txt) {     int n = txt.size();     int m = pat.size();     for (int i = 0; i <= n - m; i++) {       int j;       for (j = 0; j < m; j++) {         if (txt[i + j] != pat[j]) {           break;         }       }       if (j == m) {         return i;       }     }     return -1;   }   int findFirst(const std::vector<long long int> &array, int key, int low,                 int high) {     int ans = -1;     while (low <= high) {       int mid = low + (high - low) / 2;       if (key == array[mid]) {         ans = mid;         high = mid - 1;       } else if (key > array[mid])         low = mid + 1;       else         high = mid - 1;     }     return ans;   }   int findLast(const std::vector<long long int> &array, int key, int low,                int high) {     int ans = -1;     while (low <= high) {       int mid = low + (high - low) / 2;       if (key == array[mid]) {         ans = mid;         low = mid + 1;       } else if (key > array[mid])         low = mid + 1;       else         high = mid - 1;     }     return ans;   }   int d, x, y;   void extendedEuclid(int a, int b) {     if (b == 0) {       d = 1;       x = 1;       y = 0;     } else {       extendedEuclid(b, a % b);       int temp = x;       x = y;       y = temp - (a / b) * y;     }   }   int main() {     std::ios::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     ;     int t;     t = 1;     for (int tc = 0; tc < t; tc++) {       int n;       cin >> n;       vector<int> arr(n), brr(n, 0), v;       for (int i1 = 0; i1 < n; i1++) cin >> arr[i1];       int pos = 0;       for (int i = 0; i < n; i++) {         int indx = n - arr[i];         brr[indx] = 1;         while (brr[pos] == 1 && pos < n) {           cout << (n - pos) <<    ;           pos++;         }         cout << endl;       }     }     return 0;   }   