#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int cnt = 0;
int minth = 99999;
struct NODE{
int id;
vector<int> num;
};
vector<NODE> a;
void dfs(NODE temp,int tempdepth)
{
if(minth < tempdepth)
return ;
if(temp.num.size() == 0)
{
if(minth > tempdepth)
{
minth = tempdepth;
cnt = 1;
}
else if(tempdepth == minth)
{
cnt ++;
}
}
/*
for(int i = 0;i<temp.num.size();i++)
{
dfs(a[temp.num[i]],tempdepth+1);
}
*/
}
int main()
{
int n;
double price,r;
scanf("%d %lf %lf", &n, &price, &r);
a.resize(n+1);
for(int i = 0;i<n;i++)
{
int d;
cin >>d;
a[i].id = i;
for(int v = 0;v<d;v++)
{
int tempid;
cin >> tempid;
a[i].num.push_back(tempid);
}
}
// visit[0] = true;
dfs(a[0],1);
double sum = pow((r/100+1),(minth-1))*price;
printf("%.4f %d",sum,cnt);
return 0;
}