#include <bits/stdc++.h>
using namespace std;
long long int sx, sy, ex, ey, n;
string s;
map<char, pair<long long int, long long int>> dir = {
    {'U', {0, 1}}, {'D', {0, -1}}, {'L', {-1, 0}}, {'R', {1, 0}}};
pair<long long int, long long int> wind;
long long int xd[100005], yd[100005];
bool can(long long int mid) {
  long long int cnt = mid / n, rem = mid % n;
  long long int x = sx + cnt * xd[n] + xd[rem];
  long long int y = sy + cnt * yd[n] + yd[rem];
  long long int distance = abs(ex - x) + abs(ey - y);
  return distance <= mid;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> sx >> sy >> ex >> ey >> n >> s;
  for (int i = 1; i <= n; i++) {
    wind = dir[s[i - 1]];
    xd[i] = xd[i - 1] + wind.first;
    yd[i] = yd[i - 1] + wind.second;
  }
  long long int l = 0, r = 1e18;
  while (l + 1 < r) {
    long long int mid = l + (r - l) / 2;
    if (can(mid))
      r = mid;
    else
      l = mid;
  }
  if (r > 2e14) return cout << -1 << endl, 0;
  cout << r << endl;
  return 0;
}
