public class BinarySearchTree
{
	/**
	 * A single node of a BST.
	 * You shouldn't change this class.
	 */
	static class Node {
        String data; 
        Node lchild;
        Node rchild;

        Node (String data) {
            this.data = data;
            lchild = null;
            rchild = null;
        }
    }

    private Node root;		// Root node for the BST

	/**
	 * Create an empty BST.
	 */
    BinarySearchTree ()
	{
		root = null;
	}

	/**
	 * Add a new data item to a BST.
	 * Each data item can only appear once in the tree.  If an
	 * attempt is made to enter a data item that already appears
	 * then nothing should happen.
	 * @param data the item to place in the BST
	 */
	public void add (String data)
	{
		// Your code should be here
	}
	
	/**
	 * Return a String that represents this BST.
	 * The string is a "sideways" version of the tree.  The root
	 * is to the left and the left- and right-subtrees are down
	 * and up (respectively) from the root.
	 * @return a String representation of the BST
	 */
    public String toString ()
	{
		// Your code should be here
	}
}
