#include<iostream>
#include<map>
#include<cstdio>
#include<string>
#include<vector>
using namespace std;
const int maxr = 10000 + 5;
const int maxc = 15;
typedef pair<int, int> PI;
map<string, int> table;
int n, m;
int id;
int s[maxr][maxc];
int getId(string s) {
if (!table.count(s)) {
table[s] = id++;
}
return table[s];
}
void solve(int n, int m)
{
for (int i = 1; i < m; i++)
{
for (int j = i + 1; j <= m; j++)
{
map<PI, int> v;
for (int k = 1; k <= n; k++)
{
int x1 = s[k][i], x2 = s[k][j];
PI t = make_pair(x1, x2);
if (v.count(t))
{
cout << "NO" << endl;
cout << v[t] << " " << k << endl;
cout << i << " " << j << endl;
return ;
}
else
v[t] = k;
}
}
}
cout << "YES" << endl;
}
int main()
{
while (cin >> n >> m)
{
table.clear();
getchar();
id = 0;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
string x = "";
int sum = 0;
while (1)
{
char c = getchar();
if (c == ',' || c == '\n') break;
x += c;
}
s[i][j] = getId(x);
}
}
solve(n, m);
}
return 0;
}