
public class BinTree {


  private class Node {
  
    private int val;
    private BinTree lft, rgt;
    
    public Node(int v, BinTree l, BinTree r) {
    
      val = v;
      lft = l;
      rgt = r;
    }
    
    public int value() {
      return val;
    }
    
    public BinTree left() {
      return lft;
    }
    
    public BinTree right() {
      return rgt;
    }
  }
  
  
  private Node rootNode;


  public BinTree() {

    rootNode = null;
  }

  public BinTree(int n) {

    BinTree emptyTree = new BinTree();
    rootNode = new Node( n,  emptyTree, emptyTree );
  }

  public BinTree(int n,  BinTree l, BinTree r) {

    rootNode = new Node(n, l,r);
  }


  public boolean empty() {
  
    return ( rootNode == null );
  }


  public int root() {
  
    return rootNode.value();
  }


  public BinTree left() {
  
    return rootNode.left();
  }

  public BinTree right() {
  
    return rootNode.right();
  }

}
