#include <bits/stdc++.h>
using namespace std;
void setIO(string name = "") {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  if (!name.empty()) {
    freopen((name + ".in").c_str(), "r", stdin);
    freopen((name + ".out").c_str(), "w", stdout);
  }
}
long long calc(long long a, long long b) { return (a + a * b) * b / 2; }
int main() {
  setIO();
  long long a, b;
  cin >> a >> b;
  if (b == 1) {
    cout << a;
    return 0;
  }
  long long cur;
  if (b % 2)
    cur = (b + 1) / 2 * b;
  else
    cur = b / 2 * (b + 1);
  if (a <= b || a < cur || b >= 400000) {
    cout << -1;
    return 0;
  }
  vector<long long> divs;
  for (long long i = 1; i * i <= a; i++) {
    if (a % i == 0) {
      if (i == a / i)
        divs.push_back(i);
      else {
        divs.push_back(i);
        divs.push_back(a / i);
      }
    }
  }
  sort(divs.begin(), divs.end());
  for (int i = (int)divs.size() - 1; i >= 0; i--) {
    if (calc(divs[i], b) <= a && (calc(divs[i], b) % divs[i] == 0)) {
      long long cur = divs[i];
      for (int j = 1; j <= b; j++) {
        if (j != b) {
          cout << cur * j << " ";
          a -= cur * j;
        } else {
          cout << a;
          return 0;
        }
      }
    }
  }
  cout << -1;
}
