#include <bits/stdc++.h>
using namespace std;
int A[100000];
int partition(int p,int r){
	int x=A[r],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; cin>>n;
	for(int i=0;i<n;i++)
		scanf("%d",&A[i]);
	int q = partition(0,n-1);
	for(int i=0;i<n;i++){		
		if(i==q) printf("[%d]",A[i]);
		else printf("%d",A[i]);
		printf("%c",(i==n-1)?'\n':' '); 
	}
}
