#include <iostream> #include <algorithm> #include <map> #include <set> #include <queue> #include <stack> #include <numeric> #include <bitset> #include <cmath> static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template<class T> constexpr T INF = ::numeric_limits<T>::max()/32*15+208; int main() { int n; cin >> n; vector<int> v(n); for (auto &&i : v) scanf("%d", &i); ll s = 0; vector<ll> ans(n); for (int i = n-1; i >= 0; --i) { ans[i] = (v[i]+s)/(i+1); s += ans[i]; } if(s == accumulate(v.begin(),v.end(), 0LL)) puts("Yes"); else puts("No"); return 0; }