title: Data structure to hold strings, with certain demands
body: <p>Build a data structure that holds strings, such that:</p>
  <ol>
  <li>Create(X1,...Xn) - O(n) complexity. Receives a list of strings and creates the data structure.</li>
  <li>Insert(X) - O(log n) complexity. Receives a new strings, and inserts it to the data structure.</li>
  <li>Median() - O(log n) complexity. Extracts the ceil(n/2) string, in lexicographic order. Assume each comparison between two strings takes O(1).</li>
  </ol>