#include <bits/stdc++.h>

#define ll                  long long int
#define pii                 pair<ll,ll>
#define vi                  vector<ll>
#define mii                 map<ll,ll>
#define pb                  push_back
#define mp                  make_pair
#define fi                  first
#define se                  second
#define mod                 1000000007
#define inf                 1e18
#define endl 		        "\n"
#define ps(x,y)             fixed<<setprecision(y)<<x
#define all(x)              (x).begin(),(x).end()
#define FOR(i, j, k, in)    for (ll i=j ; i<k ; i+=in)
#define RFOR(i, j, k, in)   for (ll i=j ; i>k ; i-=in)

using namespace std;

bool bysec(const pair<string,ll> &a, const pair<string,ll> &b)
{
    return (a.second < b.second);
}

bool rev(ll a, ll b)
{
    return a > b;
}

void solve()
{
    ll a[3];

    cin>>a[0]>>a[1]>>a[2];

    sort(a,a+3);

    cout<<a[1]+a[2];
}

int main() {

    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    ll t = 1;
    //cin>>t;

    while(t--)
    	solve();

    return 0;
}
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define ll long long
#define vi vector<int>
#define vc vector<char>
bool cmp(ll a,ll b)
{
    return a>b;
}


ll lcm(ll n,ll m)
{
    return (n*m)/__gcd(n,m);
}


bool status[10000+ 1];
vi v,vp;
void siv()
{
    ll N= 10000;
    for (int i = 2; i*i <= N; i++)
    {
        if (status[i] == 0)
        {
            for (int j = i * i; j <= N; j += i)
                status[j] = 1;
        }
    }

    status[1] = 1;
    for(int i=2; i<=N; i++)
    {
        if(status[i]==0)
            v.pb(i);
    }
}

int main()
{

     int t,i,n,k,y,j,c1,c2,h,q,l,m,r,x,c;
     cin>>h>>q>>y;
     ll s=0;
     s+=h;
     s+=q;
     s+=y;
     s-=min(h,min(q,y));
     cout<<s;

}