public static long findThePrime(int index) throws InterruptedException{
		if(1==index){//the first factor is 2
			return 2;
		}
		if(2==index){//the second factor is 3
			return 3;
		}

		int count = 3;//the count of factors have found
		long factor = 5;//the value which try
		long lastFactor = 5;//the largest factor
		boolean isFactor = false;
		while(count<index){
            factor += 2;
			if(factor%6==1||factor%6==5){
				isFactor = true;

				if(0==factor%2){
					isFactor = false;
					continue;
				}
				for(long smallerFactor = 3;
						smallerFactor*smallerFactor<=factor;
						smallerFactor+=2){

					if(factor%smallerFactor==0){

	                    isFactor = false;
						break;
					}
				}
				if(isFactor){
	                lastFactor = factor;
	                count++;
					
				}
			}
		}
		return lastFactor;
	}