import java.util.*;
import java.util.function.*;
import java.util.stream.*;
class Ideone {
public static final Function<List<IntUnaryOperator>, UnaryOperator<List<Integer>>> mapper
= opList -> argList -> argList.stream()
.flatMap(i -> opList.stream()
.collect(Collector.of(
ArrayList<IntUnaryOperator>::new,
(a, b) -> a.add(a.isEmpty() ? b : a.get(a.size() - 1).andThen(b)),
))
.stream()
.map(op -> op.applyAsInt(i))
)
.collect(Collectors.toList());
public static void main
(String[] args
) { List
<Integer
> list
= mapper.
apply(List.
of(x
-> x, x
-> x
+ 1, x
-> x
* x
)).
apply(List.
of(1,
2)); }
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS51dGlsLmZ1bmN0aW9uLio7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLio7CgpjbGFzcyBJZGVvbmUgewogICAgICAgIHB1YmxpYyBzdGF0aWMgZmluYWwgRnVuY3Rpb248TGlzdDxJbnRVbmFyeU9wZXJhdG9yPiwgVW5hcnlPcGVyYXRvcjxMaXN0PEludGVnZXI+Pj4gbWFwcGVyCiAgICAgICAgICAgID0gb3BMaXN0IC0+IGFyZ0xpc3QgLT4gYXJnTGlzdC5zdHJlYW0oKQogICAgICAgICAgICAgICAgLmZsYXRNYXAoaSAtPiBvcExpc3Quc3RyZWFtKCkKICAgICAgICAgICAgICAgICAgICAuY29sbGVjdChDb2xsZWN0b3Iub2YoCiAgICAgICAgICAgICAgICAgICAgCUFycmF5TGlzdDxJbnRVbmFyeU9wZXJhdG9yPjo6bmV3LAogICAgICAgICAgICAgICAgICAgIAkoYSwgYikgLT4gYS5hZGQoYS5pc0VtcHR5KCkgPyBiIDogYS5nZXQoYS5zaXplKCkgLSAxKS5hbmRUaGVuKGIpKSwKICAgICAgICAgICAgICAgICAgICAJKGEsIGIpIC0+IHsgdGhyb3cgbmV3IFVuc3VwcG9ydGVkT3BlcmF0aW9uRXhjZXB0aW9uKCk7IH0KICAgICAgICAgICAgICAgICAgICApKQogICAgICAgICAgICAgICAgICAgIC5zdHJlYW0oKQogICAgICAgICAgICAgICAgICAgIAkubWFwKG9wIC0+IG9wLmFwcGx5QXNJbnQoaSkpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuY29sbGVjdChDb2xsZWN0b3JzLnRvTGlzdCgpKTsKCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgTGlzdDxJbnRlZ2VyPiBsaXN0ID0gbWFwcGVyLmFwcGx5KExpc3Qub2YoeCAtPiB4LCB4IC0+IHggKyAxLCB4IC0+IHggKiB4KSkuYXBwbHkoTGlzdC5vZigxLCAyKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGxpc3QpOwogICAgfQp9