func_code_string: #include <bits/stdc++.h>   using namespace std;   void cmax(long long int &a, long long int b) {     if (a < b) a = b;   }   const int mod = 1000000007;   bool comp(int x, int y) { return x > y; }   void printarr(int arr[], int n) {     for (int i = 0; i < n; ++i) std::cout << arr[i] << (i < n - 1 ?     :   n );   }   template <typename T>   void printv(T &a) {     for (auto it = a.begin(); it != a.end(); ++it) std::cerr << *it <<    ;     std::cerr <<   n ;   }   int gint() {     int n;     cin >> n;     return n;   }   const int maxn = 200009;   long long int ans;   int arr[maxn];   void solve() {     ans = 0;     bool ok = false;     int m = gint();     int n = gint();     long long int sum = 0;     for (int i = 0; i < n; ++i) {       arr[i] = i + 1;       sum += arr[i];       if (sum > m) ok = 1;     }     if (!ok) {       for (int i = 0; i < n; ++i) {         arr[i] += (m - sum) / n;       }       int res = (m - sum) % n;       for (int i = n - 2; i >= 0; --i) {         int temp;         arr[i + 1] += temp = min(arr[i] * 2 - arr[i + 1], res);         res -= temp;       }       sum = arr[0];       for (int i = 1; !ok && i < n; ++i) {         ok = (arr[i] > arr[i - 1] * 2);         sum += arr[i];       }       ok = !(sum == m);     }     std::cout << (!ok ?  YES  :  NO );     std::cout <<   n ;     if (!ok) printarr(arr, n);     std::cout <<   n ;   }   void sol() {}   int main() {     std::ios_base::sync_with_stdio(false);     std::cin.tie(nullptr);     int testcases = 1;     for (int t = 0; t < testcases; ++t) {       solve();     }     return 0;   }   