func_code_string: #include <bits/stdc++.h>   using namespace std;   signed main() {     long long n;     cin >> n;     n /= 2;     vector<long long> x(n);     for (long long i = 0; i < n; ++i) {       cin >> x[i];     }     vector<vector<pair<long long, long long>>> as(n);     for (long long i = 0; i < n; ++i) {       for (long long a = 1; a * a < x[i]; ++a) {         if (x[i] % a) {           continue;         }         long long b = x[i] / a;         if ((b + a) % 2) {           continue;         }         as[i].emplace_back((b - a) / 2, (b + a) / 2);       }       reverse(as[i].begin(), as[i].end());     }     vector<long long> y(n);     long long last = 0;     for (long long i = 0; i < n; ++i) {       pair<long long, long long> tf = {last, 0};       long long j = lower_bound(as[i].begin(), as[i].end(), tf) - as[i].begin();       if (j >= as[i].size()) {         cout <<  No ;         return 0;       }       tf = as[i][j];       y[i] = tf.first * tf.first - last * last;       last = tf.second;     }     for (long long i = 0; i < n; ++i) {       if (y[i] < 1) {         cout <<  No ;         return 0;       }     }     cout <<  Yes  <<   n ;     for (long long i = 0; i < n; ++i) {       cout << y[i] <<     << x[i] <<    ;     }     return 0;   }   