Permutations and cycles

Given two natural numbers nn and kk, let f(n,k)f(n, k) denote the number of permutations with nn elements, and such that there are exactly kk cycles, all them of length at least 2. Implement a dynamic programming code to compute f(n,k)f(n, k).

Input

Input consists of several cases, each with two natural numbers nn and kk. You can assume 2n10002 \le n \le 1000 and 1kn/21 \le k \le \lfloor n/2 \rfloor.

Output

For every case, print f(n,k)f(n, k). Because that number can become very large, use @long long@’s and make the computations modulo 109+710^9 + 7.

Hint

You can compute f(n,k)f(n, k) just adding two “recursive calls”.

Problem information

Author: Unknown
Translator: Salvador Roura

Generation: 2026-01-25T12:22:16.426Z

© Jutge.org, 2006–2026.
https://jutge.org