{"raw_statement":[{"iden":"background","content":"小 A 做噩梦了。"},{"iden":"statement","content":"小 A 的梦境可以看做有 $n$ 个点，$m$ 条边的无向图。小 A 在图上的点 $S$，有一个怪物在点 $B$，安全屋在点 $F$。\n\n怪物正在追杀小 A，现在小 A 需要逃到安全屋。小 A 意识到这是在自己的梦境里，所以他在一定程度上操控了梦境。他把怪物的移动速度设置成了 $3$，但代价是自己的移动速度被设置成 $2$。\n\n小 A 始终会沿着到 $F$ 的最短路走，如果有多条最短路，则小 A 会选择使得**经过点的编号所顺次构成序列的字典序最小**的那条最短路，因为他觉得这样走最不容易被怪物抓到。\n\n而怪物在梦境中游荡，会随机向自身周围的点移动，且怪物已经访问过的点不会重复访问。\n\n现在小 A 需要知道**在最坏情况下**他能否安全到达安全屋，或者何时被怪物抓住。"},{"iden":"input","content":"第一行五个整数 $n,m,S,B,F$。\n\n接下来 $m$ 行，第 $i$ 行三个整数 $u_i,v_i,w_i$，代表 $u_i,v_i$ 之间有一条长度为 $w_i$ 的无向边。"},{"iden":"output","content":"两行。\n\n如果小 A **在最坏情况下**能够安全到达安全屋，输出 `YES`，接下来一行输出小 A 到达安全屋后怪物到安全屋的距离。\n\n如果小 A **在最坏情况下**不能安全到达安全屋，输出 `NO`，接下来一行输出小 A 在何时被怪物抓到。\n\n若第二行的答案为整数则输出整数，**否则输出小数**。"},{"iden":"note","content":"**关于最坏情况的解释**：怪物的走法可能有多种。也就是说，你需要同时考虑怪物的每种走法，只要怪物的某种最短路走法可以抓到小 A 时答案即为 `NO`。而最坏情况是指怪物的走法在所有走法中能够最快抓到（或接近）小 A 的情况。\n\n另外本题没有 special judge，也就是说如果答案是整数，你需要严格输出整数答案，不带小数点。同时数据保证不存在小数位数超过两位的答案。\n\n### 数据范围\n\n本题采用捆绑测试。\n\n$$\n\\def\\arraystretch{1.5}\n\\begin{array}{c|c|c|c|c}\\hline \n\\textbf{~~Subtask~~}&\\bm{~~n \\le ~~}&\\bm{~~~~m \\le~~~~}& ~\\textbf{~~特殊性质~~}~&\\textbf{~~分值~~}\\cr\\hline \n0\t&10\t\t\t&20\t\t\t&\t\t&10\\cr\\hline \n1\t&500\t\t&1000\t\t&\t\t&10\\cr\\hline \n2\t&800 \t\t&2000\t\t&\t\t&10\\cr\\hline \n3\t&2\\times10^5&  \t\t\t&\\text{A+B}&15\t\\cr\\hline \n4\t&2\\times10^5& \t\t\t&\\text{A}&15\t\\cr\\hline\n5\t&10^5\t\t&2\\times10^5&\t\t&20\\cr\\hline\n6\t&2\\times10^5&2\\times10^5&\t\t&20\n\\end{array}\n$$\n\n特殊性质 $\\text{A}$：$m=n-1$。\n\n特殊性质 $\\text{B}$：对于给定的每个 $v_i$，满足 $v_i=u_i+1$。\n\n对于 $100\\%$ 的数据，保证 $S \\ne B \\ne F$ 且 $1 \\le S,B,F \\le n$，$1 \\le w_i \\le 10^3$，图连通且不存在重边。\n\n### 特殊评分方式\n本题开启子任务依赖，具体如下：\n- 对于子任务 $i\\in\\{0,3\\}$，您只需答对子任务 $i$ 即可获得子任务 $i$ 的分数。\n- 对于子任务 $4$，您需要答对子任务 $3$ 才能获得子任务 $4$ 的分数。\n- 对于子任务 $i\\in\\{1,2,5,6\\}$，您需要答对子任务 $0$ 才能获得子任务 $i$ 的分数。\n\n### 附件说明\n对于赛时许多选手卡在了 sub3，此处提供一组 sub3 内的数据用于检查并改正代码。"}],"translated_statement":null,"sample_group":[["4 3 1 2 3\n1 3 1\n2 4 2\n4 3 1","YES\n1.5"],["4 3 1 2 3\n1 3 2\n2 4 2\n4 3 1","NO\n1"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}