2 10 1 1 1
1
10
1
1 5 1 8
 4 4 1 0 1
1

1
1 2 1 4
 2 5 1 0 1
2

1
1 4 1 5
 10 10 1 8 4
10
2 3 4 5 6 7 8 9
10
1 1 3 1
2 1 7 1
1 1 9 1
7 1 4 1
10 1 7 1
2 1 7 1
3 1 2 1
5 1 2 1
10 1 5 1
6 1 9 1
 2 4 1 1 1
1
4
1
1 2 1 3
 2 2 0 1 1

1
1
1 2 2 2
 1000 1000 1 1 10
1
2
1
1 900 1 1000
 5 5 1 1 1
3
2
1
1 5 1 1
 2 4 1 1 1
1
2
1
2 3 2 4
 4 4 1 0 1
4

5
1 1 2 2
1 3 2 2
3 3 4 3
3 2 2 2
1 2 2 3

3
 2
 1
 3
4
4
3
3
4
3
3
4
3
 1
 3
 100
 4
 1
 6
4
3
5
4

#include <bits/stdc++.h>

using namespace std;

typedef vector<long> vi;
typedef pair<long, long> ii;

long n,m,ce,cl,v;
vi l,e;
long x1, y1, x2, y2;

void enter()
{
    scanf("%d%d%d%d%d", &n,&m,&ce,&cl,&v);
    l.assign(cl, 0);
    e.assign(ce, 0);
    for (int i=0; i<cl; ++i) scanf("%d", &l[i]);
    for (int i=0; i<ce; ++i) scanf("%d", &e[i]);

}

void xl()
{
    sort(l.begin(), l.end());
    sort(e.begin(), e.end());
    long kc1=1e9, kc2=1e9;
    if (x1>x2)
        swap(x1, x2);
    if (y1>y2) swap(y1, y2);
    if (!l.empty())
    {
        long k1=lower_bound(l.begin(), l.end(), y1)-l.begin();
        long k2=upper_bound(l.begin(), l.end(), y2)-l.begin()-1;
        if (k1<=k2)
        {
            kc1=y2-y1+x2-x1;
        }
        else
        {
            if (k1>=l.size()) k1=l.size()-1;
            if (k2<0) k2=0;
            kc1=min(abs(y1-l[k1])+abs(y2-l[k1])+x2-x1, abs(y1-l[k2])+abs(y2-l[k2])+x2-x1);
        }
    }
    //cout << kc1 << '\n';
    if (!e.empty())
    {
        long k1=lower_bound(e.begin(), e.end(), y1)-e.begin();
        long k2=upper_bound(e.begin(), e.end(), y2)-e.begin()-1;
        if (k1<=k2)
        {
            kc2=y2-y1+(x2-x1+v-1)/v;
        }
        else
        {
            if (k1>=e.size()) k1=e.size()-1;
            if (k2<0) k2=0;
            kc2=min(abs(y1-e[k1])+abs(y2-e[k1])+(x2-x1+v-1)/v, abs(y1-e[k2])+abs(y2-e[k2])+(x2-x1+v-1)/v);
        }
    }
    printf("%d%c", min(kc1, kc2), '\n');
    //cout << min(kc1, kc2) << '\n';
}

void sub()
{
    long q;
    scanf("%d", &q);
    while (q--)
    {
        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
        //cin >> x1 >> y1 >> x2 >> y2;
        xl();
    }
}

int main()
{
    enter();
    sub();
}

