#include <iostream>
#include <algorithm>
#include <queue>
#include <climits>
using namespace std;
long long dp[31][31];
long long func(int n, int k){
if (dp[n][k] != -1){
return dp[n][k];
}
if (k == 1){
dp[n][k] = 1;
return dp[n][k];
}
if (n == k){
dp[n][k] = 1;
return dp[n][k];
}
dp[n][k] = func(n-1, k) + func(n-1, k-1);
return dp[n][k];
}
int main(){
cin.tie(NULL);
ios::sync_with_stdio(false);
for (auto i =0; i<31; i++){
for (auto j=0; j<31; j++){
dp[i][j]=-1;
}
}
int n,k;
cin >> n >> k;
cout << func(n,k);
return 0;
}