Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Ulubione liczby pierwsze (hard)
(ulubione-liczby-2)
Memory limit: 64 MB
Time limit: 2.50 s

  Jasio napisal na tablicy swoją ulubioną liczbę pierwszą. W jednym ruchu wolnu mu zamienić jedną jej cyfrę na jakąś inną. Wolno mu przy tym tworzyć zera wiodące, jeśli chce, jednak umówił się ze sobą, że po wykonaniu takiej operacji nadal chce mieć na tablicy liczbę pierwszą. Nie wolno mu dopisywać nowych cyfr. Jasio zastanawia się, czy może za pomocą ciągu takich operacji doprowadzić do sytuacji, w której na tablicy znajdzie się ulubiona liczba Małgosi. A jeśli się da - dobrze byłoby wiedzieć w ilu ruchach minimalnie można do tego doprowadzić. Nie interesują go przy tym ciągi składające się z więcej niż K ruchów. Dla niego więcej niż K ruchów to tak jakby się nie dało, bo więcej nie zapamięta. Pomóż mu!
  Napisz program, który: wczyta ulubione liczby Jasia i Małgosi, wypisze minimalną liczbę zmian pojedynczej cyfry (zgodnie z regułami opisanymi powyżej), które doprowadzają do uzyskania liczby Małgosi z początkowej liczby Jasia i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajdują się trzy liczby naturalne N, M oraz K oddzielone pojedynczymi odstępami i oznaczające ulubionę liczbę Jasia, ulubioną liczbę Małgosi oraz liczbę ruchów, które może zapamiętać Jaś.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinna znaleźć się jedna liczba całkowita - minimalna liczba ruchów niezbędna do uzyskania liczby Małgosi.
W przypadku, gdy uzyskanie liczby Małgosi jest niemożliwe lub wymaga więcej niż K ruchów należy zamiast tego wypisać NIE.

Ograniczenia

1 ≤ N, M < 109, 4 ≤ K ≤ 11

Przykład

Input Output
17 31 4
2