## Monty Sandbox — Supported Python Features

You are writing code that will run inside the Monty sandbox. Monty is a restricted Python execution environment. Only the features listed below are available. Do NOT use any stdlib module, builtin, or language construct that is not listed here.

### Built-in functions
The following built-in functions are available without any import:

abs, all, any, bin, chr, divmod, enumerate, filter, getattr, hash, hex, id, isinstance, len, map, max, min, next, oct, ord, pow, print, repr, reversed, round, sorted, sum, type, zip

### Type constructors
The following names act as type constructors and are available without any import:

bool, bytes, dict, float, frozenset, int, iter, list, property, range, set, slice, str, tuple, type

### Exception types
The following exception classes can be raised or caught without any import:

ArithmeticError, AssertionError, AttributeError, BaseException, Exception, FileExistsError, FileNotFoundError, FrozenInstanceError, ImportError, IndexError, IsADirectoryError, JsonDecodeError, KeyError, KeyboardInterrupt, LookupError, MemoryError, ModuleNotFoundError, NameError, NotADirectoryError, NotImplementedError, OSError, OverflowError, RePatternError, RecursionError, RuntimeError, StopIteration, SyntaxError, SystemExit, TimeoutError, TypeError, UnboundLocalError, UnicodeDecodeError, ValueError, ZeroDivisionError

### Supported modules
Only the modules listed below can be imported. For modules with a known attribute list, only those attributes are available — anything not listed is unsupported.

**`asyncio`** — available attributes: `gather`, `run`

**`datetime`** — available attributes: `date`, `datetime`, `timedelta`, `timezone`

**`json`** — full attribute list not statically known; import the module and use its documented API.

**`math`** — available attributes: `acos`, `acosh`, `asin`, `asinh`, `atan`, `atan2`, `atanh`, `cbrt`, `ceil`, `comb`, `copysign`, `cos`, `cosh`, `degrees`, `e`, `erf`, `erfc`, `exp`, `exp2`, `expm1`, `fabs`, `factorial`, `floor`, `fmod`, `frexp`, `gamma`, `gcd`, `inf`, `isclose`, `isfinite`, `isinf`, `isnan`, `isqrt`, `lcm`, `ldexp`, `lgamma`, `log`, `log10`, `log1p`, `log2`, `modf`, `nan`, `nextafter`, `perm`, `pi`, `pow`, `radians`, `remainder`, `sin`, `sinh`, `sqrt`, `tan`, `tanh`, `tau`, `trunc`, `ulp`

**`os`** — available attributes: `environ`, `getenv`

**`pathlib`** — available attributes: `Path`

**`re`** — available attributes: `A`, `ASCII`, `DOTALL`, `I`, `IGNORECASE`, `M`, `MULTILINE`, `Match`, `NOFLAG`, `Pattern`, `PatternError`, `S`, `compile`, `error`, `escape`, `findall`, `finditer`, `fullmatch`, `match`, `search`, `split`, `sub`

**`sys`** — available attributes: `platform`, `stderr`, `stdout`, `version`, `version_info`

**`typing`** — available attributes: `Annotated`, `Any`, `Callable`, `ClassVar`, `Dict`, `Final`, `FrozenSet`, `Generator`, `Generic`, `Iterable`, `Iterator`, `List`, `Literal`, `Mapping`, `Never`, `NoReturn`, `Optional`, `Protocol`, `Self`, `Sequence`, `Set`, `TYPE_CHECKING`, `Tuple`, `Type`, `TypeVar`, `Union`

### Hard constraints
- Class definitions (`class`) are **not** supported.
- Only the modules listed above may be imported.
- Any builtin, type, or exception not listed above is unavailable.