#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long n, k, s = 0;
  cin >> n >> k;
  vector<long long> divisor, ans;
  if (k == 1) {
    cout << n;
    return 0;
  }
  if (k > 1e7) {
    cout << -1;
    return 0;
  }
  for (long long i = 1; i <= sqrt(n); i++) {
    if (n % i == 0) {
      divisor.push_back(i);
      if (i != (n / i)) divisor.push_back(n / i);
    }
  }
  sort(divisor.begin(), divisor.end());
  long long d = ceil((2 * n * 1.00) / ((k - 1) * (k + 2) * 1.00));
  long long index =
      lower_bound(divisor.begin(), divisor.end(), d) - divisor.begin();
  long long g = divisor[index - 1];
  if (g < 1 || g > n) {
    cout << -1;
    return 0;
  }
  for (long long i = 1; i < k; i++) {
    ans.push_back(i * g);
    s = s + (i * g);
  }
  ans.push_back(n - s);
  for (long long i = 0; i < ans.size(); i++) cout << ans[i] << " ";
  return 0;
}
