Матрица простых чисел
Рисунок 1.
На рисунке 1 изображена числовая матрица. Каждая строка, каждый столбец и обе диагонали матрицы рассматриваются как 5 цифр, составляющих простое число. Строки читаются слева направо. Столбцы читаются сверху вниз. Обе диагонали читаются слева направо.
Напишите программу, которая на основе исходных данных, находит описанные выше матрицы, при этом:
Простые числа должны иметь одинаковую сумму цифр (например, 11).
Цифра в левом верхнем углу матрицы задается заранее (например, 1).
Матрица может содержать одинаковые простые числа.
В случае наличия нескольких возможных вариантов решения выдать все решения.
Простое число не может начинаться с нуля, например, 00003 НЕ является простым числом.
Входные данные
Входные данные состоят из двух строк. В первой строке задана сумма цифр в простых числах, а во второй - заданная цифра в левом верхнем углу матрицы. Гарантируется, что для заданных входных данных существует хотя бы одно решение.
Выходные данные
Для каждого найденного варианта решения выведите пять строк, каждая из которых содержит пятизначное простое число. Варианты решения должны быть отсортированны по простому числу в первой строке, потом во второй строке и так далее. Разные найденные варианты разделяйте пустой строкой.