def delete(matrix, x, y):
    matrix[y][x] = 0


def print_icon(matrix):
    pass


def fill(matrix):
    pass


def roll_to_right(matrix):
    pass


def roll_to_top(matrix):
    pass


def push_to_right(matrix):
    pass


def push_to_top(matrix):
    pass


def flip_horizontally(matrix):
    pass


def flip_vertically(matrix):
    pass


def rotate_right(matrix):
    pass


def match(matrix):
    pass


def run():
    def new_matrix():
        return [
            [0, 1, 2, 3],
            [1, 0, 0, 3],
            [1, 1, 1, 3],
            [1, 2, 3, 0]
        ]

    def print_matrix(matrix):
        for row in matrix:
            for item in row:
                print(item, end=" ")
            print()

    def compare_test(func):
        print()
        print(func.__name__)
        print("-" * 20)
        matrix = new_matrix()
        print("before:")
        print_matrix(matrix)
        func(matrix)
        print("after:")
        print_matrix(matrix)

    def print_test(func):
        print()
        print(func.__name__)
        print("-" * 20)
        matrix = new_matrix()
        print("source:")
        print_matrix(matrix)
        print("printed:")
        func(matrix)

    def demo_test():
        print()
        print("delete(0, 3)")
        print("-" * 20)
        matrix = new_matrix()
        print("before:")
        print_matrix(matrix)
        delete(matrix, 0, 3)
        print("after:")
        print_matrix(matrix)

    demo_test()
    print_test(print_icon)
    compare_test(fill)
    compare_test(roll_to_right)
    compare_test(roll_to_top)
    compare_test(push_to_right)
    compare_test(push_to_top)
    compare_test(flip_horizontally)
    compare_test(flip_vertically)
    compare_test(rotate_right)
    compare_test(match)


run()
