program main implicit none integer::T,A,B,AA,BB integer::i,tmp read *,T,A,B if(MAX(A,B).gt.T) then print '(a)', "NO" return else if(A.eq.0.and.B.eq.0.and.T.eq.1) then print '(a)', "NO" return else print '(a)', "YES" end if if(T.eq.1) then if(A.eq.1.and.B.eq.1) then print '(a)',"^>" else if(A.eq.1) then print '(a)',"^" else if(B.eq.1) then print '(a)',">" end if return end if AA = A-1 BB = B-1 if(AA.eq.-1.and.BB.eq.-1) then print '(a)',"" end if do i=1,BB-1 print '(a)',"^" end do tmp = T-BB-2 else if(BB.eq.-1) then if(AA.eq.0) then print '(a)',"<" else print '(a)',"<^" end if do i=1,AA-1 print '(a)',">" end do tmp = T-AA-2 else do i=1,MIN(AA,BB) print '(a)',"^>" end do if(AA.gt.BB) then do i=BB+1,AA print '(a)',"^" end do else do i=AA+1,BB print '(a)',">" end do end if tmp = T-MAX(AA,BB)-1 end if do i=1,tmp/2 print '(a)',"^" print '(a)',"v" end do if(MOD(tmp,2).eq.1) then print '(a)',"^" print '(a)',">" return else print '(a)',">^" return end if end program main