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
shubham2305: 2017-02-05 10:13:22

didnt use seive or segmented seive
just a naive approach with some optimisation
thanks @sonudoo for suggesting such approach

ranjita: 2017-01-27 14:27:20

Rabin Miller is so nice

vietanisme: 2017-01-26 05:57:14

Get TLE for 3 - 4 times. Spend 30 mins to debug. Realized I was chosing the wrong version of C++. AC in one go

shubhama003: 2017-01-25 22:52:21

Segmented Sieve
AC in one go :)

abhi_coding: 2017-01-24 16:36:49

used rabin miller ac in one go :)

aman224: 2017-01-22 10:54:46

Oops!!!
My unknown time complexity algorithm got AC in 0.00 s :p

Last edit: 2017-01-22 12:27:45
pbeissinger: 2017-01-20 06:16:41

If you are getting a "Time limit exceeded" error, it means you are checking too many numbers. See if you can think of a trick to look at fewer numbers in determining whether a number is prime.

ragnerok: 2017-01-17 18:40:51

Hint: do not use sieve(or segmented) O( (n - m)* p) = 10^4 * 10^3 < opns possible by 3 GHz processor

Last edit: 2017-01-17 18:48:06
free__bird: 2017-01-12 11:26:22

don't use the exact segmented sieve, read the segmented sieve and use your brain a bit, and you will get ac ,one more advise take long long ,chances of overflow

triplejay2013: 2017-01-11 21:55:05

The program works as intended on my device. But I get 'time limit exceeded' when I submit my solution. I am not sure what that means, or what I can do to change that.


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