#include <bits/stdc++.h>
using namespace std;
long long pw(long long bs, long long x) {
  long long ans = 1;
  while (x) {
    if (x & 1) ans *= bs;
    bs *= bs;
    x >>= 1;
  }
  return ans;
}
long long res[100005], x, n;
int main() {
  cin >> x >> n;
  if (n == 1) {
    puts("YES");
    printf("%lld", x);
    return 0;
  }
  for (long long a = 1;; a++) {
    if (n * a + n * (n - 1) / 2 > x) {
      a--;
      if (a <= 0) break;
      if (n <= 30 && a * (pw(2, n) - 1) < x) break;
      puts("YES");
      res[1] = a;
      for (int i = 2; i <= n; i++) res[i] = res[i - 1] + 1;
      long long nd = x - (n * a + n * (n - 1) / 2);
      while (nd > 0) {
        for (int i = n; i >= 2; i--) {
          long long chg = min(nd, res[i - 1] * 2 - res[i]);
          res[i] += chg;
          nd -= chg;
        }
      }
      for (int i = 1; i <= n; i++) printf("%lld ", res[i]);
      puts("");
      return 0;
    }
  }
  puts("NO");
}
