#include <stdio.h>
int x,te;
par(int A[],int p,int r){
    x=A[r];
    i=p-1;
    for(j=p;j<r;j++){
        if(A[j]<=x){
            i=i+1;
            }
            te=A[i];
            A[i]=A[j];
            A[j]=te;
            te=A[i+1];
            A[i+1]=A[r];
            A[r]=te;
            
    }
    return i+1;
}
int main(){
    int i,n,k;
    
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&A[i]);
    }
    k=par(A,0,n-1);
    for(i=0;i<k;i++){
        printf("%d ",A[i]);
    }
    printf("[%d]",A[k]);
    for(i=k+1;i<n-1;i++){
        printf("%d ",A[i]);
    }
    printf("%d",A[n-1]);
    return 0;
}
