설곽이는 미래형 공중 도시에서 드론을 이용해 이동한다. 도시에는 개의 거점이 있으며, 번 거점의 좌표는 이다.
드론은 한 번의 이동에서 현재 거점에서 다른 거점으로 이동할 수 있다. 번 거점에서 번 거점으로 이동할 때 다음 값들이 사용된다.
- 이동 시간은 이다.
- 소모 배터리는 이다.
하나의 경로는 정수 과 거점 번호열 로 표현된다. 이때 은 출발 거점, 는 도착 거점이며, 드론은 번 거점에서 번 거점으로 차례대로 이동한다 (). 같은 거점을 여러 번 방문해도 된다. 인 경우에는 이동하지 않는 경로이며, 이동 시간과 소모 배터리는 모두 이다.
번 이동 요청은 세 정수 로 주어진다. 이는 번 거점에서 번 거점까지 총 이동 시간이 이하인 경로 중에서, 소모 배터리의 최솟값을 구하라는 뜻이다.
각 이동 요청에 대해 조건을 만족하는 경로의 최소 소모 배터리를 구하여라. 조건을 만족하는 경로가 존재하지 않는 경우에는 을 출력한다.
Input
입력은 다음과 같은 형식으로 주어진다.
Output
개의 줄에 걸쳐 답을 출력한다. 번째 줄에는 번 이동 요청에 대한 최소 소모 배터리를 출력한다.
조건을 만족하는 경로가 존재하지 않는 경우에는 을 출력한다.
Constraints
- .
- .
- ().
- ().
- ().
- 서로 다른 두 거점이 같은 좌표를 가질 수 있다.
Subtasks
Samples
예제 1
입력
4 5
0 0 0
0 0 4
0 0 2
3 0 2
1 2 4
1 4 5
1 4 4
4 2 5
2 2 1
출력
8
7
-1
7
0
예제 2
입력
8 16
0 0 0
0 0 8
0 0 2
0 0 6
-1 0 4
0 0 0
2 -1 -1
-2 1 2
1 2 7
1 2 8
1 2 9
1 2 10
2 1 10
1 5 4
1 5 5
1 6 0
6 2 10
1 1 0
1 1 3
7 8 8
7 8 9
8 7 9
7 3 5
7 3 6
출력
-1
24
24
18
18
-1
9
0
18
0
0
-1
11
11
-1
8