template<typename T> struct BinaryTreeNode{ T data; BinaryTreeNode* left; BinaryTreeNode* right; BinaryTreeNode(T t=T()):data(t),left(NULL),right(NULL) {} };