#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<deque>
#include<stack>
#include<string>
#include<string.h>
#include<vector>
#include<set>
#include<map>
#include<bitset>
#include<stdlib.h>
#include<cassert>
#include<time.h>
#include<bitset>
using namespace std;
const long long mod=998244353;
const long long inf=mod*mod;
const long long d2=(mod+1)/2;
const double EPS=1e-13;
const double PI=acos(-1.0);
int ABS(int a){return max(a,-a);}
long long ABS(long long a){return max(a,-a);}
double ABS(double a){return max(a,-a);}
char in[1100][1100];
int a,b,c,d;
int C;
void awoo(){
	printf("YES\n");
	for(int i=0;i<a;i++)printf("%s\n",in[i]);
}
int main(){
	scanf("%d%d%d%d",&a,&b,&c,&d);
	for(int i=0;i<a;i++)for(int j=0;j<b;j++)in[i][j]='.';
	int ms=a*b;
	if((c+d)*2>ms){
		printf("NO\n");return 0;
	}
	if(a==1){
		if(d){
			printf("NO\n");return 0;
		}
		for(int i=0;i<c;i++){
			in[0][i*2]='<';
			in[0][i*2+1]='>';
		}
		awoo();
		return 0;
	}
	if(b==1){
		if(c){
			printf("NO\n");return 0;
		}
		for(int i=0;i<d;i++){
			in[i*2][0]='^';
			in[i*2+1][0]='v';
		}
		awoo();
		return 0;
	}
	if(a%2==0&&b%2==0){
		int blk=(a/2)*(b/2);
		int req=(c+1)/2+(d+1)/2;
		if(req>blk){
			printf("NO\n");return 0;
		}
		int cnt=0;
		C=(c+1)/2;
		for(int i=0;i<a/2;i++)for(int j=0;j<b/2;j++){
			if(cnt==req)continue;
			if(cnt<C){
				in[i*2][j*2]='<';
				if(c>1)in[i*2+1][j*2]='<';
				in[i*2][j*2+1]='>';
				if(c>1)in[i*2+1][j*2+1]='>';
				c-=2;
			}else{
				in[i*2][j*2]='^';
				if(d>1)in[i*2][j*2+1]='^';
				in[i*2+1][j*2]='v';
				if(d>1)in[i*2+1][j*2+1]='v';
				d-=2;
			}cnt++;
		}
		awoo();
		return 0;
	}
	if(b%2==0){
		for(int i=0;i<b/2;i++){
			if(c==0)continue;
			in[a-1][i*2]='<';
			in[a-1][i*2+1]='>';c--;
		}
		int blk=(a/2)*(b/2);
		int req=(c+1)/2+(d+1)/2;
		C=(c+1)/2;
		if(req>blk){
			printf("NO\n");return 0;
		}
		int cnt=0;
		for(int i=0;i<a/2;i++)for(int j=0;j<b/2;j++){
			if(cnt==req)continue;
			if(cnt<C){
				in[i*2][j*2]='<';
				if(c>1)in[i*2+1][j*2]='<';
				in[i*2][j*2+1]='>';
				if(c>1)in[i*2+1][j*2+1]='>';
				c-=2;
			}else{
				in[i*2][j*2]='^';
				if(d>1)in[i*2][j*2+1]='^';
				in[i*2+1][j*2]='v';
				if(d>1)in[i*2+1][j*2+1]='v';
				d-=2;
			}cnt++;
		}
		awoo();
		return 0;
	}
	if(a%2==0){
		for(int i=0;i<a/2;i++){
			if(d==0)continue;
			in[i*2][b-1]='^';
			in[i*2+1][b-1]='v';d--;
		}
		int blk=(a/2)*(b/2);
		int req=(c+1)/2+(d+1)/2;
		C=(c+1)/2;
		if(req>blk){
			printf("NO\n");return 0;
		}
		int cnt=0;
		for(int i=0;i<a/2;i++)for(int j=0;j<b/2;j++){
			if(cnt==req)continue;
			if(cnt<C){
				in[i*2][j*2]='<';
				if(c>1)in[i*2+1][j*2]='<';
				in[i*2][j*2+1]='>';
				if(c>1)in[i*2+1][j*2+1]='>';
				c-=2;
			}else{
				in[i*2][j*2]='^';
				if(d>1)in[i*2][j*2+1]='^';
				in[i*2+1][j*2]='v';
				if(d>1)in[i*2+1][j*2+1]='v';
				d-=2;
			}cnt++;
		}
		awoo();
		return 0;
	}
	if(a%2&&b%2){
		int tc=c;
		int td=d;
		for(int i=0;i<b/2;i++){
			if(c==0)continue;
			in[a-1][i*2]='<';
			in[a-1][i*2+1]='>';c--;
		}
		for(int i=0;i<a/2;i++){
			if(d==0)continue;
			in[i*2][b-1]='^';
			in[i*2+1][b-1]='v';d--;
		}

		int blk=(a/2)*(b/2);
		int req=(c+1)/2+(d+1)/2;
		C=(c+1)/2;
		if(req>blk){
			if(tc<2||td<2){
				printf("NO\n");return 0;
			}
			c=tc;d=td;
			c-=2;
			d-=2;
			in[a-3][b-3]=in[a-1][b-2]='<';
			in[a-3][b-2]=in[a-1][b-1]='>';
			in[a-2][b-3]=in[a-3][b-1]='^';
			in[a-1][b-3]=in[a-2][b-1]='v';
			
			for(int i=0;i<b/2-1;i++){
				if(c==0)continue;
				in[a-1][i*2]='<';
				in[a-1][i*2+1]='>';c--;
			}
			for(int i=0;i<a/2-1;i++){
				if(d==0)continue;
				in[i*2][b-1]='^';
				in[i*2+1][b-1]='v';d--;
			}
			req=(c+1)/2+(d+1)/2;
			C=(c+1)/2;
			if(req>blk-1){
				printf("NO\n");return 0;
			}
		}
		int cnt=0;
		for(int i=0;i<a/2;i++)for(int j=0;j<b/2;j++){
			if(cnt==req)continue;
			if(cnt<C){
				in[i*2][j*2]='<';
				if(c>1)in[i*2+1][j*2]='<';
				in[i*2][j*2+1]='>';
				if(c>1)in[i*2+1][j*2+1]='>';
				c-=2;
			}else{
				in[i*2][j*2]='^';
				if(d>1)in[i*2][j*2+1]='^';
				in[i*2+1][j*2]='v';
				if(d>1)in[i*2+1][j*2+1]='v';
				d-=2;
			}cnt++;
		}
		awoo();
		return 0;
	}
}

Measured memory_bytes: 2176