Working program

 

 

 

 

 

 

See page 20-32