#include //#include using namespace std; //using namespace atcoder; using ll = long long; //using mint = modint998244353; int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); /* 次数0の頂点はどうでもいい。 まず、A_i(i>=1)が全て0ならTrue 頂点数V = sum A_i 辺の数E = (sum A_i*i) /2 (ループがないグラフなら辺の数*2=次数の和) V > Eのときループがないグラフを作れる。 */ ll N; cin >> N; vector A(N+1); for (int i=0; i<=N; i++) cin >> A[i]; bool ok=1; for (int i=1; i<=N; i++) if (A[i] != 0) ok=0; if (ok){ cout << "Yes" << endl; return 0; } ll V=0, E=0; for (int i=1; i<=N; i++){ V += A[i]; E += A[i]*i; } if (E % 2 == 1){ cout << "No" << endl; return 0; } E /= 2; cout << (V > E ? "Yes" : "No") << endl; return 0; }