I believe the assignment asked for ack() to return None n < 0 or m < 0. Sadly that's not the same as what's happening here.