C. Нууц түлхүүрийг хакердах

хугацааны хязгаарлалт 1 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Поликарпус шинэ төрлийн нууцлалтай мэссенжерийн програмыг хакердах тэмцээнд оролцож байна. Тэр тэмцээнд ялахад тун ойрхон байлаа.

Поликарпус мэдээлэл солилцох протоколыг анхааралтай судалж үзээд, хэрвээ тэр програмын нийтийн түлхүүрийг (public key) хоёр хэсэгт зохистой хувааж чадвал нууц түлхүүрийг олж болно гэсэн дүгнэлтэнд хүрчээ. Нийтийн түлхүүр (public key) нь сая оронгоос ч бүрдэж болох урт бүхэл тоо байна!

Поликарпус нийтийн түлхүүрийг эхний (зүүн) хэсэг нь $a$ тоонд хуваагддаг, хоёр дахь хэсэг (баруун) нь $b$ тоонд хуваагддаг байхаар хоосон биш хоёр хэсэгт хуваах аргыг олох хэрэгтэй. Хоёр хэсэг нь хоёулаа тэгээр эхлээгүй эерэг бүхэл тоонууд байна. Поликарпус $a$ ба $b$ утгуудыг мэдэж байгаа.

Нийтийн түлхүүрийг хуваах тохиромжтой аргыг олоход Поликарпусд туслаарай.

Оролт

Оролтын эхний мөр нь мэссенжерийн нийтийн түлхүүрийг агуулна. Энэ нь тэгээр эхлээгүй, $1$-ээс $10^{6}$ хүртэлх цифрийн урттай бүхэл тоо байна. Хоёр дахь мөр нь зайгаар тусгаарлагдсан $a$, $b$ ($1 ≤ a, b ≤ 10^{8}$) эерэг бүхэл тоон хосыг агуулна.

Гаралт

Хэрвээ дээр дурьдсан нөхцлийг хангах хуваалт олдож байгаа бол эхний мөрөнд "YES" гэж хэвлэнэ. Энэ тохиолдолд дараа нь хуваасны дараах зүүн болон баруун хэсгүүдийг агуулсан хоёр мөр хэвлэнэ. Энэ хоёр хэсгийг нийлүүлэхэд яг нийтийн түлхүүртэй тохирч байх ёстой. Зүүн хэсэг нь $a$ тоонд хуваагддаг ба баруун хэсэг нь $b$ тоонд хуваагддаг байх ёстой. Хоёр хэсэг нь тэгээр эхлээгүй, эерэг бүхэл тоонууд байна. Хэрвээ олон хариу байгаа бол тэдгээрийн аль нэгийг хэвлэнэ.

Хариу байхгүй бол нэг мөрөнд "NO" гэж хэвлэнэ.

Орчуулсан: Даариймаа

Жишээ тэстүүд

Оролт
116401024
97 1024
Гаралт
YES
11640
1024
Оролт
284254589153928171911281811000
1009 1000
Гаралт
YES
2842545891539
28171911281811000
Оролт
120
12 1
Гаралт
NO
Сэтгэгдлүүдийг ачааллаж байна...