#include <bits/stdc++.h>
using namespace std;
namespace Sol {
struct P {
  int x, y;
  P(int a, int b) : x(a), y(b) {}
  P() {}
} ans[110];
char str[110];
int len;
int a, b;
int tot;
bool work() {
  tot = 0;
  P cur = P(a, b);
  P ori(0, 0);
  ans[tot++] = cur;
  for (int i = 0; i < len; ++i) {
    if (str[i] == 'L') {
      cur.x += 1;
      ori.x -= 1;
    } else if (str[i] == 'R') {
      cur.x -= 1;
      ori.x += 1;
    } else if (str[i] == 'U') {
      cur.y -= 1;
      ori.y += 1;
    } else if (str[i] == 'D') {
      cur.y += 1;
      ori.y -= 1;
    }
    ans[tot++] = cur;
  }
  if (ori.x == 0 && ori.y == 0) {
    for (int i = 0; i < tot; ++i) {
      if (ans[i].x == 0 && ans[i].y == 0) return true;
    }
    return false;
  } else if (ori.x == 0) {
    for (int i = 0; i < tot; ++i) {
      if (ans[i].x == 0 && ans[i].y % ori.y == 0) {
        if (ans[i].y / ori.y >= 0) return true;
      }
    }
    return false;
  } else if (ori.y == 0) {
    for (int i = 0; i < tot; ++i) {
      if (ans[i].y == 0 && ans[i].x % ori.x == 0) {
        if (ans[i].x / ori.x >= 0) return true;
      }
    }
    return false;
  } else {
    for (int i = 0; i < tot; ++i) {
      if (ans[i].x % ori.x == 0 && ans[i].y % ori.y == 0) {
        if (ans[i].x / ori.x >= 0 && ans[i].y / ori.y >= 0)
          if (ans[i].x / ori.x == (ans[i].y / ori.y)) return true;
      }
    }
    return false;
  }
  return false;
}
void sol() {
  scanf("%d", &a);
  scanf("%d", &b);
  scanf("%s", str);
  len = strlen(str);
  bool ans = work();
  if (ans)
    puts("Yes");
  else
    puts("No");
}
}  // namespace Sol
int main() {
  Sol::sol();
  return 0;
}
