#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
int n;
double p,r;
int isleaf[100010] = {0};
vector<int> child[100010];
int h[100010];
void dfs(int v,int deep)
{
if(child[v].size() == 0)
{
h[v] = deep;
return ;
}
for(int i = 0; i < child[v].size(); i++)
{
dfs(child[v][i],deep+1);
}
}
int main()
{
int k,u;
scanf("%d %lf %lf",&n,&p,&r);
r /= 100;
for(int i = 0; i < n; i++)
{
scanf("%d",&k);
if(k != 0)
{
for(int j = 0; j < k; j++)
{
scanf("%d",&u);
child[i].push_back(u);
}
}
else
{
scanf("%d",&isleaf[i]);
}
}
dfs(0,0);
double sum = 0;
for(int i = 0; i < n; i++)
{
if(isleaf[i] != 0)
{
sum += p * isleaf[i] * pow((1+r),h[i]);
}
}
printf("%.1f",sum);
return 0;
}