#include <bits/stdc++.h>
using namespace std;
bool bad(long long x, long long k) {
  long long l = 1, r = 2e5, ans = 0;
  while (l <= r) {
    long long mid = (l + r) / 2;
    if ((mid * (mid + 1)) / 2 <= x)
      ans = mid, l = mid + 1;
    else
      r = mid - 1;
  }
  return ans < k;
}
int main() {
  ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int t = 1;
  while (t--) {
    long long n, k;
    cin >> n >> k;
    vector<long long> d;
    for (long long i = 1; i * i <= n; ++i) {
      if (n % i == 0) {
        d.push_back(i);
        if (i != n / i) d.push_back(n / i);
      }
    }
    sort((d).begin(), (d).end());
    for (long long x : d) {
      if (bad(x, k)) continue;
      long long p = n / x, f = 1, s = 0;
      for (int i = 0; i + 1 < k; ++i) {
        cout << p * f << ' ';
        s += f;
        f++;
      }
      cout << p * (x - s) << "\n";
      return 0;
    }
    cout << "-1\n";
  }
}
