In horizontal microprogramming we need $1$ bit for every control word, therefore total bits in
Horizontal Microprogramming $=20+70+2+10+23=125$
Now lets consider vertical microprogramming, In vertical microprogramming we use Decoder $\text{(n to$\ 2^n$)}$ and output lines are equal to number of control words. A input is given according to what control word we have to select.
Now in this question these $5$ groups contains mutually exclusive signals, i.e, they can be activated one at a time for a given group, we can safely use decoder.
$\text{group }1=\lceil \log_{2} 20\rceil=5$ (Number of input bits for decoder, given output
is number of control word in given group)
$\text{group }2=\lceil \log_{2} 70\rceil=7$
$\text{group }3=\lceil \log_{2} 2\rceil=1$
$\text{group }4=\lceil \log_{2} 10\rceil=4$
$\text{group }5=\lceil \log_{2} 23\rceil=5$
Total bits required in vertical microprogramming $= 5+7+1+4+5=22$
So number of control words saved $=125-22=103$
Hence, (B) is answer.