#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 9;
vector<int> g[N];
pair<int, int> a[N];
int main() {
  int f_a, f_b;
  cin >> f_a >> f_b;
  string s;
  cin >> s;
  int x = 0, y = 0;
  a[0].first = 0;
  a[0].second = 0;
  for (int i = 0; i < (int)s.size(); ++i) {
    if (s[i] == 'U') {
      y++;
    } else if (s[i] == 'D') {
      y--;
    } else if (s[i] == 'L') {
      x--;
    } else if (s[i] == 'R') {
      x++;
    }
    a[i + 1].first = x;
    a[i + 1].second = y;
  }
  int len = (int)s.size();
  int period_a = a[len].first;
  int period_b = a[len].second;
  if (f_a == a[0].first && f_b == a[0].first) {
    puts("Yes");
    return 0;
  }
  for (int i = 0; i < s.size(); ++i) {
    if (f_a == a[i + 1].first && f_b == a[i + 1].second) {
      puts("Yes");
      return 0;
    }
    if (period_a != 0 && period_b != 0) {
      if ((f_a - a[i + 1].first) % period_a == 0 &&
          (f_b - a[i + 1].second) % period_b == 0) {
        if ((f_a - a[i + 1].first) / period_a ==
            (f_b - a[i + 1].second) / period_b) {
          if ((f_a - a[i + 1].first) / period_a >= 0) {
            puts("Yes");
            return 0;
          }
        }
      }
    } else if (period_a == 0 && period_b != 0) {
      if (f_a == a[i + 1].first && (f_b - a[i + 1].second) % period_b == 0 &&
          (f_b - a[i + 1].second) / period_b >= 0) {
        puts("Yes");
        return 0;
      }
    } else if (period_a != 0 && period_b == 0) {
      if (f_b == a[i + 1].second && (f_a - a[i + 1].first) % period_a == 0 &&
          (f_a - a[i + 1].first) / period_a >= 0) {
        puts("Yes");
        return 0;
      }
    } else if (period_a == 0 && period_b == 0) {
      if (f_a == a[i + 1].first && f_b == a[i + 1].second) {
        puts("Yes");
        return 0;
      }
    }
  }
  puts("No");
  return 0;
}
