#include<bits/stdc++.h>
#define rep(i,m) for(long long i=0; i<m; i++)
#define per(i,m) for(long long i=m-1; i>=0; i--)
#define FOR(i,n,m) for(long long i=n; i<m; i++)
#define ROF(i,n,m) for(long long i=m-1; i>=n; i--)
#define SORT(v,n) do{sort(v,v+n);reverse(v,v+n);}while(0)
#define all(x) (x).begin(),(x).end()
#define EPS (1e-7)
#define INF (1e18)
#define PI (acos(-1))
#define dump(x)  cerr << #x << " = " << (x) << endl;
#define debug(x) cerr << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;
using namespace std;
typedef long long ll;
const ll MOD = 1000000007;
typedef pair<ll, ll> LP;

ll POW(ll x,ll n){
  if(n==0)return 1;
  if(n%2==0)return POW(x*x,n/2)%MOD;
  return x%MOD*POW(x,n-1)%MOD;
}

ll POW2(ll x,ll n){
  if(n==0)return 1;
  if(n%2==0)return POW2(x*x,n/2);
  return x*POW2(x,n-1);
}

ll gcd(ll u, ll v) {
  ll r;
  while (0 != v) {
    r = u % v; u = v; v = r;
  }
  return u;
}

ll lcm(ll u, ll v) {
  return u*v/gcd(u,v);
}
 
ll KAI(ll m)
{
  if(m<0) return 0;
  if(m==0) return 1;
  return m*KAI(m-1)%MOD;
}
 
ll KAI2(ll m)
{
  if(m<0) return 0;
  if(m==0) return 1;
  return m*KAI2(m-1);
}

ll extGCD(ll a, ll b, ll &x, ll &y) {
    if (b == 0) {
        x = 1;
        y = 0;
        return a;
    }
    ll d = extGCD(b, a%b, y, x);
    y -= a / b * x;
    return d;
}
 
inline ll mod(ll a, ll m) {
    return (a % m + m) % m;
}
 
ll modinv(ll a) {
    ll x, y;
    extGCD(a, MOD, x, y);
    return mod(x, MOD);
}
 
ll COM(ll m,ll n)
{
  if(m<n) return 0;
  if(n<0) return 0;
  if(n==0) return 1;
  if(m==n) return 1;
  return KAI(m)%MOD*modinv(KAI(n)%MOD*KAI(m-n)%MOD)%MOD;
}

ll COM2(ll m,ll n)
{
  if(m<n) return 0;
  if(n<0) return 0;
  if(n==0) return 1;
  if(m==n) return 1;
  return KAI2(m)/KAI2(n)/KAI2(m-n);
}

ll DEC(ll x,ll m,ll n)
{
  return x%POW(m,n+1)/POW(m,n);
}

ll keta(ll x,ll n)
{
  if(x==0)return 0;
  return keta(x/n,n)+1;
}

ll DIV(ll x,ll n)
{
  if(x==0)return 0;
  return x/n+DIV(x/n,n);
}

ll ORD(ll x,ll n)
{
  if(x==0)return INF;
  if(x%n!=0)return 0;
  return 1+ORD(x/n,n);
}

int main()
{
  ll h,w,n,sr,sc,dp[210000][10];
  string s,t;
  cin >> h >> w >> n >> sr >> sc >> s >> t;
  dp[n][0]=1;
  dp[n][1]=h;
  dp[n][2]=1;
  dp[n][3]=w;
  per(i,n){
    if(s[i]=='U'&&t[i]=='D'&&dp[i+1][0]==1)dp[i][0]=2;
    else if(s[i]=='U'&&t[i]!='D'&&dp[i+1][0]==h){
      printf("NO");
      return 0;
    }
    else if(s[i]=='U'&&t[i]!='D'&&dp[i+1][0]!=h)dp[i][0]=dp[i+1][0]+1;
    else if(s[i]!='U'&&t[i]=='D'&&dp[i+1][0]!=1)dp[i][0]=dp[i+1][0]-1;
    else dp[i][0]=dp[i+1][0];
    
    if(s[i]=='D'&&t[i]=='U'&&dp[i+1][1]==h)dp[i][1]=h-1;
    else if(s[i]=='D'&&t[i]!='U'&&dp[i+1][1]!=1)dp[i][1]=dp[i+1][1]-1;
    else if(s[i]=='D'&&t[i]!='U'&&dp[i+1][1]==1){
      printf("NO");
      return 0;
    }
    else if(s[i]!='D'&&t[i]=='U'&&dp[i+1][1]!=h)dp[i][1]=dp[i+1][1]+1;
    else dp[i][1]=dp[i+1][1];
    
    if(s[i]=='L'&&t[i]=='R'&&dp[i+1][2]==1)dp[i][2]=2;
    else if(s[i]=='L'&&t[i]!='R'&&dp[i+1][2]!=w)dp[i][2]=dp[i+1][2]+1;
    else if(s[i]=='L'&&t[i]!='R'&&dp[i+1][2]==w){
      printf("NO");
      return 0;
    }
    else if(s[i]!='L'&&t[i]=='R'&&dp[i+1][2]!=1)dp[i][2]=dp[i+1][2]-1;
    else dp[i][2]=dp[i+1][2];
    
    if(s[i]=='R'&&t[i]=='L'&&dp[i+1][3]==h)dp[i][3]=w-1;
    else if(s[i]=='R'&&t[i]!='L'&&dp[i+1][3]!=1)dp[i][3]=dp[i+1][3]-1;
    else if(s[i]=='R'&&t[i]!='L'&&dp[i+1][3]==1){
      printf("NO");
      return 0;
    }
    else if(s[i]!='R'&&t[i]=='L'&&dp[i+1][3]!=w)dp[i][3]=dp[i+1][3]+1;
    else dp[i][3]=dp[i+1][3];
  }
  rep(i,4)dump(dp[0][i])
  if(dp[0][0]<=sr&&sr<=dp[0][1]&&dp[0][2]<=sc&&sc<=dp[0][3])printf("YES");
  else printf("NO");
}

Measured memory_bytes: 17160