m@main=getLine>>=putStrLn.init.f>>m f i=do(n,x:y)<-reads$i++"0";n%y n%('^':a:b:c)=shows(n*read[a])"x"++([1|a>'2']>>['^',pred a])++b:f c n%_=show$n*10