#https://scrapbox.io/esaka-sandbox/Educational_DP_Contest_%2F_DP_%E3%81%BE%E3%81%A8%E3%82%81%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88_-_J_-_Sushi
N = gets.to_i
A = gets.split.map(&:to_i)

#4s以上かかる。ギブアップ
#N = 300
#A = N.times.map{3}

sushi = Array.new(3, 0)
A.each do |n|
  sushi[n - 1] += 1
end

_sum = sushi.inject(:+)
@dp = Array.new(_sum + 1){Array.new(_sum + 1){Array.new(_sum + 1, -1)}}

def rec(i, j , k)
  return @dp[i][j][k] if @dp[i][j][k] >= 0
  return 0.0 if i == 0 && j == 0 && k == 0
  
  res = 0.0
  res += rec(i - 1, j, k) * i      if i > 0
  res += rec(i + 1, j - 1, k) * j  if j > 0
  res += rec(i, j + 1, k - 1) * k  if k > 0
  res += N
  res *= 1.0/(i + j + k)
  return @dp[i][j][k] = res
end
p rec(sushi[0], sushi[1], sushi[2])