#include <iostream>
using namespace std;

int team[20][6];
int max_sum;
bool st[20];

int max(int a, int b) { return a > b ? a : b; }

void dfs(int u, int sum) //u当前选择团队的第几人，sum当前团队总值
{
    if (u > 5)
    {
        max_sum = max(max_sum, sum);
        return;
    } //如果选完了，更新最大值，退出

    for (int i = 0; i < 20; i++) //20人
    {
        if (!st[i]) //如果当前人没有被选择
        {
            st[i] = true;                 //被选
            dfs(u + 1, sum + team[i][u]); //选下一个人，队伍总值增加当前人的当前号位的值
            st[i] = false;                //回溯
        }
    }
}
int main()
{
    for (int i = 0; i < 20; i++)
        for (int j = 0; j < 6; j++)
            cin >> team[i][j]; //读队伍

    dfs(1, 0); //从第一个人开始选，当前总和为0

    cout << max_sum;
    return 0;
}
