바다 한가운데에 설곽 열도가 있다. 설곽 열도는 여러 개의 작은 섬들로 이루어져 있다. 각 섬은 상하좌우로 인접한 육지 칸들로 이루어진 하나의 연결 영역이고, 모든 바다는 연결되어 있다. 단, 바다는 육지와 다르게 대각선으로 인접한 칸도 연결된 것으로 생각한다.
섬의 지도는 과 로만 이루어진 격자 형태로 나타낼 수 있다. 번째 행, 번째 열에 위치한 칸을 칸이라 할 때, 지도 상의 숫자 에 대해 은 칸이 육지임을 의미하며, 은 칸이 바다임을 의미한다. 이때, 육지 칸은 범위에만 존재할 수 있다.
설곽 열도에는 버스가 운행하고 있는데, 버스를 통해 같은 행의 임의의 칸 또는 같은 열의 임의의 칸으로 이동할 수 있다. 이때 발생하는 비용은 이동 횟수당 이다. 단, 육지 칸에서 출발하여 육지 칸으로만 이동할 수 있으며, 한 번의 이동을 할 때 시작 칸과 도착 칸 사이에 바다 칸이 한 개라도 있다면 이동할 수 없다. 즉, 시작 칸과 도착 칸을 잇는 선분은 육지 칸으로만 이루어져 있어야 한다.
SSHS 여행사는 설곽 열도를 여행하려고 하는 관광객들을 위해, 설곽 열도의 임의의 두 육지 칸 사이를 버스를 타고 이동할 때 발생하는 비용의 최솟값을 계산해주는 서비스를 제공하려고 한다. SSHS 여행사를 도와 개 상황의 비용을 계산해주자.
Input
첫 줄에 설곽 열도의 크기를 나타내는 정수 과 이 공백으로 구분되어 주어진다.
다음 줄에 걸쳐 설곽 열도의 지도가 주어진다. 그중 번째 줄은 , , , 이 공백으로 구분되어 주어진다. 범위의 만 주어짐에 유의하라.
다음 줄에 수행해야 하는 쿼리의 개수 가 주어진다.
다음 줄에 걸쳐 각 쿼리의 내용이 x y z w의 형식으로 주어진다. 이 쿼리는 설곽 열도의 칸에서 칸으로 버스를 타고 이동할 때 발생하는 최소 비용을 구하는 쿼리이다.
Output
각각의 쿼리 x y z w에 대하여 쿼리의 정답을 출력한다.
만약 버스로 칸과 칸 사이를 이동할 수 없다면 을 출력한다.
Constraints
- .
- .
- ().
- ()
- ()
- .
- ().
- ().
- ().
- ().
- ().
- ().