private static void reccurse(List<Long> ps, long number, int index, List<Long> factors) {
		if (index == ps.size()|| number*ps.get(index) > LIMIT) {
			count++;
			if (count % 1000000 == 0) {
				
				System.out.println(count + " / "+242271315);
			}
			if (phiIsCube(number, factors) && number < LIMIT && number != 1) {
				answer += number;
			}
			return;
		}
		final long p = ps.get(index);
		for (int i = 0; number*Math.pow(p, i) <= LIMIT; i++) {
			reccurse(ps, number*(long)Math.pow(p, i), index+1, (i==0?new ArrayList<Long>(factors) : new ArrayList<Long>(factors){{add(p);}}));
		}
	}