fn main() {
let mut d = std::collections::VecDeque::new();
println!("d = {:?}", d);
d.push_front(4);
println!("d = {:?}", d);
d.push_back(2);
println!("d = {:?}", d);
let cardinality = d.len();
println!("cardinality = {:?}", cardinality);
let head = *d.front().unwrap();
println!("head = {}", head);
let tail = *d.back().unwrap();
println!("tail = {}", tail);
let popped_head = d.pop_front().unwrap();
println!("popped_head = {}", popped_head);
let popped_tail = d.pop_back().unwrap();
println!("popped_tail = {}", popped_tail);
}
Zm4gbWFpbigpIHsKICAgIGxldCBtdXQgZCA9IHN0ZDo6Y29sbGVjdGlvbnM6OlZlY0RlcXVlOjpuZXcoKTsKICAgIHByaW50bG4hKCJkID0gezo/fSIsIGQpOwogICAgZC5wdXNoX2Zyb250KDQpOwogICAgcHJpbnRsbiEoImQgPSB7Oj99IiwgZCk7CiAgICBkLnB1c2hfYmFjaygyKTsKICAgIHByaW50bG4hKCJkID0gezo/fSIsIGQpOwogICAgbGV0IGNhcmRpbmFsaXR5ID0gZC5sZW4oKTsKICAgIHByaW50bG4hKCJjYXJkaW5hbGl0eSA9IHs6P30iLCBjYXJkaW5hbGl0eSk7CiAgICBsZXQgaGVhZCA9ICpkLmZyb250KCkudW53cmFwKCk7CiAgICBwcmludGxuISgiaGVhZCA9IHt9IiwgaGVhZCk7CiAgICBsZXQgdGFpbCA9ICpkLmJhY2soKS51bndyYXAoKTsKICAgIHByaW50bG4hKCJ0YWlsID0ge30iLCB0YWlsKTsKICAgIGxldCBwb3BwZWRfaGVhZCA9IGQucG9wX2Zyb250KCkudW53cmFwKCk7CiAgICBwcmludGxuISgicG9wcGVkX2hlYWQgPSB7fSIsIHBvcHBlZF9oZWFkKTsKICAgIGxldCBwb3BwZWRfdGFpbCA9IGQucG9wX2JhY2soKS51bndyYXAoKTsKICAgIHByaW50bG4hKCJwb3BwZWRfdGFpbCA9IHt9IiwgcG9wcGVkX3RhaWwpOwp9Cg==