#P4144. [AMPPZ2014]Petrol

[AMPPZ2014]Petrol

题目描述

给定一个nn个点、mm条边的带权无向图,其中有ss个点是加油站。每辆车都有一个油量上限bb,即每次行走距离不能超过bb,但在加油站可以补满。qq次询问,每次给出x,y,bx,y,b,表示出发点是xx,终点是yy,油量上限为bb,且保证xx点和yy点都是加油站,请回答能否从xx走到yy

输入格式

第一行包含三个正整数n,s,mn,s,m $(2 \leq s \leq n \leq 200000, 1 \leq m \leq 200000)$,表示点数、加油站数和边数。第二行包含ss个互不相同的正整数c[1],c[2],...c[s]c[1],c[2],...c[s] (1c[i]n)(1 \leq c[i] \leq n),表示每个加油站。接下来mm行,每行三个正整数u[i],v[i],d[i]u[i],v[i],d[i] $(1 \leq u[i],v[i] \leq n, u[i]\neq v[i], 1 \leq d[i] \leq 10000)$,表示u[i]u[i]v[i]v[i]之间有一条长度为d[i]d[i]的双向边。接下来一行包含一个正整数qq (1q200000)(1 \leq q \leq 200000),表示询问数。

接下来qq行,每行包含三个正整数x[i],y[i],b[i]x[i],y[i],b[i] $(1 \leq x[i],y[i] \leq n, x[i]\neq y[i], 1 \leq b[i] \leq 2 \times 10^9)$,表示一个询问。

输出格式

输出qq行。第ii行输出第ii个询问的答案,如果可行,则输出TAK,否则输出NIE。

输入样例

6 4 5
1 5 2 6
1 3 1
2 3 2
3 4 3
4 5 5
6 4 5
4
1 2 4
2 6 9
1 5 9
6 5 8

输出样例

TAK
TAK
TAK
NIE