Problem: Levko loves permutations very much. A permutation of length n is a sequence of distinct positive integers, each is at most n.

Let’s assume that value gcd(a, b) shows the greatest common divisor of numbers a and b. Levko assumes that element pi of permutation p1, p2, ... , pn is good if gcd(i, pi) > 1. Levko considers a permutation beautiful, if it has exactly k good elements. Unfortunately, he doesn’t know any beautiful permutation. Your task is to help him to find at least one of them.

Input

The single line contains two integers n and k (1 ≤ n ≤ 105, 0 ≤ k ≤ n).

Output

In a single line print either any beautiful permutation or -1, if such permutation doesn’t exist.

If there are multiple suitable permutations, you are allowed to print any of them.

Examples

Input

4 2


Output

2 4 3 1

Input

1 1


Output

-1

Note

In the first sample elements 4 and 3 are good because gcd(2, 4) = 2 > 1 and gcd(3, 3) = 3 > 1. Elements 2 and 1 are not good because gcd(1, 2) = 1 and gcd(4, 1) = 1. As there are exactly 2 good elements, the permutation is beautiful.

The second sample has no beautiful permutations.

Solution (in JAVA):

Solution:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class MainB {
    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String line = "";
        StringBuilder out = new StringBuilder();
        int[] n = new int[100001];
        while ((line = in.readLine()) != null && line.length() != 0) {
            int[] v = readInts(line);

            Arrays.fill(n, 0);
            int res = v[0] - v[1];
            for (int i = v[0]; i > res; i--)
                n[i] = i;
            int cur = 2;
            for (int i = 1; i <= res; i++) {
                if (cur > res)
                    cur = 1;
                n[i] = cur++ % (res + 1);
            }
            StringBuilder out2 = new StringBuilder();
            int con = 0;
            for (int i = 1; i <= v[0]; i++) {
                if (i != 1)
                    out2.append(" ");
                out2.append(n[i]);
                if(gcd(n[i], i)!=1)
                    con++;
            }
            if(con!=v[1])
                out.append("-1");
            else
                out.append(out2);
            out.append("\n");
        }
        System.out.print(out);
    }

    public static int[] readInts(String line) {
        String[] w = line.trim().split(" ");
        int[] a = new int[w.length];
        for (int i = 0; i < w.length; i++)
            a[i] = Integer.parseInt(w[i].trim());
        return a;
    }

    public static long gcd(long a, long b) {
        if (b == 0)
            return a;
        else
            return gcd(b, a % b);
    }
}