import sys def input(): return sys.stdin.readline().strip() def list2d(a, b, c): return [[c for j in range(b)] for i in range(a)] def list3d(a, b, c, d): return [[[d for k in range(c)] for j in range(b)] for i in range(a)] def list4d(a, b, c, d, e): return [[[[e for l in range(d)] for k in range(c)] for j in range(b)] for i in range(a)] def ceil(x, y=1): return int(-(-x // y)) def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)] def Yes(): print('Yes') def No(): print('No') def YES(): print('YES') def NO(): print('NO') sys.setrecursionlimit(10**9) INF = 10**18 MOD = 10**9 + 7 EPS = 10**-10 t, gh, gw = MAP() dist = max(gh, gw) if dist > t: NO() exit() def check(h, w): return abs(h-gh) + abs(w-gw) ans = [] ch = cw = 0 while check(ch, cw) > 1: if abs(ch-gh) and abs(cw-gw): ans.append('^>') ch += 1 cw += 1 t -= 1 elif abs(ch-gh): ans.append('^') ch += 1 t -= 1 else: ans.append('>') cw += 1 t -= 1 if check(ch, cw) == 1: ans.append('^>') ch += 1 cw -= 1 t -= 1 if abs(ch-gh): ans.append('v') ch -= 1 t -= 1 else: ans.append('<') cw -= 1 t -= 1 while t: ans.append('<') ans.append('>') t -= 2 YES() for s in ans: print(s)