#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization("unroll-loops")
using namespace std;
const int maxn = 100001;
int main() {
  long long int n, i, j, k, l, m, gc;
  cin >> n >> k;
  vector<long long> fact;
  for (i = 1; i <= sqrt(n); i++) {
    if (n % i == 0) {
      fact.push_back(i);
      if (i != n / i) fact.push_back(n / i);
    }
  }
  sort(fact.begin(), fact.end());
  reverse(fact.begin(), fact.end());
  vector<long long> r;
  int ch = 0;
  for (auto it : fact) {
    l = n / it;
    gc = it;
    if (k <= 1000000 && k * (k + 1) / 2 <= l) {
      ch = 1;
      break;
    }
  }
  if (ch) {
    m = 0;
    for (i = 1; i < k; i++) {
      cout << i * gc << " ";
      m += i * gc;
    }
    cout << n - m;
  } else {
    cout << -1;
  }
}
