#include<stdio.h>

#include <stdlib.h>
int par(int *,int,int);
int main(){
  int ans,i,n,a[100000];
  scanf("%d",&n);
  for(i=0;i<n;i++){
    scanf("%d",&a[i]);
  }
  ans=par(a,0,n-1);
  for(i=0;i<n;i++){
    if(ans == i)
      printf("[");
    printf("%d",a[i]);
    if(ans == i)
      printf("]");
    
    if(i!=n-1) printf(" ");
    else printf("\n");
  }
  
  return 0;
}
int par(int *a,int s,int l){
  int j,ins,i,key,miniwall;
  key=a[l];
  miniwall=s;
  for(i=s;i<l;i++){
    if(a[i]<=key){
      ins = a[i];
      a[i] = a[miniwall];
      a[miniwall] = ins;
      miniwall++;
    }
    /*    for(j=0;j<l+1;j++){
      if(j==miniwall) printf("|");
      if(j==i) printf("|");
      printf("%d",a[j]);
    
      if(j!=l) printf(" ");
      else printf("\n");
*/

  }
  ins = a[l];
  a[l] = a[miniwall];
  a[miniwall] = ins;
  //  if(miniwall > 2)
  //  par(a,s,miniwall);
  // if(l-miniwall+1 > 2)
  //  par(a,miniwall+1,l);
  return miniwall;
}

