#include <bits/stdc++.h>
using namespace std;
int nx, ny;
string q;
vector<int> dx;
vector<int> dy;
int range(int x0, int y0, int x1, int y1) {
  return abs(x0 - x1) + abs(y0 - y1);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> nx >> ny;
  cin >> q;
  dx.resize(q.size() + 1);
  dy.resize(q.size() + 1);
  vector<pair<int, int> > v;
  for (int i = 1; i <= q.size(); i++) {
    dx[i] = dx[i - 1];
    dy[i] = dy[i - 1];
    if (q[i - 1] == 'U') dy[i] = dy[i - 1] + 1;
    if (q[i - 1] == 'D') dy[i] = dy[i - 1] - 1;
    if (q[i - 1] == 'L') dx[i] = dx[i - 1] - 1;
    if (q[i - 1] == 'R') dx[i] = dx[i - 1] + 1;
    v.push_back(make_pair(dx[i], dy[i]));
  }
  if (nx == 0 && ny == 0) {
    puts("Yes");
    exit(0);
  }
  for (int i = 0; i < v.size(); i++) {
    int rx = nx - v[i].first, ry = ny - v[i].second;
    int k;
    if (dx[q.size()] != 0)
      k = rx / dx[q.size()];
    else if (dy[q.size()] != 0)
      k = ry / dy[q.size()];
    else
      k = 1;
    if (k >= 0 && dx[q.size()] * k == rx && dy[q.size()] * k == ry) {
      cout << "Yes\n";
      exit(0);
    }
  }
  cout << "No" << endl;
  return 0;
  return 0;
}
