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.
###################################################################
#                  ."-,.__
#                  `.     `.  ,
#               .--'  .._,'"-' `.
#              .    .'         `'
#              `.   /          ,'
#                `  '--.   ,-"'
#                 `"`   |  \
#                    -. \, |
#                     `--Y.'      ___.
#                          \     L._, \
#                _.,        `.   <  <\                _
#              ,' '           `, `.   | \            ( `
#           ../, `.            `  |    .\`.           \ \_
#          ,' ,..  .           _.,'    ||\l            )  '".
#         , ,'   \           ,'.-.`-._,'  |           .  _._`.
#       ,' /      \ \        `' ' `--/   | \          / /   ..\
#     .'  /        \ .         |\__ - _ ,'` `        / /     `.`.
#     |  '          ..         `-...-"  |  `-'      / /        . `.
#     | /           |L__           |    |          / /          `. `.
#    , /            .   .          |    |         / /             ` `
#   / /          ,. ,`._ `-_       |    |  _   ,-' /               ` \
#  / .           \"`_/. `-_ \_,.  ,'    +-' `-'  _,        ..,-.    \`.
# .  '         .-f    ,'   `    '.       \__.---'     _   .'   '     \ \
# ' /          `.'    l     .' /          \..      ,_|/   `.  ,'`     L`
# |'      _.-""` `.    \ _,'  `            \ `.___`.'"`-.  , |   |    | \
# ||    ,'      `. `.   '       _,...._        `  |    `/ '  |   '     .|
# ||  ,'          `. ;.,.---' ,'       `.   `.. `-'  .-' /_ .'    ;_   ||
# || '              V      / /           `   | `   ,'   ,' '.    !  `. ||
# ||/            _,-------7 '              . |  `-'    l         /    `||
# . |          ,' .-   ,' ||               | .-.        `.      .'     ||
#  `'        ,'    `".'    |               |    `.        '. -.'       `'
#           /      ,'      |               |,'    \-.._,.'/'
#           .     /        .               .       \    .''
#         .`.    |         `.             /         :_,'.'
#           \ `...\   _     ,'-.        .'         /_.-'
#            `-.__ `,  `'   .  _.>----''.  _  __  /
#                 .'        /"'          |  "'   '_
#                /_|.-'\ ,".             '.'`__'-( \
#                  / ,"'"\,'               `/  `-.|" 
###################################################################

from sys import stdin, stdout
from math import floor, gcd, fabs, factorial, fmod, sqrt, inf, log
from collections import defaultdict as dd, deque
from heapq import merge, heapify, heappop, heappush, nsmallest
from bisect import bisect_left as bl, bisect_right as br, bisect
        
mod = pow(10, 9) + 7
mod2 = 998244353
        
def inp(): return stdin.readline().strip()
def iinp(): return int(inp())
def out(var, end="\n"): stdout.write(str(var)+"\n")
def outa(*var, end="\n"): stdout.write(' '.join(map(str, var)) + end)
def lmp(): return list(mp())
def mp(): return map(int, inp().split())
def smp(): return map(str, inp().split())
def l1d(n, val=0): return [val for i in range(n)]
def l2d(n, m, val=0): return [l1d(m, val) for j in range(n)]
def remadd(x, y): return 1 if x%y else 0
def ceil(a,b): return (a+b-1)//b
  
def isprime(x):
    if x<=1: return False
    if x in (2, 3): return True
    if x%2 == 0: return False
    for i in range(3, int(sqrt(x))+1, 2):
        if x%i == 0: return False
    return True
 
n, k = lmp()
if(n==k):
    print(-1)
elif(k==n-1):
    print(*[i+1 for i in range(n)])
else:
    print(k+2, end=" ")
    for i in range(k): print(i+2, end=" ")
    for i in range(k+2, n+1): print(i%n+1, end=" ")
    print()