#include <iostream>
#include <cstdio>
using namespace std;
int n,tu,lose,back;
int mp[101];
int cnt,ans;
double dp[101][101];


double game(){

  for(int i=0;i<=tu;i++) 
    for(int j=0;j<=n;j++)
     dp[i][j] = 0;

  dp[0][0] = 1;

  for(int i=1;i<=tu;i++) {
    for(int j=0;j<n;j++){
      for(int k=1;k<=6;k++) {
	int ima = j + k;
	if(ima > n) ima = 2*n - ima;

	if(mp[ima] == 1) dp[i+1][ima] += dp[i-1][j]/6;
	else if(mp[ima] == 2) dp[i][0] += dp[i-1][j]/6;
	else dp[i][ima] += dp[i-1][j]/6;	
      }
    }
  }

  double ans = 0;
  for(int i =1;i<=tu;i++) ans += dp[i][n];
  return ans;

}


int main() {

  while(1) {
    cin >> n >> tu >> lose >> back;
    if(n==0 && tu==0 && lose==0 && back==0) break;

    for(int i=0;i<=n;i++) mp[i] = 0;

    int a;
    for(int i=0;i<lose;i++)cin >> a, mp[a] = 1;
    for(int i=0;i<back;i++)cin >> a,mp[a] = 2;

    //   cout << game() << endl;
    printf("%.6f\n",game());
  }
  return 0;
}

 