#include <bits/stdc++.h>
using namespace std;
long long next() {
  long long x;
  cin >> x;
  return x;
}
const long long inf = 2e18, mod = 1e9 + 7, MaxN = 1e3 + 1;
const int intf = 1e9;
const double expp = 2.718281828459, PI = 3.141592653589, eps = 1e-6;
int main() {
  cout.precision(20);
  ios_base::sync_with_stdio(false);
  long long n = next(), k = next();
  vector<long long> ans(k);
  long long c = k * (k + 1) / 2;
  if (c > n) {
    cout << "NO";
    return 0;
  }
  long long s = (n - c) / k;
  c = s + 1;
  ans[0] = s + 1;
  for (int i = 1; i < k; i++) ans[i] = ans[i - 1] + 1, c += ans[i];
  if (c < n) c++, ans[k - 1]++;
  int i = k - 1;
  while (c < n && i >= 0) {
    ans[i]++;
    c++;
    i--;
  }
  for (int i = 1; i < k; i++) {
    if (ans[i] <= ans[i - 1] || ans[i - 1] * 2 < ans[i]) {
      cout << "NO";
      return 0;
    }
  }
  cout << "YES\n";
  {
    for (int iiiiiiiiii = 0; iiiiiiiiii < ans.size(); iiiiiiiiii++)
      cout << ans[iiiiiiiiii] << ' ';
    cout << '\n';
  };
  return 0;
}
