#include <bits/stdc++.h>
using namespace std;

#define REP(i,a,b) for(int i=a;i<=b;i++)
using LL = long long;

const int Nmax=509, INF=1e9+10;
int N,C[Nmax][Nmax],B[Nmax],A[Nmax],chk,Bm=INF,Am=INF,Delta;

int main() {
    ios_base::sync_with_stdio(0);    cin.tie(0);
    cin>>N;
    REP(i,1,N) {
        REP(j,1,N) {
            cin>>C[i][j];
        }
    }
    REP(j,1,N) {
        B[j]=C[1][j];       Bm=min(Bm,B[j]);
    }
    REP(j,1,N) B[j]-=Bm;
    REP(i,1,N) {
        A[i]=C[i][1];       Am=min(Am,A[i]);
    }
    REP(i,1,N) A[i]-=Am;
    Delta=C[1][1]-A[1]-B[1];
    REP(i,1,N) A[i]+=Delta;
    REP(i,1,N) {
        REP(j,1,N) {
            if (C[i][j]==A[i]+B[j]) continue;
            chk=-1;     break;
        }
    }
    if (chk) cout<<"No";
    else {
        cout<<"Yes\n";
        REP(i,1,N) cout<<A[i]<<" ";
        cout<<"\n";
        REP(i,1,N) cout<<B[i]<<" ";
    }
    return 0;
}

/*
  Krishnakant Tiwari
  Problem Link:

 */
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#pragma GCC optimization ("unroll-loops")
using namespace std;
typedef long long ll;
#define _cin      ios_base::sync_with_stdio(0);  cin.tie(0);
#define endl "\n"
#define pb push_back
#define rep(i,a,b) for(ll i=a;i<b;++i)
#define repd(i,a,b) for(ll i=a;i>=b;--i)
#define mp make_pair
#define hell 1000000007
#define vvll vector<vector<ll> >
#define vll vector<ll>
#define mll map<ll,ll>
#define sz(x) (ll)x.size()
#define sll set<ll>
#define pll pair<ll,ll>
#define F first
#define S second
#define eb	emplace_back
#define ppb	pop_back
#define pf	push_front
#define ppf	pop_front
#define all(x) x.begin(), x.end()
#define clr(x) memset(x, 0, sizeof(x))
#define sortall(x) sort(all(x))
#define tr(it, a) for (auto it = a.begin(); it != a.end(); it++)
#define PI 3.1415926535897932384626
#define deb(x) cout << #x << "=" << x << endl
#define deb2(x, y) cout << #x << "=" << x << "," << #y << "=" << y << endl
#define precise(x)	cout<<fixed<<setprecision(x)
const ll MAX = 1000004;
const ll INF = 1e18L + 5;
template <class T, class U>
void chmin(T &t, const U &u)
{
    if (t > u) t = u;
}
template <class T, class U>
void chmax(T &t, const U &u)
{
    if (t < u) t = u;
}
template <typename Head, typename... Tail>
void debug_out(Head H, Tail... T)
{
    cerr << " " << H;
    debug_out(T...);
}
template <typename Arg1>
void pn(Arg1 &&arg1)
{
    cout << arg1 << "\n";
}
template <typename Arg1, typename... Args>
void pn(Arg1 &&arg1, Args &&... args)
{
    cout << arg1 << "\n";
    pn(args...);
}
template <typename Arg1>
void ps(Arg1 &&arg1)
{
    cout << arg1 << " ";
}
template <typename Arg1, typename... Args>
void ps(Arg1 &&arg1, Args &&... args)
{
    cout << arg1 << " ";
    ps(args...);
}
template <typename Arg1>
void read(Arg1 &&arg1)
{
    cin >> arg1;
}
template <typename Arg1, typename... Args>
void read(Arg1 &&arg1, Args &&... args)
{
    cin >> arg1;
    read(args...);
}

ll g[MAX];
ll a[MAX];

void solve()
{
    ll n, a, b;
    read(n, a, b);
    pn(n - min(a, n) + b);

}


int main()
{

    _cin
    ll tc = 1;
    // cin>>tc;
    while(tc--)
    {
        solve();
    }

}
