#include <bits/stdc++.h>
using namespace std;
const int K = 5e5 + 6;
long long int n, k;
long long int ans[K];
int idx = 1;
int f(long long int x) {
  long long int st = x;
  long long int su = 0;
  for (int i = 1; i <= k; i++) {
    su += st;
    st++;
  }
  if (su <= n) return 1;
  return 0;
}
long long int get_sum(long long int x) {
  long long int susu = 0;
  long long int st = x;
  for (int i = 1; i <= k; i++) {
    susu += st;
    st++;
  }
  return susu;
}
int main() {
  cin >> n >> k;
  long long int su = (k * 1LL * (k + 1));
  su /= 2;
  if (su > n) {
    puts("NO");
    return 0;
  }
  long long int lo = 1;
  long long int hi = 123542353241;
  while (hi - lo > 2) {
    long long int mid = (lo + hi) / 2;
    if (f(mid))
      lo = mid;
    else
      hi = mid;
  }
  while (lo <= hi and !f(hi)) --hi;
  long long int cur_su = get_sum(hi);
  long long int bal = n - cur_su;
  long long int tt = hi;
  for (int i = 1; i <= k; i++) {
    ans[idx] = tt;
    idx++;
    tt++;
  }
  if (bal >= 1) {
    ans[k]++;
    bal--;
  }
  idx = k;
  while (bal > 0) {
    if (idx < 1) break;
    ans[idx]++;
    bal--;
    idx--;
  }
  int ok = 1;
  for (int i = k; i > 1; --i) {
    if (ans[i] > ans[i - 1] + ans[i - 1]) ok = 0;
  }
  if (!ok) {
    puts("NO");
    return 0;
  }
  puts("YES");
  for (int i = 1; i <= k; i++) cout << ans[i] << " ";
}
