#include <bits/stdc++.h>
using namespace std;
template <typename T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <typename T>
T const& Max(T const& a, T const& b) {
  return a > b ? a : b;
}
template <typename T>
T const& Min(T const& a, T const& b) {
  return a < b ? a : b;
}
template <typename T>
inline T gcd(T a, T b) {
  return (b ? gcd(b, a % b) : a);
}
template <typename T>
T sqaa(T a) {
  return a * a;
}
long long int Pow(long long int a, long long int pow) {
  long long int ret = 1;
  for (; pow; pow >>= 1) {
    if (pow & 1) ret = (ret * a);
    a = (a * a);
  }
  return ret;
}
long long int modPow(long long int a, long long int pow, long long int mod) {
  long long int ret = 1;
  for (; pow; pow >>= 1) {
    if (pow & 1) ret = (ret * a) % mod;
    a = (a * a) % mod;
  }
  return ret;
}
long long int modINV(long long int a, long long int M) {
  return modPow(a, M - 2, M);
}
int main() {
  long long int d1, d2, d3;
  while (cin >> d1 >> d2 >> d3) {
    long long int a1 = d1 + d1 + d2 + d2;
    long long int a2 = d1 + d1 + d3 + d3;
    long long int a3 = d1 + d3 + d2;
    long long int a4 = d2 + d2 + d3 + d3;
    long long int an = Min(a1, a2);
    long long int as = Min(a3, a4);
    long long int ans = Min(an, as);
    cout << ans << '\n';
  }
  return 0;
}
