#include <bits/stdc++.h>
using namespace std;
int N, M, R;
int B[(505)][(505)];
int rad[(505)];
int rad2[(505)];
int V[(505)][(505)];
int D1[(505)][(505)];
int D2[(505)][(505)];
long long sola, solb;
void update(int a1, int a2, int b) {
  if (a1 == 0 || a2 == 0) return;
  int a = a1 + a2;
  if (sola < a) {
    sola = a;
    solb = 0;
  }
  if (sola == a) solb += b;
}
int main() {
  int i, j, k;
  scanf("%d %d %d", &N, &M, &R);
  if (2 * R + 1 > N || 2 * R + 1 > M) {
    printf("0 0\n");
    return 0;
  }
  for (i = 1; i <= N; ++i) {
    for (j = 1; j <= M; ++j) {
      int a;
      scanf("%d", &a);
      B[i][j] = a + B[i][j - 1];
    }
  }
  int R2 = R * R;
  j = 0;
  for (i = R + 1; i >= 0; --i) {
    int i2 = i * i;
    while (j * j + i2 <= R2) ++j;
    rad[i] = j;
  }
  j = 0;
  for (i = 2 * R + 1; i >= 0; --i) {
    while (1) {
      int ok = 1;
      for (k = -R; k <= R; ++k) {
        int kk = abs(k);
        int jj = abs(j + k);
        if (jj <= R && rad[jj] + rad[kk] > i + 1) {
          ok = 0;
          break;
        }
      }
      if (ok) break;
      ++j;
    }
    rad2[i] = j;
  }
  for (i = R + 1; i + R <= N; ++i) {
    for (j = R + 1; j + R <= M; ++j) {
      int sum = B[i][j + R] - B[i][j - R - 1];
      for (k = 1; k <= R; ++k) {
        sum += B[i + k][j + rad[k] - 1] - B[i + k][j - rad[k]];
        sum += B[i - k][j + rad[k] - 1] - B[i - k][j - rad[k]];
      }
      V[i][j] = sum;
    }
  }
  for (i = 1; i <= N; ++i) {
    D1[i][M] = V[i][M];
    D2[i][M] = 1;
    for (j = M - 1; j >= 1; --j) {
      if (V[i][j] == D1[i][j + 1]) {
        D1[i][j] = V[i][j];
        D2[i][j] = D2[i][j + 1] + 1;
      } else if (V[i][j] > D1[i][j + 1]) {
        D1[i][j] = V[i][j];
        D2[i][j] = 1;
      } else {
        D1[i][j] = D1[i][j + 1];
        D2[i][j] = D2[i][j + 1];
      }
    }
  }
  sola = 0;
  solb = 0;
  for (i = R + 1; i + R <= N; ++i) {
    for (j = R + 1; j + R <= M; ++j) {
      for (k = i + 2 * R + 1; k + R <= N; ++k)
        update(V[i][j], D1[k][j], D2[k][j]);
      if (j + R + 1 <= M) {
        for (k = i - 2 * R - 1; k - R >= 1; --k)
          update(V[i][j], D1[k][j + 1], D2[k][j + 1]);
      }
      for (k = 0; k <= 2 * R && i + k + R <= N; ++k) {
        if (j + rad2[k] <= M)
          update(V[i][j], D1[i + k][j + rad2[k]], D2[i + k][j + rad2[k]]);
      }
      for (k = 1; k <= 2 * R && i - k - R >= 1; ++k) {
        if (j + rad2[k] <= M)
          update(V[i][j], D1[i - k][j + rad2[k]], D2[i - k][j + rad2[k]]);
      }
    }
  }
  printf("%I64d %I64d\n", sola, solb);
  return 0;
}
