public int Problem87() {
		int[] primos = Utility.listarPrimalidade((int) Math.sqrt(LIMITE87));
		Set<Integer> sums = new HashSet<Integer>();
		sums.add(0);
		for (int i=2;i<=4;i++) {
			Set<Integer> newSums = new HashSet<Integer>();
			for (int p : primos) {
				long q = 1;
				for (int j=0;j<i;j++) {
					q *= p;
				}
				if (q>LIMITE87) {
					break;
				}
				int r = (int) q;
				for (int x : sums) {
					if (x+r <=LIMITE87) {
						newSums.add(x+r);
					}
				}
			}
			sums = newSums;
		}
		return sums.size();
	}