import typing


def bit_length_table(n: int) -> typing.List[int]:
    """Bit length table.

    Args:
        n (int): an unsigned integer.

    Returns:
        list[int]: bit length table.

    Complexity:
        time: O(N)
        space: O(N)
    """
    length = [0] * n
    for i in range(1, n):
        length[i] = length[i >> 1] + 1
    return length