using System.Collections.Generic; using System.Linq; public class School { private Dictionary> roster = new Dictionary>(); public void Add(string student, int grade) { if (roster.ContainsKey(grade)) roster[grade].Add(student); else roster.Add(grade, new List {student}); } public IEnumerable Roster() => roster.Keys .OrderBy(g => g) .SelectMany(g => Grade(g)) .ToList(); public IEnumerable Grade(int grade) => roster.ContainsKey(grade) ? roster[grade].OrderBy(g => g).ToList() : new List(); }