interface BinaryOp<T> {
public T apply(T x, T y);
}
enum BinOps implements BinaryOp<Double> {
Add {
},
Sub {
},
Mult {
},
Div {
}
}
class Main {
public static void main
(String...
args) { for (BinaryOp<Double> op: BinOps.values()) {
System.
out.
println(op.
apply(3.14159265358979,
100500.0)); }
}
}
aW50ZXJmYWNlIEJpbmFyeU9wPFQ+IHsKICBwdWJsaWMgVCBhcHBseShUIHgsIFQgeSk7Cn0KCmVudW0gQmluT3BzIGltcGxlbWVudHMgQmluYXJ5T3A8RG91YmxlPiB7CiAgQWRkIHsKICAgIHB1YmxpYyBEb3VibGUgYXBwbHkoRG91YmxlIHgsIERvdWJsZSB5KSB7IHJldHVybiB4ICsgeTsgfQogIH0sCiAgU3ViIHsKICAgIHB1YmxpYyBEb3VibGUgYXBwbHkoRG91YmxlIHgsIERvdWJsZSB5KSB7IHJldHVybiB4IC0geTsgfQogIH0sCiAgTXVsdCB7CiAgICBwdWJsaWMgRG91YmxlIGFwcGx5KERvdWJsZSB4LCBEb3VibGUgeSkgeyByZXR1cm4geCAqIHk7IH0KICB9LAogIERpdiB7CiAgICBwdWJsaWMgRG91YmxlIGFwcGx5KERvdWJsZSB4LCBEb3VibGUgeSkgeyByZXR1cm4geCAvIHk7IH0KICB9Cn0KCmNsYXNzIE1haW4gewogIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZy4uLiBhcmdzKSB7CiAgICBmb3IgKEJpbmFyeU9wPERvdWJsZT4gb3A6IEJpbk9wcy52YWx1ZXMoKSkgewogICAgICBTeXN0ZW0ub3V0LnByaW50bG4ob3AuYXBwbHkoMy4xNDE1OTI2NTM1ODk3OSwgMTAwNTAwLjApKTsKICAgIH0KICB9Cn0=