#include void swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; } void sort(int a[3]) { if(a[0] < a[1]) swap(&a[0], &a[1]); if(a[1] < a[2]) swap(&a[1], &a[2]); if(a[0] < a[1]) swap(&a[0], &a[1]); } int main(void) { int a[3]; int num = 0; int i; scanf("%d%d%d", &a[0], &a[1], &a[2]); do{ sort(a); // printf("%d,%d,%d %d\n", a[0], a[1], a[2], num); num += a[2]; a[0] -= a[2]; a[1] -= a[2]; a[2] -= a[2]; if(a[0] - a[1] > 1){ a[2] = (a[0] - a[1]) / 2; a[0] -= (a[0] - a[1]); } else if(a[0] > 1){ a[2] = a[0] / 2; a[0] -= a[0] / 2; } sort(a); } while(a[2] > 0); printf("%d\n", num); return 0; }