from typing import Tuple
from typing import List


def n31(a: int) -> Tuple[List[int], int]:
    """
    Returns the Collatz sequence and its length of any postiver integer.
    >>> n31(4)
    ([4, 2, 1], 3)
    """

    if not isinstance(a, int):
        raise TypeError("Must be int, not {0}".format(type(a).__name__))
    if a < 1:
        raise ValueError(
            "Given integer must be greater than 1, not {0}".format(a))

    path = [a]
    while a != 1:
        if a % 2 == 0:
            a = a // 2
        else:
            a = 3 * a + 1
        path += [a]
    return path, len(path)