#include <bits/stdc++.h>   using namespace std;   template <typename T1, typename T2>   ostream& operator<<(ostream& cout, const pair<T1, T2>& a) {     return cout <<  (  << a.first <<  ;   << a.second <<  ) ;   }   template <typename T>   ostream& operator<<(ostream& cout, const vector<T>& a) {     if (a.size() == 0) {       return cout <<  () ;     }     cout <<  (  << a[0];     for (int i = 1; i < (int)a.size(); i++) {       cout <<  ;   << a[i];     }     return cout <<  ) ;   }   template <typename T>   ostream& operator<<(ostream& cout, const set<T>& a) {     if (a.size() == 0) {       return cout <<  {} ;     }     auto it = a.begin();     cout <<  {  << *it;     ++it;     for (; it != a.end(); ++it) {       cout <<  ;   << *it;     }     return cout <<  } ;   }   long long a1, a2, a3;   int main() {     cin >> a1;     cin >> a2;     cin >> a3;     cout << min({(a1 + a2) * 2, a1 + a3 + a2, (a1 + a3) * 2, (a2 + a3) * 2});   }   