import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt(); //n学生人数
int m = in.nextInt(); //课程数
int arr[][] = new int[n][m]; //使用二维数组存储每个学生的每门成绩
if(n<=50 && m<=5) {
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) {
arr[i][j] = in.nextInt();
}
}
AverageQuesion(arr,n,m); //调用下面的AverageQuesion方法
}
}
}
public static void AverageQuesion(int[][] arr,int n,int m) {
DecimalFormat df = new DecimalFormat("0.00"); //格式控制类,保留两位小数
String s[] = new String[m];
double stuAvg = 0;
double courAvg = 0;
//每个学生的平均成绩
for(int i=0;i<n;i++) {
double sum = 0;
for(int j=0;j<m;j++) {
sum = sum + arr[i][j];
}
stuAvg = sum/m;
System.out.printf("%.2f",stuAvg);
if(i+1!=n) {
System.out.print(" ");
}
}
System.out.println();
//每门课程的平均成绩
for(int i=0;i<m;i++) {
double sum1 = 0;
for(int j=0;j<n;j++) {
sum1 = sum1 + arr[j][i];
}
courAvg = sum1/n;
s[i] = df.format(courAvg);
System.out.printf("%.2f",courAvg);
if(i+1!=m) { //if语句控制末尾不加空格
System.out.print(" ");
}
}
System.out.println();
//每门课程成绩均大于课程平均成绩的学生数量
int count = 0; //记录每门课程成绩均大于课程平均成绩的学生数量
for(int i=0;i<n;i++) {
boolean flag = false; //标志位
for(int j=0;j<m;j++) {
if(Double.parseDouble(df.format(arr[i][j]))<Double.parseDouble(s[j])) {
flag = true; //一旦该学生有门课程不大于该门课程的平均成绩则为true
}
}
if(flag==false) {
count++; //flag==false表示该学生每门课程成绩均大于对应课程平均成绩,,count+1;
}
}
System.out.println(count);
System.out.println();
}
}