from typing import Iterable
import math


def lcm(numbers: Iterable[int]) -> int:
    """Find least common multiple of a list of integers.

    Parameters
    ----------
    numbers : Iterable[int]
        Integers whose least common multiple is to be found

    Returns
    -------
    int
        Least common multiple
    """
    a, *b = numbers
    if len(b) > 1:
        return lcm(numbers=(a, lcm(numbers=b)))
    else:
        [b] = b
        return a * b // math.gcd(a, b)