//#include <stdio.h>
//int main()
//{
// int n, i, arr[200005] = {}, cnt = 0, m = 1e9;
// scanf("%d", &n);
// for(i = 1; i <= n; i++)
// {
// scanf("%d", &arr[i]);
// }
// arr[0] = -1e9;
// int sort = 1, flag = 1;
// for(i = 1; i <= n; i++)
// {
// if (arr[i] < arr[i - 1])
// {
// sort = 0;
// cnt++;
// }
// if(cnt && arr[i] > arr[1])
// {
// flag = 0;
// }
// }
// if (sort)
// {
// printf("1");
// }
// else if(cnt == 1 && flag)
// {
// printf("2");
// }
// else
// {
// printf("3");
// }
//}
//#include<stdio.h>
//#define max(x, y) (x) > (y) ? (x) : (y)
//#define min(x, y) (x) > (y) ? (y) : (x)
//#define ans(x) (x) > (0) ? (x) : -(x)
//int arr[510];
//int main()
//{
// int n,i,j,t;
// scanf("%d",&n);
// for(i=1; i<=n; i++)
// {
// scanf("%d", &arr[i]);
// }
// int r = n-2,card = 0,k = 0,d = 0,cnt = 0,c;
// for(i=1; i<=n; i++)
// {
// for(j=i+1; j<=n; j++)
// {
// card = ans(arr[j] - arr[i]);
// k = j-i;
// if(card%k)
// {
// continue;
// }
// d = (arr[j]-arr[i])/k;
// cnt = 0;
// for(t=1; t<=n; t++)
// {
// c = arr[i]+d*(t-i);
// if(c==arr[t])
// {
// cnt++;
// }
// }
// r = min(r,n-cnt);
// }
// }
// printf("%d",r);
// return 0;
//}
#include<stdio.h>
int main()
{
int n, data[1001] = {}, i,stack[1001] = {}, t = 0, r;
char p[2002] = {};
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&data[i]);
}
for(i=1;i<=n;i++)
{
r = t;
while(data[r] == i)
{
stack[t] = data[r];
t++;
}
}
}