Problem E: 识整数(10分)

Problem E: 识整数(10分)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description



南最近在网上看到了很有趣的三类整数。

1)超级素数,超级素数x满足:x是素数,x数字之和也是素数,而且从右边开始连续去掉任意位数后所留下数字构成的数也是素数。例如2333是素数,数字之和2+3+3+3=11是素数,而且233232也是素数,因此2333就是超级素数

2卡迈克尔数卡迈克尔数y满足:y=p1×p2×p3×…不重复的奇素数pi相乘构成奇素数的个数不少于3个,而且所有的(pi-1)都能整除(y-1)例如:

561=3*11*17,有3个奇素数,且21016都能整除560,因此561是一个卡迈克尔数。

315=32*5*7,由于3是重复的,所以315不是卡迈克尔数。

105=3*5*7,由于6不能整除104,所以105不是卡迈克尔数。

3)精致回文数,精致回文数z满足:z是一个回文数,其二进制形式也是回文数。例如33是一个回文数,二进制形式100001也是一个回文数,所以33是一个精致回文数。

现在有一系列的正整数,小南想让聪明的你编写程序,帮他标识这些整数的分类。如果是超级素数,输出大写字母S,如果是卡迈克尔数,输出大写字母K,如果是精致回文数,输出大写字母P,如果不是这三类特殊整数,则输出大写字母N。样例文件中没有满足多个条件的正整数。

说明:素数是指除了1和它本身以外,不能被其他数整除的数。回文数是指从左向右读和从右向左读都是一样的数。



Input


多个样例。每个样例输入一个正整数n(1≤n≤ 106)。已知106范围内的某个卡迈克尔数的因子个数最多不超过100个,某个精致回文数的二进制位数最大不超过20


Output


每个样例根据n的分类输出对应的大写字母。每个样例输出一行。


Sample Input Copy

41
2333
561
49
585
22

Sample Output Copy

N
S
K
N
P
N

HINT