hardest competitive programming question