메뉴 건너뛰기

문제


시간메모리제출 회통과 회비율
1초128MB
0
0
0.0%
나의 횟수나의 판정시도 명성공 명비율
00
0.0%
문제

IOI 과자는 전통 방식대로 센베이를 굽는다. 숯불에 앞면을 일정 시간 굽고, 뒤집어서 뒷면을 같은 시간 굽는다. 기계는 세로 \(R\)행, 가로 \(C\)열로 센베이를 놓고 굽는다. 평소에는 앞면이 다 구워지면 한꺼번에 뒤집는다.

어느 날 뒤집기 직전에 지진이 나서 몇 장이 뒤집혔다. 앞면을 더 구우면 전통 시간을 넘겨 상품이 되지 못한다. 그래서 아직 안 뒤집힌 장만 뒤집으려 했다. 이 기계는 가로로 여러 행을 한꺼번에, 또는 세로로 여러 열을 한꺼번에 뒤집을 수는 있지만, 한 장만 뒤집지는 못한다.

행을 몇 개 한 번 한꺼번에 뒤집고, 이어서 열을 몇 개 한 번 한꺼번에 뒤집어, 앞면을 태우지 않고 양면을 구울 수 있는 센베이(출하할 수 있는 센베이) 수를 되도록 많이 만들기로 했다. 행을 하나도 안 뒤집거나 열을 하나도 안 뒤집는 경우도 생각한다. 출하할 수 있는 센베이 수의 최댓값을 출력하는 프로그램을 작성하라.

검은 칸은 앞면이 구워지는 상태, 흰 칸은 뒷면이 구워지는 상태이다. 예제 1에서는 1행을 뒤집고 이어서 1열과 5열을 뒤집으면 출하할 수 있는 센베이가 9장이다.

입력

입력은 다음 형식으로 주어진다.

\(R\) \(C\)

\(a_{1,1}\) \(a_{1,2}\) \(\cdots\) \(a_{1,C}\)

\(\vdots\)

\(a_{R,1}\) \(a_{R,2}\) \(\cdots\) \(a_{R,C}\)

  • 첫째 줄에 \(R\), \(C\)가 공백 하나로 구분되어 주어진다.
  • 다음 \(R\)줄에 지진 직후 상태가 주어진다. \(i\)번째 줄에 \(C\)개의 정수 \(a_{i,1}, \ldots, a_{i,C}\)가 공백 하나로 구분되어 주어진다.
  • \(a_{i,j}\)가 \(1\)이면 앞면이 구워지는 상태, \(0\)이면 뒷면이 구워지는 상태이다.
  • \(1 \le R \le 10\)
  • \(1 \le C \le 10000\)
  • 입력되는 값은 모두 정수이다.
출력

다음 형식으로 출력한다.

첫째 줄에 출하할 수 있는 센베이의 최대 장수를 출력한다.

예시 1
입력
2 5 0 1 0 1 0 1 0 0 0 1
출력
9
예시 2
입력
3 6 1 0 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1
출력
15
위로