protected List<Integer> getAllPrimes() {
		boolean[] sito = new boolean[N];
		for (int i = 1; i < sito.length; i++) {
			sito[i] = true;
		}

		ArrayList<Integer> list = new ArrayList<Integer>();

		for (int i = 0; i < sito.length; i++) {
			if (sito[i]) {
				int i1 = i + 1;
				list.add(i1);
				int x = 2;
				int j = (i1 * x);
				while (j <= N) {
					sito[j - 1] = false;
					x++;
					j = (i1 * x);
				}
			}
		}

		return list;
	}