#include using namespace std; typedef unsigned long long ull; ull fact(int n){ if(n==0 || n==1) return 1; return (n*fact(n-1)); } ull c(int k,int x){ return (fact(k)/(fact(k-x)*fact(x))); } long countArray(int n, int k, int x) { ull ans=c(k,n-2); ans=(ans*fact(n-2)); ull ans1=c(k-1,n-3); ans1=(ans1*fact(n-3)); ull ans2=c(k-1,n-4); ans2=ans2*fact(n-4); ans=ans-(ans1+ans2); return ans; // Return the number of ways to fill in the array. } int main() { int n; int k; int x; cin >> n >> k >> x; long answer = countArray(n, k, x); cout << answer << endl; return 0; }