#include <bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("sse4")
using namespace std;
long long int MOD = 1000000007;
long long int powmod(long long int a, long long int b) {
  long long int res = 1;
  a %= 1000000009;
  assert(b >= 0);
  for (; b; b >>= 1) {
    if (b & 1) res = res * a % 1000000009;
    a = a * a % 1000000009;
  }
  return res;
}
long long int gcd(long long int a, long long int b) {
  return b ? gcd(b, a % b) : a;
}
long long int add(long long int a, long long int b) {
  return ((a % MOD) + (b % MOD)) % MOD;
}
long long int mul(long long int a, long long int b) {
  return ((a % MOD) * (b % MOD)) % MOD;
}
long long int sub(long long int a, long long int b) {
  return ((a % MOD) - (b % MOD) + MOD) % MOD;
}
long long int binpow(long long int x, long long int y) {
  long long int z = 1;
  while (y) {
    if (y & 1) z = mul(z, x);
    x = mul(x, x);
    y >>= 1;
  }
  return z;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  vector<pair<long long int, long long int>> states;
  long long int a, b;
  cin >> a >> b;
  bool ok = false;
  string dir;
  cin >> dir;
  int x = 0;
  int y = 0;
  states.push_back({x, y});
  long long int n = dir.size();
  for (long long int i = 0; i < n; i++) {
    char d = dir[i];
    switch (d) {
      case 'R':
        x++;
        break;
      case 'L':
        x--;
        break;
      case 'U':
        y++;
        break;
      case 'D':
        y--;
        break;
    }
    states.push_back({x, y});
  }
  if (a == 0 && b == 0) {
    cout << "Yes";
    return 0;
  }
  pair<long long int, long long int> need = states[n];
  for (long long int i = 0; i < n + 1; i++) {
    long long int remx = a - states[i].first;
    long long int remy = b - states[i].second;
    long long int sick = remx * need.first;
    long long int kick = remy * need.second;
    if (need.first == 0 && need.second != 0) {
      long long int deb = remy / need.second;
      deb *= need.second;
      if (deb == remy && remx == 0 && sick >= 0 && kick >= 0) {
        ok = true;
      }
    } else if (need.first != 0 && need.second == 0) {
      long long int deb = remx / need.first;
      deb *= need.first;
      if (remx == deb && remy == 0 && sick >= 0 && kick >= 0) {
        ok = true;
      }
    } else if (need.first == 0 && need.second == 0) {
      if (remy == 0 && remx == 0 && sick >= 0 && kick >= 0) {
        ok = true;
      }
    } else {
      if (remx % need.first == 0 && remy % need.second == 0) {
        long long int deb = remy / need.second;
        long long int cheb = remx / need.first;
        if (deb == cheb && sick >= 0 && kick >= 0) {
          ok = true;
        }
      }
    }
  }
  if (ok) {
    cout << "Yes" << endl;
  } else {
    cout << "No" << endl;
  }
}
