#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i, j, flag = 0;
  cin >> n;
  char *a_1 = new char[n * n];
  char *a_2 = new char[n * n];
  for (i = 0; i < n * n; i++) cin >> a_1[i];
  for (i = 0; i < n * n; i++) cin >> a_2[i];
  if (flag == 0) {
    flag = 1;
    for (i = 0; i < n; i++) {
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[i * n + j]) {
          flag = 0;
          break;
        }
      }
      if (flag == 0) break;
    }
  }
  if (flag == 0) {
    int k = n - 1;
    flag = 1;
    for (i = 0; i < n; i++) {
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[k + j * n]) {
          flag = 0;
          break;
        }
      }
      if (flag == 0) break;
      k--;
    }
  }
  if (flag == 0) {
    flag = 1;
    int l = n - 1;
    for (i = 0; i < n; i++) {
      int k = n - 1;
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[k + l * n]) {
          flag = 0;
          break;
        }
        k--;
      }
      if (flag == 0) break;
      l--;
    }
  }
  if (flag == 0) {
    flag = 1;
    for (i = 0; i < n; i++) {
      int k = n - 1;
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[i + k * n]) {
          flag = 0;
          break;
        }
        k--;
      }
      if (flag == 0) break;
    }
  }
  if (flag == 0) {
    flag = 1;
    int l = n - 1;
    for (i = 0; i < n; i++) {
      int k = n - 1;
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[k + i * n]) {
          flag = 0;
          break;
        }
        k--;
      }
      if (flag == 0) break;
    }
  }
  if (flag == 0) {
    flag = 1;
    int l = n - 1;
    for (i = 0; i < n; i++) {
      int k = n - 1;
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[l + k * n]) {
          flag = 0;
          break;
        }
        k--;
      }
      if (flag == 0) break;
      l--;
    }
  }
  if (flag == 0) {
    flag = 1;
    int l = n - 1;
    for (i = 0; i < n; i++) {
      int k = n - 1;
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[j + l * n]) {
          flag = 0;
          break;
        }
      }
      if (flag == 0) break;
      l--;
    }
  }
  if (flag == 0) {
    flag = 1;
    int l = n - 1;
    for (i = 0; i < n; i++) {
      for (j = 0; j < n; j++) {
        if (a_1[i * n + j] != a_2[i + j * n]) {
          flag = 0;
          break;
        }
      }
      if (flag == 0) break;
      l--;
    }
  }
  cout << endl;
  if (flag == 1)
    cout << "Yes";
  else
    cout << "No";
}
