#include <bits/stdc++.h>
using namespace std;
long long N;
long long x, y, x2, y2;
pair<int, int> v[100010];
bool Can(long long n) {
  long long Rem = n % N;
  long long Count = n / N;
  long long X = v[Rem].first + (v[N].first * Count);
  long long Y = v[Rem].second + (v[N].second * Count);
  return ((abs(x2 - (X + x)) + abs(y2 - (Y + y))) <= n);
}
void Solve() {
  cin >> x >> y;
  cin >> x2 >> y2;
  cin >> N;
  string s;
  cin >> s;
  long long X = 0, Y = 0;
  for (long long i = 0; i < N; ++i) {
    if (s[i] == 'U') {
      Y++;
    } else if (s[i] == 'D') {
      Y--;
    } else if (s[i] == 'L') {
      X--;
    } else if (s[i] == 'R') {
      X++;
    }
    v[i + 1] = make_pair(X, Y);
  }
  long long ans = -1;
  long long low = 0, high = (1100000000000000000ll);
  while (low <= high) {
    long long mid = (low + high) / 2;
    if (Can(mid)) {
      high = mid - 1;
      ans = mid;
    } else {
      low = mid + 1;
    }
  }
  cout << ans << endl;
}
int main() {
  ios::sync_with_stdio(NULL);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  while (t--) Solve();
  return 0;
}
