function s = f988(n)
a = factor(n);
to_s
= @
(i
, j
) {num2str
(i
) sprintf('%d^%d', i
, j
)}{1 + (1 < j
)}; s = strjoin(arrayfun(@(u) {to_s(u, sum(a == u))}, unique(a)), '*');
end
f = @(n) disp(f988(n));
f(28), f(2002), f(216653)
ZnVuY3Rpb24gcyA9IGY5ODgobikKCWEgPSBmYWN0b3Iobik7Cgl0b19zID0gQChpLCBqKSB7bnVtMnN0cihpKSBzcHJpbnRmKCclZF4lZCcsIGksIGopfXsxICsgKDEgPCBqKX07CglzID0gc3Ryam9pbihhcnJheWZ1bihAKHUpIHt0b19zKHUsIHN1bShhID09IHUpKX0sIHVuaXF1ZShhKSksICcqJyk7CmVuZApmID0gQChuKSBkaXNwKGY5ODgobikpOwpmKDI4KSwgZigyMDAyKSwgZigyMTY2NTMp