#1201. 多维向量的嵌套映射和特征值提取

多维向量的嵌套映射和特征值提取

Description

对于一个由正整数构成的非空向量组 V = [a₁, a₂, ..., aₙ] ,定义运算规则如下:

  1. 维度折叠:对向量 V 执行“元素关联计算”: 当该组向量组包含至少两个元素,取前项与后项的乘积并对 10 取余,得到新向量 V' (例如 V = [x , y , z] 时, V' = [ (x×y) % 10 ] , (y×z) % 10 ]:当该向量组仅含一个元素, V' 与 V 完全相同。
  2. 特征映射:对 V' 中的所有元素,计算元素平方与元素本身的差值后求和,得到映射值 S. (ex: 对于 V' = [m, n] , S = (m² - m) + (n² - n) )
  3. 嵌套迭代:以 S 为唯一元素构建新向量 V''= [S] ,重复执行步骤 1 2,生成新的 S 值,若本次得到的 S 和上次得到的 S 相等则停止,将该相等值记为最终特征值 K.(即必须执行至少两次再进行判断)

Input

一个整数 t,即测试用例的个数 (1<=t<=1000);

接下来 t 组数据,每组数据第一行为一个正整数n,表示初始向量组,接下来n(1<= n <= 1000)个数表示 a1a_1 , a2a_2 ... ana_n(0 < aia_i <=1e18)

Output

每个测试用例输出一行,若不存在连续两次相等的S,输出"No";否则输出"Yes"和最终特征值K(中间以一个空格隔开).

Samples

1
1 5
No

Limitation

1s, 1024KiB for each test case.