Algorithms for quantum computation: discrete logarithms and factoring | Synapse