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.util.HashSet;
import java.util.LinkedList;
import java.util.Scanner;

public class B {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int k = sc.nextInt();
		
		int[] perm = new int[n+1];
		LinkedList<Integer> d = new LinkedList();
		for(int i = 1; i <= n; ++i) {
			if(i != 1)
				d.add(i);
			perm[i] = i;
		}
		HashSet<Integer> used = new HashSet();
		
		int good = n-1;
		for(int i = 2; i <= n && good > k+1; ++i) {
			if(!used.contains(i)) {
				int count = 0;
				while(!d.isEmpty() && count++ < n) {
					int a = d.poll();
					if(!used.contains(a)) {
						if(gcd(i, a) == 1) {
							used.add(i);
							used.add(a);
							perm[i] = a;
							perm[a] = i;
							good -= 2;
							break;
						} else {
							d.add(a);
						}
					}
				}
			}
		}
		if(good == k+1) {
			int a = d.poll();
			do {
				if(!used.contains(a)) {
					perm[1] = a;
					perm[a] = 1;
					--good;
					break;
				}
				a = d.poll();
			} while(!d.isEmpty());
		}
		
		if(good == k) {
			for(int i = 1; i <= n; ++i) {
				if(i != 1)
					System.out.print(" ");
				System.out.print(perm[i]);
			}
			System.out.println();
		} else
			System.out.println(-1);
		
	}

	static int gcd(int p, int q) {
		if(q == 0)
			return p;
		return gcd(q, p%q);
	}
}