#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define aLL(g) (g).begin(),(g).end() #define REP(i, x, n) for(int i = x; i < n; i++) #define rep(i,n) REP(i,0,n) #define F(i,j,k) fill(i[0],i[0]+j*j,k) #define P(p) cout<<(p)< vi; typedef vector vl; typedef vector vd; typedef pair pii; typedef pair pll; typedef long long ll; int dx[] = {0,1,0,-1}; int dy[] = {-1,0,1,0}; int main(){ int t,a,b; cin >> t >> a >> b; if(a > t || b > t){ P("NO"); } if(a == b){ if((t - a)%2 == 0){ P("YES"); for(int i = 0;i < a;i++){ P("^>"); } for(int i = 0;i < (t-a)/2;i++){ P("<"); P(">"); } }else{ P("YES"); for(int i = 0;i < a+1;i++){ P("^>"); } P("v"); P("<"); for(int i = 0;i < (t-a-3)/2;i++){ P("^"); P("v"); } } }else{ P("YES"); int m = min(a,b); for(int i = 0;i < m;i++){ P("^>"); } if(a > b){ if(t - a == 1){ P("^>"); P("<"); return 0; } for(int i = 0;i < a-b;i++){ P(">"); } if((t-a)%2 == 0){ for(int i = 0;i < (t-a)/2;i++){ P("^"); P("v"); } }else{ if(t-a == 1){ return 0; } if(t-a == 3){ P("^>"); P("v"); P("<"); return 0; } P("^>"); P("v"); P("<"); for(int i = 0;i < (t-a-3)/2;i++){ P("^"); P("v"); } } }else if(b > a){ if(t - b == 1){ P("^"); P("v>"); return 0; } for(int i = 0;i < b-a;i++){ P(">"); } if((t-b)%2 == 0){ for(int i = 0;i < (t-b)/2;i++){ P("^"); P("v"); } }else{ if(t - b== 1){ return 0; } if(t-b == 3){ P("^>"); P("v"); P("<"); return 0; } P("^>"); P("v"); P("<"); for(int i = 0;i < (t-b-3)/2;i++){ P("^"); P("v"); } } } } }