#include <bits/stdc++.h>
using namespace std;
struct point {
  long long x, y;
  point operator+(point p) { return point{x + p.x, y + p.y}; }
  point operator-(point p) { return point{x - p.x, y - p.y}; }
  long long operator%(point p) { return x * p.y - y * p.x; }
  long long operator*(point p) { return x * p.x + y * p.y; }
  point operator*(long long k) { return point{x * k, y * k}; }
};
struct line {
  long long a, b, c;
  line(point p, point q) {
    a = p.y - q.y;
    b = q.x - p.x;
    c = -a * p.x - b * p.y;
  }
};
signed main() {
  vector<point> a(3);
  int n, m, cnt = 0;
  cin >> n >> m;
  string s;
  for (int i = 0; i < n; i++) {
    cin >> s;
    for (int j = 0; j < m; j++) {
      if (s[j] == '*') {
        a[cnt].x = i;
        a[cnt].y = j;
        cnt++;
      }
    }
  }
  bool swaped = false;
  if (a[0].x != a[1].x && a[0].x != a[2].x) {
    for (int i = 0; i < 3; i++) {
      swap(a[i].x, a[i].y);
      swaped = true;
    }
  }
  if (a[0].x != a[1].x) swap(a[1], a[2]);
  if (a[2].y == a[0].y)
    a[2].y = a[1].y;
  else
    a[2].y = a[0].y;
  if (swaped) swap(a[2].x, a[2].y);
  cout << a[2].x + 1 << " " << a[2].y + 1;
  return 0;
}
