import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines T, A, B = map(int, read().split()) class NotFoundError(Exception): pass def solve_1_dim(T, A, words): if T < A: raise NotFoundError add = (T + A) // 2 sub = add - A stay = T - add - sub return [''] * stay + [words[0]] * add + [words[1]] * sub def solve(T, A, B): try: ans_A = solve_1_dim(T, A, '^v') ans_B = solve_1_dim(T, B, '><') except NotFoundError: print('NO') else: ans_B.reverse() if (not ans_A[0]) and (not ans_B[0]): print('NO') else: print('YES') print('\n'.join('{}{}'.format(*z) for z in zip(ans_A, ans_B))) solve(T, A, B)