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
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.

adityaviki: 2017-01-11 04:59:44

i am using segmented sieve method and still getting time limit exceeding error

jmrt666: 2017-01-11 02:31:10

no ce ase kon kriba zolo rekorran dhe M asta N i inpriman loz k son prrimos kon 1 mtodo k sea optico pra dtrminar zi 1 numro ez primo :)


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