#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > points;
int main() {
  int a, b;
  scanf("%d", &a);
  scanf("%d", &b);
  string s;
  cin >> s;
  int i = 0, j = 0;
  points.push_back(make_pair(i, j));
  for (int x = 0; x < s.length(); x++) {
    switch (s[x]) {
      case 'U':
        j++;
        break;
      case 'R':
        i++;
        break;
      case 'L':
        i--;
        break;
      case 'D':
        j--;
        break;
    }
    points.push_back(make_pair(i, j));
  }
  bool yes = false;
  for (int x = 0; x < (int)(points.size()); x++) {
    if (i == 0 && j == 0) {
      if (points[x] == make_pair(a, b)) yes = true;
    } else if (i == 0) {
      if (a == points[x].first && (b - points[x].second) % j == 0 &&
          (((long long)b - points[x].second) * 1LL * j >= 0))
        yes = true;
    } else if (j == 0) {
      if (b == points[x].second && (a - points[x].first) % i == 0 &&
          (((long long)a - points[x].first) * 1LL * i >= 0))
        yes = true;
    } else {
      if (i != 0 && (a - points[x].first) % i != 0) continue;
      if (j != 0 && (b - points[x].second) % j != 0) continue;
      if (((a - points[x].first) / i) < 0) continue;
      if (((a - points[x].first) / i) == ((b - points[x].second) / j))
        yes = true;
    }
  }
  if (yes)
    cout << "Yes" << endl;
  else
    cout << "No" << endl;
  return 0;
}
