using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace foryuki { class Program { static void Main(string[] args) { string[] s = Console.ReadLine().Split(); int t = int.Parse(s[0]); int a = int.Parse(s[1]); int b = int.Parse(s[2]); int[,] z = new int[a, b]; int x = 0; int y = 0; List li = new List(); int k = t; //目的地が0,0 if (a == b && a == 0) { x--; y--; k--; } //斜め移動 while (x < b - 1 && y < a - 1) { x++; y++; k--; li.Add(">^"); } //水平移動 while (x < b - 1) { x++; k--; li.Add(">"); } //垂直移動 while (y > a - 1) { y++; k--; li.Add("^"); } if (k < 1) { Console.WriteLine("NO"); return; } while (k > 0) { //左下 中央下 if (k == 1) { x++; y++; k--; li.Add(">^"); break; } else { x++; k--; li.Add(">"); } if (k == 1) { y++; k--; li.Add("^"); break; } else { x--; k--; li.Add("<"); } } Console.WriteLine("YES"); foreach (var item in li) { Console.WriteLine(item); } } //------------------------------------------------------------- static int[] ConvertStringArrayToIntArray(string[] array) { return Array.ConvertAll(array, str => int.Parse(str)); } static List ConvertStringArrayToIntList(string[] str) { var list = new List(); foreach (var c in str) list.Add(int.Parse(c)); return list; } } }