未知(version 2)
题号:NC316918
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给定一个数组 \lbrace a_1,a_2,\cdots,a_n \rbrace ,求是否存在索引组 (i,j,z)(1\leqq i,j,z\leqq n,z\neq i,z\neq j),满足 a_z= a_i ^{ a_j} ,若存在输出 \texttt{YES},否则输出 \texttt{NO}

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^5\right) 代表数据组数,每组测试数据描述如下:

\hspace{15pt} 第一行一个整数 n(3\leqq n\leqq 2\times 10^5) 表示数组的长度。

\hspace{15pt} 第二行 n 个整数,为 \lbrace a_1,a_2,\cdots,a_n \rbrace(1\leqq a_i\leqq 10^9)

\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2 \times 10^5

输出描述:

\hspace{15pt}对于每组测试数据,新起一行。

\hspace{15pt}输出一个字符串,若可以找到满足条件的索引组满足题意,输出 YES,否则输出 NO。
示例1

输入

复制
2
3
2 2 4
3
1 2 8

输出

复制
YES
NO