using System;
using System.Collections.Generic;
class Solution
{
List<int> list = new List<int>();
public void Insert(int num)
{
int left = 0;
int right = list.Count - 1;
if(right == -1) {
list.Add(num);
return;
}
int mid = 0;
while(left <= right){
mid = (left + right) / 2;
if(list[mid] < num) left = mid + 1;
else if(list[mid] > num) right = mid - 1;
else {
left = mid;
break;
}
}
if(left > list.Count - 1) {
list.Add(num);
return;
}
list.Insert(left,num);
}
public double GetMedian()
{
int count = list.Count;
double res;
if((count & 1) == 1) return list[count >> 1];
else{
res = ((double)(list[count >> 1] + list[(count - 1) >> 1])) / 2;
return res;
}
}
}