#include <bits/stdc++.h>
using namespace std;
typedef struct {
  int i2, j2;
} daw;
daw m[1000];
int bet(void const *x, void const *y) {
  daw i2 = *(daw *)x;
  daw j2 = *(daw *)y;
  return i2.i2 - j2.i2;
}
vector<int>::iterator i, j;
vector<int> v;
stack<int> s;
queue<int> q;
list<int> l;
int a, b, i3, j3, z, k;
int n[1000][1000];
char c, c1;
char st[1000][1000];
bool vis[1000][1000];
int main() {
  scanf("%d %d\n", &a, &b);
  for (i3 = 0; i3 < a; i3++) {
    for (j3 = 0; j3 < b; j3++) {
      scanf("%c", &st[i3][j3]);
      if (st[i3][j3] == '*') {
        m[k].i2 = i3;
        m[k].j2 = j3;
        k++;
      }
    }
    scanf("\n");
  }
  qsort(m, k, sizeof(daw), bet);
  if (m[0].i2 == m[1].i2) {
    if (m[0].j2 == m[2].j2)
      printf("%d %d\n", m[2].i2 + 1, m[1].j2 + 1);
    else
      printf("%d %d\n", m[2].i2 + 1, m[0].j2 + 1);
  } else {
    if (m[0].j2 == m[2].j2)
      printf("%d %d\n", m[0].i2 + 1, m[1].j2 + 1);
    else
      printf("%d %d\n", m[0].i2 + 1, m[2].j2 + 1);
  }
}
