#include
int main(void)
{
int m,n;
while(scanf("%d%d",&n,&m)==2)
{
double average_n[n];
double average_m[m];
int point[n][m];
for(int i=0;i {
for(int j=0;j scanf("%d",&point[i][j]);
}
for(int i=0;i {
int sum=0;
for(int j=0;j sum+=point[i][j];
average_n[i]=(double)sum/(double)m;
printf("%.2lf",average_n[i]);
if (i == n - 1)//如果是最后一个,输出回车
printf("\n");
else//否则输出空格
printf(" ");
}
//printf("\n");//不要
for(int i=0;i {
int sum=0;
for(int j=0;j sum+=point[j][i];
average_m[i]=(double)sum/(double)n;
printf("%.2lf",average_m[i]);
if (i == m - 1)//跟上面一样
printf("\n");
else
printf(" ");
}
//printf("\n");
int count=0;
for(int i=0;i { int test=0;
for(int j=0;j {
if(point[i][j]>=average_m[j])
test++;
}
if(test==m)
count++;
}
printf("%d\n\n",count);//题目已经说了,每个case后面一个空行,所以这里两个\n
}
return 0;
}