#include<stdio.h>
void swap(int*,int*);
int main(){
  int x,n,A[100000],j,i,r;
  scanf("%d",&n);
  for(i=0;i<n;i++){
    scanf("%d",&A[i]);
  }
  r=n-1;
  i=0;
  x=A[r];
  for(j=0;j<r;j++){
    if(A[j]<=x){
      swap(&A[i++],&A[j]);
    }
  }
  swap(&A[i],&A[r]);
  for(j=0;j<=r;j++){
    if(j>0)printf(" ");
    if(j==i)printf("[%d]",A[j]);
    else printf("%d",A[j]);
  }
  printf("\n");
    return 0;
  }
void swap(int *a,int *b){
  int temp = *a;
  *a=*b;
  *b=temp;
}
