//By Vlgd
#include<bits/stdc++.h>
using namespace std;
int A[100001];
int part(int p,int r){
	int x=A[r];
	int i=p-1;
	for(int j=p;j<r;j++)
		if (A[j]<=x) swap(A[++i],A[j]);
	swap(A[i+1],A[r]);
	return i+1;
}
int main(){
	int n;
	scanf("%d",&n);
	for (int i=0;i<n;i++) scanf("%d",&A[i]);
	int p=part(0,n-1);
	for (int i=0;i<n;i++){
		if (i) printf(" ");
		if (i==p) printf("[");
		printf("%d",A[i]);
		if (i==p) printf("]");	
	}
	printf("\n");
}
