// Number of elements less than or equal to x(not including the value x itself)
 public int GetRankNumber(int x)
 {
     if (x == Key)
     {
         return(LeftSize);
     }
     else if (x < Key)
     {
         if (left == null)
         {
             return(-1);
         }
         return(left.GetRankNumber(x));
     }
     else
     {
         if (right == null)
         {
             return(-1);
         }
         else
         {
             //Include everything under left subtree while going right
             return(LeftSize + 1 + right.GetRankNumber(x));
         }
     }
 }
 public int GetRankNumber(int x)
 {
     if (Root == null)
     {
         return(-1);
     }
     return(Root.GetRankNumber(x));
 }