You are given positive integer number n. You should create such strictly increasing sequence of k positive numbers a1, a2, ..., ak, that their sum is equal to n and greatest common divisor is maximal.

Greatest common divisor of sequence is maximum of such numbers that every element of sequence is divisible by them.

If there is no possible sequence then output -1.

Input

The first line consists of two numbers n and k (1 ≤ n, k ≤ 1010).

Output

If the answer exists then output k numbers — resulting sequence. Otherwise output -1. If there are multiple answers, print any of them.

Examples

Input

6 3


Output

1 2 3


Input

8 2


Output

2 6


Input

5 3


Output

-1
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.FilterInputStream;
import java.io.BufferedInputStream;
import java.util.Collections;
import java.util.ArrayList;
import java.io.InputStream;

/**
 * @author khokharnikunj8
 */

public class Main {
    public static void main(String[] args) {
        new Thread(null, new Runnable() {
            public void run() {
                new Main().solve();
            }
        }, "1", 1 << 26).start();
    }

    void solve() {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        ScanReader in = new ScanReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        CMaximalGCD solver = new CMaximalGCD();
        solver.solve(1, in, out);
        out.close();
    }

    static class CMaximalGCD {
        ArrayList<Long> result;

        public boolean findIt(long gcd, long n, long k) {
            long to_sum = n / gcd;
            result = new ArrayList<>();
            long cur = 0;
            for (int i = 1; i < k; i++) {
                result.add(i * (gcd));
                cur += i;
            }
            long rem = to_sum - cur;
            if (rem < k) return false;
            result.add(rem * gcd);
            return true;
        }

        public void solve(int testNumber, ScanReader in, PrintWriter out) {
            long n = in.scanLong();
            long k = in.scanLong();
            long temp = 0;
            while ((temp * (temp + 1)) / 2 <= n) temp++;
            temp--;
            if (k > temp) {
                out.println(-1);
                return;
            }

            ArrayList<Long> divisors = new ArrayList<>();
            for (long i = 1; i * i <= n; i++) {
                if (n % i == 0) {
                    divisors.add(i);
                    if (i * i != n) divisors.add(n / i);
                }
            }
            Collections.sort(divisors, Collections.reverseOrder());
            for (long gcd : divisors) {
                if (findIt(gcd, n, k)) {
                    for (long i : result) out.print(i + " ");
                    return;
                }
            }
            out.println(-1);
        }

    }

    static class ScanReader {
        private byte[] buf = new byte[4 * 1024];
        private int index;
        private BufferedInputStream in;
        private int total;

        public ScanReader(InputStream inputStream) {
            in = new BufferedInputStream(inputStream);
        }

        private int scan() {
            if (index >= total) {
                index = 0;
                try {
                    total = in.read(buf);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                if (total <= 0) return -1;
            }
            return buf[index++];
        }

        private boolean isWhiteSpace(int n) {
            if (n == ' ' || n == '\n' || n == '\r' || n == '\t' || n == -1) return true;
            else return false;
        }

        public long scanLong() {
            long integer = 0;
            int n = scan();
            while (isWhiteSpace(n)) n = scan();
            int neg = 1;
            if (n == '-') {
                neg = -1;
                n = scan();
            }
            while (!isWhiteSpace(n)) {
                if (n >= '0' && n <= '9') {
                    integer *= 10;
                    integer += n - '0';
                    n = scan();
                }
            }
            return neg * integer;
        }

    }
}

