#include #include using namespace std; const long long MOD = 998244353; int main(){ int N; cin >> N; vector A(N * 2); for (int i = 0; i < N * 2; i++){ cin >> A[i]; if (A[i] == -1){ A[i] = 0; } } vector B(N * 4); for (int i = 0; i < N * 2; i++){ B[i] = A[i]; B[N * 2 + i] = A[i]; } vector A1(N * 2), A2(N * 2), A3(N * 2); for (int i = 0; i < N * 2; i++){ A1[i] = A[i]; A2[i] = (long long) A[i] * A[i] % MOD; A3[i] = (long long) A[i] * A[i] * A[i] % MOD; } vector B1(N * 4), B2(N * 4), B3(N * 4); for (int i = 0; i < N * 4; i++){ B1[i] = B[i]; B2[i] = (long long) B[i] * B[i] % MOD; B3[i] = (long long) B[i] * B[i] * B[i] % MOD;; } vector A1B3 = atcoder::convolution(A1, B3); vector A2B2 = atcoder::convolution(A2, B2); vector A3B1 = atcoder::convolution(A3, B1); bool ok = false; for (int i = N * 2; i < N * 4; i++){ if ((A1B3[i] - A2B2[i] * 2 + A3B1[i] + MOD * 2) % MOD == 0){ ok = true; } } if (ok){ cout << "Yes" << endl; } else { cout << "No" << endl; } }