Breadth-First Search -------------------- In this problem, you will have to do a breadth-first search of a directed graph. Input ----- The input will consist of multiple instances. The first line of each instance will contain two integers n and m, representing the number of nodes and edges in the graph, respectively. These values will satisfy 1 <= n <= 100000 and 0 <= m <= 100000. Following this, there will be m lines, each containing two integers i and j, where 1 <= i <= n and 1 <= j <= n, indicating that there is an edge from node i to node j. The end of the input will be indicated by a line with m=n=0. Output ------ For each input graph, output the distance number of edges in the shortest path from node 1 to each of the other nodes, in the format shown below. If there is no path from node 1 to some other node, output "no path" for that node. Sample Input ------------ 5 10 1 2 1 4 2 4 2 5 4 3 4 5 3 5 4 2 5 1 3 4 3 2 1 2 2 1 0 0 Sample Output ------------- Graph #1 1: 0 2: 1 3: 2 4: 1 5: 2 Graph #2 1: 0 2: 1 3: no path