Concept:The preposition "for" is used to show a period or duration of time.Explanation:"Three weeks" is a duration, not a specific point in time.We use "for" when stating how long an action or condition lasts.We use "since" with a definite starting point, like "since Monday.""Through" and "before" do not fit the meaning of this sentence.Thus, "for" is the correct choice to complete the sentence.Answer:B. for