#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define pb push_back
#define mp make_pair
#define vi vector<int>
#define vl vector<ll>
const int maxn = 1e6 + 5;
const int mod = 1e9 + 7;
int a[maxn] , d[maxn] , n , m;
int f(int x , int y){ return (x - 1) * m + y;}
bool dfs (int step)
{
    for (int i = 2; i <= n ; i++){
        int d = 0;
        vector<pii> c;
        for (int j = 1 ; j <= m ; j++)
            if (a[f(1,j)] != a[f(i,j)])
                d++ , c.push_back(make_pair(j , a[f(i,j)]));
        if (d >= 5) return false;
        if (d <= 2) continue;
        if (step <= (d == 4)) return false;
        for (auto g : c){
            int tmp = a[f(1,g.first)];
            a[f(1,g.first)] = g.second;
            if (dfs(step - 1)) return true;
            a[f(1,g.first)] = tmp;
        }
        return false;
    }
    return true;
}
int main()
{
    ios::sync_with_stdio(false);
    cin >> n >> m;
    for (int i = 1 ; i <= n ; i++)
        for (int j = 1 ; j <= m ; j++)
            cin >> a[f(i,j)];
    bool ok = dfs(2);
    if (!ok){
        cout << "No" << endl;
        return 0;
    }
    cout << "Yes" << endl;
    for (int i = 1 ; i <= m ; i++)
        cout << a[f(1 , i)] << ' ';
    cout << endl;
    return 0;
}

/*
1 2 3

5 4
2 3 4 b5
*/
