#include <bits/stdc++.h>
using namespace std;
int main() {
  long long(n), (k);
  scanf("%lld%lld", &(n), &(k));
  ;
  if (k == 1) {
    printf("YES\n%lld\n", n);
    return 0;
  }
  if (k == 2 && n == 4 || k == 3 && n == 8) {
    cout << "NO\n";
    return 0;
  }
  if (k * (k + 1) / 2 > n) {
    cout << "NO\n";
    return 0;
  }
  long long nn = n - k * (k + 1) / 2;
  long long q = nn / k;
  vector<long long> res(k, 0);
  for (long long i = 0; i < (k); i++) res[i] = nn / k;
  long long rem = nn % k;
  for (long long i = k - rem; i < (k); i++) res[i]++;
  for (long long i = 0; i < (k); i++) res[i] += i + 1;
  if (res[1] > 2 * res[0]) {
    res[k - 1] += (res[1] - 2 * res[0]);
    res[1] = 2 * res[0];
  }
  printf("YES\n");
  {
    for (long long idxi = 0; idxi < (res.size()); idxi++)
      cout << res[idxi] << " ";
    cout << endl;
  };
  return 0;
}
