1) use remainder & equal? 2) update synthesis.rkt