import argparse
import importlib
import sys


def main() -> None:
    parser = argparse.ArgumentParser()
    parser.add_argument('day', type=int)
    parser.add_argument('input', type=argparse.FileType('rt'), nargs='?', default=sys.stdin)
    parser.add_argument('-2', '--part2', action='store_true')

    args = parser.parse_args()

    try:
        day = importlib.import_module(f'.day{args.day:02d}', __package__)

        if args.part2:
            function = day.part2  # type: ignore
        else:
            function = day.part1  # type: ignore

        print(function(args.input))

    except ImportError:
        sys.exit(f'Invalid day: {args.day}')


main()
