#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion static T[] Range(int n, Func F) => Enumerable.Range(0, n).Select(_ => F()).ToArray(); var n = I(); var az = Range(n, I); var s = az[0] + az[^1]; bool Solve() { for (var i = 0; i < n; i++) { if (az[i] + az[^(i + 1)] != s) return false; } return true; } Console.WriteLine(Solve() ? "Yes" : "No");