#P6756. [BalticOI2013] Brunhilda’s Birthday

[BalticOI2013] Brunhilda’s Birthday

题目描述

有一个整数 nn 以及一个长度为 mm 的素数表 pp

您可以进行任意多次操作,每一次操作时,您选择一个素数 pip_i,这会使得 nnpi×pin\to \lfloor \frac{n}{p_i}\rfloor\times p_i

您的目标是求出使得 nn 变为 00 的最小操作数,如果不可能变为 00,请输出 oo

为了增加难度,您需要回答 QQnn

输入格式

第一行为两个整数 m,Qm,Q

接下来一行 mm 个整数 pp

接下来 QQ 行,一行一个整数 nn,表示每一次询问给出的 nn

输出格式

对于每一个询问,求出使得 nn 变为 00 的最小操作数,如果不可能变为 00,请输出 oo

2 2
2 3
5
6
3
oo

提示

数据范围及限制

  • 对于 2020 分的数据,保证 m,n,Q104m,n,Q\le 10^4
  • 对于另外 2020 分的数据,保证 Q=1Q=1
  • 对于 100%100\% 的数据,保证 1m,Q1051\le m,Q\le 10^52pi1072\le p_i\le 10^7pip_i 为素数,1n1071\le n\le 10^7

说明

本题译自 Baltic Olympiad in Informatics 2013 Day 2 T1 Brunhilda’s Birthday。

因为译题人找不到合适的设置,所以本题满分 110110 分。