using System;
public class Test
{
public static void Main()
{
int oneInFour=0;
int twoInOne=0;
int twoInTwo=0;
int threeInOne=0;
int fourInOne=0;
int[] counts = new int[5];
for(int a=1;a<=4;a++) {
counts[a]++;
for(int b=1;b<=4;b++) {
counts[b]++;
for(int c=1;c<=4;c++) {
counts[c]++;
for(int d=1;d<=4;d++) {
counts[d]++;
int ones=0;
int twos=0;
for(int i=1;i<=4;i++) {
if(counts[i]==4) {
fourInOne++;
break;
} else if(counts[i]==3) {
threeInOne++;
break;
} else if(counts[i]==2) {
twos++;
} else if(counts[i]==1) {
ones++;
}
}
if(twos==2)
twoInTwo++;
else if(twos==1)
twoInOne++;
else if(ones==4)
oneInFour++;
counts[d]--;
}
counts[c]--;
}
counts[b]--;
}
counts[a]--;
}
Console.WriteLine("oneInFour="+oneInFour);
Console.WriteLine("twoInOne="+twoInOne);
Console.WriteLine("twoInTwo="+twoInTwo);
Console.WriteLine("threeInOne="+threeInOne);
Console.WriteLine("fourInOne="+fourInOne);
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCWludCBvbmVJbkZvdXI9MDsKCQlpbnQgdHdvSW5PbmU9MDsKCQlpbnQgdHdvSW5Ud289MDsKCQlpbnQgdGhyZWVJbk9uZT0wOwoJCWludCBmb3VySW5PbmU9MDsKCQlpbnRbXSBjb3VudHMgPSBuZXcgaW50WzVdOwoJCWZvcihpbnQgYT0xO2E8PTQ7YSsrKSB7CgkJCWNvdW50c1thXSsrOwoJCQlmb3IoaW50IGI9MTtiPD00O2IrKykgewoJCQkJY291bnRzW2JdKys7CgkJCQlmb3IoaW50IGM9MTtjPD00O2MrKykgewoJCQkJCWNvdW50c1tjXSsrOwoJCQkJCWZvcihpbnQgZD0xO2Q8PTQ7ZCsrKSB7CgkJCQkJCWNvdW50c1tkXSsrOwoJCQkJCQkKCQkJCQkJaW50IG9uZXM9MDsKCQkJCQkJaW50IHR3b3M9MDsKCQkJCQkJZm9yKGludCBpPTE7aTw9NDtpKyspIHsKCQkJCQkJCWlmKGNvdW50c1tpXT09NCkgewoJCQkJCQkJCWZvdXJJbk9uZSsrOwoJCQkJCQkJCWJyZWFrOwoJCQkJCQkJfSBlbHNlIGlmKGNvdW50c1tpXT09MykgewoJCQkJCQkJCXRocmVlSW5PbmUrKzsKCQkJCQkJCQlicmVhazsKCQkJCQkJCX0gZWxzZSBpZihjb3VudHNbaV09PTIpIHsKCQkJCQkJCQl0d29zKys7CgkJCQkJCQl9IGVsc2UgaWYoY291bnRzW2ldPT0xKSB7CgkJCQkJCQkJb25lcysrOwoJCQkJCQkJfQoJCQkJCQl9CgkJCQkJCWlmKHR3b3M9PTIpCgkJCQkJCQl0d29JblR3bysrOwoJCQkJCQllbHNlIGlmKHR3b3M9PTEpCgkJCQkJCQl0d29Jbk9uZSsrOwoJCQkJCQllbHNlIGlmKG9uZXM9PTQpCgkJCQkJCQlvbmVJbkZvdXIrKzsKCQkJCQkJCgkJCQkJCWNvdW50c1tkXS0tOwoJCQkJCX0KCQkJCQljb3VudHNbY10tLTsKCQkJCX0KCQkJCWNvdW50c1tiXS0tOwoJCQl9CgkJCWNvdW50c1thXS0tOwoJCX0KCQlDb25zb2xlLldyaXRlTGluZSgib25lSW5Gb3VyPSIrb25lSW5Gb3VyKTsKCQlDb25zb2xlLldyaXRlTGluZSgidHdvSW5PbmU9Iit0d29Jbk9uZSk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoInR3b0luVHdvPSIrdHdvSW5Ud28pOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJ0aHJlZUluT25lPSIrdGhyZWVJbk9uZSk7CgkJQ29uc29sZS5Xcml0ZUxpbmUoImZvdXJJbk9uZT0iK2ZvdXJJbk9uZSk7Cgl9Cn0=