void printPartitionArray( int *a, int arrayLength, int shaft) {
 
  int i;
 
  for( i=0; i<arrayLength-1; i++) {
    if( i == shaft) {
      printf("[%d] ", a[i]);
    }else {
      printf("%d ", a[i]);
    }
  }
  if( i == shaft) {
      printf("[%d]\n", a[i]);
  }else {
    printf("%d\n", a[i]);
  }
 
}