//Sample Code Of Methods


import java.util.*;
public class SampleMethod {
    public static void arrayPrintInt(int[] arr) {
        for(int i = 0; i<arr.length; i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
        System.out.println("There are "+arr.length+" total arrays");
    }
    public static int[] ArrayInputInt() {
        Scanner input = new Scanner(System.in);
        int arrinital[] = new int[10000000];
        int in = 0;
        System.out.print("Enter Array: ");
        while(true) {
            arrinital[in] = input.nextInt();
            if (arrinital[in] == 0) {
                break;
            }
            in++;
        } 
        input.close();
        int finalarr[] = new int[in];
        for (int i = 0; i<finalarr.length; i++) {
            finalarr[i] = arrinital[i];
        }
        return finalarr;
    }
    public static void CrackStoneSort_Int(int[] arr) { //CrackStone Sort Algorithm By Regie Buo
    int sort[] = new int[arr.length];
      boolean[] used = new boolean[arr.length];
      for (int i = 0; i<arr.length; i++) {
          int SI = 0;
          for (int j = 1; j<arr.length;  j++) {
             if (((arr[SI] > arr[j]) && (!used[j]) && (arr[SI] != arr[j])) || ((used[SI])) ) {
              SI = j;
            }
          }
          sort[i] = arr[SI];
          used[SI] = true;
      }
      for (int i = 0; i<sort.length; i++) {
        arr[i] = sort[i];
      }
    }
    public static void main(String[] Args) {
        int a[] = ArrayInputInt();
        CrackStoneSort_Int(a);
        arrayPrintInt(a);
    }
}
