var p,q,t:array[0..64,0..64,0..64] of longint;
    que:array[0..1,0..1000000] of longint;
    qs:array[0..1] of longint;
    qn:longint;
    v,r,s:longint;
    i,j,k:longint;
    cena:longint; 
    c:char;
    mp:longint;
    ts:string[255];
function rn(x,y,z:longint):longint;
begin
  rn:=z*64*64+y*64+x;
end;
function inr(x,y,z:longint):boolean;
begin
  inr:=(x>0) and (y>0) and (x<=r) and (y<=s) and (z>0) and (z<=v);
end;    
function bb(x:longint):string;
var ts,ts2:string;
    ti,i:longint;
begin
  ts:='';
  while x>0 do
  begin
    ts2:=chr((x div 100) mod 10+48)+char((x div 10) mod 10+48)+char(x mod 10+48);
    if ts='' then ts:=ts2 else ts:=ts2+','+ts;
    x:=x div 1000;
  end;
  i:=1;
  while (ts[i]='0') do inc(i);
  ts2:='';
  for j:=i to length(ts) do ts2:=ts2+ts[j];
  bb:=ts2;
end;
procedure addq(q,x,y,z:longint);
begin
  inc(qs[q]);
  que[q,qs[q]]:=rn(x,y,z);
end;
procedure nr(var a,x,y,z:longint);
begin
  x:=a mod 64;
  y:=(a div 64) mod 64;
  z:=a div (64*64);
end;
procedure fill(x,y,z:longint);
{var i,j,k,x,y,z:longint;}
begin
  q[x,y,z]:=1;
  if (p[x,y,z] and 1=1) and inr(x+1,y,z) then fill(x+1,y,z);
  if (p[x,y,z] and 2=2) and inr(x,y+1,z) then fill(x,y+1,z);
  if (t[x,y,z]=1) then fill(x,y,z+1);
{  while qs[qn]<>0 do
  begin
    qs[1-qn]:=0;
    for i:=1 to qs[qn] do
    begin
      nr(que[qn,i],x,y,z);
      q[x,y,z]:=1;
      if (p[x,y,z] and 1=1) and inr(x+1,y,z) and (q[x+1,y,z]=0) then addq(1-qn,x+1,y,z);
      if (p[x,y,z] and 2=2) and inr(x,y+1,z) and (q[x,y+1,z]=0) then addq(1-qn,x,y+1,z);
      if (t[x,y,z]=1) and (q[x,y,z+1]=0) then addq(1-qn,x,y,z+1);
    end;
    qn:=1-qn;
  end;}
end;    
begin
  readln(v,r,s);
  while (v<>0) and (r<>0) and (s<>0) do
  begin
    cena:=0;
    for i:=1 to v do
    begin
      for j:=1 to r do for k:=1 to s do 
      begin
        p[i,j,k]:=0;
        q[i,j,k]:=0;
        t[i,j,k]:=0;
      end;
      for j:=1 to r do 
      begin
        readln(ts);
        for k:=1 to s-1 do
        begin
{          read(c);
          read(c);}
{          write(c);}
          c:=ts[2*k];
          if c<>'.' then p[i,j,k]:=1;
        end;
{        writeln;}
        if j<>r then 
        begin
        readln(ts);
        for k:=1 to s do
        begin  
{          read(c);}
{          write(c);}
          c:=ts[2*k-1];
          if c<>'.' then p[i,j,k]:=p[i,j,k] or 2;
{          if k<>s then read(c);}
        end;
        end;
{        readln(ts);  }
{        writeln;}
      end;
      readln(ts);
      mp:=0;
      if i<>v then begin for j:=1 to r do
      begin 
        readln(ts);
        for k:=1 to s do
        begin
{          read(c);}
{          write(c);}
          c:=ts[2*k-1];
          if c<>'.' then 
          begin
            t[i,j,k]:=1;
            mp:=1;
          end;
{          if k<>s then 
          begin
            read(c);
          end;  }
        end;
{        readln(ts);}
        readln(ts);
{        writeln;}
      end;
      end else mp:=1;
      if mp=0 then 
      begin
        cena:=cena+2000;
{        writeln(i);}
      end;
    end;
    qn:=0;
    qs[0]:=1;
    qs[1]:=0;
    que[0,1]:=rn(1,1,1);
    fill(1,1,1);
    for i:=1 to v do  
    begin
      for j:=1 to r-1 do
      begin
        for k:=1 to s-1 do if q[i,j,k]=0 then
        begin
          cena:=cena+1000;
          qn:=0;
          qs[0]:=1;
          qs[1]:=0;
          que[0,1]:=rn(i,j,k);
          fill(i,j,k);
        end;
      end;  
    end;
    if cena<>0 then writeln('Ocekavana cena: ',bb(cena),' Kc') else 
      writeln('Budova je jiz dostatecne propojena.');
    readln(v,r,s);
  end;
end.
