2 of 4 left side of = was wrong

Python, 140 chars

M=N=input()
s=''
f=1
while f<65536:
 f+=1;e=0
 while N%f<1:e+=1;N/=f
 if e:s+='*%d'%f+('','^%d'%e)[e>1]
if N>1:s+='*%d'%N
print M,'=',s[1:]