public static void main(String[] args) {
        Stack[] stacks = {new Stack(ARRAY), new Stack(LIST), new StackFIFO(), new StackHanoi()};
        int positionOfStackHanoi = findLastInstanceOfStackHanoi(stacks);
        for (int i = 1; i < MAX_LOOPS; ++i) {
            for (int j = 0; j < stacks.length - 1; ++j) {
                stacks[j].push(i);
            }
        }
        java.util.Random rn = new java.util.Random();
        if (positionOfStackHanoi != -1) {
            for (int i = 1; i < MAX_LOOPS; ++i) {
                stacks[positionOfStackHanoi].push(rn.nextInt(MAX_RANDOM_VALUE));
            }
        }
        for (Stack stack : stacks) {
            while (!stack.isEmpty()) {
                System.out.print(stack.pop() + BLANK_SPACE);
            }
            System.out.println();
        }
        if (positionOfStackHanoi != -1) {
            System.out.println("Total rejected is: " + ((StackHanoi) stacks[positionOfStackHanoi]).reportRejected());
        }
    }