A hint in of form of {$\sim , \vee $} and {$\sim , \wedge$ } are functionally complete is given in the question.
Just see if you can generate either {$\sim , \vee $} or {$\sim , \wedge$} from the given set of logical symbols
Consider {$\rightarrow , 0$}
($p\rightarrow 0 )= \sim p$ ; negation is generated
$\left ( p\rightarrow 0 \right )\rightarrow q = p\vee q$ ; Disjunction is generated
{$\rightarrow , 0$} is functionally complete
$\left \{ \rightarrow , \wedge , \vee \right \}$ is not functionally complete as $\rightarrow$ needs $0$ to generate $\sim$
Option A, D are correct