public long minimalTransfer(long n) {
		if (t.size() == 0) {
			setPrime(n);
		}
		if (isPrime(n) == false) {
			return 1;
		}
		BigInteger a=new BigInteger("2");
		long min = n;
		for (long i = 3; i < n / 2; i += 2) {
			if (isPrime(n - i) == false) {
				long minimalTransfer = minimalTransfer(i);
				if (minimalTransfer > 0) {
					if (min > minimalTransfer + 1) {
						min = minimalTransfer + 1;
						if (min == 2) {
							break;
						}
					}

				}
			}
		}
		return min;

	}