package tree;

public class Tree implements java.io.Serializable {

    int n;  // only used in leaves
    Tree left, right;

    public Tree(int n){
	this.n = n; left = null; right = null;
    }

    public Tree(Tree l, Tree r){
        left = l; right = r;
    }

    public Tree(int n1, int n2){
	left = new Tree(n1);
	right = new Tree(n2);
    }

    public boolean isLeaf() { 
	return left == null && right == null;
    }

    public int value() { return n; }

    public Tree left() { return left; }

    public Tree right() {return right; }

    public String toString(){
	return isLeaf()?new Integer(n).toString():"{"+left.toString()+","+right.toString()+"}";
    }
}
