#include #define int long long #define mod (int)(1e9+7) #define inf (int)(3e18) #define rep(i,n) for(int i=0;i #define PiP pair> #define all(v) v.begin(),v.end() #define mkp make_pair #define mkt make_tuple #define prique(T) priority_queue,greater> #define vecunique(vec) sort(vec.begin(), vec.end());decltype(vec)::iterator result = std::unique(vec.begin(), vec.end());vec.erase(result, vec.end()) using namespace std; template inline void chmax(T& a, T b) { a = max(a, b); } template inline void chmin(T& a, T b) { a = min(a, b); } bool prime(int x) { for (int i = 2; i * i <= x; i++) { if (x % i == 0)return false; } return x > 1; } int gcd(int x, int y) { if (y == 0)return x; return gcd(y, x % y); } int lcm(int x, int y) { return x / gcd(x, y) * y; } int kai(int x, int y) { int res = 1; for (int i = x - y + 1; i <= x; i++) { res *= i; res %= mod; } return res; } int mod_pow(int x, int y) { int res = 1; while (y > 0) { if (y & 1) { res = res * x % mod; } x = x * x % mod; y >>= 1; } return res; } int comb(int x, int y) { if (y > x)return 0; return kai(x, y) * mod_pow(kai(y, y), mod - 2) % mod; } /*--------Library Zone!--------*/ int n, a[5]; void check(string s) { rep(i, s.size()) { if ('0' > s[i] || s[i] > '9') { cout << "\"assert\"" << endl; exit(0); } } } int mystoi(string s) { int res = 0; rep(i, s.size())res = res * 10 + (s[i] - '0'); return res; } signed main() { cin >> n; int cnt = 0; string s; getline(cin, s); rep(i, 3) { getline(cin, s); check(s); a[i] = mystoi(s); } vectorv; v.push_back(a[0] + a[1]); v.push_back(a[1] + a[2]); v.push_back(a[2] + a[0]); sort(all(v)); v.erase(unique(all(v)), v.end()); sort(all(v), greater<>()); cout << v[1] << endl; }