def lcmHcf(num1, num2):
    """
    Calculates least common multiple and highest
    common factor of two numbers

    Arguments:
        num1 {integer} -- term 1
        num2 {integer} -- term 2
    Returns:
        (lcm, hcf) {tuple of integers}
    """
    def hcf(a, b):
        """
        Computes the highest common factor
        """
        while b > 0:
            a, b = b, a % b
        return a

    def lcm(a, b):
        """
        Computes the least common multiple
        """
        return int(a * b / hcf(a, b))

    return lcm(num1, num2), hcf(num1, num2)