#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; }