#include <bits/stdc++.h>
using namespace std;
// LONG LONG
#define LL long long
#define SFL(a) scanf("%lld",&a)
#define SF2L(a,b) scanf("%lld%lld",&a,&b)
#define PFL(a) printf("%lld",a)
#define PF2L(a,b) printf("%lld %lld",a,b)
// INPUT
#define SF(a) scanf("%d",&a)
#define SF2(a,b) scanf("%d%d",&a,&b)
#define SFS(a) scanf("%s",a)
// OUTPUT
#define PF(a) printf("%d",a)
#define PF2(a,b) printf("%d %d",a,b);
#define PFS(s) printf("%s",s)
#define PF2S(s1,s2) printf("%s %s",s1,s2)
#define NL printf("\n")
#define fl(i,x,n) for(i=x;i<=n;i++)
#define PB push_back
#define MP make_pair
// DATA-STRUCTURES
#define PII pair<int, int >
#define PPIII pair<PII, int >
#define PIPII pair<int, PII >
#define PPIIPII pair<PII, PII >
// CONSTANTS
#define MOD 1000000007
#define SIZE 100005
int main()
{
int i,j,r,g,b,sum=0;
SF(r);
SF2(g,b);
if(r<=g && r<=b)
{
sum=r;
i=g=g-r;
j=b=b-r;
}
else if(b<=r && b<=g)
{
sum=b;
i=r=r-b;
j=g=g-b;
}
else
{
sum=g;
i=r=r-g;
j=b=b-g;
}
if(i>j)
{
int t=i;
i=j;
j=t;
}
while(i+j>=3)
{
if(i<j/2)
{
sum+=i;
i=0;
j=j-2*i;
break;
}
else
{
sum+=j/2;
i=i-j/2;
j=j-2*(j/2);
if(i>j)
{
int t=i;
i=j;
j=t;
}
}
}
PF(sum);
NL;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vIExPTkcgTE9ORwojZGVmaW5lIExMIGxvbmcgbG9uZwojZGVmaW5lIFNGTChhKSBzY2FuZigiJWxsZCIsJmEpCiNkZWZpbmUgU0YyTChhLGIpIHNjYW5mKCIlbGxkJWxsZCIsJmEsJmIpCiNkZWZpbmUgUEZMKGEpIHByaW50ZigiJWxsZCIsYSkKI2RlZmluZSBQRjJMKGEsYikgcHJpbnRmKCIlbGxkICVsbGQiLGEsYikKCi8vIElOUFVUCiNkZWZpbmUgU0YoYSkgc2NhbmYoIiVkIiwmYSkKI2RlZmluZSBTRjIoYSxiKSBzY2FuZigiJWQlZCIsJmEsJmIpCiNkZWZpbmUgU0ZTKGEpIHNjYW5mKCIlcyIsYSkKCi8vIE9VVFBVVAojZGVmaW5lIFBGKGEpIHByaW50ZigiJWQiLGEpCiNkZWZpbmUgUEYyKGEsYikgcHJpbnRmKCIlZCAlZCIsYSxiKTsKI2RlZmluZSBQRlMocykgcHJpbnRmKCIlcyIscykKI2RlZmluZSBQRjJTKHMxLHMyKSBwcmludGYoIiVzICVzIixzMSxzMikKCiNkZWZpbmUgTkwgcHJpbnRmKCJcbiIpCiNkZWZpbmUgZmwoaSx4LG4pIGZvcihpPXg7aTw9bjtpKyspCiNkZWZpbmUgUEIgcHVzaF9iYWNrCiNkZWZpbmUgTVAgbWFrZV9wYWlyCgovLyBEQVRBLVNUUlVDVFVSRVMKI2RlZmluZSBQSUkgcGFpcjxpbnQsIGludCA+CiNkZWZpbmUgUFBJSUkgcGFpcjxQSUksIGludCA+CiNkZWZpbmUgUElQSUkgcGFpcjxpbnQsIFBJSSA+CiNkZWZpbmUgUFBJSVBJSSBwYWlyPFBJSSwgUElJID4KCi8vIENPTlNUQU5UUwojZGVmaW5lIE1PRCAxMDAwMDAwMDA3CiNkZWZpbmUgU0laRSAxMDAwMDUKCgppbnQgbWFpbigpCnsKCWludCBpLGoscixnLGIsc3VtPTA7CglTRihyKTsKCVNGMihnLGIpOwoJaWYocjw9ZyAmJiByPD1iKQoJewoJCXN1bT1yOwoJCWk9Zz1nLXI7CgkJaj1iPWItcjsKCX0KCWVsc2UgaWYoYjw9ciAmJiBiPD1nKQoJewoJCXN1bT1iOwoJCWk9cj1yLWI7CgkJaj1nPWctYjsKCX0KCWVsc2UKCXsKCQlzdW09ZzsKCQlpPXI9ci1nOwoJCWo9Yj1iLWc7Cgl9CglpZihpPmopCgl7CgkJaW50IHQ9aTsKCQlpPWo7CgkJaj10OwoJfQoJd2hpbGUoaStqPj0zKQoJewoJCWlmKGk8ai8yKQoJCXsKCQkJc3VtKz1pOwoJCQlpPTA7CgkJCWo9ai0yKmk7CgkJCWJyZWFrOwoJCX0KCQllbHNlCgkJewoJCQlzdW0rPWovMjsKCQkJaT1pLWovMjsKCQkJaj1qLTIqKGovMik7CgkJCWlmKGk+aikKCQkJewoJCQkJaW50IHQ9aTsKCQkJCWk9ajsKCQkJCWo9dDsKCQkJfQoJCX0KCX0KCVBGKHN1bSk7CglOTDsKCXJldHVybiAwOwp9ICAgICA=