#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int llint; typedef double lldo; #define mp make_pair #define mt make_tuple #define pub push_back #define puf push_front #define pob pop_back #define pof pop_front #define fir first #define sec second #define res resize #define ins insert #define era erase /* cout<bool mineq(T& a,U b){if(a>b){a=b;return true;}return false;} template bool maxeq(T& a,U b){if(a void SO(T& ve){sort(ve.begin(),ve.end());} template void REV(T& ve){reverse(ve.begin(),ve.end());} templatellint LBI(vector&ar,T in){return lower_bound(ar.begin(),ar.end(),in)-ar.begin();} templatellint UBI(vector&ar,T in){return upper_bound(ar.begin(),ar.end(),in)-ar.begin();} int main(void){ cin.tie(0); ios::sync_with_stdio(false); //bitDP以外に存在しない static llint dp[65536][16]={0}; int i,j,h; int win[16][16]; for(i=0;i<16;i++){ for(j=0;j<16;j++){ int aaa;cin>>aaa; if(i0){dp[bi][xw]+=dp[tox][xw]*dp[toy][yw];} else{dp[bi][yw]+=dp[tox][xw]*dp[toy][yw];} } } } } for(i=0;i<16;i++){cout<<(dp[65535][i]<<15)<