heap's algorithm - dofaq.co