#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9;
const int MAX_N = 350;
struct item {
  int r, x, y;
  item(int r1, int x1, int y1) {
    r = r1;
    y = y1;
    x = x1;
  }
};
bool operator<(item a, item b) {
  if (a.r != b.r) return a.r < b.r;
  if (a.x != b.x) return a.x < b.x;
  if (a.y != b.y) return a.y < b.y;
}
vector<item> B;
char A[MAX_N][MAX_N];
int main() {
  int n, m, k;
  cin >> n >> m >> k;
  for (int i = 1; i <= n; i++) {
    string s;
    cin >> s;
    for (int j = 1; j <= m; j++) A[i][j] = s[j - 1];
  }
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
      if (A[i][j] == '*')
        for (int l = 1; l <= min(i - 1, min(j - 1, min(n - i, m - j))); l++)
          if (A[i][j + l] == '*' && A[i][j - l] == '*' && A[i + l][j] == '*' &&
              A[i - l][j] == '*') {
            B.push_back(item(l, i, j));
          }
  if (B.size() < k) {
    cout << -1;
    return 0;
  }
  sort(B.begin(), B.end());
  k--;
  cout << B[k].x << " " << B[k].y << endl;
  cout << B[k].x - B[k].r << " " << B[k].y << endl;
  cout << B[k].x + B[k].r << " " << B[k].y << endl;
  cout << B[k].x << " " << B[k].y - B[k].r << endl;
  cout << B[k].x << " " << B[k].y + B[k].r << endl;
  return 0;
}
