Задача J. Производная функции

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

Условие

Пусть имеется текстовая строка, содержащая запись составной математической функции. В качестве операндов в ней выступают целые и вещественные константы (представленные в формате с десятичной точкой), а также переменный аргумент, обозначенный буквой 'x'. Помимо этого, такая функция может включать в себя знаки арифметических операций ('+', '-', '*', '/', '^'), круглые скобки и элементарные функции (sqrt, log, exp, sin, cos). При этом знак минуса может использоваться для обозначения как бинарной, так и унарной операции.

В свою очередь показателем степени может быть только натуральная целочисленная константа. Аргументы всех элементарных функций в обязательном порядке заключаются в круглые скобки. В указанном выражении также допускается наличие разделителей из произвольного числа пробелов.

Требуется получить выражение для производной указанной функции по аргументу 'x'.

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

Входной файл "input.txt" содержит строку, в которой записана исходная функция.

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

Выходной файл "output.txt" должен содержать полученную производную.

Ограничения

Полагается, что исходная функция не содержит синтаксических ошибок.

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

Входной файл (input.txt) Выходной файл (output.txt)
1
sin(x^3) -cos(x* exp(x / exp(x^ 2)))
3*x^2*cos(x^3)+(1+x*((1-2*x^2)/exp(x^2)))*exp(x/exp(x^2))*sin(x*exp(x/exp(x^2)))
2
x^5 - x * (2.0 * x^ 4 - x * x^3) + x
1

0.212s 0.038s 15