func_code_string: #include<cstdio>   int t,n;   int vx[13][2003];   int vy[13][2003];   int fx[13][2003];   int lx[13][2003];   int fy[13][2003];   int ly[13][2003];   int a[2003][2003];   int main()   {    scanf(  %d ,&t);    while(t--)    {     scanf(  %d ,&n);     for(int i=1;i<=n;++i)     {      for(int j=1;j<=n;++j)      {       scanf(  %1d ,&a[i][j]);      }     }     for(int d=0;d<10;++d)     {      int ans=0;      for(int j=1;j<=n;++j)      {       fx[d][j]=lx[d][j]=0;       for(int i=1;i<=n;++i)       {        if(a[i][j]!=d)continue;        if(!fx[d][j])        {         fx[d][j]=i;         break;        }       }       for(int i=n;i;--i)       {        if(a[i][j]!=d)continue;        if(!lx[d][j])        {         lx[d][j]=i;         break;        }       }       if(fx[d][j])vx[d][j]=((n-fx[d][j]>lx[d][j]-1)?(n-fx[d][j]):(lx[d][j]-1));       else vx[d][j]=0;      }      for(int i=1;i<=n;++i)      {       fy[d][i]=ly[d][i]=0;       for(int j=1;j<=n;++j)       {        if(a[i][j]!=d)continue;        if(!fy[d][i])        {         fy[d][i]=j;         break;        }       }       for(int j=n;j;--j)       {        if(a[i][j]!=d)continue;        if(!ly[d][i])        {         ly[d][i]=j;         break;        }       }       if(fy[d][i])vy[d][i]=((n-fy[d][i]>ly[d][i]-1)?(n-fy[d][i]):(ly[d][i]-1));       else vy[d][i]=0;      }      for(int i=1;i<=n;++i)      {       if(!vx[d][i])continue;       for(int j=1;j<i;++j)       {        if(!vx[d][j])continue;        if(vx[d][j]*(i-j)>ans)ans=vx[d][j]*(i-j);        if(vx[d][i]*(i-j)>ans)ans=vx[d][i]*(i-j);       }      }      for(int i=1;i<=n;++i)      {       if(!vy[d][i])continue;       for(int j=1;j<i;++j)       {        if(!vy[d][j])continue;        if(vy[d][j]*(i-j)>ans)ans=vy[d][j]*(i-j);        if(vy[d][i]*(i-j)>ans)ans=vy[d][i]*(i-j);       }      }      printf( %d  ,ans);     }     puts(  );    }    return 0;   }