Constant time enumeration of perfect bipartite matchings | Synapse