#include <iostream>
#include <vector> 
using namespace std;

const int maxn = 2.5e5+5;

int n,m;
vector<int> a[maxn],s[5];
vector<int> b;

int check(vector<int> a,vector<int> b)
{
	int cnt = 0;
	for (int i = 0; i < m; i++)
	{
		if( a[i] != b[i] ) cnt ++;
	}
	return cnt;
}
bool checkx()
{
	for (int i = 1; i <= n; i++)
	{
		if( check(b,a[i]) > 2 ) return false;
	}
	return true;
}
bool solvex(int x)
{
	int id = -1;
	for (int i = 1; i <= n; i++)
	{
		if( check(b,a[i]) == 3 ) id = i;
		if( check(b,a[i]) >= 4 ) return false;
	}
	if( id == -1 ) return true;
	vector<int> p;
	for (int i = 0; i < m; i++)
	{
		if( a[id][i] != b[i] ) p.push_back(i);
	}
	for (int i = 0; i < p.size(); i++)
	{
		if( p[i] == x ) continue;
		b[p[i]] = a[id][p[i]];
		if( checkx() ) return true;
		b[p[i]] = a[1][p[i]];
	}
	return false;
}
bool solve1()
{
	int id = s[3][0];
	vector<int> p;
	for (int i = 0; i < m; i++)
	{
		if( a[id][i] != b[i] ) p.push_back(i);
	}
	for (int i = 0; i < 3; i++)
	{
		b[p[i]] = a[id][p[i]];
		if( solvex(p[i]) ) return true;  
		b[p[i]] = a[1][p[i]];
	}
	return false;
}
bool solve2()
{
	int id = s[4][0];
	vector<int> p;
	for (int i = 0; i < m; i++)
	{
		if( a[id][i] != b[i] ) p.push_back(i);
	}
	for (int i = 0; i < 4; i++)
	{
		b[p[i]] = a[id][p[i]];
		for (int j = 0; j < 4; j++)
		{
			if( i == j ) continue;
			b[p[j]] = a[id][p[j]];
			if( checkx() ) return true;
			b[p[j]] = a[1][p[j]];
		}
		b[p[i]] = a[1][p[i]];
	}
	return false;
}

int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin >> n >> m;
	for (int i = 1; i <= n; i++) 
	{
		for (int j = 1; j <= m; j++)
		{
			int x;
			cin >> x;
			a[i].push_back(x);
		}
	}
	b = a[1];
	int maxt = 0;
	for (int i = 1; i <= n; i++)
	{
		int t = check(b,a[i]);
		maxt = max(maxt,t);
		if( t <= 4 ) s[t].push_back(i);
	}
	//cout << maxt << '\n';
	if( maxt > 4 ) cout << "NO" << '\n';
	else
	{
		if( s[4].size() > 0 ) 
		{
			if( !solve2() )
			{
				cout << "No" << '\n';
				return 0; 
			}
		}
		else if( s[3].size() > 0 )
		{
			if( !solve1() )
			{
				cout << "No" << '\n';
				return 0;
			}
		}
		cout << "Yes" << '\n';
		for (int i = 0; i < m; i++)
		{
			cout << b[i];
			if( i == m - 1 ) cout << '\n';
			else cout << ' '; 
		}
	}
	return 0;
}