Codeforces Round 279 (Div. 2) |
---|
Закончено |
Поликарп участвует в соревновании по взлому нового защищенного мессенджера. Для победы в конкурсе осталось совсем немного.
Тщательно изучив протокол взаимодействия, Поликарп пришел к выводу, что секретный ключ можно получить, если правильным образом порезать на две части публичный ключ приложения. Публичным ключом является длинное целое число, которое может состоять даже из миллиона цифр!
Поликарпу надо найти такой способ порезать публичный ключ на две непустые части, что первая (левая) часть как отдельное число делится на a, а вторая (правая) часть как отдельное число делится на b. Обе части должны быть положительными числами, не имеющими лидирующих нулей. Значения a и b Поликарпу известны.
Помогите Поликарпу и найдите любой из подходящих способов порезать публичный ключ.
В первой строке входных данных записан публичный ключ мессенджера — целое число без ведущих нулей, имеющее длину от 1 до 106 цифр. Вторая строка содержит пару записанных через пробел целых положительных чисел a, b (1 ≤ a, b ≤ 108).
В первую строку выведите «YES» (без кавычек), если искомый способ существует. Далее в этом случае выведите две строки — левую и правую части после разреза. Записанные подряд (сначала левая, потом правая) эти части должны в точности составлять публичный ключ. Левая часть должна делиться на a, а правая — на b. Обе части должны быть целыми положительными числами, не имеющими ведущих нулей. Если ответов несколько, выведите любой из них.
Если ответа не существует, то выведите в единственной строке «NO» (без кавычек).
116401024
97 1024
YES
11640
1024
284254589153928171911281811000
1009 1000
YES
2842545891539
28171911281811000
120
12 1
NO
Название |
---|