#include <bits/stdc++.h>
using namespace std;
inline int read() {
  int f = 1, x = 0;
  char ch;
  do {
    ch = getchar();
    if (ch == '-') f = -1;
  } while (ch < '0' || ch > '9');
  do {
    x = x * 10 + ch - '0';
    ch = getchar();
  } while (ch >= '0' && ch <= '9');
  return f * x;
}
int n, k;
int a[100001];
unsigned long long int num = 0;
int main() {
  n = read();
  k = read();
  int w = (n - k * (k + 1) / 2) / k;
  for (int i = 1; i <= k; i++) {
    a[i] = i + w;
    num += i + w;
  }
  if (num > n || w < 0) {
    printf("NO\n");
    return 0;
  }
  for (int i = k; i >= 2; i--) {
    if (a[i - 1] - 1 >= n - num) {
      a[i] += n - num;
      num += n - num;
      break;
    } else {
      a[i] += a[i - 1] - 1;
      num += a[i - 1] - 1;
    }
  }
  if (num < n) {
    printf("NO\n");
    return 0;
  }
  printf("YES\n");
  for (int i = 1; i <= k; i++) printf("%d ", a[i]);
  printf("\n");
  return 0;
}
