local n = io.read("*n")
local a1, a2, a3 = 0, 0, 0
for i = 1, n do
  local a = io.read("*n")
  if a == 1 then a1 = a1 + 1
  elseif a == 2 then a2 = a2 + 1
  else a3 = a3 + 1
  end
end
local t = {}
local p = {}
for i = 1, n + 1 do
  local r0 = i - 1
  t[i] = {}
  p[i] = {}
  for j = 1, n + 2 - i do
    local r1 = j - 1
    t[i][j] = {}
    p[i][j] = {}
    for k = 1, n + 3 - i - j do
      local r2 = k - 1
      local r3 = n - r0 - r1 - r2
      t[i][j][k] = 0
      p[i][j][k] = 0
      if r0 == 0 and r1 == a1 and r2 == a2 then
        p[i][j][k] = 1
      elseif 3 < i + j + k then
        local p1, t1 = 0, 0
        if 1 < i then
          p1 = p[i - 1][j + 1][k] * (r1 + 1) / (r1 + 1 + r2 + r3)
          t1 = t[i - 1][j + 1][k] + n / (n - (r0 - 1))
        end
        local p2, t2 = 0, 0
        if 1 < j then
          p2 = p[i][j - 1][k + 1] * (r2 + 1) / (r1 + r2 + r3)
          t2 = t[i][j - 1][k + 1] + n / (n - r0)
        end
        local p3, t3 = 0, 0
        if 1 < k then
          p3 = p[i][j][k - 1] * (r3 + 1) / (r1 + r2 + r3)
          t3 = t[i][j][k - 1] + n / (n - r0)
        end
        p[i][j][k] = p1 + p2 + p3
        if 0 < p[i][j][k] then
          t[i][j][k] = (p1*t1 + p2*t2 + p3*t3) / (p1 + p2 + p3)
        end
      end
    end
  end
end

print(t[n + 1][1][1])
