#include <bits/stdc++.h>
using namespace std;
set<pair<string, string> > u;
void dfs(string a, string b) {
  u.insert({a, b});
  if (a[0] == 'X') {
    swap(a[0], a[1]);
    if (!u.count({a, b})) dfs(a, b);
    swap(a[0], a[1]);
    swap(a[0], b[0]);
    if (!u.count({a, b})) dfs(a, b);
    swap(a[0], b[0]);
  }
  if (a[1] == 'X') {
    swap(a[0], a[1]);
    if (!u.count({a, b})) dfs(a, b);
    swap(a[0], a[1]);
    swap(a[1], b[1]);
    if (!u.count({a, b})) dfs(a, b);
    swap(a[1], b[1]);
  }
  if (b[0] == 'X') {
    swap(b[0], b[1]);
    if (!u.count({a, b})) dfs(a, b);
    swap(b[0], b[1]);
    swap(a[0], b[0]);
    if (!u.count({a, b})) dfs(a, b);
    swap(a[0], b[0]);
  }
  if (b[1] == 'X') {
    swap(b[0], b[1]);
    if (!u.count({a, b})) dfs(a, b);
    swap(b[0], b[1]);
    swap(a[1], b[1]);
    if (!u.count({a, b})) dfs(a, b);
    swap(a[1], b[1]);
  }
}
int main() {
  string a, b, c, d;
  cin >> a >> b >> c >> d;
  dfs(a, b);
  if (u.count({c, d})) {
    cout << "YES";
  } else {
    cout << "NO";
  }
  return 0;
}
