def map_ll(func, list_of_lists):
    """
    Recursive (two-level) mapping for list of lists. Applies func to every element, keeping the list structure
    :param func: function to apply
    :param list_of_lists: list of lists
    :return: list of lists with function func applied to each element
    """
    return list(map(lambda sublist: list(map(func, sublist)), list_of_lists))