gets
ps=$<.map{|l|
  x,y,u=l.split
  x=x.to_i
  y=y.to_i
  [u,x,y,x+y,y-x]
}
d_xy={}
l_yx={}
r_as={}
d_as={}
l_sa={}
d_sa={}
ps.sort_by{|r| r[2] }.each{|r|
  next if r[0]!=?D
  (d_xy[r[1]]||=[]).push(r[2])
}
ps.sort_by{|r| r[1] }.each{|r|
  next if r[0]!=?L
  (l_yx[r[2]]||=[]).push(r[1])
}
ps.sort_by{|r| r[4] }.each{|r|
  case r[0]
  when ?R; (r_as[r[3]]||=[]).push(r[4])
  when ?D; (d_as[r[3]]||=[]).push(r[4])
  end
}
ps.sort_by{|r| r[3] }.each{|r|
  case r[0]
  when ?L; (l_sa[r[4]]||=[]).push(r[3])
  when ?D; (d_sa[r[4]]||=[]).push(r[3])
  end
}
m=nil
f=->d,b,k{
  r=d[b] or return
  t=r.bsearch{|e| e>=k } or return
  m=t-k if !m || t-k<m
}
ps.each{|r|
  case r[0]
  when ?U
    f[d_xy,r[1],r[2]]
    f[r_as,r[3],r[4]]
    f[l_sa,r[4],r[3]]
  when ?R
    f[l_yx,r[2],r[1]]
    f[d_sa,r[4],r[3]]
  when ?L
    f[d_as,r[3],r[4]]
  end
}
puts m ? m*5 : 'SAFE'