import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Triangle {
static int[][] tria = new int[20][20];
static int maxsum=0;
static int top[] = new int[]{-1,-1};
static int slen=0;
static int maxslen=-1;
static int count=2;
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
Scanner sc = new Scanner(new File("src/file/triangle"));
for (int i = 0; i < 20; i++) {
for (int j = 0; j < 20; j++) {
tria[i][j] = sc.nextInt();
}
}
for (int i = 0; i < 20; i++) {
for (int j = 0; j < 20; j++) {
if (tria[i][j] == 1) {
if(CacuTria(i, j)){
tria[i][j]=tria[i+1][j]=tria[i+1][j+1]=count;
int ii=i+2,jj=j+1;
int sum=0;
for(int k=ii;k<ii+slen-2;k++){
tria[k][jj-1]=tria[k][jj+k-ii+1]=count;
for(int l=jj;l<jj+k-ii+1;l++){
sum+=tria[k][l];
}
}
for(int k=j;k<=j+slen;k++){
tria[i+slen][k]=count;
}
if(sum>maxsum){
top[0]=i;
top[1]=j;
maxsum=sum;
maxslen=slen;
}
count++;
}
}
}
}
System.out.println(top[0]+","+top[1]+"--"+(maxslen+1)+"--"+maxsum);
for(int i=0;i<20;i++){
for(int j=0;j<20;j++){
System.out.print(tria[i][j]+" ");
}
System.out.println();
}
}
private static boolean CacuTria(int x, int y) {
// TODO Auto-generated method stub
for (int i = 0; i < (20 - x > 20 - y ? 20 - y : 20 - x); i++) {
if (tria[x + i][y] == 1 && tria[x + i][y + i] == 1) {
if(i>2){
boolean isT=true;
for(int j=1;j<i;j++){
if(tria[x+i][y+j]!=1)
isT=false;
}
if(isT){
slen=i;
return isT;
}
}
} else
return false;
}
return false;
}
}