Задача T. Выражение

Автор:Общеизвестная   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:64 Мб
Выходной файл:output.txt  

Условие

Пусть задана конечная последовательность целых чисел. Если между всеми соседними числами поставить по одному знаку арифметической операции сложения, вычитания или умножения, получится арифметическое выражение, значение которого можно посчитать. При этом, согласно общепринятым правилам, сначала выполняются операции умножения, как более приоритетные. И только затем - сложения и вычитания. Напишите программу, которая по заданному набору чисел найдет такую расстановку знаков арифметических операций, что соответствующее выражение окажется равным нулю.

Формат входного файла

Первая строка входного файла содержит число N — количество элементов последовательности. Вторая строка содержит N целых чисел Ai — элементы последовательности.

Формат выходного файла

Выведите в выходной файл текстовую строку, состоящую из знаков арифметических операций, не разделяя их пробелами. При этом '+' должен соответствовать сложению, '-' - вычитанию, '*' - умножению. Если искомой последовательности не существует, выведите 'No solution'. Если существует несколько решений, выведите любое из них.

Ограничения

2 ≤ N ≤ 8,  − 10 ≤ Ai ≤ 10

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
3
5 10 15
+-
2
4
4 5 15 5
*--
3
4
4 5 16 5
No solution

0.163s 0.012s 13