Fast Fingers Thomas is delivering poutine to Wilson's restaurants!

Fast Fingers Thomas will drive a truck on a directed, weighted graph with vertices. The weight of each edge in the graph is the length of the edge. He has trips he needs to make.

Each trip has three parameters, a source vertex , a destination vertex , and a number of days . Thomas has days to travel from vertex to vertex . In a given day, Thomas starts at a vertex and traverses a nonnegative number of edges, ending the day at some vertex (possibly the same one). Define to be the smallest value such that, in a single day, the sum of the weights of the edges that Thomas drives on does not exceed , and subject to this, Thomas can get from to in days. In the event that it's impossible to do this, Thomas does no driving and is zero.

#### Constraints

All queries are pairwise distinct.

#### Input Specification

The first line contains a single positive integer, .

The next lines contain space-separated non-negative integers. The th integer in the th line of this section, , indicates the length of the directed edge connecting vertex to vertex , or if no such edge exists. It is guaranteed there are no self-loops.

The next line contains a single positive integer, .

The next lines each contain three space-separated positive integers, , , and , representing a query for .

#### Output Specification

Output lines. On the th line, output the answer to the th query.

#### Sample Input

```
3
0 1 2
1 0 1
2 1 0
2
1 3 1
1 3 2
```

#### Sample Output

```
2
1
```

## Comments