double ldbinom(int k, int n,double p){ return lbinom(n,k)+k*log(p)+(n-k)*log(1-p); }
// hypergeometric distribution static double hypergeo(int n11, int n1_, int n_1, int n){ return exp(lbinom(n1_, n11) + lbinom(n-n1_, n_1-n11) - lbinom(n, n_1)); }
// hypergeometric distribution double hypergeo(long long n11, long long n1_, long long n_1, long long n) { return exp(lbinom(n1_, n11) + lbinom(n-n1_, n_1-n11) - lbinom(n, n_1)); }