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
# region declaration
from collections import *
from functools import *
from math import *
from heapq import *
from itertools import *
from bisect import *

# autopep8: off
def floatl(): return (list(map(float, input().split())))
def inlt(): return (list(map(int, input().split())))
def inp(): return int(input())
def ins(): return str(input())
def insr(): return list(input())
def invr(): return (map(int, input().split()))
def yesno(predicate): print("Yes" if predicate else "No")
MOD = 998244353
INF = inf
# autopep8: on
# endregion


def derangement(n, m):
    if m == 1:
        return 0
    der = 0
    for i in range(m+1):
        der += factorial(m) * (-1 if i % 2 else 1) // factorial(i)
    return comb(n, m) * der


def solve():
    n, k = inlt()
    return 1+sum(derangement(n, i) for i in range(2, k+1))


t = 1
# t = inp()
for _ in range(t):
    print(solve())
