How often does the AdWords system run an auction to decide which ads to show on the Google search page?

How often does the AdWords system run an auction to decide which ads to show on the Google search page?
A) Once every 24 hours for a given keyword
B) Every time a user enters a search query
C) Once every two hours for a given keyword
D) Every time a new advertiser adds a keyword to an account.

Answer: B