class DiceError < StandardError
end

dice1 = gets.split.map(&:to_i)
dice2 = gets.split.map(&:to_i)
throw = {E: [3, 2, 6, 1, 5, 4], N: [5, 1, 3, 4, 6, 2],
         R: [1, 4, 2, 5, 3, 6]}
th = {}
throw.each_key {|k| th[k] = throw[k].map(&:pred)}

rotate = ->(dir, dice) {
  next_dice = Array.new(6, 0)
  dice.each_with_index do |d, i|
    next_dice[th[dir][i]] = d
  end
  next_dice
}

adapt_same_side = ->(dice, dice0) {
  [:N, :N, :N, :N, :E, :N, :N, :N, :N].each do |dir|
    if dice[0] == dice0
      return dice
    else
      dice = rotate.(dir, dice)
    end
  end
  raise DiceError
}

next_dice = adapt_same_side.(dice2, dice1[0])
result = "No"
4.times do
  if next_dice == dice1
    result = "Yes"
    break
  end
  next_dice = rotate.(:R, next_dice)
end
puts result

