A: Shortest Path ---------------- Given a directed graph, and two nodes, find the shortest path between them. Input ----- There will be multiple instances. For each instance, the first line of input will be four integers n, m, s and t (1 <= s,t <= n <= 3000 and 0 <= m <= 1000000) separated by single spaces, where n is the number of nodes, and s and t are node indices. The nodes are numbered 1 to n, and the indices refer to this numbering scheme. Following this, there are exactly m lines. Each of the m lines consists of three positive integers u, v, w (1 <= u,v <= n and 1 <= w <= 10000 with u not equal to v) separated by a single space. Such a line indicates that there is an edge from node number u to node number v with weight w. There is at most one edge from each node to each other node. The end of the input is indicated by a line that has n=m=s=t=0. Output ------ The minimum total weight of any path from node number s to node number t. If there is no such path, your programme should output "unreachable". Sample Input ------------ 2 3 1 3 1 2 7 2 3 10 1 3 19 2 1 2 1 1 2 876 0 0 0 0 Sample output ------------- 17 unreachable