Некий графический редактор работает с попиксельно заданными изображениями. Каждый пиксел представлен тремя числами (r,g,b), задающими интенсивности трех цветовых составляющих: красной, зеленой и синей. Эти числа целые, принимают значения от 0 до 255.
Редактор позволяет выполнять всего три вида операций. Каждая операция выполняется попиксельно, то есть одни и те же преобразования применяются к каждому пикселу изображения. Операции следующие:
, q =
, преобразованные значения запишутся: (p + (r-p)×q, p + (g-p)×q, p + (b-p)×q).
, преобразованные значения запишутся: (r×q,g×q,b×q).
Во всех этих операциях n - целое число от -100 до 100. Между буквой, задающей операцию, и числом n пробел не ставится. Операции выполняются в вещественных числах, результат округляется. Если в результате операции значение одной из составляющих получается больше 255, берется значение 255, если меньше 0 - берется значение 0.
Вам необходимо написать программу, которая выполняет операции редактора, то есть по исходному изображению и последовательности операций выдает полученное изображение.
В первой строке входного файла INPUT.TXT указано количество пикселов в исходном изображении N (N _ 100). В последующих N строках указаны значения цветовых составляющих пикселов исходного изображения через пробел. В следующей строке указано количество операций M (M _ 100). В последующих M строках записаны операции, которые надо применить к изображению.
Программа должна выдать в выходном файле OUTPUT.TXT N строк, в которых указать значения цветовых составляющих полученного изображения. Числа в строке должны разделяться пробелами.
| Пример INPUT.TXT: | OUTPUT.TXT для примера: |
| 4 255 0 0 0 0 255 0 0 255 255 0 0 2 l-20 g100 | 104 100 0 0 100 104 0 100 104 104 100 0 |
Ограничение времени: 2 сек на тест