#include <bits/stdc++.h>
using namespace std;
long long n, k, _n, a[100005];
void Construct() {
  for (int i = 1; i <= k; i++) {
    a[i] = _n / k;
  }
  for (int i = 1, j = k; i <= _n % k; i++, j--) {
    a[j] = (_n + k - 1) / k;
  }
  for (int i = 1; i <= k; i++) {
    a[i] += i;
  }
}
void Solve() {
  if (_n == k - 1) {
    if (k <= 3) {
      printf("NO");
      return;
    }
    a[2]--;
    a[k]++;
  }
  printf("YES\n");
  for (int i = 1; i <= k; i++) {
    printf("%I64d ", a[i]);
  }
}
int main() {
  scanf("%I64d%I64d", &n, &k);
  _n = n - k * (k + 1) / 2;
  if (_n < 0) {
    printf("NO");
    return 0;
  }
  if (n == 1) {
    printf("YES\n%I64d", k);
    return 0;
  }
  Construct();
  Solve();
  return 0;
}
