CROC 2016 - Final Round [Private, For Onsite Finalists Only]
C
Binary Table
Codeforces
2600
原题
← BD →
翻译中…

You are given a table consisting of $*n*$ rows and $*m*$ columns. Each cell of the table contains either $0$ or $1$. In one move, you are allowed to pick any row or any column and invert all values, that is, replace $0$ by $1$ and vice versa.

翻译中…

What is the minimum number of cells with value 1 you can get after applying some number of operations?

翻译中…

Input

翻译中…

The first line of the input contains two integers $*n*$ and $*m*$ ($1 ≤ *n* ≤ 20$, $1 ≤ *m* ≤ 100 000$) — the number of rows and the number of columns, respectively.

翻译中…

Then $*n*$ lines follows with the descriptions of the rows. Each line has length $*m*$ and contains only digits '0' and '1'.

翻译中…

Output

翻译中…

Output a single integer — the minimum possible number of ones you can get after applying some sequence of operations.

翻译中…

样例

Input #1
3 4
0110
1010
0111
Output #1
2
InputCopy OutputCopy
题目信息
题号
662C
时间限制
6 s
内存限制
256 MB
标签
位运算
暴力
分治
动态规划
FFT
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。