#include <bits/stdc++.h>
using namespace std;
char s[105];
long long y, T, n, m, i, t, j, k, x;
long long maxx = 0LL, minx = 0LL, maxy = 0LL, miny = 0LL;
long long currx = 0LL, curry = 0LL;
int f() {
  int i;
  if (currx == x && curry == y) return 1;
  for (i = 0; i < n; i++) {
    if (s[i] == 'L') {
      currx--;
      minx = min(minx, currx);
    }
    if (s[i] == 'R') {
      currx++;
      maxx = max(maxx, currx);
    }
    if (s[i] == 'U') {
      curry++;
      maxy = max(maxy, curry);
    }
    if (s[i] == 'D') {
      curry--;
      miny = min(miny, curry);
    }
    if (currx == x && curry == y) return 1;
  }
  return 0;
}
int main() {
  scanf("%lld", &x);
  scanf("%lld", &y);
  scanf("%s", s);
  long long minxx, maxxx, minyy, maxyy;
  n = strlen(s);
  if (f()) {
    printf("Yes");
    return 0;
  }
  minxx = minx;
  maxxx = maxx;
  minyy = miny;
  maxyy = maxy;
  long long xx = currx;
  long long yy = curry;
  if (f()) {
    printf("Yes");
    return 0;
  }
  if (f()) {
    printf("Yes");
    return 0;
  }
  currx = xx;
  curry = yy;
  if (currx * x < 0 || curry * y < 0) {
    printf("No");
    return 0;
  }
  k = 1000000000LL;
  long long newx, newy;
  if (x < 0LL)
    newx = min(0LL, x - minxx);
  else
    newx = max(0LL, x - maxxx);
  if (y < 0LL)
    newy = min(0LL, y - minyy);
  else
    newy = max(0LL, y - maxyy);
  if (currx) k = min(k, newx / currx);
  if (curry) k = min(k, newy / curry);
  currx *= k;
  curry *= k;
  for (i = 0; i < 100; i++) {
    if (f()) {
      printf("Yes");
      return 0;
    }
  }
  printf("No");
  return 0;
  return 0;
}
