#include <bits/stdc++.h>
using namespace std;
long long r[200005];
int main() {
  long long cnt = 0;
  for (int i = 1; i <= 2 * 1e5; i++) {
    cnt++;
    r[i] = r[i - 1] + cnt;
  }
  long long n, k;
  cin >> n >> k;
  vector<long long> divisors;
  for (long long i = 1; i * i <= n; i++) {
    if (n % i == 0) {
      if (n / i == i)
        divisors.push_back(i);
      else {
        divisors.push_back(i);
        divisors.push_back(n / i);
      }
    }
  }
  sort(divisors.begin(), divisors.end());
  long long ans = 0;
  for (int i = 0; i < divisors.size(); i++) {
    long long d = divisors[i];
    long long tar = n / d;
    int lo = 0, hi = 2 * 1e5, mid;
    while (lo < hi) {
      mid = lo + (hi - lo + 1) / 2;
      if (r[mid] <= tar) {
        lo = mid;
        ;
      } else
        hi = mid - 1;
    }
    if (r[lo] <= tar && lo >= k) {
      ans = d;
    }
  }
  if (ans == 0)
    puts("-1");
  else {
    long long a = ans;
    long long sum = 0;
    for (int i = 0; i < k - 1; i++) {
      cout << a << ' ';
      sum += a;
      a += ans;
    }
    cout << n - sum;
  }
  return 0;
}
