program PrimeFact;
{$APPTYPE CONSOLE}
uses
SysUtils, Math;
var
n: Integer;
ans: String;
i: Integer;
top: Integer;
count: Integer;
begin
ReadLn(Input, n);
top := Round(Sqrt(Power(10, 9))) + 2;
for i := 2 to top do
begin
count := 0;
while n mod i = 0 do
begin
n := n div i;
count := count + 1;
end;
if count = 1 then
ans := ans + IntToStr(i) + '*'
else if count > 1 then
ans := ans + IntToStr(i) + '^' + IntToStr(count) + '*';
end;
if n <> 1 then
begin
ans := ans + IntToStr(n);
WriteLn(ans);
end
else
begin
Delete(ans, Length(ans), 1);
WriteLn(ans);
end;
end.
cHJvZ3JhbSBQcmltZUZhY3Q7CnskQVBQVFlQRSBDT05TT0xFfSAKCnVzZXMKCVN5c1V0aWxzLCBNYXRoOyAgCgp2YXIKCW46IEludGVnZXI7CglhbnM6IFN0cmluZzsKCWk6IEludGVnZXI7Cgl0b3A6IEludGVnZXI7Cgljb3VudDogSW50ZWdlcjsKCmJlZ2luCglSZWFkTG4oSW5wdXQsIG4pOwoJdG9wIDo9IFJvdW5kKFNxcnQoUG93ZXIoMTAsIDkpKSkgKyAyOwoJZm9yIGkgOj0gMiB0byB0b3AgZG8KCWJlZ2luCgkJY291bnQgOj0gMDsKCQl3aGlsZSBuIG1vZCBpID0gMCBkbwoJCWJlZ2luCgkJCW4gOj0gbiBkaXYgaTsKCQkJY291bnQgOj0gY291bnQgKyAxOwoJCWVuZDsKCQlpZiBjb3VudCA9IDEgdGhlbgoJCQlhbnMgOj0gYW5zICsgSW50VG9TdHIoaSkgKyAnKicKCQllbHNlIGlmIGNvdW50ID4gMSB0aGVuCgkJCWFucyA6PSBhbnMgKyBJbnRUb1N0cihpKSArICdeJyArIEludFRvU3RyKGNvdW50KSArICcqJzsKCWVuZDsKCWlmIG4gPD4gMSB0aGVuCgliZWdpbgoJCWFucyA6PSBhbnMgKyBJbnRUb1N0cihuKTsKCQlXcml0ZUxuKGFucyk7CgllbmQKCWVsc2UKCWJlZ2luCgkJRGVsZXRlKGFucywgTGVuZ3RoKGFucyksIDEpOwoJCVdyaXRlTG4oYW5zKTsKCWVuZDsKZW5kLg==