本题解署名:王胤皓
正文开始
题意
时间限制:1秒 内存限制:256M
题目描述
如果一个数字只由若干个不同的质数相乘得到,那么我们就称这个数字为“原初数”。本题中指的数字都是大于 1 1 1 的数字。
小可认为,原初数是一切数字的源头。当然,质数本身也是原初数。除了质数以外,比如 6 = 2 × 3 6=2\times 3 6=2×3, 42 = 2 × 3 × 7 42=2\times 3\times 7 42=2×3×7 等都是原初数。但是 12 = 2 × 2 × 3 12=2\times 2\times 3 12=2×2×3, 8 = 2 × 2 × 2 8=2\times2\times2 8=2×2×2 灯不是原初数。
例如 6 = 2 1 × 3 1 6=2^1\times3^1 6=21×31 如果有一个不是原初数的数字,只有 2 2 2 和 3 3 3 作为质因数,那么这个数字称为 6 6 6 的子数。比如 6 6 6 的子数有 12 、 24 、 36 12、24、36 12、24、36 等。但是 15 15 15 等数字不是 6 6 6 的子数。
但是数字是无穷的。于是小可决定把范围限制在 [ 2 , n ] [2,n] [2,n] 内。然后小可会在这个范围内给你 m m m 个数字。
如果小可给的数字是原初数,请从小到大输出这个原初数的子数有哪些。当然,这些子数都得在 [ 2 , n ] [2,n] [2,n] 的范围内。
如果小可给的数字不是原初数,那么输出这个数字的原初数。具体格式见输出描述和样例。
输入描述
第一行两个正整数 n , m n,m n,m,代表小可划定的范围为 [ 2 , n ] [2,n] [2,n],小可会在这个范围内给你 m m m个数字。
第二行 m m m 个正整数 a 1 , a 2 ⋯ , a m a_1,a_2\cdots,a_m a1,a2⋯,am,代表小可给你的 m m m 个数字。
输出描述
对于每个给定的数字,如果它是原初数,那么首先输出 A:
,然后输出这个数字的子数,从小到大排列。
如果这个数字不是原初数,那么首先输出 B:
,然后输出这个数字的原初数。
注意,冒号是英文冒号。冒号后面有一个空格。
每个给定的数字的输出占一行。具体情况参考样例。
样例输入
100 10
2 3 91 24 50 75 12 15 20 100