#include #include #include #include #include #include #include #include #include // require sort next_permutation count __gcd reverse etc. #include // require abs exit atof atoi #include // require scanf printf #include #include // require accumulate #include // require fabs #include #include #include #include // require setw #include // require stringstream #include // require memset #include // require tolower, toupper #include // require freopen #include // require srand #define rep(i,n) for(int i=0;i<(n);i++) #define ALL(A) A.begin(), A.end() #define INF 1<<20 /* No.27 板の準備 全探索、全探索? */ using namespace std; typedef long long ll; typedef pair P; int solve (int a, int b, int c, int v ){ int res = INF; for (int x = 0; x <= v/a; x++ ){ for (int y = 0; y <= v/b; y++ ){ for (int z = 0; z <= v/c; z++ ){ if (a*x + b*y + c*z == v ){ res = min (res, x + y + z ); } // end if } // end for } // end for } // end for return res; } int main() { ios_base::sync_with_stdio(0); vector V(4, 0 ); rep (i, 4 ) cin >> V[i]; int res = INF; for (int a = 1; a <= 30; a++ ){ for (int b = a + 1; b <= 30; b++ ){ for (int c = b + 1; c <= 30; c++ ){ int curr = 0; rep (i, 4 ) curr += solve (a, b, c, V[i] ); res = min (res, curr ); } // end for } // end for } // end for cout << res << endl; return 0; }