PRIME1 - Prime Generator


Peter wants to generate some prime numbers for his cryptosystem. Help him! Your task is to generate all prime numbers between two given numbers!

Input

The input begins with the number t of test cases in a single line (t<=10). In each of the next t lines there are two numbers m and n (1 <= m <= n <= 1000000000, n-m<=100000) separated by a space.

Output

For every test case print all prime numbers p such that m <= p <= n, one number per line, test cases separated by an empty line.

Example

Input:
2
1 10
3 5

Output:
2
3
5
7

3
5
Warning: large Input/Output data, be careful with certain languages (though most should be OK if the algorithm is well designed)

Information

After cluster change, please consider PRINT as a more challenging problem.

hide comments
Loki: 2013-03-13 22:12:29

Yes indeed! It is a segmented sieve

Loki: 2013-03-13 22:12:29

This is a long long program.

Last edit: 2011-10-23 20:04:05
rector george: 2013-03-13 22:12:29

my program receives runtime error(SIGSEGV) even though it runs just fine on my computer(i did it in c using the sieve of eratosthenes with some adjustments),i cannot make a char vector of lenght the upper bond... any ideas...

Last edit: 2011-10-04 12:01:51
:D: 2013-03-13 22:12:29

You should use "sieve of eratosthenes" all the way in your algo. Also how many times are you doing the "find all prime numbers up to root of n". And how many do you actually need?

Alejandro: 2013-03-13 22:12:29

please put some data sets, and I uploaded many solutions and TLE .... I did the following: find all prime numbers up to root of n, and then compare the results when the range is greater than 1000000 ...

Jure RatkoviƦ: 2013-03-13 22:12:29

@Prakash kumar
there is an algorithm called "sieve of eratosthenes", google it

Last edit: 2011-09-29 20:12:41
Prakash kumar: 2013-03-13 22:12:29

I am new joined here any budy help me.

Uday Shankar: 2013-03-13 22:12:29

For each number n there is some other number 'x' which is less than n.If you check until that number 'x' it is enough
Also you need not check with every odd number from 3 to 'x',if you check with primes between 3 to 'x' its enough.
I mean to say that if that number is not divisible by 3 we need not check divisibility by 9 and 15 again,they will anyway not be divisible.

Aakash Srivastava: 2013-03-13 22:12:29

@uday...then what do you suggest,i`ve run out of options,plz help

Last edit: 2011-09-22 05:20:30
Uday Shankar: 2013-03-13 22:12:29

@Aakash
do you really need to check the divisibility upto half the number


Added by:Adam Dzedzej
Date:2004-05-01
Time limit:6s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6