from typing import List
from typing import Any


def get_combinations(*args: List[Any]) -> List[List]:
    """Takes K lists as arguments and returns Cartesian product of them.

    Cartesian product means all possible lists of K items where the first
    element is from the first list, the second is from the second and so one.

    Returns:
        All possible combinations of items from function's arguments.

    """
    result: List[List] = [[]]
    for list_n in args:
        result = [old_item + [new_item] for old_item in result for new_item in list_n]
    return result