import java.util.*; /** * Created by Radu on 2/12/2015. */ public class prog { public static void main(String[] args) { class Team { public Team(String s, int a, int b, int c) { name = s; points = a; goalsScored = b; goalsRecieved = c; } public String name; public int points; public int goalsScored; public int goalsRecieved; } Scanner scanner = new Scanner(System.in); List list = new ArrayList(); int z = 0; while (z < 6) { z++; String line = scanner.nextLine(); String[] parts = line.split(" "); String team1 = parts[0]; String team2 = parts[1]; int points1 = Integer.valueOf(parts[2]); int points2 = Integer.valueOf(parts[3]); int j; j = 0; for (j = 0; j < list.size(); j++) { if (list.get(j).name.equals(team1)) { break; } } if (j == list.size()) { list.add(new Team(team1, 0, 0, 0)); } for (j = 0; j < list.size(); j++) { if (list.get(j).name.equals(team2)) { break; } } if (j == list.size()) { list.add(new Team(team2, 0, 0, 0)); } if (points1 > points2) { for (int i = 0; i < list.size(); i++) { if (list.get(i).name.equals(team1)) { Team team = list.get(i); team.points += 3; team.goalsScored += points1; team.goalsRecieved += points2; } } for (int i = 0; i < list.size(); i++) { if (list.get(i).name.equals(team2)) { Team team = list.get(i); team.goalsScored += points2; team.goalsRecieved += points1; } } } if (points1 < points2) { for (int i = 0; i < list.size(); i++) { if (list.get(i).name.equals(team2)) { Team team = list.get(i); team.points += 3; team.goalsScored += points2; team.goalsRecieved += points1; } } for (int i = 0; i < list.size(); i++) { if (list.get(i).name.equals(team1)) { Team team = list.get(i); team.goalsScored += points1; team.goalsRecieved += points2; } } } if (points1 == points2) { for (int i = 0; i < list.size(); i++) { if (list.get(i).name.equals(team2)) { Team team = list.get(i); team.points += 1; team.goalsScored += points2; team.goalsRecieved += points1; } } for (int i = 0; i < list.size(); i++) { if (list.get(i).name.equals(team1)) { Team team = list.get(i); team.points += 1; team.goalsScored += points1; team.goalsRecieved += points2; } } } } Collections.sort(list, new Comparator() { @Override public int compare(Team o1, Team o2) { if (o1.points > o2.points || o1.points == o2.points && o1.goalsScored > o2.goalsScored || o1.points == o2.points && o1.goalsScored == o2.goalsScored && o1.goalsRecieved < o2.goalsRecieved) { return -1; } if (o2.points > o1.points || o2.points == o1.points && o2.goalsScored > o1.goalsScored) { return 1; } if (o2.points == o1.points && o2.goalsScored == o1.goalsScored) { return o1.name.compareTo(o2.name); } return 0; } }); for (Team team : list) { System.out.println(team.name); } } }