import java.util.Arrays;
class Foo {
int x;
public Foo(int x) {
this.x = x;
}
private int add(int... args) {
return Arrays.
stream(args
).
reduce(this.
x,
(accum, value
) -> accum
+ value
); }
private int sub(int... args) {
return Arrays.
stream(args
).
reduce(this.
x,
(accum, value
) -> accum
- value
); }
private int mul(int... args) {
return Arrays.
stream(args
).
reduce(this.
x,
(accum, value
) -> accum
* value
); }
private int div(int... args) {
return Arrays.
stream(args
).
reduce(this.
x,
(accum, value
) -> accum
/ value
); }
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CgpjbGFzcyBGb28gewogICAgaW50IHg7CiAgICBwdWJsaWMgRm9vKGludCB4KSB7CiAgICAgICAgdGhpcy54ID0geDsKICAgIH0KICAgIHByaXZhdGUgaW50IGFkZChpbnQuLi4gYXJncykgewogICAgICAgIHJldHVybiBBcnJheXMuc3RyZWFtKGFyZ3MpLnJlZHVjZSh0aGlzLngsIChhY2N1bSwgdmFsdWUpIC0+IGFjY3VtICsgdmFsdWUpOwogICAgfQogICAgcHJpdmF0ZSBpbnQgc3ViKGludC4uLiBhcmdzKSB7CiAgICAgICAgcmV0dXJuIEFycmF5cy5zdHJlYW0oYXJncykucmVkdWNlKHRoaXMueCwgKGFjY3VtLCB2YWx1ZSkgLT4gYWNjdW0gLSB2YWx1ZSk7CiAgICB9CiAgICBwcml2YXRlIGludCBtdWwoaW50Li4uIGFyZ3MpIHsKICAgICAgICByZXR1cm4gQXJyYXlzLnN0cmVhbShhcmdzKS5yZWR1Y2UodGhpcy54LCAoYWNjdW0sIHZhbHVlKSAtPiBhY2N1bSAqIHZhbHVlKTsKICAgIH0KICAgIHByaXZhdGUgaW50IGRpdihpbnQuLi4gYXJncykgewogICAgICAgIHJldHVybiBBcnJheXMuc3RyZWFtKGFyZ3MpLnJlZHVjZSh0aGlzLngsIChhY2N1bSwgdmFsdWUpIC0+IGFjY3VtIC8gdmFsdWUpOwogICAgfQp9Cg==