#include <iostream> //水题
#include <cmath>
using namespace std;
int gcd(int x,int y)
{
if (x==0||y==0)
return max(x,y);
int i=0,j=0;
while (x&1==0)
{
++i;
x=x>>1;
}
while (y&1==0)
{
++j;
y=y>>1;
}
i=min(i,j);
while(1)
{
if(x<y)
swap(x,y);
x-=y;
if(x==0)
return y<<i;
while(x&1==0)
{
x=x>>1;
}
}
}
int main()
{
int n,data[100],s;
while(cin>>n&&n)
{
for(int i=0;i<n;++i)
cin>>data[i];
s=0;
for(int i=0;i<n;++i)
{
for(int j=i+1;j<n;++j)
if(gcd(data[i],data[j])==1)
s++;
}
if(s==0)
printf("No estimate for this data set.\n");
else
printf("%.6f\n",sqrt(3.0*n*(n-1)/s));
}
return 0;
}