Read the situation and choose the best word to describe the person.
Ali always shares his snacks with his friends and helps anyone who is in trouble without expecting anything in return. He is very _______.
A) selfish B) generous C) shy D) impatient E) rude