BBT

Difficulty: Hard