The Journey of Geor Autumn
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

Once upon a time, there was a witch named Geor Autumn, who set off on a journey across the world. Along the way, she would meet all kinds of people, from a country full of ICPC competitors to a horse in love with dota---but with each meeting, Geor would become a small part of their story, and her own world would get a little bit bigger.

Geor just arrived at the state of Shu where people love poems. A poem is a permutation of . ( is a permutation of means that each is an integer in and that are distinct.) One poem is good if for all integer satisfying and , . Here denotes the minimum value among .

Help Geor calculate how many good poems there are, given and . To avoid huge numbers, output the answer modulo .

输入描述:

The first line contains two integers n and k separated by a single space (, ).

输出描述:

Output only one integer in one line---the number of good poems modulo .
示例1

输入

复制
1 1

输出

复制
1
示例2

输入

复制
2 3

输出

复制
2
示例3

输入

复制
3 2

输出

复制
4
示例4

输入

复制
4 2

输出

复制
10