Wrapper Loses Its Name

def logged(func):
    def wrapper(*args, **kwargs):
        print(f"calling {func.__name__}")
        return func(*args, **kwargs)
    return wrapper

@logged
def greet(name):
    """Say hello."""
    return f"Hello, {name}"

print(greet.__name__)

logged never calls functools.wraps. What exact string does the last line print? Answer in lowercase, no quotes.