#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: 2148