#include<stdio.h>

int main()
{
   int s[6],s_2[6],s_3[6];
   int T,F,j,i;
   int count =0;
   scanf("%d %d %d %d %d %d",&s[0],&s[1],&s[2],&s[3],&s[4],&s[5]);
   scanf("%d %d %d %d %d %d",&s_2[0],&s_2[1],&s_2[2],&s_2[3],&s_2[4],&s_2[5]);
   char d[1][4]={0};
   T=s_2[0];
   F=s_2[1];
       i=0;
       j=0;
       if(T==s[0]){
          if(F==s[2]){
             d[i][j]='W';
             d[i][j+1]='S';
             d[i][j+2]='E';
          }else if(F==s[3]){
             d[i][j]='E';
             d[i][j+1]='S';
             d[i][j+2]='W';
          }else if(F==s[4]){
             d[i][j]='W';
             d[i][j+1]='S';
             d[i][j+2]='S';
             d[i][j+3]='E';
          }else{
             d[i][j]=0;
          }
      }else if(T==s[1]){
          if(F==s[0]){
             d[i][j]='S';
             d[i][j+1]='W';
             d[i][j+2]='W';
          }else if(F==s[2]){
             d[i][j]='E';
             d[i][j+1]='N';
          }else if(F==s[3]){
             d[i][j]='W';
             d[i][j+1]='N';
          }else{
             d[i][j]='N';
          }
      }else if(T==s[2]){
          if(F==s[0]){
             d[i][j]='S';
             d[i][j+1]='W';
          }else if(F==s[4]){
             d[i][j]='S';
             d[i][j+1]='S';
             d[i][j+2]='W';
          }else if(F==s[5]){
             d[i][j]='N';
             d[i][j+1]='W';
          }else{
             d[i][j]='W';
          }
      }else if(T==s[3]){
          if(F==s[0]){
             d[i][j]='S';
             d[i][j+1]='E';
          }else if(F==s[4]){
             d[i][j]='S';
             d[i][j+1]='S';
             d[i][j+2]='E';
          }else if(F==s[5]){
             d[i][j]='N';
             d[i][j+1]='E';
          }else{
             d[i][j]='E';
          }
      }else if(T==s[4]){
          if(F==s[2]){
             d[i][j]='W';
             d[i][j+1]='S';
          }else if(F==s[3]){
             d[i][j]='E';
             d[i][j+1]='S';
          }else if(F==s[5]){             
             d[i][j]='W';
             d[i][j+1]='W';
             d[i][j+2]='S';
          }else{
             d[i][j]='S';
          }
      }else{
          if(F==s[1]){
             d[i][j]='W';
             d[i][j+1]='W';
          }else if(F==s[2]){
             d[i][j]='W';
             d[i][j+1]='S';
             d[i][j+2]='W';
          }else if(F==s[3]){
             d[i][j]='E';
             d[i][j+1]='S';
             d[i][j+2]='E';
          }else{
             d[i][j]='N';
             d[i][j+1]='N';
          }
      }
          s_3[0]=s[0];
          s_3[1]=s[1];
          s_3[2]=s[2];
          s_3[3]=s[3];
          s_3[4]=s[4];
          s_3[5]=s[5];
          for(j=0;j<4;j++){
              int b;
              if(d[i][j]=='E'){
                  b=s_3[0];
                  s_3[0]=s_3[3];
                  s_3[3]=s_3[5];
                  s_3[5]=s_3[2];
                  s_3[2]=b;
             }else if(d[i][j]=='W'){
                  b=s_3[0];
                  s_3[0]=s_3[2];
                  s_3[2]=s_3[5];
                  s_3[5]=s_3[3];
                  s_3[3]=b;
             }else if(d[i][j]=='N'){
                  b=s_3[0];
                  s_3[0]=s_3[1];
                  s_3[1]=s_3[5];
                  s_3[5]=s_3[4];
                  s_3[4]=b;
             }else if(d[i][j]=='S'){
                   b=s_3[0];
                   s_3[0]=s_3[4];
                   s_3[4]=s_3[5];
                   s_3[5]=s_3[1];
                   s_3[1]=b;
            }
          }
          for(i=0;i<6;i++){
              if(s[0]==s_2[i]){
              count+=1;
              }
          }
          //printf("%d",d[0][0]);
          //printf("%d %d %d %d %d %d",s_3[0],s_3[1],s_3[2],s_3[3],s_3[4],s_3[5]);
          if(s_2[0]==s_3[0]&&s_2[1]==s_3[1]&&s_2[2]==s_3[2]&&s_2[3]==s_3[3]&&s_2[4]==s_3[4]&&s_2[5]==s_3[5]){
              printf("Yes\n");
          }else if(count==5){
              printf("Yes\n");
          }else{
              printf("No\n");
          }
 return 0;
 }


Measured memory_bytes: 2704