fork(6) download
  1. var
  2. ans, a, p :int64;
  3. i :longint;
  4. d, h :array[1 .. 200000] of int64;
  5. begin
  6.  
  7. readln(a);
  8.  
  9. p := 2;
  10. ans := 1;
  11.  
  12. while (p * p <= a) do begin
  13.  
  14. if (a mod p = 0) then begin
  15. ans := ans * p;
  16. inc(h[p]);
  17. end;
  18.  
  19. while (a mod p = 0) do begin
  20. inc(d[p]);
  21. a := a div p;
  22. end;
  23.  
  24. inc(p);
  25. end;
  26.  
  27. ans := ans * a;
  28.  
  29. for i := 2 to 100000 do begin
  30.  
  31. while (h[i] * ans < d[i]) do begin
  32. ans := ans * i;
  33. inc(h[i]);
  34. end;
  35.  
  36. end;
  37.  
  38. writeln(ans);
  39.  
  40. end.
  41.  
Runtime error #stdin #stdout 0s 3356KB
stdin
Standard input is empty
stdout
Runtime error 106 at $080480C6
  $080480C6
  $08063923