public static void main(String[] args) {
		long start = System.nanoTime();
		ArrayList<BigInteger> distinctPowers = new ArrayList<>();
		
		//A simple brute force loop
		for (int i = 2; i <= 100; i++) {
			for (int k = 2; k <= 100; k++) {
				BigInteger power = BigInteger.valueOf(i);
				power.pow(k);
				if (!distinctPowers.contains(power)) {
					distinctPowers.add(power);
				}
			}
		}
		System.out.println(distinctPowers.size());
		System.out.println("Done in " + (double) (System.nanoTime() - start)
				/ 1000000000 + " seconds.");

	}