PON - Prime or Not

Given the number, you are to answer the question: "Is it prime?"

Solutions to this problem can be submitted in C, C++, Pascal, Perl, Python, Ruby, Lisp, Hask, Ocaml, Prolog, Whitespace, Brainf**k and Intercal only.

Input

t – the number of test cases, then t test cases follows. [t <= 500]
Each line contains one integer: N [2 <= N <= 2^63-1]

Output

For each test case output string "YES" if given number is prime and "NO" otherwise.

Example

Input:
5
2
3
4
5
6

Output:
YES
YES
NO
YES
NO

Added by:Roman Sol
Date:2005-01-24
Time limit:21s
Source limit:5000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ADA95 ASM32 BASH CSHARP CLPS D ERL FORTRAN ICON JAVA JS-RHINO LUA NEM NICE PHP PIKE ST
Resource:ZCon 2005

hide comments
2018-06-29 15:29:54
Hey is the cluser much slower then i5 ? it takes 3 sec at my laptop and "time limit exceeded" at spoj. Is it posible ?
2018-06-05 17:40:10
first time using Miler Rabin
second using Fermat
significant different in number of lines and effort
2018-05-25 21:38:16
both miller rabin and fermat's test works but remember for overflow of (a*b)%mod:)
2017-10-24 21:12:29
Test cases may contain Carmichael numbers so use Miller Rabin
2017-10-04 09:55:40
You need use both quick_pow and quick_multiply.
2017-07-25 11:25:37
accepted in 0.02 sec with only 2 iterations in fermat's test
2017-06-17 16:20:38
Is it solvable only using sieve with optimazation?

Last edit: 2017-06-17 16:20:53
2017-06-10 09:35:01
Guys, I've tried using Miller Rabin test as suggested, but my code's failing in this test case :
10
5915587277
1500450271
3267000013
5754853343
4093082899
9576890767
3628273133
2860486313
5463458053
3367900313

all are primes, but my code is showing NO for some of these.
Could you please tell me what I should look out for.

( I'm using 500 iterations BTW)

Last edit: 2017-06-10 09:35:25
2017-05-08 16:02:07
The only thing that can screw you up is overflow WA
2017-04-01 19:50:06
First time using Miller Rabin :D learnt alot
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.