#include using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep2(i,s,n) for (int i=(s); i<(int)(n); i++) #define all(v) v.begin(),v.end() using ll=long long; using vi=vector; using vvi=vector; using vvvi=vector; using vs=vector; using vl=vector; using vvl=vector; using vvvl=vector; using vb=vector; using vvb=vector; using pi=pair; using pl=pair; using si=set; using sl=set; using ss=set; using svi=set; using svl=set; using svs=set; using sb=set; using vpi=vector; using vpl=vector; using spi=set; using spl=set; const int dx[4]={0,1,0,-1}; const int dy[4]={1,0,-1,0}; template using pq=priority_queue; int main() { int n; cin>>n; vi a(n); bool ok=true; rep(i,n)cin>>a[i]; int x=a[0]+a.back(); rep(i,n){ if(a[i]+a[n-1-i]!=x)ok=false; } cout<<(ok?"Yes":"No")<