# coding: utf-8 INF = 10 ** 20 MOD = 10 ** 9 + 7 def II(): return int(input()) def ILI(): return list(map(int, input().split())) def read(): R, G, B = ILI() return R, G, B def solve(R, G, B): min_all = min(R, G, B) l_dif = [ele - min_all for ele in [R, G, B]] l_dif.sort(reverse=True) dif_1 = l_dif[0] dif_2 = l_dif[1] ans = min_all if dif_1 >= dif_2 * 3: ans += dif_2 ans += (dif_1 - dif_2) // 5 else: div, mod = divmod((dif_1 - dif_2), 2) ans += div dif_1 = dif_2 + mod - div dif_2 = dif_2 - div state = 0 while dif_1 >= 3 or dif_2 >= 3: if state == 0: dif_1 -= 3 dif_2 -= 1 elif state == 1: dif_1 -= 3 dif_2 -= 1 ans += 1 state = (state + 1) % 2 return ans def main(): params = read() print(solve(*params)) if __name__ == "__main__": main()