#include <bits/stdc++.h>
using namespace std;
int main() {
  long long x1, y1, x2, y2;
  cin >> x1 >> y1 >> x2 >> y2;
  int n;
  cin >> n;
  vector<long long> l(n + 1), t(n + 1);
  l[0] = 0;
  t[0] = 0;
  for (int i = 1; i <= n; i++) {
    char c;
    cin >> c;
    l[i] = l[i - 1];
    t[i] = t[i - 1];
    if (c == 'L')
      l[i]--;
    else if (c == 'R')
      l[i]++;
    else if (c == 'U')
      t[i]++;
    else
      t[i]--;
  }
  long long low = 0;
  long long high = 1000000000LL * 1000000000LL * 4;
  long long mid;
  while (low < high) {
    mid = (low + high) / 2;
    long long tempx = (mid / n) * l[n] + l[mid % n];
    long long tempy = (mid / n) * t[n] + t[mid % n];
    if (abs(x1 + tempx - x2) + abs(y1 + tempy - y2) <= mid) {
      high = mid;
    } else {
      low = mid + 1;
    }
  }
  mid = low;
  long long tempx = (mid / n) * l[n] + l[mid % n];
  long long tempy = (mid / n) * t[n] + t[mid % n];
  if (abs(x1 + tempx - x2) + abs(y1 + tempy - y2) <= mid)
    cout << mid << endl;
  else
    cout << -1 << endl;
}
