using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); static int[][] NArr(long n) => Enumerable.Repeat(0, (int)n).Select(_ => NList).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var a = NList; var edges = 0L; for (var i = 1; i < a.Length; ++i) edges += (long)i * a[i]; if (edges == 0) { WriteLine("Yes"); return; } if (edges % 2 == 0) { var ones = 2L; for (var i = 3; i < a.Length; ++i) ones += (i - 2L) * a[i]; if (a[1] >= ones) { WriteLine("Yes"); return; } } else { var large = n + 1; if (large % 2 == 0) ++large; var ones = (long)large; for (var i = 3; i < a.Length; ++i) ones += (i - 2L) * a[i]; if (a[1] >= ones) { WriteLine("Yes"); return; } } WriteLine("No"); } }