import java.util.Scanner; public class SymmetryChecker { static int[] buildLPS(int[] pattern) { int m = pattern.length; int[] lps = new int[m]; int len = 0; for (int i = 1; i < m; ) { if (pattern[i] == pattern[len]) { lps[i++] = ++len; } else if (len > 0) { len = lps[len - 1]; } else { lps[i++] = 0; } } return lps; } static boolean existsCentrallySymmetricRotation(int[] A) { int N = A.length / 2; int[] revA = new int[2 * N]; for (int i = 0; i < 2 * N; i++) { revA[i] = A[2 * N - 1 - i]; } int[] AA = new int[4 * N]; for (int i = 0; i < 2 * N; i++) { AA[i] = A[i]; AA[i + 2 * N] = A[i]; } // KMP検索 int[] lps = buildLPS(revA); int i = 0, j = 0; while (i < AA.length) { //System.out.print(j); if ((AA[i] == revA[j]) || (AA[i]==-1) || (revA[j]==-1)) { i++; j++; } else if (j > 0) { j = lps[j - 1]; } else { i++; } if (j == revA.length) { int matchPos = i - j; if (matchPos >= 0 && matchPos <= 2 * N) { return true; } j = lps[j - 1]; } } return false; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int len = 2*sc.nextInt(); int[] A = new int[len]; for (int i = 0; i < len; i++) { A[i] = sc.nextInt(); } boolean result = existsCentrallySymmetricRotation(A); System.out.println(result ? "Yes" : "No"); } }