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
#!/usr/bin/env python3

import math
import sys
input = lambda: sys.stdin.readline().rstrip("\r\n")


def test_case():
    n, k = map(int, input().split())
    d = [0 for _ in range(n+1)]
    d[0] = 1
    d[1] = 0
    for i in range(2, 5):
        d[i] = (i-1)*(d[i-1] + d[i-2])
    f = [0 for _ in range(n+1)]
    f[0] = 1
    for i in range(1, n+1):
        f[i] = i*f[i-1]

#    print(f)
#    print(d)

    ans = 0
    for i in range(0, k+1):
        c = f[n]//(f[n-i]*f[i])
#        print(c)
#        print(d[i]*c)
        ans += (d[i] * c)
    print(ans)


def main():
    t = 1
#    t = int(input())
    for _ in range(t):
        test_case()

if __name__ == '__main__':
    main()
