#include <bits/stdc++.h>
using namespace std;
const int maxn = 10 + 5;
char a[maxn][maxn], b[maxn][maxn];
int n;
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    scanf("%s", a[i]);
  }
  for (int i = 0; i < n; i++) {
    scanf("%s", b[i]);
  }
  for (int f1 = 0; f1 < 2; f1++) {
    for (int f2 = 0; f2 < 2; f2++) {
      for (int f3 = 0; f3 < 2; f3++) {
        int flag = 0;
        for (int i = 0; i < n; i++) {
          for (int j = 0; j < n; j++) {
            if (flag == 1) break;
            int x = (f1 == 0 ? i : n - i - 1);
            int y = (f2 == 0 ? j : n - j - 1);
            if (f3) swap(x, y);
            if (a[i][j] != b[x][y]) {
              flag = 1;
              break;
            }
          }
        }
        if (flag == 0) {
          cout << "Yes" << endl;
          return 0;
        }
      }
    }
  }
  cout << "No" << endl;
  return 0;
}
