Determining Spot Rates A three-year, 4%, par-value bond with annual coupons sells for $990$, a two-year, $1000$, 3% bond with annual coupons sells for $988$, and a one-year, zero-coupon, $1000$ bond sells for $974$. Determine the spot rates $r_1$, $r_2$ and $r_3$.

This comes from Mathematical Interest Theory textbook section 8.3 #2. I understand how to compute similar problems, however I am unsure how to solve this given that the bonds have annual coupons(not zero coupon bonds). Any help would be appreciated thank you!
For the one year bond we have:
$$
974=\frac{1000}{1+r_1}\qquad\Longrightarrow\qquad r_1=\frac{1000}{974}-1\approx  2.66940\%
$$
For the two years bond we have the coupon $3\%\times 1000=30$ and
$$
988=\frac{30}{1+r_1}+\frac{1030}{(1+r_2)^2}
$$
Observing that $\frac{1}{1+r_1}=\frac{974}{1000}=0.974$ we have
$$
988=\underbrace{30\times 0.974}_{29.22}+\frac{1030}{(1+r_2)^2}\qquad\Longrightarrow\qquad r_2=\left(\frac{1030}{958.78}\right)^{1/2}-1\approx 3.64757\%
$$
Can you now find $r_3$?


  $990=\underbrace{\frac{40}{1+r_1}}_{40\times 0.974}+\underbrace{\frac{40}{(1+r_2)^2}}_{40\times\frac{958.78}{1030}}+\frac{1040}{(1+r_3)^3} \qquad\Longrightarrow\qquad r_3\approx 4.4062\%$
Normally you would start with:

$\frac {40}{1+r_1} +  \frac {40}{(1+r_2)^2} + \frac {1040}{(1+r_3)^3} = 990$

But that is a little messy so make this substitution.

Let $y_1,y_2, y_3 = \frac {1}{1+r_1}, \frac {1}{(1+r_2)^2},\frac {1}{(1+r_3)^3}$

$40y_1 +  40y_2 + 1040y_3= 990\\
30y_1 +  30y_2 + 1030y = 988\\
1000y_1 = 974$

Now you have a system of linear equations, that should be easy enough to solve for $y_1,y_2, y_3.$ From there you can calculate $r_1,r_2, r_3$