#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define BET(a,b,c) ((a)<=(b)&&(b)<(c)) #define FOR(i,n) for(int i=0,i##_end=(int(n));i VI; typedef vector VVI; int M; long long S[1024]; double memo[1024][11]; double win(int p, int q){ return 1.0 * S[p] * S[p] / (1.0 * S[p] * S[p] + 1.0 * S[q] * S[q]); } double dfs(int pos, int M){ if(M == 0) return 1.0; double& ret = memo[pos][M]; if(!std::isnan(ret)) return ret; double val = 0; int r = 1<>M; FOR(i,1<