#include<stdio.h>

int pt(int *,int ,int);

int main(){
  int a[100000],i,x,j;
  scanf("%d",&x);
  for(i=0;i<x;i++)
    scanf("%d",&a[i]);
  j=pt(a,1,x-1);
  for(i=0;i<x;i++){
    if(i==x-1)
      printf("%d\n",a[i]);
    else{
      if(i==j)
	printf("[%d] ",a[i]);
      else
	printf("%d ",a[i]);
    }
  }
  return 0;
}
int pt(int *a,int p,int r){
  int x,y,i,c;
  x=a[r];
  y=p-1;
  for(i=p;i<r;i++){
    if(a[i]<=x){
      y++;
      c=a[i];
      a[i]=a[y];
      a[y]=c;
    }
  }
  c=a[y+1];
  a[y+1]=a[r];
  a[r]=c;
  return ++y;
}
  

