//Peter Steele Intermediate 5 McLean High
School
import java.util.*;
public class ACSL4PeterSteele {
public static void main(String[] args) {
Scanner input = new
Scanner(System.in);
String Winninghand = input.nextLine();
String Losinghand[] = new String[5];
for(int a = 0; a < 5; a++){
Losinghand[a] = input.nextLine();
}
String[][] Losinghandarray = new
String[5][20];
String[][] Winninghandarray = new
String[5][20];
ArrayList<String> possibilities1
= new ArrayList<String>();
ArrayList<String> possibilities2
= new ArrayList<String>();
ArrayList<String> possibilities3
= new ArrayList<String>();
ArrayList<String> possibilities4
= new ArrayList<String>();
ArrayList<String> possibilities5
= new ArrayList<String>();
int count1 = 7;
int count2 = 7;
int count3 = 7;
int count4 = 7;
int count5 = 7;
for(int a = 0; a < 5; a++){
for(int b = 0; b < 7; b++){
Winninghandarray[a][b] =
Winninghand.substring(4*b + 4,4*b+6);
}}
for(int a = 0; a < 5; a++){
for(int b = 0; b < 7; b++){
Losinghandarray[a][b] =
Losinghand[a].substring(4*b + 4,4*b+6);
}}
possibilities1 =
evaluate(Losinghandarray[0]);
possibilities2 =
evaluate(Losinghandarray[1]);
possibilities3 =
evaluate(Losinghandarray[2]);
possibilities4 =
evaluate(Losinghandarray[3]);
possibilities5 =
evaluate(Losinghandarray[4]);
for(int b = 0; b < 10; b++){
for(int a = 0; a <
possibilities1.size(); a++){
if(checkforrun(possibilities1.get(a), Winninghandarray[0])){
Winninghandarray[0][count1] =
Losinghandarray[0][indexOf(possibilities1.get(a).substring(6,8),
Losinghandarray[0])];
Losinghandarray[0][indexOf(possibilities1.get(a).substring(6,8),
Losinghandarray[0])] = null;
possibilities1.set(a,
" ");
count1 +=1;
}}
for(int a = 0; a <
possibilities2.size(); a++){
if(checkforrun(possibilities2.get(a),
Winninghandarray[1])){
Winninghandarray[1][count2] =
Losinghandarray[1][indexOf(possibilities2.get(a).substring(6,8),
Losinghandarray[1])];
Losinghandarray[1][indexOf(possibilities2.get(a).substring(6,8),
Losinghandarray[1])] = null;
possibilities2.set(a,
" ");
count2 +=1;
}}
for(int a = 0; a <
possibilities3.size(); a++){
if(checkforrun(possibilities3.get(a),
Winninghandarray[2])){
Winninghandarray[2][count3] =
Losinghandarray[2][indexOf(possibilities3.get(a).substring(6,8),
Losinghandarray[2])];
Losinghandarray[2][indexOf(possibilities3.get(a).substring(6,8),
Losinghandarray[2])] = null;
possibilities3.set(a,
" ");
count3 +=1;
}}
for(int a = 0; a <
possibilities4.size(); a++){
if(checkforrun(possibilities4.get(a), Winninghandarray[3])){
Winninghandarray[3][count4] =
Losinghandarray[3][indexOf(possibilities4.get(a).substring(6,8),
Losinghandarray[3])];
Losinghandarray[3][indexOf(possibilities4.get(a).substring(6,8),
Losinghandarray[3])] = null;
possibilities4.set(a,
" ");
count4 +=1;
}}
for(int a = 0; a <
possibilities5.size(); a++){
if(checkforrun(possibilities5.get(a), Winninghandarray[4])){
Winninghandarray[4][count5] =
Losinghandarray[4][indexOf(possibilities5.get(a).substring(6,8),
Losinghandarray[4])];
Losinghandarray[4][indexOf(possibilities5.get(a).substring(6,8),
Losinghandarray[4])] = null;
possibilities5.set(a, " ");
count5 +=1;
}
}
}
System.out.println("1.
"+addupscores(Losinghandarray[0]));
System.out.println("2.
"+addupscores(Losinghandarray[1]));
System.out.println("3.
"+addupscores(Losinghandarray[2]));
System.out.println("4.
"+addupscores(Losinghandarray[3]));
System.out.println("5.
"+addupscores(Losinghandarray[4]));
}
public static int indexOf(String a,
String[] c){
int count = 0;
for(String b:c){
if (a.equals(b))return count;
count++;
}
return -1;
}
public static int addupscores(String[]
hand){
int score = 0;
for(int a = 0; a <
hand.length; a++){
if(hand[a]
!= null){
if(hand[a].charAt(0) ==
'A') score += 1;
if(hand[a].charAt(0) == '2') score
+= 2;
if(hand[a].charAt(0) == '3') score
+= 3;
if(hand[a].charAt(0) == '4') score
+= 4;
if(hand[a].charAt(0) == '5') score
+= 5;
if(hand[a].charAt(0) == '6') score
+= 6;
if(hand[a].charAt(0) == '7') score
+= 7;
if(hand[a].charAt(0) == '8') score
+= 8;
if(hand[a].charAt(0) == '9') score
+= 9;
if(hand[a].charAt(0) == 'T') score
+= 10;
if(hand[a].charAt(0) == 'J') score
+= 10;
if(hand[a].charAt(0) == 'Q') score
+= 10;
if(hand[a].charAt(0) == 'K') score
+= 10;
} }
return score;
}
public static boolean checkforrun(String
neededcards, String[] Winner){
String card1 =
neededcards.substring(0,2);
String card2 =
neededcards.substring(2,4);
String card3 = neededcards.substring(4,6);
if(search(card1, Winner)
&& search(card2,Winner) && search(card3,Winner))
return true;
return false;
}
public static boolean search(String
neededcards, String[] Winner){
for(String a: Winner){
if (a != null && neededcards.equals(a))
return true;
}
return false;
}
public static ArrayList<String>
evaluate(String[] Losinghandarray1){
String temp = "";
ArrayList<String> possibilities
= new ArrayList<String>();
for(int b = 0; b < 7; b++){
if (Losinghandarray1[b].charAt(1)
== 'S'){
temp = "";
temp +=
Losinghandarray1[b].charAt(0) + "H";
temp += Losinghandarray1[b].charAt(0)
+ "C";
temp +=
Losinghandarray1[b].charAt(0) + "D";
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(1)
== 'H'){
temp = "";
temp +=
Losinghandarray1[b].charAt(0) + "S";
temp +=
Losinghandarray1[b].charAt(0) + "C";
temp +=
Losinghandarray1[b].charAt(0) + "D";
temp +=
Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(1)
== 'C'){
temp = "";
temp +=
Losinghandarray1[b].charAt(0) + "H";
temp +=
Losinghandarray1[b].charAt(0) + "S";
temp += Losinghandarray1[b].charAt(0) +
"D";
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(1)
== 'D'){
temp = "";
temp +=
Losinghandarray1[b].charAt(0) + "H";
temp +=
Losinghandarray1[b].charAt(0) + "C";
temp +=
Losinghandarray1[b].charAt(0) + "S";
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== 'A'){
temp = "";
temp += "2" +
Losinghandarray1[b].charAt(1);
temp += "3" +
Losinghandarray1[b].charAt(1);
temp += "4" + Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '2'){
temp = "";
temp += "3" +
Losinghandarray1[b].charAt(1);
temp += "4" +
Losinghandarray1[b].charAt(1);
temp += "5" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '3'){
temp = "";
temp += "4" +
Losinghandarray1[b].charAt(1);
temp += "5" +
Losinghandarray1[b].charAt(1);
temp += "6" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '4'){
temp = "";
temp += "5" +
Losinghandarray1[b].charAt(1);
temp += "6" +
Losinghandarray1[b].charAt(1);
temp += "7" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "A" +
Losinghandarray1[b].charAt(1);
temp += "2" +
Losinghandarray1[b].charAt(1);
temp += "3" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '5'){
temp = "";
temp += "6" +
Losinghandarray1[b].charAt(1);
temp += "7" +
Losinghandarray1[b].charAt(1);
temp += "8" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "2" +
Losinghandarray1[b].charAt(1);
temp += "3" +
Losinghandarray1[b].charAt(1);
temp += "4" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '6'){
temp = "";
temp += "7" +
Losinghandarray1[b].charAt(1);
temp += "8" +
Losinghandarray1[b].charAt(1);
temp += "9" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "3" +
Losinghandarray1[b].charAt(1);
temp += "4" +
Losinghandarray1[b].charAt(1);
temp += "5" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '7'){
temp = "";
temp += "8" +
Losinghandarray1[b].charAt(1);
temp += "9" +
Losinghandarray1[b].charAt(1);
temp += "T" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "4" +
Losinghandarray1[b].charAt(1);
temp += "5" + Losinghandarray1[b].charAt(1);
temp += "6" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '8'){
temp = "";
temp += "9" +
Losinghandarray1[b].charAt(1);
temp += "T" +
Losinghandarray1[b].charAt(1);
temp += "J" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "5" +
Losinghandarray1[b].charAt(1);
temp += "6" +
Losinghandarray1[b].charAt(1);
temp += "7" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== '9'){
temp = "";
temp += "T" +
Losinghandarray1[b].charAt(1);
temp += "J" +
Losinghandarray1[b].charAt(1);
temp += "Q" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "6" +
Losinghandarray1[b].charAt(1);
temp += "7" +
Losinghandarray1[b].charAt(1);
temp += "8" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== 'T'){
temp = "";
temp += "J" +
Losinghandarray1[b].charAt(1);
temp += "Q" +
Losinghandarray1[b].charAt(1);
temp += "K" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
temp = "";
temp += "7" +
Losinghandarray1[b].charAt(1);
temp += "8" +
Losinghandarray1[b].charAt(1);
temp += "9" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== 'J'){
temp = "";
temp += "8" + Losinghandarray1[b].charAt(1);
temp += "9" +
Losinghandarray1[b].charAt(1);
temp += "T" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0) ==
'Q'){
temp = "";
temp += "9" +
Losinghandarray1[b].charAt(1);
temp += "T" +
Losinghandarray1[b].charAt(1);
temp += "J" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
if (Losinghandarray1[b].charAt(0)
== 'K'){
temp = "";
temp += "T" +
Losinghandarray1[b].charAt(1);
temp += "J" +
Losinghandarray1[b].charAt(1);
temp += "Q" +
Losinghandarray1[b].charAt(1);
temp
+= Losinghandarray1[b];
possibilities.add(temp);
}
}
return possibilities;
}
public static String toString(String[]a){
String b = "";
for(String q:a){
if (q != null)b += q + "
";
}
return b;
}
public static String toString(ArrayList<String>
a){
String b = "";
for(String q:a){
if (q != null)b += q + "
";
}
return b;
}
}