Dice = Struct.new(:top, :front, :right, :left, :back, :bottom) do
    def roll(x)
        case x
        when "E"
            k = self.top
            self.top = self.left
            self.left = self.bottom
            self.bottom = self.right
            self.right = k
        when "N"
            k = self.top
            self.top = self.front
            self.front = self.bottom
            self.bottom = self.back
            self.back = k
        when "S"
            k = self.top
            self.top = self.back
            self.back = self.bottom
            self.bottom = self.front
            self.front = k
        when "W"
            k = self.top
            self.top = self.right
            self.right = self.bottom
            self.bottom = self.left
            self.left =k
        end
    end
    
    def twist
        k = self.front
        self.front = self.right
        self.right = self.back
        self.back = self.left
        self.left = k
    end
end

dice1 = Dice.new
dice2 = Dice.new
dice_tmp = Dice.new

dice1.top, dice1.front, dice1.right, dice1.left, dice1.back, dice1.bottom = gets.split
dice2.top, dice2.front, dice2.right, dice2.left, dice2.back, dice2.bottom = gets.split

founded = false

ary = ["","N","W","E","S","NN"]

for c in ary 
    break if founded
    dice_tmp = dice1.dup
    if c != "" then
        for x in c.split("")
            dice_tmp.roll(x)
        end
    end
    4.times{
        dice_tmp.twist
        flag = (dice_tmp == dice2 ? "true" : "false")
        if dice_tmp == dice2 then
            founded = true
            puts "Yes"
            break
        end
    }
end

puts "No" if !founded
