#include <bits/stdc++.h>
using namespace std;
int main() {
  char data[1100][1100];
  long long n, m;
  cin >> n >> m;
  long long x = 0, y = 0;
  long long xCount = -1, yCount = -1;
  for (int i = 0; i < n; i++) {
    string s;
    cin >> s;
    for (int j = 0; j < m; j++) {
      data[i][j] = s.at(j);
    }
  }
  for (int i = 0; i < m; i++) {
    long long count = 0;
    for (int j = 0; j < n; j++) {
      if (data[j][i] == '*') {
        count++;
      }
    }
    if (count > xCount) {
      x = i;
      xCount = count;
    }
  }
  for (int i = 0; i < n; i++) {
    long long count = 0;
    for (int j = 0; j < m; j++) {
      if (data[i][j] == '*') {
        count++;
      }
    }
    if (count >= yCount) {
      y = i;
      yCount = count;
    }
  }
  if (yCount > xCount) {
    for (int i = 0; i < m; i++) {
      data[y][i] = '.';
    }
    xCount = -1;
    for (int i = 0; i < m; i++) {
      long long count = 0;
      for (int j = 0; j < n; j++) {
        if (data[j][i] == '*') {
          count++;
        }
      }
      if (count > xCount) {
        x = i;
        xCount = count;
      }
    }
  } else {
    for (int i = 0; i < n; i++) {
      data[i][x] = '.';
    }
    yCount = -1;
    for (int i = 0; i < n; i++) {
      long long count = 0;
      for (int j = 0; j < m; j++) {
        if (data[i][j] == '*') {
          count++;
        }
      }
      if (count >= yCount) {
        y = i;
        yCount = count;
      }
    }
  }
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      if (data[j][i] == '*' && i != x && j != y) {
        cout << "NO" << endl;
        return 0;
      }
    }
  }
  cout << "YES" << endl;
  cout << y + 1 << " " << x + 1 << endl;
  return 0;
}
