#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O3")
#pragma GCC target("sse4")
const long double PI = acos(-1.0);
const long double EPS = 1e-6;
const long long INF = 1e9;
const long long LINF = 1e18;
const long long mod = 1e9 + 7;
const long long MAX = 2e5 + 47;
int n;
string s[10];
char newS[10][10];
char newS2[10][10];
string t[10];
void rotate() {
  int ptr = 0;
  for (int j = 0; j < n; j++)
    for (int i = n - 1; i >= 0; i--) {
      newS[ptr / n][ptr % n] = t[i][j];
      ptr++;
    }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      t[i][j] = newS[i][j];
    }
  }
}
void checkIdentity() {
  bool isGood = true;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      isGood &= s[i][j] == t[i][j];
    }
  }
  if (isGood) {
    cout << "Yes";
    exit(0);
  }
}
void flip1() {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) newS[n - 1 - i][j] = t[i][j];
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      t[i][j] = newS[i][j];
    }
  }
}
void flip2() {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) newS[i][n - 1 - j] = t[i][j];
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      t[i][j] = newS[i][j];
    }
  }
}
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  cin >> n;
  for (int i = 0; i < n; i++) cin >> s[i];
  for (int i = 0; i < n; i++) cin >> t[i];
  for (int i = 0; i < 4; i++) {
    checkIdentity();
    rotate();
  }
  flip1();
  for (int i = 0; i < 4; i++) {
    checkIdentity();
    rotate();
  }
  flip1();
  flip2();
  for (int i = 0; i < 4; i++) {
    checkIdentity();
    rotate();
  }
  cout << "No";
  return 0;
}
