public static void sort(Comparable[] a, Comparable[] aux, int lo, int hi) {
       if (hi <= lo) return;
       int mid = lo + (hi - lo)/2;
       sort(a, aux, lo, mid);
       sort(a, aux, mid+1, hi);
       merge(a, aux, lo, mid, hi);
       for (Comparable a1 : a) {
           System.out.print(a1);
           System.out.print(' ');
       }
       System.out.println();
   }