3 3
*..
**.
...
 3 3
*..
*..
***
 10 10
........*.
*.........
........*.
........*.
..........
..........
..........
........*.
.....*..*.
***.......
 3 3
.*.
.*.
.**
 10 1
*
*
*
*
*
*
*
*
*
*
 1 3
...
 3 3
...
.*.
...
 3 5
....*
....*
*****
 3 3
*..
...
..*
 6 5
*.*..
..*..
*****
..*..
..*..
..*..
 3 12
...**.......
.....**.....
........*...
 4 4
..*.
**.*
..*.
..*.
 3 4
....
..*.
....
 2 1
.
*
 2 3
..*
..*
 3 3
..*
*..
...
 4 4
****
****
****
****
 1 2
.*
 4 4
...*
....
....
*...
 1 10
**********
 2 4
....
....
 3 2
.*
*.
*.
 5 5
.....
.....
.....
.....
.....
 3 3
...
...
...
 10 20
....................
.........*..........
....................
....................
....................
....................
....................
....................
...*................
....................
 3 2
*.
.*
.*
 2 3
..*
**.
 3 3
*..
.*.
...
 10 20
....................
.........*..........
....................
....................
....................
....................
....................
....................
...*..............*.
.........*..........
 3 3
***
.*.
.*.
 2 2
*.
.*
 2 2
..
.*
 4 4
....
....
..*.
....
 4 4
*...
*...
....
****
 10 10
...*......
..........
.......*..
.*........
******.*.*
.*........
..........
..........
..........
..........
 3 3
.*.
..*
...
 4 4
*...
....
....
...*
 10 20
....................
.........*..........
....................
....................
....................
....................
....................
....................
...*.....*........*.
.........*..........
 5 5
...*.
...*.
...*.
...*.
***.*
 3 2
..
..
**
 3 3
***
***
***
 6 5
..*..
..*..
*****
..*..
..*..
..*.*
 4 4
....
.*..
..*.
....
 3 3
.*.
*..
...
 10 10
.........*
.........*
.........*
.........*
.........*
.........*
.........*
.........*
.........*
.........*
 10 10
..........
..........
.**....***
..........
..........
..........
..........
..........
..........
..........
 2 4
...*
...*
 5 5
.....
.....
..*..
.....
.....
 6 5
..*..
..*..
**.**
..*..
..*..
..*..
 10 10
.........*
.........*
........**
.........*
.........*
.........*
.........*
.........*
.........*
.........*
 1 1
*
 5 5
*..*.
.....
.....
.....
...*.
 2 3
*.*
...
 10 10
..........
..........
..........
..........
..........
..........
..........
..........
..........
..........
 10 10
..........
..........
....*.....
..........
..........
**..*.****
....*.....
....*.....
....*.....
..........
 3 4
....
....
....
 3 4
****
..*.
..*.
 3 3
*.*
.*.
...
 5 5
.....
..*..
.*.*.
..*..
.....
 3 5
....*
....*
....*
 2 2
**
.*
 5 7
...*...
...*...
...*...
..*.*..
...*...
 5 5
.*...
.....
...*.
...*.
.....
 3 3
*.*
...
*.*
 5 4
....
....
*..*
....
.*..
 6 3
...
...
...
...
**.
.*.
 4 4
....
....
....
....
 3 3
..*
*..
..*
 3 4
...*
...*
...*
 5 5
..*..
..*..
**.**
..*..
..*..
 1 1
.
 3 1
*
*
*
 3 3
...
...
.*.
 10 20
....................
.........*..........
....................
....................
....................
....................
....................
....................
...*..............*.
....................
 4 4
.*..
*...
.*..
.*..
 4 4
.*..
*.**
....
.*..
 4 4
*.*.
..*.
.***
..*.
 5 5
*...*
.....
.....
.....
..*..
 3 3
**.
...
..*
 2 2
..
..
 3 3
..*
..*
**.
 3 3
...
*.*
.*.
 5 3
.*.
.*.
.*.
***
...
 4 2
**
.*
.*
.*
 3 3
.*.
*.*
.*.
 3 3
***
.*.
...
 3 2
