eolymp
bolt
Try our new interface for solving problems
Məsələlər

Шоппинг

Шоппинг

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB

Вчера был день рожденья Дени, и она получила много подарков от своих друзей. Можно сказать, что благодаря этим подаркам у нее теперь есть неограниченное количество всех типов товаров, которые продаются в магазинах торгового центра. Дени решила продать какие-то из них, чтобы получить некоторое количество денег. Конечно, с этими деньгами она отправится за покупками в торговый центр со своими друзьями, но она будет покупать только те типы товаров, которые отличаются от тех, которые она продала. После всего этого Дени хочет остаться с определенным количество денег (если это возможно сделать только путем продажи некоторых из ее подарков, то она не будет делать покупки). Так как имеется множество типов товаров с различными ценами, то ей предстоит трудный выбор – какие товарыпродавать, а какие покупать, чтобы в конце концов получить то количество денег, которые она хочет.

Пусть в магазинах имеется k типов товаров с ценами a[1], a[2], ..., a[k] левов (валюта Болгарии) соответственно, и Дени хочет в итоге иметь ровно n левов. Вы должны вывести сколько раз она должна покупать или продавать каждый тип товаров (покупка обозначается отрицательным числом, а продажа - положительным), чтобы в итоге у Дени было n левов. Ваша программа должна обработать t тестов в одном наборе входных данных. Так как выводимые числа могут быть очень большими, каждое число должно быть выведено как произведение не более чем 100 целых чисел. Если задача имеет более одного решения, вы можете вывести любое из них. Если решения нет, выведите текст "No solutions" (без кавычек).

Giriş verilənləri

В первой строке находится одно положительное целое число t (1t2) - количество тестов, которые Ваша программа должна обработать. Далее идет описание тестов. Для каждого теста в первой строке находится число k (2k10^5), на следующей строке - k натуральных чисел a[1], a[2], ..., a[k] (2a[i]10^9) - цены для каждого типа товара в магазинах супермаркета. В последней строке описания теста находится натуральное число n (2n10^9) - количество левов, которое Дени хочет иметь в итоге.

Çıxış verilənləri

Для каждого теста необходимо вывести текст "No solutions" (без кавычек), если задача не имеет решения. Иначе нужно вывести k чисел (каждое в формате: num[1]num[2]...*num[p], 1p100, -10^9num[1]10[9], 0num[i]10^9 для 2ip), которые определяют, сколько раз товар каждого типа продается или покупается Дени. Если число отрицательное, это означает, что она покупает этот товар, если положительное – она его продает. Если это ноль, то это означает, что этот тип товара она не покупала и непродавала. Если необходимо вывести, например 1000000002, то оно может быть выведено в виде 2 * 500000001, но не 1000000002, потому что оно больше 10^9.

Nümunə

Giriş verilənləri #1
1
2
3 5
11
Çıxış verilənləri #1
2 1
Giriş verilənləri #2
1
4
30 42 70 105
413
Çıxış verilənləri #2
7 3*3 5 -1*5
Mənbə 2017 IX International autumn tournament in informatics, Shumen, Junior, День 2, Задача D