旅行
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在20xx年的某天,whb来到了一处未知的秘境,这个秘境有n个房间,有m条有向时空通道连接着这n个房间,第i条时空隧道的长度为len_i,whb位于秘境入口(1号房间),而n号房间连接着秘境出口。

whb深知这个秘境十分危险,随时都有空间崩塌的可能,所以他想尽快离开这个秘境。所以他选择向你求助,他问了你q个问题,每个问题给出一个房间x,由于从1号房间到n号房间可能有很多条最短的路径,所以他想知道每次询问的房间x是否在从1号房间到n号房间的任意一条最短路径上,你的每次回答需要给出 yes or no 。

输入描述:

第一行的三个数字分别为,分别代表秘境的房间数,时空隧道数和whb向你询问的次数。

接下来m行,每行三个整数uvlen,代表从uv有一条有向时空隧道,长度为len

接下来q行,每行一个整数x,询问x点是否在从1号房间到n号房间的任意一条最短路径上

输出描述:

若点x1号房间到n号房间任意一条最短路径上,输出"yes",否则输出"no"(不包含引号)。
示例1

输入

复制
4 4 3
1 2 1
1 3 2
2 4 4
3 4 2
3
2
4

输出

复制
yes
no
yes