import java.util.*; import java.util.zip.*; import java.util.List; import java.util.regex.*; import java.util.concurrent.*; import java.util.concurrent.atomic.*; import java.util.concurrent.locks.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; import javax.swing.table.*; import java.io.*; import java.net.*; import java.lang.reflect.*; import java.lang.ref.*; import java.lang.management.*; import java.security.*; import java.security.spec.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import javax.imageio.*; import java.math.*; class main { static class IfThenElse1 implements IF0 , IFieldsToList{ static final String _fieldOrder = "condition trueBranch falseBranch"; IF0 condition; IF0 trueBranch; IF0 falseBranch; IfThenElse1() {} IfThenElse1(IF0 condition, IF0 trueBranch, IF0 falseBranch) { this.falseBranch = falseBranch; this.trueBranch = trueBranch; this.condition = condition;} public String toString() { return "IfThenElse1(" + condition + ", " + trueBranch + ", " + falseBranch + ")"; } public boolean equals(Object o) { if (!(o instanceof IfThenElse1)) return false; IfThenElse1 x = (IfThenElse1) o; return eq(condition, x.condition) && eq(trueBranch, x.trueBranch) && eq(falseBranch, x.falseBranch); } public int hashCode() { int h = 1123176766; h = boostHashCombine(h, _hashCode(condition)); h = boostHashCombine(h, _hashCode(trueBranch)); h = boostHashCombine(h, _hashCode(falseBranch)); return h; } public Object[] _fieldsToList() { return new Object[] {condition, trueBranch, falseBranch}; } public A get() { return condition.get() ? trueBranch.get() : falseBranch.get(); } } static boolean eq(Object a, Object b) { return a == b || (a == null ? b == null : b != null && a.equals(b)); } static int boostHashCombine(int a, int b) { return a ^ (b + 0x9e3779b9 + (a << 6) + (a >> 2)); } static int _hashCode(Object a) { return a == null ? 0 : a.hashCode(); } static String str(Object o) { return o == null ? "null" : o.toString(); } static String str(char[] c) { return new String(c); } static interface IF0 { A get(); }static interface IFieldsToList { Object[] _fieldsToList(); } }