#include <bits/stdc++.h>
using namespace std;
int a[55][55], b[55][55];
int n, m;
bool Solve() {
  for (int i = 1; i <= n; i++)
    for (int j = 2; j <= m; j++)
      if (a[i][j] <= a[i][j - 1] || b[i][j] <= b[i][j - 1]) return false;
  for (int j = 1; j <= m; j++)
    for (int i = 2; i <= n; i++)
      if (a[i][j] <= a[i - 1][j] || b[i][j] <= b[i - 1][j]) return false;
  return true;
}
int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) cin >> a[i][j];
  for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++) {
      cin >> b[i][j];
      if (b[i][j] < a[i][j]) swap(a[i][j], b[i][j]);
    }
  if (Solve())
    cout << "Possible" << endl;
  else
    cout << "Impossible" << endl;
  return 0;
}
