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

	for(Gaussian e=new Gaussian(3,0); e.norm2()<maxNorm; e=e.inc()) 
	    hopp: {
		Gaussian f = e;
		for(Gaussian z: primes) {
		    if(f.mod(z).equals(Gaussian.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(Gaussian.UNIT));
		primes.add(e.neg());
		primes.add(e.neg().mul(Gaussian.UNIT));
	    }
	
	System.err.println(primes);

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