#include <bits/stdc++.h>
using namespace std;
char s1[15][15], s2[15][15];
int n;
bool fun() {
  int i, j;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[i][j]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[j][n - 1 - i]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[n - i - 1][n - j - 1]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[n - j - 1][i]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[n - i - 1][j]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[i][n - j - 1]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[j][i]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      if (s1[i][j] != s2[n - j - 1][n - i - 1]) break;
    }
    if (j != n) break;
  }
  if (i == n) return true;
  return false;
}
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) scanf("%s", s1[i]);
  for (int i = 0; i < n; i++) scanf("%s", s2[i]);
  if (fun())
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
  return 0;
}
