func_code_string: #include <bits/stdc++.h>   using namespace std;   long long gcd(long long a, long long b) {     if (a < b) swap(a, b);     if (b == 0) return a;     while ((a = a % b) != 0) {       swap(a, b);     }     return b;   }   long long mpow(long long x, long long y, long long m) {     long long res = 1;     while (y > 0) {       if (y & 1) res = res * x % m;       y = y >> 1;       x = x * x % m;     }     return res;   }   long long ncr(long long n, long long r) {     if (r > n) return 0;     long long res = 1;     for (long long i = (1); i < (r + 1); i++) res = res * (n - r + i) / i;     return res;   }   long long *sieve(long long n) {     long long *lpf = new long long[n + 1];     for (long long i = 1; i <= n; i++) lpf[i] = i;     long long rt = (long long)floor(sqrt(n)) + 1;     for (long long i = (2); i < (rt); i++) {       if (lpf[i] != i) continue;       for (long long j = i * i; j <= n; j += i) {         if (lpf[j] == j) lpf[j] = i;       }     }     return lpf;   }   void solve() {     long long n;     cin >> n;     long long a[n];     for (long long i = (0); i < (n); i++) cin >> a[i];     long long mx = *max_element(a, a + n), mn = *min_element(a, a + n);     if (mx == mn) {       if (mx != 0)         cout <<  NO ;       else {         cout <<  YES n ;         for (long long i = (0); i < (n); i++) cout <<  1  ;       }       return;     }     long long k;     for (long long i = (0); i < (n); i++) {       long long prev = i - 1;       if (prev == -1) prev = n - 1;       if (a[i] == mx && a[prev] != mx) {         k = i;         break;       }     }     long long pt = k;     long long b[n];     b[pt] = mx;     pt--;     if (pt == -1) pt = n - 1;     if (a[pt] == 0)       b[pt] = mx * 2;     else       b[pt] = mx + a[pt];     pt--;     if (pt == -1) pt = n - 1;     while (pt != k) {       b[pt] = b[(pt + 1) % n] + a[pt];       pt--;       if (pt == -1) pt = n - 1;     }     cout <<  YES n ;     for (long long i = (0); i < (n); i++) cout << b[i] <<    ;   }   signed main() {     ios_base::sync_with_stdio(false);     cin.tie(NULL);     long long t = 1;     for (long long i = (1); i < (t + 1); i++) {       solve();       cout <<   n ;     }   }   