import java.math.BigInteger;
class Ideone
{
public static void main
(String[] args
) {
System.
out.
println(calcBirthdayProblemProbability
(30)); }
// 倍精度適当計算精度が足りない
static double hage(int n)
{
double d = 1.0;
for (int i = 0; i < n; i++)
{
d *= (365 - i) / 365d;
}
return 1.0 - d;
}
static String calcBirthdayProblemProbability
(int n
) {
for (int i = 0; i < n; i++)
numerator
= numerator.
multiply(BigInteger.
valueOf(365 - i
));
BigInteger probability
= denominator.
subtract(numerator
);
return String.
format("%d / %d", probability.
divide(gcd
), denominator.
divide(gcd
)); }
}
aW1wb3J0IGphdmEubWF0aC5CaWdJbnRlZ2VyOwoKY2xhc3MgSWRlb25lCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpCiAgICB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGhhZ2UoMzApKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oY2FsY0JpcnRoZGF5UHJvYmxlbVByb2JhYmlsaXR5KDMwKSk7CiAgICB9CgogICAgLy8g5YCN57K+5bqm6YGp5b2T6KiI566X57K+5bqm44GM6Laz44KK44Gq44GECiAgICBzdGF0aWMgZG91YmxlIGhhZ2UoaW50IG4pCiAgICB7CiAgICAgICAgZG91YmxlIGQgPSAxLjA7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBkICo9ICgzNjUgLSBpKSAvIDM2NWQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiAxLjAgLSBkOwogICAgfQoKICAgIHN0YXRpYyBTdHJpbmcgY2FsY0JpcnRoZGF5UHJvYmxlbVByb2JhYmlsaXR5KGludCBuKQogICAgewogICAgICAgIEJpZ0ludGVnZXIgbnVtZXJhdG9yID0gQmlnSW50ZWdlci5PTkU7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiAgICAgICAgICAgIG51bWVyYXRvciA9IG51bWVyYXRvci5tdWx0aXBseShCaWdJbnRlZ2VyLnZhbHVlT2YoMzY1IC0gaSkpOwogICAgICAgICAgICAKICAgICAgICBCaWdJbnRlZ2VyIGRlbm9taW5hdG9yID0gQmlnSW50ZWdlci52YWx1ZU9mKDM2NSkucG93KG4pOwogICAgICAgIAogICAgICAgIEJpZ0ludGVnZXIgcHJvYmFiaWxpdHkgPSBkZW5vbWluYXRvci5zdWJ0cmFjdChudW1lcmF0b3IpOwoKICAgICAgICBCaWdJbnRlZ2VyIGdjZCA9IGRlbm9taW5hdG9yLmdjZChwcm9iYWJpbGl0eSk7CiAgICAgICAgcmV0dXJuIFN0cmluZy5mb3JtYXQoIiVkIC8gJWQiLCBwcm9iYWJpbGl0eS5kaXZpZGUoZ2NkKSwgZGVub21pbmF0b3IuZGl2aWRlKGdjZCkpOwogICAgfQp9Cg==