class SeedGenerator extends AbstractHashGenerator implements AtomHashGenerator {

    @Override
    public long[] generate(IAtomContainer container) {

        Suppressed suppressed = suppression.suppress(container);

        int n = container.getAtomCount();
        int m = n - suppressed.count(); // number of non-suppressed vertices
        int seed = m > 1 ? 9803 % m : 1;

        long[] hashes = new long[n];

        for (int i = 0; i < n; i++) {
            hashes[i] = distribute(seed * encoder.encode(container.getAtom(i), container));
        }
        return hashes;
    }

    public  SeedGenerator(AtomEncoder encoder);
    public  SeedGenerator(AtomEncoder encoder, AtomSuppression suppression);
      SeedGenerator(AtomEncoder encoder, Pseudorandom pseudorandom, AtomSuppression suppression);

}