T, A, B = map(int, raw_input().split()) ans = [] a, b = 0, 0 if A == B == 0: if T == 1: print 'NO' exit() else: T -= 1 a -= 1 ans.append('<') if max(A, B) > T: print 'NO' exit() print 'YES' if max(A, B) == T: for i in xrange(T): arrow = '' if A > i: arrow += '^' if B > i: arrow += '>' print arrow exit() while A-a > 1 or B-b > 1: arrow = '' if A-a > 0: a += 1 arrow += '^' if B-b > 0: b += 1 arrow += '>' ans.append(arrow) T -= 1 if A == B and B!=0: T -= 1 ans.append('^') if A > B: T -= 1 ans.append('^<') while T > 2: ans.append('^') ans.append('V') T -= 2 if T == 2: ans.append('^') ans.append('V>') else: ans.append('>') for a in ans: print a