main=interact$g.foldl(\(x,y,d,e,k,l)m->(x+d,y+e,-m*e,m*d,x:k,y:l))(0,0,1,0,[],[]).(iterate h[0]!!).read h[x]=[-1,x,1] h(x:y:l)=(-1):x:1:y:h l g(_,_,_,_,a,b)=unlines[[last(' ':['*'|elem(x,y)(zip a b)])|x<-[m a..n a]]|y<-[m b..n b]] m=minimum n=maximum