#include int N, K; int flag[21]; void dfs(int depth, int cnt,int pre); typedef long long ll; ll ans; int main() { scanf("%d %d", &N, &K); flag[K] = 1; dfs(1, 0, K); printf("%lld\n", ans); return 0; } void dfs(int depth, int cnt,int pre) { if (cnt >= 2) { return; } if (depth == N) { if (cnt == 1) { ans++; } return; } int i; for (i = 1; i <= N; i++) { if (flag[i] == 0 ) { if (pre < i) { flag[i] = 1; dfs(depth+1,cnt,i); flag[i] = 0; } else if (pre > i && cnt==0) { flag[i] = 1; dfs(depth+1,1,i); flag[i] = 0; } } } }