public static void Main()
Func<int,bool>f=n=>Enumerable.Range(2,n-2).All(x=>n%x>0)&Enumerable.Range(1,n).Any(x=>{BigInteger a,b=1;for(a=1;a<=x;a++)b*=a;return(b+1)%n<1&(n-1)%x>0;});
Console.WriteLine(f(23));
Console.WriteLine(f(59));
Console.WriteLine(f(83));
Console.WriteLine(f(109));
Console.WriteLine(f(139));
Console.WriteLine(f(593));
Console.WriteLine(f(73));
Console.WriteLine(f(89));
Console.WriteLine(f(263));
Console.WriteLine(f(437));