Step1: Have fun with data structures and algorithms, Step 2: ?????, Step 3: Profit