output_description: Print the minimum number of operations required to make A, B and C all equal.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      A B C
attempt: #include <bits/stdc++.h>
  using namespace std;
  typedef long long ll;
  typedef pair<int, int> pii;
  typedef pair<ll, ll> pll;
  typedef pair<int, ll> pil;
  typedef pair<ll, int> pli;
  typedef pair<double,double> pdd;
  #define SQ(i) ((i)*(i))
  #define MEM(a, b) memset(a, (b), sizeof(a))
  #define SZ(i) int(i.size())
  #define FOR(i, j, k, in) for (int i=j ; i<(k) ; i+=in)
  #define RFOR(i, j, k, in) for (int i=j ; i>=(k) ; i-=in)
  #define REP(i, j) FOR(i, 0, j, 1)
  #define REP1(i,j) FOR(i, 1, j+1, 1)
  #define RREP(i, j) RFOR(i, j, 0, 1)
  #define ALL(_a) _a.begin(),_a.end()
  #define mp make_pair
  #define pb push_back
  #define eb emplace_back
  #define X first
  #define Y second
  #ifdef tmd
  #define TIME(i) Timer i(#i)
  #define debug(...) do{\
      fprintf(stderr,"%s - %d (%s) = ",__PRETTY_FUNCTION__,__LINE__,#__VA_ARGS__);\
      _do(__VA_ARGS__);\
  }while(0)
  template<typename T>void _do(T &&_x){cerr<<_x<<endl;}
  template<typename T,typename ...S> void _do(T &&_x,S &&..._t){cerr<<_x<<" ,";_do(_t...);}
  template<typename _a,typename _b> ostream& operator << (ostream &_s,const pair<_a,_b> &_p){return _s<<"("<<_p.X<<","<<_p.Y<<")";}
  template<typename It> ostream& _OUTC(ostream &_s,It _ita,It _itb)
  {
      _s<<"{";
      for(It _it=_ita;_it!=_itb;_it++)
      {
          _s<<(_it==_ita?"":",")<<*_it;
      }
      _s<<"}";
      return _s;
  }
  template<typename _a> ostream &operator << (ostream &_s,vector<_a> &_c){return _OUTC(_s,ALL(_c));}
  template<typename _a> ostream &operator << (ostream &_s,set<_a> &_c){return _OUTC(_s,ALL(_c));}
  template<typename _a> ostream &operator << (ostream &_s,deque<_a> &_c){return _OUTC(_s,ALL(_c));}
  template<typename _a,typename _b> ostream &operator << (ostream &_s,map<_a,_b> &_c){return _OUTC(_s,ALL(_c));}
  template<typename _t> void pary(_t _a,_t _b){_OUTC(cerr,_a,_b);cerr<<endl;}
  #define IOS()
  class Timer {
  private:
      string scope_name;
      chrono::high_resolution_clock::time_point start_time;
  public:
      Timer (string name) : scope_name(name) {
          start_time = chrono::high_resolution_clock::now();
      }
      ~Timer () {
          auto stop_time = chrono::high_resolution_clock::now();
          auto length = chrono::duration_cast<chrono::microseconds>(stop_time - start_time).count();
          double mlength = double(length) * 0.001;
          debug(scope_name, mlength);
      }
  };
  #else
  #define TIME(i)
  #define debug(...)
  #define pary(...)
  #define endl '\n'
  #define IOS() ios_base::sync_with_stdio(0);cin.tie(0)
  #endif
  
  const ll MOD = 1000000007;
  const ll INF = 0x3f3f3f3f3f3f3f3f;
  const int iNF = 0x3f3f3f3f;
  // const ll MAXN =
  
  int a, b, c;
  
  int ans = 0;
  int mx = 0;
  
  int dif = 0;
  void fix (int x) {
      ans += (mx-x)/2;
      dif += (mx-x)%2;
  }
  /********** Good Luck :) **********/
  int main () {
      TIME(main);
      IOS();
  
      cin >> a >> b >> c;
      mx = max({a, b, c});
  
  
      fix(a);
      fix(b);
      fix(c);
  
      if (dif == 2) {
          ans++;
      } else if (dif == 1) {
          ans +=2;
      }
  
      cout << ans << endl;
      return 0;
  }
  
problem_description: Statement
  
  You are given three integers A, B and C. Find the minimum number of operations
  required to make A, B and C all equal by repeatedly performing the following
  two kinds of operations in any order:
  
    * Choose two among A, B and C, then increase both by 1.
    * Choose one among A, B and C, then increase it by 2.
  
  It can be proved that we can always make A, B and C all equal by repeatedly
  performing these operations.
samples: [{"input": "2 5 4", "output": "2\n    \n\nWe can make A, B and C all equal by the following operations:\n\n  * Increase A and C by 1. Now, A, B, C are 3, 5, 5, respectively.\n  * Increase A by 2. Now, A, B, C are 5, 5, 5, respectively.\n\n* * *"}, {"input": "2 6 3", "output": "5\n    \n\n* * *"}, {"input": "31 41 5", "output": "23"}]