Codechef Solutions - spoiler alert