#include<bits/stdc++.h>
#define int long long
#define N 109
using namespace std;
struct big{
int len,a[1009];
};
void print(big x){
for(int i=x.len;i>=1;i--){
cout<<x.a[i];
}
cout<<endl;
}
big f[N][N];
big add(big x,big y){
big c;
c.len=0;
int now=0;
for(int i=1;i<=max(x.len,y.len);i++){
int num=now+x.a[i]+y.a[i];
c.len++;
c.a[c.len]=num%10;
now=num/10;
}
while(now){
c.len++;
c.a[c.len]=now%10;
now/=10;
}
return c;
}
big mul(big x,int y){
int now=0;
for(int i=1;i<=x.len;i++){
int num=x.a[i]*y+now;
x.a[i]=num%10;
now=num/10;
}
while(now){
x.len++;
x.a[x.len]=now%10;
now/=10;
}
return x;
}
int n,m;
signed main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
for(int i=1;i<=100;i++){
f[i][1].len=1;
f[i][1].a[1]=1;
}
for(int i=2;i<=100;i++){
for (int j=1;j<=i;j++){
f[i][j]=add(f[i-1][j-1],mul(f[i-1][j],j));
}
}
while(cin>>n>>m){
if(n<m){
cout<<0<<endl;
continue;
}
print(f[n][m]);
}
return 0;
}