if type(__builtins__).__name__ == '_DefaultDict':
    def __getattr__(name):
        return f'custom {name}'

    print(a)
else:
    import sys
    import builtins

    class _DefaultDict(dict):
        def __missing__(self, name):
            return __getattr__(name)

    __builtins__ = _DefaultDict(vars(builtins))
    del _DefaultDict # avoid namespace pollution
    exec(sys._getframe(0).f_code, globals())