#include <algorithm>
#include <cstdio>
#include <iostream>
#include <cmath>

using namespace std;

#define maxm 10010
#define maxn 18

double inf = 1e20;


double dp[2][2][1 << maxn], dp1[2][1 << maxn][maxn], d[maxn][maxn], x[maxn], y[maxn], 
       res[2][2][maxm];

int main( void )
{
  freopen("theater.in", "r", stdin);
  freopen("theater.out", "w", stdout);

  int w, l, v1, v2, n;
  cin >> w >> l >> v1 >> v2 >> n;

  int le = n, ri = n + 1;
  for (int i = 0; i < n; i++)
    cin >> x[i] >> y[i];

  for (int i = 0; i < n; i++)
  {
    for (int j = 0; j < n; j++)
      d[i][j] = sqrt((x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]));
    d[le][i] = d[i][le] = x[i];
    d[ri][i] = d[i][ri] = l - x[i];
  }

  for (int st = 0; st < 2; st++)
  {
    for (int i = 0; i < (1 << n); i++)
      for (int j = 0; j < n; j++)
        dp1[st][i][j] = inf;

    for (int i = 0; i < n; i++)
      dp1[st][1 << i][i] = d[n + st][i];
    
    for (int i = 0; i < (1 << n); i++)
      for (int j = 0; j < n; j++)
        if (dp1[st][i][j] < inf)
          for (int k = 0; k < n; k++)
            if (!((i >> k) & 1))
              dp1[st][i | (1 << k)][k] <?= dp1[st][i][j] + d[j][k];
  }


  for (int s = 0;  s < 2; s++)
    for (int t = 0; t < 2; t++)
    {
      dp[s][t][0] = s == t ? 0 : l;
      for ( int c = 1; c < (1 << n); c++)
      {
        dp[s][t][c] = inf;
        for (int i = 0; i < n; i++)
          dp[s][t][c] <?= dp1[s][c][i] + d[i][n + t];
      }
    }



  int pc = 0;
  int m;
  cin >> m;

  for (int j = 0; j < 2; j++)
    for (int k = 0; k < 2; k++)
      for (int i = 0; i < m; i++)
        res[j][k][i] = inf;
  res[0][1][0] = 0;

  for (int i = 0; i < m; i++)
  {
    int tn;
    cin >> tn;
    int c = 0;
    for (int j = 0; j < tn; j++)
    {
      int x;
      cin >> x;
      x--;
      c |= 1 << x;
    }

    if (i)
    {
      int need = pc ^ c, a = need & c, b = need & ~c;
      for (int s = 0; s < 2; s++)
        for (int t = 0; t < 2; t++)
          for (int x = 0; x < 2; x++)
            for (int y = 0; y < 2; y++)
              res[t][y][i] <?= max(dp[s][t][a] / v1, dp[x][y][b] / v2) + res[s][x][i - 1];
    }

    pc = c;
  }

  double r = inf;
  for (int i = 0; i < 2; i++)
    for (int j = 0; j < 2; j++)
      r <?= res[i][j][m - 1];

  printf("%.20lf\n", r);


  return 0;
}
