#include <iostream>
#include <set>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
int i, k, j, next;
set<int> s[60];
for(i = 1; i <= n; i++)
{
scanf("%d", &k);
for(j = 1; j <= k; j++)
{
scanf("%d", &next);
s[i].insert(next);
}
}
int m;
scanf("%d", &m);
set<int> ::iterator it[2];
int index[2], num[2], total, same;
for(i = 1; i <= m; i++)
{
scanf("%d%d", &index[0], &index[1]);
total = s[index[0]].size() + s[index[1]].size();
same = 0;
for(it[0] = s[index[0]].begin(), it[1] = s[index[1]].begin(); it[0] != s[index[0]].end() && it[1] != s[index[1]].end(); )
{
num[0] = *it[0];
num[1] = *it[1];
if(num[0] == num[1])
{
same++;
it[0]++;
it[1]++;
}
else if(num[0] > num[1])
{
it[1]++;
}
else
{
it[0]++;
}
}
total -= same;
printf("%.1lf%%\n", same * 1.0 / total * 100);
}
system("pause");
return 0;
}