class Stone { int count; static int jewelry; Stone(int i) { this.count = i; } static void makeJewelry(Stone r, Stone g, Stone b) { r.count--; g.count--; b.count--; jewelry++; } static boolean checkJewelry(Stone r, Stone g, Stone b) { if (r.count >= 1 && g.count >= 1 && b.count >= 1) { return true; } else { return false; } } static void adjust(Stone r, Stone g, Stone b) { Stone x = r.count > g.count ? r : g; Stone max = x.count > b.count ? x : b; Stone n = r.count < g.count ? r : g; Stone min = n.count < b.count ? n : b; max.count -= 2; min.count += 1; } } public class No_91 { public static void main(String[] args) { java.util.Scanner sc = new java.util.Scanner(System.in); Stone red = new Stone(sc.nextInt()); Stone green = new Stone(sc.nextInt()); Stone blue = new Stone(sc.nextInt()); while (red.count >= 0 && green.count >= 0 && blue.count >= 0) { if (Stone.checkJewelry(red, green, blue)) { Stone.makeJewelry(red, green, blue); ; } else { Stone.adjust(red, green, blue); } } System.out.println(Stone.jewelry); } }