public static void main(String[] args) throws Exception {
	int maxNorm = Integer.parseInt(args[0]);
	maxNorm *= maxNorm;

	for(Eisenstein e=new Eisenstein(0,-3); e.norm2()<maxNorm; e=e.inc()) 
	    hopp: {
		Eisenstein f = e;
		for(Eisenstein z: primes) {
		    if(f.mod(z).equals(Eisenstein.ZERO) && f.norm2() > z.norm2()) {
			System.err.printf("%s\t=\t%s\tx\t%s\n", f.toString(), z.toString(), f.div(z).toString());
			break hopp;
		    }
		}
		System.err.printf("%s\n", f.toString());
		primes.add(e);
		primes.add(e.mul(Eisenstein.OMEGA));
		primes.add(e.mul(Eisenstein.OMEG2));
	    }

	System.err.println(primes);

	printPrimes(primes);
	//printGerber(primes);
    }