def from20(digits: list[int], msb: int = 20, lsb: int = 5) -> float:
    """
    Convert a sequence of 10 digits, 5 in the msb base and 5 in the lsb base,
    into a float value.

    >>> from math import isclose
    >>> nlat_i = from20([4, 11, 5, 14, 14, 1, 1, 4, 4, 4])
    >>> isclose(nlat_i, 91.286785, rel_tol=1E-6)
    True

    >>> elon_i = from20([14, 3, 17, 1, 16, 0, 0, 1, 2, 0], lsb=4)
    >>> isclose(elon_i, 283.854503, rel_tol=1E-5)
    True

    """
    m = digits[0]
    for d in digits[1:5]:
        m = m * msb + d
    l = digits[5]
    for d in digits[6:10]:
        l = l * lsb + d
    # print(f"{digits=} {m=} {msb ** 3=} {m / msb ** 3=} {l=} {l / lsb**5=}")
    return (m + l / lsb ** 5) / msb ** 3