#include <bits/stdc++.h>
using namespace std;
const int MAX = 0x3f3f3f3f;
int main() {
  long long n;
  long long k;
  cin >> n >> k;
  if (k == 1) {
    cout << "YES" << endl;
    cout << n;
    return 0;
  }
  long long leastcost = ((1 + k) * k / 2);
  if (n < leastcost) {
    printf("NO\n");
    return 0;
  }
  long long eachadd = (n - leastcost) / k;
  n -= leastcost;
  n %= (k);
  long long ans[100001];
  for (int i = 1; i <= k; i++) {
    ans[i] = i + eachadd;
  }
  for (int i = k; i >= 2; i--) {
    int lastai = ans[i];
    ans[i] = min(ans[i - 1] * 2, ans[i] + n);
    n -= ans[i] - lastai;
    if (n <= 0) {
      printf("YES\n");
      for (int i = 1; i <= k; i++) {
        printf("%I64d ", ans[i]);
      }
      return 0;
    }
  }
  printf("NO\n");
  return 0;
}
