#include <bits/stdc++.h>
using namespace std;
int a, b;
string s;
int dx[] = {1, 0, -1, 0};
int dy[] = {0, 1, 0, -1};
map<char, int> g;
int X[211], Y[211], sz = 0;
int main() {
  g['R'] = 0;
  g['U'] = 1;
  g['L'] = 2;
  g['D'] = 3;
  scanf("%d%d\n", &a, &b);
  getline(cin, s);
  int xx = 0, yy = 0;
  X[sz] = 0;
  Y[sz] = 0;
  sz++;
  for (int i = 0; i < s.length(); i++) {
    if (xx == a && yy == b) {
      puts("Yes");
      return 0;
    }
    xx += dx[g[s[i]]];
    yy += dy[g[s[i]]];
    X[sz] = xx;
    Y[sz] = yy;
    sz++;
  }
  if (xx == a && yy == b) {
    puts("Yes");
    return 0;
  }
  int gx = X[sz - 1] - X[0], gy = Y[sz - 1] - Y[0];
  if (gx == 0 && gy == 0) {
    puts("No");
    return 0;
  }
  for (int i = 0; i < sz; i++) {
    int curx = X[i], cury = Y[i];
    if (gx == 0) {
      if (curx == a && (b - cury) % gy == 0 && (b - cury) / gy >= 0) {
        puts("Yes");
        return 0;
      } else {
      }
    } else if (gy == 0) {
      if (cury == b && (a - curx) % gx == 0 && (a - curx) / gx >= 0) {
        puts("Yes");
        return 0;
      } else {
      }
    } else if ((a - curx) % gx == 0 && (a - curx) / gx >= 0 &&
               (b - cury) % gy == 0 && (b - cury) / gy >= 0 &&
               (a - curx) / gx == (b - cury) / gy) {
      puts("Yes");
      return 0;
    } else {
    }
  }
  puts("No");
  return 0;
}
