#include <bits/stdc++.h>
const int maxn = 1e5 + 10;
const int mod = 1e9 + 7;
using namespace std;
long long n, k;
bool ok(long long x) { return n / x >= ((k * (k + 1)) / 2LL); }
void solve() {
  long long max_gcd = 1;
  cin >> n >> k;
  if (k > 1e8) {
    cout << -1 << endl;
    return;
  }
  for (long long i = 1; i * i <= n; ++i) {
    if (n % i == 0 && ok(i)) {
      max_gcd = max(max_gcd, i);
    }
    if (n % i == 0 && ok(n / i)) {
      max_gcd = max(max_gcd, n / i);
    }
  }
  for (long long i = 1; i < k; ++i) {
    n -= (max_gcd * i);
  }
  if (n <= (k - 1) * max_gcd) {
    cout << -1 << endl;
    return;
  }
  for (long long i = 1; i < k; ++i) {
    cout << max_gcd * i << " ";
  }
  cout << n << endl;
}
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
