#include <bits/stdc++.h>
using namespace std;
template <typename T>
T sqr(T a) {
  return a * a;
}
const int N = 100005;
const int T = 500;
string s;
long long p_x[N], p_y[N], n, l, r, x, y, xx, yy;
bool can(long long mid) {
  long long d = (mid / n);
  long long ost = (mid % n - 1);
  long long x_shift = x + (p_x[n - 1] * d) + (ost >= 0 ? p_x[ost] : 0);
  long long y_shift = y + (p_y[n - 1] * d) + (ost >= 0 ? p_y[ost] : 0);
  return abs(x_shift - xx) + abs(y_shift - yy) <= mid;
}
int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(NULL);
  cin >> x >> y >> xx >> yy;
  cin >> n;
  cin >> s;
  for (int i = 0; i < s.size(); ++i) {
    if (i) {
      p_x[i] = p_x[i - 1];
      p_y[i] = p_y[i - 1];
    }
    if (s[i] == 'D') p_y[i]--;
    if (s[i] == 'U') p_y[i]++;
    if (s[i] == 'L') p_x[i]--;
    if (s[i] == 'R') p_x[i]++;
  }
  long long l = 1;
  r = 1e15;
  while (r - l) {
    long long m = (r + l) >> 1;
    if (can(m))
      r = m;
    else
      l = m + 1;
  }
  if (can(l))
    cout << l;
  else
    cout << -1;
  return 0;
}
