text: #include <bits/stdc++.h>
  
  using namespace std;
  
  typedef long long ll;
  typedef vector<int> vi;
  typedef pair<int, int> pii;
  template <typename T1, typename T2>
  ostream &operator <<(ostream &os, pair<T1, T2> p){os << p.first << " " << p.second; return os;}
  template <typename T>
  ostream &operator <<(ostream &os, vector<T> &v){for(T i : v)os << i << ", "; return os;}
  template <typename T>
  ostream &operator <<(ostream &os, set<T> s){for(T i : s) os << i << ", "; return os;}
  template <typename T1, typename T2>
  ostream &operator <<(ostream &os, map<T1, T2> m){for(pair<T1, T2> i : m) os << i << endl; return os;}
  
  int main(){
      int r, g, b; cin >> r >> g >> b;
      int m = min(r, min(g, b));
      int ans = 0;
      for(int i = 0; i <= min(3, m); i++){
          ans = max(ans, i + (r - i) / 3 + (g - i) / 3 + (b - i) / 3);
      }
      cout << ans << endl;
      return 0;
  }
  
  
  