#1575. 2579. Fight with function

2579. Fight with function

#2579. Fight with function

题目描述

积性函数是指具有性质f(mn)=f(m)(f(n)的一类函数。现在我们对一个积性函数f增加一个限制条件:如果m与n互质,则f(m)与f(n)也互质,并且一定有f(1)=1。函数f的定义域和值域都是正整数。

现在,你被提供了一些x以及相对应的f(x)的值。你的任务是对于每一个询问的y,判断f(y)的值是否唯一,如果唯一,输出f(y)的值。

输入格式

输入的第一行包含了测试点的个数。对于每一个点,第一行包含了一个整数N,这是提供的(x,f(x))的对数。接下来N行,每行的有两个被空格分开的数,第一个是x值,第二个是其对应的f(x)值。下一行是询问的个数q。下面q行每行包含了一个询问的y。

输出格式

对于每一个测试点输出q行,每一行对应一个询问。如果给出的数据与函数f的性质不符或者不能凭借给出的数据确定惟一的f(y),输出"NO",否则输出"YES f(y)",其中的f(y)被替换成f(y)的值,不能包含前导0。

样例

样例输入

3  

3  

2 2  

3 2  

7 19  

1  

7  

1  

6 6  

1  

6  

2  

2 2  

3 3  

1  

12  

样例输出

NO  

YES 6  

YES 12  

  

约束条件  

  

测试点的个数小于20,N<=50,给出的x和f(x)都不大于10^50。x与f(x)都没有大于100005的质因数。  

数据范围与提示