func main() var _: [][]char :: cui@input().split(" ") var T: int :: _[0].toInt(&) var A: int :: _[1].toInt(&) var B: int :: _[2].toInt(&) var ans: bool :: true if(A.abs() > T | B.abs() > T) do ans :: false end if if(T = 1 & A = 0 & B = 0) do ans :: false end if if(!ans) do cui@print("NO\n") ret end if do cui@print("YES\n") var x: int var y: int for t(1, T) if(t = 1 & (T - A) % 2 <> 0) do y :+ moveY(B - y > 0 ?(1, -1)) do cui@print("\n") skip t end if if(t = T & (T - B) % 2 <> 0) do x :+ moveX(A - x > 0 ?(1, -1)) do cui@print("\n") skip t end if do x :+ moveX(A - x > 0 ?(1, -1)) do y :+ moveY(B - y > 0 ?(1, -1)) do cui@print("\n") end for func moveY(dy: int): int do cui@print(dy = 1 ?("^", "v")) ret dy end func func moveX(dx: int): int do cui@print(dx = 1 ?(">", "<")) ret dx end func end func