#include <bits/stdc++.h>
int a[55][55], n;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++)
    for (int j = 0; j < n; j++) scanf("%d", &a[i][j]);
  bool isGood = true;
  for (int i = 0; i < n && isGood; i++)
    for (int j = 0; j < n && isGood; j++) {
      if (a[i][j] == 1) continue;
      bool flag = false;
      for (int x = 0; x < n && !flag; x++)
        for (int y = 0; y < n && !flag; y++)
          if (a[i][j] == a[i][y] + a[x][j] && x != i && y != j) flag = true;
      if (!flag) isGood = false;
    }
  printf("%s", isGood ? "YES" : "NO");
  return 0;
}
