#ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include #include #include #include #include #include #include #include //#endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#include #include //#include #include //#include #include //#include #include #include #include #include //#include #include #include #include #include #include using namespace std; int main () { array A; for( size_t i = 0; i < 3; i++ ) { cin >> A[i]; } sort ( A.begin () , A.end () ); long long int ans = A[0]; A[1] -= A[0]; A[2] -= A[0]; A[0] = 0; while( 1 ) { if( A[1] > A[2] && A[2] > 0 && A[1] > 2 ) { A[1] -= 3; A[2]--; ans++; } else if( A[1] <= A[2] && A[1]>0 && A[2] > 2 ) { A[2] -= 3; A[1]--; ans++; } else if( A[1] > 4 ) { A[1] -= 5; ans++; } else if( A[2] > 4 ) { A[2] -= 5; ans++; } else { break; } } cout << ans << endl; }