Return 0 if result has already been taken