import std.stdio;
import std.range;
import std.array;
import std.string;
import std.conv;
import std.typecons;
import std.algorithm;
import std.container;
import std.typecons;
import std.random;
import std.csv;
import std.regex;
import std.math;
import core.time;
import std.ascii;
import std.digest.sha;
import std.outbuffer;

void main()
{
	enum N = 14;
	long[] a = readln.chomp.split.map!(to!long).array;
	long ans = 0;
	foreach (i, v; a) {
		// simulate
		long[] b = a.dup;
		b[i] = 0;
		foreach (j; 0..N) {
			b[cast(uint)((i + j + 1) % N)] += v / N;
		}
		foreach (j; 0 .. v % N) {
			++b[cast(uint)((i + j + 1) % N)];
		}
		long sub = 0;
		foreach (w; b) {
			if (w % 2 == 0) {
				sub += w;
			}
		}
		ans = max(ans, sub);
	}
	ans.writeln;
}

void tie(R, Args...)(R arr, ref Args args)
		if (isRandomAccessRange!R || isArray!R)
in
{
	assert (arr.length == args.length);
}
body
{
	foreach (i, ref v; args) {
		alias T = typeof(v);
		v = arr[i].to!T;
	}
}

void verbose(Args...)(in ref Args args)
{
	stderr.write("[");
	foreach (i, ref v; args) {
		if (i) stderr.write(", ");
		stderr.write(v);
	}
	stderr.writeln("]");
}

