Samuel's birthday cake is in the form of a $4 \times 4 \times 4$ inch cube. The cake has icing on the top and the four side faces, and no icing on the bottom. Suppose the cake is cut into $64$ smaller cubes, each measuring $1 \times 1 \times 1$ inch, as shown below. How many of the small pieces will have icing on exactly two sides?
[asy] /* Created by SirCalcsALot and sonone Code modfied from https://artofproblemsolving.com/community/c3114h2152994_the_old__aops_logo_with_asymptote */ import three; currentprojection=orthographic(1.75,7,2); //++++ edit colors, names are self-explainatory ++++ //pen top=rgb(27/255, 135/255, 212/255); //pen right=rgb(254/255,245/255,182/255); //pen left=rgb(153/255,200/255,99/255); pen top = rgb(170/255, 170/255, 170/255); pen left = rgb(81/255, 81/255, 81/255); pen right = rgb(165/255, 165/255, 165/255); pen edges=black; int max_side = 4; //+++++++++++++++++++++++++++++++++++++++ path3 leftface=(1,0,0)--(1,1,0)--(1,1,1)--(1,0,1)--cycle; path3 rightface=(0,1,0)--(1,1,0)--(1,1,1)--(0,1,1)--cycle; path3 topface=(0,0,1)--(1,0,1)--(1,1,1)--(0,1,1)--cycle; for(int i=0; i<max_side; ++i){ for(int j=0; j<max_side; ++j){ draw(shift(i,j,-1)*surface(topface),top); draw(shift(i,j,-1)*topface,edges); draw(shift(i,-1,j)*surface(rightface),right); draw(shift(i,-1,j)*rightface,edges); draw(shift(-1,j,i)*surface(leftface),left); draw(shift(-1,j,i)*leftface,edges); } } picture CUBE; draw(CUBE,surface(leftface),left,nolight); draw(CUBE,surface(rightface),right,nolight); draw(CUBE,surface(topface),top,nolight); draw(CUBE,topface,edges); draw(CUBE,leftface,edges); draw(CUBE,rightface,edges); // begin made by SirCalcsALot int[][] heights = {{4,4,4,4},{4,4,4,4},{4,4,4,4},{4,4,4,4}}; for (int i = 0; i < max_side; ++i) { for (int j = 0; j < max_side; ++j) { for (int k = 0; k < min(heights[i][j], max_side); ++k) { add(shift(i,j,k)*CUBE); } } } [/asy]
$\textbf{(A) }12 \qquad \textbf{(B) }16 \qquad \textbf{(C) }18 \qquad \textbf{(D) }20 \qquad \textbf{(E) }24$
Notice that, for a small cube which does not form part of the bottom face, it will have exactly $2$ faces with icing on them only if it is one of the $2$ center cubes of an edge of the larger cube. There are $12-4 = 8$ such edges (as we exclude the $4$ edges of the bottom face), so this case yields $2 \cdot 8 = 16$ small cubes. As for the bottom face, we can see that only the $4$ corner cubes have exactly $2$ faces with icing, so the total is $16+4 = \boxed{\textbf{(D) }20}$.