#include <bits/stdc++.h>
using namespace std;
const int maxn = 110;
const int INF = 0x3f3f3f3f;
char s[200000];
long long dx[200000], dy[200000];
long long py[4] = {1, -1, 0, 0};
long long px[4] = {0, 0, -1, 1};
long long sx, sy, tx, ty;
int n;
int a[500];
bool check(long long x) {
  int sh = x % n;
  long long nx = sx + x / n * dx[n] + dx[sh];
  long long ny = sy + x / n * dy[n] + dy[sh];
  long long t = abs(nx - tx) + abs(ny - ty);
  if (t <= x) {
    return true;
  } else
    return false;
}
int main() {
  scanf("%lld%lld%lld%lld", &sx, &sy, &tx, &ty);
  scanf("%d", &n);
  scanf("%s", s);
  a['U'] = 0;
  a['D'] = 1;
  a['L'] = 2;
  a['R'] = 3;
  for (int i = 1; i <= n; i++) {
    dx[i] = px[a[s[i - 1]]] + dx[i - 1];
    dy[i] = py[a[s[i - 1]]] + dy[i - 1];
  }
  long long l = 1, r = 1e16;
  while (l < r) {
    long long mid = (l + r) / 2;
    if (check(mid)) {
      r = mid;
    } else
      l = mid + 1;
  }
  if (l == 1e16) {
    printf("-1");
  } else
    printf("%lld", l);
  return 0;
}
