#include <iostream>
using namespace std;
#define loop(i,a,b) for(int i=a; i<b; i++)
#define rep(i,b) loop(i,0,b)
int choose[][2] = {
{0,1},
{0,2},
{0,3},
{1,2},
{1,3},
{2,3}
};
int main(){
size_t ans[17]={0};
rep(i,6)rep(j,6)rep(k,6)rep(l,6){
int n=0;
rep(choise,16){
int used=0;
used|=1<<(choose[i][choise>>0&1]);
used|=1<<(choose[j][choise>>1&1]);
used|=1<<(choose[k][choise>>2&1]);
used|=1<<(choose[l][choise>>3&1]);
if(used==15) n++;
}
ans[n]++;
}
rep(i,17){
cout<<i<<" "<<ans[i]<<endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgbG9vcChpLGEsYikgZm9yKGludCBpPWE7IGk8YjsgaSsrKQojZGVmaW5lIHJlcChpLGIpIGxvb3AoaSwwLGIpCgppbnQgY2hvb3NlW11bMl0gPSB7CiAgICB7MCwxfSwKICAgIHswLDJ9LAogICAgezAsM30sCiAgICB7MSwyfSwKICAgIHsxLDN9LAogICAgezIsM30KfTsKCmludCBtYWluKCl7CiAgICBzaXplX3QgYW5zWzE3XT17MH07CiAgICByZXAoaSw2KXJlcChqLDYpcmVwKGssNilyZXAobCw2KXsKICAgICAgICBpbnQgbj0wOwogICAgICAgIHJlcChjaG9pc2UsMTYpewogICAgICAgICAgICBpbnQgdXNlZD0wOwogICAgICAgICAgICB1c2VkfD0xPDwoY2hvb3NlW2ldW2Nob2lzZT4+MCYxXSk7CiAgICAgICAgICAgIHVzZWR8PTE8PChjaG9vc2Vbal1bY2hvaXNlPj4xJjFdKTsKICAgICAgICAgICAgdXNlZHw9MTw8KGNob29zZVtrXVtjaG9pc2U+PjImMV0pOwogICAgICAgICAgICB1c2VkfD0xPDwoY2hvb3NlW2xdW2Nob2lzZT4+MyYxXSk7CiAgICAgICAgICAgIGlmKHVzZWQ9PTE1KSBuKys7CiAgICAgICAgfQogICAgICAgIGFuc1tuXSsrOwogICAgfQogICAgcmVwKGksMTcpewogICAgICAgIGNvdXQ8PGk8PCIgIjw8YW5zW2ldPDxlbmRsOwogICAgfQp9Cg==