#include <bits/stdc++.h>
using namespace std;
template <typename T, typename U>
std::pair<T, U> operator+(const std::pair<T, U>& l, const std::pair<T, U>& r) {
  return {l.first + r.first, l.second + r.second};
}
typedef void (*callback_function)(void);
const long long INF64 = 1e18;
const int INF32 = 1e9;
const int MOD = 1e9 + 7;
const long double PI = acos(-1.0L);
const long double EPS = static_cast<long double>(1e-9);
const int N = 102;
int L[N][N], R[N][N], U[N][N], D[N][N], f[N][N];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie();
  {
    int n, k;
    cin >> n >> k;
    char a[n + 1][n + 1];
    for (int i = (1); i <= (n); i++)
      for (int j = (1); j <= (n); j++) cin >> a[i][j];
    for (int i = (1); i <= (n); i++)
      for (int j = (1); j <= (n); j++) {
        if (a[i][j] == '.') {
          R[i][j] = min(R[i][j - 1] + 1, k);
          D[i][j] = min(D[i - 1][j] + 1, k);
        }
      }
    for (int i = (n); i >= (1); i--)
      for (int j = (n); j >= (1); j--) {
        if (a[i][j] == '.') {
          L[i][j] = min(L[i][j + 1] + 1, k);
          U[i][j] = min(U[i + 1][j] + 1, k);
        }
      }
    for (int i = (1); i <= (n); i++)
      for (int j = (1); j <= (n); j++) {
        f[i][j] = max(0, L[i][j] + R[i][j] - k) + max(0, U[i][j] + D[i][j] - k);
      }
    int x = 1, y = 1;
    for (int i = (1); i <= (n); i++)
      for (int j = (1); j <= (n); j++)
        if (f[x][y] < f[i][j]) x = i, y = j;
    cout << x << ' ' << y << endl;
  }
  return 0;
}
