// A number with odd number of digits and zero in the center is cyclops number
using System;
public class Program
{
private static bool isCyclopsNumber(int n) {
if (n == 0) {
return true;
}
int m = n % 10;
int count = 0;
while (m != 0) {
count++;
n /= 10;
m = n % 10;
}
n /= 10;
m = n % 10;
while (m != 0) {
count--;
n /= 10;
m = n % 10;
}
return n == 0 && count == 0;
}
private static bool isPrime(int n) {
if (n < 2 || (n % 2 == 0 && n != 2)) {
return false;
}
int count = (int)Math.Floor(Math.Sqrt(n));
for (int i = 3; i <= count; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
private static bool isPalindrome(int n) {
int reverse = 0, temp = n;
while (temp != 0) {
int remainder = temp % 10;
reverse = (reverse * 10) + remainder;
temp = temp / 10;
}
return n == reverse;
}
public static void Main(string[] args)
{
int n = 209;
Console.WriteLine(isCyclopsNumber(n) && isPrime(n) && isPalindrome(n) ? "yes" : "no");
n = 31013;
Console.WriteLine((isCyclopsNumber(n) && isPrime(n) && isPalindrome(n) ? "yes" : "no"));
}
}
/*
run:
no
yes
*/