#include <bits/stdc++.h>
using namespace std;
struct Tpr {
  int x, y;
};
Tpr a[200];
int main() {
  int xa, yb;
  string s;
  cin >> xa >> yb;
  cin >> s;
  memset(a, 0, sizeof(a));
  int n = s.length();
  for (int i = (1); i <= (n); ++i) {
    int dx = 0, dy = 0;
    if (s[i - 1] == 'U')
      dy = 1;
    else if (s[i - 1] == 'D')
      dy = -1;
    else if (s[i - 1] == 'R')
      dx = 1;
    else if (s[i - 1] == 'L')
      dx = -1;
    a[i].x = a[i - 1].x + dx;
    a[i].y = a[i - 1].y + dy;
  }
  bool ans = false;
  for (int i = (1); i <= (n); ++i) {
    int dx = xa - a[i].x;
    int dy = yb - a[i].y;
    if (a[n].x != 0 && a[n].y != 0) {
      if (dx % a[n].x == 0 && dy % a[n].y == 0 && dx / a[n].x == dy / a[n].y)
        if (((dx > 0) == (a[n].x > 0)) && ((dy > 0) == (a[n].y > 0)))
          ans = true;
    } else if (a[n].x == 0 && a[n].y != 0) {
      if (dx == 0 && ((dy > 0) == (a[n].y > 0)) && dy % a[n].y == 0) ans = true;
    } else if (a[n].x != 0 && a[n].y == 0) {
      if (dy == 0 && ((dx > 0) == (a[n].x > 0)) && dx % a[n].x == 0) ans = true;
    } else if (dx == 0 && dy == 0)
      ans = true;
  }
  if (ans || (xa == 0 && yb == 0))
    cout << "Yes";
  else
    cout << "No";
}
