program NHPAINT;

uses math;

const fi='';//'NHPAINT.inp';
      fo='';//'NHPAINT.out';
      maxn=20000;
      maxk=17;
      maxlongint=10000000;

var f1,f2:Text;
    c:Array[0..maxk,0..maxk]of longint;
    F:Array[0..1 shl maxk -1 , 0..maxk]of longint;
    ch:Array[0..maxn,0..maxk]of char;
    n,m:longint;
    Res:int64;

procedure nhap;
var i,j,Cmt,k:longint;
begin
 readln(F1,m,n);
 fillchar(c,sizeof(c),0);
 for i:=1 to m do
 begin
     for j:=1 to n do
      read(f1,ch[i][j]);
      readln(F1);
 end;

 for i:=1 to n do
   for j:=1 to n do
   begin
   cmt:=0;
     for k:=1 to m do
       if ch[k][i]<>ch[k][j] then inc(cmt);
     if i<>j then
       begin
        C[i][j]:=Cmt;
        c[j][i]:=Cmt;
       end else
         begin
           Cmt:=0;
           for k:=1 to m do
           if ch[k][i] = '1' then inc(Cmt);
           c[i][i]:=Cmt;
         end;
   end;


end;

function count(x:longint):longint;
var i:longint;
begin
  count:=0;
  for i:=0 to n-1 do
  if (1 shl i) and x <>0 then inc(count);
end;

procedure xuli;
var i,j,mask,tg,bit:longint;
begin
  for mask:=1to 1 shl n-1 do
   for j:=1 to n do
    begin
     f[mask][j]:=maxlongint;
     if (1 shl (j-1)) and mask=0 then continue;

     if (count(mask) = 1) and (1 shl (j-1) = mask)  then begin
     f[mask][j]:=c[j][j];
     continue;
     end;

     tg:=count(mask);
     if (tg>1)  then
        if tg mod 2=0 then
         begin
           for bit:=1 to n do
            if (bit<>j) and ( 1 shl (bit-1) and mask<>0 ) then
                f[mask][j]:=min(f[mask][j] , c[j][bit] + f[mask xor (1 shl (j-1)),bit]);
         end else
         begin

           if (j>1) and ((1 shl (j-2)) and mask <>0) then
           f[mask][j]:=min(f[mask][j] , c[j][j] + f[mask xor  (1 shl (j-1)),j-1]);

           if (j<n) and ((1 shl (j)) and mask <>0) then
           f[mask][j]:=min(f[mask][j] , c[j][j] + f[mask xor  (1 shl (j-1)),j+1]);
         end;
    end;

    Res:=maxlongint;

    for i:=1 to  n do
    Res:=min(Res, f[1 shl n-1][i]);

    writeln(F2,Res);
   // writeln(f[12][3]);
end;

BEGIN
 assign(f1,fi);reset(f1);
 assign(F2,fo);rewrite(f2);
       nhap;
       xuli;
 close(f1);close(F2);
END.

