<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def copy_rec(source, dest):
 """Copy files between diferent directories. Copy one or more files to an existing directory. This function is recursive, if the source is a directory, all its subdirectories are created in the destination. Existing files in destination are overwrited without any warning. Args: source (str):
 File or directory name. dest (str):
 Directory name. Raises: FileNotFoundError: Destination directory doesn't exist. """


    if os.path.isdir(source):
        for child in os.listdir(source):
            new_dest = os.path.join(dest, child)
            os.makedirs(new_dest, exist_ok=True)
            copy_rec(os.path.join(source, child), new_dest)

    elif os.path.isfile(source):
        logging.info(' Copy "{}" to "{}"'.format(source, dest))
        shutil.copy(source, dest)

    else:
        logging.info(' Ignoring "{}"'.format(source))