#P2052. Pku1777 Vivian

Pku1777 Vivian

给出若干整数

题目描述

给定 nn 个正整数:

p1,p2,,pn.p_1,p_2,\ldots,p_n.

你可以任意确定整数 e1,e2,,ene_1,e_2,\ldots,e_n 的值,并用它们构造整数 NN

N=i=1npiei,N=\prod_{i=1}^{n}p_i^{e_i},

其中:

0ei10,i=1nei1.0\le e_i\le 10,\qquad \sum_{i=1}^{n}e_i\ge 1.

对于一个确定的 NN,定义 MMNN 的所有正因数之和:

M=jNj>0j.M=\sum_{\substack{j\mid N\\j>0}}j.

请判断是否能够选择一组满足条件的 eie_i,使得 MM22 的整数次幂,即:

M=2t.M=2^t.

如果可以,请输出最大的指数 tt;否则输出 NO

原题中整数个数和目标指数均使用字母 kk 表示。为避免混淆,本题面将整数个数记为 nn,将目标指数记为 tt

输入格式

输入包含多组测试数据,处理到文件结束。

每组测试数据的第一行包含一个正整数 nn,表示给出的整数个数。

接下来输入 nn 个正整数 p1,p2,,pnp_1,p_2,\ldots,p_n

数据满足:

0<n100,0<n\le 100, 1<pi<231(1in).1<p_i<2^{31}\qquad(1\le i\le n).

输出格式

对于每组测试数据,输出一行结果:

  • 如果存在满足条件的 NN,使得 MM22 的整数次幂,输出最大的指数 tt
  • 否则输出 NO

输出中不应包含多余的空格。

样例输入

1
2
3
2 3 4

样例输出

NO
2