#include using namespace std; using ll = long long; using Graph = vector>; #define ALL(x) (x).begin(), (x).end() #define REP(i ,n) for(int i = 0; i < (int)(n); i++) #define pb push_back #define mp make_pair typedef vectorvint; typedef vectorvll; template istream &operator>>(istream &is, vector &vec){ for (auto &v : vec) is >> v; return is; } templateinline bool chmin(A &a,const B &b){if(a>b){a=b;return true;}else{return false;}} templateinline bool chmax(A &a,const B &b){if(a> N; vint A(N+1); REP(i,N){ cin >> A[i+1]; } int cnt = 0; bool flag = true; for(int i=N; i>=1; i--){ if(0 == (A[i]+cnt)%i){ cnt += (A[i]+cnt)/i; }else{ flag = false; break; } } if(flag){ cout << "Yes" << endl; }else{ cout << "No" << endl; } }