//lyt

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <string>
#include <sstream>
#define pi acos(-1.0)

using namespace std;

int num[100005];

int main()
{
    int n;
    scanf("%d",&n);
    int ma=-1,mapos=-1;
    long long sum=0ll;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&num[i]);
        sum+=num[i];
        if(ma<num[i])
        {
            ma=num[i];
            mapos=i;
        }
    }
    if(2*sum%(1ll+n)||2*sum%n)
        printf("NO\n");
    else
    {
        int flag=1;
        while(flag)
        {
            int ma2=-1;
            int mapos2=-1;
            for(int i=1;i<=n;i++)
            {
                int ii=(i+mapos)%n;
                num[ii]-=i;
                if(num[ii]<=0)
                {
                    flag=0;
                }
                if(num[ii]>ma2)
                {
                    ma2=num[ii];
                    mapos2=ii;
                }
            }
            mapos=mapos2;
            for(int i=0;i<n;i++)
                printf("%d ",num[i]);
            printf("\n");
        }
        flag=1;
        for(int i=0;i<n;i++)
        {
            if(num[i])
                flag=0;
        }
        if(flag)
            printf("YES\n");
        else
            printf("NO\n");

    }
    return 0;

    }