public struct Set<T> where
T : IEquatable<T>, IComparable<T>
{
private class Node
{
public T root;
public Set<T> leftTree;
public Set<T> rightTree;
public bool isBlack;
public Node(T root, Set<T> leftTree, Set<T> rightTree, bool isBlack)
{
this.root = root;
this.leftTree = leftTree;
this.rightTree = rightTree;
this.isBlack = isBlack;
}
}