#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,m,n) for(int i=(int)m ; i < (int) n ; ++i ) #define rep(i,n) REP(i,0,n) typedef long long ll; typedef pair pint; typedef pair pli; const int inf=1e9+7; const ll longinf=1LL<<60 ; const ll mod=1e9+7 ; ll fact[17],dp[16][65536]; int n=16,m=65536,a[16][16]; ll rec(int k,int mask){ if(dp[k][mask]!=-1)return dp[k][mask]; int cnt=__builtin_popcount(mask); if(cnt==1)return 1; int bit=mask^(1<=0;i--){ i&=bit; int c=__builtin_popcount(i); if(2*c!=cnt)continue; ll res=0; rep(j,16)if((i&(1<>a[i][j]; if(i>j)a[i][j]=-a[j][i]; } rep(i,n)cout<