Pochodna

Napisać program obliczający wartość pochodnej funkcji f(x) dla zadanej wartości argumentu x.

Dane wejściowe:

W pierwszym wierszu znajduje się liczba N będąca liczbą zestawów danych wejściowych.

Pierwszy wiersz pojedynczego zestawu danych zawiera łańcuch znaków opisujący funkcję f(x). Długość łańcucha nie przekracza 100,000 znaków. Łańcuch znaków opisujący funkcję f(x) zawiera wyrażenie matematyczne o następującej składni:

<wyrażenie> ::= <składnik> + <wyrażenie> | <składnik> - <wyrażenie> | <składnik>
<składnik>  ::= <czynnik> * <składnik> | <składnik> / <czynnik> | <czynnik>
<czynnik>   ::= <liczba> | <argument> | (<wyrażenie>)
<argument>  ::= x
<liczba>    ::= <znak><cyfry>.<cyfry> | <znak><cyfry>
<znak>      ::= + | - | ε
<cyfry>     ::= <cyfra> | <cyfra><cyfry>
<cyfra>     ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
		
Uwaga!! Symbol ε oznacza pusty symbol terminalny.

Drugi wiersz zestawu danych zawiera pojedynczą liczbę rzeczywistą x (-1,000,000 ≤ x ≤ 1,000,000) dla której należy obliczyć wartość pochodnej.

Dane wyjściowe:

Dane wejściowe składają się z N wierszy. Jeden wiersz odpowiada pojedynczemu zestawowi danych i zawiera wartość pochodnej f'(x). Wartość należy podać z dokładnością do trzech miejsc po przecinku. Dane testowe są tak dobrane, aby wartość pochodnej mieściła się w zakresie standardowych typów danych.

Przykładowe dane wejściowe:

5
2*x*x+4
1
-2*x*x*x+-3*x
0.5
1.25*x*x+(-2--4)*x+2.75+2.5
2
1/x
1
1/x
2
	

Przykładowe dane wyjściowe:

4.000
-4.500
7.000
-1.000
-0.250