# Finden von Zerlegungen n = a * b * ( a + b )
from math import *

#n=

n=903210
print n
for a in range(1,int((n/2)**(1/3.)+0.5)+1):
     b=int(-a/2.+sqrt(a*a/4.+n/a))
     if n==a*b*(a+b):
          print n,a,b
print "1. Ende"



n=5267520720
print n
z=0
for a in range(1,int((n/2)**(1/3.)+0.5)+1):
     b=int(-a/2.+sqrt(a*a/4.+n/a))
     if n==a*b*(a+b):
          z+=1
          print z,a,b
print "2. Ende"



n=64536802191816514560000
print n
z=0
for a in range(1,int((n/2)**(1/3.)+0.5)+1):
     b=int(-a/2.+sqrt(a*a/4.+n/a))
     if n==a*b*(a+b):
          z+=1
          print z,a,b
print "3. Ende"


n=28880460844831016377906248380078949193482240000000
print n
z=0
for a in range(1,int((n/2)**(1/3.)+0.5)+1):
     b=int(-a/2.+sqrt(a*a/4.+n/a))
     if n==a*b*(a+b):
          z+=1
          print z,a,b
print "4. Ende"


