#include #include #include #include #include using namespace std; int main() { int N; cin >> N; vector A(4); int a; vector DP(N+1, vector(N+1, vector(N+1, -1))); DP[0][0][0] = 0; for (int i=0;i> a; A[3 - min(3, a)]++; } for (int i=3;1<=i;i--) A[i-1] += A[i]; function dfs = [&](int a1, int a2, int a3) { if (DP[a1][a2][a3] != -1) return DP[a1][a2][a3]; double& dp = DP[a1][a2][a3]; dp = 1.0; // 1パック買った! // 残り0枚必要なカードを引いた double p0 = (double)(N - a1) / N; // 残り1枚必要なカードを引いた double p1 = (double)(a1 - a2) / N; if (0