#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
int mod =  1e9+7;
#define debug(x)  cout<<"val= "<<x<<"\n";
#define fast_io ios_base::sync_with_stdio(false);cin.tie(NULL)
 
void solve()
{
    ll a,b,c;

    cin>>a>>b>>c;

    cout<<max(max(a+b, b+c) , c+a);
}
 
int  main()
{
    fast_io;
    int t=1;
    // cin>>t;

    while(t--)
    {
        solve();
    }
}        
#include<bits/stdc++.h>
//#include<atcoder/all>
using namespace std;
//using namespace atcoder;
using ll = long long;
using Graph = vector<vector<int>>;
using P = pair<int, int>;
#define rep(i,m,n) for(int (i)=(m);(i)<(n);++(i))
#define rrep(i,m,n) for(int (i)=(n)-1;(i)>=(m);--(i))
#define all(x) (x).begin(),(x).end()
#define out(y,x,h,w) (y)<0||(x)<0||(y)>=(h)||(x)>=(w)
constexpr ll INF = 1LL << 30;
constexpr ll mod = 100000; //(ll)1e9 + 7;
constexpr double PI = 3.1415926535897932;

template<class T>inline bool chmin(T& a, T b) {
    if (a > b) {
        a = b;
        return true;
    }
    return false;
}
template<class T>inline bool chmax(T& a, T b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}
inline void init() {
    cin.tie(nullptr); cout.tie(nullptr);
    ios::sync_with_stdio(false);
    cout << fixed << setprecision(15);
}

int main() {
    init();

    vector<int>A(3);
    rep(i, 0, 3)cin >> A[i];
    sort(all(A), greater<int>());
    cout << A[0] + A[1] << "\n";

    return 0;
}