#include <bits/stdc++.h>
using namespace std;
long long a, b;
string s;
long long xls[105];
long long yls[105];
int main() {
  cin >> a >> b;
  cin >> s;
  xls[0] = 0;
  yls[0] = 0;
  for (int i = 0; i < s.size(); i++) {
    xls[i + 1] = xls[i];
    yls[i + 1] = yls[i];
    if (s[i] == 'U') {
      yls[i + 1]++;
    } else if (s[i] == 'D') {
      yls[i + 1]--;
    } else if (s[i] == 'L') {
      xls[i + 1]--;
    } else {
      xls[i + 1]++;
    }
  }
  long long base_x = xls[s.size()];
  long long base_y = yls[s.size()];
  for (int i = 0; i <= s.size(); i++) {
    if (base_x == 0 && base_y == 0) {
      if (xls[i] == a && yls[i] == b) {
        cout << "Yes" << endl;
        return 0;
      }
    } else if (base_x == 0 && base_y != 0) {
      if (a == xls[i] && ((b - yls[i]) % base_y == 0)) {
        int n = abs((b - yls[i]) / base_y);
        if (n * base_y + yls[i] == b) {
          cout << "Yes" << endl;
          return 0;
        }
      }
    } else if (base_x != 0 && base_y == 0) {
      if (b == yls[i] && ((a - xls[i]) % base_x == 0)) {
        int n = abs((a - xls[i]) / base_x);
        if (n * base_x + xls[i] == a) {
          cout << "Yes" << endl;
          return 0;
        }
      }
    } else if (((a - xls[i]) % base_x == 0) && ((b - yls[i]) % base_y == 0)) {
      int n = abs((a - xls[i]) / base_x);
      int m = abs((b - yls[i]) / base_y);
      if ((n == m) && (n * base_x + xls[i] == a) &&
          (m * base_y + yls[i] == b)) {
        cout << "Yes" << endl;
        return 0;
      }
    }
  }
  cout << "No" << endl;
  return 0;
}
