#include <bits/stdc++.h>
using namespace std;
int main() {
  unsigned long long int n, k;
  cin >> n >> k;
  if (n < k * (k + 1) / 2 || k >= 1e7) {
    return cout << -1, 0;
  }
  int lim = sqrt(n);
  vector<long long int> vec;
  for (long long int i = 1; i <= lim; i++) {
    if (n % i == 0) {
      vec.push_back(i);
      long long int s = n / i;
      if (s != i) {
        vec.push_back(s);
      }
    }
  }
  unsigned long long int m = k * (k + 1) / 2;
  long long int ans = -1;
  for (long long int num : vec) {
    if (n % num != 0) continue;
    if (n / num < m) continue;
    ans = max(ans, 1ll * num);
  }
  if (ans == -1) {
    return cout << ans, 0;
  }
  int t = 1;
  for (int i = 0; i < k - 1; i++) {
    printf("%d ", ans * t);
    n -= ans * t;
    t++;
  }
  cout << n << endl;
  return 0;
}
