Помаранчева революція
Обмеження: 2 сек., 256 МіБ
На Сихові живуть виборці трьох партій — помаранчевих, синіх і червоних. Коли виборці двох різних партій зустрічаються, в процесі суперечки вони міняють свій політичний вибір на користь третьої партії, а також запрошують k нових виборців, які також підтримуватимуть третю партію. Коли зустрічаються виборці тієї ж партії, то нічого не відбувається.
Якщо всі наявні виборці стануть прихильниками помаранчевої партії, вважатиметься, що на Сихові настала Помаранчева Революція. Організація Київських Бджолярів зацікавлена в тому, щоб Помаранчева Революція відбулась і запросила вас як провідного політичного консультанта, щоб визчачити, чи можна організувати певний набір зустрічей між виборцями, щоб Помаранчева Революція настала?
Вхідні дані
В першому рядку дано три числа a, b, c через пробіл — кількість виборців помаранчевої, синьої і червоної партій відповідно. В другому рядку дано число k — скільки нових виборців буде запрошено в результаті зустрічі.
Вихідні дані
Виведіть YES
, якщо Помаранчеву Революцію можливо
організувати і NO
, якщо ні. У випадку якщо її можливо
організувати, в другому рядку виведіть t — кількість зустрічей які ви
заплануєте. В наступних t рядках
виведіть по два символи через пробіл — мітки партійних приналежностей
виборців, які будуть зустрічатись. Символами O
,
B
, R
ми позначимо помаранчеву, синю і червону
партії відповідно. Кількість запропонованих вами зустрічей не повинна
перевищувати 105 (бюджет
обмежений). Якщо існує декілька варіантів проведення зустрічей, виведіть
будь-який з них.
Обмеження
2≤a,b,c≤104,
1≤k≤104.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 2 2 2 | YES 2 B R B R |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
17 7 4 3 | NO |
Примітки
В першому тесті ми двічі організуємо зустрічі між синіми та червоними виборцями і кількості змінюватимуться наступним чином: 3,2,2 -> 7,1,1 -> 11,0,0. Революції бути!