#include <bits/stdc++.h>
using namespace std;
long long n, k;
vector<long long> divisors;
int main() {
  scanf("%lld %lld", &n, &k);
  if (k + 1 <= (n * 2) / k) {
    long long i = 1;
    while (i * i <= n) {
      if (n % i == 0 && i * i != n) {
        divisors.push_back(i);
        divisors.push_back(n / i);
      } else if (n % i == 0)
        divisors.push_back(i);
      i++;
    }
    sort(divisors.begin(), divisors.end());
    long long a;
    long long ac = 0, res;
    for (int j = (int)divisors.size() - 1; j > -1; j--) {
      a = n / divisors[j];
      if (k + 1 <= (a * 2) / k) {
        for (int l = 0; l < k - 1; l++) {
          ac += (long long)(l + 1);
          printf("%lld ", (l + 1) * divisors[j]);
        }
        res = a - ac;
        printf("%lld\n", res * divisors[j]);
        return 0;
      }
    }
  }
  printf("-1\n");
  return 0;
}
