P11175 【模板】基于值域预处理的快速离散对数

题目背景

模板题,无背景。

题目描述

给定质数 $P$ 以及它的一个原根 $g$。 有 $q$ 组询问,每组询问给出整数 $y$,你需要找到最小的非负整数 $x$ 使得 $g^x\equiv y\pmod P$。

输入格式

第一行两个整数 $P,g$,描述质数 $P$ 及其一个原根 $g$。 第二行一个整数 $q$,表示询问次数。 接下来 $q$ 行,每行一个整数 $y$,表示每次询问的值。

输出格式

输出共 $q$ 行,每行一个整数表示答案。

说明/提示

### 数据范围及约束 - 对于前 $15\%$ 的数据,满足 $1\le g < P\le 100$,$1\le q\le 100$; - 对于前 $30\%$ 的数据,满足 $1\le g < P\le 10^9+7$,$1\le q\le 100$; - 另有 $15\%$ 的数据,满足 $y_i=i$; - 另有 $15\%$ 的数据,满足 $P=998244353$,$g=3$; - 对于全部数据,满足 $1\le g,y_i