# JavaScript (ES6), 171 bytes Expects a matrix of characters. <!-- language-all: lang-javascript --> f=(m,X,Y=o=f,e=1,n=0)=>m.map((r,y)=>r.map((c,x)=>!~(j="RULD #".search(c))|(n+=j==4,X+1?j>4|(h=x-X)*h+(v=y-Y)*v^1:j<5)?0:j<4?e=j^(v&2)-~h:r[f(m,r[x]=x,y),x]=c))|e|n>o?o:o=n [Try it online!](https://tio.run/##nZLNasJAEMfveYppLM2urkFFKWjHXNqbJ6EQCRFD3NQGzcpGQsSPJyj00mP7Hn0eX6CPYFdNbEUo0v9hh9/sfLGzoZd4sS@fp7NyJIZ8uw2QTJjNeigwYByrLMIKxfbEnHhTQiSbK5AH8Fmq4GpNQtS7j517KOhmzD3pj4hP6ZJEJQwR68wuVa2wXV@SEaZlmxZHJZLgvNyjxaRfbYZ3DWpVlKlbHMM@SW5qtLweNaUTqEmkk7qYqq5M2V1VvozawhJNgdG25ThQYeBoehdyFXTXZdrRX9C1A9du9w7oZGEAOlNo58owq3IZnub@SP@zZSFXhvngF@Fp7nnLxtlz7OOOo54i/AN/t9RczQyEfPDUyonD0yn3Z3zIYOJSwDYsNABfRPEMJI8BQS10/3Pk7tIxTVO6lLayIDHm5lg8kcH1QkWvYG8AEfKyYIHx9fm6eX9TpwFNMDYfL8ZqoCqs6PYb "JavaScript (Node.js) – Try It Online") (only the fastest test cases)