#include <stdio.h>

int ori[100000];
int n;

int Partition(int );

int main()
{
  int i,j;

  scanf("%d",&n);

  for(i=0;i<n;i++) scanf("%d",&ori[i]);

  j=Partition(0);

  for(i=0;i<n;i++){
    if(i>0) printf(" ");
    if(i==j) printf("[");
    printf("%d",ori[i]);
    if(i==j) printf("]");
  }
  printf("\n");
}

int Partition(int x)
{
  int i,j,k,l;

  k=ori[n-1];
  i=x-1;

  for(j=x;j<n-1;j++){
    if(k>=ori[j]){
      i++;
      l=ori[i];
      ori[i]=ori[j];
      ori[j]=l;
    }
  }

  l=ori[i+1];
  ori[i+1]=ori[n-1];
  ori[n-1]=l;

  return i+1;
}

