#include <bits/stdc++.h>
using namespace std;
char s[600][600];
int d[600][600];
int c[600][600];
int u[400000];
int r[400000];
int dx[5] = {0, 1, 0, -1};
int dy[5] = {1, 0, -1, 0};
int n;
int cm;
void ap(int x, int y) {
  if (r[c[x][y]]++ == 0) cm += u[c[x][y]];
}
void am(int x, int y) {
  if (--r[c[x][y]] == 0) cm -= u[c[x][y]];
}
void wk(int x, int y, int p) {
  if (x <= 0 || x > n || y <= 0 || y > n) return;
  if (s[x][y] == 'X' || c[x][y] != 0) return;
  c[x][y] = p;
  u[p]++;
  for (int i = 0; i < 4; i++) wk(x + dx[i], y + dy[i], p);
}
int su(int bx, int by, int ex, int ey) {
  return d[ex][ey] - d[ex][by - 1] - d[bx - 1][ey] + d[bx - 1][by - 1];
}
int main() {
  int k;
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; i++) scanf("%s", s[i] + 1);
  int p = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      if (s[i][j] == 'X') {
        d[i][j] = 1;
        continue;
      }
      if (c[i][j] == 0) wk(i, j, p++);
    }
  }
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= n; j++)
      d[i][j] += d[i][j - 1] + d[i - 1][j] - d[i - 1][j - 1];
  int an = k * k;
  cm = 0;
  for (int i = 1; i + k - 1 <= n; i++) {
    for (int j = 0; j <= p; j++) r[j] = 0;
    cm = 0;
    for (int ci = i - 1; ci <= i + k; ci++) {
      for (int cj = 1; cj <= k + 1; cj++) {
        if (r[c[ci][cj]]++ == 0) cm += u[c[ci][cj]];
      }
    }
    am(i - 1, 0);
    am(i + k, k + 1);
    am(i - 1, k + 1);
    am(i + k, 0);
    an = max(an, cm + su(i, 1, i + k - 1, k));
    ap(i - 1, 0);
    ap(i + k, k + 1);
    ap(i - 1, k + 1);
    ap(i + k, 0);
    for (int j = 2; j + k - 1 <= n; j++) {
      for (int ci = i - 1; ci <= i + k; ci++) {
        if (--r[c[ci][j - 2]] == 0) cm -= u[c[ci][j - 2]];
      }
      for (int ci = i - 1; ci <= i + k; ci++) {
        if (r[c[ci][j + k]]++ == 0) cm += u[c[ci][j + k]];
      }
      am(i - 1, j - 1);
      am(i + k, j + k);
      am(i - 1, j + k);
      am(i + k, j - 1);
      an = max(an, cm + su(i, j, i + k - 1, j + k - 1));
      ap(i - 1, j - 1);
      ap(i + k, j + k);
      ap(i - 1, j + k);
      ap(i + k, j - 1);
    }
  }
  printf("%d\n", an);
}
