#include <stdio.h>
#include <stdlib.h>

void swap(int *a, int *b){
  int v;
  v=*a;
  *a=*b;
  *b=v;
}

int main(){
  int n,*A,i,j=0,k;
  
  scanf("%d",&n);
  A=(int *)malloc(n*sizeof(int));
  
  for(i=0;i<n;i++)
    scanf("%d",&A[i]);

  for(i=0;i<n-1;i++)
    if(A[i]<=A[n-1])
      swap(&A[i], &A[j++]);
  swap(&A[j], &A[n-1]);

  for(i=0;i<n-1;i++){
    if(i!=j) printf("%d ",A[i]);
    else printf("[%d] ",A[i]);
  }
  printf("%d\n",A[i]);
  
  return 0;
}

