import java.util.*; import java.io.*; public class AnalyseMinisat { private static double log2(double x){ return Math.log(x)/Math.log(2.0); } private static double binCoeff(int n,int k){ double x = 1.0; for (int r=1;r<=k;r++) x = x*((double)(n-r+1)/(double)r); return x; } /* private static double kappa(int n,double p){ double m_v = (double)(n*(n-1)*(n-2))*p*p*p/6.0; double p_ind = binCoeff(n-3,3)/binCoeff(n,3); double k = (double)n/3.0; double q = k*(k-1)/2.0; double kappa = -(q*log2(p_ind))/(k*log2(m_v)); return kappa; } private static double p2sol(int n){ int k = n/3; double q = (double)(k-1); double p = ((double)((n-3)*(n-4)*(n-5)))/((double)(n*(n-1)*(n-2))); return Math.pow(p,q); } // // probability first triangle is compatible with every other triangle // private static double psol(int n){ double p = 1.0; for (int i=0;n-i >= 6;i=i+3) p = p * p2sol(n-i); return p; } */ private static double psol(int n){ double p = 1.0; for (int i=0;i