Problem C: Módulos
Time Limit: 10 seconds

Description

Dados tres números A, B y C calcula lo que resulta de (A^B) % C (donde % es el operador de módulo o tambien conocido como residuo).

Input

Cada caso de prueba consiste de una línea con tres enteros A, B y C (1 ≤ A, B ≤ 2^50, C ≤ 2^25). La entrada termina con un caso A = B = C = 0, este último caso no debe producir salida alguna.

Output

Para cada caso de prueba imprime dos líneas: en la primera el número de divisores positivos que tiene N, y en la segunda una lista ordenada de menor a mayor de todos los divisores positivos de N.

Sample input

Sample output

3 4 2
4 5 6
0 0 0
1
4

Notas de los casos de prueba:


Problemsetter: Rodrigo Burgos Domínguez