import java.util.PriorityQueue;
import java.util.Comparator;
public class Solution {
    //PriorityQueue<Integer> left = new PriorityQueue<>((o1,o2)->o2-o1);
    //PriorityQueue<Integer> left = new PriorityQueue<>(Comparator.reverseOrder());
    PriorityQueue<Integer> left = new PriorityQueue<>(new Comparator<Integer>() {
        @Override
        public int compare(Integer o1, Integer o2) {                
            return o2-o1;
        }
    });
    PriorityQueue<Integer> right = new PriorityQueue<>();
    private int N;
    public void Insert(Integer num) {
        if(N%2==0){
            left.add(num);
            right.add(left.poll());
        }else{
            right.add(num);
            left.add(right.poll());
        }
        N++;
    }

    public Double GetMedian() {
         if(N%2==0)
             return (left.peek()+right.peek())/2.0;
        else
            return (double)right.peek();
    }
}