Short program

 

 More information available in the full program.