#include <bits/stdc++.h>
using namespace std;
bool intersect(pair<int, int>, pair<int, int>, pair<int, int>, pair<int, int>);
bool fordul(pair<int, int>, pair<int, int>, pair<int, int>);
bool rajta(pair<int, int>, pair<int, int>, pair<int, int>);
bool benne(vector<pair<int, int> >, pair<int, int>);
const long long mod = 998244353;
double PI = 3.14159265359;
long long gcd(long long, long long);
void solve();
vector<pair<int, int> > points;
bool issquare(int, int, int, int);
bool isrect(int, int, int, int);
bool meroleg(int, int, int);
map<pair<int, int>, long long> m;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  int r, g, b;
  cin >> r >> g >> b;
  if (r % 2 == 1) r++;
  if (g % 2 == 1) g++;
  if (b % 2 == 1) b++;
  b /= 2;
  g /= 2;
  r /= 2;
  if (b >= g && b >= r) {
    cout << 3 * b - 1 + 30;
    return 0;
  }
  if (g >= b && g >= r) {
    cout << 3 * g - 2 + 30;
    return 0;
  } else {
    cout << 3 * r - 3 + 30;
    return 0;
  }
  return 0;
}
