#include <stdio.h>   // 引入标准输入输出库,用于输入输出函数
#include <math.h>    // 引入数学库,用于平方根函数sqrt()

// 函数功能:将输入的整数n转换为其对应的回文数
// 回文数是指正读和反读都相同的数(如12321)
long long huiwen(long long n)
{
    int a = 0;               // 用于记录数字n的位数
    long long t = n;         // 临时变量,用于计算n的位数
    
    // 计算数字n的位数
    while (t != 0)
    {
        t /= 10;             // 每次除以10,去掉最后一位
        a++;                 // 位数加1
    }
    
    long long b = n;         // 用于构建回文数的变量,初始值为原数n
    // 根据位数构建回文数(例如n=12,会构建成121)
    for (a; a > 1; a--)      // 循环次数为位数减1
    {
        // 取n的倒数第二位数字,追加到b的末尾
        b = (b * 10) + (n / 10 % 10);
        n /= 10;             // 去掉n的最后一位,为下次取倒数第二位做准备
    }
    return b;                // 返回构建好的回文数
}

// 函数功能:判断一个数是否为素数(质数)
// 素数是指大于1且除了1和自身外没有其他因数的自然数
long long sushu(long long n)
{
    int b = 2;               // 用于判断因数的变量
    
    if (n == 0 || n == 1)    // 0和1不是素数
        return 0;
    else if (n == 2)         // 2是素数
        return 1;
    else
    {
        if (n % 2 == 0)      // 偶数(除2外)不是素数
            return 0;
        // 从3开始,只判断奇数是否为因数,提高效率
        for (b = 3; b <= sqrt(n); b += 2)
        {
            if (n % b == 0)  // 若能被某个数整除,则不是素数
                return 0;
        }
        return 1;            // 没有找到因数,是素数
    } 
}

int main()
{
    long long n;             // 定义变量n,用于存储输入的数
    scanf("%lld", &n);       // 从标准输入读取一个长整数
    
    n = huiwen(n);           // 将n转换为对应的回文数
    
    // 判断转换后的回文数是否为素数,并输出相应结果
    if (sushu(n) == 1)
        printf("prime");     // 是素数,输出"prime"
    else
        printf("noprime");   // 不是素数,输出"noprime"
    
    return 0;                // 程序正常结束
}