import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
/**
* 某通信网络中有N个网络节点,用1到N进行标识。网络通过一个有向无环图表示,
* 其中图的边的值表示结点之间的时延列表times[i]={u,v,w},其中u表示源结点,v表示目的结点,w表示u和v之间的消息传递时延。
* 请计算给定源结点到目的结点的最小传输时延,如果目的结点不可达,返回-1。
* 注:
* 1、N的取值范围为[1,100];
* 2、时延列表times的长度不超过6000,且1 <= u,v <= N,0 <= w <= 100
*
* 输入描述
* 输入的第一行为两个正整数,分别表示网络结点的个数N,以及时延列表的长度M,用空格分隔;
* 接下来的M行为两个结点间的时延列表[u,v,w];
* 输入的最后一行为两个正整数u和v,分别表示源结点和目标结点
* 输出描述
* 输出一个整数,表示源结点到目标结点的最小时延。
*
* 示例1
* 输入
* 3 3
* 1 2 11
* 2 3 13
* 1 3 50
* 1 3
* 输出
* 24
* 说明
* 1->3的时延是50,1->2->3时延是11+13=24,所以1到3的最小时延是24。
*
* 自用例