def main():
    # Defaults for testing
    # init = [1, 2, 3, 4, 5, 6, 0, 7, 8];
    # final = [1, 2, 3, 4, 5, 6, 7, 8, 0];
    SIZE = 3;

    # Get inital and goal states
    init = createPuzzle("start");
    final = createPuzzle("goal");
    startState = State(init, final, 0, SIZE);
    startState.refresh(0);

    # Print the initial States
    startState.printStates();

    # Solve the puzzle
    if not startState.solved():
        solve(startState);