时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
远山起伏,黑魆魆地时隐时显;枯叶在秋风中飘落翻转。小c 不愿意看到校园里此番凄凉景象,决定动用他的魔法,让校园与身后的青山在秋季一样焕发生机!
我们把问题具象化:小c 面前的

堆败叶堆排成一排,每一堆败叶堆有

片败叶。如果小c 能够使得面前这一排败叶
同时满足以下两个条件,那么小c 就可以发动魔法让这片青山,让这座校园焕发生机!
条件①:对任意
)
,

是一个质数;条件②:对任意

,

是一个质数。
小c 可以对任意多堆的败叶堆,做任意多次任意操作 (也可以为

):
操作①:令

;操作 ②:令

。
当然,你不可以令任何一堆败叶堆里败叶的数量为负数。
请问小c 能否让青山和校园焕发生机?
输入描述:
第一行输入一个正整数
表示测试数据组数。
每组测试数据第一行输入一个正整数
表示败叶堆的堆数。
第二行输入
个非负整数
,表示第
堆败叶堆里的败叶片数。
输出描述:
对于每组测试数据,如果可以让青山和校园焕发生机,一行输出一个字符串 "YES" ,否则输出一行一个字符串 "NO" 。(输出不包含引号)