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