#include <bits/stdc++.h>
using namespace std;
char a[10000 + 100][10000 + 100];
int xx[10000], yy[10000];
int main() {
  int n, m;
  cin >> n >> m;
  bool i = 0;
  memset(xx, 0, sizeof(xx));
  memset(yy, 0, sizeof(yy));
  for (int j = 1; j <= n; j++) {
    for (int k = 1; k <= m; k++) {
      cin >> a[j][k];
      if (a[j][k] == '*') {
        i = 1;
        xx[j]++;
        yy[k]++;
      }
    }
  }
  int mxx = 0;
  int mxy = 0;
  int x = 1, y = 1;
  for (int j = 1; j <= n; j++) {
    if (mxx < xx[j]) {
      mxx = xx[j];
      x = j;
    }
  }
  for (int j = 1; j <= m; j++) {
    if (mxy < yy[j]) {
      mxy = yy[j];
      y = j;
    }
  }
  if (mxx == 1 && mxy != 1) {
    bool i = 0;
    for (int j = 1; j <= n; j++) {
      if (i) break;
      for (int k = 1; k <= m; k++) {
        if (a[j][k] == '*' && k != y) {
          x = j;
          i = 1;
          break;
        }
      }
    }
  } else if (mxy == 1 && mxx != 1) {
    bool i = 0;
    for (int j = 1; j <= n; j++) {
      if (i) break;
      for (int k = 1; k <= m; k++) {
        if (a[j][k] == '*' && j != x) {
          y = k;
          i = 1;
          break;
        }
      }
    }
  } else if (mxx == 1 && mxy == 1) {
    for (int j = 1; j <= m; j++) {
      if (yy[j] && a[x][j] == '.') {
        y = j;
      }
    }
  }
  for (int j = 1; j <= n; j++) {
    a[j][y] = '.';
  }
  for (int k = 1; k <= m; k++) {
    a[x][k] = '.';
  }
  for (int j = 1; j <= n; j++) {
    for (int k = 1; k <= m; k++) {
      if (a[j][k] == '*') {
        cout << "NO" << endl;
        return 0;
      }
    }
  }
  cout << "YES" << endl;
  cout << x << " " << y << endl;
  return 0;
}
