#include <bits/stdc++.h>
using namespace std;
string str;
vector<pair<int, int> > point;
int dx, dy;
int tx, ty;
int main() {
  int index;
  bool res;
  cin >> tx >> ty;
  cin >> str;
  point.clear();
  point.push_back(make_pair(0, 0));
  res = false;
  index = 0;
  for (int i = 0; i < str.length(); i++) {
    int x, y;
    int x0 = point[index].first;
    int y0 = point[index].second;
    if (str[i] == 'U')
      x = x0, y = y0 + 1;
    else if (str[i] == 'D')
      x = x0, y = y0 - 1;
    else if (str[i] == 'L')
      x = x0 - 1, y = y0;
    else
      x = x0 + 1, y = y0;
    if (x == tx && y == ty) {
      res = true;
      break;
    }
    point.push_back(make_pair(x, y));
    index++;
  }
  if (res) {
    puts("Yes");
    return 0;
  }
  dx = point[index].first;
  dy = point[index].second;
  point.pop_back();
  if (dx == 0 && dy == 0) {
    puts("No");
    return 0;
  }
  for (int i = 0; i < point.size(); i++) {
    int x0 = point[i].first;
    int y0 = point[i].second;
    if (dx && dy) {
      if ((tx - x0) % dx != 0 || (tx - x0) / dx < 0) continue;
      if ((ty - y0) % dy != 0 || (ty - y0) / dy < 0) continue;
      if ((tx - x0) / dx == (ty - y0) / dy) {
        res = true;
        break;
      }
    } else if (dx == 0) {
      if (tx != x0) continue;
      if ((ty - y0) % dy == 0 && (ty - y0) / dy >= 0) {
        res = true;
        break;
      }
    } else {
      if (ty != y0) continue;
      if ((tx - x0) % dx == 0 && (tx - x0) / dx >= 0) {
        res = true;
        break;
      }
    }
  }
  if (res)
    puts("Yes");
  else
    puts("No");
  return 0;
}
