abstract class Expression{

public String toString(){}
public int evaluate(){}
}
class Numeral extends Expression{
private int value;
public Numeral(){
value = 0;
}
public Numeral(int i){
value = i;
}
public String toString(){
string a="";
a=a+i;
return a;
}
public int evaluate(){
return value;
}
class Square extends Expression {
public Expression expression;

Public Square(expression){
this.expression = expression;
}
public String toString() {
String a = "";
a= a+ "("+ expression.toString() + ")^2";
return a;
}
public int evaluate(){
return expression.evaluate()*expression.evaluate();
}
class abstract BinaryExpression extends Expression{
public Expression Left(){}
public Expression Right(){}
public String toString(){}
public int valuate(){}
}
class Addition extends BinaryExpression {
Expression Left,Right;
Public Addition(Expression Left,Expression Right){
this.Left=Left;
this.Right=Right;
}
public Expression Left(){
return Left;
}
public Expression Right(){
return Right;
}
public String toString(){
String a = "";
a=a + "(" + Left.toString() + "+" + Right.toString() + ")";
}
public int evaluate(){
return Left.evaluate() + Right.evaluate;
}


class Subtraction extends BinaryExpression {
Expression Left,Right;
Public Subtraction(Expression Left,Expression Right){
this.Left=Left;
this.Right=Right;
}
public Expression Left(){
return Left;
}
public Expression Right(){
return Right;
}
public String toString(){
String a = "";
a=a + "(" + Left.toString() + "-" + Right.toString() + ")";
}
public int evaluate(){
return Left.evaluate() - Right.evaluate;
}
public class Division extends BinaryExpression {
Expression left,right;

public Division(Expression a,Expression b){
left=a;
right=b;
}

public Expression left(){
return left;
}

public Expression right()throws RuntimeException{
if(right.evaluate() == 0)throw new RuntimeException();
else
return right;
}

public String toString() {
String a=??;
if(right.evaluate()==0){
return ??;
}
else{
a=a+"("+LefttoString()+" / "+Right.toString()+")";
return a;
}
}
public int evaluate(){
return 0;
}
public float evalua(){
return (float)left.evaluate()/right.evaluate();
}

}
class TestExpression{
public static void main (String args[] )
{
Scanner input = new Scanner (System.in);


}