【数据规模】
30%的数据满足n<=3
100%的数据满足n<=10
var
a,b,c,d,i,j,k,i1,i2,j2,i3:longint;
v:array[1..1024,1..1024]of extended;
r:array[0..10,0..1024]of extended;
t:array[0..1024]of longint;
ans:extended;
p:boolean;
procedure ss(l,u:longint);
var
i,j:longint;
mid:extended;
begin
i:=l;
j:=u;
mid:=r[a,(i+j) div 2];
while i<j do
begin
while r[a,i]<mid do inc(i);
while r[a,j]>mid do dec(j);
if i<=j then
begin
r[a,0]:=r[a,i];
r[a,i]:=r[a,j];
r[a,j]:=r[a,0];
t[0]:=t[i];
t[i]:=t[j];
t[j]:=t[0];
inc(i);
dec(j);
end;
end;
if j>l then ss(l,j);
if i<u then ss(i,u);
end;
begin
readln(a);
b:=1 shl a;
for c:=1 to b do
begin
for d:=1 to b do
begin
read(v[c,d]);
if (c<>d)and(v[c,d]<>50) then
p:=true;
v[c,d]:=v[c,d]/100;
end;
readln;
end;
if p=false then
begin
writeln(1);
halt;
end;
for i:=1 to b do
r[0,i]:=1;
k:=1;
for i:=1 to a do
begin
for j:=1 to b do
begin
i1:=(j-1) shr (i-1);
ans:=0;
if (i1 mod 2=0) then
begin
i2:=(i1+1)*k;
j2:=i2+k;
end;
if (i1 mod 2<>0) then
begin
i2:=((i1-1)*k);
j2:=i1*k;
end;
inc(i2);
for i3:=i2 to j2 do
ans:=ans+r[i-1,i3]*v[j,i3];
r[i,j]:=r[i-1,j]*ans;
end;
k:=k*2;
end;
for i:=1 to b do
t[i]:=i;
ss(1,b);
writeln(t[b]);
close(input);
end.