i在西元前
题号:NC316064
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}\texttt{76} 有一个长度为 n 的数组,数组中的每个元素均为复数。请你判断这个数组是否是一个等比数列,并且数组的元素已经按照等比数列的顺序排列(即不需要重新排序)。

【名词解释】
\hspace{15pt}等比数列:一个长为 n 的数组是一个等比数列,当且仅当存在一种排序方式,排序后 a_1 \ne 0 且存在一个公比 q\left(q \ne 0 \right),使得对于所有 1 \leqq i < n,有 a_{i+1} = a_i \times q

输入描述:

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

\hspace{15pt}第一行输入一个整数 n\left(3 \leqq n \leqq 10^5\right)
\hspace{15pt}之后的 n 行,每行输入两个整数 a_i,b_i\left(-10^9 \leqq a_i,b_i \leqq 10^9,1 \leqq\left|a_i \right| + \left|b_i \right|\right),代表数组的一个元素 a_i + b_i \cdot \mathrm{i},其中 \mathrm{i} 为虚数单位。

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

输出描述:

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

\hspace{15pt}如果数组是一个已经排列好的等比数列,请输出 \texttt{Yes};否则输出 \texttt{No}
示例1

输入

复制
2
3
1 0
0 1
-1 0
3
1 1
4 5
1 4

输出

复制
Yes
No

说明

\hspace{15pt}第一组数据是一个首项为 1,公比为 i 的等比数列。