from typing import List


def multiplication_table(n: int) -> List[List[int]]:
    """
    A completely unnecessary generation of a multiplication table, which is not needed to solve the problem.
    :param n: the size of the table, ranging [1,n] x [1,n].
    :return: the multiplication table, where the entry [i][j] = (i + 1) * (j + 1)

    >>> multiplication_table(4)
    [[1, 2, 3, 4], [2, 4, 6, 8], [3, 6, 9, 12], [4, 8, 12, 16]]

    >>> multiplication_table(1)
    [[1]]
    """
    return [[(r + 1) * (c + 1) for c in range(n)] for r in range(n)]