Problem: You've got a table of size n × m. On the intersection of the i-th row (1 ≤ i ≤ n) and the j-th column (1 ≤ j ≤ m) there is a non-negative integer ai, j. Besides, you've got a non-negative integer k.

Your task is to find such pair of integers (a, b) that meets these conditions: 

  * k ≤ a ≤ n - k + 1; 
  * k ≤ b ≤ m - k + 1; 
  * let's denote the maximum of the function <image> among all integers x and y, that satisfy the inequalities k ≤ x ≤ n - k + 1 and k ≤ y ≤ m - k + 1, as mval; for the required pair of numbers the following equation must hold f(a, b) = mval. 

Input

The first line contains three space-separated integers n, m and k (1 ≤ n, m ≤ 1000, <image>). Next n lines each contains m integers: the j-th number on the i-th line equals ai, j (0 ≤ ai, j ≤ 106).

The numbers in the lines are separated by spaces.

Output

Print the required pair of integers a and b. Separate the numbers by a space.

If there are multiple correct answers, you are allowed to print any of them.

Examples

Input

4 4 2
1 2 3 4
1 1 1 1
2 2 2 2
4 3 2 1


Output

3 2


Input

5 7 3
8 2 3 4 2 3 3
3 4 6 2 3 4 6
8 7 6 8 4 5 7
1 2 3 2 1 3 2
4 5 3 2 1 2 1


Output

3 3

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
long long n, m, a, b, ans = -1;
long long t1[1010][1010], t2[1010][1010], t3[1010][1010], t4[1010][1010];
long long d1[1010][1010], d2[1010][1010], d3[1010][1010], d4[1010][1010];
void print(long long t[1010][1010]) {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) printf("%I64d ", t[i][j]);
    puts("");
  }
  puts("");
}
long long vrt[1010][1010], wvr[1010][1010], hor[1010][1010], who[1010][1010];
long long tlt[1010][1010], sum[1010][1010];
void solv(long long t[1010][1010], long long d[1010][1010], long long k) {
  for (long long j = 0; j < m; j++) {
    vrt[k - 1][j] = 0;
    for (long long i = 0; i < k; i++) vrt[k - 1][j] += t[i][j];
    for (long long i = k; i < n; i++)
      vrt[i][j] = vrt[i - 1][j] - t[i - k][j] + t[i][j];
    wvr[k - 1][j] = 0;
    for (long long i = 0; i < k; i++) wvr[k - 1][j] += (i + 1) * t[i][j];
    for (long long i = k; i < n; i++)
      wvr[i][j] = wvr[i - 1][j] - vrt[i - 1][j] + k * t[i][j];
  }
  for (long long i = 0; i < n; i++) {
    hor[i][k - 1] = 0;
    for (long long j = 0; j < k; j++) hor[i][k - 1] += t[i][j];
    for (long long j = k; j < m; j++)
      hor[i][j] = hor[i][j - 1] - t[i][j - k] + t[i][j];
    who[i][k - 1] = 0;
    for (long long j = 0; j < k; j++) who[i][k - 1] += (j + 1) * t[i][j];
    for (long long j = k; j < m; j++)
      who[i][j] = who[i][j - 1] - hor[i][j - 1] + k * t[i][j];
  }
  for (long long i = k - 1; i < n; i++) {
    for (long long j = k - 1; j < m; j++) {
      if (i - 1 >= k - 1 && i - 1 < n && j + 1 < m && j + 1 >= k - 1) {
        tlt[i][j] = tlt[i - 1][j + 1] - t[i - k][j + 1] + t[i][j - k + 1];
        continue;
      }
      tlt[i][j] = 0;
      for (long long x = 0; x < k; x++) tlt[i][j] += t[i - x][j - k + x + 1];
    }
  }
  sum[k - 1][k - 1] = 0;
  for (long long i = 0; i < k; i++)
    for (long long j = k - 1; j >= k - 1 - i; j--) sum[k - 1][k - 1] += t[i][j];
  for (long long j = k; j < m; j++)
    sum[k - 1][j] = sum[k - 1][j - 1] - tlt[k - 1][j - 1] + vrt[k - 1][j];
  for (long long i = k; i < n; i++)
    for (long long j = k - 1; j < m; j++)
      sum[i][j] = sum[i - 1][j] - tlt[i - 1][j] + hor[i][j];
  d[k - 1][k - 1] = 0;
  for (long long i = 0; i < k; i++)
    for (long long j = k - 1; j >= k - 1 - i; j--)
      d[k - 1][k - 1] += t[i][j] * (i + j - k + 2);
  for (long long j = k; j < m; j++)
    d[k - 1][j] = d[k - 1][j - 1] - sum[k - 1][j - 1] + wvr[k - 1][j];
  for (long long i = k; i < n; i++)
    for (long long j = k - 1; j < m; j++)
      d[i][j] = d[i - 1][j] - sum[i - 1][j] + who[i][j];
}
int main() {
  long long k;
  scanf("%I64d%I64d%I64d", &n, &m, &k);
  for (long long i = 0; i < n; i++) {
    for (long long j = 0; j < m; j++) {
      scanf("%I64d", &t1[i][j]);
      t2[i][m - j - 1] = t1[i][j];
      t3[n - i - 1][j] = t1[i][j];
      t4[n - i - 1][m - j - 1] = t1[i][j];
    }
  }
  if (k > 0) solv(t1, d1, k);
  if (k - 1 > 0) solv(t2, d2, k - 1);
  if (k - 1 > 0) solv(t3, d3, k - 1);
  if (k - 2 > 0) solv(t4, d4, k - 2);
  for (long long i = k - 1; i <= n - k; i++)
    for (long long j = k - 1; j <= m - k; j++) {
      long long v = d1[i][j] + d2[i][m - j - 2] + d3[n - i - 2][j] +
                    d4[n - i - 2][m - j - 2];
      if (ans < v) a = i, b = j, ans = v;
    }
  printf("%I64d %I64d\n", a + 1, b + 1);
}