import re from typing import Any, Iterator from ..base import BaseSolver from ..tools.math import pow_mod class Solver(BaseSolver): def solve(self, input: str) -> Iterator[Any]: m = re.search(r"row\s*([0-9]+)\s*,\s*column\s*([0-9]+)", input) assert m is not None row, col = int(m.group(1)), int(m.group(2)) n = (row * (row - 1)) // 2 + col * (col + 1) // 2 + (row - 1) * (col - 1) yield (20151125 * pow_mod(252533, n - 1, 33554393)) % 33554393