import Data.List s=scanl v=[-1..1] r=replicate h%t=t+signum(h-t) p(d:_:i)=r(read i)d (h:l)&d=s(?)(zipWith(+)(z[d])h)l [x,y]!t=elem t[[x+n,y+m]|n<-v,m<-v] h@[x,y]?t@[a,b]|h!t=t|let=[x%a,y%b] w i=length.nub.map last.(s(&)$r i[0,0]) z"U"=[1,0];z"D"=[-1,0];z"L"=[0,-1];z"R"=[0,1] main=interact$show.((,).w 10<*>w 2).(p=<<).lines