Problem Statement  
You are the manager of a company, and you want all of your employees to be notified of an important news item as quickly as possible. Your company is organized in a treelike structure: each employee has exactly one direct supervisor, no employee is his own direct or indirect supervisor, and every employee is your direct or indirect subordinate. You will make a phone call to each of your direct subordinates, one at a time. After hearing the news, each subordinate must notify each of his direct subordinates, one at a time. The process continues this way until everyone has heard the news. Each person may only call direct subordinates, and each phone call takes exactly one minute. Note that there may be multiple phone calls taking place simultaneously. Return the minimum amount of time, in minutes, required for this process to be completed. Employees will be numbered starting from 1, while you will be numbered 0. Furthermore, every supervisor is numbered lower than his or her direct subordinates. You are given a int[] supervisors, the ith element of which is the direct supervisor of employee i. The first element of supervisors will be 1, since the manager has no supervisors.  
Definition  
 
Constraints  
  supervisors will contain between 1 and 50 elements, inclusive.  
  Element i of supervisors will be between 0 and i1, inclusive, except for the first element which will be 1.  
Examples  
0)  
 
1)  
 
2)  
 
3)  
