import java.util.*; import java.io.*; public class prob8 { Scanner in = new Scanner(System.in); class Teacher implements Comparable { String first; String last; ArrayList courses; public Teacher(String f, String l, ArrayList c) { first = f; last = l; courses = c; } public boolean canTeach(int course_num) { if(courses.contains(course_num)) return true; return false; } public String toString() { return (last+" "+first); } public int compareTo(Object arg0) { Teacher t = (Teacher)arg0; int comp = last.compareTo(t.last); if(comp != 0) return comp; return first.compareTo(t.first); } } public static void main(String[] args) { new prob8().solve(); } public void solve() { in = new Scanner("Hilliard Roy Y 0 4 5\nEnnis John N 2 3\nNelson William\tY 1 3 4 5\nBaird Lyle \t\tY 1 3 5\nGeiger Melissa N 3 5\nLinke Jerome Y 0 1\nThornton Richard N 2 3 5"); ArrayList teachers = new ArrayList(); ArrayList courses = new ArrayList(); try { while(in.hasNext()) { String[] line = in.nextLine().split("[ \t]+"); ArrayList cs = new ArrayList(); for(int i=3; i avail = new ArrayList(); for(Teacher t : teachers) { if(t.canTeach(c)) avail.add(t.toString()); } System.out.print(avail.size()+" "); Collections.sort(avail); for(int i=0; i