#include<iostream>
#include<cstdio>
#include<random>
using namespace std;

struct Dice
{
	int Top, Front, Right, Left, Back, Bottom;
};


void roll (Dice &d1, int r);
bool equal(Dice d1, Dice d2);

int main()
{
	Dice d1, d2;	
	cin >> d1.Top >> d1.Front >> d1.Right >> d1.Left >> d1.Back >> d1.Bottom;
	cin >> d2.Top >> d2.Front >> d2.Right >> d2.Left >> d2.Back >> d2.Bottom;
	while (d1.Top != d2.Top || d1.Front != d2.Front)
		roll(d1, rand()%4);
	if (equal(d1, d2))
		cout << "Yes" << endl;
	else 
		cout << "No" << endl;
	return 0;
}

void roll (Dice &d1, int r)
{
	switch (r)
		{
			case 0:	  swap(d1.Top, d1.Back); 
					  swap(d1.Back, d1.Bottom);
					  swap(d1.Bottom, d1.Front);
					  break;
			case 1:	  swap(d1.Top, d1.Front);
					  swap(d1.Front, d1.Bottom);
					  swap(d1.Bottom, d1.Back);
					  break;
			case 2:   swap(d1.Top, d1.Left);
					  swap(d1.Left, d1.Bottom);
					  swap(d1.Bottom, d1.Right);
					  break;
			case 3:   swap(d1.Top, d1.Right);
					  swap(d1.Right, d1.Bottom);
					  swap(d1.Bottom, d1.Left);
					  break;
		}
}

bool equal(Dice d1, Dice d2)
{
	if (d1.Right != d2.Right)
		return false;
	else if (d1.Left != d2.Left)
		return false;
	else if (d1.Back != d2.Back)
		return false;
	else if (d1.Bottom != d2.Bottom)
		return false;
	return true;
}

