#include<stdio.h>

#define max 100000

int X[max], n;

int P(int p, int r){
  int a, i, j, tmp;
  a=X[r];
  i=p-1;
  for(j=p ; j<r ; j++){
    if(X[j]<=a){
      i++;
      tmp=X[i];
      X[i]=X[j];
      X[j]=tmp;
    }
  }
  tmp=X[i+1];
  X[i+1]=X[r];
  X[r]=tmp;
  return i+1;
}

int main(){
  int i, q;
  scanf("%d", &n);
  for(i=0 ; i<n ; i++)scanf("%d", &X[i]);
  q=P(0, n-1);
  printf("%d", X[0]);
  for(i=1 ; i<n ; i++){
  printf(" ");
  if(i==q)printf("[");
  printf("%d", X[i]);
  if(i==q)printf("]");
  }
  printf("\n");
  return 0;
}

