#include <cstdio>
#include <bitset>

using namespace std;

bitset<1010> edge[1010];

int main()
{
	int T, n;
	scanf("%d", &T);
	for (int cas = 1; cas <= T; cas++) {
		scanf("%d", &n);
		for (int i = 1; i <= n; i++) {
			int m;
			edge[i].reset();
			edge[i][i] = 1;
			scanf("%d", &m);
			for (int j = 0; j < m; j++) {
				int x;
				scanf("%d", &x);
				edge[i][x] = 1;
			}
		}
		for (int k = 1; k <= n; k++) {
			for (int i = 1; i <= n; i++) {
				if (edge[i][k]) edge[i] |= edge[k];
			}
		}
		double ans = 0.0;
		for (int i = 1; i <= n; i++) {
			int cnt = 0;
			for (int j = 1; j <= n; j++) {
				if (edge[j][i]) cnt++;
			}
			ans += 1.0 / cnt;
		}
		printf("Case #%d: %.5f\n", cas, ans);
	}
	return 0;
}
