#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 7;
long long n, k;
long long ans[MAXN];
void check() {
  for (int i = 2; i <= k; i++) {
    if (ans[i] <= ans[i - 1] || ans[i] > 2 * ans[i - 1]) {
      cout << "NO" << endl;
      return;
    }
  }
  cout << "YES" << endl;
  for (int i = 1; i <= k; i++) cout << ans[i] << " ";
  cout << endl;
}
int main() {
  cin >> n >> k;
  if (n < k * (k + 1) / 2) {
    cout << "NO" << endl;
    return 0;
  }
  int bonus = (n - k * (k + 1) / 2) / k;
  for (int i = 1; i <= k; i++) ans[i] = i + bonus;
  if (n > pow(2, k) * (1 + bonus) - 1) {
    cout << "NO" << endl;
    return 0;
  }
  int left = (n - k * (k + 1) / 2) % k;
  while (left > 0) {
    for (int i = k; i > 1; i--) {
      if (ans[i] < 2 * ans[i - 1]) {
        left--;
        ans[i]++;
        break;
      }
    }
  }
  check();
}
