#include <stdio.h>

#define MAX 100000

int A[MAX],n;

int part(int p,int r){
    int x,i,j,t;
    x = A[r];
    i = p-1;
    for( j=p ; j<r ; j++ ){
        if( A[j] <= x ){
            i++;
            t = A[i];
            A[i] = A[j];
            A[j] = t;
        }
    }
    t = A[i+1];
    A[i+1]= A[r];
    A[r] = t;
    return i+1;
}

int main(){

    int i,q;

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

    q = part(0,n-1);

    for( i=0 ; i<n ; i++ ){
        if(i) printf(" ");
        if( i==q ) printf("[");
        printf("%d",A[i]);
        if( i==q ) printf("]");

    }

    printf("\n");

    return 0;
}
