A permutation *p* of size *n* is an array such that every integer from 1 to *n* occurs exactly once in this array.

Let's call a permutation an almost identity permutation iff there exist at least *n* - *k* indices *i* (1 ≤ *i* ≤ *n*) such that *p*<sub class="lower-index">*i*</sub> = *i*.

Your task is to count the number of almost identity permutations for given numbers *n* and *k*.
The first line contains two integers *n* and *k* (4 ≤ *n* ≤ 1000, 1 ≤ *k* ≤ 4).
none
4 1
1
4 2
7
5 3
31
5 4
76
200 1
1
200 2
19901
200 3
2646701
200 4
584811251
400 1
1
400 2
79801
400 3
21253401
400 4
9477912501
600 1
1
600 2
179701
600 3
71820101
600 4
48187303751
800 1
1
800 2
319601
800 3
170346801
800 4
152620985001
1000 1
1
1000 2
499501
1000 3
332833501
1000 4
373086956251
4 4
24
import sys
input=sys.stdin.readline
from math import *
n,k=map(int,input().split())
def cof(n, k): 
    C = [[0 for x in range(k+1)] for x in range(n+1)] 

    for i in range(n+1): 
        for j in range(min(i, k)+1): 

            if j == 0 or j == i: 
                C[i][j] = 1

            else: 
                C[i][j] = C[i-1][j-1] + C[i-1][j] 
  
    return C[n][k] 
def deran(n,der): 

    der[0] = 1
    der[1] = 0
    der[2] = 1

    for i in range(3, n + 1): 
        der[i] = (i - 1) * (der[i - 1] + der[i - 2]) 
          
    return der[n]
    
c=0
der=[0 for i in range(n+10)]
deran(n,der)
for i in range(k+1):    
    p=cof(n,n-i)
    c+=p*der[i]
print(c)    
        