#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-12;
const int INF = 1 << 30;
const long long LINF = 1ll << 61;
const int BUFFER_SZ = 1 << 20;
const int MOD = 1000 * 1000 * 1000 + 7;
char BUFFER[BUFFER_SZ];
int gi() {
  int x;
  scanf("%d", &x);
  return x;
}
double gd() {
  double x;
  scanf("%lf", &x);
  return x;
}
long long gll() {
  long long x;
  scanf("%lld", &x);
  return x;
}
vector<int> gvi(int n) {
  vector<int> a;
  while (n-- > 0) a.push_back(gi());
  return a;
}
string gs() {
  scanf("%s", BUFFER);
  return string(BUFFER);
}
template <class T>
void print(vector<T> &x, string format) {
  format += "%c";
  for (int i = 0; i < x.size(); ++i)
    printf(format.c_str(), x[i], i + 1 == x.size() ? '\n' : ' ');
}
int A[333][333];
void solve() {
  int X = gi();
  int Y = gi();
  int K = gi();
  for (int i = 0; i < X; ++i) {
    string s = gs();
    for (int j = 0; j < Y; ++j) {
      if (s[j] == '*')
        A[i][j] = 1;
      else
        A[i][j] = 0;
    }
  }
  for (int k = 1; k + k + 1 <= min(X, Y); ++k) {
    for (int x = k; x + k < X; ++x) {
      for (int y = k; y + k < Y; ++y) {
        if (A[x][y] && A[x][y - k] && A[x][y + k] && A[x - k][y] &&
            A[x + k][y]) {
          if (K == 1) {
            printf("%d %d\n", x + 1, y + 1);
            printf("%d %d\n", x - k + 1, y + 1);
            printf("%d %d\n", x + k + 1, y + 1);
            printf("%d %d\n", x + 1, y - k + 1);
            printf("%d %d\n", x + 1, y + k + 1);
            return;
          }
          --K;
        }
      }
    }
  }
  printf("-1\n");
}
int main() {
  solve();
  return 0;
}
