#include<stdio.h>#include<set>usingnamespace std;doublecmp(set<int> a, set<int> b){int c =0, t =0;for(set<int>::iterator it = a.begin(); it != a.end(); it++){if(b.find(*it)!= b.end()){
c++;}}
t = a.size()+ b.size()- c;return100.0* c / t;}intmain(){
set<int> a[60];int n, k;scanf("%d",&n);for(int i =0; i < n; i++){int m;scanf("%d",&m);for(int j =0; j < m; j++){int temp;scanf("%d",&temp);
a[i].insert(temp);}}scanf("%d",&k);for(int i =0; i < k; i++){int c, d;scanf("%d%d",&c,&d);printf("%.1f%\n",cmp(a[c -1], a[d -1]));}return0;}