#!/usr/bin/env python3

# -*- coding: utf-8 -*-



import collections

import itertools





def prime_factorization(n):



    assert n > 0

    if n == 1:

        return collections.deque([1])

    else:

        result = collections.deque()

        for i in itertools.count(2):

            if i * i > n:

                break

            else:

                while n % i == 0:

                    n //= i

                    result.append(i)

        if n > 1:

            result.append(n)

        return result



if __name__ == "__main__":

    n = int(eval(input()))

    factors = prime_factorization(n)

    print(("{n}: {factors}".format(n=n, factors=" ".join(map(str, factors)))))
#!/usr/bin/env python3



"""Compute the prime factorization of the given integer by trial division.



Verification: [NTL_1_A](https://example.com)

"""



import math





def factorize_trial_division(n):

    """Compute the prime factorization of the given integer `n` by trival division.



    Returns: the prime factors as a list.

    """

    factors = []

    if n < 2:

        return factors

    for p in range(2, math.ceil(math.sqrt(n)) + 1):

        if p * p > n:

            break

        while n % p == 0:

            factors.append(p)

            n //= p

    if n > 1:

        factors.append(n)

    return factors





def main():

    n = int(eval(input()))

    fs = factorize_trial_division(n)

    print(("{}:".format(n), *fs))





if __name__ == '__main__':

    main()

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import collections
import itertools


def prime_factorization(n):
    assert n > 0
    if n == 1:
        return collections.deque([1])
    else:
        result = collections.deque()
        for i in itertools.count(2):
            if i * i > n:
                break
            else:
                while n % i == 0:
                    n //= i
                    result.append(i)
        if n > 1:
            result.append(n)
        return result


if __name__ == "__main__":
    n = int(eval(input()))
    factors = prime_factorization(n)
    print(("{n}: {factors}".format(n=n, factors=" ".join(map(str, factors)))))

#!/usr/bin/env python3
"""Compute the prime factorization of the given integer by trial division.
Verification: [NTL_1_A](https://example.com)
"""
import math


def factorize_trial_division(n):
    """Compute the prime factorization of the given integer `n` by trival division.
    Returns: the prime factors as a list.
    """
    factors = []
    if n < 2:
        return factors
    for p in range(2, math.ceil(math.sqrt(n)) + 1):
        if p * p > n:
            break
        while n % p == 0:
            factors.append(p)
            n //= p
    if n > 1:
        factors.append(n)
    return factors


def main():
    n = int(eval(input()))
    fs = factorize_trial_division(n)
    print(("{}:".format(n), *fs))


if __name__ == "__main__":
    main()

-# -*- coding: utf-8 -*- -import collections -import itertools +"""Compute the prime factorization of the given integer by trial division. +Verification: [NTL_1_A](https://example.com) +""" +import math -def prime_factorization(n): -    assert n > 0 -    if n == 1: -        return collections.deque([1]) -    else: -        result = collections.deque() -        for i in itertools.count(2): -            if i * i > n: -                break -            else: -                while n % i == 0: -                    n //= i -                    result.append(i) -        if n > 1: -            result.append(n) -        return result +def factorize_trial_division(n): +    """Compute the prime factorization of the given integer `n` by trival division. +    Returns: the prime factors as a list. +    """ +    factors = [] +    if n < 2: +        return factors +    for p in range(2, math.ceil(math.sqrt(n)) + 1): +        if p * p > n: +            break +        while n % p == 0: +            factors.append(p) +            n //= p +    if n > 1: +        factors.append(n) +    return factors + + +def main(): +    n = int(eval(input())) +    fs = factorize_trial_division(n) +    print(("{}:".format(n), *fs)) -    n = int(eval(input())) -    factors = prime_factorization(n) -    print(("{n}: {factors}".format(n=n, factors=" ".join(map(str, factors))))) +    main()