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 p_{i} of permutation p_1, p_2, ... , p_{n} is good if gcd(i, p_{i}) > 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 ≤ 10^5, 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.

Difficulty: interview

Starter code:

Solutions:
n,k = list(map(int,input().split()))
if n > 2:
	if k == n:
		print("-1")
	elif k < n-1:
		p = [n]
		for i in range(2,k+2):
			p.append(i)
		p.append(1)
		for i in range(k+2,n):
			p.append(i)
		print(*p)
	elif k == n-1:
		p = []
		for i in range(1,n+1):
			p.append(i)
		print(*p)
		
elif n == 2:
	if k == 1:
		print("1 2")
	elif k == 0:
		print("2 1")
	else:
		print("-1")
else:
	if k == 0:
		print("1")
	else:
		print("-1")


n,k=map(int,input().split())
L=[0]*n
if(k==n):
    print(-1)

else:
    if((n-(k+1))%2==0):
        L[0]=1
        for i in range(k):
            L[i+1]=i+2
        for i in range(k+1,n,2):
            L[i]=i+2
            L[i+1]=i+1
    else:
        L[0]=k+2
        for i in range(k):
            L[i+1]=i+2
        for i in range(k+2,n,2):
            L[i]=i+2
            L[i+1]=i+1
        L[k+1]=1
    print(L[0],end="")
    for i in range(1,n):
        print(" "+str(L[i]),end="")
    


n, k = map(int, input().split())
if n - k == 0:
    print(-1)
elif n - k == 1:
    for i in range(n):
        print(i + 1, end = ' ')
else:
    print(n, end = ' ')
    for i in range(k):
        print(i + 2, end = ' ')
    print(1, end = ' ')
    for i in range(n - k - 2):
        print(k + i + 2, end = ' ')

n, k = map(int, input().split())
a = [i+1 for i in range(n)]
if n == k:
    print(-1)
else:
    for i in range(n-k-1):
        a[0], a[n-1-i] = a[n-i-1],a[0]
    print(*a)

import fractions
n, k = list(map(int, input().split()))
A = [i + 1 for i in range(n)]
if k == n:
    print(-1)
else:
    good = n - 1
    i = n - 1
    while good - k > 1:
        A[i], A[i - 1] = A[i - 1], A[i]
        good -= 2
        i -= 2
    if good - k == 1:
        for i in range(1, n):
            if fractions.gcd(i + 1, A[i]) != 1:
                A[i], A[0] = A[0], A[i]
                good -= 1
                break
    if good == k:
        print(' '.join(map(str, A)))
    else:
        print(-1)



def k_beautiful(n, k):
    if n <= k:
        return [-1]
    else:
        beautiful = [i for i in range(1, n+1)]
    
    # make them not beauftiful
    left = n- k - 1
    if left % 2 == 0:
        for i in range(k+1, n, 2):
            beautiful[i], beautiful[i+1] = beautiful[i+1], beautiful[i] 
    else:
        for i in range(k+1, n-1, 2):
            beautiful[i], beautiful[i+1] = beautiful[i+1], beautiful[i]
        beautiful[0], beautiful[-1] = beautiful[-1], beautiful[0]
        
        
    return beautiful

def print_l(l):
    string = ""
    for item in l:
        string += str(item) + " "
    if len(string) > 1:
        string = string[0:len(string) - 1]
    print(string)
    
        
def main():
    i = input().split()
    n = int(i[0])
    k = int(i[1])
    print_l(k_beautiful(n, k))

main()


n, k = map(int, input().split())

if n - k == 0:
    print(-1)

elif n - k == 1:
    for j in range(n):
        print(j + 1, end = ' ')
    
else: 
    print(n, end = ' ')

    for i in range(2, 2 + k):
        print(i, end = ' ')
      
    print(1, end = ' ')    
        
    for h in range(k + 3, n + 1):
        print(h - 1, end = ' ')


n,k=map(int,input().split())
r=list(range(n))
index=1;
if k>=0 and k<n:
    while k<n-1:
        if k+2<=n-1:
            r[index]=index+1
            r[index+1]=index
            index=index+2
            k=k+2
        elif k+1==n-1:
            r[index]=0
            r[0]=index;
            k=k+1
            break
        else:
            break
    for i in r:
        print(i+1,end=' ')
else:
    print(-1)


n, k = list(map(int, input().split()))
if k == n:
    print(-1)
