class Dice
  TOP = 0
  FRONT = 1
  RIGHT = 2
  LEFT = 3
  BACK = 4
  BOTTOM = 5

  def initialize(faces)
    @faces = faces
  end

  def turn_to_n
    old_top = @faces[TOP]
    @faces[TOP] = @faces[FRONT]
    @faces[FRONT] = @faces[BOTTOM]
    @faces[BOTTOM] = @faces[BACK]
    @faces[BACK] = old_top
  end

  def turn_to_e
    old_top = @faces[TOP]
    @faces[TOP] = @faces[LEFT]
    @faces[LEFT] = @faces[BOTTOM]
    @faces[BOTTOM] = @faces[RIGHT]
    @faces[RIGHT] = old_top
  end

  def turn_to_w
    old_top = @faces[TOP]
    @faces[TOP] = @faces[RIGHT]
    @faces[RIGHT] = @faces[BOTTOM]
    @faces[BOTTOM] = @faces[LEFT]
    @faces[LEFT] = old_top
  end

  def turn_to_s
    old_top = @faces[TOP]
    @faces[TOP] = @faces[BACK]
    @faces[BACK] = @faces[BOTTOM]
    @faces[BOTTOM] = @faces[FRONT]
    @faces[FRONT] = old_top
  end

  def right_when_top_and_front_are(top, front)
    set_top_to(top)
    keep_top_and_set_front_to(front)
    @faces[RIGHT]
  end

  def ==(other)
    return true if faces == other.faces
    5.times {
      turn_to_n
      return true if faces == other.faces
      5.times {
        turn_to_e
        return true if faces == other.faces
      }
    }
    false
  end

  attr_reader :faces

  private

  def set_top_to(value)
    return if @faces[TOP] == value
    case value
      when @faces[FRONT] then turn_to_n
      when @faces[LEFT] then turn_to_e
      when @faces[RIGHT] then turn_to_w
      when @faces[BACK] then turn_to_s
      else turn_to_s; turn_to_s
    end
  end

  def keep_top_and_set_front_to(value)
    return if @faces[FRONT] == value
    case value
      when @faces[LEFT] then turn_to_e; turn_to_s; turn_to_w
      when @faces[RIGHT] then turn_to_w; turn_to_s; turn_to_e
      when @faces[BACK] then turn_to_e; turn_to_s; turn_to_s; turn_to_w
    end
  end
end

dice1 = Dice.new gets.split(" ").map(&:to_i)
dice2 = Dice.new gets.split(" ").map(&:to_i)
puts dice1 == dice2 ? "Yes" : "No"