#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include typedef long long ll; using namespace std; #define debug(x) cerr << #x << " = " << (x) << endl; #define mod 1000000007 //1e9+7(prime number) #define INF 1000000000 //1e9 #define LLINF 2000000000000000000LL //2e18 #define SIZE 100010 int gx, gy, k; int x[5],y[5],n[5]; int his[5]; ll power(int k,int n,int M){ if(n==0) return 1; if(n==1) return (ll)k; ll ret = power(k,n/2,M); ret=(ret*ret)%M; if(n%2==1) ret=(ret*k)%M; return ret; } ll fac[15*5+1], faci[15*5+1]; void init(){ fac[0] = 1; faci[0] = 1; for(int i=1;i<=15*5;i++){ fac[i] = (fac[i-1] * i)%mod; faci[i] = power(fac[i],mod-2, mod); } } ll dfs(int h, int cx, int cy){ ll res = 0; if(h == k){ if(cx != gx || cy != gy) return 0; int sum = 0; for(int i=0;i