1 #include <iostream>
   2 #include <sstream>
   3 #include <string>
   4 #include <algorithm>
   5 #include <vector>
   6 #include <cmath>
   7 using namespace std;
   8 
   9 #define GI ({int _t; scanf("%d", &_t); _t;})
  10 #define FOR(i, a, b) for (int i=a; i<b; i++)
  11 #define REP(i, a) FOR(i, 0, a)
  12 template<class T> string toString(T n){ostringstream ost;ost<<n;ost.flush();return ost.str();}
  13 int toInt(string s){int r=0;istringstream sin(s);sin>>r;return r;}
  14 #define DBG(x) cout << #x << "::" << x << endl;
  15 #define DBGV(_v) { REP(_i, _v.size()) { cout << _v[_i] << "\t";} cout << endl;}
  16 
  17 int gcd(long long int a, long long int b) {
  18 	while (b>0) {
  19 		a = a%b;
  20 		a ^= b;
  21 		b ^= a;
  22 		a ^= b;
  23 	}
  24 	return a;
  25 }
  26 
  27 
  28 int main() {
  29 	int num;
  30 	while (scanf("%d", &num) != -1 && num != 0) {
  31 		vector <int> v;
  32 		REP(i, num) {
  33 			v.push_back(GI);
  34 		}
  35 		double total = (num*(num-1))/2;
  36 		double cnt = 0;
  37 		REP(i, num) {
  38 			FOR(j, i+1, num) {
  39 				if (gcd(v[i], v[j]) == 1) {
  40 					//cout << v[i] << "\t" << v[j] << endl;
  41 					cnt++;
  42 				}
  43 			}
  44 		}
  45 		if (cnt == 0) {
  46 			printf("No estimate for this data set.\n");
  47 		}
  48 		else {
  49 			//DBG(cnt);DBG(total);
  50 			printf("%0.6lf\n", sqrt(total*6/cnt));
  51 		}
  52 	}
  53 	return 0;
  54 }