#include <bits/stdc++.h>
using namespace std;
long long triangle(long long n) {
  if (n % 2) {
    return n * ((n + 1) / 2);
  }
  return (n / 2) * (n + 1);
}
vector<long long> gcds;
int main() {
  ios_base::sync_with_stdio(false);
  long long n, k;
  long long gcd = 1;
  cin >> n >> k;
  if (k > 141421) {
    cout << -1 << endl;
    return 0;
  }
  long long x = triangle(k);
  if (n < x) {
    cout << -1 << endl;
    return 0;
  }
  long long y = n / x;
  for (long long i = 1; i * i <= n; i++) {
    if (n % i == 0) {
      gcds.push_back(i);
    }
  }
  for (long long i = gcds.size() - 1; i >= 0; i--) {
    gcds.push_back(n / gcds[i]);
  }
  for (int i = 0; i < gcds.size(); i++) {
    if (gcds[i] <= y) gcd = gcds[i];
  }
  long long f = n / gcd;
  long long extra = f - x;
  for (long long i = 1; i < k; i++) {
    cout << i * gcd << " ";
  }
  cout << (k + extra) * gcd << endl;
}
