How many sonnets did William Shakespeare write ?

How many sonnets did William Shakespeare write ?

A. 164
B. 145
C. 154
D. 126