#include using namespace std; #define int long long int #define ld long double #define nl "\n" #define vi vector #define vvi vector > #define vb vector #define vs vector #define pii pair #define vpii vector #define pb push_back #define mp make_pair #define fs first #define sc second #define all(a) a.begin(), a.end() #define allr(vec) vec.rbegin(), vec.rend() #define mod1 1000000007 #define mod2 998244353 #define sahi(vec) sort(vec.begin(),vec.end()) #define ulta(vec) sort(vec.begin(),vec.end(),greater()) #define thek(vec) is_sorted(all(vec)) #define fori(a,b) for(int i=a;i=b;r--) #define gcd(a,b) __gcd(a,b) #define popcount(a) __builtin_popcountll(a) int lcm(int a,int b) { return a/gcd(a,b)*b; } /* Problem: Observation: */ void solve(){ int n; cin >> n; vi a(n); fori(0,n) cin >> a[i]; int sum=a[0]+a[n-1]; int i=1,j=n-2; bool pos=true; while(i<=j){ if(a[i]+a[j]==sum){ i++; j--; }else{ pos=false; break; } } if(pos){ cout << "Yes\n"; }else{ cout << "No\n"; } } signed main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); int t = 1; // cin >> t; while(t--) { solve(); } return 0; }