human
Write me a the Python code you requested given the following:
I found an interesting problem on https://codeforces.com/problemset/problem/1331/B:
There was once young lass called Mary,  

Whose jokes were occasionally scary.  

On this April's Fool  

Fixed limerick rules  

Allowed her to trip the unwary.


Can she fill all the lines

To work at all times?

On juggling the words

Right around two-thirds

She nearly ran out of rhymes.



-----Input-----

The input contains a single integer $a$ ($4 \le a \le 998$). Not every integer in the range is a valid input for the problem.
you are guaranteed that the input will be a valid integer.

-----Output-----

Output a single number.

-----Examples-----
Input
35

Output
57

Input
57

Output
319

Input
391

Output
1723

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is the Python code you requested.

def main():
    import sys
    input = sys.stdin.readline

    def PrimeDecomposition(N):
        ret = {}
        n = int(N ** 0.5)
        for d in range(2, n + 1):
            while N % d == 0:
                if d not in ret:
                    ret[d] = 1
                else:
                    ret[d] += 1
                N //= d
            if N == 1:
                break
        if N != 1:
            ret[N] = 1
        return ret

    N = int(input())
    prime = PrimeDecomposition(N)
    ans = []
    for p in prime:
        for _ in range(prime[p]):
            ans.append(p)
    ans.sort()
    print(''.join(map(str, ans)))

def __starting_point():
    main()

__starting_point()