#include #define rep(i,n) for(int i=0;i<(n);++i) #define reps(i,n) for(int i=1;i<=(n);++i) #define repr(i,n) for(int i=2;i*i<=(n);++i) #define ll long long #define all(x) (x).begin(),(x).end() #define sz(x) ((string)(x).size()) #define pb push_back #define pob pop_back() #define MMod (ll)1000000007 #define mmod (ll)998244353 #define setp(x) setprecision((ll)(x)) #define INF (ll)(1000000000000000000) using namespace std; using vi=vector; using vc=vector; using vb=vector; using vl=vector; using vvi=vector; using vvl=vector; using vvc=vector; using vvb=vector; using vpi=vector>; using vpl=vector>; using vs=vector; using pii=pair; using pll=pair; using pqi=priority_queue; int main(){ int n; cin>>n; vvl p(n,vl(6)); ll res=0; rep(i,n)rep(j,6) cin>>p[i][j]; rep(i,6){ for(int j=i+1;j<6;++j){ vi x; ll point=1; rep(k,6){ int a=0,b=0; if(k!=i&&k!=j){ rep(l,n){ if(p[l][k]>=a) { a=p[l][k]; b=l; } } point*=a; x.pb(b); } } ll s=0,t=0; for(ll l:x){ s=max(s,p[l][i]); t=max(t,p[l][j]); } point*=s*t; res=max(res,point); } } cout<