from math import log
from typing import List


def find_msb(array: List[int]) -> int:
    """Find the greates MSB of all numbers in array

    Args:
        array (List[int]): integers

    Returns:
        int: greates MSB postion

    >>> find_msb([])
    -1
    >>> find_msb([0])
    -1
    >>> find_msb([-1])
    1
    >>> find_msb([1])
    1
    >>> find_msb([1,2,3,4,5]) # 5 -> 4 +1 = 0b0101 -> 2 + sign bit
    3
    >>> find_msb([8,9,3,5]) # 9 -> 8 + 1 = 0b01001 -> 3 + sign bit
    4
    >>> find_msb([3,6,-9,5]) # -9 -> 3 + sign bit
    4
    """
    def to_msb(x): return int(log(abs(x), 2)) + 1  # + sign bit
    return max([-1] + [to_msb(n) for n in array if n])