First, see Assignment #30 on LTLYM