#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef vector vi; typedef pair pii; #define MP make_pair #define PB push_back #define inf 1000000007 #define rep(i,n) for(int i = 0; i < (int)(n); ++i) #define all(x) (x).begin(),(x).end() template void Fill(A (&array)[N], const T &val){ std::fill( (T*)array, (T*)(array+N), val ); } template inline bool chmax(T &a, T b){ if(a inline bool chmin(T &a, T b){ if(a>b){ a = b; return true; } return false; } double dp[1<<10][403][2]; int main(){ int n; cin >> n; vector aa(n); rep(i,n) cin >> aa[i]; rep(i,402){ rep(k,2){ if(i<=201){ dp[(1<=0;bits--){ for(int j=1;j<402;j++){ double mx = 0; for(int x = 0; x>x)&1)continue; double a = aa[x]; double hoge; if(aa[x] + j >=402)hoge = 1.0; else hoge = dp[bits^(1<>y)&1)continue; double b = aa[y]; double hoge2; if(j-aa[y]<0) hoge2 = 0; else hoge2 = dp[bits^(1<=199&&j<=203){ // cerr << bits << " " << j << " " << 0 << " " << dp[bits][j][0] << endl; // cerr << j - 201 << " " << (403-j) - 201 << endl; // } } } cout << fixed << setprecision(20) << dp[0][201][0] << endl; return 0; }