public static boolean isPrime( long x) {
		long max = (long)Math.sqrt(x);
		if( x == 2) {
			return true;
		}
		if( x % 2 == 0) {
			return false;
		}
		if(  x <= 1) {
			return false;
		}
		for( long i = 3L; i <= max; i+=2) {
			if( x % i == 0) {
				return false;
			}
		}
		return true;
	}