#include <stdio.h>

#define MAX 100000

int A[MAX];

int main(){

  int i, j, k, n, x, p, r, tmp;

  scanf("%d", &n);

  for(i = 0; i < n; i++){

    scanf("%d", &A[i]);

  }

  p = 0;

  r = n - 1;

  x = A[r];

  i = p - 1;
  
  for(j = p; j <= r - 1; j++){

    if(A[j] <= x){

      i++;

      tmp = A[i];

      A[i] = A[j];

      A[j] = tmp;

    }

  }

  tmp = A[i + 1];

  A[i + 1] = A[r];

  A[r] = tmp;

  for(k = 0; k < (i + 1); k++){

    printf("%d ", A[k]);

  }

  printf("[%d] ", A[i + 1]);

  for(k = (i + 2); k < (n - 1); k++){

    printf("%d ", A[k]);

  }

  printf("%d\n", A[k]);

  return 0;

}