#include <bits/stdc++.h>
using namespace std;
int n;
char a[11][11], b[11][11];
int match() {
  int i, j, flag = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (a[i][j] != b[i][j]) {
        flag = 1;
        break;
      }
    }
    if (flag) break;
  }
  if (flag == 0) return 1;
  flag = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (a[i][j] != b[n - i - 1][j]) {
        flag = 1;
        break;
      }
    }
    if (flag) break;
  }
  if (flag == 0) return 1;
  flag = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (a[i][j] != b[i][n - j - 1]) {
        flag = 1;
        break;
      }
    }
    if (flag) break;
  }
  if (flag == 0) return 1;
  return 0;
}
void rotate() {
  for (int i = 0; i < n; i++)
    for (int j = i; j < n; j++) swap(b[i][j], b[j][i]);
  for (int i = 0; i < n; i++)
    for (int j = 0, k = n - 1; j < k; j++, k--) swap(b[j][i], b[k][i]);
}
int main(void) {
  std::ios_base::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  int i, j, flag = 0;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) cin >> a[i][j];
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) cin >> b[i][j];
  }
  for (i = 0; i < 4; i++) {
    flag = max(flag, match());
    rotate();
  }
  if (flag == 0)
    cout << "No\n";
  else
    cout << "Yes\n";
  return 0;
}
