class Idiom9
{
	static class BinTree<T extends Comparable<T>> {
        T value;
        BinTree<T> left;
        BinTree<T> right;
 
        BinTree(T value) {
            this.value = value;
        }
 
		@Override
			StringBuilder sb = new StringBuilder();
			sb.append("(");
            sb.append(value);
			sb.append(" ");
            sb.append(left==null ? "()" : left);
            sb.append(right==null ? "()" : right);
			sb.append(")");
			return sb.toString();
		}
	}
 
	public static void main 
(String[] args
) 	{
        BinTree<Integer> five = new BinTree<>(5);
        BinTree<Integer> one = new BinTree<>(1);
        BinTree<Integer> eight = new BinTree<>(8);
		BinTree<Integer> six = new BinTree<>(6);
        five.left = one;
        five.right = eight;
        eight.left = six;
 
	}
}
				Y2xhc3MgSWRpb205CnsKCXN0YXRpYyBjbGFzcyBCaW5UcmVlPFQgZXh0ZW5kcyBDb21wYXJhYmxlPFQ+PiB7CiAgICAgICAgVCB2YWx1ZTsKICAgICAgICBCaW5UcmVlPFQ+IGxlZnQ7CiAgICAgICAgQmluVHJlZTxUPiByaWdodDsKCiAgICAgICAgQmluVHJlZShUIHZhbHVlKSB7CiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTsKICAgICAgICB9CiAKCQlAT3ZlcnJpZGUKCQlwdWJsaWMgU3RyaW5nIHRvU3RyaW5nKCkgewoJCQlTdHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKCQkJc2IuYXBwZW5kKCIoIik7CiAgICAgICAgICAgIHNiLmFwcGVuZCh2YWx1ZSk7CgkJCXNiLmFwcGVuZCgiICIpOwogICAgICAgICAgICBzYi5hcHBlbmQobGVmdD09bnVsbCA/ICIoKSIgOiBsZWZ0KTsKICAgICAgICAgICAgc2IuYXBwZW5kKHJpZ2h0PT1udWxsID8gIigpIiA6IHJpZ2h0KTsKCQkJc2IuYXBwZW5kKCIpIik7CgkJCXJldHVybiBzYi50b1N0cmluZygpOwoJCX0KCX0KIAoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpCgl7CiAgICAgICAgQmluVHJlZTxJbnRlZ2VyPiBmaXZlID0gbmV3IEJpblRyZWU8Pig1KTsKICAgICAgICBCaW5UcmVlPEludGVnZXI+IG9uZSA9IG5ldyBCaW5UcmVlPD4oMSk7CiAgICAgICAgQmluVHJlZTxJbnRlZ2VyPiBlaWdodCA9IG5ldyBCaW5UcmVlPD4oOCk7CgkJQmluVHJlZTxJbnRlZ2VyPiBzaXggPSBuZXcgQmluVHJlZTw+KDYpOwogICAgICAgIGZpdmUubGVmdCA9IG9uZTsKICAgICAgICBmaXZlLnJpZ2h0ID0gZWlnaHQ7CiAgICAgICAgZWlnaHQubGVmdCA9IHNpeDsKCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGZpdmUpOwoJfQp9