#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-8;
int main() {
  long long int n, k;
  cin >> n >> k;
  long long int ans[k + 10];
  long long int req = (k * (k + 1)) / 2;
  if (n < req) {
    cout << "NO"
         << "\n";
  } else if (k == 2 && n == 4) {
    cout << "NO"
         << "\n";
  } else if (k == 3 && n == 8) {
    cout << "NO"
         << "\n";
  } else {
    cout << "YES"
         << "\n";
    if (n < req + k) {
      for (long long int i = 1; i <= k; i++) ans[i] = i;
      long long int df = n - req;
      long long int x = k;
      while (df) {
        long long int q = ans[x - 1] * 2;
        q -= ans[x];
        long long int ks = min(df, q);
        df -= ks;
        ans[x] += ks;
        x--;
      }
      for (long long int i = 1; i <= k; i++) cout << ans[i] << ' ';
    } else {
      for (long long int i = 1; i <= k; i++) ans[i] = i;
      n -= req;
      long long int pk = n / k;
      long long int rem = n - (pk * k);
      for (long long int i = 1; i <= k; i++) ans[i] += pk;
      long long int x = k;
      while (rem--) {
        ans[x--]++;
      }
      for (long long int i = 1; i <= k; i++) cout << ans[i] << ' ';
    }
  }
}
