import java.io.*; import java.util.*; class Main { public static void out (Object o) { System.out.println(o); } public static int solve (int[] prob) { //out(Arrays.toString(prob)); if (prob[2] == 0) return 0; if (prob[1] == 0) return prob[2] / 5; if (prob[0] == 0) { if (prob[1] == prob[2]) { int m = prob[1] % 4; int n = prob[1] / 4 * 2; return m == 3 ? n + 1 : n; } else if (prob[2] - prob[1] != 1) { if (prob[2] % 2 != prob[1] % 2) { prob[2] -= 2; prob[1]++; } prob[0] = Math.min((prob[2] - prob[1]) / 2 , prob[1]); prob[2] -= prob[0] * 2; Arrays.sort(prob); return solve(prob); } else { return prob[2] / 2; } } else { int ret = prob[0]; prob[1] -= prob[0]; prob[2] -= prob[0]; prob[0] = 0; return ret + solve(prob); } } public static void main (String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] line = br.readLine().split(" "); int r = Integer.parseInt(line[0]); int g = Integer.parseInt(line[1]); int b = Integer.parseInt(line[2]); int[] prob = {r , g , b}; Arrays.sort(prob); out(solve(prob)); } }