int partition(int *A, int p, int r){
int x,j,tmp1,tmp2;
 x = A[r]; 
 i = p-1;
 for( j = p; j <= r-1 ; j++){
   if (A[j] <= x){
     i = i+1;
     tmp1 = A[i];
     A[i] = A[j];
     A[j] = tmp1;
     tmp2 = A[i+1];
     A[i+1] = A[r];
     A[r] = tmp2;
     return i+1;

   }
 }

 int main(){
   int n,*A;
   scanf("%d",&n);

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

   printf("\n");

   for (i = 0; i < n ; i++){
     printf("%d",partition(A,i,n));
   } 
   return 0;
 }