#2696. 密室

密室

题目描述

X\red{X }正困在一个密室里,他希望眷逃出密室。

密室中有N\red{N }个房间,初始时,小X\red{X }1\red{1 }号房间,而出口在N\red{N }号房间。 密室的每一个房间中可能有着一些钥匙和一些传送门,一个传送门会单向地创造一条从房间X\red{X }到房间Y\red{Y }的通道。另外,想要通过某个传送门,就必须具备一些种 类的钥匙(每种钥匙都要有才能通过)。幸运的是,钥匙在打开传送门的封印后,并不会消失。

然而,通过密室的传送门需要耗费大量的时间,因此,小X\red{X }希望通过旧能少的传送门到达出口,你能告诉小X\red{X }这个数值吗?

另外,小X\red{X }有可能不能逃出这个密室,如果是这样,请输出"NoSolution\red{No Solution}"。

输入格式

第一行三个整数N,M,K\red{N,M,K,}分别表示房间的数量、传送门的数量以及钥匙的种类数。

接下来N\red{N }行,每行K\red{K }0\red{0 }1\red{1,}若第i\red{i }个数为1\red{1,}则表示该房间内有第i\red{i }种钥匙,若第i\red{i }个数为0\red{0,}则表示该房间内没有第i\red{i }种钥匙。

接下来M\red{M }行,每行先读入两个整数X,Y\red{X,Y,}表示该传送门是建立在X\red{X }号房间,通向Y\red{Y }号房间的,再读入K\red{K }0\red{0 }1\red{1,}若 第i\red{i }个数为1\red{1,}则表示通过该传送门需要i\red{i }种钥匙,若第i\red{i }个数为0\red{0,}则表示通过该传送门不需要第i\red{i }种钥匙。

输出格式

输出一行一个"NoSolution\red{No Solution}",或一个整数,表示最少通过的传送门数。

样例

输入样例

3 3 2

1 0

0 1

0 0

1 3 1 1

1 2 1 0

2 3 1 1

输出样例

2

提示

测试点编号 N\red{N} M\red{M} K\red{K}
1\red{1} <=5\red{<=5} <=10\red{<=10} =0\red{=0}
2\red{2}
3\red{3}
4\red{4} <=100\red{<=100} <=500\red{<=500}
5\red{5}
6\red{6}
7\red{7} <=1000\red{<=1000} <=5000\red{<=5000}
8\red{8}
9\red{9}
10\red{10}
11\red{11} <=5\red{<=5} <=10\red{<=10} =1\red{=1}
12\red{12}
13\red{13} <=1000\red{<=1000} <=5000\red{<=5000}
14\red{14}
15\red{15} <=5\red{<=5} <=10\red{<=10} <=4\red{<=4}
16\red{16} <=1000\red{<=1000} <=5000\red{<=5000}