*.
.*
*.
 3 2
.*
.*
*.
 2 3
.*.
*.*
 3 3
...
.*.
..*
 6 6
..*...
......
......
......
......
*....*
 10 10
..........
..........
....*.....
..........
..........
..........
....*.....
....*.....
....*.....
..........
 3 3
..*
*..
*..
 2 2
.*
*.
 3 2
.*
*.
.*
 4 4
..*.
....
...*
....
 3 3
...
..*
.*.
 5 5
*****
*****
*****
*****
*****
 3 3
.*.
..*
.*.
 4 4
.***
*...
*...
*...
 10 10
..........
..........
..........
..........
..........
***.*.****
..........
..........
..........
..........
 6 5
..*..
..*..
.*...
..*..
..*..
..*..
 4 4
***.
....
*...
....
 5 4
.*..
*.**
.*..
.*..
.*..
 2 2
**
**
 3 4
.*..
*.**
....
 3 10
.......*..
........*.
.........*
 4 4
....
...*
....
*..*
 4 4
*...
....
....
..**
 3 3
..*
.*.
..*
 3 3
*.*
*..
*.*

YES
2 1
 YES
3 1
 NO
 YES
3 2
 YES
1 1
 YES
1 1
 YES
1 2
 YES
3 5
 YES
1 3
 NO
 NO
 YES
2 3
 YES
1 3
 YES
1 1
 YES
1 3
 YES
1 1
 NO
 YES
1 1
 YES
1 1
 YES
1 1
 YES
1 1
 YES
1 1
 YES
1 1
 YES
1 1
 YES
2 4
 YES
1 2
 YES
2 3
 YES
1 2
 YES
9 10
 YES
1 2
 YES
1 2
 YES
1 2
 YES
1 3
 YES
4 1
 NO
 YES
1 3
 YES
1 4
 YES
9 10
 YES
5 4
 YES
3 1
 NO
 NO
 YES
2 3
 YES
1 1
 YES
1 10
 YES
3 1
 YES
1 4
 YES
1 3
 YES
3 3
 YES
3 10
 YES
1 1
 YES
1 4
 YES
1 1
 YES
1 1
 YES
6 5
 YES
1 1
 YES
1 3
 YES
1 2
 YES
3 3
 YES
1 5
 YES
1 2
 YES
4 4
 YES
1 4
 NO
 YES
3 2
 YES
5 2
 YES
1 1
 YES
2 3
 YES
1 4
 YES
3 3
 YES
1 1
 YES
1 1
 YES
1 2
 YES
9 10
 YES
2 2
 YES
2 2
 NO
 YES
1 3
 YES
1 3
 YES
1 1
 YES
3 3
 YES
2 2
 YES
4 2
 YES
1 2
 YES
2 2
 YES
1 2
 YES
2 1
 YES
3 2
 YES
2 2
 YES
2 3
 YES
6 3
 YES
1 5
 YES
1 1
 YES
1 1
 YES
2 2
 YES
1 4
 YES
2 2
 NO
 YES
2 2
 YES
1 1
 YES
6 1
 YES
3 3
 YES
1 1
 YES
2 2
 NO
 YES
2 2
 NO
 YES
4 4
 YES
4 1
 YES
2 3
 NO


import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.InputMismatchException;

public class P699B {
  InputStream is;
  PrintWriter out;
  String INPUT3 = "3 4\n" + ".*..\n" + "....\n" + ".*..\n";
  String INPUT4 = "6 5\n" + 
    "..*..\n" + 
    "..*..\n" + 
    "*****\n" + 
    "..*..\n" + 
    "..*..\n" + 
    "..*..\n" ;
  String INPUT = "3 3\n..*\n.*.\n*..";
  
