#include <stdio.h>
#include <math.h>
int GCD(int, int);//宣告一函式GCD,用來求最大公因數
int main(){
int N;//代表集合中元素個數
int s[50];
int i,j,counter;//counter用來儲存互質對數的個數
while(scanf("%d", &N)!=EOF){
counter = 0;
if(N == 0){
break;
}
for(i=0; i<N; i++){
scanf("%d", &s[i]);
}
for(i=0; i<N-1; i++){//這個雙重迴圈是用來計算互質個數,然後整體像是C (N取2)
for(j=i+1; j<N; j++){
if(GCD(s[i], s[j])==1){
counter++;
}
}
}
if(counter == 0){
printf("No estimate for this data set.\n");
}
else{
printf("%lf\n", sqrt(6.0*N*(N-1)/2/counter));//輸出圓周率的值(因為在sqrt(開根號)裡的數字,資料型態原本都是整數,但sqrt本身內部型態要是double,所以才把6-->6.0,以轉換型態)
}
}
return 0;
}
int GCD(int m, int n){//取最大公因數的函式,參考輾轉相除法(橫式)
int r;
r = m%n;
while(r != 0){
m = n;
n = r;
r = m%n;
}
return n;
}