#include <iostream> #include <vector> #include <algorithm> using namespace std; typedef long long ll; ll inf = 100000000000000000; ll solve(vector<ll> &v){ ll a = v[0],b = v[1],c = v[2],d = v[3],e = v[4]; ll l = max({a - e,c - d,0LL}),r = min(a,c); ll L = max({(2*a - b + 2*c - d - e + 2)/3,a - b + c - e,a - b + c - d}),R = b; bool flag = false; ll x = inf; l = max(l,L), r = min(r,R); if(l<=r) x = l; return a + c - x; } int main(){ vector<ll> v; int i,j; for(i=0;i<5;i++){ ll a; cin >> a; v.push_back(a); } ll ans = 0; for(i=0;i<5;i++){ vector<ll> u; for(j=i;j<i + 5;j++){ u.push_back(v[j%5]); } ans = max(ans,solve(u)); } cout << ans << endl; }