import java.io.PrintStream; import java.util.*; public class SecureRoomB { public static void main(String[] args) { PrintStream output = System.out; Scanner input = new Scanner(System.in); final List MONTHS = new ArrayList(); MONTHS.add("January"); MONTHS.add("February"); MONTHS.add("March"); MONTHS.add("April"); MONTHS.add("May"); MONTHS.add("June"); MONTHS.add("July"); MONTHS.add("August"); MONTHS.add("September"); MONTHS.add("October"); MONTHS.add("November"); MONTHS.add("December"); Map> peopleMap = new TreeMap>(); Map> timeMap = new TreeMap>(); while (input.hasNext()) { Scanner line = new Scanner(input.nextLine()); String who = line.next(); String year = line.next(); String month = line.next(); String day = line.next(); String hour = line.next(); Calendar time = Calendar.getInstance(); time.clear(); time.set(Calendar.YEAR, Integer.parseInt(year)); time.set(Calendar.MONTH, MONTHS.indexOf(month)); time.set(Calendar.DAY_OF_MONTH, Integer.parseInt(day)); time.set(Calendar.HOUR_OF_DAY, Integer.parseInt(hour)); Set times = peopleMap.get(who); if (times == null) { times = new TreeSet(); times.add(time); peopleMap.put(who, times); } else { times.add(time); } Set people = timeMap.get(time); if (people == null) { people = new TreeSet(); people.add(who); timeMap.put(time, people); } else { people.add(who); } } for (String who : peopleMap.keySet()) { output.println(who + " : " + peopleMap.get(who)); } } }