finance problem need to be done fast

A bond has a $1,000 par value, 20 years to maturity, a 6.5% semiannual coupon, and sells for $1,037.25.

a) Find the yield to maturity.

b) Find the current yield.

c) Find the yield to call if the bond is called in 6 years with a call price of $1,020 (or 2% call premium).

d) Find the bond’s price in 4 years assuming that the yield to maturity is constant and the bond is not called.