public static void main(String[] args) {
		primes = Euler.primeList(34622776);
		long a, b, c;
		long mod = 1234567891011L;
		a=0;
		b=1;
		
//		long prime = next_prime(99999999999999L);
//		for (int i = 1; i <= 100000; i++) {
//			if (i%100 == 0)
//				System.out.println(prime + " " +i);
//			prime=next_prime(prime);
//		}
		
		boolean[] prime = primeArrayBetween(100000000000000L, 99999999999999L+40000000);
		Set<Long> primes = new HashSet<Long>();
		for (int i = 0; primes.size()<100000; i++) {
			if (prime[i]) {
				primes.add(((long)i+100000000000000L)%900788112L);
				if (primes.size()%100 == 0)
					System.out.println(primes.size());
			}
		}
		
		/**
		 * REPETERER SEG PAA 900788112!!!!!!!!!!!11111
		 */
		long sum = 0;
		for (int i = 2; i < 900788111+100; i++) {
			c=(a+b)%mod;
			a=b%mod;
			b=c%mod;
			if(primes.contains((long)i)) {
				sum+=c;
				sum%=1234567891011L;
			}
			if(i%1000000 == 0)
				System.out.println(i);
//			System.out.println(c);
			if (i>=900788100L)
				System.out.println(i+": "+c);
		}
		System.out.println(sum);
	}