//int max = 2 147 483 647 (2^31-1)
//ll max = 9 223 372 036 854 775 807 (2^63-1)
#include<bits/stdc++.h>
using namespace std;

#define forn(i,n) for(int i=0;i<n;i++)
#define mp make_pair
#define f first
#define s second
#define pb push_back
#define MOD 1000000007

typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef pair<int,int> pi;

//Fast input and output
void fast_io(){
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);}

//Printing pairs and vectors
template<typename A, typename B> ostream& operator<< (ostream &cout, pair<A,B> const &p)
{return cout << "(" << p.f << ", " << p.s << ")";}
template<typename A> ostream& operator<< (ostream &cout, vector<A> const&v)
{cout << "["; forn(i,(int)v.size()){ if (i) cout << ", "; cout << v[i];} return cout << "]";}

int main(){
  fast_io();
  int a,b,c; cin >> a >> b >> c;
  cout << 21-a-b-c;
}
//code by DanTheMan

using namespace std;
#include<string>
#include<cmath>
#include<list>
#include<queue>
#include <map>
#include <unordered_map>
#include <set>
#define ll long long
#define ld long double
#define ull unsigned long long
#define ml map<ll,ll>
#define pb push_back
#define mp make_pair
#define ppl pair<ll,ll>
#define F first
#define S second
#define T third
#define Fo fourth
#define fio ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL)

#define fr(i,a,b) for(ll i=a;i<b;i++)
#define ffr(i,a,b) for(ll i=a;i>=b;i--)
#include<bits/stdc++.h>
#include<vector>
#define vl vector<ll>
#define PI 3.141592654
const ll N = 1e9 + 7;
const ll P = 2e5 + 7;
const ll Q = 1e9 + 9;
#include<iterator>
#define EPSILON numeric_limits<double>::epsilon()
#include<tuple>


// struct tup
// {
// 	ll first, second;
// 	string third;
// };



// vector<vl> pr(N, vl(30, 0));

// vl vr;
// ml m;

// void precompute() {
//     fr(i, 2, N) {
//         if (!m[i]) {
//             // cout << i << " ";
//             vr.pb(i);
//             for (ll j = i * i; j < N; j += i)m[j] = 1;
//         }
//     }
// }

// vl pr(P, 0);

// void prime() {
//     fr(i, 2, P) {
//         if (pr[i] == 0) {vr.pb(i); for (ll j = i * i; j <= P; j += i)pr[j] = 1;}
//     }
// }

ll gcd(ll a, ll b) {
	if (a == b)return a;
	if (a % b == 0)return b;
	if (b % a == 0)return a;
	if (b > a)return gcd(a, b % a);
	if (a > b)return gcd(a % b, b);
	return 0;
}

void show(ll a[], ll d) {
	if (d)fr(i, 0, d)cout << a[i] << " ";
}

void inp(ll a[], ll d) {
	fr(i, 0, d)cin >> a[i];
}

void Yesno(ll p) {
	if (p)cout << "YES";
	else cout << "NO";
}

// ll fact(ll n) {
//     ll res = 1;
//     fr (i, 2, n + 1) res = (res * i) % N;
//     return res;
// }

// ll nCr(ll n, ll r) {
//     return fact(n) / (((fact(r) * fact(n - r))) % N);
// }

// ll nPr(ll n, ll r) {
//     return ((fact(n) % N) / (fact(n - r) % N)) ;
// }


// vl rightgreater(ll a[], ll n) {
// 	vl v;
// 	stack<ll> s;
// 	ffr(i, n - 1, 0) {
// 		if (s.size() == 0)v.pb(-1);
// 		else if (s.size() > 0 && s.top() > a[i])v.pb(s.top());
// 		else if (s.size() > 0 && s.top() <= a[i]) {
// 			while (s.size() > 0 && s.top() <= a[i])s.pop();
// 			if (s.size() == 0)v.pb(-1);
// 			else v.pb(s.top());
// 		}
// 		s.push(a[i]);
// 	}
// 	reverse(v.begin(), v.end());
// 	return v;
// }

// vl par, ran;


// ll findpar(ll x) {
// 	if (x == par[x])return x;

// 	return par[x] = findpar(par[x]);
// }

// void Union(ll x, ll y) {
// 	ll parx = findpar(x);
// 	ll pary = findpar(y)Snippet: map;;
// 	if (ran[parx] < ran[pary])par[parx] = pary;
// 	else if (ran[parx] > ran[pary])par[pary] = parx;
// 	else {par[parx] = pary; ran[pary]++;}
// }

// ld nthRoot(ll A, ll N) {
// 	ld xPre = rand() % 10, eps = 1e-3, delX = INT_MAX, xK;
// 	while (delX > eps) {
// 		xK = ((N - 1.0) * xPre + (ld)A / pow(xPre, N - 1)) / (ld)N;
// 		delX = abs(xK - xPre);
// 		xPre = xK;
// 	}
// 	return xK;
// }

// bool comp(tup &a, tup &b) {
// 	if (a.F != b.F)return a.F < b.F;
// 	else return a.S < b.S;
// }


// vl b;
// vector<vector<ppl>> v;
// vector<vl> v;
// // vl dist, cumu;
// // ll n, m;
// // vl link, val;
// // vector<char>a;
// vector<bool> visited;

// ll dfs(ll pnt, ll data[], ll totsum, ll &mi) {
// 	visited[pnt] = true;
// 	ll sum = 0;
// 	for (auto it : v[pnt]) {
// 		if (!visited[it]) {
// 			ll tempans = dfs(it, data, totsum, mi);
// 			mi = min(mi, abs(totsum - (2 * (tempans))));
// 			sum += tempans;
// 		}

// 	}
// 	// cout << pnt << " " << mi << '\n';
// 	// visited[pnt]=false;
// 	sum += data[pnt];
// 	return sum;
// }


void solve() {
	ll x, y, z; cin >> x >> y >> z;
	cout << 21 - (x + y + z);
}








int main() {
	fio;
#ifndef ONLINE_JUDGE
	// for getting input
	freopen("input.txt", "r", stdin);
	//for writing output
	freopen("jout.txt", "w", stdout);
#endif
	// prime();
	// precompute();
	ll t;
	if (1)
		t = 1;
	else
		cin >> t;
	fr(i, 0, t) {
		// cout << "Case #" << i + 1 << ": ";
		solve();
		cout << '\n';
	}
	return 0;
}