func_code_string: #include <bits/stdc++.h>   using namespace std;   long long b[150005], up[150005], a[150005];   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     int n;     bool fl = false;     cin >> n;     for (int i = 1; i <= n; i++) {       cin >> b[i];       up[i] = max(1ll, b[i]);       if (b[i] != 0) fl = true;     }     if (!fl) {       cout <<  YES n ;       for (int i = 1; i <= n; i++) cout << 1 <<    ;       exit(0);     }     for (int i = 1; i <= n; i++) {       if (i == 1)         up[i] = max(up[i], b[n] + 1);       else         up[i] = max(up[i], b[i - 1] + 1);     }     for (int i = 1; i <= n; i++) {       if (b[i] < up[i]) continue;       cout <<  YES n ;       a[i] = b[i];       int uk;       if (i == 1)         uk = n;       else         uk = i - 1;       while (uk != i) {         long long t = up[uk] / a[uk % n + 1];         if (t * a[uk % n + 1] + b[uk] >= up[uk])           a[uk] = t * a[uk % n + 1] + b[uk];         else           a[uk] = (t + 1) * a[uk % n + 1] + b[uk];         if (uk == 1)           uk = n;         else           uk--;       }       for (int j = 1; j <= n; j++) cout << a[j] <<    ;       exit(0);     }     cout <<  NO n ;     return 0;   }   