public static int NumWaysToSplitStringIntoPrimeSegments(string input)
for (int i = 0; i < Math.Min(input.Length, 6); i++)
int n = int.Parse(input.Substring(0, 1 + i));
Console.Write($":isPrime ");
if (input.Substring(1 + i).Length > 0)
subCount *= NumWaysToSplitStringIntoPrimeSegments(input.Substring(1 + i));
Console.Write($"subcnt:{subCount}");
Console.Write($"cnt:{count} ");
private static bool isPrimeNumber(int n)
if (n % 2 == 0) return false;
for (int i = 3; i < n / 2; i += 2)
if (n % i == 0) return false;
public static void Main()
Console.WriteLine($"input: {input}");
Console.WriteLine($"\noutput: {NumWaysToSplitStringIntoPrimeSegments(input)}");
Console.WriteLine($"input: {input}");
Console.WriteLine($"\noutput: {NumWaysToSplitStringIntoPrimeSegments(input)}");
Console.WriteLine($"input: {input}");
Console.WriteLine($"\noutput: {NumWaysToSplitStringIntoPrimeSegments(input)}");