Cached Import, Correct Main Guard

Two files in the same directory:

# mod.py
print("loading mod")

if __name__ == "__main__":
    print("running mod directly")
else:
    print("mod imported")

def greet():
    return "hi from mod"
# main.py
import mod
import mod

print("main is", __name__)
print(mod.greet())

You run python3 main.py. What prints, in order?

A
loading mod
mod imported
main is mod
hi from mod
B
loading mod
mod imported
main is __main__
hi from mod
C
loading mod
mod imported
loading mod
mod imported
main is __main__
hi from mod
D
loading mod
running mod directly
main is __main__
hi from mod