import java.util.function.Supplier;
public enum Main {;
public static void main
(String[] args
) {}
public class Lazy<T> {
private volatile boolean initialized = false;
private T value;
private final Supplier<T> supplier;
public Lazy(Supplier<T> supplier) {
this.supplier = supplier;
}
public T get() {
if (!initialized) {
synchronized (this) {
if (!initialized) {
T localValue = supplier.get();
value = localValue;
initialized = true;
return localValue;
}
}
}
return value;
}
}
}
aW1wb3J0IGphdmEudXRpbC5mdW5jdGlvbi5TdXBwbGllcjsKCnB1YmxpYyBlbnVtIE1haW4gezsKCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7fQoKCXB1YmxpYyBjbGFzcyBMYXp5PFQ+IHsKCQoJICAgIHByaXZhdGUgdm9sYXRpbGUgYm9vbGVhbiBpbml0aWFsaXplZCA9IGZhbHNlOwoJCgkgICAgcHJpdmF0ZSBUIHZhbHVlOwoJCgkgICAgcHJpdmF0ZSBmaW5hbCBTdXBwbGllcjxUPiBzdXBwbGllcjsKCQoJICAgIHB1YmxpYyBMYXp5KFN1cHBsaWVyPFQ+IHN1cHBsaWVyKSB7CgkgICAgICAgIHRoaXMuc3VwcGxpZXIgPSBzdXBwbGllcjsKCSAgICB9CgkKCSAgICBwdWJsaWMgVCBnZXQoKSB7CgkgICAgICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKCSAgICAgICAgICAgIHN5bmNocm9uaXplZCAodGhpcykgewoJICAgICAgICAgICAgICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKCSAgICAgICAgICAgICAgICAgICAgVCBsb2NhbFZhbHVlID0gc3VwcGxpZXIuZ2V0KCk7CgkgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gbG9jYWxWYWx1ZTsKCSAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwoJICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxWYWx1ZTsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICB9CgkgICAgICAgIH0KCSAgICAgICAgcmV0dXJuIHZhbHVlOwoJICAgIH0KCQoJfQoKfQ==