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.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.StringTokenizer;

/**
 * Created with IntelliJ IDEA.
 * User: AUtemuratov
 * Date: 07.04.14
 * Time: 15:43
 * To change this template use File | Settings | File Templates.
 */
public class Main {
    static boolean p[] = new boolean[111111];
    static boolean u[] = new boolean[111];
    static Pair q[] = new Pair[111111];
    static int d[] = new int[111111];
    static int a[][] = new int[111][111];
    static FastReader fr = new FastReader(new BufferedReader(new InputStreamReader(System.in)));
    static PrintWriter pw = new PrintWriter(System.out);
    static HashSet<Integer> l = new HashSet<Integer>();
    static HashSet<Integer> r = new HashSet<Integer>();
    static ArrayList<Integer> list[] = new ArrayList[111];
    static ArrayList<Integer> temp[] = new ArrayList[111];

    static int sum,cnt,n,m,k;
    static boolean ok;

    public static void main(String[] args) throws Exception {

        n = fr.nextInt();
        k = fr.nextInt();

        for (int i=1; i<111111; i++) {
            d[i] = i;
        }

        int beg = 1;
        if ((n+k)%2!=0) beg = 2;


        int t = n-k;
        for (int i=beg; i<=t; i+=2) {
            int temp = d[i];
            d[i] = d[i+1];
            d[i+1] = temp;
        }

        if (n==k) pw.println(-1);
        else {
            for (int i=1; i<=n; i++) {
                pw.print(d[i] + " ");
            }
        }
        pw.close();
    }
}


class Pair implements Comparable<Pair>{
    int a,b;
    public Pair(int a, int b) {
        this.a = a;
        this.b = b;
    }
    @Override
    public int compareTo(Pair p) {
        if (this.a < p.a) return -1;
        else if (this.a == p.a) return 0;
        else return 1;

    }

}


class FastReader {

    BufferedReader bf;
    StringTokenizer tk = null;
    String DELIM = " ";

    public FastReader(BufferedReader bf) {
        this.bf = bf;
    }

    public String nextToken() throws Exception {

        if(tk==null || !tk.hasMoreTokens()) {
            tk = new StringTokenizer(bf.readLine(),DELIM);
        }
        return tk.nextToken();
    }

    public int nextInt() throws Exception {
        return Integer.parseInt(nextToken());
    }

    public int nextLong() throws Exception {
        return Integer.parseInt(nextToken());
    }

    public int nextDouble() throws Exception {
        return Integer.parseInt(nextToken());
    }
}