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