loop{
  r, c = readline.split.map(&:to_i)
  break if r == 0 && c == 0

  a = []
  r.times{
    a << readline.split.map(&:to_i)
  }

  # ???????????????????????¨???????????¢?????????
  # ???????????¢??????0-????´???? 1-????´????????°??????????
  max_ura_num = 0
  (2 ** r).times{|idx|
    b = a.dup

    # idx(2?????°) ??§ 1 ??? bit ??????????????¢
    ("%b" % idx).rjust(r, "0").chars.map(&:to_i).each_with_index{|val, inv_row|
      next if val == 0
      b[inv_row] = a[inv_row].dup.map{|val| 1-val}
    }

    # p b
    # ???????????¢
    b = b.transpose
    ura_num = 0
    b.each{|col|
      # ??¨?????°
      col_ura_num = r - col.inject{|result, item| result + item}
      # p "#{col_ura_num} #{col}"
      if col_ura_num <= r/2
        col_ura_num = r - col_ura_num
      end
      ura_num += col_ura_num
    }
    # p ura_num
    max_ura_num = [ura_num, max_ura_num].max
  }

  puts max_ura_num
}