#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[30];
ll ans = LONG_LONG_MIN;
void change(int idx) {
if (idx == 1) {
int s = a[4], t = a[5];
a[4] = a[6], a[5] = a[7];
a[6] = a[8], a[7] = a[9];
a[8] = a[23], a[9] = a[22];
a[23] = s, a[22] = t;
int x = a[0];
a[0] = a[2], a[2] = a[3], a[3] = a[1], a[1] = x;
} else if (idx == 2) {
int s = a[22], t = a[23];
a[22] = a[9], a[23] = a[8];
a[9] = a[7], a[8] = a[6];
a[7] = a[5], a[6] = a[4];
a[5] = s, a[4] = t;
int x = a[1];
a[1] = a[3], a[3] = a[2], a[2] = a[0], a[0] = x;
} else if (idx == 3) {
int s = a[21], t = a[20];
a[21] = a[10], a[20] = a[11];
a[10] = a[12], a[11] = a[13];
a[12] = a[14], a[13] = a[15];
a[14] = s, a[15] = t;
int x = a[19];
a[19] = a[18], a[18] = a[16], a[16] = a[17], a[17] = x;
} else if (idx == 4) {
int s = a[15], t = a[14];
a[15] = a[13], a[14] = a[12];
a[13] = a[11], a[12] = a[10];
a[11] = a[20], a[10] = a[21];
a[20] = s, a[21] = t;
int x = a[19];
a[19] = a[17], a[17] = a[16], a[16] = a[18], a[18] = x;
} else if (idx == 5) {
int s = a[1], t = a[3];
a[1] = a[7], a[3] = a[13];
a[7] = a[17], a[13] = a[19];
a[17] = a[21], a[19] = a[23];
a[21] = s, a[23] = t;
int x = a[9];
a[9] = a[8], a[8] = a[14], a[14] = a[15], a[15] = x;
} else if (idx == 6) {
int s = a[23], t = a[21];
a[23] = a[19], a[21] = a[17];
a[19] = a[13], a[17] = a[7];
a[13] = a[3], a[7] = a[1];
a[3] = s, a[1] = t;
int x = a[9];
a[9] = a[15], a[15] = a[14], a[14] = a[8], a[8] = x;
} else if (idx == 7) {
int s = a[22], t = a[20];
a[22] = a[18], a[20] = a[16];
a[18] = a[12], a[16] = a[6];
a[12] = a[2], a[6] = a[0];
a[2] = s, a[0] = t;
int x = a[4];
a[4] = a[10], a[10] = a[11], a[11] = a[5], a[5] = x;
} else if (idx == 8) {
//20 22 0 2 6 12 16 18
int s = a[20], t = a[22];
a[20] = a[0], a[22] = a[2];
a[0] = a[6], a[2] = a[12];
a[6] = a[16], a[12] = a[18];
a[16] = s, a[18] = t;
int x = a[4];
a[4] = a[5], a[5] = a[11], a[11] = a[10], a[10] = x;
} else if (idx == 9) {
//2 3 8 14 17 16 11 5
int s = a[2], t = a[3];
a[2] = a[8], a[3] = a[14];
a[8] = a[17], a[14] = a[16];
a[17] = a[11], a[16] = a[5];
a[11] = s, a[5] = t;
int x = a[6];
a[6] = a[7], a[7] = a[13], a[13] = a[12], a[12] = x;
} else if (idx == 10) {
//3 2 5 11 16 17 14 8
int s = a[3], t = a[2];
a[3] = a[5], a[2] = a[11];
a[5] = a[16], a[11] = a[17];
a[16] = a[14], a[17] = a[8];
a[14] = s, a[8] = t;
int x = a[6];
a[6] = a[12], a[12] = a[13], a[13] = a[7], a[7] = x;
} else if (idx == 11) {
//0 1 9 15 19 18 10 4
int s = a[0], t = a[1];
a[0] = a[9], a[1] = a[15];
a[9] = a[19], a[15] = a[18];
a[19] = a[10], a[18] = a[4];
a[10] = s, a[4] = t;
int x = a[22];
a[22] = a[23], a[23] = a[21], a[21] = a[20], a[20] = x;
} else if (idx == 12) {
//1 0 4 10 18 19 15 9
int s = a[1], t = a[0];
a[1] = a[4], a[0] = a[10];
a[4] = a[18], a[10] = a[19];
a[18] = a[15], a[19] = a[9];
a[15] = s, a[9] = t;
int x = a[23];
a[23] = a[22], a[22] = a[20], a[20] = a[21], a[21] = x;
}
}
void reback(int idx) {
if (idx & 1) change(idx + 1);
else change(idx - 1);
}
ll solve() {
ll ans1 = a[0] * a[1] * a[2] * a[3];
ll ans2 = a[4] * a[5] * a[10] * a[11];
ll ans3 = a[6] * a[7] * a[12] * a[13];
ll ans4 = a[16] * a[17] * a[18] * a[19];
ll ans5 = a[20] * a[21] * a[22] * a[23];
ll ans6 = a[8] * a[9] * a[14] * a[15];
return ans1 + ans2 + ans3 + ans4 + ans5 + ans6;
}
void dfs(int cnt) {
ans = max(ans, solve());
if (cnt >= 5) return;
for (int i = 1; i <= 12; i++) {
change(i);
dfs(cnt + 1);
reback(i);
}
}
int main() {
for (int i = 0; i <= 23; i++) {
cin >> a[i];
}
ans = max(ans, solve());
dfs(0);
cout << ans << endl;
}