($n,$k)=glob<>; $m=$n/$k**2*$k+int 0.999999+sqrt$n%$k**2; print$m,$/; for$y(0..$m-1){ for$x(0..$m-1){ if($n&&$a[$x]<$k&&$b[$y]<$k){ print'#'; --$n; ++$a[$x]; ++$b[$y]; }else{ print'.'; } } print$/; }