Дмитрик погано поводився на уроці, і вчитель вирішив його завантажити додатковою роботою. Він написав на дошці список із N двійкових чисел. Усі ці двійкові числа мають по ~B~ біт (допускаються початкові нулі). Учитель поставив завдання Дмитрику: відсортувати ці числа у неспадному порядку.
Дмитрик, звісно, знає про існування двійкових чисел, але, будучи в міру лінивим, він вирішив змінити деякі біти у цих числах так, щоб утворений список чисел став відсортованим. Він не буде додавати біти або їх видаляти, він лише змінить деякі 1 на 0 і деякі 0 на 1. Числа стануть іншими, але вчитель, навряд чи зверне на ці дрібниці увагу.
Яку мінімальну кількість бітів треба змінити Дмитрику, щоб отримати відсортований список чисел.
Обмеження
~1 \le N \le 1000~
~1 \le B \le 50~
Input
У першому рядку міститься два цілих числа ~N~, ~B~, які розділяються пропуском.
У наступних ~N~ рядках задаються двійкові ~B~-бітні числа.
Output
Виведіть єдине ціле число — мінімальну кількість змін, необхідних для створення відсортованого списку.
Sample Input 1
4 3
111
110
000
100
Sample Output 1
3
Sample Input 2
10 5
10010
11101
01011
01000
11100
00110
00110
10001
01101
01000
Sample Output 2
10
Notes
Щоб отримати відсортований список, Дмитрику треба змінити перший символ першого числа, другий символ другого числа та перший символ третього числа.
011
100
100
100
Коментарі
а можна Notes для Sample Input 2?
ні )
Нам потрібно відсортувати числа в двійковій чи переведені числа у 10?
без коментарів
Чи є число 111 найбільшим можливим числом у першому семплі, чи його десяткове значення дорівнює -1?
1 - так 2 - без відповіді