  void solve() {
    int n = ni();
    int m = ni();
    int[] cntY = new int[n];
    int[] cntX = new int[m];
    int res = 0;
    for (int i = 0; i < n; i++) {
      String str = ns();
      for (int j = 0; j < m; j++) {
        if (str.charAt(j) == '*') {
          cntY[i]++;
          cntX[j]++;
          res++;
        }
      }
    }
    int y = -1;
    int x = -1;
    tr("cntX = " + Arrays.toString(cntX));
    tr("cntY = " + Arrays.toString(cntY));
    for (int i = 0; i < n; i++) {
      if (cntY[i] > 1) {
        if (y == -1) {
          y = i;
        } else {
          System.out.println("NO");
          return;
        }
      }
    }
    for (int i = 0; i < m; i++) {
      if (cntX[i] > 1) {
        if (x == -1) {
          x = i;
        } else {
          System.out.println("NO");
          return;
        }
      }
    }
    tr("x = " + x);
    tr("y = " + y);
    if (res > 0 && x == -1 && y == -1) {
      System.out.println("NO");
      return;
    }
    if (y == -1) {
      y = 0;
    }
    if (x == -1) {
      x = 0;
    }
    System.out.println("YES");
    System.out.println((y + 1) + " " + (x + 1));
  }

  public static void main(String[] args) throws Exception {
    new P699B().run();
  }
  
  void run() throws Exception {
    is = oj ? System.in : new ByteArrayInputStream(INPUT.getBytes());
    out = new PrintWriter(System.out);
  
    long s = System.currentTimeMillis();
    solve();
    out.flush();
    tr(System.currentTimeMillis() - s + "ms");
  }
  
  private byte[] inbuf = new byte[1024];
  private int lenbuf = 0, ptrbuf = 0;
  
  private int readByte() {
    if (lenbuf == -1)
      throw new InputMismatchException();
    if (ptrbuf >= lenbuf) {
      ptrbuf = 0;
      try {
        lenbuf = is.read(inbuf);
      } catch (IOException e) {
        throw new InputMismatchException();
      }
      if (lenbuf <= 0)
        return -1;
    }
    return inbuf[ptrbuf++];
  }
  
  private boolean isSpaceChar(int c) {
    return !(c >= 33 && c <= 126);
  }
  
  private int skip() {
    int b;
    while ((b = readByte()) != -1 && isSpaceChar(b))
      ;
    return b;
  }
  
  private double nd() {
    return Double.parseDouble(ns());
  }
  
  private char nc() {
    return (char) skip();
  }
  
  private String ns() {
    int b = skip();
    StringBuilder sb = new StringBuilder();
    while (!(isSpaceChar(b))) { // when nextLine, (isSpaceChar(b) && b != ' ')
      sb.appendCodePoint(b);
      b = readByte();
    }
    return sb.toString();
  }
  
  private char[] ns(int n) {
    char[] buf = new char[n];
    int b = skip(), p = 0;
    while (p < n && !(isSpaceChar(b))) {
      buf[p++] = (char) b;
      b = readByte();
    }
    return n == p ? buf : Arrays.copyOf(buf, p);
  }
  
  private char[][] nm(int n, int m) {
    char[][] map = new char[n][];
    for (int i = 0; i < n; i++)
      map[i] = ns(m);
    return map;
  }
  
  private int[] na(int n) {
    int[] a = new int[n];
    for (int i = 0; i < n; i++)
      a[i] = ni();
    return a;
  }
  
  private int ni() {
    int num = 0, b;
    boolean minus = false;
    while ((b = readByte()) != -1 && !((b >= '0' && b <= '9') || b == '-'))
      ;
    if (b == '-') {
      minus = true;
      b = readByte();
    }
  
    while (true) {
      if (b >= '0' && b <= '9') {
        num = num * 10 + (b - '0');
      } else {
        return minus ? -num : num;
      }
      b = readByte();
    }
  }
  
  private long nl() {
    long num = 0;
    int b;
    boolean minus = false;
    while ((b = readByte()) != -1 && !((b >= '0' && b <= '9') || b == '-'))
      ;
    if (b == '-') {
      minus = true;
      b = readByte();
    }
  
    while (true) {
      if (b >= '0' && b <= '9') {
        num = num * 10 + (b - '0');
      } else {
        return minus ? -num : num;
      }
      b = readByte();
    }
  }
  
  private boolean oj = System.getProperty("ONLINE_JUDGE") != null;
  
  private void tr(Object... o) {
    if (!oj)
      System.out.println(Arrays.deepToString(o));
  }
}
