#include <bits/stdc++.h>
using namespace std;
const int MAXN = 15;
int N, i, j, k;
char A[MAXN][MAXN], B[MAXN][MAXN];
bool ceka() {
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      if (A[i][j] != B[i][j]) {
        return 0;
      }
    }
  }
  return 1;
}
bool cekb() {
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      if (A[i][j] != B[i][N - 1 - j]) {
        return 0;
      }
    }
  }
  return 1;
}
bool cekc() {
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      if (A[i][j] != B[N - 1 - i][j]) {
        return 0;
      }
    }
  }
  return 1;
}
bool cekd() {
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      if (A[i][j] != B[N - 1 - i][N - 1 - j]) {
        return 0;
      }
    }
  }
  return 1;
}
void rotation() {
  for (i = 0; i < N / 2; i++) {
    for (j = 0; j < (N + 1) / 2; j++) {
      swap(B[i][j], B[j][N - 1 - i]);
      swap(B[N - 1 - i][N - 1 - j], B[j][N - 1 - i]);
      swap(B[N - 1 - i][N - 1 - j], B[N - 1 - j][i]);
    }
  }
  return;
}
void debug() {
  cout << '\n';
  for (i = 0; i < N; i++) {
    for (j = 0; j < N; j++) {
      cout << B[i][j];
    }
    cout << '\n';
  }
  return;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> N;
  for (i = 0; i < N; i++) {
    cin >> A[i];
  }
  for (i = 0; i < N; i++) {
    cin >> B[i];
  }
  for (k = 0; k < 4; k++) {
    if (ceka()) {
      cout << "Yes\n";
      return 0;
    }
    if (cekb()) {
      cout << "Yes\n";
      return 0;
    }
    if (cekc()) {
      cout << "Yes\n";
      return 0;
    }
    if (cekd()) {
      cout << "Yes\n";
      return 0;
    }
    rotation();
  }
  cout << "No\n";
  return 0;
}
