#include<bits/stdc++.h>
using namespace std; //定义
#define maxr 1001
#define maxn 500001
int n,x,y,z,a1=0,a2=0,a3=0,a4=0;
int cnt[maxr][maxr];
int f[maxr][maxr][5],ID[maxr][maxr][5];
int main()
{
cin>>n; //读入
for(int i=1;i<=n;i++)
{
cin>>x>>y>>z;
if(x>y) swap(x,y); //排序
if(y>z) swap(y,z);
if(x>z) swap(x,z);
if(cnt[y][z]<2) //处理
{
f[y][z][++cnt[y][z]]=x;
ID[y][z][cnt[y][z]]=i;
}
else
{
if(f[y][z][1]>f[y][z][2]) //更新
{
swap(f[y][z][1],f[y][z][2]);
swap(ID[y][z][1],ID[y][z][2]);
}
if(x>f[y][z][1]) //赋值
{
f[y][z][1]=x;
ID[y][z][1]=i;
}
}
}
for(int i=1;i<=1000;i++)
for(int j=i;j<=1000;j++)
{
if(cnt[i][j]==0) continue; //判断
if(cnt[i][j]==1 && a4<f[i][j][1]) //更案
{
a1=0;
a2=ID[i][j][1];
a4=f[i][j][1];
}
if(cnt[i][j]==2)
{
a1=1;
a2=ID[i][j][1];
a3=ID[i][j][2];
a4=max(a4,min(f[i][j][1]+f[i][j][2],i));
}
}
if(a1==0) cout<<a1<<endl<<a2<<endl<<(a4*a4*a4)/4;
else cout<<a1<<endl<<min(a2,a3)<<" "<<max(a2,a3)<<endl<<(a4*a4*a4)/4;
return 0;
}
凸(艹皿艹 )