import
java.util.Scanner;
import
java.util.StringTokenizer;
public
class
DifferentiatePolynomial {
static
String diffTerm(String pTerm) {
String coeffStr =
""
, S =
""
;
int
i;
for
(i =
0
; pTerm.charAt(i) !=
'x'
; i++) {
coeffStr = coeffStr + pTerm.charAt(i);
}
long
coeff = Long.parseLong(coeffStr);
String powStr =
""
;
for
(i = i +
2
; i != pTerm.length(); i++) {
powStr = powStr + pTerm.charAt(i);
}
long
power = Long.parseLong(powStr);
String a, b;
StringBuilder str1 =
new
StringBuilder();
StringBuilder str2 =
new
StringBuilder();
coeff = coeff * power;
str1.append(Long.toString(coeff));
a = str1.toString();
power--;
str2.append(Long.toString(power));
b = str2.toString();
S = S + a +
"X^"
+ b;
return
S;
}
static
String diffstr(String poly) {
String pTerm, S =
""
;
StringTokenizer st =
new
StringTokenizer(poly,
" +"
);
while
(st.hasMoreTokens()) {
pTerm = st.nextToken();
if
(pTerm.equals(
"+"
)) {
S = S +
" + "
;
continue
;
}
if
(pTerm.equals(
"-"
)) {
S = S +
" - "
;
continue
;
}
else
{
S = S + diffTerm(pTerm)+
"+"
;
}
}
return
S;
}
public
static
void
main(String[] args) {
String poly =
"5x^4+6x^2+5x^2"
;
String ans = diffstr(poly);
System.out.println(ans.substring(
0
,ans.length()-
1
));
}
}