#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define LL long long int #define uLL unsigned long long int #define S(a) scanf("%d",&a) #define S2(a,b) scanf("%d%d",&a,&b) #define S3(a,b,c) scanf("%d%d%d",&a,&b,&c) #define SLL(a) scanf("%lld",&a) #define SLL2(a,b) scanf("%lld%lld",&a,&b) #define SLL3(a,b,c) scanf("%lld%lld%lld",&a,&b,&c) #define SC(a) scanf("%c",&a) #define P(a) printf("%d",a) #define PS(a) printf("%s",a) #define PLL(a) printf("%lld",a) #define PCASE(kk) printf("Case %d: ",kk++) #define PCASENL(kk) printf("Case %d:\n",kk++) #define NL puts("") #define pb(a) push_back(a) #define mp(a,b) make_pair(a,b) #define pi (2.0*acos(0.0)) #define pii pair templateinline T POW(T B,T P) { if(P==0) return 1; if(P&1) return B*POW(B,P-1); else return SQR(POW(B,P/2)); } template inline T BMOD(T p,T e,T m) { T ret=1; while(e) { if(e&1) ret=(ret*p)%m; p=(p*p)%m; e>>=1; } return (T)ret; } template inline T ModInv (T b,T m) { return BMOD(b,m-2,m); } templateinline T ABS(T a) { if(a<0)return -a; else return a; } templateinline T gcd(T a,T b) { if(a<0)return gcd(-a,b); if(b<0)return gcd(a,-b); return (b==0)?a:gcd(b,a%b); } templateinline T lcm(T a,T b) { if(a<0)return lcm(-a,b); if(b<0)return lcm(a,-b); return a*(b/gcd(a,b)); } //for(__typeof(pp.begin()) i=pp.begin(); i!=pp.end(); i++ ) //knight and king move.... //int Dx[]={-2,-1,1,2,1,2,-2,-1}; //int Dy[]={-1,-2,2,1,-2,-1,1,2}; int dx[]= {-1,1,0,0}; int dy[]= {0,0,-1,1}; //int dx[]= {-1,-1,0,0,1,1}; //int dy[]= {-1,0,-1,1,0,1}; ///////////// #define mod 1000000007LL LL n,k,x; int main() { SLL3(n,k,x); LL res=1LL; LL cx; if(x==1)cx=0; else cx=1; LL pa=k-1; pa-=cx; // cout<