#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 5;
const long long mod = 998244353;
const int inf = 0x3f3f3f3f;
long long co[maxn], ww[maxn], cnt[maxn];
string str;
long long dp[1005][1005];
long long n, m, k, t, now = 0;
long long getmid(int i) {
  long long l = 0, r = 1e9, ans;
  while (l <= r) {
    long long mid = (l + r) >> 1;
    if (n - now >= (m - i + 1) * mid &&
        (co[i] + mid <= 2 * co[i - 1] || i == 1))
      ans = mid, l = mid + 1;
    else
      r = mid - 1;
  }
  return ans;
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> m;
  for (int i = 1; i <= m; i++) now += i;
  if (now > n) return puts("NO"), 0;
  for (int i = 1; i <= m; i++) {
    co[i] = co[i - 1] + 1;
    long long ans = getmid(i);
    now += (m - i + 1) * ans;
    co[i] += ans;
  }
  if (n == now)
    cout << "YES" << endl;
  else
    return puts("NO"), 0;
  for (int i = 1; i <= m; i++) cout << co[i] << " ";
}
