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.*;
import java.lang.*;
import java.io.*;




/* Name of the class has to be "Main" only if the class is public. */
public class Main
{
     
    static PrintWriter out;
    
    
	static class FastReader{
		BufferedReader br;
		StringTokenizer st;
		public FastReader(){
			br=new BufferedReader(new InputStreamReader(System.in));
			out=new PrintWriter(System.out);
		}
		String next(){
			while(st==null || !st.hasMoreElements()){
				try{
					st= new StringTokenizer(br.readLine());
				}
				catch (IOException e){
					e.printStackTrace();
				}
			}
			return st.nextToken();
		}
		int nextInt(){
			return Integer.parseInt(next());
		}
		long nextLong(){
			return Long.parseLong(next());
		}
		double nextDouble(){
			return Double.parseDouble(next());
		}
		String nextLine(){
			String str = "";
			try{
				str=br.readLine();
			}
			catch(IOException e){
				e.printStackTrace();
			}
			return str;
		}
	}
	

public static int  min(int a ,int b , int c, int d)
{
       
       
       int[] arr = new int[4] ;
       arr[0] = a;
       arr[1] = b ;
       arr[2] = c;
       arr[3] = d;
       Arrays.sort(arr) ;
       
       return arr[0];
       
}
    
    
    
	public static void main (String[] args) throws java.lang.Exception
	{
	
	FastReader scn = new FastReader() ;
	
 //	int t = scn.nextInt() ;
	
//	for(int k = 1; k<= t ; k++)
//	{
        
        
        int n = scn.nextInt() ;int k = scn.nextInt() ;
        
       if(n== k)
       {
              out.println(-1) ;
       }
       
       else if( k == n-1)
       {
              for(int i =  1 ; i<= n ; i++)out.print(i +" ");
              
       }
       
       
       else{
              k = n - k ;
              
              out.print(k +" ");
              
              for(int i =  1 ; i<= k-1 ; i++)out.print(i +" ");
              
              for(int i = k+ 1 ; i <= n ;i++)out.print(i+" ");
              
       }
       
       
       
	
 // }

out.flush()  ; 
	}
	
	
}