#include <bits/stdc++.h>
using namespace std;
void sprint(string s) {
  for (int i = 0; i < s.size(); ++i) printf("%c", s[i]);
  printf("\n");
}
long long n, k;
bool f(long long x) {
  if (n % x != 0) return 0;
  long long temp = n / x;
  temp -= (k * (k + 1)) / 2;
  if (temp < 0) return 0;
  return 1;
}
int main() {
  cin >> n >> k;
  if (k > 1000000 or (k * (k + 1)) / 2 > n) {
    printf("-1\n");
    return 0;
  }
  long long ans = 1;
  for (long long i = 1; i * i <= n; ++i) {
    if (n % i == 0) {
      if (f(i)) ans = max(ans, i);
      if (f(n / i)) ans = max(ans, n / i);
    }
  }
  for (long long i = 1; i <= k - 1; ++i) {
    printf("%lld ", i * ans);
    n -= i * ans;
  }
  printf("%lld\n", n);
  return 0;
}
