#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int dp[31]; int main(void) { cin.tie(0); ios::sync_with_stdio(false); int a, b, c, d; int res = 1e9; cin >> a >> b >> c >> d; for (int i = 1; i <= 30; i++) { for (int j = i + 1; j <= 30; j++) { for (int k = j + 1; k <= 30; k++) { for (int l = 0; l <= 30; l++) { dp[l] = 1e5; } dp[i] = 1; dp[j] = 1; dp[k] = 1; for (int x = 1; x <= 30; x++) { if (dp[x] != 1e5) continue; for (int y = 1; y < x; y++) { dp[x] = min(dp[x], dp[y] + dp[x - y]); } } res = min(res, dp[a] + dp[b] + dp[c] + dp[d]); } } } cout << res << '\n'; return 0; }