#include <bits/stdc++.h>
using namespace std;
int totalCases, testNum;
string S;
int A, B;
int minx, maxx, miny, maxy, Dx, Dy;
void preprocess() {}
bool input() {
  scanf("%d", &A);
  scanf("%d", &B);
  cin >> S;
  return true;
}
void solve() {
  int curx = 0, cury = 0;
  for (int i = 0, len = S.length(); i < len; i++) {
    switch (S[i]) {
      case 'U':
        cury++;
        break;
      case 'D':
        cury--;
        break;
      case 'L':
        curx--;
        break;
      case 'R':
        curx++;
        break;
      default:
        break;
    }
    minx = min(curx, minx);
    miny = min(cury, miny);
    maxx = max(curx, maxx);
    maxy = max(cury, maxy);
  }
  Dx = curx;
  Dy = cury;
  int t = 1000000200;
  if (Dx != 0) t = max(0, min((A - minx) / Dx, (A - maxx) / Dx));
  if (Dy != 0) t = min(t, max(0, min((B - miny) / Dy, (B - maxy) / Dy)));
  curx = t * Dx;
  cury = t * Dy;
  for (int iter = 0; iter < 201; iter++) {
    for (int i = 0, len = S.length(); i < len; i++) {
      if (curx == A && cury == B) {
        printf("Yes\n");
        return;
      }
      switch (S[i]) {
        case 'U':
          cury++;
          break;
        case 'D':
          cury--;
          break;
        case 'L':
          curx--;
          break;
        case 'R':
          curx++;
          break;
        default:
          break;
      }
    }
  }
  printf("No\n");
}
int main() {
  preprocess();
  totalCases = 1;
  for (testNum = 1; testNum <= totalCases; testNum++) {
    if (!input()) break;
    solve();
  }
}
