#include <iostream>
#include <cstdio>
#include <cmath>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <vector>
#include <string>
#include <cstring>
#include <sstream>
#define INF 100000000

using namespace std;

int n;
int a[100005];
int p[100005];

int main()
{
    while(scanf("%d",&n)==1)
    {
        memset(p,0,sizeof(p));
        long long sum=0;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            sum+=a[i];
        }
        long long tmp=(1+n)*n/2;
        if(sum%tmp !=0)
        {
            printf("NO\n");
            continue;
        }
        long long c=sum/tmp;
        for(int i=0;i<n-1;i++)
        {
            p[i]=a[i+1]-a[i];
        }
        p[n-1]=a[0]-a[n-1];
        int maxx=p[0];
        for(int i=0;i<n;i++)
        {
            if(p[i]>maxx) maxx=p[i];
        }
        long long ss=0;
        for(int i=0;i<n;i++)
        {
            p[i]=maxx-p[i];
            ss+=p[i];
        }
        if(ss!= n*c)
        {
            printf("NO\n");
            continue;
        }
        int flag=0;
        for(int i=0;i<n;i++)
        {
            if(p[i]%n !=0)
            {
                flag=1;
            }
            break;
        }
        if(flag==1)
        {
            printf("NO\n");
        }
        else
        {
            printf("YES\n");
        }
    }
    return 0;
}





