#include using namespace std; using ll = long long; int main() { ll R, G, B; cin >> R >> G >> B; auto ok = [&](ll k) -> bool { ll sr = max(0LL, R - k), sg = max(0LL, G - k), sb = max(0LL, B - k); ll dr = max(0LL, k - R), dg = max(0LL, k - G), db = max(0LL, k - B); ll cr = sr / 2, cg = sg / 2, cb = sb / 2; if (dr > cg + cb) return false; if (dg > cr + cb) return false; if (db > cr + cg) return false; if (dr + dg + db > cr + cg + cb) return false; return true; }; ll lo = 0, hi = (R + G + B) / 3 + 1; // 最大でも総数/3 while (lo + 1 < hi) { ll mid = (lo + hi) / 2; if (ok(mid)) lo = mid; else hi = mid; } cout << lo << "\n"; }