#include<stdio.h>
unsigned long nCm(int, int);
int gcd(int, int);
int main() {
int n, m;
return 0;
}
/*
nCm
= (n /m) * n-1Cm-1 (0< m <n)
= 1 (otherwise)
*/
unsigned long nCm(int n, int m) {
if (!(0 < m && m < n)) {
return 1;
}
int g = gcd(n, m);
return (n / g) * (nCm(n - 1, m - 1) / (m / g));
}
//最大公約数を求める
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
I2luY2x1ZGU8c3RkaW8uaD4KCnVuc2lnbmVkIGxvbmcgbkNtKGludCwgaW50KTsKaW50IGdjZChpbnQsIGludCk7CgppbnQgbWFpbigpIHsKCWludCBuLCBtOwoJc2NhbmYoIiVkLCVkIiwgJm4sICZtKTsKCXByaW50ZigiJWx1XG4iLCBuQ20obiwgbSkpOwoJcmV0dXJuIDA7Cn0KCi8qCm5DbQo9IChuIC9tKSAqIG4tMUNtLTEgKDA8IG0gPG4pCj0gMSAob3RoZXJ3aXNlKQoqLwp1bnNpZ25lZCBsb25nIG5DbShpbnQgbiwgaW50IG0pIHsKCglpZiAoISgwIDwgbSAmJiBtIDwgbikpIHsKCQlyZXR1cm4gMTsKCX0KCWludCBnID0gZ2NkKG4sIG0pOwoJcmV0dXJuIChuIC8gZykgKiAobkNtKG4gLSAxLCBtIC0gMSkgLyAobSAvIGcpKTsKfQoKLy/mnIDlpKflhazntITmlbDjgpLmsYLjgoHjgosKaW50IGdjZChpbnQgYSwgaW50IGIpIHsKCWlmIChiID09IDApIHsKCQlyZXR1cm4gYTsKCX0KCXJldHVybiBnY2QoYiwgYSAlIGIpOwp9