#include <bits/stdc++.h>
#define endl '\n'
#define ll long long
#define ull unsigned long long
#define PI 3.14159265359
#define rep(i, init, max) for (int i = (init); i < (int)(max); i++)
#define eqrep(i, init, max) for (int i = (init); i <= (int)(max); i++)
#define veccin(name) rep(i, 0, name.size()) cin >> name[i]
#define vecsort(name) sort(name.begin(), name.end())
#define vecsortg(name) sort(name.begin(), name.end(), greater<int>())
#define debug(...) fprintf(stderr, __VA_ARGS__)
using namespace std;
template <typename T> T re() {
  T a;
  cin >> a;
  return a;
}
#pragma GCC diagnostic               ignored "-Wunused-value"
template <class T, class... Ts> void print(const T& a, const Ts&... b) {
  cout << a;
  (cout << ... << (cout << ' ', b));
  cout << endl;
}

int main() {
  vector<int> in(3);
  veccin(in);
  vecsortg(in);
  print(in[0] + in[1]);
  return 0;
}

#include<bits/stdc++.h>
using namespace std;
int main()
{
  int a,b,c;
  cin>>a>>b>>c;
  if(a>=b && b>=c){
    cout<<a+b<<endl;
  } else if(a>=b && b<=c){
    cout<<a+c<<endl;
  }else if(a<=b && a>=c){
    cout<<a+b<<endl;
  } else {
    cout<<b+c<<endl;
  }
}