func main() var t: int :: cui@inputInt() var a: int :: cui@inputInt() var b: int :: cui@inputInt() 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") else do cui@print("YES\n") var x: int :: 0 var y: int :: 0 for tt(1, t) if(tt = 1 & (t - b) % 2 <> 0) do y :+ moveY(a - y > 0 ?(1, -1)) do cui@print("\n") skip tt end if if(tt = t & (t - a) % 2 <> 0) do x :+ moveX(b - x > 0 ?(1, -1)) do cui@print("\n") skip tt end if do x :+ moveX(b - x > 0 ?(1, -1)) do y :+ moveY(a - 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 if end func