import java.util.HashMap;
import java.util.TreeMap;
import java.util.Map;
import java.util.LinkedList;
import java.util.Set;
import java.util.Scanner;
/**
 * Write a description of class Phone here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Employee
{

    public static void main (String[] args)
    {
        Map<String,String> employees = new HashMap<String,String>();
        employees.put("Amy","Mary");
        employees.put("Jamie","Mary");
        employees.put("Mary","Ted");
        employees.put("Ted","George");
        employees.put("Evan","George");
        System.out.println("print phone list from Hashmap");
        for (String name : employees.keySet()){
            System.out.println(name + " has manager " + employees.get(name));
        }
        Map<String,String> employeesTree = new TreeMap<String,String>(employees); 
        System.out.println("print phone list from Treemap");
        for (String name : employeesTree.keySet()){
            System.out.println(name + " has manager " + employees.get(name));
        }      
        Set<String> pkset = employeesTree.keySet();

        Scanner screen = new Scanner(System.in);
        System.out.println("Who do you want to know the managers of?");
        String name = screen.nextLine();
        printManagers(name,employees);
    }   

    public static void printManagers(String name , Map<String, String> m){
        String mgr = m.get(name);
        if (mgr == null) 
        {
            return;
        }
        else 
        {
            System.out.println(name + " is managed by " + mgr);
            printManagers(mgr, m);
        } 
    }
}