#P6756. [BalticOI 2013] Brunhilda’s Birthday

[BalticOI 2013] 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

输入数据 1

2 2
2 3
5
6

输出数据 1

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 分。