说明
给定两个整数 N 和 M,以及 Q 个形式为 (Xj,Yj) 的约束。
一个长度为 N 的序列 A=(A1,…,AN) 被称为预置序列,当且仅当:
- 对于每个 1≤i≤N,有 0≤Ai<M。
- 对于每个 1≤j≤Q,所有满足 k 是 Xj 的倍数的 Ak 之和在模 M 下等于 Yj。形式化地,∑Xj∣kAk≡Yj(modM)。
求所有可能的预置序列的数量。由于答案可能很大,请输出其对 998244353 取模的结果。
输入格式
第一行包含三个整数 N、M 和 Q(1≤N,M<998244353;1≤Q≤min(N,100000))。
接下来的 Q 行,每行包含两个整数 Xj 和 Yj(1≤Xj≤N;0≤Yj<M;对于 p=q,有 Xp=Xq),表示一个约束。
输出格式
输出一行一个整数,表示预置序列的数量对 998244353 取模的结果。
2 3 2
1 0
2 1
1
100000 100000 1
100000 0
373304036
提示
样例 1 解释: 唯一的预置序列是 A=(2,1)。
翻译由 DeepSeek V3.2 完成