func main() var r: int :: cui@inputInt() var g: int :: cui@inputInt() var b: int :: cui@inputInt() var ans: int :: [r, g, b].min() do r :- ans do g :- ans do b :- ans var sum: int :: r + g + b var n1: int :: [r, g, b].max() var n2: int :: sum - n1 var ok: int :: 0 var ng: int :: n1 while(ng - ok > 1) var md: int :: (ok + ng) / 2 var f: bool if(md >= n2) var mdd: int :: md do mdd :- n2 do f :: (n1 - 3 * n2 >= 5 * mdd) else var n22: int :: n2 - md var n11: int :: n1 - md do f :: (n11 / 2 + n22 / 2 >= md) end if if(f) do ok :: md else do ng :: md end if end while do ans :+ ok do cui@print("\{ans}\n") end func