fn main() {
let mut q = std::collections::BinaryHeap::new();
q.push(-3);
q.push(-1);
q.push(-4);
let top = -(*q.peek().unwrap());
println!("top = {}", top);
let is_empty = q.is_empty();
println!("is_empty = {}", is_empty);
let popped = -q.pop().unwrap();
println!("popped = {}", popped);
println!("q.peek() = {}", -q.peek().unwrap());
}
Zm4gbWFpbigpIHsKICAgIGxldCBtdXQgcSA9IHN0ZDo6Y29sbGVjdGlvbnM6OkJpbmFyeUhlYXA6Om5ldygpOwogICAgcS5wdXNoKC0zKTsKICAgIHEucHVzaCgtMSk7CiAgICBxLnB1c2goLTQpOwogICAgbGV0IHRvcCA9IC0oKnEucGVlaygpLnVud3JhcCgpKTsKICAgIHByaW50bG4hKCJ0b3AgPSB7fSIsIHRvcCk7CiAgICBsZXQgaXNfZW1wdHkgPSBxLmlzX2VtcHR5KCk7CiAgICBwcmludGxuISgiaXNfZW1wdHkgPSB7fSIsIGlzX2VtcHR5KTsKICAgIGxldCBwb3BwZWQgPSAtcS5wb3AoKS51bndyYXAoKTsKICAgIHByaW50bG4hKCJwb3BwZWQgPSB7fSIsIHBvcHBlZCk7CiAgICBwcmludGxuISgicS5wZWVrKCkgPSB7fSIsIC1xLnBlZWsoKS51bndyYXAoKSk7Cn0K