#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<long long int> vec(3);
  for (int i = 0; i < 3; i++) {
    cin >> vec[i];
  }
  sort(vec.begin(), vec.end());
  long long int r = vec[2], g = vec[1], b = vec[0];
  if (r == g && r == b) {
    cout << r << endl;
  } else if (r == g && r != b) {
    long long int count = b;
    r = r - b;
    g = g - b;
    count += (r + g) / 3;
    cout << count << endl;
  } else if (g == b && r != g) {
    if (r > 2 * (g + b))
      cout << g + b << endl;
    else {
      long long int count = g;
      r = r - g;
      count += r / 3;
      cout << count << endl;
    }
  } else {
    if (r - g > g - b) {
      long long int d = g - b;
      r = r - 2 * d;
      g = g - d;
      if (r > 2 * (g + b))
        cout << d + g + b << endl;
      else {
        long long int count = d;
        if (g > 0) count += g + (r - g) / 3;
        cout << count << endl;
      }
    } else {
      long long int d = r - g;
      r = r - 2 * d;
      g = g - d;
      long long int count = d + b;
      r = r - b;
      g = g - b;
      count += (r + g) / 3;
      cout << count << endl;
    }
  }
  return 0;
}
