Sherlock Holmes loves mind palaces! We all know that.

A mind palace, according to Mr. Holmes is something that lets him retrieve a given memory in the least time posible. For this, he structures his mind palace in a very special way. Let a NxM Matrix denote the mind palace of Mr. Holmes. For fast retrieval he keeps each row and each column sorted. Now given a memory X, you have to tell the position of the memory in Sherlock's mind palace.

Input
Input begins with a line containing space separated N and M.
The next N lines each contain M numbers, each referring to a memory Y.
The next line contains Q, the number of queries.
The next Q lines contain a single element X, the memory you have to search in Sherlock's mind palace.

Output
If Y is present in Mr. Holmes memory, output its position (0-based indexing).
Else output "-1 -1" (quotes for clarity only).

Constraints
2 ≤ N,M ≤ 1000
2 ≤ Q ≤ 1000
-10^9 ≤ X,Y ≤ 10^9

Note : Large Input Files. Use faster I/O methods.

SAMPLE INPUT
5 5
-10 -5 -3 4 9
-6 -2 0 5 10
-4 -1 1 6 12
2 3 7 8 13
100 120 130 140 150
3
0
-2
170

SAMPLE OUTPUT
1 2
1 1
-1 -1

Explanation

The sample is self-explanatory.
from bisect import bisect_left
 
def binary_search(a, x, lo=0, hi=None):   # can't use a to specify default for hi
    hi = hi if hi is not None else len(a) # hi defaults to len(a)   
    pos = bisect_left(a,x,lo,hi)          # find insertion position
    return (pos if pos != hi and a[pos] == x else -1) # don't walk off the end
 
n,m=[int(x) for x in raw_input().split()]
matrix = [[] for item in range(0,n)]
 
for i in range(0,n):
    matrix[i] = [int(x) for x in raw_input().split()]
q=int(raw_input())
for i in range(0,q):
    q2=int(raw_input())
    y = -1
    x=-1
    for i2 in range(0,n):
        retorno = binary_search(matrix[i2],q2)
        if (retorno != -1):
            x=i2
            y=retorno
            break
    print "{0} {1}".format(x,y)