//1、小涵不可能选到最大默契值。
//2、小涵不可能输。
//因此,只要选到每个武将所能组合的默契次大值之中的最大值即可。
#include<cstdio>
using namespace std;
const int N=1e3+10;
int n,max1,max2,a[N][N];
int ans=-1;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
scanf("%d",&a[i][j]);
a[j][i]=a[i][j];
}
}
for(int i=1;i<=n;i++){
max1=max2=0;
for(int j=1;j<=n;j++){
if(a[i][j]>max1){
max2=max1;
max1=a[i][j];
}
else if(a[i][j]>max2){
max2=a[i][j];
}
}
if(ans<max2) ans=max2;
}
printf("1\n%d",ans);
return 0;
}