P15667 [ICPC 2025 Jakarta R] Predisposed

题目描述

给定两个整数 $N$ 和 $M$,以及 $Q$ 个形式为 $(X_j, Y_j)$ 的约束。 一个长度为 $N$ 的序列 $A = (A_1, \dots, A_N)$ 被称为**预置序列**,当且仅当: - 对于每个 $1 \le i \le N$,有 $0 \le A_i < M$。 - 对于每个 $1 \le j \le Q$,所有满足 $k$ 是 $X_j$ 的倍数的 $A_k$ 之和在模 $M$ 下等于 $Y_j$。形式化地,$\sum_{X_j \vert k} A_k \equiv Y_j \pmod{M}$。 求所有可能的预置序列的数量。由于答案可能很大,请输出其对 $998\;244\;353$ 取模的结果。

输入格式

第一行包含三个整数 $N$、$M$ 和 $Q$($1 \leq N, M < 998\;244\;353$;$1 \leq Q \leq \min(N, 100\;000)$)。 接下来的 $Q$ 行,每行包含两个整数 $X_j$ 和 $Y_j$($1 \leq X_j \leq N$;$0 \leq Y_j < M$;对于 $p \neq q$,有 $X_p \neq X_q$),表示一个约束。

输出格式

输出一行一个整数,表示预置序列的数量对 $998\;244\;353$ 取模的结果。

说明/提示

**样例 1 解释:** 唯一的预置序列是 $A = (2, 1)$。 翻译由 DeepSeek V3.2 完成