FACT0 - Integer Factorization (15 digits)

This is a problem to test the robustness of your Integer Factorization algorithm.

Given some integers, you need to factor them into product of prime numbers.

The largest integer given in the input file has 15 digits. FACT1 is a harder version of this problem (the numbers are larger).

You may need to use a general factorization algorithm since no special numbers (e.g. Fermat numbers) are considered when designing the input data.

Input

There are several numbers given, each one in a line.

The input ends with a number 0.

The number of test cases is about 10.

Output

For each number, print in a line the factorization of it. See examples below for the output format.

Example

Input:
3111989
13091989
77145199750673
0

Output:
317^1 9817^1
17^2 89^1 509^1
328439^1 234884407^1

Added by:Jimmy
Date:2009-10-08
Time limit:1.138s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL NODEJS PERL6 VB.NET

hide comments
2024-03-03 00:19:43
use map to count ^
2022-05-29 20:43:51
$Does latext work in spoj$

Last edit: 2022-05-29 20:44:07
2021-11-04 15:58:20
Trial division.............
2021-06-25 11:59:03
Nice observation for the question->
For any number N, there is at most 1 prime factor of N from sqrt(N) to N.
:D
2021-03-20 14:00:14
TLE will come for overflow!!!
2021-01-27 16:24:39
for those who use sieve, just take the size of array 3 * (10^7) then you get an ac.
2020-12-29 12:47:51
Easy one
2020-10-08 09:30:35
Spoj will give you TLE if integer overflow occurs.
Do the trial division, but take care of integer overflow in your (( for )) loop.

Last edit: 2020-10-08 09:31:02
2020-07-02 10:41:10
I am getting TLE for this problem even after using sieve method in PYTHON3.
Any suggestions!!!
2020-06-17 17:24:16
just use factorization in sqrt(n) time :)
https://cp-algorithms.com/algebra/factorization.html
for help :)
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.