#include<stdio.h>
#include<stdlib.h>
int main()
{
 int i;
 int n;
 int j=0;
 int t=0;
 int x=0;
 int B[100000]={0};
 int A[100000]={0};
 //配列Aの中身の個数ｎを入力
   scanf("%d",&n);
   if( n>1000000 || n<1 )
   {
     exit(1);
   }
//配列Aの中身を入力
 for(i=0;i<n;i++)
   {
     scanf("%d",&A[i]);
     if(A[i]<0 || A[i]>10000)
     {
       exit(1);
     }
   }
x=A[n-1];
/*A[r]でA[p]~A[q-1]に入るか、A[q+1]~A[r]に入るかに分け、配列B出力例の
ような形になるように分ける。*/
for(i=0;i<n;i++)
{
if(A[i]<A[n-1])//A[r]より小さい数字の格納
{
  B[j]=A[i];
  j++;
}
else//A[r]より大きい数字の格納
{
  t++;
  B[100000-t]=A[i];
}
}
for(i=0;i<100000;i++)
{
  if(B[i]==x)
  {
    printf("[%d] ",x);
    }
  else if(B[i]!=0)
  {
printf("%d ",B[i]);
}
}
 return 0;
}

