A. Карточки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Пользователь ainta любит играть с карточками. У него есть a карточек с буквой «o» и b карточек с буквой «x». Играя, ainta выкладывает все карточки в ряд и затем считает, сколько очков он получит по следующей формуле:

  1. Изначально счет равняется 0.
  2. Для каждого блока последовательных букв «o» длины x счет увеличивается на x2.
  3. Для каждого блока последовательных букв «x» длины y счет уменьшается на y2.
 

Например, если a = 6, b = 3, а ainta расположил карточки в порядке, описанном строкой «ooxoooxxo», то счет равняется 22 - 12 + 32 - 22 + 12 = 9. Это потому что в ряду из карточек всего 5 блоков: «oo», «x», «ooo», «xx», «o».

Пользователь ainta любит большие числа, поэтому он хочет максимизировать счет, расположив карточки некоторым образом. Помогите ainta добиться максимально возможного счета. Обратите внимание, что он обязан выложить в ряд все свои карточки.

Входные данные

В первой строке через пробел записаны два целых числа a и b (0 ≤ a, b ≤ 105a + b ≥ 1) — количество карточек с «o» и количество карточек с «x».

Выходные данные

В первой строке выведите единственное целое число v — наибольший счет, которого может добиться ainta.

Во второй строке выведите a + b символов, описывающих оптимальный ряд карточек. Если k-ая карта в ряду содержит символ «o», то k-ый символ должен равняться «o». Если k-тая карта в ряду содержит «x», то k-ый символ должен равняться «x». Количество символов «o» должно равняться a, а количество символов «x» должно равняться b. Если есть несколько способов максимизировать v, выведите любой из них.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-битных целых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

Примеры
Входные данные
2 3
Выходные данные
-1
xoxox
Входные данные
4 0
Выходные данные
16
oooo
Входные данные
0 4
Выходные данные
-16
xxxx