Помаранчева революція
Limits: 2 sec., 256 MiB
На Сихові живуть виборці трьох партій — помаранчевих, синіх і червоних. Коли виборці двох різних партій зустрічаються, в процесі суперечки вони міняють свій політичний вибір на користь третьої партії, а також запрошують \(k\) нових виборців, які також підтримуватимуть третю партію. Коли зустрічаються виборці тієї ж партії, то нічого не відбувається.
Якщо всі наявні виборці стануть прихильниками помаранчевої партії, вважатиметься, що на Сихові настала Помаранчева Революція. Організація Київських Бджолярів зацікавлена в тому, щоб Помаранчева Революція відбулась і запросила вас як провідного політичного консультанта, щоб визчачити, чи можна організувати певний набір зустрічей між виборцями, щоб Помаранчева Революція настала?
Input
В першому рядку дано три числа \(a\), \(b\), \(c\) через пробіл — кількість виборців помаранчевої, синьої і червоної партій відповідно. В другому рядку дано число \(k\) — скільки нових виборців буде запрошено в результаті зустрічі.
Output
Виведіть YES
, якщо Помаранчеву Революцію можливо
організувати і NO
, якщо ні. У випадку якщо її можливо
організувати, в другому рядку виведіть \(t\) — кількість зустрічей які ви
заплануєте. В наступних \(t\) рядках
виведіть по два символи через пробіл — мітки партійних приналежностей
виборців, які будуть зустрічатись. Символами O
,
B
, R
ми позначимо помаранчеву, синю і червону
партії відповідно. Кількість запропонованих вами зустрічей не повинна
перевищувати \(10^5\) (бюджет
обмежений). Якщо існує декілька варіантів проведення зустрічей, виведіть
будь-який з них.
Constraints
\(2 \leq a, b, c \leq 10^4\),
\(1 \leq k \leq 10^4\).
Samples
Input (stdin) | Output (stdout) |
---|---|
3 2 2 2 | YES 2 B R B R |
Input (stdin) | Output (stdout) |
---|---|
17 7 4 3 | NO |
Notes
В першому тесті ми двічі організуємо зустрічі між синіми та червоними виборцями і кількості змінюватимуться наступним чином: 3,2,2 -> 7,1,1 -> 11,0,0. Революції бути!
Submit a solution
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|
Element Type | Created | Who | Problem | Compiler | Result | Time (sec.) | Memory (MiB) | # | Actions |
---|