#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
#define int long long
int x,y,nx,ny,n;
int ud[maxn],lr[maxn];
bool isok(int mid)
{
int ci=mid/n;
int re=mid%n;
int sx=ci*lr[n]+lr[re];
int sy=ci*ud[n]+ud[re];
int q=x+sx,w=y+sy;
if( abs(q-nx)+abs(w-ny)<=mid ) return true;
else return false;
}
signed main()
{
cin >> x >> y >> nx >> ny;
cin >> n;
for(int i = 1;i <= n;i++)
{
char s;
cin >> s;
ud[i]=ud[i-1];
lr[i]=lr[i-1];
if(s=='U') ud[i]++;
else if(s=='D') ud[i]--;
else if(s=='L') lr[i]--;
else lr[i]++;
}
int l=1,r=1e18,mid,ans=-1;
while(r>=l)
{
mid=l+r>>1;
if( isok(mid) ) r=mid-1,ans=mid;
else l=mid+1;
}
cout << ans;
}