#include <stdio.h>
#include <string.h>
 
char str[110];
int i,j,k,l,m,n;
int n,e,s,w,un,up;
int a[7],b[7], qu[25],qf[25],ufl[25];
int a2[7],b2[7];
int t;
 
void input() {
  for(i=0;i<6;i++){
    scanf("%d",&a[i+1]);
    b[i+1] = a[i+1];
    // printf("a[%d] = %d\n",i+1,a[i+1]);
  }
  for(i=0;i<6;i++){
    scanf("%d",&a2[i+1]);
    b2[i+1] = a2[i+1];
    // printf("a[%d] = %d\n",i+1,a[i+1]);
  }
 
 
  /*  scanf("%d",&n);
  //printf("n = %d\n",n);
 
  for(i=0;i<n;i++) {
    scanf("%d %d",&qu[i],&qf[i]);
    //  printf("qu[%d] = %d qf[%d] = %d\n",i,qu[i],i,qf[i]);
    } */
}
 
void N() {
  t = a[1];
  a[1] = a[2];
  a[2] = a[6];
  a[6] = a[5];
  a[5] = t;
}
 
void S() {
  t = a[1];
  a[1] = a[5];
  a[5] = a[6];
  a[6] = a[2];
  a[2] = t;
}
 
void E() {
  t = a[1];
  a[1] = a[4];
  a[4] = a[6];
  a[6] = a[3];
  a[3] = t;
}
 
void W() {
  t = a[1];
  a[1] = a[3];
  a[3] = a[6];
  a[6] = a[4];
  a[4] = t;
}
 
void UF() {
 
  if(a2[1] == a[1]) { // if qu == 1;
    // printf("qu == 1\n");
    if(a2[2] == a[3]) strcpy( str, "NWS");
    else if(a2[2] == a[5]) strcpy(str ,"NEES");
    else if(a2[2] == a[4]) strcpy(str,"NES");
    else if(a2[2] == a[6]) strcpy(str, "N");
  } 
 
 else if(a2[1] == a[2]) {  // if qu == 2;
    // printf("qu == 2\n");
    if(a2[2] == a[3])  strcpy( str, "NWS");
    else if(a2[2] == a[1] ) strcpy(str ,"NEES");
    else if(a2[2] == a[4]) strcpy(str,"NES");
    else if(a2[2] == a[5]) strcpy(str, "N");
    N();
  }
 
 
 else if(a2[1] == a[3]){ // if qu == 3;
    //   printf("qu(%d) == %d\n",qu[k],a[3]);
     
    if(a2[2] == a[6])  strcpy( str, "NWS");
    else if(a2[2] == a[5])  strcpy(str ,"NEES");
    else if(a2[2] == a[1]) strcpy(str,"NES");
    else if(a2[2] == a[4]) strcpy(str, "N");
    W();
  }
 
 
 else if(a2[1] == a[4]) {
    if(a2[2] == a[1]) strcpy( str, "NWS");
    if(a2[2] == a[5])  strcpy(str ,"NEES");
    if(a2[2] == a[6]) strcpy(str,"NES");
    else if(a2[2] == a[3]) strcpy(str, "N");
    E();
  }
 
 else if(a2[1] == a[5]) {
    if(a2[2] == a[3]) strcpy( str, "NWS");
    else if(a2[2] == a[6])  strcpy(str ,"NEES");
    else if(a2[2] == a[4]) strcpy(str,"NES");
    else if(a2[2] == a[2]) strcpy(str, "N");
    S();
  }
 
 else if(a2[1] == a[6]) {
    if(a2[2] == a[3]) strcpy( str, "NWS");
    else if(a2[2] == a[2])  strcpy(str ,"NEES");
    else if(a2[2] == a[4]) strcpy(str,"NES");
    else if(a2[2] == a[1]) strcpy(str, "N");
    N();
    N();
  }
 
 
}
 
void reset() {
  // printf("before reset str = '%s'\n",str);
  strcpy(str , "");
  for(i=1;i<=6;i++){
    //  printf("before reset a[%d] = %d\n",i,a[i]);
    a[i] = b[i];
    //     printf("a[%d] = %d\n",i,a[i]);
  }
  // printf("str = '%s'\n",str);
}
 
 
void output() {
  /*  printf("%d\n",a[1]); */
 
  /* printf("%d\n",a[3]); */
  k = 0;
  for(i=1;i<=6;i++) {
    if(a[i] == a2[i]) k++;
  }
  if(k == 6) printf("Yes\n");
  else printf("No\n");
}
 
void IF() {
 
  // scanf("%s",str);
 
  for(i=0;i<strlen(str);i++) {
 
    if(str[i] == 'N') N();
    else if(str[i] == 'S') S();
    else if(str[i] == 'W') W();
    else if(str[i] == 'E') E();
  }
}
 
int main() {
 
 
  input();
 
    UF();
     
    IF();
 
    output();
 
 
 
  //  strlen(?) ???????????????(??°)
 
 
  return 0;
}


Measured memory_bytes: 2132