else:
    ans = [i for i in range(1, k+2)]
    for i in range(k+2, 2*n//2, 2):
        ans.append(i+1)
        ans.append(i)
    if (n+k) % 2 == 0 and k < n - 1:
        ans[0] = n
        ans.append(1)
    print(*ans)


def gcd(a, b):
    while (a != 0 and b != 0):
        if a > b:
            a = a % b
        else:
            b = b % a
    return (a + b) // 2
n, k = [int(i) for i in input().split()]
if n <= k:
    print('-1')
else:
    a = [i + 1 for i in range(n)]
    for i in range(n - k - 1, 0, -1):
        a[i] = a[i - 1]
    a[0] = n - k
    print(*a)

'''n-1 good ones
1 bad one

count for k
    if odd then hop from i=2 swapping neighbors
    if even then hop from i=1 swapping neighbors
non-countable cases should be caught in first line'''
import sys
n,k = list(map(int,input().split()))
if k==n:
    print(-1)
    return
elements = [i+1 for i in range(n)]
i = 1 if (n-k)%2 else 0
while i<n-k:
    elements[i],elements[i+1] = elements[i+1],elements[i]
    i+=2
print(' '.join([str(e) for e in elements]))



n, k = map(int, input().split())
if k >= n: print(-1)
elif k + 1 == n: print(' '.join(map(str, range(1, n + 1))))
else: print(' '.join(map(str, [k + 2] + list(range(2, k + 2)) + list(range(k + 3, n + 1)) + [1])))

3

def readln(): return tuple(map(int, input().split()))

n, k = readln()
if n == k:
    print(-1)
else:
    print(*(list(range(2, n - k + 1)) + [1] + list(range(n - k + 1, n + 1))))


n, k = [int(x) for x in input().split()]

if k==n:
	print(-1)
elif n==1 and k==0:
	print(1)
else:
	storti = n-k
	for i in range(2, n-k+1):
		print(i, end=' ')
	print(1, end=' ')
	for i in range(n-k+1, n+1):
		print(i, end=' ')


__author__ = 'asmn'
n, k = tuple(map(int, input().split()))

print(-1 if n == k else ' '.join(map(str, list(range(2, n - k + 1)) + [1] + list(range(n - k + 1, n + 1)))))

n,k=map(int,input().split())
if(k>n-1):
    print('-1')
    return
    
a = [0]*(n+1)
for i in range(1,n+1): a[i]=i
for i in range(n-k,1,-1): a[i]=a[i-1]
a[1] = n-k
for i in range(1,n+1):
    if(i>1): print(' ',end='')
    print(a[i],end='')
print('')


import itertools
import math
import random

import time
def timer(f):
    def tmp(*args, **kwargs):
        t = time.time()
        res = f(*args, **kwargs)
        print("Время выполнения функции: %f" % (time.time()-t))
        return res

    return tmp

def genArray(length, lower, upper):
    return [random.randint(lower, upper) for i in range(length)]

#print(genArray(5, 4, 9))

def gcd(a, b):
    if b==0:
        return a
    else:
        return gcd(b, a%b)

n, k = map(int, input().split(' '))
k = n-k

if k == 0:
    print(-1)
    return
else:
    array = [0 for i in range(n)]
    for j in range(k):
        array[j] = (j-1)%(k)+1
    for j in range(k, n):
        array[j] = j+1


ar = [i+1 for i in range(n)]
#print(ar)
#print(array)

total = 0
for i in range(n):
    if gcd(ar[i], array[i])==1:
        total+=1

#print(total)

str = array.__str__().replace('[', '').replace(']', '').replace(',', '')
print(str)

n, k = map(int, input().split())
# n - 1 with gcd > 1 because any number gcd with itself is > 1
array = [0] + [i+1 for i in range(n)]
# print(*array[1:])
if n == k:
    print(-1)
else:
    for i in range(0, n-k-1):
    	# All consecutive numbers are coprimes, every swap removes a coprime
        array[1], array[n-i] = array[n-i],array[1]
        # print(*array[1:])
    print(*array[1:])

#!/usr/bin/env python
# -*- coding: utf-8 -*-

n, k = list(map(int, input().split()))
if n == k:
    print(-1)
else:
    print(' '.join(map(str, list(range(2, n-k+1)) + [1] + list(range(n-k+1, n+1)))))


n, k = map(int, input().split(" "))
if k >= n:
    print("-1")
elif n-1 == k:
    for i in range(1,n+1):
        print(i, end=" ")
else:
    a = [k+2]+list(range(2, k+2))+list(range(k+3, n+1))+[1]
    print(*a)

n, k = [int(item) for item in input().split()]
result = [0]*n
if k < n-1:
    result[0] = n
else:
     result[n-1] = n
l = 1
for i in range(1, n-1):
    if i <= k:
        result[i] = i+1
    else:
        result[-l] = n - l
        l += 1
if result.__contains__(0):
    result[result.index(0)] = 1
if n == 1 == k or k == n:
    print('-1')
else:
    print(' '.join(map(str, result)))

def wtf(i, k , n):
    if i >= n - k:
        return i
    elif (n-k) % 2 == 0:
        if i % 2 == 0:
            return i + 1
        elif i == 1:
            return 1
        else:
            return i - 1
    else:
        if i % 2 == 0:
            return i - 1
        else:
            return i + 1


def main ():
    n, k = list(map(int, input().split()))
    if n == k:
        print (-1)
    else:
        permutation = [str(wtf(i, k, n+1)) for i in range(1, n+1)]
        print (" ".join(permutation))

def __starting_point():
    main()
__starting_point()

def nod(a,b):
    while a!=0 and b!=0:
        if a > b:
            a = a % b
        else:
            b = b % a
    return(a+b)


  
n,k = [int(i) for i in input().split()]
a = [0]*n
s = ''
if n<=k:
    print(-1)
else:
    for i in range(1,k+1):
        a[i] = i+1
    for i in range(k+1,n-1):
        a[i] = i+2


    if n-k>1:
        a[0]=k+2
        a[n-1]=1
        a = [str(i) for i in a]
        print(' '.join(a))
    else:
        a[0]=1
        a[n-1]=n
        a = [str(i) for i in a]
        print(' '.join(a))



import sys
import math
import string
import operator
import functools
import fractions
import collections
sys.setrecursionlimit(10**7)
dX= [-1, 1, 0, 0,-1, 1,-1, 1]
dY= [ 0, 0,-1, 1, 1,-1,-1, 1]
RI=lambda: list(map(int,input().split()))
RS=lambda: input().rstrip().split()
#################################################
n,k=RI()
if n==k:
    print(-1)
else:
    print(n-k,end=" ")
    for i in range(1,n-k):
        print(i,end=" ")
    for i in range(n-k+1, n+1):
        print(i,end=" ")